Un pocu nantu à i normi di cumunicazione spaziale

Un pocu nantu à i normi di cumunicazione spaziale
Satellite Meteor M1
Fonte: vladtime.ru

Introduzione

U funziunamentu di a tecnulugia spaziale hè impussibile senza cumunicazioni radio, è in questu articulu pruvaraghju à spiegà l'idee principali chì formanu a basa di i normi sviluppati da u Cumitatu Cunsigliu Internaziunale per i Sistemi di Dati Spaziali (CCSDS. Questa abbreviazione serà aduprata sottu) .

Questu post si focalizeghja principarmenti nantu à a strata di ligame di dati, ma i cuncetti basi per altri strati seranu ancu introdutti. Stu articulu ùn hè in alcun modu una descrizzione completa è cumpleta di e norme. Pudete vede à situ CCSDS. In ogni casu, sò assai difficiuli di capiscenu, è avemu passatu assai tempu per pruvà à capiscenu, cusì quì vogliu furnisce l'infurmazioni basi, avè chì serà assai più faciule per capiscenu tuttu u restu. Allora, cuminciamu.

Noble Missione di CCSDS

Forsi qualcunu hà una quistione: perchè ognunu deve aderisce à i normi se pudete sviluppà a vostra propria pila di protokollu di radio proprietariu (o u vostru propiu standard, cù blackjack è funzioni novi), aumentendu cusì a sicurità di u sistema?

Cum'è a pratica mostra, hè più prufittu à aderisce à i normi CCSDS per i seguenti motivi:

  1. U cumitatu rispunsevuli di publicà e norme include rapprisentanti di ogni agenzia aerospaziale maiò in u mondu, purtendu una sperienza inestimabile acquistata in parechji anni di cuncepimentu è operazione di diverse missioni. Saria assai assurdu per ignurà sta sperienza è pisà u so rake di novu.
  2. Questi standard sò supportati da l'equipaggiu di stazioni di terra digià in u mercatu.
  3. Quandu risolve ogni prublema, pudete sempre cercà l'aiutu di i culleghi di altre agenzie in modu chì ponu fà una sessione di cumunicazione cù u dispusitivu da a so stazione di terra. Comu pudete vede, i normi sò una cosa estremamente utile, cusì fighjemu i so punti chjave.

architettura

I normi sò un inseme di documenti chì riflettenu u mudellu OSI (Open System Interconnection) più cumuni, salvu chì à u livellu di u ligame di dati, a cumuna hè limitata à a divisione in telemetria (downlink - spaziu - Terra) è telecumandamenti (uplink).

Un pocu nantu à i normi di cumunicazione spaziale

Fighjemu alcuni di i livelli in più detail, cuminciendu cù u fisicu è muvimenti. Per più clarità, cunsideremu l'architettura di u latu di riceve. U trasmettitore hè u so specchiu.

Stratu fisicu

À questu livellu, u signale radio modulatu hè cunvertitu in un flussu di pocu. I normi quì sò principarmenti di natura consultiva, postu chì à questu livellu hè difficiule di astrazione da l'implementazione specifica di u hardware. Quì, u rolu chjave di CCSDS hè di definisce e modulazioni accettabili (BPSK, QPSK, 8-QAM, etc.) è dà qualchi ricunniscenza nantu à l'implementazione di meccanismi di sincronizazione di simboli, compensazione Doppler, etc.

Sincronizazione è livellu di codificazione

Formalmente, hè un sublayer di a strata di ligame di dati, ma hè spessu separata in una capa separata per via di a so impurtanza in i normi CCSDS. Questa strata cunverte u flussu di bit in frames chjamati (telemetria o telecumandamenti), di quale parleremu dopu. A cuntrariu di a sincronizazione di u simbulu à u livellu fisicu, chì permette di ottene u flussu di bit currettu, a sincronizazione di u quadru hè realizatu quì. Cunsiderate u percorsu chì i dati piglianu à questu livellu (da u fondu à u cima):

Un pocu nantu à i normi di cumunicazione spaziale

Tuttavia, prima di quessa, vale a pena dì uni pochi di parolle nantu à a codificazione. Questa prucedura hè necessaria per truvà è / o corregge l'errore di bit chì inevitabbilmente accade quandu si invià dati nantu à un canali radio. Quì ùn cunsideremu micca e prucedure di decodificazione, ma solu uttene l'infurmazioni necessarii per capiscenu a logica più avanzata di u livellu.

I codici ponu esse bluccati o cuntinui. I normi ùn impone micca l'usu di un tipu specificu di codificazione, ma deve esse presente cum'è tali. I codici cuntinui includenu codici cunvoluzionali. Sò usati per codificà un flussu di bit continuu. Questu hè in cuntrastu à i codici di bloccu, induve e dati sò divisi in blocchi di codice è ponu esse decodificati solu in blocchi cumpleti. U bloccu di codice rapprisenta i dati trasmessi è l'infurmazioni redundante attaccati necessarii per verificà a correttezza di e dati ricevuti è corregge i pussibuli errori. I codici di bloccu includenu i famosi codici Reed-Solomon.

Se a codificazione convoluzionale hè aduprata, u bitstream entra in u decodificatore da u principiu. U risultatu di u so travagliu (tuttu chistu, sicuru, succèri cuntinuamenti) sò CADU (unità di dati di accessu à u canali) blocchi di dati. Sta struttura hè necessaria per a sincronizazione di u quadru. À a fine di ogni CADU ci hè un attached synch maker (ASM). Quessi sò 4 bytes cunnisciuti in anticipu, da quale u sincronizatore trova u principiu è a fine di u CADU. Hè cusì chì a sincronizazione di u quadru hè ottenuta.

U prossimu stadiu facultativu di a strata di sincronizazione è di codificazione hè assuciata cù e peculiarità di a strata fisica. Questu hè a derandomizazione. U fattu hè chì per ottene a sincronizazione di u simbulu, hè necessariu cambià frequente trà i simboli. Allora, se trasmettemu, per dì, un kilobyte di dati custituitu interamente di quelli, a sincronizazione serà persa. Dunque, durante a trasmissione, i dati di input sò mischiati cù una sequenza pseudo-aleatoria periodica per chì a densità di zeri è uni hè uniforme.

Dopu, i codici di bloccu sò decodificati, è ciò chì resta hè u pruduttu finali di u nivellu di sincronizazione è di codificazione - un quadru.

Data Link Layer

Da un latu, u processatore di a capa di ligame riceve frames, è da l'altra parte emette pacchetti. Siccomu a dimensione di i pacchetti ùn hè micca formalmente limitatu, per a so trasmissione affidabile, hè necessariu di scumpressà in strutture più chjuche - frames. Quì avemu da fighjulà dui sottosezzioni: separatamente per telemetria (TM) è telecumandamenti (TC).

Telemetria

Simply put, questu hè a dati chì a stazione di terra riceve da a nave spaziale. Tutte l'infurmazioni trasmessi sò spartuti in picculi frammenti di una lunghezza fissa - frames chì cuntenenu dati trasmessi è campi di serviziu. Fighjemu un ochju più vicinu à a struttura di u quadru:

Un pocu nantu à i normi di cumunicazione spaziale

E cuminciamu a nostra cunsiderazione cù l'intestazione principale di u quadru di telemetria. In più, mi permetteraghju di traduce solu i normi in certi lochi, dendu alcune clarificazioni in a strada.

Un pocu nantu à i normi di cumunicazione spaziale

U campu di ID Master Channel deve cuntene u numeru di versione di u quadru è l'identificatore di u dispositivu.

Ogni nave spaziale, sicondu i normi CCSDS, deve avè u so propiu identificatore unicu, da quale, avè un quadru, si pò determinà à quale dispusitivu appartene. Formalmente, hè necessariu di mandà una dumanda per registrà u dispusitivu, è u so nome, cù u so identificatore, serà publicatu in fonti aperti. Tuttavia, i pruduttori russi spessu ignoranu sta prucedura, assignendu un identificatore arbitrariu à u dispusitivu. U numeru di versione di u quadru aiuta à determinà quale versione di e norme hè aduprata per leghje currettamente u quadru. Quì avemu da cunsiderà solu u standard più cunservatore cù a versione "0".

U campu di l'ID di u Canale Virtuale deve cuntene u VCID di u canale da quale hè vinutu u pacchettu. Ùn ci hè micca restrizioni à a scelta di VCID; in particulare, i canali virtuali ùn sò micca necessariamente numerati in sequenza.

Assai spessu ci hè bisognu di multiplex dati trasmessi. Per questu scopu, ci hè un mecanismu di canali virtuale. Per esempiu, u satellitu Meteor-M2 trasmette una maghjina di culore in a gamma visibile, dividendu in trè neri è bianchi - ogni culore hè trasmessu in u so propiu canali virtuale in un pacchettu separatu, ancu s'ellu ci hè una certa deviazione da i normi in u standard. struttura di i so frames.

U campu di bandiera di u cuntrollu operativu deve esse un indicatore di a presenza o l'assenza di u campu di u cuntrollu operativu in u quadru di telemetria. Questi 4 byte à a fine di u quadru serve per furnisce feedback quandu cuntrullanu a consegna di frames di telecommand. Ne parleremu un pocu dopu.

I cuntatori di frames di canali principali è virtuali sò campi chì sò incrementati da unu ogni volta chì un quadru hè mandatu. Servite cum'è un indicatore chì ùn hè micca persu un quadru.

U statutu di dati di u quadru di telemetria hè di dui byte più di bandiere è dati, di quale avemu da fighjà solu uni pochi.

Un pocu nantu à i normi di cumunicazione spaziale

U campu di bandiera di l'Intestazione Secundaria deve esse un indicatore di a presenza o l'assenza di un Header Secundariu in u quadru di telemetria.

Se vulete, pudete aghjunghje un header supplementu à ogni quadru è mette qualsiasi dati quì à a vostra discrezione.

U campu First Header Pointer, quandu a bandiera di sincronizazione hè impostata à "1", cuntene una rappresentazione binaria di a pusizione di u primu ottettu di u primu Pacchettu in u Campu di Dati di u quadru di telemetria. A pusizione hè cuntata da 0 in ordine crescente da u principiu di u campu di dati. Se ùn ci hè micca un iniziu di u pacchettu in u campu di dati di u quadru di telemetria, allora l'indicatore à u primu campu di l'intestazione deve avè u valore in rapprisentazione binaria "11111111111" (questu pò accade se un pacchettu longu hè spargugliatu nantu à più di un quadru. ).

Se u campu di dati cuntene un pacchettu viotu (Idle Data), allora l'indicatore à u primu intestazione deve avè u valore in rapprisintazioni binaria "11111111110". Utilizendu stu campu, u ricevitore deve sincronizà u flussu. Stu campu assicura chì a sincronizazione hè restaurata ancu se i frames sò abbandunati.

Questu hè, un pacchettu pò, dì, principià à mezu à u quadru 4 è finisce à u principiu di u 20. Stu campu hè usatu per truvà u so principiu. I pacchetti anu ancu un intestazione chì specifica a so lunghezza, cusì quandu si trova un punteru à u primu intestazione, u processatore di a capa di ligame deve leghje, cusì determinandu induve finisce u pacchettu.
Se un campu di cuntrollu d'errore hè presente, deve esse cuntenutu in ogni quadru di telemetria per un canale fisicu particulare in tutta a missione.

Stu campu hè calculatu cù u metudu CRC. A prucedura deve piglià n-16 bits di u quadru di telemetria è inserisce u risultatu di u calculu in l'ultimi 16 bits.

squadre TV

U quadru di cumanda TV hà parechje differenzi significati. À mezu à elli:

  1. Diversa struttura di rubrica
  2. Lunghezza dinamica. Questu significa chì a lunghezza di u quadru ùn hè micca stabilitu rigidamente, cum'è hè fattu in telemetria, ma pò varià secondu i pacchetti trasmessi.
  3. Meccanismo di garanzia di consegna di pacchetti. Questu hè, a nave spaziale deve, dopu avè ricivutu, cunfirmà a correttezza di a ricezione di u quadru, o dumandà l'invio da un quadru chì puderia esse ricivutu cù un errore incorregibile.

Un pocu nantu à i normi di cumunicazione spaziale

Un pocu nantu à i normi di cumunicazione spaziale

Parechji campi sò digià familiari per noi da l'intestazione di u quadru di telemetria. Anu u stessu scopu, cusì quì avemu da cunsiderà solu i novi campi.

Un pocu di a bandiera di bypass deve esse utilizatu per cuntrullà a verificazione di u quadru à u ricevitore. Un valore di "0" per questa bandiera indicà chì u quadru hè un quadru di Tipu A è deve esse verificatu secondu FARM. Un valore di "1" per questa bandiera duveria indicà à u ricevitore chì questu quadru hè un quadru di Tipu B è duverebbe bypassà a verificazione FARM.

Questa bandiera informa à u ricevitore se aduprà un mecanismu di ricunniscenza di cunsegna di frames chjamatu FARM - Frame Acceptance and Reporting Mechanism.

A bandiera di cumandamentu di cuntrollu deve esse usata per capisce chì u campu di dati trasporta un cumandamentu o dati. Se a bandiera hè "0", allora u campu di dati deve cuntene dati. Se a bandiera hè "1", u campu di dati deve cuntene infurmazione di cuntrollu per FARM.
FARM hè una macchina à stati finiti chì i paràmetri ponu esse cunfigurati.

RSVD. SPARE - pezzi riservati.

Sembra chì CCSDS hà piani per elli in u futuru, è per a cumpatibilità retrocede di e versioni di protokollu anu riservatu questi bits digià in e versioni attuali di u standard.

U campu di a lunghezza di u quadru deve cuntene un numeru in rapprisentazione di bit chì hè uguale à a lunghezza di u quadru in ottetti minus unu.

U campu di dati di u quadru deve seguità l'intestazione senza spazii è cuntene un numeru interu di ottetti, chì pò esse un massimu di 1019 ottetti in lunghezza. Stu campu deve cuntene un bloccu di dati di frame o infurmazione di cumandamentu di cuntrollu. U bloccu di dati di u quadru deve cuntene:

  • numeru interu di ottetti di dati d'utilizatori
  • intestazione di segmentu seguita da un numeru interu di ottetti di dati d'utilizatori

Se un intestazione hè presente, allora u bloccu di dati deve cuntene un Pacchettu, un inseme di Pacchetti, o una parte di un Pacchettu. Un bloccu di dati senza un capu ùn pò micca cuntene parti di Pacchetti, ma pò cuntene blocchi di dati in formatu privatu. Ne consegue chì un header hè necessariu quandu u bloccu di dati trasmessi ùn si mette micca in un quadru. Un blocu di dati chì hà un capu hè chjamatu segmentu

Un pocu nantu à i normi di cumunicazione spaziale

U campu di bandiera di dui bit deve cuntene:

  • "01" - se a prima parte di i dati hè in u bloccu di dati
  • "00" - se a parti media di i dati hè in u bloccu di dati
  • "10" - se l'ultimu pezzu di dati hè in u bloccu di dati
  • "11" - s'ellu ùn ci hè micca divisione è unu o più pacchetti sò cumpletamente in u bloccu di dati.

U campu ID MAP deve cuntene zeri se i canali MAP ùn sò micca usati.
A volte 6 bits attribuiti à i canali virtuali ùn sò micca abbastanza. È s'ellu hè necessariu di multiplexà e dati nantu à un numeru più grande di canali, altri 6 bits da l'intestazione di u segmentu sò usati.

FARM

Fighjemu un ochju più vicinu à u mecanismu di funziunamentu di u sistema di cuntrollu di consegna di u persunale. Stu sistema furnisce solu per travaglià cù frames di telecumandamenti per via di a so impurtanza (a telemetria pò sempre esse dumandata di novu, è a nave spaziale deve sente a stazione di terra chjaramente è sempre ubbidisce i so cumandamenti). Allora, supponemu chì decidemu di rinfurzà u nostru satellitu, è mandà un schedariu binariu di 10 kilobytes in grandezza. À u livellu di u ligame, u schedariu hè divisu in 10 frames (0, 1, ..., 9), chì sò mandati à l'altura unu per unu. Quandu a trasmissione hè cumpleta, u satellitu deve cunfirmà a correttezza di a ricezione di u pacchettu, o rapportu nantu à quale quadru hè accadutu l'errore. Questa infurmazione hè mandata à u campu di cuntrollu operativu in u quadru di telemetria più vicinu (O a nave spaziale pò inizià a trasmissione di un quadru inattivu s'ellu ùn hà nunda di dì). Basatu nantu à a telemetria ricevuta, o assicuratemu chì tuttu hè bè, o procedemu à rinvià u missaghju. Supposons que le satellite n'a pas entendu le cadre n° 7. Questu significa chì l'avemu mandatu frames 7, 8, 9. Se ùn ci hè micca risposta, u pacchettu sanu hè mandatu novu (è cusì parechje volte finu à chì avemu capitu chì i tentativi sò in vain).

Quì sottu hè a struttura di u campu di cuntrollu operativu cù una descrizzione di certi campi. I dati cuntenuti in questu campu sò chjamati CLCW - Communication Link Control Word.

Un pocu nantu à i normi di cumunicazione spaziale

Siccomu pudete facilmente indovinà da a stampa u scopu di i campi principali, è l'altri sò annoiati à fighjà, aghju ammucciatu a descrizzione dettagliata sottu un spoiler.

Spiegazione di i campi CLCWTipu di parolla di cuntrollu:
Per stu tipu, a parolla di cuntrollu deve cuntene 0

Versione di Parola di Control (Numeru di Versione CLCW):
Per stu tipu, a parolla di cuntrollu deve esse uguali à "00" in a rapprisintazioni di bit.

Campu di Status:
L'usu di stu campu hè determinatu per ogni missione separatamente. Pò esse usatu per migliurà lucali da diverse agenzie spaziali.

Identificazione di u Canale Virtuale:
Deve cuntene l'identificatore di u canali virtuale à quale sta parolla di cuntrollu hè assuciata.

Bandiera di accessu à u canali fisicu:
A bandiera deve furnisce infurmazioni nantu à a preparazione di a capa fisica di u receptore. Se a capa fisica di u receptore ùn hè micca pronta per riceve frames, allora u campu deve cuntene "1", altrimenti "0".

Bandiera di fallimentu di sincronizazione:
A bandiera pò indicà chì a strata fisica opera à un livellu di signale poviru è u numeru di frames rifiutati hè troppu altu. L'usu di stu campu hè facultativu; se usatu, deve cuntene "0" se a sincronizazione hè dispunibule, è "1" se ùn hè micca.

Bandiera di bloccu:
Stu bit cuntene u statutu di bloccu FARM per ogni canale virtuale. Un valore di "1" in questu campu deve indicà chì FARM hè disattivatu è i frames seranu scartati per ogni capa virtuale, altrimenti "0".

Aspetta bandiera:
Stu bit deve esse usatu per indicà chì u ricevitore ùn pò micca processà e dati nantu à u canali virtuale specificatu. Un valore di "1" indica chì tutti i frames seranu scartati nantu à stu canali virtuale, altrimenti "0".

Bandiera avanti:
Questa bandiera cuntene un "1" se unu o più frames di tippu A sò stati scartati o lacune sò state truvate, cusì hè necessariu di rinvià. A bandiera "0" indica chì ùn ci era micca frames abbandunati o salti.

Valore di risposta:
U numeru di quadru chì ùn hè micca ricevutu. Determinatu da u contatore in l'intestazione di u quadru di telecommand

Stratu di rete

Toccheremu un pocu stu livellu. Ci hè duie opzioni quì: o aduprate u protokollu di u pacchettu spaziale, o incapsulate qualsiasi altru protokollu in u pacchettu CCSDS.

Una panoramica di u protocolu di u pacchettu spaziale hè un tema per un articulu separatu. Hè pensatu per permette à l'applicazioni chjamate per scambià dati senza saldatura. Ogni applicazione hà u so propiu indirizzu è funziunalità di basa per u scambiu di dati cù altre applicazioni. Ci sò ancu servizii chì indirizzanu u trafficu, cuntrullà a consegna, etc.

Cù l'incapsulazione tuttu hè più simplice è chjaru. I normi facenu pussibule incapsulà qualsiasi protokolli in pacchetti CCSDS aghjustendu un capu supplementu.

Un pocu nantu à i normi di cumunicazione spaziale

Induve l'intestazione hà significati diffirenti sicondu a durata di u protocolu incapsulatu:

Un pocu nantu à i normi di cumunicazione spaziale

Quì u campu principale hè a durata di a lunghezza. Pò varià da 0 à 4 bytes. Ancu in questu capu duvete indicà u tipu di protocolu incapsulatu cù a tavula da quì.

L'incapsulazione IP usa un altru add-on per determinà u tipu di pacchettu.
Avete bisognu di aghjunghje un intestazione più, un ottettu longu:

Un pocu nantu à i normi di cumunicazione spaziale

Induve PID hè un altru identificatore di protocolu pigliatu da quì

cunchiusioni

À u primu sguardu, pò sembra chì l'intestazione CCSDS sò estremamente redundante è certi campi puderanu esse scartati. Infatti, l'efficienza di u canali resultanti (finu à u livellu di a rete) hè di circa 40%. Tuttavia, appena u bisognu di implementà sti standardi, diventa chjaru chì ogni campu, ogni rubrica hà a so missione impurtante, ignurata chì porta à una quantità di ambiguità.

Se l'habrasociety mostra interessu in questu tema, seraghju cuntentu di pubblicà una seria sana d'articuli dedicati à a teoria è a pratica di e cumunicazioni spaziali. Grazie per a vostra attenzione!

Fonti

CCSDS 130.0-G-3 - Panoramica di i protokolli di cumunicazione spaziale
CCSDS 131.0-B-2 - Sincronizazione TM è codificazione di canali
CCSDS 132.0-B-2 - TM Space Data Link Protocol
CCSDS 133.0-B-1 - Protokollu di u pacchettu spaziale
CCSDS 133.1-B-2 - Serviziu di Encapsulation
CCSDS 231.0-B-3 - Sincronizazione TC è Codificazione di Canali
CCSDS 232.1-B-2 Procedura di Operazione di Comunicazioni-1
CCSDS 401.0-B-28 Sistemi di Frequenza Radio è Modulazione - Parte 1 (Stazioni di a Terra è Nave Spaziale)
CCSDS 702.1-B-1 - IP sopra ligami spaziali CCSDS

PS
Ùn batte micca troppu forte se truvate imprecisioni. Segnalali è seranu riparati :)

Source: www.habr.com

Add a comment