Upload
ayoub-ayay
View
3
Download
0
Embed Size (px)
DESCRIPTION
BUS de terrain
Citation preview
1
BITBUSPrésentation
Patrick MONASSIERUniversité Lyon 1 France
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
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
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
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
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*
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
26
BitBusFormat du message (données)
Réponses possibles de l'esclave
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
28
BitBusLa tâche RAC
Remote Access and Control
Liste des commandes intégrées dans la Tâche RAC
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
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é
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
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
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
34
BitBus Connectique
35
BitBus Connectique
Cartes, boîtiers et connectique
Répéteur
PC 104
PCI
http://www.bitbus.org
36
BitBus Connectique
Accès BitBus
Fond de panier
Cartes entrées / sortieset autres …
Station en châssis
37
Patrick MONASSIERUniversité Lyon 1 France
Fin de présentation
Merci de votre attention