- ARINC 429
-
ARINC 429 est une norme pour l'aéronautique qui décrit à la fois une architecture, une interface électrique et un protocole pour véhiculer des données numériques. Au début du XXIe siècle, ARINC 429 est le bus informatique le plus répandu sur les systèmes avioniques complexes.
Sommaire
Histoire
La norme ARINC 429 a été développée et est maintenue par l'AEEC dont fait partie la société.
ARINC 429 est issue de la norme ARINC 419 qui était la première à décrire 4 topologies de bus numériques pour l'aviation commerciale. La première version de cette dernière a été publiée en 1966, et la dernière mise à jour a été faite en 1983[1],[2].
La première norme ARINC 429 (429-1) a été publiée en avril 1978, et la version actuelle est la version 429-16 adoptée par l'AEEC en 2001[1].
Elle est composée de 3 parties :
- Partie 1 : Description fonctionnelle, interface électrique, labels, formats des mots,
- Partie 2 : Standard pour les mots discrets,
- Partie 3 : Techniques de transfert de fichiers.
Architecture
ARINC 429 décrit un bus de données série unidirectionnel standard (simplex).
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[3].
Interface électrique
La connexion est réalisée par l'intermédiaire d'une paire torsadée blindée[3].
Impédances
L'impédance de l'émetteur doit être maintenue en permanence à 75±5Ω, divisée de manière égale entre les 2 lignes de la paire.
La résistance de chaque récepteur, entre les lignes mais aussi entre chaque ligne et la masse, doit être maintenue supérieure à 12kΩ. Idem pour la capacitance, qui doit être inférieure à 50pF.
La résistance totale des récepteurs (jusqu'à 20) mis en parallèle doit restée supérieure à à 8kΩ.
Encodage des bits
L'encodage utilisé est de type bipolaire avec retour à 0 :
Niveaux
Les trois niveaux utilisés pour l'encodage sont[4],[5] :
Niveau Côté transmetteur Côté récepteur HIGH +10.0 V ± 1.0 V +6.5 à 13 V NULL 0 V ± 0.5V +2.5 à -2.5 V LOW -10.0 V ± 1.0 V -6.5 à -13 V Lorsque l'émetteur ne transmet rien, il place le bus à l'état NULL.
Temps et vitesse
Il existe 2 vitesses de transmission 12,5 kbit/s et 100 kbit/s. Pour chacune de ces vitesses, la norme impose des temps caractéristiques[6],[5] :
- le taux de transfert (Bit rate),
- la durée d'un bit (1bit time),
- la durée d'un demi-bit (1/2bit time),
- le temps de montée (Rise time),
- le temps de descente (Fall time).
Bit rate 1bit time 1/2bit time Rise time Fall time 100kbits/s ± 1 % 10µs ± 0,25µs 5µs ± 0,25µs 1,5µs ± 0,5µs 1,5µs ± 0,5µs 12,5kbits/s ± 1 % 80µs ± 2µs 40µs ± 2µs 10µs ± 5µs 10µs ± 5µs Protocole
L'image ci-dessous montre un mot ARINC 429, mesuré à l'aide d'un oscilloscope.
Tous les champs de ce mot sont décrits plus bas dans cet article. Dans ce cas particulier, les bits 11 à 29 (données) contiennent des jours, des mois et des millisecondes.
Un oscilloscope restitue un signal dans l'ordre chronologique d'apparition de l'information. Ceci explique pourquoi le label est au début de la transmission. (Voir "Ordre de transmission des bits" ci-dessous)
Mots
Les données sont codées sous forme de mots de 32 bits qui peuvent être découpés en 5 champs distincts[7] :
- Le bit 32 est un bit de parité,
- Les bits 30 et 31 constituent le Sign/Status Matrix (SSM) et peut avoir plusieurs significations en fonction du type de la donnée,
- Les bits 11 à 29 contiennent la donnée,
- Les bits 9 à 10 constituent le Source Destination Identifier (SDI) et peut avoir plusieurs utilisations,
- Les bits 1 à 8 contiennent le label.
Ordre de transmission des bits
L'ordre de transmission des bits est particulier.
En effet, l'octet correspondant au label 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 concrètement :
8, 7, 6, 5, 4, 3, 2, 1, 9, 10, 11, 12, 13 … 30, 31, 32
Parité
Le bit de parité est utilisé pour vérifier que le mot n'a pas été altéré pendant la transmission[7],[8],[9].
La parité peut être définie comme paire (even) ou impaire (odd).
Dans la plupart des cas, elle est impaire, ce qui signifie que le bit est positionné, lors de l'émission, de telle manière que le nombre des bits à « 1 » dans le mot est impair. Dans ce cas précis, si le nombre de bits à « 1 » est pair, à la réception, c'est qu'un des bits du mot a été altéré pendant la transmission.
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é d'origine.
Donnée
Il existe plusieurs formats d'encodage de la donnée[10],[11] :
- le binaire codé décimal (BCD),
- le complément à deux encodé binaire (BNR),
- l'agrégation de discrets (DSC).
L'encodage utilisé dans un même mot peut mélanger des 3 types d'encodage.
BNR
Dans le cas particulier du BNR, le bit 29 est utilisé pour exprimer le « signe » car le SSM est utilisé pour la validité[12],[10] :
Bit 29 Signification 1 Moins, Sud, Ouest, Gauche, Depuis (From), Au-dessous (Below) 0 Plus, Nord, Est, Droite, Vers (To), Au-dessus (Above) Les autres bits codent la donnée :
- Le bit 28 est le bit poids fort,
- Le bit de poids faible est lui 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) lors du 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 (sans compter le bit de signe), une fois décodée, on obtient une valeur comprise entre -2n et 2n-1 avec une résolution de 1.
Une résolution différente de 1 (et normalement égale à une puissance de 2) est souvent fournie dans la documentation (disons « 2m »).
Ceci implique 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.
BCD
Les bits sont regroupées par 4 (bits 11/14, 15/18, 19/22, 23/26) ou par 3 pour les derniers (27/29)[12].
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 27/29 103 On peut ainsi représenter des nombres dans les plages suivantes :
- entre 00000 et 79999
- entre 0000,0 et 7999,9
- entre 000,00 et 799,99
- entre 00,000 et 79,999
- entre 0,0000 et 7,9999
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.
DSC
Dans le cas des discrets, chaque bit du champ de donnée représente une information de type tout ou rien[12].
Il peut également arriver que les bits soient regroupés par petits groupes afin de former une information un peu plus détaillée.
SSM
Ce champ indique la plupart du temps la validité de la donnée, mais il peut avoir des significations différentes, comme le signe ou l'orientation, en fonction du type de la donnée[13],[14],[15],[16].
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 computed 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) Il peut aussi avoir un signification particulière choisie par l'équipementier, c'est pourquoi il faut toujours se référer à la documentation technique de l'équipement émetteur.
SDI
Ce champ peut être utilisé de 2 manières[17],[8],[18],[19] :
- pour définir le récepteur de la donnée sur un bus ayant plusieurs récepteurs,
- Exemple : Si sur un même bus, on connecte 2 écrans identiques mais sur lequel on veut afficher des informations différentes, il suffit de configurer le 1er écran pour qu'il ne lise que les données avec le champ SDI placé à « 00 » et de la même manière le 2e écran avec le champ SDI « 01 ». L'émetteur n'a plus qu'à modifier le champ SDI en fonction de l'écran que lequel il désire afficher la donnée.
- pour définir quel sous-système de l'émetteur a émis la donnée.
- Exemple : Si on dispose d'un équipement émetteur hybride « centrale inertielle / GPS », lorsque l'on veut envoyer la position inertielle, on place le champ SDI à « 00 », et lorsque l'on veut envoyer la position GPS, place le champ SDI à « 01 ». Les récepteurs peuvent ainsi choisir parmi les 2 positions.
Il est souvent inutilisé et placé à « 00 ».
Label
Le label est l'identifiant de la donnée codé sur 8 bits, il peut donc prendre 256 valeurs différentes[20],[21],[18].
Dans la documentation, il est exprimé, la plupart du temps, en octal.
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, les centrales inertielles, le 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 GPS, par exemple.
C'est pourquoi il faut toujours se référer à la documentation technique de l'équipement.
Trames
Ces mots peuvent être regroupés en trames, ils sont alors séparés par au moins 4 bits à l'état NULL[22],[5].
Avantages/Inconvénients
Avantages
- La topologie est simple (facile d'approche, fiable, …),
- Il est déterministe puisque n'ayant qu'un seul émetteur par bus.
Inconvénients
- Le nombre et donc le poids des nombreuses paires de fils à installer est important,
- Dans l'avionique moderne, il est plus que limité par son faible débit et ses possibilités d'adressage (labels).
Références
- aim-online p8
- aero.polimi p5
- aim-online p9
- aim-online p11
- aero.polimi p10
- aim-online p11/12
- aim-online p13
- aea p2
- techaidproducts p4
- aea p1
- techaidproducts p2/3
- aim-online p16
- aim-online p13/14
- aea p2/3
- techaidproducts p3/4
- aero.polimi p16/18
- aim-online p17
- techaidproducts p2
- aero.polimi p15/16
- aim-online p18
- aea p1/2
<ref>
incorrecte ; aucun texte n’a été fourni pour les références nomméesaim-online_p10
.
Erreur de référence : Balise
Liens externes
- (en) http://www.aim-online.com/pdf/OVIEW429.PDF. Consulté le 18/12/10
- (en) http://www.aea.net/AvionicsNews/ANArchives/Nov05Arinc.pdf. Consulté le 18/12/10
- (en) http://techaidproducts.com/PDFs/ARINC%20429%20REVISITED.pdf. Consulté le 18/12/10
- (en) http://www.aero.polimi.it/~rolando/bacheca/imprimatur/429commentary.pdf. Consulté le 18/12/10
- (en) General Aviation Manufacturers Association. Consulté le 18/12/10
Wikimedia Foundation. 2010.