MIL-STD-1553 est une norme décrivant un bus de communication largement utilisé en avionique militaire et spatialeESA MilBus Mil-STD-1553. Elle a également été adoptée par l'OTAN sous l'appellation STANAG 3838.
Historique
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 . La version actuelle est la MIL-STD-1553B datant du .
Couche physique
Topologie
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 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.
center|Topologie d'un bus MIL-STD-1553
Support
Chaque paire blindée doit répondre à plusieurs caractéristiquescorot p33/34 :
La capacité entre les 2 fils ne doit pas excéder (soit ), 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 et pour une fréquence sinusoïdale de , L'atténuation ne doit pas excéder (soit ), 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 %.
center|Bouchon en extrémité d'une paire blindée d'un bus MIL-STD-1553
Encodage des bits
L'encodage utilisé est de type Manchester II biphasé :
center|450px|Encodage d'un bit MIL-STD-1553
Niveaux électriques
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
La vitesse de transmission est de corot p5 : La stabilité à court terme (< ) 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.
center|Temps caractéristiques d'un bit MIL-STD-1553
ModeBit rate1bit time1/2bit timeFall/Rise timeRéception ± 0,01 % ± ± Le signal peut être sinusoïdalÉmission ± ± de 100 à
Couplages
Couplage en direct
center|250px|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 ), L'impédance en entrée du terminal soumis à un signal carré de fréquence comprise entre et 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 : NiveauLigne A <> Ligne BEn réceptionLigne A <> Ligne BEn émissionHIGHde + à +de + à +LOWde - à -de - à -
Couplage par transformateur
center|250px|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 à une sinusoïde de tension (RMS) et de fréquence comprise entre et doit être supérieure à 3kΩ, Le taux de réjection de mode commun du transformateur de couplage doit être supérieur à 45dB à , La longueur de la dérivation ne doit pas excéder Lmax = 20ft (), L'impédance en entrée du terminal soumis à un signal carré de fréquence comprise entre et 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 : NiveauLigne A <> Ligne BEn réceptionLigne A <> Ligne BEn émissionHIGHde + à +de + à +LOWde - à -de - à -
Couche liaison de données
Mots
center|Structure d'un mot MIL-STD-1553
Les mots de 16 bits sont encapsulés dans 20 bits décomposables en trois partiescorot p5/6 : 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
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 , bit time , etc.) jusqu'au bit time corot p3.
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 fort qui doit être émis en premier.
Synchronisation
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é
Le bit de parité est utilisé pour vérifier que le mot n'a pas été altéré pendant la transmissioncorot p8.
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
center|Mot de commande MIL-STD-1553
Sync
La synchronisation forme un « front descendant ».
RT address
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)
Si le bit vaut : 0 (R) → on prévient le terminal qu'il doit recevoir des données. 1 (T) → on demande au terminal d'envoyer des données.
Sub-address or mode
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
Data word count
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 à 32 données, la valeur 0 correspond à 32 mots de données envoyées. Il ne peut pas y avoir plus de 32 mots de données envoyées à la suite dans un seul échange.
Mode 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 Broadcastautorisé? 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 data word) 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 data word) 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 une telle fonction. 10100 Selected transmitter shutdown 0 Oui Idem que la commande « transmitter shutdown », mais lorsque le nombre de bus redondés est 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
center|Mot de données MIL-STD-1553
Sync
La synchronisation forme un « front montant ».
Data
Ce champ correspond à la donnée codée sur 16 bits.
Mot d'état (ou mot de statut)
center|Mot d'état MIL-STD-1553
Sync
Idem que pour le mot de commande, la synchronisation forme un « front descendant ».
RT address
Idem que pour le mot de commande.
Message error
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, etc.) ou que la commande reçue n'est pas conforme.
Instrumentation