Mohamed MASMOUDI 2014-2015 3 me ann e INFO - SLE
1
SYST ME A BASE DES
MICROCONTROLLEURS
CHAPITRE 5: BUS DE
COMMUNICATION
MOHAMED MASMOUDI
ENSI-ECOLE NATINALE DES SCIENCES DE LINFORMATIQUES
Mohamed MASMOUDI
ENSI
2014-2015
Classification des bus de
communication
2
Deux types de transmission
synchrone : l metteur et le r cepteur sont cadenc s
la m me fr quence dhorloge (incorpor au bus ou bien
aux donn es). Lhorloge de r ception et d mission
doivent mettre le m me signal dhorloge (pour la
synchronisation).
Asynchrone: le r cepteur et l metteur ne partage pas
un signal dhorloge.
Mohamed MASMOUDI 2014-2015 3 me ann e 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-r cepteur asynchrone universel.
En langage courant, c'est le composant utilis pour faire la liaison entre le C et le port
s rie. Il faut donc transformer ces donn es pour les faire passer travers une liaison s rie
qui utilise un m me fil pour faire passer tous les bits de donn es.
Constitution d'une trame UART
Une trame UART est constitu e des bits suivants :
un bit de start toujours 0 : servant la synchronisation du r cepteur
les donn es : la taille peut varier (g n ralement entre 5 et 9 bits)
ventuellement un bit de parit paire ou impaire
un bit de stop toujours 1 (la dur e peut varier entre 1, 1,5 et 2 temps bit)
Le niveau logique de repos est le 1.
Mohamed MASMOUDI 2014-2015 3 me ann e INFO - SLE
UART
4
Pour les communication synchrone le protocole est nomm USART (Universal Synchronous &
Asynchronous Receiver Transmitter).
Mohamed MASMOUDI 2014-2015 3 me ann e INFO - SLE
RS232
5
Un niveau logique "0" est repr sent 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 utilis s.
Advertisement
La norme V.28 indique qu'un 1 est reconnu si la tension est inf rieure -3 V,
et un 0 est reconnu si la tension est sup rieure +3 V.
Mohamed MASMOUDI 2014-2015 3 me ann e INFO - SLE
RS-485
6
EIA-485 (souvent appel e RS-485) est une norme
qui d finit les caract ristiques lectriques de la
couche physique d'une interface num rique s rielle.
La transmission se fait sur une ligne lectrique,
pratiquement une paire torsad e, par des
variations de tension en mode diff rentiel.
Mohamed MASMOUDI 2014-2015 3 me ann e INFO - SLE
I C
Pull-up
7
A lint rieur du C
Configuration du
pin SCL en Input
floating
Configuration du
pin SCL en output
open dran
Mohamed MASMOUDI 2014-2015 3 me ann e INFO - SLE
I C
8
"
"
Les r sistances 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 (r sultat de la fonction
ET ). Si une ou plusieurs sorties tentent d'imposer un niveau bas sur une ligne, le ou
les transistors associ s vont conduire, ce qui entra ne un niveau bas sur la ligne
correspondante (ce qui est conforme au r sultat de la fonction ET ).
" En ce qui concerne la lecture des signaux SDA et SCL, cela ne pose pas de probl me.
Les signaux peuvent tre lus en permanence sans risque d'interf rer sur le niveau de
la ligne.
" Au repos, tous les circuits connect s 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 contr le du bus. Si une des lignes SDA
ou SCL passe un niveau bas dans les m mes conditions, c'est qu'un des circuits d sire
prendre le contr le du bus.
Mohamed MASMOUDI 2014-2015 3 me ann e INFO - SLE
I C
9
"
"
Le protocole du bus I C d finit la succession des tats possibles sur les lignes SDA et SCL,
et comment doivent r agir les circuits en cas de conflit.
La prise de contr le du bus: Pour transmettre des donn es sur le bus I C, il faut surveiller
Advertisement
deux conditions particuli res : la condition de d part et la condition d'arr t.
" Avant de tenter de prendre le contr le du bus, un circuit doit v rifier 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 contr le 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 contr le.
Le circuit qui vient de prendre le contr le du bus en devient le ma tre (en anglais
master ). C'est lui qui g n re le signal d'horloge, quel que soit le sens du transfert.
Mohamed MASMOUDI 2014-2015 3 me ann e INFO - SLE
I C
10
La transmission d'un octet
" Une fois les 8 bits transmis, le circuit qui vient de recevoir les donn es doit imposer
un bit d'acquittement ACK sur la ligne SDA.
" Pour cela, pendant que la ligne SCL est au niveau bas, le ma tre place sa propre
sortie au niveau haut, tandis que le r cepteur (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 ma tre 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 re u, sinon c'est qu'il y a une erreur et le ma tre doit g n rer la condition
arr t.
Mohamed MASMOUDI 2014-2015 3 me ann e INFO - SLE
I C
11
La transmission d'une adresse
Le nombre de composants qu'il est possible de connecter sur un bus I C tant largement
sup rieur deux, le ma tre doit pouvoir choisir quel esclave est cens recevoir les
donn es.
Dans ce but, le premier octet transmis par le ma tre n'est pas une donn e mais une
adresse. Le format de l'octet d'adresse est un peu particulier puisque le bit D0 est r serv
pour indiquer si le ma tre demande une lecture l'esclave ou bien au contraire si le ma tre
impose une criture l'esclave.
Mohamed MASMOUDI 2014-2015 3 me ann e INFO - SLE
Donn es
SPI
12
Une liaison SPI (pour Serial Peripheral Interface) est un bus de donn es s rie
synchrone baptis ainsi par Motorola, et qui op re en Full-duplex.
Les circuits communiquent selon un sch ma ma tre-esclaves, o le ma tre
s'occupe totalement de la communication.
Plusieurs esclaves peuvent coexister sur un bus, la s lection du destinataire se
fait par une ligne d di e entre le ma tre et l'esclave appel e chip select.
Mohamed MASMOUDI 2014-2015 3 me ann e INFO - SLE
SPI
Advertisement
13
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
Mohamed MASMOUDI 2014-2015 3 me ann e INFO - SLE
SPI
14
Une transmission SPI typique est
une communication simultan e
entre un ma tre et un esclave.
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
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.
Mohamed MASMOUDI 2014-2015 3 me ann e INFO - SLE
SPI
15
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
Advertisement
Pas de phy n cessaire
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'I C 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 liaisons RS-232, RS-485 ou bus CAN
Mohamed MASMOUDI 2014-2015 3 me ann e INFO - SLE
CAN
16
Le bus CAN (Controller Area Network) est n du besoin de trouver une solution de
communication s rie dans les v hicules automobiles.
Il permet:
Hi rarchisation des messages.
R ception de multiples sources avec synchronisation temporelle.
Fonctionnement multima tre.
D tections et signalisations derreurs.
Retransmission automatique des messages alt r s.
D connexion automatique des nSuds d fectueux.
Mohamed MASMOUDI 2014-2015 3 me ann e 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 3 me ann e INFO - SLE
Activit
18
Communication STM32 avec acc l rom tre
LIS302DL via SPI bas de lexemple MEMS fournis
par ST.
Changer le code pour all ger le traitement dans
linterruption.
Ajouter une interruption pour la d tection des
acc l ration au de l dun seuil.
Mohamed MASMOUDI 2014-2015 3 me ann e INFO - SLE