SPI - Serial Peripheral Interface

Slides:



Advertisements
Présentations similaires
Semaine 5 Couche Liaison de données Cours préparé par Marc Aubé
Advertisements

Architecture de machines Les entrées sorties Cours
Introduction aux réseaux informatiques
Nouvelles Technologies Le bus PCI et ses évolutions
USB Présentation du protocole Exemple de réalisation hardware
Auto Apprentissage Le DSP
LES TRANSMISSIONS DE DONNEES DANS LE SECTEUR INDUSTRIEL. ZOBRIST Julien TS1 ETA.
Les microprocesseurs A. Objectifs de la séquence:
TRANSMISSION DES DONNEES INFORMATIQUES
AS-interface Présentation Patrick MONASSIER Université Lyon 1 France.
Les systèmes à microprocesseur
Conception d’une carte à microcontrôleur ARM pour le robot Amphibot II
BUS de TERRAIN CANOPEN.
Base des transmissions séries René Beuchat LAP/EPFL LSN/EIG/HESSO
Projet RFiD Conception dune antenne et pilotage dun lecteur de TAG Département GTR Gwénaël POQUIN, Wilhelm ROUX, Pierrick MARCEL Année universitaire 2004.
Etude des Technologies du Web services
Prof : M.Trannoy - Professeur d'électrotechnique.
Interbus Présentation Patrick MONASSIER Université Lyon 1 France.
I2C - Inter Integrated Circuit Bus
NOTE : Pour faire évoluer le diaporama, si le clic de souris ne fait rien utilisez les touches du clavier : Pg up Pg down.
Interface série de type I2C
MIC7340 Entrées sorties de base – ports sériels
TRANSMISSION DES DONNEES.
Architecture des Ordinateurs
Fonction COMMUNIQUER les liaisons série
Développement dun produit sur carte DSP pour la mesure de bruit et dimpédance sur une ligne à courant porteur Elèves : Hamid MEGHDADI Claire CHAVET-JABOT.
LIAISON MODBUS.
NOTE : Pour faire évoluer le diaporama, si le clic de souris ne fait rien utilisez les touches du clavier : Pg up Pg down.
ER2 : Presentation du bus I2C
Communications séries synchrones
Architecture introduction.
Architecture d ’un système à MICROPROCESSEUR
LES SYSTEMES AUTOMATISES
Le Bus S.P.I © T.Berenguer.
Périphériques et bus système
Le démarreur contrôleur :
Afficheur industriel « AIW » MAT Électronique
Les périphériques de communication
détecteurs thermiques
GPS Bluetooth.
Les systèmes mono-puce
1 Cliquez ici pour avancer Ici pour reculer Ch.Dupaty 11/97.
SURVEILLANCE VIDEO SUR RESEAU ETHERNET
SIO SI2 : Support Réseau des Accès Utilisateurs
Sif Cours 9 n 7. Communication série u Concepts généraux u Programmation des ports séries n Le matériel u Chapitre 10 CSA u Article dans MSDN: F.
La programmation de l’interface FischerTechnik
Exemple de mise en oeuvre
Les Réseaux Informatiques Clients & Serveurs Le protocole FTP Laurent JEANPIERRE DEUST AMMILoR.
PERI Master ACSI cours Gestion des Périphériques Année (Transparents de F. Dromard)
1. Introduction Le traitement informatisé de données requiert un dialogue, une communication entre l’homme et la machine, et parfois, entre plusieurs.
Système slow-control au LAPP
Conception d ’ une IP d ’ un contrôleur de bus I ² C en SystemC1.0 ZHANG XUN Tuteurs du projet : Mr. P. Garda - Mr. O. Romain LISIF---Team SYEL Université.
PERI Master ACSI cours Gestion des Périphériques Année (Transparents de F. Dromard)
Un programme Algorithme permettant au processeur de s'alimenter:

1 II2/AVR II2 - Microcontroleur  Introduction  Famille ATMEL AVR8bits  ATMega16  Organisation Mémoire  Architecture CPU  Modes d'adressage et jeu.
Présentation de l’ADSL
Protocole DMX P.G D’après un travail d’élèves de 1ère SIN 2012
Source : La liaison série RS232 Source : P.G Lycée Vaucanson Grenoble.
Description d’une liaison série
Encadrer par Mr Chelly Nizar
Les bascules et registres
Intervention sur un système technique Afficheur industriel « AIW »
Patrick Monassier – 2009 mod
S.P.I BUS série synchrone à grande vitesse Cliquez ici pour avancer
Communications séries synchrones
Communications séries synchrones
S.P.I BUS série synchrone à grande vitesse Cliquez ici pour avancer
Communications séries synchrones
SPI - Serial Peripheral Interface
Transcription de la présentation:

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...  Patrick Monassier - 2009

Le bus SPI contient 4 signaux logiques : 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é. Patrick Monassier - 2009

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. Patrick Monassier - 2009

Les signaux : Il est possible de choisir le type d’horloge 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 1 2 3 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 Patrick Monassier - 2009

La vitesse : Le chaînage SPI : 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 d’horloge 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 Patrick Monassier - 2009

Avantages et 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 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 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 Patrick Monassier - 2009

I2C Vitesse de transmission SPI 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. Patrick Monassier - 2009

Les composants : Consulter les sites internet des fabricants de composants ou ceux des fournisseurs Farnell ou Radiospares permet d’avoir 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 AVR®32 - 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) One Inter-Integrated Circuit (I2C) port …etc. http://fr.farnell.com/ http://www.radiospares.fr …etc. Patrick Monassier - 2009