Obsah
Radiová Meteorická Detekční Stanice RMDS02
Zde je popsána aktuální revize systému rádiových stanic Bolidozor. Dokumentace k předchozí verzi stanic je dostupná na stránce rmds01, nebo na stránce zastaralých revízí RMDS02.
Popis funkce
Měření frekvence LO
Stanice v sobě integruje konstrukci acounter, která slouží pro měření frekvence lokálního oscilátoru. Naměřená frekvence je vyčítána přes rozhraní I²C. To umožňuje firmware v modulu PIC16F87xTQ4401B, který se chová jako I2C-slave zařízení. Tento MCU modul zároveň při spuštění nak konfiguruje GPS pro vytváření 10ms impulzů každých 10s, které následně zastavují čítač a děličku během vyčítání. PIC MCU inicializuje GPS přes rozhraní RS232 1s po náběhu napájení. Pro inicializaci GPS je místo I²C použito RS232 rozhraní kvůli tomu, že v dokumentaci LEA-6S není popsaná komunikace přes I²C.
Konfigurace software
Počítač stanice má přímou HW podporu sběrnice I²C. Proto je stanice ovládána přes tuto sběrnici. Je ale potřeba mít v jádře OS spuštěný modul i2c-dev.
sudo modprobe i2c-dev
Tímto způsobem se modul do jádra nahraje jenom dočasně a po rebootu bude opět chybět. Pro opakované nahrání modulu při nabootování počítače je potřeba do souboru /etc/modules přidat řádek:
i2c-dev
Software pro GPS
Pro správnou funkci stanice je potřeba, aby GPS měla fix. Což znamená, že přijímač musí mít 3D fix.
Tento stav můžeme zkontrolovat z výstupu GPS. Na modulu GPS01B je USB konektor, který po připojení k počítači vytvoří virtuální modemovou linku /dev/ttyACM0 na kterou jsou periodicky posílány informace o stavu GPS. Správné označení cesty k souboru /dev/ttyACMX lze zkontrolovat z výpisu dmesg. V linuxu můžeme tento výstup trvale monitorovat pomocí programu gpsd.
sudo apt-get install gpsd gpsd-clients
Po instalaci program spustíme jako daemon a přiřadíme mu port s výstupem GPS. V našem případě /dev/ttyACM0 označuje seriové rozhraní, které je potřeba použít.
sudo gpsd /dev/ttyACM0
Program běží v pozadí a čte data z GPS. Na jeho výstup se podíváme některým klientem.
cgps gpsmon
Bez grafického prostředí z příkazové řádky. Nebo
xgps
V grafickém prostředí X.
Ve všech případech by mělo být při správné funkci vidět, že z GPS posílá nějaká data. Dobře je to vidět např v gpsmon, který NMEA výpisy přímo zobrazuje v textové podobě. Dále by pak GPS měla mít 3D fix a používat některé družice, což je také vidět ve výstupu klientů.
Umístění GPS antény
Pokud se stane, že GPS nemá fix nebo nevidí žádné družice. Tak je pravděpodobně problém s připojením GPS antény, nebo jejím umístěním. Je potřeba si uvědomit, že GPS signál je velice slabý (GPS družice jsou více než 20000 km nad povrchem Země), takže je potřeba aby GPS anténa měla přímý výhled na oblohu. Anténa umístěná v místnosti bez oken velmi pravděpodobně nebude fungovat, a nebo její funkce bude velmi omezená.
Automatické ladění přijímače
Lokální oscilátor stanice se ovládá jako I²C zařízení přímo počítače. Je proto potřeba mít zprovozněný balík knihoven pro ovládání I²C zařízení. Na téže stránce je i návod na jeho instalaci.
Následně potřebujeme program pro nastavení frekvence lokálního oscilátoru.
git clone https://github.com/MLAB-project/station-supervisor.git git clone https://github.com/MLAB-project/python-mlab-utils.git cd python-mlab-utils/ sudo python setup.py develop cd ../station-supervisor
Nyní máme staženy zdrojové soubory utility pro ladění lokálního oscilátoru a je potřeba upravit soubory frequency_config.py a případně bus_config.py podle konfigurace stanice. Po nastavení je možné spustit kontinuální ladění a kontrolu frekvence lokální oscilátoru stanice.
sudo ./frequency-guard.py
Pokud terminál se spuštěným ladícím skriptem chceme zavřít, tak je možnost jej spustit v prostředí screen.
sudo screen /frequency-guard.py Current Freq.: 286.0787998 MHz, Req. Freq.: 286.078800 MHz, Freq diff.: -0.2 Hz, Time: 58 s
Ten v takovém případě musí běžet po celou dobu provozu stanice. Je proto ideální jej spustit v terminálovém okně otevřeném vedle běžícího waterfallu na stanici. Protože jeho výpis může částečně sloužit k diagnostice správného chodu lokálního oscilátoru stanice.
Ještě taky existuje skript pro ladění Si570 bez GPS: setSi570
Aby se skript nemusel spouštět s právy roota, je třeba vytvořit v adresáři /etc/udev/rules.d soubor SiliconLabs.rules s obsahem:
SUBSYSTEM=="usb", ATTRS{idVendor}=="10c4", MODE="0666" SUBSYSTEM=="usb_device", ATTRS{idVendor}=="10c4", MODE="0666"
Aby se toto nastavení projevilo, tak se musí znovu zavolat udev. To se stane pri nové enumeraci USB zařízení.
Servisní operace
Zprovoznění SSH tunnelu
Pro servis stanic je nutné stanici zaregistrovat a nastavit jí SSH tunnel.
Aktualizace firmware v modulu s PIC
V některých případech je potřeba pro opravu chyby nahrát novou verzi firmware do modulu PIC16F87xTQ4401B. Při této operaci se postupuje podle návodu na programování PIC. Nahrání kódu provedeme připojením programátoru picprogusb dále je potřeba pouze stáhnout aktuální verzi hex souboru a tu nahrát do MCU, což provedeme následovně:
svn co svn://svn.mlab.cz/MLAB/Designs/Measuring_instruments/RMDS02C/SW/PIC16F887/ cd PIC16F887 pk2cmd -PPIC16F887 -M -Y -W -F./main.hex
Po úspěšném zápisu a kontrole by měl v PIC být nový firmware.
Nastavení SDR-widget
Nahrání firmware
Pro nahrání firmware potřebujeme upravený dfu-programmer, který stáhneme následujícím postupem:
sudo apt-get install autotools-dev automake libusb-dev checkinstall git clone https://github.com/MLAB-project/dfu-programmer-sdr-widget.git cd dfu-programmer-sdr-widget/ ./bootstrap.sh ./configure make sudo checkinstall --pkgversion 1.0
Tím dosáhneme instalace balíku dfu-programmer-sdr, který lze kdykoliv odebrat ze systému standardními odninstalačními nástroji.
Předkompilovanou verzi Bolidozor firmware lze stáhnout z webu:
wget https://github.com/MLAB-project/sdr-widget/releases/download/bolidozor-v01/widget.elf
Před spuštěním nahrávacího sktiptu stiskneme na desce AT32TQ14401A tlačítko RESET a opět ho pustíme. Následně stiskneme tlačítko BOOT (nepopsané tlačítko, držíme do opětovného stisku a uvolnění tlačítka RESET). Tím aktivujeme interní bootloader MCU a samotné nahrání firmware pak spustíme následujícím příkazem ze složky dfu-programmer-sdr-widget.
sudo ./program-widget widget.elf
Kontrola konfigurace
Po správném nahrání firmware bude sdr-widget hardware vidět na USB a VID a PID bude nastavené na fffe:0007
.
Taktéž po spuštění konfiguračního nástroje uvidíme toto nastavení (nelze jej měnit je pevně nastavené v Bolidozor verzi firmware)
Radiová Meteorická Detekční Stanice RMDS02F
Tato stanice vznikne z předchozí revize odebráním modulu I2CHUB02 a výměnou odroidu za verzi odroid-C4. Do RF vstupní části jsou již fixně přidány moduly Gain-block a pásmová propust.
Celkové zapojení
RF Signál
RF signál je z antény přiveden přes držák konektorů koaxiálním kabelem nejdříve na modul pásmového filtru poté na modul linkového zesilovače a nakonec na vstup přijímače SDRX.
RF IN ⇒ BP01 ⇒ GB01 ⇒ SDRX01
Napájení
Napájení 12V
Žlutá/černá (10cm)
UNIPOWER02 OUT ⇒ BATPOWER04/INPUT
žlutá/Černá (10cm)
UNIPOWER02 OUT ⇒ SDRX01/LNA Power (libovolný jeden ze čtyř vnitřních pinů)
Napájení +5V
červená/černá
BATPOWER04/5V POWER OUT ⇒(15cm) SDRX01/Power, BATPOWER04/5V POWER OUT ⇒(10cm) CLKGEN01/Power 5V
Použít 4 pinový plastovy konektor na BATPOWER a napájení na něm rozdělit.
ODROID-C4 +5V Breakout frame power
AT32TQ14401/POWER +5V → (15cm) ADCaudio01/POWER +5V
SDRX01B/Power +5V ⇒ (10cm) SDRX01B/Analog Power +12V
U napájecího modulu BATPOWER je nutné zkontrolovat nastavení jumperu na hodnotu +5V.
Napájení -5V
modrá/černá
(10cm) SYMPOWER -5V ⇒ SDRX01B/Analog Power -12V
Napájení 3,3V
Oranžová/černá (10cm)
CLKGEN01B/Vcore 3,3V → CLKDIV01A/POVER 3,3V
CLKDIV01A/POVER 3,3V → TTLPECL01A/POWER
Oranžová/černá (20cm)
CLKGEN01B/Vcore 3,3V → PIC16F87x/POWER
Digitální Signály
Rozvod VF hodin
SATA kabely
10cm
CLKGEN01B/CLKOUT → CLKDIV01A/CLK IN
10cm
CLKDIV01A/QB → TTLPECL01A/PECL0
20cm
CLKDIV01A/QA → SDRX01B/LO INPUT
Vydělené hodiny
bílá (10cm)
TTLPECL01A/TTL0 → PIC16F87x/RC0
Ovládání předděličky
šedá(10cm)
CLKDIV01A/MR# → PIC16F87x/RE2
CLKDIV01A/SEL B0 → PIC16F87x/RE1
CLKDIV01A/SEL B1 → PIC16F87x/RE0
PPS
zelená (10cm)
GPS01A/TIMEPULSE → CLKDIV01A/EN#
GPS01A/TIMEPULSE → PIC16F87x/RB0
Ovládání GPS přijímače
fialová(10cm)
GPS01A/RXD → PIC16F87x/RC6
PIC16F87x/RB3 → GPS01A/LED ON (vývod blíž k LED)
I2C
Bílá(SDA), černá(GND), SCL(hnědá) 10cm
ODROID-C2/SCL 5 → I2CHUB02B/MASTER I2C/SCL
ODROID-C2/SDA 3 → I2CHUB02B/MASTER I2C/SDA
ODROID-C2/GND → I2CHUB02B/GND
Bílá(SDA), černá(GND), SCL(hnědá) 20cm
I2CHUB02B/6/SDA → PIC16F87x/RC4
I2CHUB02B/6/SCL → PIC16F87x/RC3
I2CHUB02B/3/SDA → CLKGEN01B/SDA
I2CHUB02B/3/SCL → CLKGEN01B/SCL
I2CHUB02B/5/SDA → SHT31V01A/SDA
I2CHUB02B/5/SCL → SHT31V01A/SCL
Blok SDR-widget
Rozvod hodin
Žlutá 10cm
ADCaudio01B/MCLK → AT32TQ14401A/PC04
I2S
Fialová 10cm
ADCaudio01B/BCLK → AT32TQ14401A/PX28 → AT32TQ14401A/PX34
ADCaudio01B/DOUT → AT32TQ14401A/PX25
ADCaudio01B/LRCLK → AT32TQ14401A/PX26 → AT32TQ14401A/PX36
Sample rate select
Hnědá 15cm
ADCaudio01A/OSR0(k nápisu) → AT32TQ14401A/PB00
Šedá 15cm
ADCaudio01A/OSR1(k nápisu) → AT32TQ14401A/PB01
jumper na AUDIOF0
Modrá 10cm
AT32TQ14401A/JTAG2 → AT32TQ14401A/PB06
Checklist po sestavení stanice
Popisuje jak se má stanice chovat při zapnutí a co je potřeba zkontrolovat, že funguje při diagnostice stanice.
- Stanice nabootuje a lze se na ní připojit přes reverzní SSH tunel
- Na stanici jsou vidět všechna I2C zařízení.
- Lze spustit staniční software
- Veškerý software i firmware je v aktuální verzi (pro daný release OS)
- Stanice poskytuje waterfall pro PySDR a Freya.
- Test záznamu raw signálu dává po otevření napřiklad v Audacity stejnou amplitudu signálu v obou kanálech, kanály nejsou přebuzené.
- Na PySDR musí být vidět signál (143.05 MHz) z generátoru s výkonem -150dBm
- Na stanici je přítomna redukce SDcard na emmc kartu.
- U stanice je napájecí zdroj 12V
- Po zapnutí svítí/blikají všechny zapojené indikační ledky