MÁV szignál

A dallam

A dallam leírása (és egy analóg áramköri megvalósítás) a Hobbi Elektronika 1992/7 számában jelent meg. A cikkben olvasható az alábbi figyelmeztetés is:

... a dallam szerzői jogi védelem alatt áll, s a Magyar Államvasutak tulajdonát képezi! Gazdasági, kereskedelmi, ipari tevékenységhez, reklámra, közösségi célra stb. csak a MÁV előzetes írásbeli engedélyével használható. Természetesen a kifejezetten magáncélú, pl. a lakásunkban üzemelő terepasztal tartozékaként történő felhasználás nem ütközik ilyen jogi akadályba.

Az áramkör

Az áramkör lelke egy PIC16F84A mikrovezérlő. A Graetz híd, a három kondenzátor és a 7805 stabilizátor IC alkotja a tápegységet, ami +5 voltos tápfeszültséget állít elő a kontroller működéséhez. A 20MHz-es kerámia rezonátor az órajelet szolgáltatja. A dióda a feszültségosztóval a DCC jelet vezeti a megfelelő portlábra, a telefonhallgató a két ellenállással pedig kis túlzással a "teljesítmény D/A átalakító". A mikrovezérlő portlábanként 20mA-rel terhelhető, ez bőven elegendő a hallgató meghajtására. Ezt az elrendezést csak a fejlesztés és kipróbálás idejére szántam, de már az első megszólalásnál kiderült, hogy a telefonhallgató meglepően nagy hangerőt produkál, ezért így is maradt. Egyébként végerősítő és hagszóró alkalmazásának sincs akadálya, a hallgatót egy hasonló értékű ellenállással helyettesítve, egy pár mikrós elkóval az erősítő bemenetére csatolhatjuk a hangjelet. Nyák nem készült az áramkörhöz, mivel egyszerűsége miatt próbapanelen is pillanatok alatt össze lehetett rakni.

A mikrovezérlő programja

A mellékelt forrásban található program nem csinál mást, mint a bejövő DCC streamet folyamatosan dekódolja, és ha a megadott címre érkező FG1 parancsban az F1 bit bekapcsolt állapotú, akkor lejátsza a dallamot, majd visszatér a parancs figyeléshez, és így tovább... A program két fő részre tagolódik, melyek akár külön külön is felhasználhatók más alkalmazásokban. Mindkét programrész jól azonosítható a forrásban, a kommentek segítségével pedig működésük könnyen tanulmányozható.

A DCC jelek dekódolása

Első ránézésre kicsit bonyolultnak tűnik az alkalmazott módszer, de egy olyan univerzális alapot szerettem volna készíteni, amit később akár egy mozdonydekóder készítéséhez is fel lehet használni. Ott ugyanis szükség van a futási idők pontos követhetőségére mert pl. a motorvezérlő PWM programrészt párhuzamosan kell a dekódolás mellett futtatni. A jelenlegi program még igen kezdetleges, pl. nem lehet a dekóder semmilyen paraméterét progmozni, bár a kontroller EEPROMjában lehetne tárolni a beállításokat. Ebben az alkalmazásban igazából nincs is szükség a programozhatóságra, mivel maximum 1-2 darab kerül az áramkörből egy rendszerbe, ezek paraméterei pedig "gyártáskor" egyszerűen beállíthatók, és valószínű, hogy soha többé nem lesz szükség azok megváltoztatására.

A hanggenerátor

A hanggenerátor rutin DDS (Direct Digital Synthesis) alapokra épül, egyszerre 2 csatornán képes meghatározott frekvenciájú négyszögjel előállítására. A hangmagasságokat táblázatból szedi, így könnyen bármilyen, maximum kétszólamú rövidebb dallamot le tud játszani. A hagok frekvenciájából a forrásban található képlet segítségével lehet kiszámolni a táblázatba írandó értékeket. A táblázatba írt 0 érték az adot csatorna kikapcsolását jelenti.

Végül...

...nem maradt más hátra, minthogy a megépíteni szándékozóknak sok sikert, és ha elkészült, akkor élményteli "hangos" vonatozást kívánjak!