Veidi kosmoseside standarditest

Veidi kosmoseside standarditest
Kuu Meteer M1
Allikas: vladtime.ru

Sissejuhatus

Kosmosetehnika töö on vĂ”imatu ilma raadiosidega, ja selles artiklis pĂŒĂŒan selgitada peamised ideed, mis on kujundanud standardite aluse, mille on vĂ€lja töötanud Rahvusvaheline KosmosesĂŒsteemide AndmeedastusnĂ”ukogu (Consultative Committee for Space Data Systems – CCSDS. Edasi kasutatakse seda lĂŒhendit).

See publikatsioon keskendub peamiselt kanalitasemele, kuid ka teiste tasemete pĂ”himĂ”isted tutvustatakse. Artikkel ei pretendeeri tĂ€ielikule ja ammendavale standardite kirjeldamisele. Nende sisu kohta saate tutvuda veebilehel CCSDS. Kuid need on ÀÀrmiselt keerulised ja aega nĂ”udvad, seetĂ”ttu kulus meil palju aega nende mĂ”istmisele, mistĂ”ttu tahan siin jagada pĂ”hiteavet, mis aitab teil kĂ”ike ĂŒlejÀÀnut kergemini mĂ”ista. Nii et alustame.

AuvÀÀrne missioon CCSDS

VĂ”ib-olla on kellelgi kĂŒsimus: miks peaks kĂ”ik jĂ€rgima standardeid, kui saab vĂ€lja töötada oma patenteeritud raadioside protokollide komplekti (vĂ”i oma standardi, uute funktsioonidega), suurendades seelĂ€bi sĂŒsteemi turvalisust?

Kogemus nÀitab, et kasulikum on jÀrgida CCSDS standardeid mitmel pÔhjusel:

  1. Standardite avaldamise komisjoni kuuluvad maailmas kÔikide suurte kosmoseksperdid, tuues endaga kaasa hindamatut kogemust, mis on saadud aastatepikkuse erinevate missioonide kavandamise ja elluviimise kÀigus. Oleks vÀga mÔttetu ignoreerida seda kogemust ja taas samadele kividel komistada.
  2. Need standardid on kooskÔlas juba olemasoleva maapealse seadme varustusega.
  3. Vigu kÔrvaldates vÔib alati pöörduda teiste agentuuride kolleegide poole, et nad korraldaksid oma maapealt seadmega suhtlemise seansi. Nagu nÀete, on standardid ÀÀrmiselt kasulikud, seega uurime nende pÔhikohti.

Arhitektuur

Standardid on dokumentide kogum, mis peegeldab kĂ”ige tavalist OSI (Open System Interconnection) mudelit, vĂ€lja arvatud see, et kanali tasandil on ĂŒhtsus piiratud telemeetriaga (kanal „alla“ – kosmos – Maa) ja telekĂ€skudega (kanal â€žĂŒles“).

Veidi kosmoseside standarditest

Vaadakem mĂ”nda taset lĂ€hemalt, alustades fĂŒĂŒsilisest ja liikudes ĂŒlespoole. Selgemaks arusaamiseks vaatame vastuvĂ”tja arhitektuuri. Edastaja on selle peegelpilt.

FĂŒĂŒsiline kiht

Sellel tasemel muudetakse moduleeritud raadi signaal bitivooguks. Standardid on siin peamiselt soovituslikud, kuna on keeruline abstraktselt mĂ”elda konkreetsetele riistvara realisatsioonidele. Siin on CCSDSi peamine roll mÀÀrata lubatud modulaarsused (BPSK, QPSK, 8-QAM jne) ja anda soovitusi sĂŒmbolite sĂŒnkroniseerimise, Doppleri nihke kompenseerimise jms implementatsiooni kohta.

SĂŒnkroniseerimise ja kodeerimise tase

Kuigi see on ametlikult kanalitasandi alamkiht, eristatakse seda tihti eraldi kihina oma tĂ€htsuse tĂ”ttu CCSDS standardite raames. See kiht muundab bitivoogude kaadriteks (telemeetria vĂ”i telekĂ€sud), millest rÀÀgime hiljem. Erinevalt fĂŒĂŒsilise tasandi sĂŒmboolsetest sĂŒnkroniseerimistest, mis vĂ”imaldavad saada korrektset bitivoogu, teostatakse siin kaadrisĂŒnkroniseerimist. Vaadakem, kuidas andmed sellel tasandil liiguvad (aluselt ĂŒlespoole):

Veidi kosmoseside standarditest

Kuid enne seda tasub öelda paar sÔna kodeerimise kohta. See protseduur on vajalik bitivead tuvastamiseks ja/vÔi parandamiseks, mis paratamatult tekivad andmete edastamisel raadio kanalite kaudu. Siin me dekodeerimismenetlusi ei kÀsitle, vaid saame vaid teadaolevad andmed, mis on vajalikud edasise kihtide töö loogika mÔistmiseks.

Koodid vĂ”ivad olla plokilised ja pidevad. Standardid ei kohusta kasutama kindlat kodeerimisviisi, kuid see peab olema olemas. Pidevateks peetakse konvolutsioonikoode. Nende abil kodeeritakse pidev bitivoog. Erinevalt plokikohtadest, kus andmed jagatakse koodiblokkideks ja neid saab dekodeerida ainult terviklike plokkide raames. Koodiblokk on edastatavad andmed ja sellele lisatud ĂŒlemÀÀrane teave, mis on vajalik andmete Ă”igsuse kontrollimiseks ja vĂ”imalike vigade parandamiseks. Ploki koode kuuluvad tuntud Reed-Solomoni koodid.

Kui kasutatakse konvolutsioonkodeerimist, sisenevad bitid esialgu dekoodrisse. Selle töö tulemus (kĂ”ik see toimub loomulikult pidevalt) on andmeplokid CADU (kanali juurdepÀÀsu andmeĂŒksus). See struktuur on vajalik kaadrisĂŒnkroniseerimiseks. Iga CADU lĂ”ppu on lisatud sĂŒnkroniseerimismarker (ASM – lisatud sĂŒnkroniseerimismarker). Need on eelnevalt teadaolevad 4 baiti, mille abil sĂŒnkroniseerija leiab CADU alguse ja lĂ”pu. Nii saavutatakse kaadrisĂŒnkroniseerimine.

JĂ€rgmine valikuline sĂŒnkroniseerimise ja kodeerimise etapp on seotud fĂŒĂŒsilise tasandi töö omadustega. See on derandomiseerimine. Probleem on selles, et sĂŒmboolse sĂŒnkroniseerimise saavutamiseks on vajalik sagedane vahetus sĂŒmbolite vahel. Kui edastame nĂ€iteks kilobaiti andmeid, mis koosnevad ainult ĂŒhikutest, siis sĂŒnkroniseerimine kaob. SeetĂ”ttu seguneb ĂŒlekande sisend perioodilise pseudojuhusliku jĂ€rjestusega, et nullide ja ĂŒksteiste tihedus oleks ĂŒhtlane.

SeejĂ€rel toimub plokkidega koodide dekodeerimine ning see, mis alles jÀÀb, on sĂŒnkroniseerimise ja kodeerimise tasandi lĂ”ppprodukt – kaader.

Kanalitase

Ühel pool saab kanalitasandi töötleja kaadreid ning teiselt poolt vĂ€ljundit pakette. Kuna pakettide suurus pole formaalselt piiratud, on nende usaldusvÀÀrseks edastamiseks vajalik nende jagamine vĂ€iksemate struktuurideks – kaadriteks. Siin vaatleme kahte alamjaotust: eraldi telemeetri (TM) ja telecommand (TC) jaoks.

Telemeetria

Lihtsamalt öeldes, need on andmed, mida maapealne jaam KА-lt saab. KĂ”ik edastatavad andmed jagunevad vĂ€ikesteks fikseeritud pikkusega fragmentideks – kaadriteks, mis sisaldavad edastatavaid andmeid ja teenindusvĂ€lju. Vaatame kaadri struktuuri lĂ€hemalt:

Veidi kosmoseside standarditest

Alustame telemeetriakaadri pÔhipealkirjaga. Edasi luban endal mÔnes kohas lihtsalt standardeid tÔlkida, samal ajal andes mÔned selgitused.

Veidi kosmoseside standarditest

Peakanali identifikaatori (Master Channel ID) vÀlja tuleb sisaldada kaadri versiooninumbrit ja seadme identifikaatorit.

Iga KА, CCSDSi standardite kohaselt peab olema oma unikaalne identifikaator, mille abil saab raamest mÀÀrata, millisele seadmele see kuulub. Formaalset taotlust seadme registreerimiseks on vajalik esitada, ja selle nimi koos identifikaatoriga avaldatakse avatud allikates. Kuid tihti ignoreerivad Venemaa tootjad seda protseduuri, omistades seadmele suvalise identifikaatori. Raami versiooninumber aitab mÀÀratleda, millist versiooni standarditest kasutatakse, et raami Ă”igesti lugeda. Siin kĂ€sitleme ainult kĂ”ige konservatiivsemat standardit versiooniga „0”.

Virtuaalse kanali identifikaatori (Virtual Channel ID) vÀljas peab olema VCID kanali kohta, kust pakett saabus. VCID valikul pole mingeid piiranguid, sealhulgas virtuaalsed kanalid ei pea olema numbritega jÀrjestatud.

Sageli on vajalik edastatavaid andmeid multipekteerida. Selleks on olemas virtuaalsete kanalite mehhanism. NÀiteks edastab satelliit Meteor-M2 nÀhtavas spektris vÀrvi pilti, jagades selle kolmeks mustvalgeks - iga vÀrv edastatakse oma virtuaalses kanalis eraldi paketina, kuigi selle kaadristruktuuris on teatud kÔrvalekalle standarditest.

Operational Control'i lipu vÀli peaks olema indikaator, kas Operational Control vÀli on telemeetriakaadris olemas vÔi mitte. Need 4 bitti kaadrin lÔpus teenivad tagasiside sÀilitamiseks, kui kontrollitakse telecommandide kaadrite kohaletoimetamist. Nendest rÀÀgime natuke hiljem.

Peamise ja virtuaalse kanali kaadrikoodide loendurid on vĂ€ljad, mis suurenevad ĂŒhe vĂ”rra iga kaadri saatmisel. Need on indikaatoriteks, et ĂŒkski kaader ei ole kaduma lĂ€inud.

Telemeetriakaadri andmete staatus on veel kaks bitti lippude ja andmete kohta, millest vaatame lÀbi vaid mÔningaid.

Veidi kosmoseside standarditest

Teise pÀise (Secondary Header) lippude vÀli peaks olema indikaator, kas teise pÀise (Secondary Header) olemasolu telemeetriakaadris on vÔi mitte.

Soovi korral saab igale kaadrile lisada tÀiendava pealkirja ning seal vÔib paigutada igasuguseid andmeid vastavalt oma ÀranÀgemisele.

Esimese pealkirja nĂ€itaja vĂ€li (First Header Pointer) peab, kui sĂŒnkroonimislipu vÀÀrtus on „1”, sisaldama binaarset esitusviisi esimese octeti asukohast esmase paketi andmevĂ€ljas (Data Field) telemeetria kaadris. Asukoht arvutatakse nullist alates andmevĂ€lja algusest kasvavas jĂ€rjestuses. Kui andmevĂ€ljas ei ole paketi algust, peab esimese pealkirja nĂ€itaja vĂ€li olema binaarses esituses „11111111111” (see vĂ”ib juhtuda, kui ĂŒks pikk pakett katab rohkem kui ĂŒhe kaadri).

Kui andmevĂ€ljas on tĂŒhine pakett (Idle Data), siis peab esimese pealkirja nĂ€itaja olema binaarses esituses „11111111110”. Selle vĂ€li kaudu peab vastuvĂ”tja tagama voolu sĂŒnkroniseerimise. See vĂ€li garanteerib sĂŒnkroniseerimise taastamise isegi juhul, kui kaadreid jÀÀb vahele.

See, the packet may start, for instance, in the middle of frame 4 and end at the beginning of frame 20. This field serves to find its start. Packets also have a header, which specifies its length, so when locating the pointer to the first header, the link-layer handler must read it, thus determining where the packet ends.
If the error control field is present, it must be included in each telemetry frame for a specific physical channel throughout the mission.

This field is calculated using the CRC method. The procedure should take n-16 bits of the telemetry frame and insert the calculation result into the last 16 bits.

Telecommands

The telecommand frame has several significant differences. Among them:

  1. Different header structure
  2. Dynamic length. This means that the frame length is not fixed as it is in telemetry but can change depending on the packets being transmitted.
  3. Pakettide kohaletoimetamise garantiimehhanism. See tĂ€hendab, et KА peab pĂ€rast vastuvĂ”tmist kinnitama kaadrite Ă”igsuse vĂ”i kĂŒsima edastamist alates kaadrist, mille juures vĂ”is juhtuda parandamatu viga.

Veidi kosmoseside standarditest

Veidi kosmoseside standarditest

Paljud vĂ€ljad on meile juba tuttavad telemeetria kaadri pĂ€isest. Need tĂ€idavad samu ĂŒlesandeid, seega vaatame siin ainult uusi vĂ€lju.

Üks ĂŒmbersuunamisflaagi bitti kasutatakse kaadrite kontrollimiseks vastuvĂ”tjas. Selle lipu vÀÀrtus "0" peab nĂ€itama, et see kaader on tĂŒĂŒpi A ja selle kontroll peaks toimuma FARM-i kohaselt. Selle lipu vÀÀrtus "1" peab nĂ€itama vastuvĂ”tjale, et see kaader on tĂŒĂŒpi B ja peab FARM-i kohaselt kontrollimise kĂ”rvale jĂ€tma.

See lipp annab vastuvÔtjale teada, kas kasutada kaadrite kohaletoimetamise kinnitamise mehhanismi, mida nimetatakse FARM - Frame Acceptance and Reporting Mechanism.

Juhtimisriba lipp peaks nĂ€itama, kas andmevĂ€li edastab kĂ€sku vĂ”i andmeid. Kui lipp on „0”, peab andmevĂ€li sisaldama andmeid. Kui lipp on „1”, peab andmevĂ€li sisaldama kontrollteavet FARM-i jaoks.
FARM on konfigureeritav lÔppautomaat.

RSVD. SPARE – reserveeritud bitid.

Tundub, et CCSDS-l on nende osas tulevikuks plaanid ja tagasema ĂŒhilduvuse nimel on nad juba praegustes standardi versioonides need bitid reserveerinud.

Raami pikkuse vĂ€li peab sisaldama bitivormingus arvu, mis on raami pikkus oktetites miinus ĂŒks.

Raami andmevÀli peab jÀrgima pead ilma vahedeta ja sisaldama tÀisarv oktete, mille maksimaalne pikkus on 1019 oktetit. See vÀli peab sisaldama kas andmebloki vÔi juhtimisteavet. Andmeplokk peab sisaldama:

  • tĂ€isarv oktete kasutajaandmeid
  • segmenti pealkirja ja sellele jĂ€rgnevaid tĂ€isarv oktete kasutajaandmeid

Kui pealkiri on esitatud, peab andmeplokk sisaldama Paketti, mitmeid Pakette vĂ”i selle osa. Pealkirjata andmeplokk ei tohi sisaldada Pakettide osi, kuid vĂ”ib sisaldada erivorminguga andmeblokke. SeetĂ”ttu on pealkiri vajalik, kui edastatav andmeplokk ei mahu ĂŒhte kaadrisse. Pealkirjaga andmeplokki nimetatakse segmendiks.

Veidi kosmoseside standarditest

Kahe bitise lippude vÀli peab sisaldama:

  • «01» — kui andmete esimene osa asub andmeplokis
  • «00» — kui andmete keskmine osa asub andmeplokis
  • «10» — kui andmete viimane osa asub andmeplokis
  • «11» — kui jagamist ei toimu ja andmeplokki mahub tĂ€ielikult ĂŒks vĂ”i mitu paketti.

MAP identifikaatori vÀli peab sisaldama nullid, kui MAP kanaleid ei kasutata.
MÔnikord on 6 bitti, mis on mÀÀratud virtuaalsetele kanalitele, ebapiisavad. Ja kui on vajalik andmete multipleximine suurema arvu kanalite jaoks, kasutatakse veel 6 bitti segmendi pealkirjast.

FARM

Vaatame lĂ€hemalt, kuidas toimib raamide kohaletoimetamise kontrollsĂŒsteem. See sĂŒsteem on mĂ”eldud ainult telekĂ€skude raamidega töötamiseks, kuna need on olulised (telemootori saab alati uuesti kĂŒsida, aga KА peab kuulma maapealset jaama selgelt ning alistuma tema kĂ€skudele). Oletame, et oleme otsustanud meie satelliiti uuesti programmeerida ja saadame tema pardale 10 kilobaidi suuruse binaarfaili. Kanali tasemel jagatakse fail 10 raami (0, 1, 
, 9) ja need saadetakse jĂ€rjestikku ĂŒles. Kui edastamine on lĂ”ppenud, peab KА kinnitama paketi vastuvĂ”tu Ă”igust, vĂ”i teatama, millises raamis esines viga. See teave saadetakse operatiivse kontrolli vĂ€lja jĂ€rgmises telemeetriaraamis (vĂ”i vĂ”ib KА algatada tĂŒhja raami (idle frame) edastamise, kui tal pole midagi öelda). Saadud telemeetriast oleme kas veendunud, et kĂ”ik on korras, vĂ”i alustame sĂ”numi edastamist uuesti. Oletame, et satelliit ei kuulnud raami nr 7. Sel juhul saadame talle raamid 7, 8, 9. Kui vastust ei tule, saadetakse pakett tĂ€ielikult uuesti (ja nii mitu korda, kuni mĂ”istame, et katsed on asjatud).

Allpool on esitatud operaatori kontrolli vĂ€lja struktuur koos mĂ”nede vĂ€ljade kirjeldusega. Selles vĂ€ljas sisalduvaid andmeid nimetatakse CLCW – Communication Link Control Word.

Veidi kosmoseside standarditest

Kuna pildilt on ĂŒsna lihtne aru saada pĂ”hivĂ€ljade otstarbest ning teisi vaadata igav, peidan detaillise kirjelduse spoilerisse.

CLCW vĂ€ljade deĆĄifreerimineKontrollsĂ”na tĂŒĂŒp (Control Word Type):
Selle kontrollsĂ”na tĂŒĂŒbi puhul peab see sisaldama 0.

KontrollsÔna versiooni number (CLCW Version Number):
Selle kontrollsĂ”na tĂŒĂŒbi puhul peab bittide esitus olema "00".

Oleku vÀli (Status Field):
Selle vÀlja kasutamine mÀÀratakse igale missioonile eraldi. Seda saab kasutada kohalike tÀiustuste jaoks erinevates kosmoseagentuurides.

Virtuaalkanali identifikaator (Virtual Channel Identification):
Peab sisaldama virtuaalkanali identifikaatorit, millega see kontrollsÔna on seotud.

Juurtasandi pÀÀsulipp (Flag for Access to Physical Channel):
Lipp peab andma teavet vastuvĂ”tja fĂŒĂŒsilise taseme valmisoleku kohta. Kui vastuvĂ”tja fĂŒĂŒsiline tase ei ole kaadreid vastu vĂ”tmiseks valmis, peab vĂ€li sisaldama "1"; muidu "0".

SĂŒnkroonimise vea lipp:
Lipp vĂ”ib anda teada, et fĂŒĂŒsiline tase töötab halva signaali tasemel ja tagasi lĂŒkatud kaadrite arv on liiga suur. Selle vĂ€lja kasutamine on valikuline; kui seda kasutatakse, peaks see sisaldama '0' sĂŒnkroonimise olemasolu korral ja '1' sĂŒnkroonimise puudumise korral.

TÔkestamise lipp:
See bitti peaks sisaldama FARMi blokeeringu staatust iga virtuaalkanali jaoks. VÀÀrtus '1' sellel vĂ€ljal peaks viitama sellele, et FARM on blokeeritud ja kaadreid hakatakse tagasi lĂŒkkama iga virtuaaltaseme jaoks, muidu '0'.

Ootamise lipp:
See bitti peaks kasutama selleks, et osutada, et vastuvĂ”tja ei suuda antud virtuaalkanali andmeid töödelda. VÀÀrtus '1' osutab, et kĂ”ik kaadrid hakatakse tagasi lĂŒkkama antud virtuaalkanalis, muidu '0'.

Edastamise lipp:
See lipp peaks sisaldama '1', kui ĂŒks vĂ”i enam A-tĂŒĂŒpi kaadrit on tagasi lĂŒkatud vĂ”i on tuvastatud puudujÀÀke, seega on vajalik edastamine. Lipp '0' nĂ€itab, et tagasi lĂŒkatud kaadreid ja puudujÀÀke ei olnud.

Vastuse vÀÀrtus:
Raami number, mis ei olnud vastu vÔetud. MÀÀratakse sidekaardil oleva loenduri jÀrgi.

VÔrgutasand

Veidi kÀsitleme ka seda taset. Siin on kaks vÔimalust: kas kasutada kosmosepaketi protokolli vÔi encapsuleerida mÔni muu protokoll CCSDS paketti.

Kosmosepaketi protokolli ĂŒlevaade on teema eraldi artikli jaoks. See on loodud selleks, et nii öelda rakendused saaksid sujuvalt andmeid vahetada. Igal rakendusel on oma aadress ja pĂ”hifunktsionaalsus teistega andmete vahetamiseks. Samuti on olemas teenuseid, mis tegelevad liikluse suunamise, kohaletoimetamise kontrolli jne.

Encapsuleerimine on lihtsam ja arusaadavam. Standardid vÔimaldavad encapsuleerida CCSDS pakettidesse mis tahes protokolle, lisades tÀiendava pÔhiteate.

Veidi kosmoseside standarditest

Kus peal on erinevad tÀhendused, olenevalt encapsuleeritava protokolli pikkusest:

Veidi kosmoseside standarditest

Siin on pĂ”hivĂ€li – pikkuse pikkus. See vĂ”ib varieeruda 0 kuni 4 baitini. Samuti peab selles pealkirjas olema nĂ€idatud encapsuleeritud protokolli tĂŒĂŒp, kasutades tabelit. siit.

IP kapseldamisel kasutatakse veel ĂŒhte kihti, et mÀÀrata paketi tĂŒĂŒp.
Lisada tuleb veel ĂŒks pealkiri, mille pikkus on vĂ€hemalt ĂŒks oktet:

Veidi kosmoseside standarditest

Kus PID on veel ĂŒks protokolli identifikaator, mis on saadud siit

KokkuvÔte

Esmapilgul vĂ”ib tunduda, et CCSDS pealkirjad on ÀÀrmiselt liialdatud ning teatud vĂ€ljad oleks vĂ”imalik kĂ”rvale jĂ€tta. TĂ”epoolest, tulemuseks oleva kanali efektiivsus (kuni vĂ”rgu tasandini) on umbes 40%. Kuid niipea kui on vajalik nende standardite rakendamine, saab selgeks, et igal vĂ€ljal, igal pealkirjal on oma oluline ĂŒlesanne, mille eiramine toob kaasa mitmeid mitmetĂ€henduslikkuseid.

Kui habra-kogukond selle teema vastu huvi tunneb, olen rÔÔmus, et saaksin avaldada veel mitmeid artikleid, mis kÀsitlevad kosmosekommunikatsiooni teooriat ja praktikat. AitÀh tÀhelepanu eest!

Allikad

CCSDS 130.0-G-3 — Kosmosekommunikatsiooni protokollide ĂŒlevaade
CCSDS 131.0-B-2 — TM sĂŒnkroniseerimine ja kanali kodeerimine
CCSDS 132.0-B-2 — TM kosmilise andmeĂŒlekande protokoll
CCSDS 133.0-B-1 — Kosmosepaketi protokoll
CCSDS 133.1-B-2 — Kapseldamise teenus
CCSDS 231.0-B-3 — TC sĂŒnkroniseerimine ja kanali kodeerimine
CCSDS 232.1-B-2 Kommunikatsiooni toimimise menetlus-1
CCSDS 401.0-B-28 Raadiofrekventsi ja modulaarsĂŒsteemid — Osa 1 (Maa ja kosmoselaevad)
CCSDS 702.1-B-1 — IP CCSDS kosmoseĂŒhenduste kaudu

P.S.
Ärge lööge liiga kĂ”vasti, kui leiate ebatĂ€psusi. Andke neist teada ja need parandatakse 🙂

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster