Hűha, elég régen nem jártam errefelé... Sajnos nem könnyű úgy szoftvert fejleszteni itthon, hogy közben ez a melóm is. Mire hazaérek, elég sokszor úgy vagyok vele, hogy ne is lássak inkább számítógépet. Persze egy PC alapú jelgenerátor lelke a szoftver, meg kell írni és kész, de ritkán volt hozzá elég ihletem. Olyannyira, hogy mostanra készült el.
Íme, a DDS jelgenerátor PC-s felhasználói felülete:
Nyilván lesz akit nem annyira a kép érdekel hanem a forráskód. Közben történtek változások a fejlesztés menetében is, a google code-ra költöztettem a cuccot:
A PIC könyvtárban található a PIC-es firmware, a SignalGen-ben pedig a GUI. Persze nem mondom hogy nincsenek benne már hibák, meg TODO kezdetű kommentek, de ettől függetlenül tökéletesen használható. Nézzünk meg egy pár generált jelet is:
Ez ilyen szinusz. Tud még koszinuszt is, illetve van rajta fázis állítási lehetőség, de ezeknek semmi értelme, amíg a szkóp erre triggerel. Majd a végleges hardverbe lehet hogy teszek trigger kimenetet is (ja és a fázis állításnak több értelme lesz ha teszek bele mondjuk fázis modulációt, de mivel nem foglalkozok olyasmivel amihez kéne, egyelőre nem sürgős).
Tud persze háromszöget és négyszöget is, állítható duty cycle-el.
Bocs, tudom, szörnyű a kép minősége
Vicces módon duty cycle-t lehet állítani a szinusznál is, nagyon hülyén néz ki és értelme is kb annyi van :)
(de pl tud generálni így ilyen egyenirányított szinusz jelet is, csak nincs képem hozzá)
Nagyfrekvenciás zaj (kb 25MHz, 20mV) a négyszög tetején. Ez egyértelműen az FPGA és a DAC órajeléből jön, nagyon bízom benne, hogy a végleges panelon sokkal szebb lesz, illetve a szűrő a végén leszedi.
Kisebb frekvenciás zaj, ez jön a tápból. Logisztikai okokból nem az új, zajtalanabb DC-DC-m hajtja, hanem a régi, de így sem túl vészes.
Naés, a legnagyobb fícsör, a SWEEP! Ebben az üzemmódban a szkóp egyik csatornáját a generátor sweep kimenetére kell kötni, ahol a frekvenciával arányos fűrészjel jön ki. (akartam csinálni logaritmikusat is, de első körben úgy tűnt, nem fogja bírni a PIC a számítást. talán majd a jövőben) Az "external x deflection"-t beállítva kaphatunk ilyen szép ábrát. Középen a vastagabb csík a kurzor, aminek a pozíciója változtatható és leolvasható a GUI-ról.
Egy kondi meg egy ellenállásból aluláteresztő szűrő? persze, tanítják, de élőben látni más. A kurzor olyan 3kHz-nél.
Ez kb. uaz a szűrő, csak a képernyőn most nem 25kHz a vége, hanem 100kHz.
Hát, kb ennyit tud most. Hogyan tovább?
Nekilátok valószínüleg véglegesíteni a NYÁK-ot. Vagyis csak nagyjából. Első körben azért kicsit parázok, úgyhogy szétbontom táp - jelgen - végfok részekre az egészet. A jelgen részét nagyon érdemes egybe építeni, mert most a zaj nagy része (remélem) attól van benne, hogy 5-10 centis mazzagokon vannak összedrótozva a részegységek. Ha az FPGA, a PIC és a DAC-ok között inkább 1cm közeli lesz a távolság, bízom benne hogy ez javulni fog. A tápot külön fogom tenni, mert a tapasztalatok alapján lehet hogy nem sikerül eltalálnom (sokadjára sem) a NYÁK-ot hozzá, a végfoknál pedig majd a rekonstrukciós szűrőt kell méretezni elsősorban, amit nem tudok megtenni addig, amíg az FPGA nem ketyeg a végleges órajelén (ami olyan 200MHz körül lesz, ha minden jól megy).
Ha ez megvan, azzal a prototípus el is készült. Aminek még nekifogok ha tényleg lesz időm, az az, hogy áttervezem az egészet 4 rétegű NYÁK-ra, csak mert kíváncsi vagyok mi lesz a különbség. Ezt persze a konyhában nem fogom legyártani, de vagy negyven helyet tudok ahol megcsinálják manapság, nem túl vészes áron.