Base des transmissions séries René Beuchat … · Transmissions séries Base des transmissions...

63
RB - 2002 1 Transmissions séries Base des transmissions séries René Beuchat LAP/EPFL LSN/EIG/HESSO

Transcript of Base des transmissions séries René Beuchat … · Transmissions séries Base des transmissions...

RB -2002

1

Transmissions séries

Base des transmissions séries

René Beuchat

LAP/EPFL

LSN/EIG/HESSO

RB -2002

2

Architecture d’un système inform

atique

MicroProcesseur

MicroProcesseur

Mémoire(s)

Mémoire(s)

D é c o d e u r

D é c o d e u r

Bus d’adresse

Bus de donnéesP

rogramme

Données

Pile

Programme

Données

Pile

Entrées

Sorties

Entrées

Sorties

Bus de contrôle

A23..A0

D15..D0

RB -2002

3

Liaisons séries sur un ordinateur

�Clavier, souris (PS2, USB)

�Modem (RS232, V24)

�Ligne téléphonique (analogique, numérique)

RB -2002

4

Liaisons séries sur un ordinateur

�Liaisons multipoint (Ethernet 10 base2)

�Partage du même câble par plusieurs

utilisateurs

RB -2002

5

Liaisons séries sur un ordinateur

�Liaisons point à point (Ethernet 10/100 Twisted)

�Liaison en étoile

RB -2002

6

7 couches OSI de l'ISO

�Open SystemInterconnection

�International Standard Organization

RB -2002

7

Codage de bits

Exemples de codages

RB -2002

8

Synchronisations

Problèmes de synchronisations :

•Niveau bit

•Niveau mot (assemblage de bits)

•Niveau message (assemblage de mots)

•Vitesse de transmission

RB -2002

9

Transmission asynchrone

•Synchronisation par mot :

•startbit

•donnée (5..8 bits)

•parité (facultatif, paire/impaire)

•stop bit (1, 1.5, 2 au minimum)

•Vitesse de transmission PAR CHOIX EXTERNE

RB -2002

10

Transmission asynchrone, RS-232

RB -2002

11

Exemple, RS-232

Transmission code "C", parité paire :

•ASCII C →16'43 →2' 0100 0011

•LSb(bit 0) en premier

•'0' →

> +3V

•'1' →

< -3V

RB -2002

12

Exemple, RS-232

RB -2002

13

Connecteur RS-232, 25 pôles

RB -2002

14

Connecteur RS-232, 9 pôles

RB -2002

15

Dialogue RS-232

RB -2002

16

RS422-RS485, connexion physique

Transmission différentielle, point à point

Transmission différentielle, multipoints

RB -2002

17

Exemple asynchrone

�Interface série asynchrone du 68331

�Module SCI, Serial Communication

Interface

�Interface programmable intégrée sur

68331

�Programmation par registres de contrôle

et de statuts

�Transmission de données par registre de

donnée

RB -2002

18

Modèle interface série 68331

RB -2002

19

Programmation SCI (1)

RB -2002

20

Programmation SCI (2)

Programme principal

•Initialisation SCI en transmission

•Boucle à l'infini :

•Emission du code lu sur Mubus (interrupteurs)

RB -2002

21

Programmation SCI (3)

Sous-programme émission d'un octet

RB -2002

22

Transmission par paquet (1), BISYNC

RB -2002

23

Transmission par paquet (2), HDLC

RB -2002

24

Ethernet/IEEE 802.3

•Transmission par paquet

•Horloge codée avec données

•Codage Manchester

RB -2002

25

Ethernet/IEEE 802.3

•TCP/IP

RB -2002

26

Interfaces séries Bus I2C

Bus SPI

Bus 1-Wire

RB -2002

27

Transmission synchrone

Transmission de l'horloge et des données, ex :

•I2C, transmission par paquet

•SPI, transmission par mot (8 bits, QSPI 16 bits)

RB -2002

28

Interfaces séries

�Exemples de composants

�Interface asynchrone Modèle interface série 68331

�Interface SCI 68331

�Circuit i-Wire, uLANMémoire Dallas/maximuLAN

�Mémoire série DS2224

�Circuit I2C I2C, exemple PCF8574 port //

�Port parallèle PCF8574 (vieux composants)

RB -2002

29

Interfaces séries Bus I2C

SMBus

(SystemManagement Bus)

Philips semiconductor

RB -2002

30

I2C

�Bus intercircuits

�Courte distance (~1 m)

�Multi-maîtres

�Multi-esclaves

�Horloge fournie par le maître

�Bus collecteur ouvert

�Transmission à

�100 kbits/s (normal), 400 kbits/s (fast)

RB -2002

31

I2C, exemple d'utilisations

�Extension de ports I/O par simple bus

série: port //, convertisseur A/D, D/A,

mémoire série, ctrl tuning, etc…

�Ex. d'utilisation : chaîne hi-fi, TV, etc…

RB -2002

32

I2C, définitions

�Maître (master) :

�Unité qui émet l'horloge, initie et termine le transfert

�Fournit l'adresse de l'esclave sélectionné et le sens de transfert

du cycle

�Esclave (slave) :

�Unité sélectionnée pour le transfert par un maître

�Il reçoit l'adresse et le sens du transfert

�Quittance, s'il est l'unité sélectionnée

�Système multi-maître(multimastersystem) :

�Système où plusieurs maîtres peuvent prendre le bus sans

corrompre les données

�Arbitrage (arbitration)

�Procédure pour prendre le bus si plusieurs maîtres désirent le

faire en même temps

RB -2002

33

I2C, définitions

�Emetteur (emettor):

�Unité qui transmet une donnée sur le bus

�Ecriture : l'émetteur est le maître

�Lecture : l'émetteur est l'esclave

�Récepteur (receptor):

�Unité qui reçoit une donnée sur le bus

�Ecriture : le récepteur est l'esclave

�Lecture : le récepteur est le maître

�Synchronisation (synchronization)

�Méthode pour synchroniser l'horloge entre plusieurs

circuits

RB -2002

34

I2C, interconnexion d'unités

2 lignes pour tous :

•SCL: CLk, horloge

•SDA: Data, donnée

Transmission :

•multipoint

•synchrone

•par paquet

RB -2002

35

I2C, interface sur bus

•SCL

: CLk, horloge,

•toujours activée par maître

•peut être maintenue à '0' par esclave

•SDA

: Data, donnée

Lignes bidirectionnelles, collecteur ouvert

RB -2002

36

I2C, transmission d'un paquet START/STOP

•Stop : SCL '0' →

'H', puis SDA '0' →

'H'

•Start: SDA 'H' →

'0', puis SCL 'H' →

'0'

•Repos lignes 'H'

•Données changement avec SCL à '0'

RB -2002

37

I2C lecture

•1er octet :

•adresse destinataire 7 bits

•sens du transfert 1 bits

•Acknowledge(quittance)

maître

maître esclave

Émetteur

esclave

Récepteur

maître

RB -2002

38

I2C écriture

•1er octet :

•adresse destinataire 7 bits

•sens du transfert 1 bits

•Acknowledge(quittance)

maître

maître esclave

Émetteur

maître

Récepteur

esclave

RB -2002

39

I2C autres accès

RB -2002

40

I2C arbitrage multi-maîtres

•Collecteur ouvert & relecture données transmise :

•SCL activé par tous les maîtres �'0'

•Mise de l'adresse destination SDA (msb

�lsb)

•Dès que tous relâchent la ligne �'H'

•Tant qu'une adresse destination a un bit à '0', maître

correspondant continue la transmission

RB -2002

41

I2C Ralentissement de l'horloge

En maintenant l'horloge à '0', un esclave

peut ralentir la transmission

RB -2002

42

I2C, exemple PCF8574 port //

�Port parallèle 8 bits P7..P0

�8 adresses sélectionnables par 3 entrées

A2..A0

�4 bits d'adresse fixes '0100'

Ancien circuit !

Nouveau :

PCF 9553..9558

RB -2002

43

I2C, exemple PCF8574 port //

�Ecriture I2C

�Lecture I2C

RB -2002

44

I2C, exemple PCF8574 port //

�Timing de transmission

RB -2002

45

I2C, exemple PCF8574 port //

�Un bit du 8574

RB -2002

46

Interfaces séries Bus SPI

SynchronousPeripheralInterface

Motorola

RB -2002

47

SPI, SynchronousPeripheralInterface (Motorola)

•Bus synchrone

•Horloge séparée

•Transmission en full-duplex(in, out)

•Multi-maîtrepossible

•Sélection de l'esclave par lignes

séparées

Environ 1-4 Mbit/s

RB -2002

48

SPI, SynchronousPeripheralInterface (Motorola)

MOSI

Master Out, Slave In,

Sortie sur le maître, entrée sur l'esclave

MISO

Master In, Slave Out,

Entrée sur le maître, sortie sur l'esclave

SCK

Serial ClocK

Horloge de transmission série, fourni par le

maître

SS

Slave Select, 1 par esclave

Sélection de l'esclave

Environ 1Mbit/s

RB -2002

49

SPI, SynchronousPeripheralInterface (Motorola)

Exemple :

•1 maître

•4 esclaves

RB -2002

50

SPI, SynchronousPeripheralInterface (Motorola)

RB -2002

51

SPI, SynchronousPeripheralInterface (Motorola)

Exemple d'implémentation sur uC68HC11

RB -2002

52

Interfaces séries

Bus 1-Wire, uLAN

Dallas-Maxim

RB -2002

53

1-W

ire, Dallas/Maxim

•Liaison série un fil en modulation largeur d'impulsion

•Collecteur ouvert

•Startbit pour chaque bit, fournit par maître

•~15 kbit/s

•50-600m

RB -2002

54

1-W

ire, Dallas/Maxim

•Exemple de circuit, EconoRAM(ancien circuit)

RB -2002

55

1-W

ire, Dallas

•Liaison série un fil en modulation largeur d'impulsion

•Collecteur ouvert

•Startbit pour chaque bit, fournit par maître

Ecriture

RB -2002

56

1-W

ire, Dallas

•Liaison série un fil en modulation largeur d'impulsion

•Collecteur ouvert

•Startbit pour chaque bit, fournit par maître

Lecture

RB -2002

57

Mémoire Dallas 1-W

ire

RB -2002

58

Mémoire Dallas 1-W

ire

Communication :

•par collecteur ouvert

•synchronisation par bit

•activation startpar maître

RB -2002

59

Interfaces séries

Réalisation de la

fonction collecteur

ouvert avec un port //

programmable

RB -2002

60

Collecteur ouvert sur port //

�Modèle d'un collecteur ouvert

RB -2002

61

Collecteur ouvert sur port //

�Modèle d'un collecteur ouvert sur un port d'un

interface programmable

�Utilisation de la direction du bit :

�entrée �'Z'

�Sortie '0' �

'0'

RB -2002

62

Collecteur ouvert sur port // 68331

PFPAR : Choix du mode (IRQ

�Port parallèle)

DDRF :

Sens du port

PortF:

Donnée du port

RB -2002

63

Collecteur ouvert sur port //

; Macros pour mettrela lignePortFbit 7 à "0" ou"Z"

IOZ: MACRO

bClr.b#7,DDRF

; en entrée �Z

ENDM