Toto je starší verze dokumentu!
−Obsah
Digitalizační jednotka SDR-Widget
SDR-Widget je konstrukce, která mumožňuje digitalizaci audio signálu z SDR přijímačů a jejich ovládání přes sběrnici I2C. Zařízení se může z hlediska systému chovat buď jako klasická audio karta, nebo posílat data přes SDR specifický protokol GHPSDR. Jde o opensource projekt jehož hardware je i přes jeho velkou užitečnost nyní těžko dostupný.
Celé zařízení však lze vyrobit i z modulů stavebnice MLAB. Konkrétně jde o moduly at32tq144 osazený MCU AT32UC3A3256. K němu je připojený modul adcaudio, který signál digitalizuje. Ostatní moduly, jako displej, tlačítka nebo I²C zařízení mohou být připojovány podle potřeby.
Kompilace firmware
AVR32 Toolchain
Stáhněte si z webu Atmelu balík nástrojů a header soubory např:
- Atmel AVR 32-bit Toolchain 3.4.2 - Linux 64-bit
- Atmel AVR 8-bit and 32-bit Toolchain (3.4.2) 6.1.3.1475 - Header Files
Rozbalte toolchain do adresáře ~/avr32-tools. A potom do tohoto adresáře na místo $HOME/avr32-tools/avr32/include vložte avr32 header soubory z druhého balíku.
Případně můžete tento krok vynechat a stáhnout si zakonzervovanou verzi AVR32 toolchain z MLAB Downloads.
wget http://www.mlab.cz/Downloads/Software/AVR32/avr32-tools_3.4.2.tar.bz2 ~/Download/
Potom pokračujeme následujícím postupem:
cd ~/Download tar -xvzf avr32-tools_3.4.2.tar.bz2 mv avr32-tools_3.4.2 $HOME/avr32-tools export PATH=$PATH:$HOME/avr32-tools/bin
Ještě otestujeme funkčnost a verzi toolchain pomocí:
kaklik@popelnice:~/programy/sdr-widget$ avr32-gcc --version avr32-gcc (AVR_32_bit_GNU_Toolchain_3.4.2_435) 4.4.7 Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Pokud výpis je podobný tomuto, tak můžeme pokračovat kompilací SDR-Widget.
SDR-Widget sources
git clone https://github.com/borgestrand/sdr-widget cd sdr-widget/ git checkout audio-widget-experimental
Následně zkompilujeme zdrojový kód pomocí
make sdr-widget
Výsledkem kompilace jsou jednak pomocné utility a pak také firmware, který nahrajeme do MCU pocí skriptu program-widget pomocí utility dfu-programmer. Viz níže.
Nahrání firmware
Pro nahrání firmware potřebujeme upravený dfu-programmer, který stáhneme následujícím postupem:
git clone https://github.com/alexlee188/dfu-programmer-sdr-widget cd dfu-programmer-sdr-widget/ ./bootstrap.sh ./configure make sudo make install
Zkompilovanou starší verzi firmware lze stáhnout z webu googlecode:
wget https://raw.githubusercontent.com/borgestrand/sdr-widget/master/etc/program-widget chmod a+x program-widget wget https://sdr-widget.googlecode.com/files/sdr-widget-2012-10-22.elf
Před spuštěním nahrávacího sktiptu stiskneme na desce AVR32TQ tlačítka BOOT (nepopsané tlačítko, držíme do stisku a uvolnění tlačítka RESET) a RESET.
sudo ./program-widget sdr-widget-2012-10-22.elf
Při jakýchkoli úpravách je nejdříve potřeba spustit:
make clean
Následně je možné kompilaci spustit znovu.
Zapojení modulů SDRX-widget
Případ externího oscilátoru
Tato sekce popisuje zapojení při použití modulu ADCaudio01A taktovaného modulem CLKGEN01B. Při použití novějšího modulu ADCaudio01B, který má integrovaný oscilátor se zapojení pro většinu aplikací zjednodušuje.
Napájení 5V
Červená, Modrá
CLKGEN01B/Vcore 3,3V → ADCaudio01A/POWER +5V → AT32TQ14401A/POWER +5V
Napájení 3,3V
Oranžová, Černá
CLKGEN01B/POWER → TTLPECL01A/POWER → PIC16F87x/POWER
Rozvod hodin
SATA kabel
CLKGEN01B/CLKOUT → TTLPECL01A/PECL0
Žlutá
TTLPECL01A/TTL0 → ADCaudio01A/MCLK → AT32TQ14401A/PC04
I2C
Hnědá
USBI2C01A/SCL → CLKGEN01B/SCL
Bílá
USBI2C01A/SDA → CLKGEN01B/SDA
Modrá
USBI2C01A/I2C GND → CLKGEN01B/POWER GND
I2S
ADCaudio01A/BCLK → AT32TQ14401A/PX28 → AT32TQ14401A/PX34
ADCaudio01A/DOUT → AT32TQ14401A/PX25
ADCaudio01A/LRCLK → AT32TQ14401A/PX26 → AT32TQ14401A/PX36
Sample rate select
ADCaudio01A/OSR0(k nápisu) → AT32TQ14401A/PB00
ADCaudio01A/OSR1(k nápisu) → AT32TQ14401A/PB01
jumper na AUDIOF0
AT32TQ14401A/JTAG2 → AT32TQ14401A/PB06
Konfigurace SDR-Widget
SDR-widget může být nakonfigurován do několika provozních režimů. Změna konfigurace se provádí konfigurační utilitou WidgetControl.py. Před jejím spuštěním nainstalujeme potřebné závislosti.
sudo apt-get install python-pythoncard python-usb
Spustíme konfigurační utilitu.
~/git/sdr-widget$ sudo ./WidgetControl.py
Reference
Testování konstrukce
TODO
- Vyřešit problém s časovým značkováním vzorků.