MIL-STD-1553

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

MIL-STD-1553 est une norme décrivant un bus de communication largement utilisé en avionique militaire. Elle a également été adoptée par l'OTAN sous l'appellation STANAG 3838.

Historique[modifier | modifier le code]

Elle a été développée sous l'égide du DoD américain à partir de 1968. La première version MIL-STD-1553A a été publiée le 30 avril 1975. La version actuelle est la MIL-STD-1553B datant du 21 septembre 1978.

Couche physique[modifier | modifier le code]

Topologie[modifier | modifier le code]

Le MIL-STD-1553 décrit un bus de données série multiplexé (half-duplex). La connexion est réalisée par l'intermédiaire d'une paire torsadée blindée par bus.

Le standard définit la présence de deux bus (A et B) afin d'assurer la redondance, mais seulement un bus est actif à chaque instant.

Il y a trois types d'équipements connectés au bus :

  • Le gérant de bus ou « Bus Controller » (BC) qui orchestre les différents échanges sur le bus,
  • Les abonnés ou « Remote Terminal » (RT) qui utilisent le bus pour communiquer. Il peut il y en avoir jusqu'à 31 (limitation liée à l'adressage),
  • Les moniteurs de bus ou « Bus Monitor » (BM) qui écoutent le bus. Il peut y en avoir plusieurs ou aucun.
Topologie d'un bus MIL-STD-1553

Support[modifier | modifier le code]

Chaque paire blindée doit répondre à plusieurs caractéristiques[1] :

  • La capacité entre les 2 fils ne doit pas excéder 30 pF/ft (soit 98,4 pF/m),
  • Le nombre de torsions (rotation de 360° des 2 fils) ne doit pas être inférieur à 4/ft (soit 13/m),
  • L'impédance caractéristique (Z0) doit être comprise entre 70 Ω et 85 Ω pour une fréquence sinusoïdale de 1 MHz,
  • L'atténuation ne doit pas excéder 1,5 dB/100ft (soit 4,92 dB/100m),
  • Le blindage du câble doit couvrir plus de 75 % de ce dernier.
  • Les 2 extrémités du câble doivent être « bouchées » par des résistances égales à l'impédance caractéristique du câble Z0 ±2 %.
Bouchon en extrémité d'une paire blindée d'un bus MIL-STD-1553

Encodage des bits[modifier | modifier le code]

L'encodage utilisé est de type Manchester II biphasé :

Encodage d'un bit MIL-STD-1553

Niveaux électriques[modifier | modifier le code]

Les niveaux électriques dépendent du couplage utilisé, avec un transformateur ou en direct, et sont différents en émission ou en réception.

Voir ces paramètres spécifiques dans les paragraphes liés au couplage.

Temps et vitesse[modifier | modifier le code]

La vitesse de transmission est de 1 Mbit/s[2] :

  • La stabilité à court terme (< 1 s) doit être inférieure à 0,01 %,
  • La stabilité à long terme doit être inférieure à 0,1 %,
  • Les temps de montée, de descente ainsi que la durée du demi-bit dépendent si le terminal est en réception (lecture) ou s'il est en émission (écriture) sur le bus.
Temps caractéristiques d'un bit MIL-STD-1553
Mode Bit rate 1bit time 1/2bit time Fall/Rise time
Réception 1 MHz ± 0,01 % 1 µs ± 150 ns 0,5 µs ± 150 ns Le signal peut être sinusoïdal
Émission 1 µs ± 25 ns 0,5 µs ± 25 ns de 100 à 300 ns

Couplages[modifier | modifier le code]

Couplage en direct[modifier | modifier le code]

Couplage en direct d'un équipempent sur un bus MIL-STD-1553

Ce couplage impose diverses contraintes :

  • Le blindage du coupleur doit être connecté aux blindages du bus,
  • Toutes les jonctions de bus doivent être recouvertes par le blindage de manière continue à plus de 75 %,
  • Des résistances d'isolement doivent être placés entre le bus et le terminal, au plus proche ou à l'intérieur du terminal, leur valeur doit être de R = 55Ω ± 2 %,
  • La longueur de la dérivation ne doit pas excéder Lmax = 1ft (soit 0,3048 m),
  • L'impédance en entrée du terminal soumis à un signal carré de fréquence comprise entre 75 kHz et 1 MHz doit être supérieure à 2kΩ,
  • Le rapport du transformateur d'isolation doit être de Ni = 1:1,
  • Les niveaux électriques entre les 2 lignes (A et B) de la paire blindée doivent être les suivants :
Niveau Ligne A <> Ligne B
En réception
Ligne A <> Ligne B
En émission
HIGH de +1,2 V à +20 V de +6 V à +9 V
LOW de -20 V à -1,2 V de -9 V à -6 V

Couplage par transformateur[modifier | modifier le code]

Couplage via un transformateur d'un équipempent sur un bus MIL-STD-1553

Ce couplage impose diverses contraintes :

  • Le blindage du coupleur doit être connecté aux blindages du bus,
  • Toutes les jonctions de bus doivent être recouvertes par le blindage de manière continue à plus de 75 %,
  • Des résistances d'isolement doivent être placés entre le bus et le transformateur de couplage, leur valeur doit être de R = 0,75 x (Z0) ± 2 %,
  • Le rapport du transformateur de couplage doit être de Nc = 1:1,41 ±3 %, le plus grand nombre de spires est du côté des résistances d'isolement (autrement dit, transformateur abaisseur du point de vue du terminal),
  • L'impédance de sortie en circuit ouvert du transformateur de couplage soumis à un sinusoïde de tension 1 V (RMS) et de fréquence comprise entre 75 kHz et 1 MHz doit être supérieure à 3kΩ,
  • Le taux de réjection de mode commun du transformateur de couplage doit être supérieur à 45dB à 1 MHz,
  • La longueur de la dérivation ne doit pas excéder Lmax = 20ft (6,09 m),
  • L'impédance en entrée du terminal soumis à un signal carré de fréquence comprise entre 75 kHz et 1 MHz doit être supérieure à 1kΩ,
  • Le rapport du transformateur d'isolation doit être de Ni = 1:1.
  • Les niveaux électriques entre les 2 lignes (A et B) de la paire blindée doivent être les suivants :
Niveau Ligne A <> Ligne B
En réception
Ligne A <> Ligne B
En émission
HIGH de +0,86 V à +14 V de +18 V à +27 V
LOW de -14 V à -0,86 V de -27 V à -18 V

Couche liaison de données[modifier | modifier le code]

Mots[modifier | modifier le code]

Structure d'un mot MIL-STD-1553

Les mots de 16 bits sont encapsulés dans 20 bits décomposables en trois parties[3] :

  • Les bits 1 à 3 premiers servent de synchronisation,
  • Les bits 4 à 19 (16 bits) composent le mot proprement dit,
  • Le bit 20 est un bit de parité.

Ordre de transmission des bits[modifier | modifier le code]

Dans un mot, les bits sont transmis en commençant par le bit nommé "bit time n°1" de poids fort, les autres suivent par ordre de force décroissante (bit time no 2, bit time no 3, ...) jusqu'au bit time no 20[4].

De la même manière, si une donnée est codée sur plus de 16 bits, et qu'on doit utiliser plusieurs mots pour la transmettre, c'est le mot contenant les bits de poids forts qui doit être émis en premier.

Synchronisation[modifier | modifier le code]

La synchronisation est réalisée par une violation du code Manchester sur les premiers 3 bits de la trame.

Elle consiste à placer le bus au niveau HIGH pendant le temps équivalent à 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).

Parité[modifier | modifier le code]

Le bit de parité est utilisé pour vérifier que le mot n'a pas été altéré pendant la transmission[5].

La parité est définie comme étant impaire (odd). Si le nombre de bits d'Information à "1" est paire, le bit de parité sera à "1". À l'inverse si ce nombre est impaire il sera mis à "0".

Ce mécanisme simpliste ne permet pas de se prémunir contre l'altération de 2 bits puisque dans ce cas on retombe sur la parité impaire.

Mot de commande[modifier | modifier le code]

Mot de commande MIL-STD-1553
Sync[modifier | modifier le code]

La synchronisation forme un « front descendant ».

RT address[modifier | modifier le code]

Ce champ permet d'adresser le mot à un terminal en particulier, chaque terminal ayant une adresse unique. Les 5 bits permettent 32 adresses, cependant l'adresse « 11111 » est réservée pour contacter l'ensemble des terminaux (« broadcast »), c'est pourquoi il ne peut il y avoir que 31 terminaux connectés au bus.

T/R (Transmit/Receive)[modifier | modifier le code]

Si le bit vaut :

  • 0 → on prévient le terminal qu'il doit recevoir des données.
  • 1 → on demande au terminal d'envoyer des données.
Sub-address or mode[modifier | modifier le code]

Les 5 bits permettent 32 combinaisons :

  • les combinaisons « 00000 » et « 11111 » sont réservées comme « mode » et permettent de dire au terminal que le champ « Data word count or mode code » doit être interprêté comme un « mode code »,
  • les 30 autres sont interprêtées comme « Subaddress » et permettent de s'adresser à un des 30 sous-ensembles que peut compter un terminal.
Data word count or mode code[modifier | modifier le code]
Data word count[modifier | modifier le code]

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 32 valeurs, c'est pourquoi il ne peut il y avoir plus de 32 mots de données envoyées à la suite dans un seul échange.

Mode code[modifier | modifier le code]

Pour les combinaisons :

  • de « 00000 » à « 01111 » ne nécessitent pas de réponse du terminal, mais le bit « T/R » doit être placé à 1,
  • de « 10000 » à « 11111 » nécessitent une réponse composée d'un seul mot de données de la part du terminal.
Mode code Fonction Bit T/R Broadcast
autorisé?
Détail
00000 Dynamic bus control 1 Non Le terminal doit répondre par un mot de statut en plaçant le bit 18 (« Dynamic bus acceptance flag »):
« 1 » pour accepter le test,
« 0 » pour refuser ou si la fonction n'est pas implémentée).
00001 Synchronise (without response) 1 Oui Le terminal doit se synchroniser (reset de l'horloge interne et/ou lancement d'une séquence de synchronisation) et répondre par un mot de statut.
00010 Transmit status word 1 Non Le terminal doit renvoyer le dernier mot de statut qu'il a précédemment transmis.
00011 Initiate self test 1 Oui Le terminal doit initier une séquence de test et répondre par un mot de statut.
00100 Transmitter shutdown 1 Oui Le contrôleur ne doit envoyer cette commande au terminal que sur un des 2 bus redondés.
Le terminal doit inhiber son transmetteur sur l'autre bus et répondre par un mot de statut sur le bus resté actif.
00101 Override transmitter shutdown 1 Oui Annule la commande « transmitter shutdown ».
Le terminal doit répondre par un mot de statut.
00110 Inhibit terminal flag bit 1 Oui Le terminal doit placer le bit 19 (« Terminal flag ») à « 0 » dans les mots de statut qu'il renvoie (afin d'inhiber le fait qu'il soit en défaut) et doit répondre par un mot de statut.
00111 Override inhibit terminal flag bit 1 Oui Annule la commande « inhibit terminal flag bit ».
Le terminal doit répondre par un mot de statut.
01000 Reset remote terminal 1 Oui Après avoir transmis un mot de statut, le terminal doit se réinitialiser.
10000 Transmit vector word 1 Non Le terminal doit répondre par un mot de statut, puis transmettre un mot de données contenant l'information « service request information » lorsque le bit du mot de statut éponyme n'est pas suffisant.
10001 Synchronise (with response) 0 Oui En plus du mot de commande, le terminal reçoit un mot de données qui contient des informations liées à la synchronisation.
Le terminal doit se synchroniser (reset de l'horloge interne et/ou lancement d'une séquence de synchronisation) et répondre par un mot de statut.
10010 Transmit last command 1 Non Le terminal doit répondre par un mot de statut, puis transmettre un mot de données contenant l'information les bits 4 à 19 du dernier mot de commande reçu.
10011 Transmit BIT word 1 Non Le terminal doit répondre par un mot de statut, puis transmettre un mot de données contenant le résultat 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 redondés et supérieur à 2. Le numéro du bus sur lequel il faut inhiber le transmetteur est contenu dans le mot de données qui suit la commande.
Le terminal doit répondre par un mot de statut.
10101 Override selected transmitter shutdown 0 Oui Annule la commande « selected transmitter shutdown ». Le numéro du bus sur lequel il faut désinhiber le transmetteur est contenu dans le mot de données qui suit la commande.
Le terminal doit répondre par un mot de statut.

Mot de données[modifier | modifier le code]

Mot de données MIL-STD-1553
Sync[modifier | modifier le code]

La synchronisation forme un « front montant ».

Data[modifier | modifier le code]

Ce champ correspond à la donnée codée sur 16 bits.

Mot d'état[modifier | modifier le code]

Mot d'état MIL-STD-1553
Sync[modifier | modifier le code]

Idem que pour le mot de commande, la synchronisation forme un « front descendant ».

RT address[modifier | modifier le code]

Idem que pour le mot de commande.

Message error[modifier | modifier le code]

Doit être placé à 1 pour signaler qu'un mot de données de la trame reçue n'était pas conforme (parité, nombre de bits, …) ou que la commande reçue n'est pas conforme.

Instrumentation[modifier | modifier le code]

Doit être placé à 0 dans la majorité des cas. Il peut être utilisé pour différencier les mots de statut des mots de commande.

Service request[modifier | modifier le code]

Permet au terminal de spécifier qu'il attend une action spécifique définie à l'avance de la part du contrôleur en plaçant le bit à 1.

Broadcast command received[modifier | modifier le code]

Doit être placé à 1 pour signaler que la commande précédente était de type « broadcast ».

Busy[modifier | modifier le code]

Doit être placé à 1 par le terminal pour dire qu'il est incapable de traiter les données reçues.

Subsystem flag[modifier | modifier le code]

Doit être placé à 1 si le terminal souhaite déclarer qu'un de ses sous-systèmes est en panne et que les données ne pourront « peut-être » pas être traitées correctement.

Dynamic bus acceptance flag[modifier | modifier le code]

Permet de répondre à la commande « Dynamic bus control » en plaçant le bit à 1.

Terminal flag[modifier | modifier le code]

Doit être placé à 1 si le terminal souhaite se déclarer en défaut. Doit être inihibé (placé à 0) si le terminal reçoit commande « Inihibit terminal flag bit ».

Trames[modifier | modifier le code]

Les trames sont composées d'échanges de mots entre le BC et les RTs.

Lorsqu'un même BC ou RT transmet plusieurs mots qui se suivent, il n'y a pas d'espacement ou de gap entre eux.

Le temps de réponse à un mot d'un RT doit être compris entre 4 μs et 12 μs.

Le gap entre les trames doit être d'au moins 4 μs.

Pour les 2 temps cités ci-dessus, la durée est mesurée entre la transition HIGH/LOW du milieu du 20e bit du mot précédent et la transition HIGH/LOW du champ Sync du mot suivant (au milieu du 2e bit).

Le timeout de non-réponse est de 14 μs, en partant de la transition HIGH/LOW du milieu du 20e bit du dernier mot.

Si une nouvelle commande est reçue avant que le RT n'ait répondu à la ou aux précédentes, la dernière reçue prévaut sur toutes les autres.

Transfert BC → RT[modifier | modifier le code]

Déroulement :

Transfert BC → RT sur un bus MIL-STD-1553

Transfert RT → BC[modifier | modifier le code]

Déroulement :

Transfert RT → BC sur un bus MIL-STD-1553

Transfert RT → RT[modifier | modifier le code]

Déroulement :

Transfert RT → RT sur un bus MIL-STD-1553

Echanges « mode code »[modifier | modifier le code]

Les échanges se font sur le même principe que les transferts, avec ou sans données.

Echanges « broadcast »[modifier | modifier le code]

Les échanges se font sur le même principe que les transferts, sauf qu'il n'y a pas de mot d'état à la fin envoyé par un RT, ceci afin d'éviter que tous les RTs tente de le faire simultanément.

Exemple d'un transfert RT → BC[modifier | modifier le code]

L'image ci-dessous donne un exemple des concepts expliqués dans les sections précédentes.

Ainsi on peut voir une demande de transmission (puisque le bit 6 ou T en violet est à 1 dans le mot de commande) faite au RT adressé avec le numéro 0x03.

Les derniers 5 bits (verts) du mot de commande contiennent le nombre de mots à transmettre par le RT, ici 0x01, ce qui correspond effectivement au mot de données (en turquoise, valeur 0x02) unique suivant le mot d'état.

On remarque la différence d'amplitude du signal entre la demande du BC et la réponse du RT. Cette différence est à mettre sur le compte de la position de l'observation électrique sur le bus. Nous sommes ici plus loin du BC que du RT. Le BC est donc reçu avec une amplitude moindre que le RT.

Exemple pour un Transfer RT à BC, avec un mot de données

Avantages/Inconvénients[modifier | modifier le code]

Avantages[modifier | modifier le code]

  • Il est déterministe puisque qu'il possède un gérant de bus,
  • Il est robuste aux perturbations,
  • Le mécanisme du mot d'état permet à l'équipement destinataire de vérifier que le transfert a bien été réalisé,
  • Il existe un manuel définissant les modalités d'implantation, de qualification et de test : MIL-HDBK-1553.

Inconvénients[modifier | modifier le code]

  • Dans l'avionique moderne, il commence à montrer ses limites de par son relatif faible débit et ses possibilités d'adressage,
  • Il n'y a pas de somme de contrôle (hormis la parité) permettant de vérifier l'intégrité de données,
  • Complexité du couplage sur le bus,
  • Les transitions liées à l'encodage Manchester II biphasé entraîne un spectre fréquentiel élevé pouvant perturber d'autres équipements si le blindage n'est pas suffisant.

Anecdotes[modifier | modifier le code]

  • L'adresse des RT est lue une seule fois lors de leur mise sous tension. Cette règle est la conséquence de pertes d'adresse survenues dans les premières version du bus. Ces pertes d'adresse étaient dues aux vibrations engendrées par l'usage des armes de bord sur des hélicoptères de combat.
  • Ce bus est utilisé dans le métro londonien[6].
  • Ce bus est utilisé dans certains satellites de télécommunication et d'observation.

Références[modifier | modifier le code]

  1. corot p33/34
  2. corot p5
  3. corot p5/6
  4. corot p3
  5. corot p8
  6. corot p1

Liens externes[modifier | modifier le code]