Sunteți pe pagina 1din 18

Mohamed MASMOUDI 2014-2015 3me anne INFO - SLE

SYSTME A BASE DES


MICROCONTROLLEURS
CHAPITRE 5: BUS DE
COMMUNICATION
MOHAMED MASMOUDI
ENSI-ECOLE NATINALE DES SCIENCES DE LINFORMATIQUES
MASMOUDI.MED@GMAIL.COM

Mohamed MASMOUDI
ENSI

2014-2015

Classification des bus de


communication
2

Deux types de transmission


synchrone

: lmetteur et le rcepteur sont cadencs


la mme frquence dhorloge (incorpor au bus ou bien
aux donnes). Lhorloge de rception et dmission
doivent mettre le mme signal dhorloge (pour la
synchronisation).
Asynchrone: le rcepteur et lmetteur ne partage pas
un signal dhorloge.

Mohamed MASMOUDI 2014-2015 3me anne INFO - SLE

Protocole UART
3

UART est un terme qui vient de l'anglais, ce sont les initiales de : Universal Asynchronous
Receiver Transmitter. L'UART est donc un metteur-rcepteur asynchrone universel.
En langage courant, c'est le composant utilis pour faire la liaison entre le C et le port
srie. Il faut donc transformer ces donnes pour les faire passer travers une liaison srie
qui utilise un mme fil pour faire passer tous les bits de donnes.
Constitution d'une trame UART
Une trame UART est constitue des bits suivants :
un bit de start toujours 0 : servant la synchronisation du rcepteur
les donnes : la taille peut varier (gnralement entre 5 et 9 bits)
ventuellement un bit de parit paire ou impaire
un bit de stop toujours 1 (la dure peut varier entre 1, 1,5 et 2 temps bit)
Le niveau logique de repos est le 1.

Mohamed MASMOUDI 2014-2015 3me anne INFO - SLE

UART
4

Pour les communication synchrone le protocole est nomm USART (Universal Synchronous &
Asynchronous Receiver Transmitter).
Mohamed MASMOUDI 2014-2015 3me anne INFO - SLE

RS232
5

Un niveau logique "0" est reprsent par une tension de +3V +25V et un
niveau logique "1" par une tension de -3V -25V (codage NRZ).
Ordinairement, des niveaux de +12V et -12V sont utiliss.
La norme V.28 indique qu'un 1 est reconnu si la tension est infrieure -3 V,
et un 0 est reconnu si la tension est suprieure +3 V.

Mohamed MASMOUDI 2014-2015 3me anne INFO - SLE

RS-485
6

EIA-485 (souvent appele RS-485) est une norme


qui dfinit les caractristiques lectriques de la
couche physique d'une interface numrique srielle.
La transmission se fait sur une ligne lectrique,
pratiquement une paire torsade, par des
variations de tension en mode diffrentiel.

Mohamed MASMOUDI 2014-2015 3me anne INFO - SLE

IC
7

Pull-up

A lintrieur du C
Configuration du
pin SCL en Input
floating

Mohamed MASMOUDI 2014-2015 3me anne INFO - SLE

Configuration du
pin SCL en output
open dran

IC
8

Les rsistances de rappel au potentiel VCC permettent aux signaux SDA et SCL d'tre
1
si toutes les sorties , collecteurs ouverts sont aussi au niveau 1 (rsultat de la fonction
ET ). Si une ou plusieurs sorties tentent d'imposer un niveau bas sur une ligne, le ou
les transistors associs vont conduire, ce qui entrane un niveau bas sur la ligne
correspondante (ce qui est conforme au rsultat de la fonction ET ).
En ce qui concerne la lecture des signaux SDA et SCL, cela ne pose pas de problme.
Les signaux peuvent tre lus en permanence sans risque d'interfrer sur le niveau de
la ligne.
Au repos, tous les circuits connects doivent imposer un niveau haut sur leurs sorties
respectives. Si les lignes SDA et SCL sont au niveau haut dans ces conditions, cela
signifie qu'aucun circuit ne tente de prendre le contrle du bus. Si une des lignes SDA
ou SCL passe un niveau bas dans les mmes conditions, c'est qu'un des circuits dsire
prendre le contrle du bus.

Mohamed MASMOUDI 2014-2015 3me anne INFO - SLE

IC
9

Le protocole du bus IC dfinit la succession des tats possibles sur les lignes SDA et SCL,
et comment doivent ragir les circuits en cas de conflit.
La prise de contrle du bus: Pour transmettre des donnes sur le bus IC, il faut surveiller
deux conditions particulires : la condition de dpart et la condition d'arrt.

Avant de tenter de prendre le contrle du bus, un circuit doit vrifier que les lignes SDA et
SCL sont au repos, c'est--dire l'tat haut.
Si c'est le cas, le circuit indique qu'il prend le contrle du bus en mettant la ligne SDA 0.
A partir de ce moment l, les autres circuits savent que le bus est occup et ils ne
devraient pas tenter d'en prendre contrle.
Le circuit qui vient de prendre le contrle du bus en devient le matre (en anglais
master ).
C'est lui
qui gnre
le signal3me
d'horloge,
quel
que soit le sens du transfert.
Mohamed
MASMOUDI
2014-2015
anne INFO
- SLE

IC
10

La transmission d'un octet


Une fois les 8 bits transmis, le circuit qui vient de recevoir les donnes doit imposer
un bit d'acquittement ACK sur la ligne SDA.
Pour cela, pendant que la ligne SCL est au niveau bas, le matre place sa propre
sortie au niveau haut, tandis que le rcepteur (aussi appel l'esclave) place sa
sortie au niveau bas.
Puisque les sorties sont collecteur ouvert, la ligne SDA restera au niveau bas
cause de l'esclave.
Le matre relie ensuite la ligne SDA une fois qu'il a pass la ligne SCL au niveau
haut.
Si la valeur lue pour le bit ACK est 0, c'est que l'esclave s'est bien acquitt de
l'octet reu, sinon c'est qu'il y a une erreur et le matre doit gnrer la condition
arrt.

Mohamed MASMOUDI 2014-2015 3me anne INFO - SLE

IC
11

La transmission d'une adresse


Le nombre de composants qu'il est possible de connecter sur un bus IC tant largement
suprieur deux, le matre doit pouvoir choisir quel esclave est cens recevoir les
donnes.
Dans ce but, le premier octet transmis par le matre n'est pas une donne mais une
adresse. Le format de l'octet d'adresse est un peu particulier puisque le bit D0 est rserv
pour indiquer si le matre demande une lecture l'esclave ou bien au contraire si le matre
impose une criture l'esclave.

Donnes
Mohamed MASMOUDI 2014-2015 3me anne INFO - SLE

SPI
12

Une liaison SPI (pour Serial Peripheral Interface) est un bus de donnes srie
synchrone baptis ainsi par Motorola, et qui opre en Full-duplex.
Les circuits communiquent selon un schma matre-esclaves, o le matre
s'occupe totalement de la communication.
Plusieurs esclaves peuvent coexister sur un bus, la slection du destinataire se
fait par une ligne ddie entre le matre et l'esclave appele chip select.

Mohamed MASMOUDI 2014-2015 3me anne INFO - SLE

SPI
13

Le bus SPI contient 4 signaux logiques


SCLK Horloge (gnr par le matre)
MOSI Master Output, Slave Input (gnr par le matre)
MISO Master Input, Slave Output (gnr par l'esclave)
SS Slave Select, Actif l'tat bas, (gnr par le matre)

Il existe d'autres noms qui sont souvent utiliss.


SCK Horloge (gnr par le matre)
SDI,DI,SI Serial Data IN
SDO,DO,SO Serial Data OUT
nCS, CS, nSS, STE SS

Mohamed MASMOUDI 2014-2015 3me anne INFO - SLE

SPI
14

Une transmission SPI typique est


une communication simultane
entre un matre et un esclave.
Le matre gnre l'horloge et
slectionne l'esclave avec qui il
veut communiquer
L'esclave rpond aux requtes
du matre
chaque coup d'horloge le
matre et l'esclave s'changent un
bit. Aprs huit coups d'horloges
le matre a transmis un octet
l'esclave et vice-versa. La vitesse
de l'horloge est rgle selon des
caractristiques propres aux
priphriques.

Mohamed MASMOUDI 2014-2015 3me anne INFO - SLE

SPI
15

Avantages

Communication Full duplex

Dbit assez important par rapport IC

Flexibilit du nombre de bits transmettre

Simplicit de l'interface matrielle

Aucun arbitre ncessaire car aucune collision possible

Les esclaves utilisent l'horloge du matre et n'ont donc pas besoin d'oscillateur de prcision

Pas de phy ncessaire

Partage d'un bus commun pour l'horloge, MISO et MOSI entre les priphriques

Inconvnients

Monopolise plus de pattes d'un botier que l'IC ou une UART qui en utilisent seulement deux.

Aucun adressage possible, il faut une ligne de slection par esclave en mode non chan.

Le protocole n'a pas d'acquittement. Le matre peut parler dans le vide sans le savoir.

Il ne peut y avoir qu'un seul matre sur le bus.

Ne s'utilise que sur de courtes distances contrairement aux liaisons RS-232, RS-485 ou bus CAN

Mohamed MASMOUDI 2014-2015 3me anne INFO - SLE

CAN
16

Le bus CAN (Controller Area Network) est n du besoin de trouver une solution de
communication srie dans les vhicules automobiles.
Il permet:
Hirarchisation des messages.
Rception de multiples sources avec synchronisation temporelle.
Fonctionnement multimatre.
Dtections et signalisations derreurs.
Retransmission automatique des messages altrs.
Dconnexion automatique des nuds dfectueux.

Mohamed MASMOUDI 2014-2015 3me anne INFO - SLE

Autres bus de communication


17

Plusieurs bus de communication existent sur le


march, on note:
USB
Ethernet
OneWire
Weigand
I2S
.

Mohamed MASMOUDI 2014-2015 3me anne INFO - SLE

Activit
18

Communication STM32 avec acclromtre


LIS302DL via SPI bas de lexemple MEMS fournis
par ST.
Changer

le code pour allger le traitement dans


linterruption.
Ajouter une interruption pour la dtection des
acclration au de l dun seuil.

Mohamed MASMOUDI 2014-2015 3me anne INFO - SLE

S-ar putea să vă placă și