Retour à la page précédente

Développement d'une liaison sérielle USB 2.0 permettant de transmettre d'un PC à une carte de commande de moteurs une trajectoire que les moteurs devront suivre

Moloch_vignette

La liaison USB utilise un circuit de type EZ-USB du fabricant Cypress Semiconductor. Ce circuit permet de transférer des données à haute vitesse, selon la norme USB 2.0. Il comprend un microprocesseur de type 8051 qui gère les communications USB. Un programme (firmware) a été développé pour ce microprocesseur, afin que la carte sur laquelle se trouve le circuit s’annonce au PC comme étant un système de commande de moteurs, avec ses fonctionnalités particulières.

Lorsque la carte est connectée au port USB d’un PC, le système d’exploitation a besoin d’un "driver" pour pouvoir exploiter ses fonctionnalités. Les fichiers de description ad-hoc ont été écrits et un programme de pilotage de la carte a été développé. Celui-ci permet à un utilisateur d’envoyer des commandes à la carte à travers une interface de type terminal ou à l’aide de fichiers de commandes.

Un ensemble de commandes permet à l'utilisateur de piloter la carte à l’aide du logiciel MatLab, à travers le programme de pilotage de la carte. L'utilisateur peut ainsi créer et représenter des trajectoires dans MatLab, les télécharger sur la carte de commande de moteurs, commander les moteurs, récupérer les trajectoires effectives, les représenter à l’écran et les comparer aux trajectoires voulues.

Sur la carte de commande de moteurs, le circuit EZ-USB de Cypress Semiconductor est connecté à un circuit programmable (FPGA Spartan 3). Le circuit programmable communique avec le circuit USB au travers d'un bloc d’interface qui permet de transférer les données au circuit de réglage des moteurs. Le bloc d’interface copie les trajectoires provenant du PC dans une mémoire locale (DDR). Il transmet les points de la trajectoire de la DDR au circuit de réglage des moteurs, échantillon par échantillon. Il copie dans la DDR la trajectoire effective qu’il reçoit en retour de la part du régulateur. Enfin, il transmet la trajectoire effective de la DDR au PC sur demande de celui-ci.

Une chaîne complète de pilotage de circuits par USB est ainsi à disposition:

  • logiciel sur PC (software),
  • logiciel sur le circuit USB (firmware),
  • bloc d’interface pour circuit programmable (hardware).
     

La communication USB se fait en mode "bulk", mode de fonctionnement qui permet de transférer de grandes quantités de données à haute vitesse sur ce type de support.