Estoy planeando un proyecto con un Arduino que implica el manejo de muchas solicitudes de una computadora host, y el estándar de 115200 baudios máximos en serie no es suficiente. Me gustaría poder obtener dúplex completo de 1 Mbps si es posible, pero dúplex completo de 400 Kbps o más sería aceptable. Estoy usando un Arduino Due, por lo que debería poder manejar velocidades de comunicación significativamente más altas.
¿Hay alguna manera de aumentar significativamente la velocidad en baudios sobre la serie, o hay una segunda opción que pueda elegir en términos de interfaz con una computadora a velocidades más altas?
Definitivamente es posible alcanzar el rango de Mbps con un Arduino, especialmente con tu Due. El monitor en serie solo admite baudios hasta 115200, pero puede usar una ventana de terminal separada que le permite configurar su baudio a lo que desee.
Para obtener un poco más de información, consulte este hilo en el foro de Arduino.
En términos de configuración, en Arduino es tan fácil como Serial.begin(1000000);
o hasta ese punto. Se trata de la configuración del dispositivo con el que desea comunicarse y lo que puede manejar.
Buscaría escribir un firmware personalizado para el Atmega16u2 que está haciendo la interfaz USB. Ese chip puede hablar USB de velocidad completa (velocidad de señal de hasta 12 Mbit) y el puerto de salida SPI de ese chip está convenientemente disponible en el encabezado ICSP. Conecte eso a la entrada SPI del Arduino (también disponible en su encabezado ICSP) y puede ejecutar SPI a, creo, 4 Mbit / s (4 relojes de CPU por bit).
Los Atmegas en el mega (16u2 y 128) pueden ejecutar su puerto serial a hasta 2 Mbit/s. Si escribe firmware personalizado para el 16u2, también puede usar el USART serial asíncrono que ya está allí.
En ambos casos, es probable que pierda la capacidad de programación del puerto serie, por lo que tendrá que usar un programador separado basado en USB.
El proyecto LUFA tiene muchos programas de muestra y bibliotecas útiles para hablar USB en un chip Atmega. "libusb" es una biblioteca conveniente para hablar directamente con dispositivos USB, en lugar de tener que depender de la emulación en serie.
Hay algunos resultados que pueden ser de utilidad aquí .
connor lobo
yippie
nick t