MIL-STD-1553
est une
norme
decrivant un bus de communication largement utilise en
avionique
militaire et spatiale
[
1
]
.
Elle a egalement ete adoptee par l'
OTAN
sous l'appellation
STANAG
3838.
Elle a ete developpee sous l'egide du
DoD
americain a partir de 1968. La premiere version MIL-STD-1553A a ete publiee le
. La version actuelle est la MIL-STD-1553B datant du
.
Le MIL-STD-1553 decrit un bus de donnees
serie
multiplexe (half-duplex)
. La connexion est realisee par l'intermediaire d'une
paire torsadee blindee
par bus.
Le standard definit la presence de deux bus (A et B) afin d'assurer la redondance, mais seulement un bus est actif a chaque instant.
Il y a trois types d'equipements connectes au bus :
- Le gerant de bus ou ≪ Bus Controller ≫ (BC) qui orchestre les differents echanges sur le bus
,
- Les abonnes ou ≪ Remote Terminal ≫ (RT) qui utilisent le bus pour communiquer. Il peut y en avoir jusqu'a 31 (limitation liee a l'adressage)
,
- Les moniteurs de bus ou ≪ Bus Monitor ≫ (BM) qui ecoutent le bus. Il peut y en avoir plusieurs ou aucun
.
Topologie d'un bus MIL-STD-1553
Chaque paire blindee doit repondre a plusieurs caracteristiques
[
2
]
:
- La capacite entre les 2 fils ne doit pas exceder 30
pF/ft
(soit 98,4
pF/m
),
- Le nombre de torsions (rotation de 360° des 2 fils) ne doit pas etre inferieur a 4/ft (soit 13/m),
- L'
impedance caracteristique
(Z
0
) doit etre comprise entre 70
Ω
et 85
Ω
pour une frequence sinusoidale de 1
MHz
,
- L'attenuation ne doit pas exceder 1,5
dB/100ft
(soit 4,92
dB/100m
),
- Le blindage du cable doit couvrir plus de 75 % de ce dernier.
- Les 2 extremites du cable doivent etre ≪ bouchees ≫ par des resistances egales a l'
impedance caracteristique
du cable Z
0
±2 %.
Bouchon en extremite d'une paire blindee d'un bus MIL-STD-1553
L'encodage utilise est de type
Manchester II biphase
:
Encodage d'un bit MIL-STD-1553
Les niveaux electriques dependent du couplage utilise, avec un transformateur ou en direct, et sont differents en emission ou en reception.
Voir ces parametres specifiques dans les paragraphes lies au
couplage
.
La vitesse de transmission est de 1
Mbit/s
[
3
]
:
- La stabilite a court terme (< 1
s
) doit etre inferieure a 0,01 %,
- La stabilite a long terme doit etre inferieure a 0,1 %,
- Les temps de montee, de descente ainsi que la duree du demi-bit dependent si le terminal est en reception (lecture) ou s'il est en emission (ecriture) sur le bus.
Temps caracteristiques d'un bit MIL-STD-1553
Mode
|
Bit rate
|
1bit time
|
1/2bit time
|
Fall/Rise time
|
Reception
|
1
MHz
± 0,01 %
|
1
μs
± 150
ns
|
0,5
μs
± 150
ns
|
Le signal peut etre sinusoidal
|
Emission
|
1
μs
± 25
ns
|
0,5
μs
± 25
ns
|
de 100 a 300
ns
|
Couplage en direct d'un equipempent sur un bus MIL-STD-1553
Ce couplage impose diverses contraintes :
- Le blindage du coupleur doit etre connecte aux blindages du bus,
- Toutes les jonctions de bus doivent etre recouvertes par le blindage de maniere continue a plus de 75 %,
- Des resistances d'isolement doivent etre places entre le bus et le terminal, au plus proche ou a l'interieur du terminal, leur valeur doit etre de R = 55Ω ± 2 %,
- La longueur de la derivation ne doit pas exceder Lmax = 1ft (soit 0,304 8
m
),
- L'impedance en entree du terminal soumis a un signal carre de frequence comprise entre 75
kHz
et 1
MHz
doit etre superieure a 2kΩ,
- Le rapport du transformateur d'isolation doit etre de Ni = 1:1,
- Les niveaux electriques entre les 2 lignes (A et B) de la paire blindee doivent etre les suivants :
Niveau
|
Ligne A <> Ligne B
En reception
|
Ligne A <> Ligne B
En emission
|
HIGH
|
de +1,2
V
a +20
V
|
de +6
V
a +9
V
|
LOW
|
de -20
V
a -1,2
V
|
de -9
V
a -6
V
|
Couplage via un transformateur d'un equipempent sur un bus MIL-STD-1553
Ce couplage impose diverses contraintes :
- Le blindage du coupleur doit etre connecte aux blindages du bus,
- Toutes les jonctions de bus doivent etre recouvertes par le blindage de maniere continue a plus de 75 %,
- Des resistances d'isolement doivent etre places entre le bus et le transformateur de couplage, leur valeur doit etre de R = 0,75 x (Z0) ± 2 %,
- Le rapport du transformateur de couplage doit etre de Nc = 1:1,41 ±3 %, le plus grand nombre de spires est du cote des resistances d'isolement (autrement dit, transformateur abaisseur du point de vue du terminal),
- L'impedance de sortie en circuit ouvert du transformateur de couplage soumis a une sinusoide de tension 1
V
(RMS) et de frequence comprise entre 75
kHz
et 1
MHz
doit etre superieure a 3kΩ,
- Le taux de rejection de mode commun du transformateur de couplage doit etre superieur a 45dB a 1
MHz
,
- La longueur de la derivation ne doit pas exceder Lmax = 20ft (6,09
m
),
- L'impedance en entree du terminal soumis a un signal carre de frequence comprise entre 75
kHz
et 1
MHz
doit etre superieure a 1kΩ,
- Le rapport du transformateur d'isolation doit etre de Ni = 1:1.
- Les niveaux electriques entre les 2 lignes (A et B) de la paire blindee doivent etre les suivants :
Niveau
|
Ligne A <> Ligne B
En reception
|
Ligne A <> Ligne B
En emission
|
HIGH
|
de +0,86
V
a +14
V
|
de +18
V
a +27
V
|
LOW
|
de -14
V
a -0,86
V
|
de -27
V
a -18
V
|
Structure d'un mot MIL-STD-1553
Les mots de 16 bits sont encapsules dans 20 bits decomposables en trois parties
[
4
]
:
- Les bits 1 a 3 premiers servent de
synchronisation
,
- Les bits 4 a 19 (16 bits) composent le mot proprement dit,
- Le bit 20 est un bit de
parite
.
Dans un mot, les bits sont transmis en commencant par le bit nomme "bit time n°1" de poids fort, les autres suivent par ordre de force decroissante (bit time
n
o
2, bit time
n
o
3, etc.) jusqu'au bit time
n
o
20
[
5
]
.
De la meme maniere, si une donnee est codee sur plus de 16 bits, et qu'on doit utiliser plusieurs mots pour la transmettre, c'est le mot contenant les bits de poids fort qui doit etre emis en premier.
La synchronisation est realisee par une violation du code Manchester sur les premiers 3 bits de la trame.
Elle consiste a placer le bus au niveau HIGH pendant le temps equivalent a 1,5 bit puis au niveau LOW durant le 1,5 bit restant (≪ front descendant ≫), ou inversement (≪ front montant ≫) en fonction du type de mot (voir ci-dessous).
Le
bit de parite
est utilise pour verifier que le mot n'a pas ete altere pendant la transmission
[
6
]
.
La parite est definie comme etant
impaire (odd)
.
Si le nombre de bits d'Information a "1" est paire, le bit de parite sera a "1". A l'inverse si ce nombre est impaire il sera mis a "0".
Ce mecanisme simpliste ne permet pas de se premunir contre l'alteration de 2 bits puisque dans ce cas on retombe sur la parite impaire.
Mot de commande MIL-STD-1553
La
synchronisation
forme un ≪ front descendant ≫.
Ce champ permet d'adresser le mot a un terminal en particulier, chaque terminal ayant une adresse unique.
Les 5 bits permettent 32 adresses, cependant l'adresse ≪ 11111 ≫ est reservee pour contacter l'ensemble des terminaux (≪ broadcast ≫), c'est pourquoi il ne peut il y avoir que 31 terminaux connectes au bus.
Si le bit vaut :
- 0 → on previent le terminal qu'il doit recevoir des donnees.
- 1 → on demande au terminal d'envoyer des donnees.
Les 5 bits permettent 32 combinaisons :
- les combinaisons ≪ 00000 ≫ et ≪ 11111 ≫ sont reservees comme ≪ mode ≫ et permettent de dire au terminal que le champ ≪ Data word count or mode code ≫ doit etre interprete comme un ≪ mode code ≫,
- les 30 autres sont interpretees comme ≪ Subaddress ≫ et permettent de s'adresser a un des 30 sous-ensembles que peut compter un terminal.
Il s'agit :
- du nombre de mots que va recevoir le terminal si ≪ T/R ≫ vaut 0,
- du nombre de mots que doit envoyer le terminal si ≪ T/R ≫ vaut 1.
Les 5 bits permettent d'envoyer de 1 a 32 donnees, la valeur 0 correspond a 32 mots de donnees envoyees. Il ne peut pas y avoir plus de 32 mots de donnees envoyees a la suite dans un seul echange.
Pour les combinaisons :
- de ≪ 00000 ≫ a ≪ 01111 ≫ ne necessitent pas de reponse du terminal, mais le bit ≪ T/R ≫ doit etre place a 1,
- de ≪ 10000 ≫ a ≪ 11111 ≫ necessitent une reponse composee d'un seul mot de donnees de la part du terminal.
Mode code
|
Fonction
|
Bit T/R
|
Broadcast
autorise?
|
Detail
|
00000
|
Dynamic bus control
|
1
|
Non
|
Le terminal doit repondre par un mot de statut en placant le bit 18 (≪ Dynamic bus acceptance flag ≫) :
≪ 1 ≫ pour accepter le test,
≪ 0 ≫ pour refuser (ou si la fonction n'est pas implementee).
|
00001
|
Synchronise (without data word)
|
1
|
Oui
|
Le terminal doit se synchroniser (reset de l'horloge interne et/ou lancement d'une sequence de synchronisation) et repondre par un mot de statut.
|
00010
|
Transmit status word
|
1
|
Non
|
Le terminal doit renvoyer le dernier mot de statut qu'il a precedemment transmis.
|
00011
|
Initiate self test
|
1
|
Oui
|
Le terminal doit initier une sequence de test et repondre par un mot de statut.
|
00100
|
Transmitter shutdown
|
1
|
Oui
|
Le controleur ne doit envoyer cette commande au terminal que sur un des 2 bus redondes.
Le terminal doit inhiber son transmetteur sur l'autre bus et repondre par un mot de statut sur le bus reste actif.
|
00101
|
Override transmitter shutdown
|
1
|
Oui
|
Annule la commande ≪ transmitter shutdown ≫.
Le terminal doit repondre par un mot de statut.
|
00110
|
Inhibit terminal flag bit
|
1
|
Oui
|
Le terminal doit placer le bit 19 (≪ Terminal flag ≫) a ≪ 0 ≫ dans les mots de statut qu'il renvoie (afin d'inhiber le fait qu'il soit en defaut) et doit repondre par un mot de statut.
|
00111
|
Override inhibit terminal flag bit
|
1
|
Oui
|
Annule la commande ≪ inhibit terminal flag bit ≫.
Le terminal doit repondre par un mot de statut.
|
01000
|
Reset remote terminal
|
1
|
Oui
|
Apres avoir transmis un mot de statut, le terminal doit se reinitialiser.
|
10000
|
Transmit vector word
|
1
|
Non
|
Le terminal doit repondre par un mot de statut, puis transmettre un mot de donnees contenant l'information ≪ service request information ≫ lorsque le bit du mot de statut eponyme n'est pas suffisant.
|
10001
|
Synchronise (with data word)
|
0
|
Oui
|
En plus du mot de commande, le terminal recoit un mot de donnees qui contient des informations liees a la synchronisation.
Le terminal doit se synchroniser (reset de l'horloge interne et/ou lancement d'une sequence de synchronisation) et repondre par un mot de statut.
|
10010
|
Transmit last command
|
1
|
Non
|
Le terminal doit repondre par un mot de statut, puis transmettre un mot de donnees contenant l'information les bits 4 a 19 du dernier mot de commande recu.
|
10011
|
Transmit BIT word
|
1
|
Non
|
Le terminal doit repondre par un mot de statut, puis transmettre un mot de donnees contenant le resultat du BIT (Built In Test) si le terminal contient un telle fonction.
|
10100
|
Selected transmitter shutdown
|
0
|
Oui
|
Idem que la commande ≪ transmitter shutdown ≫, mais lorsque le nombre de bus redondes est superieur a 2. Le numero du bus sur lequel il faut inhiber le transmetteur est contenu dans le mot de donnees qui suit la commande.
Le terminal doit repondre par un mot de statut.
|
10101
|
Override selected transmitter shutdown
|
0
|
Oui
|
Annule la commande ≪ selected transmitter shutdown ≫. Le numero du bus sur lequel il faut desinhiber le transmetteur est contenu dans le mot de donnees qui suit la commande.
Le terminal doit repondre par un mot de statut.
|
Mot de donnees MIL-STD-1553
La
synchronisation
forme un ≪ front montant ≫.
Ce champ correspond a la donnee codee sur 16 bits.
Mot d'etat MIL-STD-1553
Idem que pour le
mot de commande
, la
synchronisation
forme un ≪ front descendant ≫.
Idem que pour le
mot de commande
.
Doit etre place a 1 pour signaler qu'un mot de donnees de la trame recue n'etait pas conforme (parite, nombre de bits, etc.) ou que la commande recue n'est pas conforme.
Doit etre place a 0 dans la majorite des cas. Il peut etre utilise pour differencier les mots de statut des mots de commande.
Permet au terminal de specifier qu'il attend une action specifique definie a l'avance de la part du controleur en placant le bit a 1.
Doit etre place a 1 pour signaler que la commande precedente etait de type ≪ broadcast ≫.
Doit etre place a 1 par le terminal pour dire qu'il est incapable de traiter les donnees recues.
Doit etre place a 1 si le terminal souhaite declarer qu'un de ses sous-systemes est en panne et que les donnees ne pourront ≪ peut-etre ≫ pas etre traitees correctement.
Permet de repondre a la commande ≪ Dynamic bus control ≫ en placant le bit a 1.
Doit etre place a 1 si le terminal souhaite se declarer en defaut. Doit etre inhibe (place a 0) si le terminal recoit commande ≪ Inhibit terminal flag bit ≫.
Les trames sont composees d'echanges de mots entre le BC et les RTs.
Lorsqu'un meme BC ou RT transmet plusieurs mots qui se suivent, il n'y a pas d'espacement ou de gap entre eux.
Le temps de reponse a un mot d'un RT doit etre compris entre 4 μs et 12 μs.
Le gap entre les trames doit etre d'au moins 4 μs.
Pour les 2 temps cites ci-dessus, la duree est mesuree entre la transition HIGH/LOW du milieu du
20
e
bit du mot precedent et la transition HIGH/LOW du champ Sync du mot suivant (au milieu du
2
e
bit).
Le timeout de non-reponse est de 14 μs, en partant de la transition HIGH/LOW du milieu du
20
e
bit du dernier mot.
Si une nouvelle commande est recue avant que le RT n'ait repondu a la ou aux precedentes, la derniere recue prevaut sur toutes les autres.
Deroulement :
Transfert BC → RT sur un bus MIL-STD-1553
Deroulement :
Transfert RT → BC sur un bus MIL-STD-1553
Deroulement :
Transfert RT → RT sur un bus MIL-STD-1553
Les echanges se font sur le meme principe que les transferts, avec ou sans donnees.
Les echanges se font sur le meme principe que les transferts, sauf qu'il n'y a pas de mot d'etat a la fin envoye par un RT, ceci afin d'eviter que tous les RTs tentent de le faire simultanement.
L'image ci-dessous donne un exemple des concepts expliques dans les sections precedentes.
Ainsi on peut voir une
demande de transmission
(puisque le bit 6 ou T en violet est a 1 dans le
mot de commande
) faite au
RT
adresse avec le numero 0x03.
Les derniers 5 bits (verts) du
mot de commande
contiennent le nombre de mots a transmettre par le
RT
, ici 0x01, ce qui correspond effectivement au
mot de donnees
(en turquoise, valeur 0x02) unique suivant le
mot d'etat
.
On remarque la difference d'amplitude du signal entre la demande du
BC
et la reponse du
RT
. Cette difference est a mettre sur le compte de la position de l'observation electrique sur le bus. Nous sommes ici plus loin du
BC
que du
RT
. Le
BC
est donc recu avec une amplitude moindre que le
RT
.
Exemple pour un Transfer RT a BC, avec un mot de donnees
- Il est deterministe puisqu'il possede un gerant de bus,
- Il est robuste aux perturbations,
- Le mecanisme du
mot d'etat
permet a l'equipement destinataire de verifier que le transfert a bien ete realise,
- Il existe un manuel definissant les modalites d'implantation, de qualification et de test : MIL-HDBK-1553.
- Dans l'avionique moderne, il commence a montrer ses limites de par son relatif faible debit et ses possibilites d'adressage,
- Il n'y a pas de
somme de controle
(hormis la
parite
) permettant de verifier l'integrite de donnees,
- Complexite du couplage sur le bus,
- Les transitions liees a l'encodage
Manchester II biphase
entraine un spectre frequentiel eleve pouvant perturber d'autres equipements si le blindage n'est pas suffisant.
- L'adresse des RT est lue une seule fois lors de leur mise sous tension. Cette regle est la consequence de pertes d'adresse survenues dans les premieres versions du bus. Ces pertes d'adresse etaient dues aux vibrations engendrees par l'usage des armes de bord sur des helicopteres de combat.
- Ce bus est utilise dans le
metro londonien
[
7
]
.
- Ce bus est utilise dans certains satellites de telecommunication et d'observation
[
8
]
.
DIGIBUS
(ou
Digibus
) est l'equivalent francais de la norme MIL-STD-1553
[
9
]
Il est similaire a la norme MIL-STD-1553, il possede la meme notion de controleur de bus, de terminal distant, de moniteur et la meme vitesse de transmission.
La difference principale est que DIGIBUS separe physiquement les donnees et les commandes.
[1]
'
GJV289A
est l'equivalent chinois de la norme MIL-STD-1553 et GOST R 52070-2003 est l'equivalent russe / sovietique de MIL-STD-1553.
[2]