Szabvány
CCSDS: Consultative Committee for Space Data Systems
A CCSDS szabványok igyekeznek a föld-műhold, műhold-műhold és műhold-föld kommunikáció minél nagyobb részét kölcsönösen egyértelműen meghatározni. Legegyszerűbben a CCSDS Blue Book-ból tájékozódhatunk, ami a valóságban nem egy tényleges könyv, hanem publikációk gyűjteménye.
Szabványok, amik nekünk érdekesek:
- Lossless Data Compression (CCSDS 121.0-B-3)
- Image Data Compression (CCSDS 122.0-B-2)
- TM Synchronization and Channel Coding (CCSDS 131.0-B-5)
- TM Space Data Link Protocol (CCSDS 132.0-B-3)
- Space Packet Protocol (CCSDS 133.0-B-2)
A fejlesztés során arra törekedtünk, hogy minél több pontban megfeleljünk a CCSDS Blue Book által meghatározott szabványoknak. Ezeket a szabványokat nem főbenjáró bűn megszegni, viszont elhagyásuk lassítja a fejelésztési folyamatokat mindkét végponton; nehezebb újra feltalálni a spanyol viaszt, mint már létező rendszerre építeni.
Link az összes szabványhoz →Link a releváns szabványhoz (TM Synchronization and Channel Coding) →
Hardver
STM32WL55 dual-core SOC
Ez az eszköz egy kétmagos STM32 mikrokontrollerből és egy Semtech SX1261 rádióból áll. Mindkét eszköz ugyanabban a tokozásban van, egyszerűsítve a fejlesztési és összeszerelési munkálatokat.
Mikrokontroller fontosabb specifikációk:
Processzor mag típusok: Cortex-M4 és Cortex-M0+
Ram mérete: 64KB (2x32)
Flash mérete: 256KB
Használt I/O: UART, SPI
Rádió fontosabb specifikációk:
Frekvenciatartomány: 140-960MHZ
Modulációk: GFSK (500kbps), GMSK (9,6kbps), BPSK (300kbps), OOK (100kbps), CW, LoRa
Csatlakozás a mikrokontrollerhez: dedikált SPI a tokozáson belül
A nyomtatott áramkört Nagy Zoltán SZESAT tag tervezte
Képek a panelekről →Kódolás
Mivel a 400-1500km néhol légüres tér zajos csatornának minősül,
ezért szükséges hibajavító, vagy legalább hiba érzékelő kódolás használata.
Első lépésként minden üzenet végére CRC32/MPEG-2 checksum kerül,
majd az üzenetet a checksummal együtt Reed-solomon paritás bitekkel látjuk el.
A kódolás kiválasztásakor nagy hangsúlyt fektettünk az optimális egyensúly meghatározására a nettó adatátviteli sebesség és a hibajavító kódolás hatékonysága között. Választásunk a Reed-solomon 223/255-ös változatára esett, megteremtve az előbb említett egyensúlyt. Ez a kódolás képes 8 byte hibát kijavítani 223 byte hosszú adatmező esetén, miközben "csak" 32 byte-al növeli meg a csomag méretét.
A hibajavító kódolással ellátott adatcsomagot ezután egy pszeudorandom számsorozattal randomizáljuk (PN9 scrambling), ami hatására töredékére csökkentjük az esélyét, hogy túl sok 0 vagy 1 kerüljön egymás mögé, ami megnehetízené a modulátor és a demodulátor dolgát.
Az adatcsomagot ezután a rádió szinkron markerrel (ASM) látja el, 24 byte preamble-t ad, majd elküldi az adatcsomagot.
