• Aucun résultat trouvé

Chapitre IV : Protocoles nanosatellites

IV.1. NSP : Nanosatellite Protocol

NSP est un protocole pour les nanosatellites, à l'origine développé à UTIAS/SFL pour l'utilisation sur les nanosatellites CanX. Ce qui est descendu du Simple Serial Protocol (SSP) utilisé par UTIAS/SFL et Dynacon sur les vaisseaux spatiaux MOST et CHIPSAT [13, 21].

Le protocole est conçu pour être simple afin de réduire les paquets d'overhead et maximiser l'utilisation de bande passante effective [21].

L'unité de base de la communication dans le NSP est le message. Un message du satellite ordinateur de bord (On-Board Computer : OBC) à un dispositif interplanétaire Sinclair porte une seule télécommande. Le dispositif répond alors à l'OBC avec un seul message de réponse. Cette réponse doit être un simple acquittement ou elle contient des télémétries additionnelles. Les messages NSP peuvent être mis sur un certain nombre de différents types de lien : asynchrone, synchrone et I2C. Large réseaux NSP contiennent différents types de liens avec des routeurs et des ponts pour les relier [13].

IV.1.1. Format du message

Les messages NSP sont composés d'une séquence ordonnée d'octets. Là où plusieurs octets adjacents sont regroupés ensemble pour former des grandes unités (16-bit en entier, 32-bit en virgule flottante, etc.) les octets les moins significatif sont transmis et reçu en premier.

Longueur Champ

1 octet Adresse destination

1 octet Adresse source

1 octet Message de contrôle

0 ou plus d'octets Données

2 octets Message CRC

Tableau IV.1. Champs du message NSP

Le Tableau ci-dessus montre les champs qui forment un message NSP. Le champ de données est de longueur variable. Si sa longueur est égale à zéro (le message ne comporte pas de données) alors le message total contient cinq octets. Le nombre maximal d'octets de données qui peut être placé dans un message dépend de l'implémentation du NSP dans chaque périphérique. 260 octets est une limite commune [13, 21].

Dans chaque message NSP il y a un octet pour un message de contrôle. Le Tableau ci-dessous montre comment les bits de cet octet sont décodés. Il y a trois booléens marqués A, B et Poll. Il y a aussi cinq bits pour un code de commande, interprété comme un entier non signé entre 0 et 31 [13, 21]. Chaque message NSP contient 2 octets (16-bit) CRC pour se prémunir contre les erreurs de transmission.

Numéro du bit Etiquette

Bit 7 (MSB) Poll

Bit 6 B

Bit 5 A (ACK)

Bit 4-0 Code de commande

Tableau IV.2. Champs du message de contrôle

IV.1.2. Format de la Télécommande

L’OBC envoie une télécommande aux dispositifs interplanétaires Sinclair. Ces messages ont les attributs suivants :

Attribut Signification

Adresse destination L'adresse du périphérique SI

Adresse source L’adresse unique de l'OBC

Bit Poll 1 Si la réponse est demandée

0 Si aucune réponse n’est souhaitée

Bit B Ignoré par le périphérique SI

Bit A Ignoré par le périphérique SI

Code de commande Commande désirée

Données Octets de données

CRC CRC, calculé à partir du message

Tableau IV.3. Attributs d'une télécommande

La liste des codes de commande, et le formatage des données pour les accompagner, est spécifique à chaque périphérique interplanétaire Sinclair [13].

IV.1.3. Validation de la télécommande

Lors de réception d'une séquence d'une télécommande, le périphérique Interplanétaire Sinclair suivra les étapes suivantes pour la validation de la télécommande [13] :

¾ L'adresse de destination sera comparé à l'ensemble des adresses que le périphérique peut accepter;

¾ Le message doit satisfaire le minimum de longueur du message (5 octets);

¾ Le message ne doit pas dépasser la longueur maximale du message, déterminée par l'implémentation du périphérique;

¾ Il ne doit pas avoir une erreur dans la formulation (framing) du SLIP;

¾ Le message du CRC doit être bon.

Les messages qui ne respectent pas l'un de ces critères sont rejetés. Les télécommandes valides sont transmises à la prochaine couche.

IV.1.4. Format de la réponse

Après l'exécution d'une télécommande, le périphérique Interplanétaire Sinclair va générer un message de réponse, si et seulement si le bit Poll de la télécommande à la valeur 1. La réponse aura les attributs suivants [13] :

Attribut Signification

Adresse destination L'adresse source de la télécommande Adresse source L'adresse destination de la télécommande

Bit Poll 1 dans toutes les cases

Bit B Le bit B de la télécommande

Bit A 1 si le périphérique signale une condition ACK 0 Si le périphérique signale une condition NACK Code de commande Le code de commande de la télécommande

Données Les octets de données de la télécommande, suivie de zéro ou plusieurs octets de télémétrie

CRC CRC, calculé à partir du message

Tableau IV.4. Attributs d'une réponse de la télécommande

IV.1.5. Formulation du SLIP

Les messages NSP sont encapsulés dans des paquets en utilisant la formulation SLIP avant d'être transmis à un autre périphérique. Lors de la réception la formulation est enlevée [13]. Un caractère spécial FEND (0xc0) marque à la fois le début et la fin de chaque message NSP. Là où se produirait FEND dans le message, il est remplacé par deux octets : FESC TFEND (0xdb 0xdc). Où se produirait FESC dans le message, il est remplacé par FESC TFESC (0xdb 0xdd). Lors du traitement d'un message formulé par SLIP, c'est une erreur de voir FESC suivi par autre chose que TFESC ou TFEND.

IV.1.6. Adresses NSP

Les adresses NSP ont une longueur de huit bits. Les plages d'adresses recommandées sont comprises entre 1 et 127. Tout utilisateur d'un périphérique Interplanétaire Sinclair devrait prendre une adresse NSP pour le OBC (ou l'ordinateur de test GSE). Par convention 0x11 est utilisé comme adresse NSP pour l'ordinateur principal.

Certains périphériques Interplanétaire Sinclair ont une adresse NSP unique programmé dans l'usine. D'autres ont des broches sur leurs connecteurs qui peuvent être choisir entre un certain nombre d'adresses différentes. Enfin, les périphériques fonctionnant sur des bus synchrone (SPI) utilisent un adressage out-of-band et ne pas avoir une adresse NSP fixe [13].

Documents relatifs