ARINC 429 est une norme décrivant un format de données pour l'aéronautique. Elle décrit les fonctions, le support physique, et les interfaces électriques pour véhiculer les données numériques sur un avion. ARINC 429 est aujourd'hui le bus le plus répandu sur les systèmes avioniques complexes.
ARINC 429 décrit un bus de données unidirectionnel standard (transmission et réception sont sur des ports séparés) connu comme le Mark 33 Digital Information Transfer System (DITS). La connexion est réalisée par l'intermédiaire d'une paire torsadée blindée.
Pour faire communiquer 2 équipements ensembles de manière symétrique, il faut utiliser 2 bus montés tête-bêche afin de réaliser une communication full-duplex.
La norme impose également qu'il n'y ait qu'un seul émetteur par bus. Le nombre de récepteurs peut lui aller jusqu'à 20.
Les données sont transportées sous forme de mots de 32 bits.
L'ordre de transmission des bits est particulier. En effet, l'octet correspondant au est le premier à être transmis, en commençant par le bit de poids fort. Les autres bits sont ensuite envoyés tels quels en commençant par le bit de poids faible. Ce qui donne :
8, 7, 6, 5, 4, 3, 2, 1, 9, 10, 11, 12, 13 … 32
Ces mots peuvent être regroupés en trames, ils sont alors séparés par au moins 4 bits à l'état NULL.
Un mot comprend 32 bits à interpréter en 5 champs distincts :
Le bit de parité est utilisé pour vérifier que le mot n'a pas été altéré pendant la transmission.
Elle peut-être paire (even) ou impaire (odd).
Dans la plupart des cas, elle est impaire, ce qui signifie que le bit est positionné de telle manière que le nombre des bits à 1 du mot est impair.
Il existe plusieurs formats d'encodage de la donnée :
Les formats de données peuvent également être des hybrides.
Dans le cas particulier du BNR, le bit 29 est utilisé pour exprimer le signe car le est utilisé pour la validité :
Bit 29 | Signification |
---|---|
1 | Moins, Sud, Ouest, Gauche, Depuis (From), Au-dessous (Below) |
0 | Plus, Nord, Est, Droite, Vers (To), Au-dessus (Above) |
Les bits qui suivent forment la donnée, le bit 28 étant celui de poids fort.
Le bit de poids faible est déterminé par le nombre de bits utilisés. Par exemple, si la donnée est encodée sur 16 bits, le bit de poids faible est le bit 14, et les bits 13 à 11 sont inutilisés.
La donnée binaire étant encodée en complément à deux, il ne faut pas oublier le bit 29 (signe) dans son décodage, ce qui dans le cas contraire pourrait s'avérer « problématique » si la donnée est négative.
Si « n » est le nombre bits utilisés (+ bit de signe), une fois décodée, on obtient une valeur comprise entre -2n et 2n-1 avec une résolution de 1.
Dans la documentation de l'équipement, une résolution différente de 1 et égale à une puissance de 2 est souvent fournie (par exemple « 2m »), il faut alors lire que la valeur est comprise entre -2n+m et 2n+m-2m avec une résolution de 2m. Il faut multiplier la valeur binaire décodée par 2m pour obtenir la vraie valeur.
Les bits sont regroupées par 4 (bits 11/14, 15/18, 19/22, 23/26) ou par 3 pour les derniers (27/29).
Chaque groupe représente alors un chiffre décimal compris entre 0 et 9 (sauf pour le dernier groupe 0 à 7).
Chaque chiffre possède un poids différent selon une numération de position en base 10 pour former un nombre, les bits 11/14 représentant le plus petit poids.
Exemple :
Bits | Poids |
---|---|
11/14 | 10-1 |
15/18 | 100 |
19/22 | 101 |
23/26 | 102 |
24/27 | 103 |
On peut ainsi représenter des nombres dans les plages suivantes :
Les bits de poids faibles (11/14) voir les quadruplets supérieurs peuvent aussi ne pas être utilisés, il faut se référer à la documentation de l'équipement.
Dans le cas des discrets, chaque bit du champ de donnée représente une information de type tout ou rien.
Il peut également arriver que les bits soient regroupés par petits groupes afin de former une information un peu plus détaillée (à l'image du ou du ).
Ce champ indique la plupart du temps si la donnée est valide, mais il peut avoir des significations différentes, comme le signe ou l'orientation.
Il diffère en fonction du type de la donnée, mais aussi en fonction du choix de l'équipementier, c'est pourquoi il faut toujours se référer à la documentation technique.
Bit 31 | Bit 30 | BNR | DSC | BCD |
---|---|---|---|---|
1 | 1 | Normal operation = indique que la donnée est valide | Moins, Sud, Ouest, Gauche, Depuis (From), Au-dessous (Below) | |
1 | 0 | Functionnal test = indique que la donnée est produite par une source de test | ||
0 | 1 | No computer data = indique que la donnée n'est pas disponible pour toute autre raison qu'une défaillance système | ||
0 | 0 | Failure warning = indique une défaillance système qui cause la perte de la donnée | Plus, Nord, Est, Droite, Vers (To), Au-dessus (Above) |
Ce champ peut indiquer :
Il est souvent inutilisé et placé à "00".
Le label est l'identifiant de la donnée. Il est exprimé, la plupart du temps, en octal. Codé sur 8 bits, il peut donc prendre 256 valeurs différentes.
La spécification ARINC A429 comprend un certain nombre de directives sur les labels pour les rendre plus ou moins standards. La General Aviation Manufacturers Association (GAMA) a également publié un ajout à la norme pour fixer ou modifier un certain nombre de ces directives.
En effet, chaque avion contient de nombreux systèmes différents, tels que les calculateurs de vols, des centrales inertielles, des altimètres radios, des capteurs GPS. Pour chaque type d'équipement, un ensemble de paramètres standard est défini, largement partagé par tous les fournisseurs d'équipements. Par exemple, tout "Air Data Computer" donnera l'altitude barométrique de l'avion sur le label 204. Cela permet un certain degré d'interchangeabilité des équipements. Il y a seulement un nombre limité de labels, et donc, le label 204 peut avoir une signification totalement différente s'il est émis par un capteur GPS, par exemple. Il est donc fréquent que des libertés soient prises par rapport à la norme.