E bëssen iwwer Raumkommunikatiounsnormen

E bëssen iwwer Raumkommunikatiounsnormen
Meteor M1 Satellit
Source: vladtime.ru

Aféierung

D'Operatioun vun der Weltraumtechnologie ass onméiglech ouni Radiokommunikatioun, an an dësem Artikel wäert ech probéieren d'Haaptideeën ze erklären, déi d'Basis vun de Standarden geformt hunn, déi vum International Advisory Committee for Space Data Systems (CCSDS) entwéckelt goufen. Dës Ofkierzung gëtt hei ënnen benotzt. .

Dëse Post konzentréiert sech haaptsächlech op d'Datelinkschicht, awer Basiskonzepter fir aner Schichten ginn och agefouert. Dësen Artikel mécht op kee Fall eng grëndlech a komplett Beschreiwung vun de Standarden. Dir kënnt et kucken op Site CCSDS. Wéi och ëmmer, si si ganz schwéier ze verstoen, a mir hunn vill Zäit verbruecht fir se ze verstoen, also hei wëll ech Basisinformatioun ubidden, mat deem et vill méi einfach ass alles anescht ze verstoen. Also, loosst eis ufänken.

Noble Missioun vun CCSDS

Vläicht huet een eng Fro: Firwat soll jiddereen un Normen halen wann Dir Ären eegene propriétaire Radio Protokoll Stack entwéckelen (oder Ären eegene Standard, mat Blackjack an nei Fonctiounen), an domat d'Sécherheet vum System erhéijen?

Wéi d'Praxis weist, ass et méi rentabel fir CCSDS Standarden ze halen aus de folgende Grënn:

  1. De Comité verantwortlech fir d'Verëffentlechung vun de Standarden enthält Vertrieder vun all gréisser Raumfaartagentur op der Welt, déi wäertvoll Erfarung bréngt, déi iwwer ville Joeren Design an Operatioun vu verschiddene Missiounen gewonnen huet. Et wier ganz absurd dës Erfahrung ze ignoréieren an erëm op hir Rake ze trëppelen.
  2. Dës Norme ginn ënnerstëtzt vun der Grondstatiounsausrüstung déi schonn um Maart ass.
  3. Wann Dir Probleemer léist, kënnt Dir ëmmer Hëllef vu Kollegen vun aneren Agenturen sichen, fir datt se eng Kommunikatiounssitzung mam Apparat aus hirer Grondstatioun maachen. Wéi Dir gesitt, sinn Standarden eng extrem nëtzlech Saach, also loosst eis hir Schlësselpunkte kucken.

Architektur

D'Standarden sinn eng Rei vun Dokumenter, déi den allgemengsten OSI (Open System Interconnection) Modell reflektéieren, ausser datt um Datelinkniveau d'Gemeinlechkeet limitéiert ass op d'Divisioun an Telemetrie (Downlink - Space - Earth) an Telecommands (Uplink).

E bëssen iwwer Raumkommunikatiounsnormen

Loosst eis e puer vun den Niveauen méi am Detail kucken, ugefaange mat der kierperlecher an eropgoen. Fir méi Kloerheet wäerte mir d'Architektur vun der Empfangssäit betruechten. Deen iwwerdroende ass säi Spigelbild.

Kierperlech Schicht

Op dësem Niveau gëtt de moduléierte Radiosignal an e Bitstream ëmgewandelt. D'Standarden hei sinn haaptsächlech berodend an der Natur, well et op dësem Niveau schwéier ass aus der spezifescher Ëmsetzung vun der Hardware ze abstrakt. Hei ass d'Schlësselroll vum CCSDS fir déi akzeptabel Modulatiounen ze definéieren (BPSK, QPSK, 8-QAM, etc.)

Synchroniséierung a Kodéierungsniveau

Formell ass et eng Ënnerschicht vun der Datelinkschicht, awer ass dacks an eng separat Schicht getrennt wéinst senger Wichtegkeet bannent den CCSDS Standards. Dës Schicht konvertéiert de Bitstream a sougenannte Frames (Telemetrie oder Telekommandoen), iwwer déi mir spéider schwätzen. Am Géigesaz zu der Symbolsynchroniséierung op der kierperlecher Schicht, déi Iech erlaabt de richtege Bitstream ze kréien, gëtt Framesynchroniséierung hei gemaach. Bedenkt de Wee deen d'Donnéeën op dësem Niveau huelen (vun ënnen no uewen):

E bëssen iwwer Raumkommunikatiounsnormen

Wéi och ëmmer, ier dat ass et derwäert e puer Wierder iwwer Kodéierung ze soen. Dës Prozedur ass néideg fir Bitfehler ze fannen an / oder ze korrigéieren déi zwangsleefeg optrieden wann Dir Daten iwwer e Radiokanal verschéckt. Hei wäerte mir d'Dekodéierungsprozeduren net berücksichtegen, awer nëmmen déi néideg Informatioun kréien fir déi weider Logik vum Niveau ze verstoen.

Coden kënne blockéieren oder kontinuéierlech sinn. D'Standarden zwéngen net d'Benotzung vun enger spezifescher Aart Kodéierung, awer et muss als solch präsent sinn. Kontinuéierlech Coden enthalen convolutional Coden. Si gi benotzt fir e kontinuéierleche Bitstream ze codéieren. Dëst ass am Géigesaz zu Blockcoden, wou Daten a Codeblocken opgedeelt sinn an nëmmen a komplette Blocken dekodéiert kënne ginn. De Codeblock representéiert déi iwwerdroen Donnéeën an déi befestegt redundant Informatioun déi néideg ass fir d'Korrektheet vun den empfangenen Donnéeën z'iwwerpréiwen a méiglech Feeler ze korrigéieren. Blockcodes enthalen déi berühmte Reed-Solomon Coden.

Wann convolutional Kodéierung benotzt gëtt, kënnt de Bitstream vun Ufank un an den Decoder. D'Resultat vu senger Aarbecht (all dëst, natierlech, geschitt kontinuéierlech) sinn CADU (Channel Zougang Daten Eenheet) Daten Spär. Dës Struktur ass néideg fir Frame Synchroniséierung. Um Enn vun all CADU gëtt et en angeschlossene Synchmaker (ASM). Dëst sinn 4 Bytes am Viraus bekannt, duerch déi de Synchronisator den Ufank an Enn vum CADU fënnt. Dëst ass wéi Frame Synchroniséierung erreecht gëtt.

Déi nächst fakultativ Etapp vun der Synchroniséierung a Kodéierungsschicht ass mat de Besonderheeten vun der kierperlecher Schicht assoziéiert. Dëst ass derandomization. D'Tatsaach ass, datt fir Symbol Synchroniséierung z'erreechen, ass heefeg Wiessel tëscht Symboler néideg. Also, wa mir iwwerdroen, soen, e Kilobyte vun Daten, déi komplett aus eent besteet, wäert d'Synchroniséierung verluer goen. Dofir, wärend der Iwwerdroung, ginn d'Inputdaten mat enger periodesch pseudo-zoufälleg Sequenz gemëscht sou datt d'Dicht vun Nullen an Eenheeten eenheetlech ass.

Als nächst ginn d'Blockcoden dekodéiert, a wat bleift ass d'Finaleprodukt vun der Synchroniséierungs- a Kodéierungsniveau - e Frame.

Date Link Layer

Op der enger Säit kritt de Linkschichtprozessor Frames, an op der anerer Säit gëtt et Päckchen. Well d'Gréisst vun de Päck net formell limitéiert ass, fir hir zouverlässeg Iwwerdroung ass et néideg se a méi kleng Strukturen opzedeelen - Frames. Hei wäerte mir zwee Ënnersektiounen kucken: separat fir Telemetrie (TM) an Telekommandoen (TC).

Telemetrie

Einfach gesot, dëst sinn d'Donnéeën déi d'Buedemstatioun vum Raumschëff kritt. All iwwerdroen Informatioun ass a kleng Fragmenter vun enger fixer Längt opgedeelt - Rummen déi iwwerdroe Daten a Servicefelder enthalen. Loosst eis d'Struktur vum Frame méi genau kucken:

E bëssen iwwer Raumkommunikatiounsnormen

A loosst eis Iwwerleeung mam Haaptheader vum Telemetrieframe starten. Desweideren wäert ech mir erlaben, d'Standarden op e puer Plazen einfach ze iwwersetzen, a ginn e puer Erklärungen laanscht de Wee.

E bëssen iwwer Raumkommunikatiounsnormen

De Master Channel ID Feld muss d'Frame Versiounsnummer an den Apparat Identifizéierer enthalen.

All Raumschëff muss, laut CCSDS-Standarden, säin eegenen eenzegaartegen Identifizéierer hunn, duerch deen, mat engem Frame, festzestellen, zu wéi engem Apparat et gehéiert. Formell ass et néideg eng Applikatioun ofzeginn fir den Apparat z'registréieren, a säin Numm, zesumme mat sengem Identifizéierer, ginn an oppe Quellen publizéiert. Wéi och ëmmer, russesch Hiersteller ignoréieren dës Prozedur dacks, ginn den Apparat en arbiträren Identifizéierer zou. D'Frame Versiounsnummer hëlleft festzestellen wéi eng Versioun vun de Standarden benotzt gëtt fir de Frame korrekt ze liesen. Hei wäerte mir nëmmen de konservativste Standard mat der Versioun "0" betruechten.

De Virtuell Kanal ID Feld muss de VCID vum Kanal enthalen, aus deem de Paket koum. Et gi keng Restriktiounen op d'Wiel vum VCID; besonnesch virtuell Kanäl sinn net onbedéngt sequenziell nummeréiert.

Ganz dacks gëtt et e Besoin fir iwwerdroen Donnéeën ze multiplexéieren. Fir dësen Zweck gëtt et e Mechanismus vu virtuelle Kanäl. Zum Beispill iwwerdréit de Meteor-M2 e Faarfbild am sichtbare Beräich, deelt et an dräi schwaarz-wäiss - all Faarf gëtt an engem eegene virtuelle Kanal an engem separaten Paket iwwerdroen, obwuel et e puer Ofwäichunge vun de Standarden an der Struktur vu senge Frames.

D'Operatiounskontrolle Fändelfeld soll en Indikator sinn fir d'Präsenz oder d'Feele vum Operatiounskontrollfeld am Telemetrieframe. Dës 4 Bytes um Enn vum Frame déngen fir Feedback ze liwweren wann Dir d'Liwwerung vun Telecommand Frames kontrolléiert. Mir schwätzen iwwer si e bësse méi spéit.

D'Haapt- a virtuelle Kanal Frame Konter sinn Felder déi all Kéier wann e Frame geschéckt gëtt mat engem erhéicht ginn. Déngen als Indikatioun datt keen eenzege Frame verluer ass.

Den Telemetrie Frame Datestatus ass zwee méi Bytes vu Fändelen an Daten, vun deenen mir nëmmen e puer kucken.

E bëssen iwwer Raumkommunikatiounsnormen

De Secondary Header Fändelfeld muss en Indikator fir d'Präsenz oder d'Feele vun engem Secondary Header am Telemetrieframe sinn.

Wann Dir wëllt, kënnt Dir en zousätzlechen Header fir all Frame addéieren an all Donnéeën do no Ärem Diskretioun setzen.

Den Éischte Header Pointer Feld, wann de Synchroniséierungsfändel op "1" gesat ass, soll eng binär Duerstellung vun der Positioun vum éischte Oktett vum éischte Paket am Datefeld vum Telemetrieframe enthalen. D'Positioun gëtt vun 0 an opsteigend Uerdnung vum Ufank vum Datefeld gezielt. Wann et kee Start vum Paket am Datefeld vum Telemetrieframe gëtt, da muss de Pointer op dat éischt Headerfeld de Wäert an der binärer Representatioun "11111111111" hunn (dëst ka geschéien wann ee laange Paket iwwer méi wéi ee Frame verdeelt ass ).

Wann d'Datefeld en eidele Paket enthält (Idle Data), da sollt de Pointer op den éischte Header de Wäert an der binärer Representatioun "11111111110" hunn. Mat dësem Feld muss den Empfänger de Stream synchroniséieren. Dëst Feld garantéiert datt d'Synchroniséierung restauréiert gëtt och wann d'Frames erofgelooss ginn.

Dat ass, e Paket kann, soen, an der Mëtt vum 4. Frame ufänken an um Ufank vum 20. Dëst Feld gëtt benotzt fir säin Ufank ze fannen. D'Päckchen hunn och en Header deen seng Längt spezifizéiert, also wann e Pointer op den éischte Header fonnt gëtt, muss de Link-Layer-Prozessor et liesen, an domat bestëmmen wou de Paket enden.
Wann e Feelerkontrollfeld präsent ass, muss et an all Telemetrieframe fir e bestëmmte kierperleche Kanal uechter d'Missioun enthale sinn.

Dëst Feld gëtt mat der CRC Method berechent. D'Prozedur muss n-16 Bits vum Telemetrieframe huelen an d'Resultat vun der Berechnung an de leschten 16 Bits setzen.

TV Équipë

D'TV Kommando Frame huet e puer bedeitend Differenzen. Ënnert hinnen:

  1. Verschidde Rubrik Struktur
  2. Dynamesch Längt. Dëst bedeit datt d'Framelängt net steif gesat gëtt, wéi et an der Telemetrie gemaach gëtt, awer ka variéieren ofhängeg vun den iwwerdroe Päck.
  3. Packet Liwwerung Garantie Mechanismus. Dat heescht, d'Raumschëff muss no der Empfang d'Korrektheet vum Frameempfang bestätegen, oder d'Forwarding vun engem Frame ufroen, dee mat engem onkorrigéierbare Feeler opgeholl ka ginn.

E bëssen iwwer Raumkommunikatiounsnormen

E bëssen iwwer Raumkommunikatiounsnormen

Vill Felder sinn eis schonn aus dem Telemetrie Frame Header vertraut. Si hunn dee selwechten Zweck, also wäerte mir hei nëmmen déi nei Felder berücksichtegen.

E bësse vum Contournement Fändel muss benotzt ginn fir de Framekontrolle beim Empfänger ze kontrolléieren. E Wäert vun "0" fir dëse Fändel soll uginn datt de Frame en Typ A Frame ass a muss no FARM verifizéiert ginn. E Wäert vun "1" fir dëse Fändel soll dem Empfänger uginn datt de Frame en Typ B Frame ass a soll FARM Kontrollen ëmgoen.

Dëse Fändel informéiert den Empfänger ob e Frame Liwwerung Unerkennungsmechanismus mam Numm FARM - Frame Acceptance and Reporting Mechanism benotzt.

De Kontrollkommando Fändel muss benotzt ginn fir ze verstoen ob d'Datefeld e Kommando oder Daten transportéiert. Wann de Fändel "0" ass, da muss d'Datefeld Daten enthalen. Wann de Fändel "1" ass, da muss d'Datenfeld Kontrollinformatioun fir FARM enthalen.
FARM ass eng endlech Staatsmaschinn deenen hir Parameteren konfiguréiert kënne ginn.

RSVD. SPARE - reservéiert Stécker.

Et schéngt, datt CCSDS Pläng fir hinnen an Zukunft huet, a fir Réckmatch Onbedenklechkeet vun Protokoll Versiounen si reservéiert dës Stécker schonn an aktuell Versiounen vun der Norm.

D'Framelängtfeld muss eng Zuel an der Bitrepresentatioun enthalen déi gläich ass mat der Framelängt an Oktetten minus eent.

D'Frame-Datefeld muss den Header ouni Plazen verfollegen an eng ganz Zuel vun Oktetten enthalen, déi maximal 1019 Oktetten laang kënne sinn. Dëst Feld muss entweder Frame Dateblock oder Kontroll Kommando Informatiounen enthalen. De Frame Dateblock muss enthalen:

  • ganz Zuel vu Benotzerdatenoktetten
  • Segment Header gefollegt vun enger ganzer Zuel vu Benotzerdatenoktetten

Wann en Header präsent ass, da muss den Dateblock e Packet, e Set vu Packets oder en Deel vun engem Packet enthalen. En Dateblock ouni Header kann net Deeler vu Packets enthalen, awer ka privat Formatdatenblocken enthalen. Et folgt dovun datt en Header erfuerderlech ass wann de iwwerdroenen Dateblock net an ee Frame passt. E Block vun Date mat engem Header gëtt e Segment genannt

E bëssen iwwer Raumkommunikatiounsnormen

Den Zwee-Bit Fändelfeld muss enthalen:

  • "01" - wann den éischten Deel vun den Donnéeën am Dateblock ass
  • "00" - wann den mëttleren Deel vun den Donnéeën am Dateblock ass
  • "10" - wann dat lescht Stéck Daten am Dateblock ass
  • "11" - wann et keng Divisioun gëtt an een oder méi Pakete ganz an den Dateblock passen.

D'MAP ID Feld muss Nullen enthalen wann MAP Channels net benotzt ginn.
Heiansdo sinn 6 Bits, déi u virtuelle Kanäl zougewisen hunn, net genuch. A wann et néideg ass Daten op eng méi grouss Zuel vu Kanäl ze multiplexéieren, ginn aner 6 Bits vum Segment Header benotzt.

FARM

Loosst eis de Mechanismus vum Fonctionnement vum Personal Liwwerung Kontrollsystem méi no kucken. Dëse System suergt nëmme fir d'Aarbecht mat Frames vun Telekommandoen wéinst hirer Wichtegkeet (Telemetrie kann ëmmer erëm ugefrot ginn, an d'Raumschëff muss d'Buedemstatioun kloer héieren an ëmmer seng Befehle befollegen). Also, ugeholl, mir entscheeden eise Satellit ze reflash, an eng binär Datei vun 10 Kilobytes an der Gréisst ze schécken. Um Linkniveau ass d'Datei an 10 Rummen opgedeelt (0, 1, ..., 9), déi een nom aneren no uewen geschéckt ginn. Wann d'Iwwerdroung fäerdeg ass, muss de Satellit d'Korrektheet vum Paketempfang bestätegen, oder mellen op wéi engem Frame de Feeler geschitt ass. Dës Informatioun gëtt un d'Operatiounskontrollfeld am nootste Telemetrieframe geschéckt (Oder d'Raumschëff kann d'Transmissioun vun engem Idle Frame initiéieren wann et näischt ze soen huet). Baséierend op der erhalener Telemetrie suerge mir entweder datt alles gutt ass, oder mir fuere weider fir de Message nei ze schécken. Loosst eis unhuelen datt de Satellit de Frame #7 net héieren huet. Dat heescht, mir schécken him Frames 7, 8, 9. Wann et keng Äntwert gëtt, gëtt de ganze Paket erëm geschéckt (an esou weider e puer Mol bis mir mierken datt d'Versich ëmsoss sinn).

Drënner ass d'Struktur vum operationelle Kontrollfeld mat enger Beschreiwung vun e puer Felder. D'Donnéeën an dësem Feld nennen CLCW - Communication Link Control Word.

E bëssen iwwer Raumkommunikatiounsnormen

Well Dir einfach aus dem Bild den Zweck vun den Haaptfelder kënnt roden, an déi aner sinn langweileg ze kucken, verstoppen ech déi detailléiert Beschreiwung ënner engem Spoiler

Erklärung vun CLCW FelderKontroll Wuert Typ:
Fir dës Zort muss d'Kontrollwuert 0 enthalen

Kontroll Wuert Versioun (CLCW Versioun Zuel):
Fir dës Zort muss d'Kontrollwuert gläich "00" an der Bitrepresentatioun sinn.

Status Feld:
D'Benotzung vun dësem Feld gëtt fir all Missioun separat bestëmmt. Kann fir lokal Verbesserunge vu verschiddene Raumfaartagenturen benotzt ginn.

Virtuell Kanal Identifikatioun:
Muss den Identifizéierer vum virtuelle Kanal enthalen, mat deem dëst Kontrollwort assoziéiert ass.

Kierperlech Kanal Zougang Fändel:
De Fändel muss Informatiounen iwwer d'Bereetschaft vun der kierperlecher Schicht vum Empfänger ubidden. Wann déi kierperlech Schicht vum Empfänger net prett ass fir Frames ze kréien, da muss d'Feld "1" enthalen, soss "0".

Synchroniséierungsfehler Fändel:
De Fändel kann uginn datt déi kierperlech Schicht op engem schlechten Signalniveau funktionnéiert an d'Zuel vun de refuséierte Frames ze héich ass. D'Benotzung vun dësem Feld ass fakultativ; wann et benotzt gëtt, muss et "0" enthalen wann d'Synchroniséierung verfügbar ass, an "1" wann et net ass.

Blockéierend Fändel:
Dëse Bit soll de FARM Spär Status fir all virtuell Kanal enthalen. E Wäert vun "1" an dësem Feld soll uginn datt FARM behënnert ass a Frames ginn fir all virtuell Schicht verworf, soss "0".

Wait Fändel:
Dëse Bit soll benotzt ginn fir unzeginn datt den Empfänger keng Daten um spezifizéierte virtuelle Kanal veraarbecht kann. E Wäert vun "1" weist datt all Rummen op dësem virtuelle Kanal verworf ginn, soss "0".

Forward Fändel:
Dëse Fändel soll en "1" enthalen wann een oder méi Frames vum Typ A verworf goufen oder Lücken fonnt goufen, sou datt d'Resendung néideg ass. Den "0" Fändel weist datt et keng gefall Frames oder Sprangen goufen.

Äntwert Wäert:
Frame Nummer déi net kritt gouf. Bestëmmt vum Konter am Telecommand Frame Header

Netzwierkschicht

Loosst eis op dësem Niveau e bësse beréieren. Et ginn zwou Méiglechkeeten hei: entweder benotzt de Space Packet Protokoll, oder encapsuléiert all aner Protokoll am CCSDS Paket.

En Iwwerbléck vum Raumpaketprotokoll ass en Thema fir e separaten Artikel. Et ass entwéckelt fir sougenannte Applikatiounen z'erméiglechen, Daten nahtlos auszetauschen. All Applikatioun huet seng eege Adress a Basisfunktionalitéit fir Datenaustausch mat aneren Uwendungen. Et ginn och Servicer déi de Verkéier routen, d'Liwwerung kontrolléieren, etc.

Mat Verkapselung ass alles méi einfach a méi kloer. D'Standarden maachen et méiglech all Protokoller an CCSDS Paketen ze kapsuléieren andeems en zousätzlech Header derbäigesat gëtt.

E bëssen iwwer Raumkommunikatiounsnormen

Wou den Header verschidde Bedeitungen huet ofhängeg vun der Längt vum Protokoll, deen akapselt gëtt:

E bëssen iwwer Raumkommunikatiounsnormen

Hei ass den Haaptfeld d'Längt vun der Längt. Et kann variéieren vun 0 bis 4 Bytes. Och an dësem Header musst Dir d'Zort vum verschlësselte Protokoll mat der Tabell uginn vun hei.

IP Encapsulation benotzt en aneren Add-on fir d'Zort vum Paket ze bestëmmen.
Dir musst e méi Header addéieren, een Oktett laang:

E bëssen iwwer Raumkommunikatiounsnormen

Wou PID ass en anere Protokollidentifizéierer geholl vun hei

Konklusioun

Op den éischte Bléck kann et schéngen datt d'CCSDS Header extrem redundant sinn an e puer Felder kéinte verworf ginn. Tatsächlech ass d'Effizienz vum resultéierende Kanal (bis op den Netzwierkniveau) ongeféier 40%. Wéi och ëmmer, soubal de Besoin entsteet fir dës Normen ëmzesetzen, gëtt et kloer datt all Feld, all Rubrik seng eege wichteg Missioun huet, ignoréiert wat zu enger Rei vun Ambiguititéiten féiert.

Wann d'Habragesellschaft Interessi un dësem Thema weist, wäert ech frou sinn eng ganz Serie vun Artikelen ze publizéieren, déi d'Theorie an d'Praxis vun der Weltraumkommunikatioun gewidmet hunn. Merci fir är Opmierksamkeet!

Quellen vun Informatiounen

CCSDS 130.0-G-3 - Iwwersiicht vun de Raumkommunikatiounsprotokoller
CCSDS 131.0-B-2 - TM Synchroniséierung a Kanalkodéierung
CCSDS 132.0-B-2 - TM Space Data Link Protokoll
CCSDS 133.0-B-1 - Raumpaketprotokoll
CCSDS 133.1-B-2 - Encapsulation Service
CCSDS 231.0-B-3 - TC Synchroniséierung an Channel Coding
CCSDS 232.1-B-2 Kommunikatiounen Operatioun Prozedur-1
CCSDS 401.0-B-28 Radiofrequenz- a Modulatiounssystemer - Deel 1 (Äerdstatiounen a Raumschëff)
CCSDS 702.1-B-1 - IP iwwer CCSDS Raumlinks

PS
Schlag net ze schwéier wann Dir Ongenauegkeeten fannt. Mellt iech un an se gin gefléckt :)

Source: will.com

Setzt e Commentaire