Úvod aneb princip PWM.
Pulse Width Modulation / (modulace délkou nebo šířkou impulsu) V digitální
komunikaci se jedná o označení pro metodu kódování binární
informace do nosného analogového signálu pomocí růz-né délky
trvání impulsů. Pro upřesnění lze dodat, že pro signál, který má jen stavy
„L“ a „H“ je možné další informaci kódovat právě do
časového trvání patřičné napěťové úrovně.
Programovatelný periferní obvod pro generování PWM
signálu
Firma HARRIS vyrábí programovatelný periferní obvod, který umí velmi
pružně generovat signál PWM na úrovni TTL (Datasheet CDP68HC68W1). Blokové schéma tohoto obvodu je na obrázku.
Základem je modulační logika, která generuje signál PWM ze vstupního
hodinového signálu přivedeného na vstup CLK.
Celkem tři 8-mi bitové registry definují všechny programovatelné vlastnosti PWM signálu. Jsou jimi :
- Řídící registr (Control Register),
- Registr frekvence (Frequency Register),
- Registr šířky impulsu (Pulse-Width Register),
Obsazení registrů je variabilní, podle potřeby je možné vyslat do obvodu 8, 16, nebo 24 bitů. Tak nastavujeme jen šířku impulsu, frekvenci nebo řídící registr. Je samozřejmé, že po zapnutí napájení je nutné alespoň jedenkrát nastavit obvod do počátečního stavu zapsáním plné 24. bitové informace. Pro mikropočítače, které jsou vybaveny SPI rozhraním je nutné nastavit v kontrolním registru bity CPOL, CPHA do „L“, což znamená, že platnost dat na datovém vodiči (DATA) je při nástupní hraně hodinového signálu (SCK). Počet vyslaných bitů (po osmi) je řízen také signálem výběru obvodu (CS).
Označení bitů, výpočet opakovací frekvence a šířky PWM:
- PC - (Power Control) - řízení spotřeby - pro „L“ je chip aktivní, pro „H“ jsou vnitřní hodiny, komparátor a referenční napětí blokováno. V tomto případě je čip v tzv. nízkopří-konovém modu (power down), z něho se dostane jen plným naprogramováním 24-bitové informace.
- CD - (Clock Divider) - klopný obvod děliče - pro „L“ se vstupní kmitočet CLK nebude dělit, pro „H“ je vstupní kmitočet CLK podělen dvěma.
- f - 8-mi bitová informace o opakovací frekvenci PWM dle vzorce :
- N - 8-mi bitová informace o délce aktivní části PWM (úroveň „H“) dle vzorce:
Připojení PWM obvodu k mikroprocesorovému systému.
K mikroprocesoru řady ’51, který nemá integrováno SPI rozhraní, lze
programovatelný obvod PWM připojit poměrně jednoduše a ještě je možné použít
přímo krystal mikroprocesoru. Na obrázku je uveden příklad připojení. PWM obvod se k
mikroprocesoru připojí třemi vodiči (DATA, SCK, CS). Zdroj hodinového kmitočtu pro vstup pin CLK
použijeme z hodin mikropro-cesoru na výstupu X2. Je tu však problém maximálního
možného kmitočtu na vstupu CLK tj. 8MHz. Pokud máme krystal s vyšším kmitočtem,
použijeme binární děličky HCF4024 a vybereme vhodný nižší kmitočet na
některém z jeho výstupu. Z praktických zkoušek doporučuji zakoupit doopravdy obvod
„F“ i když s jeho koupí můžete mít problém. Tato varianta děličky totiž spolehlivě
funguje i při kmitočtu krystalu 22,1184MHz.
I matematika se hodí
Nebudeme to přehánět, ale jeden příklad výpočtu opakovací frekvence PWM si uveďme.
Předpokládejme kmitočet krystalu (X2) 11,0592 MHz, na zvoleném výstupu binární
děličky (Q1) dle obrázku je kmitočet poloviční, tedy 5,5296 MHz. Pokud nepoužijeme
vnitřní děličku je CD=0. Využitím možnosti plného rozlišení 8-mi bitové
informace (N=255) získáme výstupní kmitočet PWM dosazením do (1) 21,6 kHz. Při
tomto kmitočtu můžeme řídit šířku impulsu PWM dle (2) v rozsahu binárních
čísel 1 a 255, tedy s rozlišením přibližně 0,4%.
Programová obsluha PWM obvodu
V přiloženém výpise jsou uvedeny dva podprogramy (PWM_NIT, PWM_OUT). První z nich
slouží k inicializaci připojeného obvodu PWM, přičemž se nepředpokládá vyu-žití
vnitřní děličky kmitočtu. Vstupním parametrem je pouze jediné číslo, v registru Acc před
vo-láním procedury, která udává výsledný opakovací kmitočet
PWM a nastavuje šířku impulsu PWM na poměr 1:1.
Druhá procedura nastavuje konkrétní šířku impulsu PWM údajem z registru
Acc.
Závěr
Oblast použití PWM je velmi široká od klasického přenosu informace, přes D/A
převodníky až po výkonové řízení stejnosměrných motorů. Právě
použití u výkonových obvodů je použití PWM velmi energeticky výhodné,
neboť výkonové spínací prvky pracují pouze ve dvou stavech - zapnuto, vypnuto a
ztráty (především tepelné) jsou u nich minimalizovány.
Vysílací strana
; definice pinu CE_W BIT
P1.5 ; ;################################################################# PWM_INIT: |
Přijímací strana
;;################################################################# PWM_OUT: |
Dovnload rutin - 68hc68w1.asm (2.5 kb)