BUS UART
UART Signifie Universal Asynchronous Reception and Transmission est un protocole de communication série, bidirectionnelle et asynchrone. Il es constitué de deux lignes, l'une pour transmettre les données(TX) et l'autre pour recevoir les données(RX). Par exemple le communication entre l'ordinateur et USB.
L'UART peut transmettre les données selon trois façons:
- transmission de données dans les deux sens simultanément
- transmission de données dans les deux sens mais pas simultanément
- transmission de données dans une direction
La trame de UART est constitues des bits suivants:
un bit de start toujours à 0 : servant à la synchronisation du récepteur
Données : la taille des données est comprise entre 5 et 9 bits. Bits envoyés du LSB au MSB.
Parité: Paire ou Impaire
Fin : Un bit de stop, toujours à 1.
BUS I2C
I2C Signifie Inter-circuit intégré est un protocole de communication série, synchrone et bidirectionnel. Il est utilisé pour la communication entre plusieurs pièces différentes comme: les capteurs, les pilotes, les modules...
L'echange des données se fait entre un maître et un ou plusieurs esclaves jusqu'à 128. La communication est réalisé par deux lignes:
- La ligne de données bidirectionnelle (SDA)
- Ligne d'horloge de synchronisation bidirectionnelle (SCL)
- Signal de référence électrique: masse
La trame de I2C est constitues des bits suivants:
Au repos SDA et SCL sont au niveau 1, aucun circuit n’émet.
Start : SDA passe à 0 lorsque SCL = 1.
Adresse : A partir du moment où SCL passe à 0 on positionne
les 7 bits de l’adresse de l’esclave, validés par les 7 coups d’horloge de SCL.
R/W : Le 8ème coup d’horloge indique à l’esclave si le
maitre va lire (R=1) ou écrire (W=0).
ACK : Le 9ème coup de l’horloge valide la requête du maître
qui attend la réponse.
Donnée : Si la réponse est envoyée par l’esclave, les 8 bits
de données arrivent suivis d’un ACK si c’est la fin de transmission de
l’esclave.
Stop : SCL passe alors à 1 suivi de SDA et on repasse au
repos.
BUS SPI
SPI Signifie Serial Peripheral Interface est un bus d communication série, synchrone( transmission de l’horloge) et full-duplex (On peut transmettre et recevoir) simultanément ( 2 fils de données). Plusieurs Esclaves peuvent être branchés sur un même bus SPI.
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)
Le protocole du bus SPI permet de configurer le signal d’horloge (SCK) grâce à deux paramètres :
CPOL (Clock Polarity) permet de configurer l’état logique de repos du signal d’horloge : Si CPOL = 0 l’état de repos est le NL0 et si CPOL = 1 l’état de repos est le NL1.
CPHA (Clock Phase) permet de définir le front actif, c'est-à-dire sur quel front d’horloge les données sont transmises : Si CPHA = 0 le front actif est le front de l’état de repos vers l’état actif et si CPHA = 1 le front actif est le front de l’état actif vers l’état de repos.
BUS CAN
Le bus de données CAN (Controller Area Network) est un bus système série très répandu dans beaucoup d'industries, notamment L'automobile.
Le bus CAN (Controller Area Network) est né du besoin de trouver une solution de communication série dans les véhicules automobiles, qui ont tendance à intégrer de plus en plus de commandes électroniques. Jusqu'à maintenant, tous les organes de commandes des véhicules échangeaient les données par l'intermédiaire de lignes dédiées. L'augmentation du nombre d'organe embarqué a contraint les équipementiers automobiles a développer une nouvelle architecture à base de bus réseaux. Le GIE Renault-PSA avec les partenaires comme Sagem, Valeo et autres ont développé le bus VAN (Vehicule Area Network), les puces contrôleurs sont fabriquées par MHS, SGS, TI .... En Allemagne, Bosch a développé, au milieu des années 80, le bus CAN ou "Controller Area Network" qui a fait l'objet d'une normalisation Iso 11898.
Format d’une Trame de Données
- Bit de Start : Passage de 1 (état de repos) à 0
- Adresse / Identifiant / champ d’arbitrage
- Champ de Commande : Nombre d’octets dans le champ de données
- Champ de données
- Champ de CRC : Calcul sur les données envoyées permettant de détecter des erreurs de transmission
- Champ de ACK : Tout message doit être acquité ; le destinataire doit forcer le bus à 0
- Fin de Trame