Communication USB sans UART

Bonjour,

Je voulais savoir si quelqu'un pouvait me renseigner sur les alternatives de communication entre PC et microcontrôleurs.

Par exemple, il doit bien exister des puces USB > I2C ou USB > SPI pour communiquer avec un microcontrôleur ?

Ce qui me gêne un peu avec les puces classiques (CH340, FDTI) c'est qu'elles utilise un pilote qui simule une liaison série RS232. Cette liaison est lente, non sécurisée et en plus elle peut poser des problèmes à l'utilisateur s'il est lambda (recherche du bon port, changement du N° COM si le port USB change).

J'aimerai savoir si quelqu'un a des pistes pour communiquer directement entre un PC et une puce de communication par USB. Evidemment il faut développer son propre driver, mais je cherche justement comment faire ?

Existe-t-il des puces spécifiques avec des templates de base pour réaliser des drivers sous les OS ? Comment ça se passe ?

Je travaille actuellement sur un contrôleur RGB pour mon PC à base d'arduino. Je suis en train de faire mon propre circuit imprimé avec des composants (ATmega 2560) et j'aimerai que la communication avec le PC soit personnalisée et propre à mon périphérique, comme ceux que l'on peut acheter dans le commerce.

Cette liaison est lente, non sécurisée et en plus elle peut poser des problèmes à l'utilisateur s'il est lambda (recherche du bon port, changement du N° COM si le port USB change).

  • La lenteur de la liaison série virtuelle est très relative:des débits de 921 600 bauds (je n'ai pas vu la nécessité d'aller plus vite) sont possibles avec une carte Tiva sous Energia et un PC (pour info, un RPi ne peut aller simplement au delà de 115kbs).
  • la securité. est ce qu'un pirate sera interessé par l'échange de valeurs sur un voltmètre (un numéro de carte de crédit serait plus allèchant)
  • la recherche du bon port: je crains que ce ne soit spécifique à l'USB: mettre un (ou plusieurs ) adapteurs TWI USB https://www.lextronic.fr/modules-usb-es/1181-module-usb-i2c.html aura, si ce que je crains est exact, les mêmes effets. En dehors des efforts de prise en main, ces adaptateurs coutent ... 3 fois le prix d'un adaptateur UART USB...

C'est plus un problème de carte d'extension de PC. Qu'existe-t-il en la matière ?

Mayzz: Bonjour,

Je voulais savoir si quelqu'un pouvait me renseigner sur les alternatives de communication entre PC et microcontrôleurs.

Par exemple, il doit bien exister des puces USB > I2C ou USB > SPI pour communiquer avec un microcontrôleur ?

Ce qui me gêne un peu avec les puces classiques (CH340, FDTI) c'est qu'elles utilise un pilote qui simule une liaison série RS232. Cette liaison est lente, non sécurisée et en plus elle peut poser des problèmes à l'utilisateur s'il est lambda (recherche du bon port, changement du N° COM si le port USB change).

J'aimerai savoir si quelqu'un a des pistes pour communiquer directement entre un PC et une puce de communication par USB. Evidemment il faut développer son propre driver, mais je cherche justement comment faire ?

Existe-t-il des puces spécifiques avec des templates de base pour réaliser des drivers sous les OS ? Comment ça se passe ?

Je travaille actuellement sur un contrôleur RGB pour mon PC à base d'arduino. Je suis en train de faire mon propre circuit imprimé avec des composants (ATmega 2560) et j'aimerai que la communication avec le PC soit personnalisée et propre à mon périphérique, comme ceux que l'on peut acheter dans le commerce.

Bonsoir Je n'arrive pas bien à comprendre exactement ton "souhait" explique ... mieux :grin:

accessoirement voir peut etre du coté de V-USB

Bonsoir,

  • Le FT2232 peut aller jusqu’à 12Mbauds. Largement suffisant étant donné que l’ATmega va saturer bien avant ça.
  • La sécurité de la liaison c’est une surcouche que tu peux ajouter. De toutes les façons, quelque soit le circuit d’interface que tu utilises les données passeront entre ledit circuit et ton ATméga donc à un moment donné elle seront “visibles”
  • Je ne connais pas bien Windows mais il me semble que l’on peut associer un n° port COM avec un ID de périphérique dans le gestionnaire de périphérique.
  • Les circuits FTDI peuvent être personnalisés, tu peux modifier la paire VID.PID. Mais attention aux effets de bord. Comme ton équipement n’est plus identifié comme un périphérique HID il faut que tu développes ton driver et qu’il soit signé si tu ne veux pas qu’il soit rejeté par Windows.
  • En fait, si tu veux faire un circuit propriétaire (parce qu’en fin de compte j’ai l’impression que c’est ça que tu cherches à faire) le plus simple c’est de ne pas partir avec ATmega2560 mais avec un processeur qui possède nativement un périphérique USB intégré.