Serial Peripheral Interface

Serial Peripheral Interface
Liaison SPI: un maître et un esclave


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

Sommaire

Interface

Liaison SPI avec un maître et trois esclaves

Le bus SPI contient 4 signaux logiques

  • SCLK — Horloge (généré par le maître)
  • MOSI — Master Output, Slave Input (généré par le maître)
  • MISO — Master Input, Slave Output (généré par l'esclave)
  • SS — Slave Select, Actif à l'état bas, (généré par le maître)

Il existe d'autres noms qui sont souvent utilisés.

  • SCK — Horloge (généré par le maître)
  • SDI,DI,SI — Serial Data IN
  • SDO,DO,SO — Serial Data OUT
  • nCS, CS, nSS, STE — SS

Dans le cas de la convention de nommage SDI/SDO, le SDO du maître doit-être relié au SDI de l'esclave et vice-versa. Pour éviter les confusions au moment du câblage, il est donc souvent recommandé d'utiliser les dénominations MISO-MOSI qui évitent une certaine ambiguïté.

Fonctionnement

Une transmission SPI typique est une communication simultanée entre un maître et un esclave.

  • Le maître génère l'horloge et sélectionne l'esclave avec qui il veut communiquer
  • L'esclave répond aux requêtes du maître

A chaque coup d'horloge le maître et l'esclave s'échangent un bit. Après huit coups d'horloges le maître a transmis un octet à l'esclave et vice-versa. La vitesse de l'horloge est réglée selon des caractéristiques propres aux périphériques.

Polarité et phase de l'horloge

Chronogramme des différentes configurations d'horloge


La configuration de la SPI est souvent nommée dans les documentations techniques sous forme de nombre ou de couple, où le bit de poids fort est CPOL (Clock Polarity) et le bit de poids faible CPHA (Clock Phase)

Mode CPOL CPHA
0 (0,0) 0 0
1 (0,1) 0 1
2 (1,0) 1 0
3 (1,1) 1 1

Les modes 0 et 3 sont identiques en transmission, seul change l'état de la ligne d'horloge au repos . C'est pour cette raison que de nombreux périphériques peuvent être capables de dialoguer soit en mode 0 et 3, soit en mode 1 et 2.

Trame SPI observée à l'oscilloscope.

Avantages et Inconvénients

Avantages

  • Communication Full duplex
  • Débit assez important par rapport à I²C
  • Flexibilité du nombre de bits à transmettre
  • Simplicité de l'interface matérielle
    • Aucun arbitre nécessaire car aucune collision possible
    • Les esclaves utilisent l'horloge du maître et n'ont donc pas besoin d'oscillateur de précision
    • Pas de phy nécessaire
  • Partage d'un bus commun pour l'horloge, MISO et MOSI entre les périphériques

Inconvénients

  • Monopolise plus de pattes d'un boîtier que l'I2C ou une UART qui en utilisent seulement deux.
  • Aucun adressage possible, il faut une ligne de sélection par esclave en mode non chaîné.
  • Le protocole n'a pas d'acquittement. Le maître peut parler dans le vide sans le savoir.
  • Il ne peut y avoir qu'un seul maître sur le bus.
  • Ne s'utilise que sur de courtes distances contrairement aux liaisons RS-232, RS-485 ou bus CAN
  • Néanmoins, il est possible d'utiliser un driver RS-232 (exemple : MAX208) pour relier un maître et un esclave avec un câble de quelques mètres

Outils de développement

Il existe une grande variété d'instruments contrôlés par PC permettant d'agir comme maître et/ou analyseur de protocole SPI. Ces outils peuvent parfois être utilisés pour des protocoles série dérivant du protocole SPI, comme les protocoles sur 3 fils.

Adaptateur USB vers SPI Modes d'opération Fabricant Système d'exploitation
TIMS-0102 USB to SPI and I2C Adapter Maître - jusque 10 MHz Jova Solutions Linux,Windows
NI USB-8541 SPI/I2C Interface Maître - jusque 12 MHz National Instruments Windows
SPI Xpress SPI Master and Analyzer Maître - jusque 50 MHz - 4 et 3 fils Byte Paradigm Windows
SPI Storm SPI Adapter with support of dual-SPI, Quad-SPI and custom serial protocol Maître - jusque 100 MHz Byte Paradigm Windows

Analyseurs de protocole SPI

Un analyseur de protocole SPI est un outil échantillonnant un bus SPI et décodant les signaux numériques pour fournir un décodage haut niveau des transactions SPI. Ces analyseurs sont des instruments indépendants ou sont fournis comme extensions à certains modèles d'oscilloscope.

Analyseur SPI Vitesse SPI Fabricant Système d'exploitation
SPI Xpress SPI Master / Analyzer Jusque 25 MHz Byte Paradigm Windows

Solution de décodage et déclenchement sur SPI

LeCroy

Références


Voir aussi

Lien externe


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Serial Peripheral Interface de Wikipédia en français (auteurs)

Игры ⚽ Нужен реферат?

Regardez d'autres dictionnaires:

  • Serial Peripheral Interface — Das Serial Peripheral Interface (kurz SPI) ist ein von Motorola entwickeltes Bus System mit einem sehr lockeren Standard für einen synchronen seriellen Datenbus, mit dem digitale Schaltungen nach dem Master Slave Prinzip miteinander verbunden… …   Deutsch Wikipedia

  • Serial Peripheral Interface — Bus SPI: un maestro y un esclavo …   Wikipedia Español

  • Serial Peripheral Interface — SPI (англ. Serial Peripheral Interface, SPI bus  последовательный периферийный интерфейс, шина SPI)  последовательный синхронный стандарт п …   Википедия

  • Serial Peripheral Interface Bus — Serial Peripheral Interface Liaison SPI: un maître et un esclave Une liaison SPI (pour Serial Peripheral Interface) est un bus de donnée série synchrone baptisé ainsi par Motorola, et qui opère en Full Duplex. Les circuits communiquent selon un… …   Wikipédia en Français

  • Serial Peripheral Interface Bus — Protocol Analyzers SPI Protocol Analyzers are tools which sample an SPI bus and decode the electrical signals to provide a higher level view of the data been transmitted on the bus. Some SPI protocol analyzers are built into oscilloscopes while… …   Wikipedia

  • Interface De Communication Série — Pour les articles homonymes, voir SPI. Une interface de communication série (serial communications interface SCI) est un organe permettant des échanges de données série (un bit à la fois) entre un microprocesseur et un périphérique. Synchronous… …   Wikipédia en Français

  • Interface de communication serie — Interface de communication série Pour les articles homonymes, voir SPI. Une interface de communication série (serial communications interface SCI) est un organe permettant des échanges de données série (un bit à la fois) entre un microprocesseur… …   Wikipédia en Français

  • Serial — Serial, anything in the form of a series, can refer to several things:Art and literature*Serial, a format by which a story is told in installments **Serial (film), films released in chapters for viewing in cinemas, particularly in the 1930s and… …   Wikipedia

  • Interface de communication série — Pour les articles homonymes, voir SPI. Une interface de communication série (serial communications interface SCI) est un organe permettant des échanges de données série (un bit à la fois) entre un microprocesseur et un périphérique. Synchronous… …   Wikipédia en Français

  • Advanced Technology Attachment Peripheral Interface — Integrated Drive Electronics …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”