Série

De Wiki INTech
Aller à : navigation, rechercher

Tu viens d'arriver et tu ne sais pas encore ce qu'est la communication série? Et bien tu te trompes, tu le sais déjà!

"Communiquer en série" veut dire envoyer les bits à la suite les uns des autres sur un lien, à l'inverse de la communication parallèle qui utilise plusieurs fils simultanément. De nombreux protocoles et architectures utilisent la communication série (Qu'on raccourci très souvent en disant "la série"), l'exemple le plus commun étant l'USB : Universal Serial Bus.

La série à INTech

Dans le robot, différentes architecture de communication série sont utilisées, toujours en lien avec le bas niveau. Celles présents pour la coupe de 2018, INTech Tech The Town étaient:

I²C 
BUS maître-esclave adressé. Utilisé pour une bonne partie des capteurs.
SPI 
BUS maître-esclave avec une ligne de sélection par esclave; Utilisé pour la communication avec le module Ethernet WIZ820io et la carte SD
Série asynchrone en TTL 
Utilisé par les AX-12, nos actionneurs fétiches. Utilise les ports RX/TX du microcontrôleur
USB 
Principalement utilisé pour flasher et pour debuguer, donc pour communiquer avec un PC (Ou un téléphone!)

Historiquement, la communication entre bas et haut niveau se faisait par série, mais depuis la coupe de 2018 elle est faite par Ethernet. Ce choix a été fait pour à la fois augmenter la quantité maximale d'information échangée et éviter (en théorie) les pertes de messages grâce au TCP/IP.

Chef, c'est cassé

La série c'est sensible, et des fois plus rien ne fonctionne. Alors pourquoi ?

Gardez bien en tête que la tension des communications doit être très propre, et qu'une seule diode peut la faire chuter suffisamment pour que la communication devienne aléatoire voir totalement ineffective.

De la même façon, si le module avec lequel vous essayez de communiquer n'est pas bien alimenté, il est possible que la communication ne passe pas ou soit aléatoire.

I²C

  • Il est impératif d'utiliser des pull-up pour l'I²C, qu'ils soient externes ou internes.
    • Y-a-t-il des pull-up sur vos lignes SDA et SCL ?
    • Les pull-up interne sont-ils suffisants?
  • Tous les connecteurs du BUS sont-ils bien branchés? (Ne riez pas, les câbles fait-maison c'est pas toujours la chose la plus fiable)
  • Les adresses des différents modules sont bien celles qui sont attendues ? Particulièrement :
    • Les petits malins qui perdent leur adresse quand ils ne sont plus alimentés
    • Les modules dont on ne peut pas changer l'adresse
    • Les adresses de modules neufs qui ne sont pas celles renseignées sur les documentation

SPI

L'utilisation du SPI étant assez récent au club et n'ayant pas eu de soucis particuliers avec (Mis à part le module ethernet partiellement débranché), nous n'avons pas encore grand chose à mettre ici. Cependant, vous trouverez ici des informations intéressantes et quelques procédures de debug en cas de soucis avec le SPI.

Série TTL

Lisez la PFD! Baudrates, bits de donnée, de parité, de stop etc

USB

De même, faites attention aux réglages de vos moniteurs série. La plupart sont à 9600 bauds de base, cependant - en 2018 - la série de notre microcontrôleur est à 115200 bauds.