
Sateliti meteor M1
Burimi: vladtime.ru
Paraqitje
Funksionimi i teknologjisë hapësinore është i pamundur pa komunikimet me radio, dhe në këtë artikull do të përpiqem të shpjegoj idetë kryesore që formuan bazën e standardeve të zhvilluara nga Komiteti Ndërkombëtar Këshillimor për Sistemet e të Dhënave Hapësinore (CCSDS. Kjo shkurtim do të përdoret më poshtë) .
Ky postim do të fokusohet kryesisht në shtresën e lidhjes së të dhënave, por do të prezantohen edhe konceptet bazë për shtresat e tjera. Ky artikull në asnjë mënyrë nuk pretendon të jetë një përshkrim i plotë dhe i plotë i standardeve. Mund ta shikoni në CCSDS. Sidoqoftë, ato janë shumë të vështira për t'u kuptuar dhe ne kemi shpenzuar shumë kohë duke u përpjekur t'i kuptojmë, kështu që këtu dua të jap informacione bazë, duke pasur të cilat do të jetë shumë më e lehtë për të kuptuar gjithçka tjetër. Pra, le të fillojmë.
Misioni Fisnik i CCSDS
Ndoshta dikush ka një pyetje: pse të gjithë duhet t'u përmbahen standardeve nëse mund të zhvilloni grupin tuaj të protokollit të radios (ose standardin tuaj, me blackjack dhe veçori të reja), duke rritur kështu sigurinë e sistemit?
Siç tregon praktika, është më e dobishme t'i përmbahen standardeve CCSDS për një numër arsyesh të mëposhtme:
- Komiteti përgjegjës për publikimin e standardeve përfshin përfaqësues nga çdo agjenci e madhe e hapësirës ajrore në botë, duke sjellë përvojë të paçmuar të fituar gjatë shumë viteve të projektimit dhe funksionimit të misioneve të ndryshme. Do të ishte shumë absurde të injorosh këtë përvojë dhe të shkelësh përsëri në grabujën e tyre.
- Këto standarde mbështeten nga pajisjet e stacioneve tokësore tashmë në treg.
- Kur zgjidhni ndonjë problem, gjithmonë mund të kërkoni ndihmë nga kolegët e agjencive të tjera në mënyrë që ata të mund të kryejnë një seancë komunikimi me pajisjen nga stacioni i tyre tokësor. Siç mund ta shihni, standardet janë një gjë jashtëzakonisht e dobishme, kështu që le të shohim pikat e tyre kryesore.
Arkitekturë
Standardet janë një grup dokumentesh që pasqyrojnë modelin më të zakonshëm OSI (Open System Interconnection), përveç që në nivelin e lidhjes së të dhënave, e përbashkëta kufizohet në ndarjen në telemetri (downlink - space - Earth) dhe telekomanda (uplink).

Le të shohim disa nga nivelet në mënyrë më të detajuar, duke filluar nga fiziku dhe duke u ngjitur lart. Për qartësi më të madhe, ne do të shqyrtojmë arkitekturën e anës marrëse. Ai që transmeton është imazhi i tij në pasqyrë.
Shtresa fizike
Në këtë nivel, sinjali i moduluar i radios shndërrohet në një rrjedhë bit. Standardet këtu kanë kryesisht natyrë këshilluese, pasi në këtë nivel është e vështirë të abstragohet nga zbatimi specifik i harduerit. Këtu, roli kryesor i CCSDS është të përcaktojë modulimet e pranueshme (BPSK, QPSK, 8-QAM, etj.) dhe të japë disa rekomandime për zbatimin e mekanizmave të sinkronizimit të simboleve, kompensimin Doppler, etj.
Niveli i sinkronizimit dhe kodimit
Formalisht, është një nënshtresë e shtresës së lidhjes së të dhënave, por shpesh ndahet në një shtresë të veçantë për shkak të rëndësisë së saj brenda standardeve CCSDS. Kjo shtresë e shndërron rrjedhën e biteve në të ashtuquajturat korniza (telemetri ose telekomanda), për të cilat do të flasim më vonë. Ndryshe nga sinkronizimi i simboleve në shtresën fizike, i cili ju lejon të merrni rrjedhën e saktë të biteve, sinkronizimi i kornizës kryhet këtu. Merrni parasysh rrugën që marrin të dhënat në këtë nivel (nga poshtë lart):

Sidoqoftë, para kësaj, ia vlen të thuash disa fjalë për kodimin. Kjo procedurë është e nevojshme për të gjetur dhe/ose korrigjuar gabimet e bitit që ndodhin në mënyrë të pashmangshme gjatë dërgimit të të dhënave përmes një kanali radio. Këtu nuk do të shqyrtojmë procedurat e dekodimit, por do të marrim vetëm informacionin e nevojshëm për të kuptuar logjikën e mëtejshme të nivelit.
Kodet mund të jenë bllok ose të vazhdueshëm. Standardet nuk detyrojnë përdorimin e një lloji specifik kodimi, por ai duhet të jetë i pranishëm si i tillë. Kodet e vazhdueshme përfshijnë kodet konvolucionale. Ato përdoren për të koduar një rrjedhë të vazhdueshme bit. Kjo është në kontrast me kodet e bllokut, ku të dhënat ndahen në blloqe kodesh dhe mund të dekodohen vetëm brenda blloqeve të plota. Blloku i kodit përfaqëson të dhënat e transmetuara dhe informacionin e tepërt të bashkangjitur të nevojshëm për të verifikuar korrektësinë e të dhënave të marra dhe për të korrigjuar gabimet e mundshme. Kodet e bllokut përfshijnë kodet e famshme Reed-Solomon.
Nëse përdoret kodimi konvolucional, bitstream hyn në dekoder që nga fillimi. Rezultati i punës së tij (e gjithë kjo, natyrisht, ndodh vazhdimisht) janë blloqet e të dhënave CADU (njësia e të dhënave të aksesit në kanal). Kjo strukturë është e nevojshme për sinkronizimin e kornizës. Në fund të çdo CADU ka një sinkronizues të bashkangjitur (ASM). Këto janë 4 bajt të njohur paraprakisht, me anë të të cilave sinkronizuesi gjen fillimin dhe fundin e CADU. Kështu arrihet sinkronizimi i kornizës.
Faza tjetër opsionale e shtresës së sinkronizimit dhe kodimit shoqërohet me veçoritë e shtresës fizike. Ky është derandomizim. Fakti është se për të arritur sinkronizimin e simboleve, është i nevojshëm ndërrimi i shpeshtë midis simboleve. Pra, nëse transmetojmë, le të themi, një kilobajt të dhënash që përbëhen tërësisht nga të tilla, sinkronizimi do të humbasë. Prandaj, gjatë transmetimit, të dhënat hyrëse përzihen me një sekuencë periodike pseudo të rastësishme në mënyrë që dendësia e zeros dhe njëshit të jetë uniforme.
Më pas, kodet e bllokut deshifrohen, dhe ajo që mbetet është produkti përfundimtar i nivelit të sinkronizimit dhe kodimit - një kornizë.
Shtresa e lidhjes së të dhënave
Nga njëra anë, procesori i shtresës së lidhjes merr korniza, dhe nga ana tjetër lëshon paketa. Meqenëse madhësia e paketave nuk është formalisht e kufizuar, për transmetimin e tyre të besueshëm është e nevojshme që ato të ndahen në struktura më të vogla - korniza. Këtu do të shikojmë dy nënseksione: veçmas për telemetrinë (TM) dhe telekomandat (TC).
Telemetria
E thënë thjesht, këto janë të dhënat që stacioni tokësor merr nga anija kozmike. I gjithë informacioni i transmetuar ndahet në fragmente të vogla me gjatësi fikse - korniza që përmbajnë të dhëna të transmetuara dhe fusha shërbimi. Le të hedhim një vështrim më të afërt në strukturën e kornizës:

Dhe le të fillojmë shqyrtimin tonë me kokën kryesore të kornizës së telemetrisë. Më tej, do t'i lejoj vetes të përkthej thjesht standardet në disa vende, duke dhënë disa sqarime gjatë rrugës.

Fusha ID e kanalit kryesor duhet të përmbajë numrin e versionit të kornizës dhe identifikuesin e pajisjes.
Çdo anije kozmike, sipas standardeve CCSDS, duhet të ketë identifikuesin e vet unik, me anë të të cilit, duke pasur një kornizë, mund të përcaktohet se cilës pajisje i përket. Formalisht, është e nevojshme të paraqisni një kërkesë për regjistrimin e pajisjes dhe emri i saj, së bashku me identifikuesin e saj, do të publikohen në burime të hapura. Sidoqoftë, prodhuesit rusë shpesh e injorojnë këtë procedurë, duke caktuar një identifikues arbitrar në pajisje. Numri i versionit të kornizës ndihmon në përcaktimin se cili version i standardeve përdoret për të lexuar saktë kornizën. Këtu do të shqyrtojmë vetëm standardin më konservator me versionin "0".
Fusha ID e Kanalit Virtual duhet të përmbajë VCID-në e kanalit nga erdhi paketa. Nuk ka kufizime në zgjedhjen e VCID; në veçanti, kanalet virtuale nuk numërohen domosdoshmërisht në mënyrë sekuenciale.
Shumë shpesh ka nevojë për të multipleksuar të dhënat e transmetuara. Për këtë qëllim, ekziston një mekanizëm i kanaleve virtuale. Për shembull, sateliti Meteor-M2 transmeton një imazh me ngjyra në diapazonin e dukshëm, duke e ndarë atë në tre bardh e zi - secila ngjyrë transmetohet në kanalin e vet virtual në një paketë të veçantë, megjithëse ka disa devijime nga standardet në struktura e kornizave të saj.
Fusha e flamurit të kontrollit operacional do të jetë një tregues i pranisë ose mungesës së fushës së kontrollit operacional në kornizën e telemetrisë. Këta 4 bajt në fund të kornizës shërbejnë për të dhënë reagime kur kontrollohet shpërndarja e kornizave të telekomandës. Ne do të flasim për to pak më vonë.
Numëruesit e kornizave të kanalit kryesor dhe virtual janë fusha që rriten me një sa herë që dërgohet një kornizë. Shërbyer si një tregues që nuk ka humbur asnjë kornizë.
Statusi i të dhënave të kornizës së telemetrisë është dy bajtë të tjerë flamujsh dhe të dhënash, prej të cilave do të shohim vetëm disa.

Fusha e flamurit të titullit sekondar duhet të jetë një tregues i pranisë ose mungesës së një titulli sekondar në kornizën e telemetrisë.
Nëse dëshironi, mund të shtoni një titull shtesë në secilën kornizë dhe të vendosni çdo të dhënë atje sipas gjykimit tuaj.
Fusha e Treguesit të Kreut të Parë, kur flamuri i sinkronizimit është vendosur në "1", do të përmbajë një paraqitje binar të pozicionit të oktetit të parë të Paketës së parë në fushën e të dhënave të kornizës telemetrike. Pozicioni numërohet nga 0 në rend rritës nga fillimi i fushës së të dhënave. Nëse nuk ka fillim të paketës në fushën e të dhënave të kornizës së telemetrisë, atëherë treguesi në fushën e parë të kokës duhet të ketë vlerën në paraqitjen binar "11111111111" (kjo mund të ndodhë nëse një paketë e gjatë shpërndahet në më shumë se një kornizë ).
Nëse fusha e të dhënave përmban një paketë boshe (të dhëna të papunë), atëherë treguesi në kokën e parë duhet të ketë vlerën në paraqitjen binar "11111111110". Duke përdorur këtë fushë, marrësi duhet të sinkronizojë transmetimin. Kjo fushë siguron që sinkronizimi të rikthehet edhe nëse kornizat bien.
Kjo do të thotë, një paketë, të themi, mund të fillojë në mes të kornizës së 4-të dhe të përfundojë në fillim të 20-të. Kjo fushë përdoret për të gjetur fillimin e saj. Paketat kanë gjithashtu një kokë që specifikon gjatësinë e saj, kështu që kur gjendet një tregues në kokën e parë, procesori i shtresës së lidhjes duhet ta lexojë atë, duke përcaktuar kështu se ku do të përfundojë paketa.
Nëse ekziston një fushë kontrolli gabimi, ajo duhet të përfshihet në çdo kornizë telemetrike për një kanal fizik të caktuar gjatë gjithë misionit.
Kjo fushë llogaritet duke përdorur metodën CRC. Procedura duhet të marrë n-16 bit të kornizës së telemetrisë dhe të futë rezultatin e llogaritjes në 16 bitët e fundit.
Ekipet televizive
Korniza e komandës televizive ka disa dallime të rëndësishme. Midis tyre:
- Struktura e ndryshme e titullit
- Gjatësia dinamike. Kjo do të thotë që gjatësia e kornizës nuk vendoset në mënyrë të ngurtë, siç bëhet në telemetri, por mund të ndryshojë në varësi të paketave të transmetuara.
- Mekanizmi i garancisë së dorëzimit të paketave. Kjo do të thotë, anija kozmike duhet, pasi ta marrë atë, të konfirmojë korrektësinë e marrjes së kornizës ose të kërkojë përcjelljen nga një kornizë që mund të ishte marrë me një gabim të pakorrigjueshëm.


Shumë fusha janë tashmë të njohura për ne nga kreu i kornizës së telemetrisë. Ata kanë të njëjtin qëllim, kështu që këtu do të shqyrtojmë vetëm fushat e reja.
Një pjesë e flamurit të anashkalimit duhet të përdoret për të kontrolluar kontrollin e kornizës në marrës. Një vlerë prej "0" për këtë flamur do të tregojë se korniza është një kornizë e tipit A dhe duhet të verifikohet sipas FARM. Një vlerë "1" për këtë flamur duhet t'i tregojë marrësit se korniza është kornizë e tipit B dhe duhet të anashkalojë kontrollin FARM.
Ky flamur informon marrësin nëse duhet të përdorë një mekanizëm konfirmimi të dorëzimit të kornizës të quajtur FARM - Mekanizmi i pranimit dhe raportimit të kornizës.
Flamuri i komandës së kontrollit duhet të përdoret për të kuptuar nëse fusha e të dhënave transporton një komandë ose të dhëna. Nëse flamuri është "0", atëherë fusha e të dhënave duhet të përmbajë të dhëna. Nëse flamuri është "1", atëherë fusha e të dhënave duhet të përmbajë informacion kontrolli për FARM.
FARM është një makinë me gjendje të kufizuar parametrat e së cilës mund të konfigurohen.
RSVD. SPARE – bit të rezervuara.
Duket se CCSDS ka plane për ta në të ardhmen, dhe për pajtueshmërinë e prapambetur të versioneve të protokollit ata i kanë rezervuar këto bit tashmë në versionet aktuale të standardit.
Fusha e gjatësisë së kornizës duhet të përmbajë një numër në paraqitjen e bitit që është i barabartë me gjatësinë e kornizës në oktetë minus një.
Fusha e të dhënave të kornizës duhet të ndjekë kokën pa hapësira dhe të përmbajë një numër të plotë oktetesh, i cili mund të jetë maksimumi 1019 oktete në gjatësi. Kjo fushë duhet të përmbajë ose bllokun e të dhënave të kornizës ose informacionin e komandës së kontrollit. Blloku i të dhënave të kornizës duhet të përmbajë:
- numër i plotë i okteteve të të dhënave të përdoruesit
- titulli i segmentit i ndjekur nga një numër i plotë i okteteve të të dhënave të përdoruesit
Nëse një titull është i pranishëm, atëherë blloku i të dhënave duhet të përmbajë një Paketë, një grup Paketash ose një pjesë të një Pakete. Një bllok të dhënash pa një kokë nuk mund të përmbajë pjesë të Paketave, por mund të përmbajë blloqe të dhënash me format privat. Nga kjo rrjedh se një kokë kërkohet kur blloku i të dhënave të transmetuara nuk futet në një kornizë. Një bllok i të dhënave që ka një kokë quhet segment

Fusha e flamujve me dy bit duhet të përmbajë:
- "01" - nëse pjesa e parë e të dhënave është në bllokun e të dhënave
- "00" - nëse pjesa e mesme e të dhënave është në bllokun e të dhënave
- "10" - nëse pjesa e fundit e të dhënave është në bllokun e të dhënave
- "11" - nëse nuk ka ndarje dhe një ose më shumë pako përshtaten plotësisht në bllokun e të dhënave.
Fusha MAP ID duhet të përmbajë zero nëse kanalet MAP nuk përdoren.
Ndonjëherë 6 bit të alokuara për kanalet virtuale nuk janë të mjaftueshme. Dhe nëse është e nevojshme të multipleksohen të dhënat në një numër më të madh kanalesh, përdoren 6 bit të tjerë nga kreu i segmentit.
FERME
Le të hedhim një vështrim më të afërt në mekanizmin e funksionimit të sistemit të kontrollit të ofrimit të personelit. Ky sistem parashikon vetëm punën me korniza telekomandash për shkak të rëndësisë së tyre (telemetria mund të kërkohet gjithmonë përsëri, dhe anija kozmike duhet të dëgjojë qartë stacionin tokësor dhe t'i bindet gjithmonë komandave të tij). Pra, supozoni se vendosim të rifreskojmë satelitin tonë dhe t'i dërgojmë atij një skedar binar me madhësi 10 kilobajt. Në nivelin e lidhjes, skedari ndahet në 10 korniza (0, 1, ..., 9), të cilat dërgohen lart një nga një. Kur transmetimi të përfundojë, sateliti duhet të konfirmojë korrektësinë e marrjes së paketës ose të raportojë se në cilën kornizë ka ndodhur gabimi. Ky informacion dërgohet në fushën e kontrollit operacional në kornizën më të afërt të telemetrisë (Ose anija kozmike mund të inicojë transmetimin e një kornize boshe nëse nuk ka asgjë për të thënë). Bazuar në telemetrinë e marrë, ne ose sigurohemi që gjithçka është në rregull, ose vazhdojmë të ridërgojmë mesazhin. Le të supozojmë se sateliti nuk dëgjoi kornizën #7. Kjo do të thotë se ne i dërgojmë kornizat 7, 8, 9. Nëse nuk ka përgjigje, e gjithë paketa dërgohet përsëri (dhe kështu me radhë disa herë derisa të kuptojmë se përpjekjet janë të kota).
Më poshtë është struktura e fushës së kontrollit operacional me një përshkrim të disa fushave. Të dhënat që përmbahen në këtë fushë quhen CLCW - Fjala e Kontrollit të Lidhjeve të Komunikimit.

Meqenëse nga fotografia mund ta merrni me mend lehtësisht qëllimin e fushave kryesore, dhe të tjerat janë të mërzitshme për t'u parë, unë po e fsheh përshkrimin e detajuar nën një spoiler
Shpjegimi i fushave CLCWKontrollo llojin e fjalës:
Për këtë lloj, fjala e kontrollit duhet të përmbajë 0
Kontrollo versionin e Word-it (Numri i versionit CLCW):
Për këtë lloj, fjala e kontrollit duhet të jetë e barabartë me "00" në paraqitjen e bitit.
Fusha e statusit:
Përdorimi i kësaj fushe përcaktohet për secilin mision veç e veç. Mund të përdoret për përmirësime lokale nga agjenci të ndryshme hapësinore.
Identifikimi i kanalit virtual:
Duhet të përmbajë identifikuesin e kanalit virtual me të cilin lidhet kjo fjalë kontrolli.
Flamuri i qasjes në kanalin fizik:
Flamuri duhet të japë informacion për gatishmërinë e shtresës fizike të marrësit. Nëse shtresa fizike e marrësit nuk është gati për të marrë korniza, atëherë fusha duhet të përmbajë "1", përndryshe "0".
Flamuri i dështimit të sinkronizimit:
Flamuri mund të tregojë se shtresa fizike po funksionon në një nivel të dobët sinjali dhe numri i kornizave të refuzuara është shumë i lartë. Përdorimi i kësaj fushe është opsional; nëse përdoret, duhet të përmbajë "0" nëse sinkronizimi është i disponueshëm dhe "1" nëse nuk është.
Flamuri bllokues:
Ky bit do të përmbajë statusin e bllokimit FARM për çdo kanal virtual. Vlera "1" në këtë fushë duhet të tregojë se FARM është i çaktivizuar dhe kornizat do të hidhen për çdo shtresë virtuale, përndryshe "0".
Flamuri i pritjes:
Ky bit do të përdoret për të treguar se marrësi nuk mund të përpunojë të dhëna në kanalin virtual të specifikuar. Vlera "1" tregon se të gjitha kornizat do të hidhen në këtë kanal virtual, përndryshe "0".
Flamuri përpara:
Ky flamur do të përmbajë një "1" nëse një ose më shumë korniza të tipit A janë hedhur poshtë ose janë gjetur boshllëqe, kështu që ridërgimi është i nevojshëm. Flamuri "0" tregon se nuk ka rënë korniza ose kapërcime.
Vlera e përgjigjes:
Numri i kornizës që nuk u mor. Përcaktohet nga numëruesi në kokën e kornizës së telekomandës
shtresa e rrjetit
Le ta prekim pak këtë nivel. Këtu ka dy opsione: ose përdorni protokollin e paketës hapësinore, ose kapsuloni ndonjë protokoll tjetër në paketën CCSDS.
Një përmbledhje e protokollit të paketave hapësinore është një temë për një artikull të veçantë. Ai është krijuar për të lejuar të ashtuquajturat aplikacione të shkëmbejnë të dhëna pa probleme. Çdo aplikacion ka adresën e vet dhe funksionalitetin bazë për shkëmbimin e të dhënave me aplikacione të tjera. Ka edhe shërbime që drejtojnë trafikun, kontrollojnë shpërndarjen etj.
Me kapsulimin gjithçka është më e thjeshtë dhe më e qartë. Standardet bëjnë të mundur përmbledhjen e çdo protokolli në paketat CCSDS duke shtuar një titull shtesë.

Aty ku titulli ka kuptime të ndryshme në varësi të gjatësisë së protokollit që kapsulohet:

Këtu fusha kryesore është gjatësia e gjatësisë. Mund të ndryshojë nga 0 në 4 bajt. Gjithashtu në këtë kokë duhet të tregoni llojin e protokollit të kapsuluar duke përdorur tabelën .
Enkapsulimi i IP-së përdor një shtesë tjetër për të përcaktuar llojin e paketës.
Ju duhet të shtoni një kokë më shumë, një oktet i gjatë:

Ku PID është një tjetër identifikues i protokollit të marrë
Përfundim
Në shikim të parë, mund të duket se titujt CCSDS janë jashtëzakonisht të tepërta dhe disa fusha mund të hidhen poshtë. Në të vërtetë, efikasiteti i kanalit që rezulton (deri në nivelin e rrjetit) është rreth 40%. Gjithsesi, sapo lind nevoja për zbatimin e këtyre standardeve, bëhet e qartë se çdo fushë, çdo titull ka misionin e vet të rëndësishëm, injorimi i të cilit çon në një sërë paqartësish.
Nëse shoqëria habra tregon interes për këtë temë, do të jem i lumtur të botoj një seri të tërë artikujsh kushtuar teorisë dhe praktikës së komunikimeve hapësinore. Faleminderit per vemendjen!
burime
PS
Mos goditni shumë nëse gjeni ndonjë pasaktësi. Raportoni ato dhe do të rregullohen :)
Burimi: www.habr.com
