In bytsje oer romte kommunikaasje noarmen

In bytsje oer romte kommunikaasje noarmen
Meteor M1 satellyt
Boarne: vladtime.ru

Ynlieding

De wurking fan romtetechnology is ûnmooglik sûnder radiokommunikaasje, en yn dit artikel sil ik besykje de haadideeën te ferklearjen dy't de basis foarmen fan 'e noarmen ûntwikkele troch it International Advisory Committee for Space Data Systems (CCSDS. Dizze ôfkoarting sil hjirûnder brûkt wurde) .

Dizze post sil primêr rjochtsje op 'e gegevenslinklaach, mar basisbegripen foar oare lagen sille ek wurde yntrodusearre. Dit artikel stelt op gjin inkelde manier foar as in yngeande en folsleine beskriuwing fan 'e noarmen. Jo kinne it besjen op side CCSDS. Se binne lykwols heul lestich te begripen, en wy hawwe in protte tiid trochbrocht om se te begripen, dus hjir wol ik basisynformaasje leverje, wêrby't it folle makliker wêze sil om al it oare te begripen. Dus, litte wy begjinne.

Noble Mission fan CCSDS

Faaks hat immen in fraach: wêrom soe elkenien har oan noarmen hâlde as jo jo eigen proprietêre radioprotokolstapel ûntwikkelje kinne (of jo eigen standert, mei blackjack en nije funksjes), en dêrmei de feiligens fan it systeem ferheegje?

As de praktyk docht bliken, is it mear rendabel om te folgjen oan CCSDS noarmen om it folgjende oantal redenen:

  1. De kommisje ferantwurdlik foar it publisearjen fan de noarmen omfettet fertsjintwurdigers fan alle grutte loftfeart-agintskip yn 'e wrâld, en bringt ûnskatbere wearde ûnderfining opdien oer in protte jierren fan ûntwerp en eksploitaasje fan ferskate misjes. It soe heul absurd wêze om dizze ûnderfining te negearjen en opnij op har rake te stappen.
  2. Dizze noarmen wurde stipe troch grûnstasjonsapparatuer dy't al op 'e merke binne.
  3. By it oplossen fan problemen kinne jo altyd help sykje fan kollega's fan oare ynstânsjes, sadat se in kommunikaasje sesje kinne útfiere mei it apparaat fanút har grûnstasjon. Lykas jo kinne sjen, binne noarmen in ekstreem nuttich ding, dus litte wy nei har haadpunten sjen.

arsjitektuer

De noarmen binne in set dokuminten dy't it meast foarkommende OSI-model (Open System Interconnection) reflektearje, útsein dat op it nivo fan gegevensferbining de mienskiplikens beheind is ta de ferdieling yn telemetry (downlink - romte - Earth) en telekommando's (uplink).

In bytsje oer romte kommunikaasje noarmen

Litte wy nei guon fan 'e nivo's yn mear detail sjen, begjinnend mei de fysike en omheech gean. Foar gruttere dúdlikens sille wy de arsjitektuer fan 'e ûntfangende kant beskôgje. De útstjoerende is syn spegelbyld.

Fysike laach

Op dit nivo wurdt it modulearre radiosinjaal omset yn in bitstream. De noarmen hjir binne benammen advisearjend fan aard, om't op dit nivo it lestich is om te abstraheren fan 'e spesifike ymplemintaasje fan' e hardware. Hjir is de kaairol fan CCSDS om de akseptabele modulaasjes te definiearjen (BPSK, QPSK, 8-QAM, ensfh.) En jouwe guon oanbefellings oer de ymplemintaasje fan symboalsyngronisaasjemeganismen, Doppler-kompensaasje, ensfh.

Syngronisaasje en kodearring nivo

Formeel is it in sublaach fan 'e gegevenskeppelingslaach, mar wurdt faaks skieden yn in aparte laach fanwege har belang binnen de CCSDS-standerts. Dizze laach konvertearret de bitstream yn saneamde frames (telemetry of telekommando's), dêr't wy letter oer prate. Oars as symboalsyngronisaasje by de fysike laach, wêrmei jo de juste bitstream kinne krije, wurdt framesyngronisaasje hjir útfierd. Beskôgje it paad dat gegevens op dit nivo nimme (fan ûnderen nei boppen):

In bytsje oer romte kommunikaasje noarmen

Dêrfoar is it lykwols wurdich in pear wurden te sizzen oer kodearring. Dizze proseduere is nedich om bitflaters te finen en/of te korrigearjen dy't ûnûntkomber foarkomme by it ferstjoeren fan gegevens oer in radiokanaal. Hjir sille wy dekodearringprosedueres net beskôgje, mar sille allinich de ynformaasje krije dy't nedich is om de fierdere logika fan it nivo te begripen.

Koades kinne blokkearje as kontinu. De noarmen twinge it gebrûk fan in spesifyk type kodearring net, mar it moat as sadanich oanwêzich wêze. Trochrinnende koades omfetsje konvolúsjonele koades. Se wurde brûkt om in trochgeande bitstream te kodearjen. Dit is yn tsjinstelling ta blok koades, dêr't gegevens wurde ferdield yn codeblocks en kin allinnich wurde dekodearre binnen folsleine blokken. It koadeblok fertsjintwurdiget de oerdroegen gegevens en de taheakke oerstallige ynformaasje dy't nedich is om de krektens fan 'e ûntfongen gegevens te kontrolearjen en mooglike flaters te korrigearjen. Blokkoades omfetsje de ferneamde Reed-Solomon-koades.

As konvolúsjonele kodearring wurdt brûkt, komt de bitstream fan it begjin ôf yn de dekoder. It resultaat fan har wurk (dit alles bart fansels kontinu) binne CADU (Channel Access Data Unit) gegevensblokken. Dizze struktuer is nedich foar frame syngronisaasje. Oan 'e ein fan elke CADU is d'r in taheakke synch maker (ASM). Dit binne 4 bytes dy't foarôf bekend binne, wêrmei't de syngronisator it begjin en ein fan 'e CADU fynt. Dit is hoe't frame syngronisaasje wurdt berikt.

De folgjende opsjonele poadium fan 'e syngronisaasje- en kodearringlaach is ferbûn mei de eigenaardichheden fan' e fysike laach. Dit is derandomisaasje. It feit is dat te kommen ta symboal syngronisaasje, faak wikseljen tusken symboalen is nedich. Dus, as wy bygelyks in kilobyte oan gegevens oerstjoere dy't folslein út ienen besteane, sil syngronisaasje ferlern gean. Dêrom, tidens oerdracht, de ynfier gegevens wurdt mingd mei in periodike pseudo-willekeurich folchoarder sadat de tichtheid fan nullen en ienen is unifoarm.

Dêrnei wurde de blokkoades dekodearre, en wat bliuwt is it einprodukt fan it syngronisaasje- en kodearringnivo - in frame.

Data Link Layer

Oan 'e iene kant ûntfangt de koppelingslaach-prosessor frames, en oan' e oare kant jout it pakketten út. Sûnt de grutte fan pakketten is net formeel beheind, foar har betroubere oerdracht is it nedich om se te brekken yn lytsere struktueren - frames. Hjir sille wy nei twa subseksjes sjen: apart foar telemetry (TM) en telekommando's (TC).

Telemetry

Simply set, dit binne de gegevens dy't it grûnstasjon ûntfangt fan it romteskip. Alle oerdroegen ynformaasje is ferdield yn lytse fragminten fan in fêste lingte - frames dy't befetsje oerdroegen gegevens en tsjinst fjilden. Litte wy in tichterby besjen op 'e framestruktuer:

In bytsje oer romte kommunikaasje noarmen

En litte wy ús konsideraasje begjinne mei de haadkop fan it telemetryframe. Fierder sil ik my talitte om de noarmen op guon plakken gewoan oer te setten, ûnderweis wat dúdlikens te jaan.

In bytsje oer romte kommunikaasje noarmen

It fjild Master Channel ID moat it frame ferzjenûmer en de apparaatidentifikaasje befetsje.

Elk romteskip moat, neffens CCSDS-standerts, in eigen unike identifier hawwe, wêrmei't men, mei in frame, kin bepale hokker apparaat it heart. Formeel is it nedich om in oanfraach yn te tsjinjen om it apparaat te registrearjen, en syn namme, tegearre mei syn identifier, sil wurde publisearre yn iepen boarnen. Lykwols, Russyske fabrikanten faak negearje dizze proseduere, it tawizen fan in willekeurige identifier oan it apparaat. It frame ferzjenûmer helpt te bepalen hokker ferzje fan 'e noarmen wurdt brûkt om it frame korrekt te lêzen. Hjir sille wy beskôgje allinnich de meast konservative standert mei ferzje "0".

It fjild Virtual Channel ID moat de VCID befetsje fan it kanaal wêrfan it pakket kaam. D'r binne gjin beheiningen foar de kar fan VCID; benammen firtuele kanalen binne net needsaaklik opfolgjend nûmere.

Hiel faak is d'r ferlet om oerdroegen gegevens te multiplexearjen. Foar dit doel is d'r in meganisme fan firtuele kanalen. Bygelyks, de Meteor-M2 satellyt stjoert in kleurôfbylding yn it sichtbere berik, ferdield yn trije swart en wyt - elke kleur wurdt oerbrocht yn in eigen firtuele kanaal yn in apart pakket, hoewol d'r wat ôfwiking is fan 'e noarmen yn' e struktuer fan syn frames.

It flaggefjild Operational Control sil in yndikator wêze fan de oanwêzigens of ôfwêzigens fan it Operational Control-fjild yn it telemetryframe. Dizze 4 bytes oan 'e ein fan it frame tsjinje om feedback te jaan by it kontrolearjen fan de levering fan telekommandoframes. Wy sille it efkes letter oer har.

De haad- en firtuele kanaalframe-tellers binne fjilden dy't elke kear as in frame wurdt ferstjoerd mei ien wurde ferhege. Tsjinje as in yndikator dat net ien frame ferlern gien is.

De gegevensstatus foar telemetryframe is noch twa bytes fan flaggen en gegevens, wêrfan wy mar in pear sille sjen.

In bytsje oer romte kommunikaasje noarmen

It flaggefjild foar Secondary Header moat in yndikator wêze fan de oanwêzigens of ôfwêzigens fan in Secondary Header yn it telemetryframe.

As jo ​​​​wolle, kinne jo in ekstra koptekst tafoegje oan elk frame en alle gegevens dêr nei jo goedtinken pleatse.

It fjild First Header Pointer, as de syngronisaasjeflagge is ynsteld op "1", sil in binêre fertsjintwurdiging befetsje fan 'e posysje fan it earste oktet fan it earste pakket yn it gegevensfjild fan it telemetryframe. De posysje wurdt teld fan 0 yn oprinnende folchoarder fan it begjin fan it gegevensfjild. As d'r gjin begjin fan it pakket is yn it gegevensfjild fan it telemetryframe, dan moat de oanwizer nei it earste koptekstfjild de wearde hawwe yn binêre fertsjintwurdiging "11111111111" (dit kin barre as ien lang pakket ferspraat is oer mear dan ien frame ).

As it gegevensfjild in leech pakket befettet (Idle Data), dan moat de oanwizer nei de earste kop de wearde hawwe yn binêre fertsjintwurdiging "11111111110". Mei dit fjild moat de ûntfanger de stream syngronisearje. Dit fjild soarget derfoar dat syngronisaasje wurdt hersteld sels as frames falle.

Dat is, in pakket kin, sizze, begjinne yn 'e midden fan' e 4e frame en einigje oan it begjin fan 'e 20e. Dit fjild wurdt brûkt om it begjin te finen. Pakketten hawwe ek in koptekst dy't de lingte spesifisearret, dus as in oanwizer nei de earste koptekst wurdt fûn, moat de ferwizingslaach-prosessor it lêze, en bepale dêrmei wêr't it pakket sil einigje.
As in flaterkontrôlefjild oanwêzich is, moat it yn elke telemetryframe wurde befette foar in bepaald fysyk kanaal yn 'e missy.

Dit fjild wurdt berekkene mei de CRC-metoade. De proseduere moat nimme n-16 bits fan de telemetry frame en ynfoegje it resultaat fan de berekkening yn de lêste 16 bits.

TV teams

It TV-kommando-frame hat ferskate wichtige ferskillen. Under harren:

  1. Ferskillende heading struktuer
  2. Dynamyske lingte. Dit betsjut dat de frame lingte is net ynsteld stiif, lykas wurdt dien yn telemetry, mar kin fariearje ôfhinklik fan de oerdroegen pakketten.
  3. Pakket levering garânsje meganisme. Dat is, it romteskip moat, nei ûntfangst, de krektens fan frame-ûntfangst befêstigje, of fersykje fersykje fan in frame dat koe wurde ûntfongen mei in net te korrigearjen flater.

In bytsje oer romte kommunikaasje noarmen

In bytsje oer romte kommunikaasje noarmen

In protte fjilden binne ús al bekend fan 'e koptekst fan telemetryframe. Se hawwe itselde doel, dus hjir sille wy allinich de nije fjilden beskôgje.

Ien bit fan 'e bypassflagge moat brûkt wurde om framekontrôle by de ûntfanger te kontrolearjen. In wearde fan "0" foar dizze flagge sil oanjaan dat it frame in type A-frame is en moat wurde ferifiearre neffens FARM. In wearde fan "1" foar dizze flagge moat oanjaan oan de ûntfanger dat it frame is in Type B frame en moat omgean FARM kontrôle.

Dizze flagge ynformearret de ûntfanger oft it brûken fan in frame levering erkenning meganisme neamd FARM - Frame Acceptance and Reporting Mechanism.

De flagge foar kontrôlekommando moat brûkt wurde om te begripen oft it gegevensfjild in kommando as gegevens ferfiert. As de flagge "0" is, dan moat it gegevensfjild gegevens befetsje. As de flagge "1" is, dan moat it gegevensfjild kontrôleynformaasje foar FARM befetsje.
FARM is in einige steat masine waans parameters kinne wurde konfigurearre.

RSVD. SPARE - reservearre bits.

It liket derop dat CCSDS plannen hat foar har yn 'e takomst, en foar efterkompatibiliteit fan protokolferzjes hawwe se dizze bits al reservearre yn hjoeddeistige ferzjes fan' e standert.

It frame lingte fjild moat befetsje in getal yn bit fertsjintwurdiging dat is gelyk oan de frame lingte yn oktetten minus ien.

It framegegevensfjild moat de koptekst sûnder spaasjes folgje en in hiel getal oktetten befetsje, dat maksimaal 1019 oktetten lang kin wêze. Dit fjild moat befetsje of frame gegevens blok of kontrôle kommando ynformaasje. It framegegevensblok moat befetsje:

  • integer oantal brûker gegevens oktetten
  • segment header folge troch in hiel oantal brûker gegevens octets

As in koptekst oanwêzich is, dan moat it gegevensblok in pakket, in set fan pakketten, of in diel fan in pakket befetsje. In gegevensblok sûnder koptekst kin gjin dielen fan pakketten befetsje, mar kin gegevensblokken yn priveeformaat befetsje. Dêrút folget dat in koptekst nedich is as it oerdroegen gegevensblok net yn ien frame past. In blok gegevens dat in koptekst hat wurdt in segmint neamd

In bytsje oer romte kommunikaasje noarmen

It twa-bit flaggefjild moat befetsje:

  • "01" - as it earste diel fan 'e gegevens yn it gegevensblok is
  • "00" - as it middelste diel fan 'e gegevens yn it gegevensblok is
  • "10" - as it lêste stik gegevens yn it gegevensblok is
  • "11" - as d'r gjin ferdieling is en ien of mear pakketten passe folslein yn it gegevensblok.

It fjild MAP ID moat nullen befetsje as MAP-kanalen net brûkt wurde.
Soms binne 6 bits tawiisd oan firtuele kanalen net genôch. En as it nedich is om gegevens te multiplexearjen op in grutter oantal kanalen, wurde nochris 6 bits fan 'e segmentkoptekst brûkt.

PLEATS

Litte wy in tichterby besjen op it meganisme fan it funksjonearjen fan it personielferlieningskontrôlesysteem. Dit systeem soarget allinich foar it wurkjen mei frames fan telekommando's fanwegen har belang (telemetry kin altyd wer oanfrege wurde, en it romteskip moat it grûnstasjon dúdlik hearre en har kommando's altyd folgje). Dus, stel dat wy beslute om ús satellyt opnij te meitsjen en in binêre triem fan 10 kilobytes yn grutte nei it te stjoeren. Op it keppelingsnivo is it bestân ferdield yn 10 frames (0, 1, ..., 9), dy't ien foar ien nei boppen stjoerd wurde. As de oerdracht foltôge is, moat de satellyt de krektens fan 'e pakketûntfangst befestigje, of rapportearje oer hokker frame de flater barde. Dizze ynformaasje wurdt stjoerd nei it operasjonele kontrôlefjild yn it tichtste telemetryframe (Of it romteskip kin de oerdracht fan in idle frame begjinne as it neat te sizzen hat). Op grûn fan de ûntfongen telemetry soargje wy derfoar dat alles goed is, of wy geane troch om it berjocht opnij te ferstjoeren. Litte wy oannimme dat de satellyt frame #7 net hearde. Dit betsjut dat wy him frames 7, 8, 9 stjoere. As der gjin antwurd is, wurdt it hiele pakket wer ferstjoerd (en sa meardere kearen oant wy realisearje dat de besykjen om 'e nocht binne).

Hjirûnder is de struktuer fan it operasjonele kontrôlefjild mei in beskriuwing fan guon fjilden. De gegevens yn dit fjild wurde neamd CLCW - Communication Link Control Word.

In bytsje oer romte kommunikaasje noarmen

Om't jo it doel fan 'e haadfjilden maklik kinne riede fan' e foto, en de oaren binne saai om nei te sjen, ferbergje ik de detaillearre beskriuwing ûnder in spoiler

Taljochting fan CLCW fjildenKontrôle wurdtype:
Foar dit type moat it kontrôlewurd 0 befetsje

Control Word Ferzje (CLCW Ferzjenûmer):
Foar dit type moat it kontrôlewurd gelyk wêze oan "00" yn 'e bitfoarstelling.

Statusfjild:
It gebrûk fan dit fjild wurdt foar elke missy apart bepaald. Kin brûkt wurde foar lokale ferbetterings troch ferskate romte-ynstânsjes.

Firtuele kanaalidentifikaasje:
Moat de identifier befetsje fan it firtuele kanaal wêrmei dit kontrôlewurd is assosjearre.

Flagge foar fysike kanaal tagong:
De flagge moat ynformaasje jaan oer de reewilligens fan de fysike laach fan de ûntfanger. As de fysike laach fan 'e ûntfanger net klear is om frames te ûntfangen, dan moat it fjild "1" befetsje, oars "0".

Flagge fan syngronisaasjefout:
De flagge kin oanjaan dat de fysike laach wurket op in min sinjaal nivo en it oantal ôfwiisde frames is te heech. It gebrûk fan dit fjild is opsjoneel; as it brûkt wurdt, moat it "0" befetsje as syngronisaasje beskikber is, en "1" as it net is.

Blokkearje flagge:
Dit bit sil de FARM-slotstatus befetsje foar elk firtueel kanaal. In wearde fan "1" yn dit fjild moat oanjaan dat FARM is útskeakele en frames sille wurde ferwidere foar elke firtuele laach, oars "0".

Wachtflagge:
Dit bit sil brûkt wurde om oan te jaan dat de ûntfanger gjin gegevens kin ferwurkje op it opjûne firtuele kanaal. In wearde fan "1" jout oan dat alle frames sille wurde ferwidere op dit firtuele kanaal, oars "0".

Foarút flagge:
Dizze flagge sil in "1" befetsje as ien of mear type A-frames binne ferwidere of hiaten binne fûn, dus opnij ferstjoere is nedich. De flagge "0" jout oan dat d'r gjin frames of skips falle wiene.

Antwurdwearde:
Framenûmer dat net ûntfongen is. Bepaald troch de teller yn 'e koptekst fan it telekommando-frame

netwurk laach

Litte wy dit nivo in bytsje oanreitsje. D'r binne hjir twa opsjes: of brûk it romtepakketprotokol, of kapsulearje elk oar protokol yn it CCSDS-pakket.

In oersjoch fan it romtepakketprotokol is in ûnderwerp foar in apart artikel. It is ûntworpen om saneamde applikaasjes naadloos gegevens út te wikseljen. Elke applikaasje hat in eigen adres en basisfunksjonaliteit foar it útwikseljen fan gegevens mei oare applikaasjes. D'r binne ek tsjinsten dy't ferkear routerje, levering kontrolearje, ensfh.

Mei ynkapseling is alles ienfâldiger en dúdliker. De noarmen meitsje it mooglik om alle protokollen yn te kapseljen yn CCSDS-pakketten troch in ekstra koptekst ta te foegjen.

In bytsje oer romte kommunikaasje noarmen

Wêr't de koptekst ferskate betsjuttingen hat ôfhinklik fan 'e lingte fan it protokol dat wurdt ynkapsele:

In bytsje oer romte kommunikaasje noarmen

Hjir is it haadfjild de lingte fan 'e lingte. It kin fariearje fan 0 oant 4 bytes. Ek yn dizze koptekst moatte jo it type ynkapsele protokol oanjaan mei de tabel fan hjir.

IP-ynkapseling brûkt in oare tafoeging om it type pakket te bepalen.
Jo moatte noch ien koptekst tafoegje, ien oktet lang:

In bytsje oer romte kommunikaasje noarmen

Wêr PID is in oare protokol identifier nommen fan hjir

konklúzje

Op it earste each kin it lykje dat de CCSDS-koppen ekstreem oerstallich binne en guon fjilden kinne wurde wegere. Yndied is de effisjinsje fan it resultearjende kanaal (oant it netwurknivo) sawat 40%. Lykwols, sa gau as de needsaak ûntstiet om te fieren dizze noarmen, wurdt dúdlik dat elk fjild, elke kop hat syn eigen wichtige missy, negearje dy't liedt ta in oantal dûbelsinnigens.

As de habrasociety belangstelling toant foar dit ûnderwerp, sil ik bliid wêze om in heule searje artikels te publisearjen wijd oan 'e teory en praktyk fan romtekommunikaasje. Tank foar jo oandacht!

Boarnen

CCSDS 130.0-G-3 - Oersjoch fan 'e romtekommunikaasjeprotokollen
CCSDS 131.0-B-2 - TM syngronisaasje en kanaal kodearring
CCSDS 132.0-B-2 - TM Space Data Link Protokol
CCSDS 133.0-B-1 - Space pakket protokol
CCSDS 133.1-B-2 - Encapsulation Service
CCSDS 231.0-B-3 - TC Syngronisaasje en Channel Coding
CCSDS 232.1-B-2 Communications Operation Proseduere-1
CCSDS 401.0-B-28 Radiofrekwinsje- en modulaasjesystemen - Diel 1 (ierdstasjons en romtefarders)
CCSDS 702.1-B-1 - IP oer CCSDS romte keppelings

PS
Sla net te hurd as jo ûnjildichheden fine. Rapportearje se en se wurde reparearre :)

Boarne: www.habr.com

Add a comment