Diapositive 1 - PowerPoint PPT Presentation

About This Presentation
Title:

Diapositive 1

Description:

SPI - Serial Peripheral Interface Bus de communication s rie synchrone D di pour tablir une communication inter-composants, voir inter-cartes, au sein d'un ... – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 9
Provided by: Patrick697
Category:
Tags: diapositive | uart

less

Transcript and Presenter's Notes

Title: Diapositive 1


1
SPI - Serial Peripheral Interface
  • Bus de communication série synchrone
  • Dédié pour établir une communication
    inter-composants, voir inter-cartes, au sein d'un
    même système
  • Standard établi par Motorola et repris par
    différentes marques
  • Full Duplex
  • Maître-esclaves Un seul maître possible sur
    le bus
  • Plusieurs esclaves peuvent coexister sur un bus
  • La sélection du destinataire se fait par une
    ligne dédiée chip select.
  • SPI est disponible sur bon nombre de
    microprocesseurs et de microcontrôleurs 68XX,
    683XX, MCORE, MPC8260, DSP 56XXX de Motorola,
    mais aussi chez Atmel, Microchip, Texas
    Instruments etc ...
  • SPI est dédié aux applications nécessitant des
    transferts de flots de données telles que
    communication entre des microprocesseurs ou des
    DSP, convertisseurs A/N ou N/A, CODEC ( coder -
    decoder ) etc... 

2
Les signaux
  • 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é.

3
Principes
Le bus SPI est une liaison série synchrone qui
opère en mode "full duplex" - émission /
réception simultanée La méthode d'accès et du
type maître / esclave et c'est toujours le maître
qui a l'initiative des échanges quand le maître
sélectionne l'esclave et génère l'horloge, les
données sont échangées dans les deux directions,
simultanément. Le maître ne tient pas compte de
la donnée reçue dans le cas d'un échange
"écriture seule" ou alors il envoi un octet sans
importance ( 0xFF ) dans le cas d'un échange
"lecture seule" La communication avec un
esclave de type CODEC par exemple
(coder-decoder), permet d'exploiter pleinement
les capacités du bus SPI, avec un flot de données
bidirectionnel.
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.
4
Les signaux
  • Il est possible de choisir le type dhorloge
    grâce à une combinaison de 2 bits dans le
    registre
  • SPCON le bit noté CPOL (Clock POLarity) et le
    bit noté CPHA (Clock PHAse).
  • CPOL détermine le niveau logique de la ligne SCK
    au repos.
  • CPHA détermine le front sur lequel la donnée est
    modifiée et le front sur lequel la donnée va être
    lue.

Mode CPOL CPHA
O 0 0
1 0 1
2 1 0
3 1 1
Les modes 0 et 3 sont identiques en transmission,
seule 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.
Chronogramme des différentes configurations
d'horloge
5
La vitesse
En mode maître, la vitesse de transmission est
sélectionnée par 3 bits du registre SPCON (Serial
Peripheral CONtrol register) SPR2, SPR1 et
SPR0. La fréquence dhorloge est choisie parmi 7
fréquences obtenues par division de la fréquence
de fonctionnement du microcontrôleur.
SPR2 SPR1 SPR2 Fréquence de la SPI
000 Fµc/2
001 Fµc/4
010 Fµc/8
011 Fµc/16
100 Fµc/32
101 Fµc/64
110 Fµc/128
Le chaînage SPI
Certains composants SPI sont conçus pour être
chaînés, simplifiant ainsi les connexions entre
composants, en réduisant le nombre de lignes SS
nécessaires.
Pour le SPI il est possible de trouver certains
composants au delà de 20 Mbits
6
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 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
protocoles RS-232, RS-485 ou bus CAN
QSPI  (queued serial peripheral interface) est un
type de contrôleur SPI, pas un autre type de
bus. Il utilise une file d'attente de données
avec des pointeurs programmables qui permettent à
certains transferts de données sans intervention
du processeur
7
Comparaison I2C - SPI
I2C Vitesse de
transmission SPI
Même s'il existe des variations de l'I2C qui
montent au dessus de 1MHz, la grande majorité des
implémentations que l'on trouve utilisent
généralement 100 ou 400 kHz
Pour le SPI il est possible de trouver certains
composants au delà de 20 Mbits
I2C
Topologie SPI
C'est un véritable protocole qui permet
l'interconnexion de multiples boitiers dans
différentes configurations Maitre / Esclave,
Maitre / Multiple esclaves, Multiple Maitres /
Multiples esclaves
En général point à point, bien que l'on puisse
connecter plusieurs esclaves mais il faut alors
des lignes supplémentaires. Un seul maitre qui
génère l'horloge.
I2C
Consommation SPI
du à la configuration collecteur/ drain ouvert
sur les 2 lignes de transmission (SDA SCL),
consommation relativement élevée
signaux de type TTL/CMOS donc consommation faible
Avantages/Inconvénients
  • Si on doit interconnecter plusieurs boitiers
    et que la vitesse n'est pas un problème, préférer
    l'I2C car c'est un protocole (ce qui n'est pas le
    cas du SPI)
  • Si on veut de la vitesse le SPI est loin
    devant
  • Implémentation logicielle sur des E/S Il est
    BEAUCOUP plus facile (et cela prend moins de
    ressources) de faire du SPI par logiciel sur des
    broches d'E/S que de l'I2C dû à la machine
    d'état.
  • Mise en œuvre l'I2C est plus compliqué à
    mettre en œuvre (il suffit de voir le nombre de
    questions sur l'I2C dans les forums...).
  • L'interconnexion de plusieurs boitiers est
    également plus délicate avec l'I2C car il faut
    prendre en compte les impédances de chacun des
    boitiers pour calculer les résistances de rappels.

8
Les composants
  • Consulter les sites internet des fabricants de
    composants ou ceux des fournisseurs Farnell ou
    Radiospares permet davoir une large idée des
    implémentations des bus SPI et I2C de nombreux
    microcontrôleurs intègrent ces deux bus en
    standard
  • Quelques exemples
  • ATMEL AVR32 - 32-Bit Microcontrôleur
    (AT32UC3A0512.)
  • Two Master/Slave Serial Peripheral Interfaces
    (SPI) with Chip Select Signals
  • One Master/Slave Two-Wire Interface (TWI),
    400kbit/s I2C-compatible
  • Microchip (PIC16F886)
  • Master Synchronous Serial Port (MSSP) Module
    supporting 3-wire SPI (all 4 modes)
  • and I2C Master and Slave Modes with I2C
    Address Mask
  • Cirrus Logic CS44600 - 6-Channel Digital
    Amplifier Controller
  • SPI and I²C Host Control Interfaces
  • RAMTRON FM24C16A - 16Kb FRAM Serial Memory
  • Freescale 56F8000 - 16-bit Digital Signal
    Controllers
  • One Queued Serial Peripheral Interfaces (QSPI)

http//fr.farnell.com/ http//www.radiospares
.fr
etc.
Write a Comment
User Comments (0)
About PowerShow.com