Table of Contents

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í

Radio meteor detection station block schematics

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

Viz ODROID-C2 40pin Layout

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.