Présentation 

Présentation du bus SPI


Une liaison SPI (Serial Peripheral Interface) est un bus de données série synchrone baptisé ainsi par "Motorola", qui opère en mode Full-duplex. Les circuits communiquent selon un schéma maître-esclaves (Master/Slave), où le maître s'occupe totalement de la communication. Plusieurs esclaves peuvent coexister sur un même bus, dans ce cas, la sélection du destinataire se fait par une ligne dédiée entre le maître et l'esclave appelée chip select.



Dans les circuits d’interface le bus SPI n’est pas seul est se trouve talonné depuis de nombreuses années par les circuits dotés d’une liaison série synchrone de type SPI. Cette appellation rencontre cependant des signaux et des chronogrammes qui sont beaucoup moins bien normalisés que ceux du bus I2C, tout simplement parce que la liaison du bus SPI ne fait l’objet d’aucune norme officielle.

Certains circuits indiquent qu’ils sont munis d’une interface SPI, mais vous pourrez aussi trouver comme appellation « Microwire » (qui est une marque déposée de National Semiconductor) ou bien encore « bus série trois fils ». Un bus de ce type permet la connexion, sous forme série maître-esclave, de plusieurs circuits disposant d’interfaces compatibles, avec seulement trois fils de liaisons.

Les dernières versions d’Arduino incluent une bibliothèque qui permet la communication avec les périphériques SPI.


SPI a des lignes labellisées 

« MOSI » : Master Output Slave Input, généré par le maître, des lignes labellisées 

« MISO » : Master Input Slave Output, généré par l’esclave et une ligne d’horloge (SCK : SPI Serial Clock). 


Ces trois lignes sont connectées à leurs lignes respectives sur un ou plusieurs esclaves. Les esclaves sont identifiées grâce au signal de leur ligne SS (Slave Select). 


Autres nommages possibles : 

SDO (Serial Data Out) et SDI (Serial Data Input).


La figure ci-contre illustre les connexions SPI.


Maître SPI avec plusieurs esclaves SPI


Les numéros de broches à utiliser pour les broches SPI sont listés dans le tableau ci-dessous.

Broches numériques utilisées pour SPI

Signal SPI

Carte Arduino Uno

Carte Arduino Mega

SS (choix de l’esclave)

10

S3

MOSI (entrées de données)

11

S1

MISO (sorties de données)

12

S0

SCLK (horloge)

13

S2



a) Origine

La sophistication et la complexité des appareils grand public ne permet plus l'échange entre composants électroniques par liaisons parallèles, ces liaisons devenaient de plus en plus nombreuses et encombrantes. Dans ces systèmes à base de microcontrôleurs (téléphones mobiles...), les échanges de données entre les composants se font maintenant avec des bus série. Dans le but de minimiser ces liaisons, et par conséquent d’en augmenter la fiabilité, a été créé le bus série SPI (Synchronous Peripheral Interface), initialement développé par "Motorola". D’autres fabricants (Microchip, Atmel, Texas Instrument...) ont adopté pour ce type de liaison et de nombreux composants sont apparus (mémoires, capteurs, microcontrôleurs ...)


b) La philosophie du bus SPI


c) Les champs d’application du bus SPI

Il est utilisé pour la communication rapide de données entre périphériques d'un appareil comme par exemple les mémoires, les systèmes d'affichage, carte SD, etc.




Créé avec HelpNDoc Personal Edition: Créer des documents d'aide facilement