Système à base des microcontrôleurs

Programming, Communication Protocols · course

Voir tous les documents en électronique et automatique

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

[email protected]

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.

Publicité

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

Publicité

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

Publicité

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

Publicité

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