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