Aller au contenu

« ARINC 429 » : différence entre les versions

Un article de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
Ligne 394 : Ligne 394 :
* [[Couche liaison de données]]
* [[Couche liaison de données]]
* [[Application-specific integrated circuit | ASIC]]
* [[Application-specific integrated circuit | ASIC]]
* [[Bus informatique]]
* [[Bus informatique | bus parralèle]]
* [[circuit imprimé]]
* [[circuit imprimé]]
* [[microprocesseurs]]
* [[microprocesseurs]]

Version du 8 juin 2018 à 15:12

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.

Historique

La norme ARINC 429 a été développée et est maintenue par l'Airlines Electronic Engineering Committee (AEEC), comité de la société ARINC.

ARINC 429 est issue de la norme ARINC 419 qui fut la première à décrire quatre topologies de bus numériques pour l'aviation commerciale, dont la première version a été publiée en 1966, et la dernière mise à jour 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-18 adoptée par l'AEEC en 2012[1].

Elle est composée de trois parties :

  • Partie 1 : Description fonctionnelle, interface électrique, étiquettes, formats des mots (Mise à jour no 18 du 29/11/2012),
  • Partie 2 : Standard pour les mots discrets (Mise à jour no 16 du 01/12/2004),
  • Partie 3 : Techniques de transfert de fichiers (Mise à jour no 19 du 01/06/2009).

L'article traite principalement de la 1re partie de la norme.

Topologie

ARINC 429 décrit un bus de données série unidirectionnel standard (simplex).

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].

Architecture ARINC429 avec un émetteur et plusieurs récepteurs
Architecture ARINC429 avec un émetteur et plusieurs récepteurs

Support

La connexion est réalisée par l'intermédiaire d'une paire torsadée blindée composée de deux brins (ou lignes) « A » et « B »[3].

Le transfert des données est réalisé en différentiel entre les deux lignes de la paire.

L'impédance de l'émetteur doit être maintenue en permanence à 75 ± 5 Ω quel que soit le niveau HIGH, LOW ou NULL, divisée de manière égale entre les deux lignes de la paire. Cette valeur a été choisie pour être approximativement égale à l'impédance caractéristique de la paire blindée.

La résistance de chaque récepteur, entre les deux lignes (« A » et « B ») et mais aussi entre chacune des lignes et la masse, doit être maintenue supérieure à 12 . Idem pour la capacitance, qui doit être inférieure à 50 pF entre les deux lignes, mais aussi entre chacune des lignes et la masse.

La résistance totale des récepteurs (jusqu'à 20) mis en parallèle doit rester supérieure à 8 .

Encodage des bits

L'encodage utilisé est de type bipolaire avec retour à 0 répondant à la forme suivante :

Encodage d'un bit ARINC 429
Encodage d'un bit ARINC 429

Niveaux

Les trois niveaux utilisés pour l'encodage entre les deux brins (A et B) de la paire blindée sont[4],[5] :

Niveau Ligne A <> Ligne B
Côté émetteur
Ligne A <> Ligne B
Côté récepteur
HIGH +10.0 V ± 1.0 V de +6.5 à +13 V
NULL 0 V ± 0.5V de +2.5 à -2.5 V
LOW -10.0 V ± 1.0 V de -6.5 à -13 V

Côté émetteur, les niveaux entre chaque brin et la masse doivent aussi être maintenus :

Niveau Ligne A <> Masse
Côté émetteur
Ligne B <> Masse
Côté émetteur
HIGH +5.0 V ± 0.5 V -5.0 V ± 0.5 V
NULL 0 V ± 0.25V 0 V ± 0.25V
LOW -5.0 V ± 0.5 V +5.0 V ± 0.5 V

Lorsque l'émetteur ne transmet rien, il place le bus à l'état NULL.

Temps et vitesse

Il existe deux 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).
Temps d'un bit ARINC 429
Temps d'un bit ARINC 429
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

Mots

Structure d'un mot ARINC 429
Structure d'un mot ARINC 429

Les données sont codées sous forme de mots de 32 bits qui peuvent être découpés en cinq 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 données sont ensuite envoyées 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, ..., 29, 30, 31, 32

Un des intérêts de cet ordre est que l'on peut lire facilement le label (huit premiers bits) grâce à un oscilloscope.

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 deux 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] :

L'encodage utilisé dans un même mot peut mélanger les trois 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],[13] :

Bit 29 Signification
1 Moins (Minus), Sud (South), Ouest (West), Gauche (Left), Depuis (From), Au-dessous (Below)
0 Plus, Nord (North), Est (East), Droite (Right), Vers (To), Au-dessus (Above)

Les autres bits codent la donnée :

  • Le bit 28 est le bit de 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 (cette fois-ci 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 (parfois égale à une puissance de 2) est souvent fournie dans la documentation.

Si « k = 2m » est la résolution utilisée, on peut coder une valeur comprise entre « k x -2n = -2n+m » et « k × (2n-1) = 2n+m-2m ».

Dit autrement, il faut multiplier la valeur binaire pure décodée comprise entre (« -2n » et « 2n-1 ») par « k = 2m » pour obtenir la valeur codée.

BCD

Les bits sont regroupés par quatre (bits 11/14, 15/18, 19/22, 23/26) ou par trois pour les derniers (27/29)[12].

Chaque groupe représente alors un chiffre décimal compris entre 0 et 9 (et 0 à 7 pour le dernier groupe qui est sur trois bits).

Chaque chiffre possède un poids croissant différent selon une numération de position en base 10 pour former un nombre, les bits 11/14 représentant le poids faible.

Bits Poids
11/14 10n-4
15/18 10n-3
19/22 10n-2
23/26 10n-1
27/29 10n

On peut ainsi représenter des nombres dans les plages suivantes :

  • entre 0,0000 et 7,9999 → pour n = 0
  • entre 00,000 et 79,999 → pour n = 1
  • entre 000,00 et 799,99 → pour n = 2
  • entre 0000,0 et 7999,9 → pour n = 3
  • entre 00000 et 79999 → pour n = 4

Certains groupes de bits (les plus faibles ou les plus forts) peuvent aussi ne pas être utilisés, s'ils ne sont pas nécessaires. 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[14],[15],[16],[17].

Il peut aussi avoir une signification particulière choisie par l'équipementier, c'est pourquoi il faut toujours se référer à la documentation technique de l'équipement émetteur.

BNR
Bit 31 Bit 30 Signification
0 0 Failure warning
0 1 No computed data
1 0 Functionnal test
1 1 Normal operation
BCD
Bit 31 Bit 30 Signification
0 0 Plus, Nord (North), Est (East), Droite (Right), Vers (To), Au-dessus (Above)
0 1 No computed data
1 0 Functionnal test
1 1 Moins (Minus), Sud (South), Ouest (West), Gauche (Left), Depuis (From), Au-dessous (Below)
DSC
Bit 31 Bit 30 Signification
0 0 Verified data / Normal operation
0 1 No computed data
1 0 Functionnal test
1 1 Failure warning

SDI

Ce champ peut être utilisé de deux manières[18],[8],[19],[20] :

  • pour définir le récepteur de la donnée sur un bus ayant plusieurs récepteurs. Par exemple : si sur un même bus, on connecte deux équipements identiques mais sur lesquels on veut envoyer des informations différentes, il suffit de configurer le premier équipement pour qu'il ne lise que les données avec le champ SDI placé à « 01 » et de la même manière le deuxième équipement avec le champ SDI « 02 ». L'émetteur n'a plus qu'à modifier le champ SDI en fonction de l'équipement auquel il désire envoyer la donnée.
  • pour définir quel sous-système de l'émetteur a émis la donnée. Par exemple : si on dispose d'un équipement émetteur hybride « centrale inertielle / GPS », lorsque l'on veut envoyer la position (label 010), on place le champ SDI à « 01 » lorsqu'il s'agit de la position inertielle, et à « 02 » lorsqu'il s'agit de la position GPS. Les récepteurs peuvent ainsi choisir parmi les deux positions en fonction du champ SDI.

Il est souvent inutilisé et placé à « 00 ».

Label

Le label est l'identifiant de la donnée codé sur huit bits. Il peut prendre 256 valeurs différentes. Le bit 1 représente le bit de poids fort, le bit 8 le bit de poids faible.[21],[22],[19].

Dans la documentation, il est exprimé 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.

Exemple d'un mot

L'image ci-dessous montre un mot ARINC 429, produit par exemple par un générateur NAV429 [23], et capturé à l'aide d'un oscilloscope.

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).

Un mot ARINC 429, sous forme de signal
Un mot ARINC 429, sous forme de signal

Trames

Les trames sont composées de plusieurs mots de 32 bits espacés par au moins quatre bits à l'état NULL (utiles pour la synchronisation sur le mot suivant)[24],[5].

L'ordre des mots n'est pas imposé.

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, il n'y a aucun risque de collision.

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),
  • Il n'y a pas de somme de contrôle (hormis la parité) permettant de vérifier l'intégrité de données,
  • Le récepteur ne peut pas acquitter la bonne réception des données, hormis si on met en place un second bus en retour.

Développement de systèmes basés sur le bus ARINC 429

Quelques firmes proposent des circuits intégrés dédiés, ou ASIC, permettant d'interfacer des bus ARINC 429 à un microprocesseur. Certains de ces ASICs intègrent y compris les récepteurs et les émetteurs de ligne, et ne requièrent qu'une alimentation de 3,3 volts. Leur interface avec le microprocesseur peut être de type parallèle, mais elle prend de plus en plus la forme d'un bus série, par exemple de type SPI, ce qui permet de réduire le nombre de fils d'interconnexion et de simplifier le circuit imprimé.

Dans les calculateurs embarqués complexes, il est souvent nécessaire de mettre en œuvre plusieurs microprocesseurs et FPGAs. Il est alors fréquent de réaliser la gestion du protocole des lignes ARINC 429 sous forme de logique câblée à l'intérieur de l'un des FPGA. Il existe pour cela des blocs d'IP (Semiconductor intellectual property core (en)) disponibles sur le marché. Avec cette approche, les circuits intégrés dédiés se limitent aux récepteurs et émetteurs de ligne.

Dans les phases de mise au point, il peut être utile d'observer directement la forme des signaux sur les lignes ARINC. C'est notamment nécessaire pour s'assurer que les temps de montée et de descente, ainsi que les niveaux de tension imposés par la norme sont respectés. Un oscilloscope capable de réaliser l'acquisition et l'analyse des signaux est alors privilégié. Un tel instrument est capable de se synchroniser sur un mot ARINC 429 particulier et de présenter une coloration spécifique de chacun des champs du mot. La photo illustrant le chapitre "Exemple d'un mot" ci-dessus est un exemple d'oscillogramme affiché par ce type d'instrument.

Quand il s'agit de faire des essais sur le terrain (par exemple les essais sol d'un avion), un oscilloscope est trop encombrant. On privilégie alors les analyseurs de bus portatifs. Certaines réalisations modernes de ces analyseurs sont extrêmement compactes et mettent à profit une liaison Bluetooth et l'écran d'un smartphone pour leur interface utilisateur.

Références

  1. a et b aim-online p. 8
  2. aero.polimi p. 5
  3. a et b aim-online p9
  4. aim-online p. 11
  5. a b et c aero.polimi p. 10
  6. aim-online p. 11/12
  7. a et b aim-online p. 13
  8. a et b aea p. 2
  9. techaidproducts p4
  10. aea p. 1
  11. techaidproducts p. 2/3
  12. a b et c aim-online p. 16
  13. aea p. 3
  14. aim-online p. 13/14
  15. aea p. 2/3
  16. techaidproducts p. 3/4
  17. aero.polimi p. 16/18
  18. aim-online p. 17
  19. a et b techaidproducts p. 2
  20. aero.polimi p. 15/16
  21. aim-online p18
  22. aea p1/2
  23. NAV429
  24. aim-online p. 10

Liens internes

Liens externes

Sur les autres projets Wikimedia :