Présentation :
LA SPI est l'abréviation Serial Peripheral Interfacel Asynchronous , soit Liaison Série Asynchrone.
Contrairement à l'UART, et comme son nom l'indique, ce type de périphérique génère les signaux d'horloge, arbitré par le maitre.
Ce type de liaison nécessite donc de définir un maitre et un esclave. Sur les microcontroleurs ATMEL, ce choix est fonction de l'état de la broche " /SS".
Les applications sont multiples, comme la gestion d'une communication I2C, ou encore l'interfacage avec nombres de périphériques spécialisés comme les capteurs de température Dallas, les EEPROM séries.
Schématique de la SPI :

Description des Broches :
La SPI comporte quatre broches :
MOSI : Master Out Slave, sortie des données série pour le maître est entrée pour l'esclavage.
MISO : Master In Slave Out, entrée des données série sur le maître sorties sur l'esclave.
SCK : Serial Clock, broche d'horloge pour synchroniser les circuits connectés sur le Bus. Ces signaux d'horloge sont générés par le maître.
SS: broche de sélection du mode de fonctionnement du circuit. En mode maître elle doit être au niveau Haut.
Exemple de raccordement entre microcontrôleurs :

Les registres :
SPCR : Registre de contrôle de l'interface SPI.
- SPIE : Mis en marche de l'interface SPI.
- SPE : Validation d'interruption SPI lors du passage à 1du bit SPIF du registre.
- DORD : Choix de transmission de l'ordre des bits : Si à 1, me bit de poids faible et émis en premier, à l'inverse pour 0.
- MSTR : Mode de fonctionnement de l'interface : Si à 1, mode maître, à l'inverse pour 0.
- CPOL : Sélection de la polarité de l'horloge : Si à 1, repos de l'horloge au niveau haut, à l'inverse pour 0.
- CPHA: Sélection de la phase des données par rapport à l'horloge : si à 1,les données changent de front quand le signal d'horloge est au niveau de repos, à l'inverse pour 0.
- SPR1,SPR2 : Sélection de la fréquence de transmission, définit par le maitre.
Récapitulatif des mode de fonctionnement de la SPI :
SPSR : Registre de Statut.
- SPIF : Indication de fin de transmission. de l'octet.
- WCOL : Bit d'Indication de collision de données, provoqué par l'ecriture dans le tampon SPDR alors que le transfert en cours n'est pas terminé.
La remise à 0 de ce bit est effectué en lisant en premier lieu le registre SPSR quand ce bit est à 1, puis le registre SPDR.
SPDR : Registre de Données.
En écrivant dans ce registre, le début de la transmission est lancé. Il contient aussi le résultat de la dernière reception.
|