Registrador de datos uC a GUI para procesamiento de datos

Así que busqué este en electronics.stackexchange y aquí es donde aterricé: ¿ Qué tipo de protocolo USB para el registrador de datos?

Básicamente, me gustaría muestrear un voltaje (específicamente, de un fotodiodo a través de un amplificador de transimpedancia) y enviarlo a la PC. Sin embargo, simplemente no quiero enviarlo a una hiperterminal, quiero graficarlo en mi propia GUI y hacer cosas divertidas como mostrar una FFT de los datos. Así que veo dos partes en este proyecto; microcontrolador y GUI.

La cosa es que no estoy seguro de por dónde empezar. Los microcontroladores que tengo experiencia son con BASIC STAMP 2, PICAXE y algunos Arduino. Pero quiero usar algo que sea más popular en la industria. Así que decidí que tal vez iría con la serie dsPIC y aprendería a través del libro en línea de mikroC.

Iba a aprender a usar el soporte HID en el dsPIC y enviarlo a la PC (lo sé, es más fácil decirlo que hacerlo). Leí información en Internet de que CDC es mejor ya que no se interrumpe, pero me gusta la idea de no tener que descargar controladores. Con una búsqueda rápida en Google, veo que otras compañías fabrican registradores de datos HID, por lo que debe estar bien.

En cuanto a la GUI, tengo experiencia académica básica con C++ y Java. Utilicé Java Swing para crear algunas aplicaciones GUI de escritorio, pero eran bastante simples en comparación con lo que quiero hacer aquí. Tampoco estoy seguro de cómo "leer" el puerto USB para que los datos se usen como entradas para mi GUI. Estaba pensando que iba a usar (bueno, una vez que lo aprenda) C # ya que leí en alguna parte que es bastante fácil obtener datos de un puerto USB para un programa y mostrarlos en una GUI. Iba a comenzar con la parte de la GUI e intentar usar datos ficticios como un mouse para asegurarme de que funcione, tal vez incluso usar un registrador de datos real para probar. Luego confunde con la parte dsPIC.

Entonces, supongo que mi pregunta fundamental es: ¿estoy abordando esto de la manera correcta? ¿Es posible lo que propongo?

Por supuesto que es posible, pero eso no significa necesariamente que sea posible para ti, o en un tiempo razonable. ¿Está en esto por 1) la experiencia de aprendizaje, o 2) para hacer funcionar un prototipo, o 3) para hacer un producto listo para la producción? Si 1), continúa y aprende. Si es 2), obtenga un chip FTDI232 y use serial-over-USB. Si es 3), contrate a alguien para que lo haga.

Respuestas (1)

Si está enviando datos en serie a su computadora a través de una serie, USB o no, solo necesita escribir programas de computadora que puedan analizar los mensajes entrantes. Puede consultar libros sobre la construcción de compiladores sobre cómo escribir el analizador y los manuales del sistema operativo sobre cómo conectarse a la interfaz serial.

Si necesita velocidades más rápidas, como USB 2.0 completo de 480 Mbps, puede consultar libusb (para OS X y Linux), IOKit (para OS X) y Windows DDK, así como el manual de su microcontrolador, sobre cómo enviar paquetes USB sin procesar que pueden aproveche las velocidades completas del bus USB.