Nem régiben vásároltam pár alkatrészt a neten és megakadt a szemem ezen a kis áramkörön, így rendeltem belőle (3db=15USD), gondoltam a szabad hétvégéken majd jól elszórakozom vele.
A kis nyákon komplett megtalálható a BH1415F minden kiszolgáló alkatrésze, csupán +5V táp kell neki, sztereo jelforrás és egy antennaként szolgáló drót darab.
Az IC-t 3 vezetékes soros protokollal, 16 biten vezérelhetjük:
- az első 10 bit a hangolni kívánt frekvenciát tartalmazza, tizedesvessző nélkül, 100 kHz-es felbontásban: például 100,2 MHz = 1002
- a következő bit a sztereo/mono működést jelzi
- a következő két bit a "charge pump" kimenetet vezérli
- az utolsó két bit pedig a teszt bit, normál használtnál 01
Ehhez mérten a végleges vezérlőkód is meglehetősen spártai lett:
Kód: Egész kijelölése
'BH1415F FM transmitter
Config Portc.4 = Output
Config Portc.2 = Output
Config Portc.3 = Output
Config Portc.5 = Output
Fmt_sda Alias Portc.5
Fmt_mute Alias Portc.4
Fmt_scl Alias Portc.3
Fmt_csx Alias Portc.2
'Universal variables
Dim Dataword As Integer
Dataword = 875
Set Dataword.11 '1=Stereo; 0=Mono
Reset Dataword.12 'Phase detector PD0
Reset Dataword.13 'Phase detector PD1
Set Dataword.14 'Test bit T0
Reset Dataword.15 'Test bit T1
Set Fmt_mute
Reset Fmt_scl
Set Fmt_csx
Shiftout Fmt_sda , Fmt_scl , Dataword , 3 , 16 , 20 'LSB, CLK high
Reset Fmt_csx
Reset Fmt_mute
A Dataword változó bitjeinek állításával beállítjuk az egyéb vezérlést szolgáló paramétereket.
Elnémítjuk az adót a MUTE láb 1-re állításával, majd a Shiftout utasítás segítségével kiküldjük a Dataword változóban levő értéket.
Az adatlap szerint az órajel változások közötti szünetnek nagyobbnak kell lennie, mint 1,5 mikroszekundum, ezért a Shiftout parancsnak 20 lett szünetként beállítva. Így nagyobb AVR órajelnél is biztonságosan írhatjuk ki az adatot.
Ezután kikapcsoljuk a némítást és az adó működésre kész.
Keressünk egy -lehetőleg frekvenciakijelzős- rádiókészüléket, hangoljuk a beállított frekvenciára és gyönyörküdjünk a remekművünkben!
Tapasztalatok, buktatók:
Eltérően a megszokottaktól, az IC vezérlése fordítva működik. Itt például arra gondolok, hogy a Chip select logikai 1 esetén aktív, eltérően a megszokott 0-tól.
Az adatbeírás is az órajel felfutó élénél történik meg. A Shiftout egyik kellemetlen mellékhatása, hogy ha nem állítjuk be előzőleg a láb állapotát, akkor egy plusz órajelet generál azelőtt, mielőtt a tényleges kiírás megtörténik. Ezért van a kódban a Set Fmt_csx parancs a Shiftout előtt.
Kiegészítő áramkör nélkül az adó teljesítménye meglehetősen kicsi (<10mW).
Rövid számítást követően az antennaként funkcionáló vezeték hosszát 88cm-ben állapítottam meg (képlet=soxor 8, az 88). A hatótávolság így kb. 3 méter légüres térben.
Nektek elárulom, hogy azért rákötöttem próbából egy 0,5W-os RF booster-re, azzal már szépen ment falakon keresztül is, megfelelő antennával.
Természetesen ez az EU területén, így hazánkban is illegális tevékenység, a törvény minden erejével üldözi és különben is sérti az erkölcs hatásait.
Ugyanez az IC található meg az egy-két ezer forintért kapható FM transzmitterekben is, itthoni forgalmazónál külön az IC-t nem találtam.[/u]