SPI - Le maestro des connexions rapides
- Renaud Jordi
- 20 juin
- 2 min de lecture
Un chef d'orchestre, plusieurs instruments... et une harmonie en duplex.
Oui, on parle bien de SPI đ avec la fĂȘte de la musique qui approche đ
Serial Peripheral Interface. Un bus de communication rapide, robuste et pas cher.
Disponible dans tous les microcontrĂŽleurs, ce bus permet de communiquer en full-duplex avec plusieurs pĂ©riphĂ©riques par liaison sĂ©rie et se compose dâau moins 3 fils :
Lâhorloge : pour cadencer la communication
MOSI (Master Out Slave In) : pour envoyer des data au slave
MISO (Master In Slave Out) : pour recevoir les data du slave
ainsi quâautant de ChipSelect (CS) que de slave avec qui communiquer.
Un pĂ©riphĂ©rique est actif sur le bus uniquement si le master lâa prĂ©alablement sĂ©lectionnĂ©, sinon il reste complĂštement muet. De ce fait, aucune limite de vitesse ou de taille de mots nâest imposĂ©, si ce nâest celle de se mettre dâaccord ;)
Vous pouvez, par exemple, avoir sur le mĂȘme bus, une mĂ©moire externe qui communique Ă 40 MHz avec des mots de 32 bits, et un autre capteur plus simple avec une vitesse de 1 Mhz en 8 bits.
LâinconvĂ©nient qui en dĂ©coule, câest quâaucun contrĂŽle de flux nâest spĂ©cifiĂ© dans le protocole. Celui-ci se fera de maniĂšre applicative si besoin.
Lâutilisation de deux lignes de donnĂ©es, permet une Ă©mission et une rĂ©ception simultanĂ©e. De plus, les lignes unidirectionnelles facilitent lâisolation galvanique des pins dans le circuit.
En résumé :
Rapide : car il nây aucune limite de vitesse spĂ©cifiĂ©e dans le protocole Ă part celle que vous fixez avec votre pĂ©riphĂ©rique.
Robuste : les lignes sont drivĂ©es en push-pull, et non en open-drain, ce qui garantit un changement rapide de lâĂ©tat des lignes et amĂ©liore la stabilitĂ© des tensions.
Pas cher : Pas dâadressage complexe, juste une entrĂ©e logique pour activer le pĂ©riphĂ©rique.
La prochaine fois, nous comparerons avec le protocole IÂČC qui nâutilise que 2 fils ;)
