Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikipédial'encyclopédie libre
Rechercher

Serial Peripheral Interface

Un article de Wikipédia, l'encyclopédie libre.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cet articlene cite pas suffisamment ses sources().

Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant lesréférences utiles à savérifiabilité et en les liant à la section « Notes et références ».

En pratique :Quelles sources sont attendues ?Comment ajouter mes sources ?
Page d’aide sur l’homonymie

Pour les articles homonymes, voirSPI.

Liaison SPI: un maître et un esclave

Une liaisonSPI (pourSerial Peripheral Interface) est unbus de donnéessérie synchrone baptisé ainsi parMotorola, au milieu des années 1980 qui opère en modefull-duplex. Les circuits communiquent selon un schémamaître-esclave, où le maître contrôle 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 « Slave Select (SS) ».

Interface

[modifier |modifier le code]
Liaison SPI avec un maître et trois esclaves

Le bus SPI utilise quatre signaux logiques :

  • SCLK — Serial Clock, 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, SCL — Horloge (généré par le maître)
  • SDO, SDA, DO, SO — Serial Data OUT, MOSI
  • SDI, DI, SI — Serial Data IN, MISO
  • nCS, CS, nSS, STE, CSN— 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é ; pour exemple, unelibrairie graphique[1] écrite parAdafruit, prend en charge plusieurs références de contrôleurs d'écrans qui, malgré leurs actions similaires, ne possède pas toujours les mêmes noms de broches. Afin d'éviter ce"problème" les développeurs ont renommé les broches MISO/MOSI parRD etWR signifiant respectivementReaD (lire) etWRite (écrire) ; en conclusion, on se demande si la brocheLire permet auMicrocontroleur deLire leModuleLCD ou alors si elle permet auModule deLire et donc auMicrocontroleur de luiÉcrire une donnée ?

Fonctionnement

[modifier |modifier le code]

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 par l'utilisation du signal SS
  • L'esclave répond aux requêtes du maître

À 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

[modifier |modifier le code]
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 decouple, où lebit de poids fort est CPOL (Clock Polarity) et lebit de poids faible CPHA (Clock Phase)

ModeCPOLCPHA
0 (0,0)00
1 (0,1)01
2 (1,0)10
3 (1,1)11

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.

Avantages et Inconvénients

[modifier |modifier le code]

Avantages

[modifier |modifier le code]
  • CommunicationFull duplex
  • Débit plus important qu'un busI2C
  • Flexibilité du nombre de bits à transmettre ainsi que du protocole en lui-même
  • 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 propre
    • Pas dephy nécessaire
  • Partage d'un bus commun pour l'horloge, MISO et MOSI entre les périphériques

Inconvénients

[modifier |modifier le code]
  • Monopolise plus de broches d'un boîtier que l'I2C ou uneUART 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.
  • La plupart des implémentations ne tolèrent la présence que d'un seul maître SPI sur le bus. Néanmoins, on trouve descircuits intégrés supportant le mode « multi-master », permettant de partager le bus SPI entre plusieurs maîtres. Les implémentations pratiques de ce genre restent rares.
  • Ne s'utilise que sur de courtes distances contrairement aux liaisonsRS-232,RS-485 oubus CAN. Néanmoins, il est possible d'utiliser des tampons de bus, comme des adaptateurs RS-232 (exemple : MAX208, MAX3110E ou MAX3111E deTI), RS-485 ouLVDS pour relier un maître et un esclave avec un câble de quelques mètres. La mise en œuvre de ces circuits reste délicate car il devient nécessaire de procéder à des adaptations d'impédance pour éviter lesoscillations parasites (en).

Outils de développement

[modifier |modifier le code]

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.

Analyseurs de protocole SPI

[modifier |modifier le code]

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.

Notes et références

[modifier |modifier le code]
  1. Adafruit library for 8-bit TFT LCDs such as ILI9325, ILI9328, etc, Adafruit Industries,(lire en ligne)

Voir aussi

[modifier |modifier le code]

Articles connexes

[modifier |modifier le code]

Liens externes

[modifier |modifier le code]

« SPI Signal Names - SparkFun Electronics », surwww.sparkfun.com(consulté le)

Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Serial_Peripheral_Interface&oldid=221799636 ».
Catégorie :
Catégories cachées :

[8]ページ先頭

©2009-2026 Movatter.jp