37
1 BITBUS Présentation Patrick MONASSIER Université Lyon 1 France

bitbus

Embed Size (px)

DESCRIPTION

BUS de terrain

Citation preview

Page 1: bitbus

1

BITBUSPrésentation

Patrick MONASSIERUniversité Lyon 1 France

Page 2: bitbus

2

BitBus

• Bitbus (IEEE...) a été créé par la Firme INTEL (USA) au début des années 1980

• Le controleur 8044 (à base de microcontroleur 8051) a été le principal circuit Bitbus d’INTEL.

• Bitbus est basé sur le concept d’intelligence répartie.

• La communication s’établit entre stations en liaison série, par échange de trames typées SDLC sur support RS485

• Les trames de Bitbus sont courtes, pour assurer un transport rapide de l’information

• L’architecture est du type maître / esclave

Intel a arrêté la production du i8044 et du i80152. Mais le 80152 est produit maintenant par KAWASAKI et INNOVASIC. BITBUS a par exemple été implémenté en utilisant des composants tels que le MC 68360

Présentation

8044

80152

Page 3: bitbus

3

BitBus

Maître

Topologie

Esclave

Esclave

Esclave

Esclave

Esclave

• Bitbus supporte jusqu’à 250 noeuds (ou stations)

• Le support physique est filaire, en mode différentiel (1 ou 2 paires), basé sur la norme RS485

Topologie Maître / Esclaves

Maître

Esclave

Esclave

Maître

Esclave Esclave

• BITBUS autorise 1 niveau supplémentaire de topologie Maître /Esclave

Esclave

Maître

Esclave

Page 4: bitbus

4

BitBus

2 options filaires:

- 2 paires en mode synchrone

- 1 paire en mode self clocked

• En mode synchrone, l’horloge et les données sont séparées, chacune sur une paire différentielle

• En mode self clock, l’horloge et les données sont transmises ensemble, en mode NRZI

• Les vitesses de transmission vont de 62,5 Kb/s à 2.4 Mb/s pour des distances de 1200 m à 30 m

DCLK

DATA DCLK

DATA DCLK

DATA

CLK &

DATA & CLK

DATA & CLK

DATA

Mode synchrone Mode self clock

Topologie

0 1

NRZI : Non Return to Zero Inverted

Codage bit NRZI

Page 5: bitbus

5

BitBusInterface en mode Synchrone

Le mode synchrone utilise deux signaux en mode différentiel :

Une paire de fils pour les données : DATA et DATA*

Une paire de fils pour le signal d’horloge : DCLK et DCLK*

Les données changent sur le front descendant de l’horloge

Les données sont lues sur le front montant de l’horloge

Le signal horloge est toujours généré par la station qui émet

Distance maxi: 30 mètres pour des vitesses allant de 500 Kb/s et 2,4 Mb/s

Chaque segment supporte jusqu’à 28 noeuds

Page 6: bitbus

6

BitBusInterface en mode Self Clock

Utilisé pour les grandes distances : 2 fréquences sont normaliseées - 375 Kb/s pour 300 mètres maxi - 62,5 Kb/s pour 1200 mètres maxi

Chaque segment supporte jusqu’à 28 noeuds

Un utilisant des répéteurs, on peut aller jusqu’à 250 nœuds

Un répéteur nécessite une seconde paire de fils différentielle : RTS et RTS*

Page 7: bitbus

7

BitBusInterface en mode Self Clock

0 1

NRZI : Non Return to Zero Inverted

Codage bit NRZI

La paire de fils RTS et RTS* est utilisée uniquement pour les sectionsavec répéteurs

Le codage NRZI combine les données et l’horloge sur le même signal

Page 8: bitbus

8

BitBusSchéma d’un répéteur

Le répéteur réalise ou non l’isolation électrique des segments, selon le besoin de l’application

Quand l’esclave répond, il retourne la polarité de la paire RTS / RTS*, ce qui retourne la direction de tous les répéteurs entre l’esclave et le maître.

Données Données

Direction Direction

Page 9: bitbus

9

BitBusCodage en Synchrone

Conventions du signal électrique : Signal actif 1 potentiel électrique haut nom: NAME

Signal inactif 0 potentiel électrique bas nom: NAME*

Les données changent sur le front descendant de l’horloge

Les données sont lues sur le front montant de l’horloge

Horloge

Données

Page 10: bitbus

10

BitBus

Données

Le principe du bit stuffing est utilisé après 5 bits consécutifs identiques

= =

Note :Le bit stuffing ne s’applique pas sur les entêtes et fins de trames codées : 0 1 1 1 1 1 1 0

Le récepteur se resynchronise sur le signal par un DPLL (Digital Phase Locked Loop) à fréquence de base x16

Codage en mode Self Clock

Page 11: bitbus

11

BitBus

Le codage NRZI est simple, mais attention, il n’y a pas de front de synchronisation si le code reste constament à 0 ou à 1

La station émettrice impose l’horloge du signal

La station réceptrice doit se cale sur l’horloge de l’émetteur

Signal 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 ……….

Il n’y a plus aucun front sur le signal pour resynchroniser l’horloge du récepteur. Il y a risque certain de dérive dans le temps.

C’est le codage NRZI qui est choisi pour BITBUS

Solution : le Bit Stuffing ou remplissage bit

NRZI 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 ……….

Ces bits sont ajoutés à l’émission puis seront retirés à la réception

Bit Stuffing en mode Self Clock

Note :Le bit stuffing ne s’applique pas sur les entêtes et fins de trames codées : 0 1 1 1 1 1 1 0

5 bits consécutifs 5 bits consécutifs

Page 12: bitbus

12

BitBusSpécifications du signal de transmission

Les transmetteurs doivent être dévalidés dans un temps compris entre 1 et 4 durées de bitsaprès l’indication (flag) de fin de trame.

Page 13: bitbus

13

BitBusSpécifications du récepteursignal horloge en mode synchrone

Temps de montée / descente du signal imposé : entre 25 ns et 100 ns

Les récepteurs doivent être à même de recevoir un signal de 500 Kb/s à 2,4 Mb/s

1 / 2,4e+06 417 ns

Page 14: bitbus

14

BitBusSpécifications de la paire signauxDATA – DCLK en mode synchrone

Spécifiquement, les transmetteurs pour les 2 signaux doivent physiquement être dans le même composant, les câbles de même type et de même longueur, avec la même charge.

200ns mini 200 ns mini

Il faut respecter des temps mini et maxi entre les signaux Horloge et Données

Page 15: bitbus

15

BitBusSpécifications du signal de donnéesen mode Self Clock

L’horloge est transmise par l’émetteur, en même temps que les données.

Le récepteur utilise une référence d’horloge différente pour retrouver les données.

La tolérance pour chacune des horloges doit être de +/- 1% pour les 2 vitesses de 375 Kb/s et 62,5 Kb/s

375 Kb/s 62,5 Kb/s

2,640 us min 15,84 us min2,693 us max 16,16 us max

tcell

tcell Données

Page 16: bitbus

16

BitBus

1 1 1 N 2 1

FLAG ADRESSE CONTROLE DONNEES CRC (FCS) FLAG

Octets

Format de trame

Le bit le moins significatif est transmis en tête de chaque octet ( LSB - Least Significant Bit )sauf pour le champ CRC où c’est l’inverse ( MSB – Most Significant Bit en premier )

0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0

Contient toujours l’adresse de l’esclave de 0 à 255

- Synchronisation- Supervision- Information

CRC sur 16 bitsX16 + X12 + X5 + 1

Unnumbered frames

Supervisory frames

Information frames

Trame

Page 17: bitbus

17

BitBusFormat de trame

CONTROLE

- Synchronisation- Supervision- Information

Unnumbered frames

Supervisory frames

Information frames

Trame

Unnumbered frames

Supervisory frames

Information frames

Le transfert de séquences de messages entre le maître et l’esclave Esclave synchronisé sur le maître

Réalisé par des trames Non Numérotées Champ Contrôle de la trame non numéroté

Utilisées pour l'administration du réseau Contrôle d'état des esclaves

Validation des trames émises par le maître Acquittement des trames par l'esclave

Echange de trames de données Echange de valeurs entre Maître/Esclave et inversement

Page 18: bitbus

18

BitBusChamp de contrôle

Maître

Maître

Esclave

Esclave

Une trame émise par le maître est toujours acquittée par l'esclave

1 1 1

Code d' opération

LSB (premier transmis)

OPERATION COMMANDE REPONSE VALEUR champ contrôle

SNRM X 93h - 1001 0011 DISC X 53h - 0101 0011 UA X 73h - 0111 0011 FRMR X 97h - 1001 0111

Trames Non Numérotées

SNRM Set Normal respone modeDISC DisconnectUA Unnumbered AcknowledgeFRMR Frame reject

Unnumbered frames

Supervisory frames

Information frames

Page 19: bitbus

19

BitBus

Etat de la sation esclave

DISC DisconnectNRM Normal Response ModeNDM Normal Disconnect ModeUA Unnumbered AcknowledgeFRMR Frame rejectSNRM Set Normal Response Mode

NDM

NRM

Autre

SNRM

Autre Reset

NON (RR ou RNR ou I)ou

erreur de protocole

Synchronisation

Unnumbered frames

Supervisory frames

Information frames

Page 20: bitbus

20

BitBus

Réponse de l'esclave en état NRM

FRMR I RR RNR

Trame reçuedu maître

Trame retournéepar l'esclave

L'esclave répond à une trame envoyée par le maître en respectant cet organigramme

Maître

Maître

Esclave

Esclave

Une trame émise par le maître est toujours acquittée par l'esclave

Synchronisation

Unnumbered frames

Supervisory frames

Information frames

FRMR Frame rejectI Information Frame RR Receiver ReadyRNR Receiver Not ready

Page 21: bitbus

21

BitBus

Station Maître Station Escalve

La réponse dépend de l'état de l'esclave

Toujours la même séquence

Synchronisation

DISC DisconnectNRM Normal Response ModeNDM Normal Disconnect ModeUA Unnumbered AcknowledgeFRMR Frame rejectSNRM Set Normal Response Mode

Exemple d'échange de synchronisation

Maître

Maître

Esclave

Esclave

Une trame émise par le maître est toujours acquittée par l'esclave

Unnumbered frames

Supervisory frames

Information frames

Page 22: bitbus

22

BitBusSupervision

Unnumbered frames

Supervisory frames

Information frames1 1

Numéro de séquence

LSB (premier transmis)

0 0

0 - RR1 - RNR

RR Receiver Ready RNR Receiver Not ready

Maître

Maître

Esclave

Esclave

Une trame émise par le maître est toujours acquittée par l'esclave

Page 23: bitbus

23

BitBusSupervision

RR L'esclave est prêt pour l'échange de données

RNR L'esclave n'est pas prêt à recevoir une trame

RR et RNR contiennent un Numéro de Séquence

1 1

Numéro de séquence Nr

LSB (premier transmis)

0 0

0 - RR1 - RNR

Le Numéro de séquence acquitte la trame reçue en Nr-1

En réception, Nr-1 est comparé à Ns - Numéro de séquence géré par le maître

Nr - Number Receiver Ns - Number Sender

En réception, si Nr = Ns + 1 : Echange correctNr = Ns : La trame est réémise

Unnumbered frames

Supervisory frames

Information frames

Page 24: bitbus

24

BitBus

1 0

Numéro de séquence Nr

LSB (premier transmis)

Numéro de séquence Ns

Unnumbered frames

Supervisory frames

Information frames

Exemple 1

Exemple 2

Exemple 3

Information

Page 25: bitbus

25

BitBus

1 N 2

CONTROLE DONNEES CRC (FCS)

Octets

Trame

N

1 octet

LENGTH - Longueur des données en octets (N)- Normalisé pour 20 - soit 13 données (1)- Extensible jusqu'à 255 - soit 248 données (1)- peut être inférieur à 20

(1) 2 octets gardé en réserve

MT MESSAGE TYPE - Order = 1 Replies 1SE SOURCE EXTENSION- Master device = 1 Master Extension = 0DE DESTINATION EXTENSION- Slave Device extension = 1 Slave Device = 0TR TRACK- sending messge = 1 Receiving Message = 0

NODE ADDRESS de 1 à 250 (adresse physique)

TASK identifie les tâches en communication

COMMAND / RESPONSE dialogue envoi / réponse

Format du message (données)

Entête

Données

Page 26: bitbus

26

BitBusFormat du message (données)

Réponses possibles de l'esclave

Page 27: bitbus

27

BitBusLes Commandes RAC

Remote Access and Control

Maître

Esclave

Esclave

Esclave

Esclave

Esclave

Intelligence répartie - Tâche RAC intégrée d'office par le protocole BitBus- Tâches utilisateur

Tâche RAC (Tâche N°1)

Jusqu'à 125 Tâches Utilisateur possibles (Tâches N° 80h à FEh)

Microcontrôleur esclave

Le microcontrôleur gère les tâches

Mise en sécurité si rupture du réseau

INTELLIGENCE REPARTIE

Page 28: bitbus

28

BitBusLa tâche RAC

Remote Access and Control

Liste des commandes intégrées dans la Tâche RAC

Page 29: bitbus

29

BitBusLa tâche RAC

Remote Access and Control 01 Reset Slave02 Create Task 03 Delete task

Station esclave

01 Reset

01 Create task

Active la tâche déjà contenue dans la mémoire de la station esclave

Le N° de tâche est passé en paramètre

02 Delete task

Désctive une tâche active

Le N° de tâche est passé en paramètre

Espace mémoire de lastation

TâchesPrésentesChaque tâche est identifiée par son N° de tâche

Page 30: bitbus

30

BitBusLa tâche RAC

Remote Access and Control 04 Get ID

04 Get ID - Identification des tâches

Retourne les N° de tâches présentes dans l'esclave interrogé

Page 31: bitbus

31

BitBusLa tâche RAC

Remote Access and Control 08 09 Memory Cde

08 / 09 Memroy Commands - Download- Upload

Ecrit ou lit des zones mémoires de l'esclave

Page 32: bitbus

32

BitBusLa tâche RAC

Remote Access and Control 05 06 070A 0B 0C I/O Commands05 06 07 &

0A 0B 0C I/O Commands- Read- Write- Update- OR- AND- XOR

Accès direct aux E/S physiques gérées par le microcontrôleur esclave

Page 33: bitbus

33

BitBusLa tâche RAC

Remote Access and Control 0D 0E Status Command

0D 0E Status Commands- Read- Write

Crée une zone d'échange Maître/Esclave en mémoire

Page 34: bitbus

34

BitBus Connectique

Page 35: bitbus

35

BitBus Connectique

Cartes, boîtiers et connectique

Répéteur

PC 104

PCI

http://www.bitbus.org

Page 36: bitbus

36

BitBus Connectique

Accès BitBus

Fond de panier

Cartes entrées / sortieset autres …

Station en châssis

Page 37: bitbus

37

Patrick MONASSIERUniversité Lyon 1 France

Fin de présentation

Merci de votre attention