PIC a PWM - DDS
Jiri Bezstarosti
jiri@bezstarosti.cz
Pondělí Říjen 1 13:26:07 CEST 2007
Ale dobra, zkusim to cele dovysvetlit.
Budu mit dejme tomu rozsah akumulatoru 65536, tedy 16b. Nataktuji si to
1MHz. V kazdem cyklu budu pricitat zvolenou hodnotu do akumulatoru a
nejvyznamnejsi bit z tech 16b (tedy 15.) budu kopirovat na vystup. Co se
stane ? Kdyz pricitam akumulator po 1, akumulator ma 16b a taktuji 1MHz,
ziskam 15.26Hz. Pokud pricitam 2, pak 30.52Hz, pokud 3 pak 45.78Hz,
zkratka jednotce odpovida krok zhruba 15.26Hz. A mam jednotky linearne
ke generovane frekvenci. Kdyz nastavim 32768, dostanu 500000Hz (krok *
32768) a vyse uz jit nemohu, protoze pak uz to prestane pracovat. Ovsem
problem je v tom, ze kdyz nastavim 32767, bude to generovat vlastne
500000Hz a obcas se to dorovna delsi rozteci na krok*32767. Takze
prumerne bude kmitocet sedet, ale bude mit zkratka jakysi rozhoz
(rekneme jittering). Pokud pouziju vyssi kmitocet taktovani vuci
maximalnimu generovanemu, ziskam mensi krok na jednotku a budu mit i
mensi rozhoz. Otazka pak je, zda se dostanete s pouzitelnymi kmitocty
taktovani na pro Vas ucel pouzitelny rozhoz - to zavisi ciste na
aplikaci. To uz si ale jiste dopocitate sam.
Sinus je o tom, ze misto brani nejvyssiho bitu beru prevod hodnoty na
sinus hodnotu a tu protahnu DACkou, ale princip je stejny. Ten rozhoz se
v tom sinu mnohem lepe ztrati, uz jen proto, ze se to na vystupu
vyfiltruje do one sinusovky. Ovsem je jasne, ze je to vykoupeno vyssi
taktovaci frekvenci, protoze pokud ma ta sinusovka na vystupu trochu
vypadat, rekneme ze pod alespon 8 vzorku na sinus uz radeji chodit nebudeme.
Pri tomto principu dosahnu linearni prubeh vstupu k vystupni frekvenci,
ovsem za cenu uz zminenych rozhozu.
--
Jiri Bezstarosti
Šula Miloš napsal(a):
>Ale ja nechtel sinusovku, ale obdelnik.
>
>
Další informace o konferenci Hw-list