SPI
Initiales de « Serial Peripheral Interface ».
SPI: l'autoroute de données synchrone pour microcontrôleurs
L'interface périphérique série (SPI) est un protocole de communication synchrone qui transfère des données entre un dispositif maître (généralement un microcontrôleur) et un ou plusieurs périphériques esclaves via quatre fils. Un dispositif horloge la conversation, envoyant un flux d'impulsions sur la ligne d'horloge (SCLK); les données sortent sur MOSI (Master Out, Slave In) et entrent sur MISO (Master In, Slave Out), tandis que les lignes de sélection de puce (CS) adressent l'esclave qui écoute. Le maître contrôle le timing de manière absolue, rendant le SPI plus rapide et plus simple que les protocoles série asynchrones comme le RS-232.
Dans la surveillance de l'énergie et des services publics, le SPI connecte les microcontrôleurs aux puces de capteurs, aux registres à décalage, aux modules de mémoire et aux pilotes d'affichage sur la même carte. Un compteur intelligent peut utiliser le SPI pour lire les données d'un convertisseur analogique-numérique échantillonnant la tension et le courant, ou pour communiquer avec une EEPROM qui stocke les constantes d'étalonnage. Les débits de données varient de 100 kHz à 50 MHz selon le dispositif esclave et la longueur du câble; la plupart des applications industrielles restent en dessous de 10 MHz pour éviter les problèmes de bruit sur les sites industriels.
Contraintes électriques et intégrité du signal
Le SPI n'est pas un protocole longue distance. Le câblage doit rester court: 10 à 50 centimètres est typique avant que les réflexions de signal et le couplage capacitif ne provoquent des erreurs de bit. Le protocole n'est pas non plus différentiel; il utilise des niveaux logiques asymétriques (3,3 V ou 5 V), il est donc vulnérable aux interférences électromagnétiques des entraînements de moteurs et des alimentations à découpage courantes dans les sous-stations électriques. Pour des longueurs plus importantes ou des environnements difficiles, les concepteurs isolent les signaux SPI à l'aide d'optocoupleurs ou de puces d'isolation dédiées, échangeant la bande passante contre l'immunité au bruit.
Un dispositif esclave nécessite une ligne CS. Si une carte de compteur doit communiquer avec cinq puces de capteurs différentes, cinq fils de sélection de puce sont nécessaires; les lignes MOSI, MISO et SCLK peuvent être partagées. Cette ramification est peu coûteuse et explique pourquoi le SPI reste standard dans la mesure embarquée, mais cela signifie que la complexité du câblage augmente avec le nombre de capteurs. Certaines conceptions utilisent le chaînage en série (les esclaves transmettent les données en anneau) pour réduire le nombre de broches, bien que cela soit plus rare dans les applications énergétiques.
Le matériel SPI est mature et peu coûteux. Chaque microcontrôleur commercial inclut au moins un port SPI dans le silicium. Pas de licence, pas de composants exotiques, pas de phase de négociation: écrivez sur la ligne d'horloge, basculez la sélection de puce, et les bits se déplacent. Cela fait du SPI le choix par défaut pour la fusion de capteurs locaux dans les compteurs intelligents, les moniteurs de réseau et l'électronique de puissance à l'échelle des services publics où le coût par unité et la fiabilité sont plus importants que la bande passante.
Sources
- Source de la définitionWiktionary