Je prévois un projet avec un Arduino qui implique de traiter un grand nombre de demandes depuis un ordinateur hôte, et le baud maximum standard 115200 en série n'est pas suffisant. J'aimerais pouvoir obtenir un duplex intégral de 1 Mbps si possible, mais 400 Ko / s + duplex intégral seraient acceptables. J'utilise un Arduino Due, il devrait donc être capable de gérer des vitesses de communication nettement plus élevées.
Existe-t-il un moyen d'augmenter considérablement le débit en bauds par rapport à la série, ou y a-t-il une deuxième option que je peux choisir en termes d'interfaçage avec un ordinateur à des vitesses plus élevées?
Réponses:
Il est certainement possible de monter dans la gamme Mbps avec un Arduino, en particulier avec votre Due. Le moniteur série ne prend en charge que les bauds jusqu'à 115200, mais vous pouvez utiliser une fenêtre de terminal distincte qui vous permet de régler votre baud sur ce que vous voulez.
Pour un peu plus d'informations, voir Ce fil sur le forum Arduino.
En termes de configuration, sur l'Arduino, c'est aussi simple que
Serial.begin(1000000);
dans cette mesure. Il s'agit de la configuration de l'appareil avec lequel vous souhaitez communiquer et de ce qu'il peut gérer.la source
J'examinerais la possibilité d'écrire un micrologiciel personnalisé pour l'Atmega16u2 qui fait l'interface USB. Cette puce peut parler USB pleine vitesse (jusqu'à 12 Mbit de vitesse de signal) et le port de sortie SPI de cette puce est facilement disponible sur l'en-tête ICSP. Accrochez-le à l'entrée SPI de l'Arduino (également disponible sur son en-tête ICSP) et vous pouvez exécuter SPI à, je pense, 4 Mbit / s (4 horloges CPU par bit.)
Les Atmegas sur le méga (16u2 et 128) peuvent exécuter leur port série jusqu'à 2 Mbit / s. Si vous écrivez un micrologiciel personnalisé pour le 16u2, vous pouvez également utiliser l'USART série asynchrone qui existe déjà.
Dans ces deux cas, vous perdrez probablement la programmabilité du port série, vous devrez donc utiliser un programmateur séparé basé sur USB.
Le projet LUFA propose de nombreux exemples de programmes et des bibliothèques utiles pour réellement parler USB sur une puce Atmega. "libusb" est une bibliothèque pratique pour parler directement aux périphériques USB, plutôt que d'avoir à s'appuyer sur l'émulation série.
la source
Certains résultats peuvent être utiles ici .
la source