Ce protocole a été mis au point par Patrick en 2003-2004 pour permettre une communication entre plusieurs cartes électroniques sans ajouter d’électronique en sus de ce que propose déjà les microcontrôleurs standards.
Rappels
Une rapide présentation du protocole série, en particulier celui appelé UART tel qu’on le trouve sur la majorité des microcontrôleurs.
Il s’agit d’une liaison à deux canaux (deux fils) sans horloge (A de UART signifie Asynchronous) bidirectionnelle (un fil pour Receive ou RX ou R de UART et l’autre fil pour Transmit ou TX ou T de UART). C’est un protocole universel (le U de UART) qui s’apparente au port série d’un ordinateur (protocole RS232) sans les dispositifs de contrôle de flux, de reset, etc. Il est très simple.
Astuce
Normalement on peut seulement relier deux machines ou deux cartes. Mais ce protocole permet de dissocier le canal d’émission et le canal de réception : Patrick a donc formé un anneau en reliant l’émetteur TX de la carte N au récepteur RX de la carte N+1 et l’émetteur TX de la carte N+1 au récepteur RX de la carte N+2, jusqu’à fermer la boucle en reliant le dernier émetteur au récepteur de la première carte.
Il a donc formé un "bus" puisque l’information va se déplacer entre plusieurs stations jusqu’à revenir à son origine. L’anneau ainsi former doit être administré par une carte qu’on appelle "maître", qui décidera de faire partir un message.
Chaque message commence avec le numéro de la carte interrogée, celle qui est la seule habilitée à modifier le message pour ajouter sa réponse.
La gestion reste donc simple, il n’y a qu’un maître, donc qu’un seul message qui transite à la fois. On peut y ajouter un contrôle de délai, en renvoyant un autre message si on n’a pas reçu de réponse en temps imparti.
Un peu d’histoire
Les bus en anneaux ne sont plus tellement répandus depuis l’avènement du tout-Ethernet. Mais à une époque, il n’était pas rare d’avoir un ordinateur équipé d’une sortie coaxiale pour le protocole "Token Ring" qui signifie "anneau à jeton", chaque élément du réseau pouvant à son tour obtenir le jeton pour pouvoir parler.
A ma connaissance, ce type de protocole n’existe plus que sur les réseaux à très haut débit ayant peu de stations connectées, comme les fibres optiques.