Diseño de un sistema de adquisición de datos utilizando el protocolo usb en un microcontrolador AVR - Nole Calle, Richard Armando (2014)
Existen diversas tecnologías de comunicación con una computadora para la adquisición de datos, entre los más comunes se encuentran: PCI, USB, Ethernet, Firewire, puerto serial, etc. Dentro de ellos, el USB destaca por su configuración automática, bajo costo y facilidad de uso. A pesar de existir varios sistemas de adquisición de datos en el mercado, su uso se ve restringido debido a sus altos costos y por poder usarlo sólo con las aplicaciones y drivers del proveedor. En el presente trabajo se diseña un sistema de adquisición de datos con interface USB utilizando un microcontrolador Atmel de la familia AVR XMEGA, buscando en todo momento obtener la máxima tasa de transferencia posible. Para ello se desarrolla una aplicación en el microcontrolador que permita leer datos adquiridos de cuatro canales del ADC del microcontrolador. Asimismo, se desarrolla una clase USB propietaria que define cómo se van a trasferir los datos, qué tipo de transferencias USB se van a usar y cuál va a ser su máxima tasa de transferencia posible. En el lado de la computadora, se desarrolla una aplicación en lenguaje C que permita a la computadora poder comunicarse con el microcontrolador a través del bus USB. Para el desarrollo del firmware del microcontrolador se tomó como base el framework USB que provee Atmel (ASF 3.1.3, Atmel Software Framework), y posteriormente fue implementado en la tarjeta de evaluación XMEGA – A3BU XPLAINED con una frecuencia de CPU de 32MHz. Se obtuvo que en promedio se puede transmitir datos a 8.46Mbps usando un alto nivel de optimización del compilador. Se concluye que si se quiere obtener mejores tasas de transferencia se debe mejorar una serie de factores como: MIPS del microcontrolador y optimización del framework USB de Atmel. Finalmente, se recomienda portar este trabajo a microcontroladores que soporten el modo “Alta Velocidad” (del inglés High Speed) del USB 2.0, cuya velocidad por bit es de 480Mbps, así como desarrollar las etapas de preprocesamiento de las señales: amplificación, filtrado, e aislamiento de las señales que se quieran enviar por la interfaz USB.