SPI - Serial Peripheral Interface

Documents pareils
Les liaisons SPI et I2C

Bus de communication

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02)

CULTe Le samedi 9 février2008 à 15h. Conf 1 : WIFI, les bases

1. PRESENTATION DU PROJET

Fiche technique CPU 314SC/DPM (314-6CG13)

Rapport de projet de fin d études

Ordinateurs, Structure et Applications

Transmissions série et parallèle

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

Tout savoir sur le matériel informatique

Routage Statique. Protocoles de Routage et Concepts. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Fiche technique CPU 315SN/PN (315-4PN33)

MultiMedia Board. Système de développement. Manuel utilisateur. pour PIC32MX4

NOTIONS DE RESEAUX INFORMATIQUES

Projet M1 Année scolaire 2013/2014

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

ELP 304 : Électronique Numérique. Cours 1 Introduction

Conception et réalisation d'un capteur sans fil évolutif pour l'acquisition de données agrienvironnementales

IFT1215 Introduction aux systèmes informatiques

Prototypage électronique

Guide Mémoire NETRAM

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Proteus Design Suite V7 Instruments virtuels

TABLE DES MATIERES. I. Objectifs page 2. II. Types de réseaux page 2. III. Transmission page 2. IV. Câbles page 3. V.

Le bus USB. I) Introduction : II) Architecture du bus USB :

ENREGISTREUR DE TEMPERATURE

systèmes étendus Guide des Version 6.7 pour systèmes HD sous Macintosh ou Windows Digidesign

NanoSense. Protocole Modbus de la sonde Particules P4000. (Version 01F)

Câblage des réseaux WAN.

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

Débuter avec PsoC ou PsoC niveau 0

VIII- Circuits séquentiels. Mémoires

Conférence sur les microcontroleurs.

Mentions légales (non traduites) Introduction Légendes Schémas de raccordement Configuration de la S16...

Exécution des instructions machine

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - -

Master d'informatique 1ère année Réseaux et protocoles. Couche physique

STI 20 Édition 3 /Novembre 2002

Travaux pratiques : configuration et vérification des listes de contrôle d'accès IPv6 Topologie

MB Led. Benjamin Bonny Cédric Le Ninivin Guillaume Normand

Redondance de service

Système M-Bus NIEVEAU TERRAIN NIVEAU AUTOMATION NIVEAU GESTION. Domaines d'application

Partie Agir : Défis du XXI ème siècle CHAP 20-ACT EXP Convertisseur Analogique Numérique (CAN)

Manipulations du laboratoire

Le multiplexage. Sommaire

Connaissances VDI 1 : Chapitres annexe

TD Architecture des ordinateurs. Jean-Luc Dekeyser

PROGRAMMATION D'UN MICROCONTRÔLEUR

Chapitre 4 : Les mémoires

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Concepts et systèmes de stockage

Nmap (Network Mapper) Outil d exploration réseau et scanneur de ports/sécurité

Service Info Destinataires... Centres agréés Date... 7 septembre 2012 Produit/système... Chronotachygraphe numérique DTCO Page...

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

Adressage des données des contrôleurs du WAGO-I/O-SYSTEM 750. Note d application

Les Réseaux sans fils : IEEE F. Nolot

VX442. Panneau de Contrôle pour Windows 98 SE, ME, 2000 et XP et Mac OS 9 & 10

Votre Réseau est-il prêt?

Réglage, paramétrage, contrôle, modification. Salle de conférence.

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Business & High Technology

Travaux pratiques : configuration des routes statiques et par défaut IPv6

TASCAM MX Utilisation du SCSI

Tout sur l USB L USB (Universal Serial Bus) a été élaboré en 1996 par Intel, Compaq,Digital,IBM,Microsoft,NEC et NorthTelec (USB 1.0).

VOIP. QoS SIP TOPOLOGIE DU RÉSEAU

PIC 16F84. Philippe Hoppenot

1) Où est le problème? Chère lectrice, cher lecteur, On est entre nous, alors on va se tutoyer.

Evaluation. Partie Quelles sont les possibilités offertes par cette caméra d un point de vue utilisation?

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

DIGIGRAM interfaces audio INTERFACES PCMCIA. VXpocket V2. VXpocket 440 INTERFACES USB UAX220 V2. UAX220-Mic 346 DIGIGRAM

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7

Cisco Certified Network Associate Version 4

Présentation Générale

xdsl Digital Suscriber Line «Utiliser la totalité de la bande passante du cuivre»

Logiciel de Télégestion

La continuité de service

FICHE DE COURS RESEAU POSTE A POSTE BAC PRO SYSTEMES ELECTRONIQUES NUMERIQUES Champ Professionnel : Télécommunications et Réseaux


Carte ARDUINO UNO Microcontrôleur ATMega328

Lecteur de carte à puce LCPM1 SOMMAIRE

TeamConnect. SL TeamConnect CU1, Unité centrale SL TeamConnect CB1, Combox CARACTÉRISTIQUES

PL7 Micro/Junior/Pro Métiers communication Tome 1. TLXDSCOMPL7xxfre

À propos de ce Guide de Configuration EtherSound

Service de noms des domaines (Domain Name System) Cours administration des services réseaux M.BOUABID,

Spécifications Techniques d Interface

Concentrateur d accès SM400

Logiciel de télégestion ACS série 700

Analyse de la bande passante

Matériel & Logiciels (Hardware & Software)

Description d'une liaison

Ressource Site EURIDIS

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Solution Haute Disponibilité pour Linux

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

Transcription:

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... BAC PRO SEN 1

Les signaux : Le bus SPI contient 4 signaux logiques : SCLK MOSI MISO (généré par le maître) (généré par le maître) (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é. 2

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 envoie 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. 3

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 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 4

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 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 5

Avantages et Inconvénients : 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 6

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. 7