Generovani PWM na AVR

Jan Waclawek konfera na efton.sk
Sobota Březen 19 22:45:35 CET 2011


Nemam s PWM na AVR ziadnu konkretnu skusenost, ale ciste z citania datasheetu mi vyplyva, ze OCR register sa updatne okamzite ak sa do neho zapise v ne-PWM rezime (t.j. riesenim by mohlo byt prepnut rezim na nePWM - prepisat register - prepnut rezim spat).

Na druhej strane pri popise FastPWM rezimu datasheet priamo varuje pred nevhodnostou pouzitia ICR ako TOP registra, ak sa ma menit frekvencia...

wek




On Sat, 19 Mar 2011 20:10:34 +0100
Martin Locker <locker at vosrk.cz> wrote:

> 
> Zdravím,
>  
> řeším následující problém. Generování PWM s proměnnou frekvencí na 16 bitovém čítači AVR.
> Nastaven režím Fast PWM s maximem definovaným registrem ICR1, plnění OCR1A a OCR1B.
>  
> Změnu frekvence, tj. nastavení předvolby čítače do ICR dělám v přerušení při dosažení přetečení.
> Problém je ale ten, že pro zachování plnění PWM (poměrné šířky) je nutné současně změnit i předvolby
> OCR, ale tento registr se zapíše až při dalším přetečení (je bufferován) a tudíž je jedna perioda 
> se špatnou šířkou (třeba i o 100%, když se změní frekvence dvojnásobně).
>  
> Jde to nějak řešit? Třeba zastavit čítač, nastavit novou hodnotu OCR, a spustit nebo je to 
> neřešitelné (zatím se mi to nepodařilo)?
>  
> Díky za případné zkušenosti a nápady
>  
> Martin Locker
>  


Další informace o konferenci Hw-list