Satellite Meteor M1
Source: vladtime.ruPrésentation
Le fonctionnement de la technologie spatiale est impossible sans les communications radio, et dans cet article je vais essayer d'expliquer les idées de base qui ont formé le fondement des normes élaborées par le Comité consultatif pour les systÚmes de données spatiales - CCSDS. Cette abréviation sera utilisée ci-dessous.
Cette publication sera consacrée principalement au niveau du canal, cependant, des concepts de base pour d'autres niveaux seront également introduits. Devenir ne prétend en aucun cas à une description complÚte et complÚte des normes. Vous pouvez le trouver sur
le site Web du CCSDS. Cependant, ils sont trÚs difficiles à percevoir, et pour les comprendre, nous avons passé beaucoup de temps, alors ici je veux donner des informations de base, ce qui sera plus facile à gérer. Commençons donc.
La noble mission du CCSDS
Peut-ĂȘtre que quelqu'un avait une question: pourquoi tout le monde devrait-il adhĂ©rer aux normes si vous pouvez dĂ©velopper votre propre pile de protocoles de protocole propriĂ©taire (ou votre propre norme, avec blackjack et nouvelles fonctionnalitĂ©s), augmentant ainsi la sĂ©curitĂ© du systĂšme?
Comme le montre la pratique, il est plus rentable d'adhérer aux normes CCSDS pour les séries de raisons suivantes:
- Le comité responsable de la publication des normes comprenait des représentants de toutes les grandes agences aérospatiales du monde, apportant leur précieuse expérience acquise au cours de nombreuses années de conception et d'exploitation de diverses missions. Il serait trÚs ridicule d'ignorer cette expérience et de marcher à nouveau sur leur rùteau.
- Ces normes sont appuyées par des équipements de station au sol déjà sur le marché.
- Pendant le dépannage, vous pouvez toujours demander de l'aide à des collÚgues d'autres agences afin qu'ils puissent mener une session de communication avec l'appareil depuis leur station au sol.
L'architecture
Les normes sont un ensemble de documents reflétant le modÚle OSI (Open System Interconnection) le plus courant, sauf qu'au niveau du canal, la communauté se limite à la division en télémétrie (canal "down" - espace - Terre) et télécommandes (channel "up").

Considérez certains niveaux plus en détail, en commençant par le physique et en remontant. Pour plus de clarté, nous considérerons l'architecture du cÎté hÎte. L'émetteur est son image miroir.
Niveau physique
Ă ce niveau, le signal radio modulĂ© est converti en un flux binaire. Les normes ici sont principalement de nature recommandatoire, car Ă ce niveau, il est difficile de s'abstraire d'une mise en Ćuvre spĂ©cifique du fer. Ici, le rĂŽle clĂ© du CCSDS est de dĂ©terminer les modulations autorisĂ©es (BPSK, QPSK, 8-QAM, etc.) et de donner quelques recommandations sur la mise en Ćuvre de mĂ©canismes de synchronisation de symboles, la compensation de dĂ©calage Doppler, etc.
Niveau de synchronisation et d'encodage
Formellement, il s'agit d'une sous-couche de la couche liaison de données, mais trÚs souvent, il est alloué en tant que couche distincte en raison de son importance dans le cadre des normes CCSDS. Ce niveau convertit le train de bits en trames dites (télémétrie ou télécommandes), dont nous parlerons plus loin. Contrairement à la synchronisation des caractÚres au niveau physique, qui vous permet d'obtenir le flux binaire correct, la synchronisation de trame est effectuée ici. Considérez le chemin parcouru par les données à ce niveau (de bas en haut):

Cependant, avant cela, il convient de dire quelques mots sur le codage. Cette procédure est nécessaire pour rechercher et / ou corriger les erreurs de bits qui se produisent inévitablement lors de l'envoi de données par voie hertzienne. Ici, nous ne considérerons pas les procédures de décodage, mais nous n'obtiendrons que les informations nécessaires pour comprendre la logique supplémentaire du niveau.
Les codes sont bloquĂ©s et continus. Les normes n'imposent pas l'utilisation d'un type particulier de codage, mais il doit ĂȘtre prĂ©sent en tant que tel. Les codes continus comprennent des codes convolutionnels (colvolutionnels). En les utilisant, un flux binaire continu est codĂ©. Contrairement aux codes de bloc, oĂč les donnĂ©es sont divisĂ©es en blocs de code (bloc de code) et ne peuvent ĂȘtre dĂ©codĂ©es que dans le cadre de blocs entiers. Le bloc de code est constituĂ© des donnĂ©es transmises et des informations redondantes jointes nĂ©cessaires pour vĂ©rifier l'exactitude des donnĂ©es et corriger les Ă©ventuelles erreurs. Les codes de bloc incluent les cĂ©lĂšbres codes Reed-Solomon.
Si le codage convolutionnel est utilisé, le train de bits depuis le début va au décodeur. Le résultat de son travail (tout cela, bien sûr, se produit en continu) sont des unités de données CADU (unité d'accÚs aux canaux). Cette structure est nécessaire pour la synchronisation de trame. à la fin de chaque CADU est attaché un marqueur de synchronisation (ASM - fabricant de synchronisation attaché). Ce sont 4 octets connus à l'avance, par lesquels le synchroniseur trouve le début et la fin de la CADU. C'est ainsi que la synchronisation de trame est réalisée.
La prochaine étape facultative de fonctionnement de la couche de synchronisation et de codage est associée aux caractéristiques de la couche physique. C'est de la dérandomisation. Le fait est que pour réaliser la synchronisation des symboles, une commutation fréquente entre les symboles est nécessaire. Donc, si nous transférons, disons, un kilo-octet de données composé uniquement d'unités, la synchronisation sera perdue. Par conséquent, pendant la transmission, les données d'entrée sont mélangées avec une séquence pseudo-aléatoire périodique de sorte que la densité des zéros et des uns est uniforme.
Ensuite, les codes de bloc sont décodés, et ce qui restera sera le produit final de la synchronisation - niveau de codage - trame.
Niveau de canal
D'une part, le gestionnaire de couche liaison reçoit des trames et, d'autre part, il produit des paquets. Puisque formellement la taille des paquets n'est pas limitée, pour leur transmission fiable, il est nécessaire de les diviser en structures plus petites - des trames. Nous considérons ici deux sous-sections: séparément pour la télémétrie (TM) et les télécommandes (TC).
Télémétrie
Autrement dit, ce sont les données que la station au sol reçoit du vaisseau spatial. Toutes les informations transmises sont divisées en petits fragments d'une longueur fixe - des trames qui contiennent les données transmises et les champs de service. Considérez la structure du cadre plus en détail:

Et nous commencerons notre examen par le titre principal de la trame de télémétrie. De plus, je me permettrai à certains endroits de simplement traduire les normes, en donnant simultanément quelques éclaircissements.

Le champ de l'identifiant du canal principal (Master Channel ID) doit contenir le numéro de version de la trame et l'identifiant de l'appareil.
Chaque vaisseau spatial, selon les normes CCSDS, doit avoir son propre identifiant unique, par lequel il est possible, avec un cadre, de dĂ©terminer Ă quel vĂ©hicule il appartient. Formellement, il est nĂ©cessaire de demander l'enregistrement de l'appareil, et son nom, ainsi que l'identifiant, seront publiĂ©s dans des sources ouvertes. Cependant, les fabricants russes ignorent souvent cette procĂ©dure, attribuant un identifiant arbitraire Ă l'appareil. Le numĂ©ro de version du cadre permet de dĂ©terminer la version des normes utilisĂ©e pour lire correctement le cadre. Ici, nous considĂ©rons uniquement la norme la plus conservatrice avec la version «0».L'ID de canal virtuel doit contenir le VCID du canal d'oĂč provient le paquet. Il n'y a aucune restriction sur le choix du VCID, en particulier, les canaux virtuels ne sont pas nĂ©cessairement numĂ©rotĂ©s sĂ©quentiellement.
TrĂšs souvent, il est nĂ©cessaire de multiplexer les donnĂ©es transmises. Il existe un mĂ©canisme de canal virtuel pour cela. Par exemple, le satellite Meteor-M2 transmet une image en couleur dans la plage visible, la divisant en trois en noir et blanc - chaque couleur est transmise dans son propre canal virtuel dans un package sĂ©parĂ©, bien qu'il y ait un certain Ă©cart par rapport aux normes dans la structure de ses cadres.Le champ d'indicateur de contrĂŽle opĂ©rationnel doit ĂȘtre un indicateur de la prĂ©sence ou de l'absence du champ de contrĂŽle opĂ©rationnel dans la trame de tĂ©lĂ©mĂ©trie. Ces 4 octets Ă la fin de la trame servent Ă maintenir la rĂ©troaction lors de la surveillance de la livraison des trames de tĂ©lĂ©commande. Nous en parlerons un peu plus tard.
Les compteurs de trames des canaux principal et virtuel sont des champs qui sont incrémentés de un lorsque chaque trame est envoyée. Ils servent d'indicateur qu'aucune trame n'a été perdue.L'état des données de trame de télémétrie est de deux octets supplémentaires d'indicateurs et de données, dont nous ne considérerons que quelques-uns.

Le champ indicateur de l'en-tĂȘte secondaire (en-tĂȘte secondaire) doit ĂȘtre un indicateur de la prĂ©sence ou de l'absence de l'en-tĂȘte secondaire (en-tĂȘte secondaire) dans la trame de tĂ©lĂ©mĂ©trie.
Si vous le souhaitez, vous pouvez ajouter un en-tĂȘte supplĂ©mentaire Ă chaque cadre et y placer toutes les donnĂ©es Ă votre discrĂ©tion.Le champ du pointeur vers le premier en-tĂȘte (First Header Pointer), avec la valeur de l'indicateur de synchronisation "1", doit contenir la reprĂ©sentation binaire de la position du premier octet du premier paquet dans le champ de donnĂ©es de la trame de tĂ©lĂ©mĂ©trie. La position est comptĂ©e Ă partir de 0 dans l'ordre croissant depuis le dĂ©but du champ de donnĂ©es. S'il n'y a pas de dĂ©but de paquet dans le champ de donnĂ©es de la trame de tĂ©lĂ©mĂ©trie, le champ du pointeur vers le premier en-tĂȘte doit avoir une valeur dans la reprĂ©sentation binaire "11111111111" (cela peut se produire si un long paquet s'Ă©tend sur plusieurs trames).
Si le champ de donnĂ©es contient un paquet vide (donnĂ©es inactives), le pointeur vers le premier en-tĂȘte doit avoir une valeur dans la reprĂ©sentation binaire "11111111110". Dans ce domaine, le rĂ©cepteur doit synchroniser le flux. Ce champ garantit la restauration de la synchronisation mĂȘme en cas de saut de trames.
Autrement dit, un paquet peut, supposons, commencer au milieu de la 4e trame et se terminer au dĂ©but de la 20e. Pour trouver son dĂ©but, ce champ ne fait que servir. Les paquets ont Ă©galement un en-tĂȘte dans lequel sa longueur est enregistrĂ©e. Ainsi, lorsqu'un pointeur vers le premier en-tĂȘte est trouvĂ©, le gestionnaire de niveau lien doit le lire, dĂ©terminant ainsi oĂč le paquet se terminera.Si un champ de contrĂŽle d'erreur est prĂ©sentĂ©, il doit ĂȘtre contenu dans chaque trame de tĂ©lĂ©mĂ©trie pour un canal physique particulier tout au long de la mission.
Ce champ est calculé à l'aide de la méthode CRC. La procédure doit accepter n-16 bits de la trame de télémétrie et insérer le résultat du calcul dans les 16 derniers bits.
Telecommands
La trame de télécommande présente plusieurs différences importantes. Parmi eux:
- Structure d'en-tĂȘte diffĂ©rente
- Longueur dynamique. Cela signifie que la longueur de trame n'est pas définie de maniÚre rigide, comme cela se fait en télémétrie, mais peut varier en fonction des paquets transmis.
- MĂ©canisme de garantie de livraison de colis. C'est-Ă -dire que l'engin spatial doit, aprĂšs rĂ©ception, confirmer la bonne rĂ©ception des trames, ou demander le transfert de la trame qui pourrait ĂȘtre reçue avec une erreur non corrigible.


De nombreux champs nous sont dĂ©jĂ familiers depuis l'en-tĂȘte de trame de tĂ©lĂ©mĂ©trie. Ils ont le mĂȘme objectif, nous ne considĂ©rons donc ici que de nouveaux domaines.
Un bit de l'indicateur de contournement doit ĂȘtre utilisĂ© pour surveiller la vĂ©rification de trame au niveau du rĂ©cepteur. La valeur «0» de cet indicateur doit indiquer que cette trame est une trame de type A et doit ĂȘtre vĂ©rifiĂ©e conformĂ©ment Ă FARM. La valeur «1» de cet indicateur doit indiquer au rĂ©cepteur que cette trame est une trame de type B et doit contourner la vĂ©rification selon FARM.
Cet indicateur indique au rĂ©cepteur s'il doit utiliser le mĂ©canisme de confirmation de remise de trame appelĂ© FARM - Frame Acceptance and Reporting Mechanism.L'indicateur de commande de contrĂŽle doit ĂȘtre utilisĂ© pour comprendre si le champ de donnĂ©es transporte la commande ou les donnĂ©es. Si l'indicateur est «0», le champ de donnĂ©es doit contenir des donnĂ©es. Si l'indicateur est «1», le champ de donnĂ©es doit contenir les informations de contrĂŽle pour la FERME.
FARM est une machine d'Ă©tat dont les paramĂštres peuvent ĂȘtre configurĂ©s.RSVD. SPARE - bits rĂ©servĂ©s.
Il semble que CCSDS ait des plans pour eux à l'avenir, et pour la compatibilité descendante des versions de protocole, ils ont déjà réservé ces bits dans les versions actuelles de la norme.Le champ de longueur de trame doit contenir un nombre dans la représentation binaire, qui est égal à la longueur de trame en octets moins un.
Le champ de donnĂ©es de trame doit suivre l'en-tĂȘte sans espaces et contenir un nombre entier d'octets, qui peut ĂȘtre au maximum de 1019 octets. Ce champ doit contenir soit un bloc de donnĂ©es de trame, soit des informations provenant d'une commande de contrĂŽle. Le bloc de donnĂ©es de trame doit contenir:
- octet données utilisateur entiÚres
- en-tĂȘte de segment suivi d'un octet entier de donnĂ©es utilisateur
Si un en-tĂȘte est fourni, le bloc de donnĂ©es doit contenir un package, de nombreux paquets ou une partie de celui-ci. Un bloc de donnĂ©es sans en-tĂȘte ne peut pas contenir de parties de paquets, mais il peut contenir des blocs de donnĂ©es d'un format privĂ©. Il en rĂ©sulte que l'en-tĂȘte est requis lorsque le bloc de donnĂ©es transmis ne tient pas dans une trame. Un bloc de donnĂ©es ayant un en-tĂȘte est appelĂ© segment.

Un champ indicateur Ă deux bits doit contenir:
- "01" - si la premiÚre partie des données se trouve dans le bloc de données
- "00" - si la partie centrale des données se trouve dans le bloc de données
- "10" - si la derniÚre donnée se trouve dans le bloc de données
- «11» - s'il n'y a pas de division et qu'un ou plusieurs paquets sont placés dans le bloc de données dans son ensemble.
Le champ d'identifiant MAP doit contenir des zéros si les canaux MAP ne sont pas utilisés.
Parfois, 6 bits allouĂ©s aux canaux virtuels ne suffisent pas. Et si vous avez besoin de multiplexer des donnĂ©es sur un plus grand nombre de canaux, 6 autres bits de l'en-tĂȘte de segment sont utilisĂ©s.Ferme
Examinons plus en dĂ©tail le mĂ©canisme de fonctionnement du systĂšme de contrĂŽle de la livraison du personnel. Ce systĂšme ne prĂ©voit de travailler avec le personnel des tĂ©lĂ©communications que compte tenu de leur importance (la tĂ©lĂ©mĂ©trie peut toujours ĂȘtre demandĂ©e Ă nouveau, et l'engin spatial doit entendre clairement la station au sol et toujours obĂ©ir Ă ses commandes). Supposons donc que nous ayons dĂ©cidĂ© de reflasher notre satellite et d'envoyer un fichier binaire de 10 kilo-octets Ă bord. Au niveau du canal, le fichier est divisĂ© en 10 trames (0, 1, ..., 9), qui sont envoyĂ©es une par une vers le haut. Une fois la transmission terminĂ©e, l'engin spatial doit confirmer la bonne rĂ©ception du paquet ou signaler sur quelle trame une erreur s'est produite. Ces informations sont envoyĂ©es au champ de contrĂŽle opĂ©rationnel dans la trame de tĂ©lĂ©mĂ©trie la plus proche (ou l'engin spatial peut initier la transmission d'une trame vide (trame inactive) s'il n'a rien Ă dire). Sur la base de la tĂ©lĂ©mĂ©trie reçue, nous nous assurons que tout va bien ou nous renvoyons le message. Supposons que le satellite n'entende pas la trame n ° 7. Donc, nous envoyons les trames 7, 8, 9. S'il n'y a pas de rĂ©ponse, le paquet est envoyĂ© Ă nouveau complĂštement (et ainsi de suite plusieurs fois jusqu'Ă ce que nous rĂ©alisions que les tentatives sont vaines).
Voici la structure du domaine du contrÎle opérationnel avec une description de certains domaines. Les données contenues dans ce champ sont appelées CLCW - Communication Link Control Word.

Puisqu'il est tout à fait possible de deviner à partir de l'image le but des champs principaux, tout en regardant les autres est ennuyeux, je cache la description détaillée sous le spoiler
Décodage des champs CLCWType de mot de contrÎle (Type de mot de contrÎle):
Pour ce type de mot de contrĂŽle doit contenir 0
Version du mot de contrÎle (numéro de version CLCW):
Pour ce type de mot de contrĂŽle, il doit ĂȘtre Ă©gal Ă "00" dans la reprĂ©sentation binaire.
Champ d'état:
L'utilisation de ce champ est dĂ©terminĂ©e sĂ©parĂ©ment pour chaque mission. Il peut ĂȘtre utilisĂ© pour des amĂ©liorations locales par diffĂ©rentes agences spatiales.
Identification de canal virtuel:
Doit contenir l'identifiant du canal virtuel auquel ce mot de contrÎle est associé.
Drapeau d'accĂšs au canal physique:
Le drapeau devrait fournir des informations sur l'Ă©tat de prĂ©paration de la couche physique du rĂ©cepteur. Si le niveau physique du rĂ©cepteur n'est pas prĂȘt Ă recevoir des trames, le champ doit contenir "1", sinon "0".
Indicateur d'échec de synchronisation:
Le drapeau peut indiquer que la couche physique fonctionne à un faible niveau de signal et que le nombre de trames rejetées est trop élevé. L'utilisation de ce champ est facultative, si elle est utilisée, elle doit contenir "0" en présence de synchronisation et "1" en son absence.
Drapeau de verrouillage:
Ce bit doit contenir l'état de verrouillage FARM pour chaque canal virtuel. La valeur «1» dans ce champ doit indiquer que la FERME est verrouillée et les trames seront supprimées pour chaque niveau virtuel, sinon «0».
Drapeau en attente:
Ce bit doit ĂȘtre utilisĂ© pour indiquer que le rĂ©cepteur ne peut pas traiter les donnĂ©es sur le canal virtuel spĂ©cifiĂ©. Une valeur de "1" indique que toutes les trames seront rejetĂ©es sur ce canal virtuel, sinon "0".
Drapeau d'expédition:
Ce fanion doit contenir «1» si une ou plusieurs trames de type A ont été rejetées ou des lacunes ont été trouvées, donc une nouvelle transmission est nécessaire. L'indicateur «0» indique qu'aucune trame ni omission n'a été rejetée.
Valeur de la réponse:
Le numĂ©ro de la trame qui n'a pas Ă©tĂ© reçue. Elle est dĂ©terminĂ©e par le compteur dans l'en-tĂȘte de la trame de tĂ©lĂ©commande.
Couche réseau
Une petite touche Ă ce niveau. Deux options sont possibles ici: soit utiliser le protocole de paquet d'espace, soit encapsuler tout autre protocole dans le paquet CCSDS.
Un examen du protocole de paquet d'espace est un sujet pour un article séparé. Il a été créé pour que les soi-disant applications puissent échanger de façon transparente des données. Chaque application a sa propre adresse et des fonctionnalités de base pour l'échange de données avec d'autres applications. Il existe également des services qui acheminent le trafic, effectuent le contrÎle de livraison, etc.
Avec l'encapsulation, tout est plus simple et plus comprĂ©hensible. Les normes permettent d'encapsuler n'importe quel protocole dans des paquets CCSDS en ajoutant un en-tĂȘte supplĂ©mentaire.

OĂč l'en-tĂȘte a des significations diffĂ©rentes selon la longueur du protocole encapsulĂ©:
Ici, le champ principal est la longueur longueur. Il peut varier de 0 Ă 4 octets. Toujours dans cet en-tĂȘte, vous devez spĂ©cifier le type de protocole encapsulĂ©, en utilisant le tableau d'ici .Lors de l'encapsulation IP, un autre complĂ©ment est utilisĂ© pour dĂ©terminer le type de paquet.Vous devez ajouter un autre en-tĂȘte, Ă partir d'un octet de longueur:
oĂč PID est un autre identifiant de protocole tirĂ© d'iciConclusion
, CCSDS , . , ( ) 40%. , , , , , .
, , . Merci de votre attention!
Les sources
CCSDS 130.0-G-3 â Overview of the space communications protocolsCCSDS 131.0-B-2 â TM synchronization and channel codingCCSDS 132.0-B-2 â TM Space Data Link ProtocolCCSDS 133.0-B-1 â Space packet protocolCCSDS 133.1-B-2 â Encapsulation ServiceCCSDS 231.0-B-3 â TC Synchronization and Channel CodingCCSDS 232.1-B-2 Communications Operation Procedure-1CCSDS 401.0-B-28 Radio Frequency and Modulation Systems â Part 1 (Earth Stations and Spacecraft)CCSDS 702.1-B-1 â IP over CCSDS space linksPS, . , :)