Estou planejando um projeto com um Arduino que envolve lidar com muitas solicitações de um computador host, e o baud máximo máximo padrão de 115200 sobre serial não é suficiente. Eu gostaria de poder obter 1Mbps full duplex, se possível, mas 400Kbps + full duplex seria aceitável. Estou usando um Arduino Due, para que ele possa lidar com velocidades de comunicação significativamente mais altas.
Existe uma maneira de aumentar significativamente a taxa de transmissão em série ou existe uma segunda opção que eu possa escolher em termos de interface com um computador em velocidades mais altas?
Respostas:
Definitivamente, é possível subir na faixa de Mbps com um Arduino, especialmente com o Due. O monitor serial suporta apenas bauds de até 115200, mas você pode usar uma janela de terminal separada que permite definir o baud para o que quiser.
Para um pouco mais de informação, consulte Este tópico no fórum do Arduino.
Em termos de configuração, no Arduino é tão fácil quanto
Serial.begin(1000000);
ou nessa extensão. É tudo sobre a configuração do dispositivo com o qual você deseja se comunicar e com o que ele pode lidar.fonte
Eu gostaria de escrever um firmware personalizado para o Atmega16u2 que faz a interface USB. Esse chip pode falar com velocidade máxima de USB (velocidade de sinal de até 12 Mbit) e a porta de saída SPI desse chip está convenientemente disponível no cabeçalho do ICSP. Conecte-o à entrada SPI do Arduino (também disponível no cabeçalho ICSP) e você poderá executá-lo a, penso, 4 Mbit / s (4 relógios de CPU por bit).
O Atmegas no mega (16u2 e 128) pode executar sua porta serial em até 2 Mbit / s. Se você escreve um firmware personalizado para o 16u2, também pode usar o USART serial assíncrono que já está lá.
Em ambos os casos, você provavelmente perderá a capacidade de programação da porta serial, portanto precisará usar um programador separado baseado em USB.
O projeto LUFA possui muitos programas de amostra e bibliotecas úteis para realmente falar USB em um chip Atmega. "libusb" é uma biblioteca conveniente para conversar diretamente com dispositivos USB, em vez de depender da emulação serial.
fonte
Existem alguns resultados que podem ser úteis aqui .
fonte