SPI : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(Avantages et Inconvénients)
(Avantages et Inconvénients)
Ligne 41 : Ligne 41 :
 
points positifs:
 
points positifs:
  
* Communication [[Full duplex]]
+
* Communication Full duplex  
 
* Débit assez important par rapport à [[i2c]]
 
* Débit assez important par rapport à [[i2c]]
 
* Flexibilité du nombre de bits à transmettre
 
* Flexibilité du nombre de bits à transmettre
Ligne 47 : Ligne 47 :
 
** Aucun arbitre nécessaire car aucune collision possible
 
** 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
 
** Les esclaves utilisent l'horloge du maître et n'ont donc pas besoin d'oscillateur de précision
** Pas de [[PHY|phy]] nécessaire
+
** Pas de PHY nécessaire
 
* Partage d'un bus commun pour l'horloge, MISO et MOSI entre les périphériques
 
* Partage d'un bus commun pour l'horloge, MISO et MOSI entre les périphériques
  

Version du 15 novembre 2013 à 14:55

Introduction

SPI (= Sérial Peripheral Interface) est un bus de données série synchrone fonctionnant en Full-duplex sous un principe de Maître-Esclaves entre plusieurs micro-contrôleurs soit de la même famille soit ayant des interfaces compatibles. Il permet la communication à courte distance entre plusieurs périphériques.

Interface et Fonctionnement

Le bus SPI contient 4 signaux logiques. Il y en à trois généré par le Maître:

  • SCLK = horloge
  • MOSI = Master Output,Slave Input
  • SS = Slave Select, actif à l'état bas

Un généré par l'Esclave:

  • MISO = Master Input, Slave Output

Une transmission SPI typique est une communication simultanée entre un Maître et un Esclave. On a le Maître qui génère l'horloge et sélectionne l'Esclave avec qui il veut communiquer. On a aussi l'Esclave qui répond aux requêtes du Maître. A chaque coup d'horloge le Maître et l'Esclave s'échange un bit, à savoir que la vitesse de l'horloge est réglée selon des caractéristiques propres aux périphériques. La configuration est fait sous forme de couble 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

La fréquence des modes d'opération du "Maître" dépend de l'adaptateur ou de l'analyseur pouvant aller de 10MHz à 1000MHz.

Avantages et Inconvénients

points positifs:

  • Communication Full duplex
  • Débit assez important par rapport à i2c
  • 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

points négatifs:

  • Monopolise plus de pattes d'un boîtier que l'i2c 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

Référence