Rádiókommunikáció a SZESAT-1 műholddal

Tartalom:

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.

Radio packet structure