V současnosti je modul v produkční fázi. A lze jej zakoupit v e-shopu UST. Nastavení kmitočtu se provádí přes sběrnici I²C. Výstup digitálního signálu je vyvedený diferenčně na SATA konektor.
DG8SAQ vyvinul konstrukci, která je velmi často využívána hlavně radioamatéry, neboť kromě ovládání samotného oscilátoru poskytuje ještě další funkce, jako je přepínání banky filtrů, nebo klíčování radiostanice. Vzhledem k velké rozšířenosti této konstrukce, je implementována jak na architektuře PIC, tak i na AVR.
V tomto případě je modul připojen na sběrnici USB pomocí modulu PIC18F4550v01A do kterého je nahrán firmware umístěný v MLAB SVN.
Podrobnější popis této konstrukce je možné nalézt v odděleném dokumentu Kmitočtový syntezátor s Si570 laditelný přes USB
Společným problémem obou těchto konstrukcí je právě USB. Které způsobuje, že zařízení nefunguje zaručeně na všech počítačích, případně dochází k zatuhnutí oscilátoru na jedné frekvenci a nebo ke ztrátě kalibrace.
V tomto případě se pro komunikaci využito přímo ovládání přes rozhraní I²C čipu Si570. Proto jde o nejspolehlivější a aktuálně nejlepší způsob ovládání tohoto modulu v zařízení.
Samotný elektrický způsob připojení modulu se v tomto případě liší podle použitého I²C master zařízení. Jako programové knihovny lze použít například MLAB Python I2C, nebo přímo kernelovský modul pro Linux.
Pokud máme na počítač s vyvedeným rozhraním I2C je vhodné připojit modul přímo k němu, neboť se tím vyhneme problémům s přechody mezi jednotlivými vrstvami protokolů. Jedním ze zařízení, které má přímo rozhraní I2C je ARM počítač ODROID-X2. K tomuto počítači je však nutné připojovat CLKGEN01B opatrně, neboť jeho pracovní napětí je na IO rozhraních je pouze 1.8 V. Tento problém lze ale bezpečně řešit zařazením modulu I2CHUB01A, který kromě převodu napěťových úrovní funguje zároveň i jako rozbočovač, na jehož porty lze připojovat další I²C zařízení.
Samotné připojení oscilátoru k ODROIDu provedeme podle návodu v sekcí O připojení I2C. Podrobný popis způsobu zacházení s I²C je pak na stránce I²C a MLAB. Ve stručnosti je ale modul správně připojen pokud jej vidíme na sběrnicí. To lze zjistit tímto postupem:
Zkontrolujeme, že na sběrnici vidíme modul I2CHUB02A. V tomto příkladu je vidět a má adresu 0x70
linaro@linaro-ubuntu-desktop:~/repos/MLAB-I2c-modules/examples$ sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: 70 -- -- -- -- -- -- -- linaro@linaro-ubuntu-desktop:~/repos/MLAB-I2c-modules/examples$
Na něm je nyní potřeba aktivovat kanál ke kterému je připojen modul CLKGEN01B, protože na nemáme připojeného nic jiného. tak si můžeme dovolit aktivovat všechny kanály volbou 0xff
linaro@linaro-ubuntu-desktop:~/repos/MLAB-I2c-modules/examples$ sudo ./i2chub02_example.py 1 0x70 0xff Get initial I2CHUB setup: I2CHUB channel setup: 0b0 Setup I2CHUB to channel configuration: 0b11111111 final I2C hub channel status: 0b11111111 linaro@linaro-ubuntu-desktop:~/repos/MLAB-I2c-modules/examples$ sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- 55 -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: 70 -- -- -- -- -- -- -- linaro@linaro-ubuntu-desktop:~/repos/MLAB-I2c-modules/examples$
Nyní vidíme i připojený modul CLKGEN01B se kterým můžeme komunikovat a ladit jej například kernolovským modulem pro Si570.
Je třeba dodat, že bez změny implicitních nastavení je potřeba mít nezapojenou žádnou volbu na jumperu 'SLAVES' na modulu I2CHUB, neboť to způsobí přípojení dalších pull-up rezistorů, které už obsahuje modul CLKGEN. A sběrnice I2C pak v takovém případě nemusí fungovat správně.
Počítače, které nemají vyvedenou sběrnici I²C, ale USB lze připojit modulem Převodník USB na I²C USBI2C01A
Je prototypem modulu, který byl vyroben v jednom exempláři.
Při návrhu tohoto modulu byly zohledněny následující konstrukční požadavky:
Generátor by měl poskytovat více výstupních frekvencí odvozených z jednoho frekvenčního normálu. Hlavním účelem takového řešení je, aby se frekvenční chyba distribuovala proporcionálně v celém systému. V případě použití generátoru hodin v SDR přijímači je výhodné, aby lokální oscilátor pro směšovač byl odvozený ze stejné kmitočtové základny jako ADC. Neboť korekce frekvence je pak společná pro všechny části systému a není třeba je frekvenčně korigovat jednotlivě.
Pro tento účel existují kmitočtové syntezátory využívající technologii DSPLL, která umožňuje generování téměř libovolných frekvencí z referenčního oscilátoru. Použitelné obvody jsou například tyto:
Výstup z generátoru by měl být LVDS na SATA konektory na PCB.
Těmto požadavkům vyhovují oba navrhované obvody. Z důvodu optimalizace vývojových prostředků a zkrácený doby vývoje bych ale navrhoval použití Si5345A-D-GM v kombinaci se externím krystalem ve standardním pouzdru HC-49S. (optimální frekvence krystalu pro minimalizaci jitteru je podle datasheetu 50 MHz). V případě, že by se ukázalo, že jednoduchý křemenný krystal nemá dostatečně stabilní parametry, tak lze frekvenční referenci nahradit externím připojením externího rezonátoru, který může být i teplotně kompenzovaný. Modul kmitočtové syntézy ale musí být připravený na připojení různých dalších typů referenčních oscilátorů, což lze nejsnadněji zařídit osazením SATA konektorů na differenční stupy kmitočtové reference.