Ha a nagy pontosságú, 16 bites PWM modulokon (mint amilyenek például a Microchip PIC16-sorozatú mikrokontrollereiben is megtalálhatók) a PWM-kimenetek nem kerülnek felhasználásra, alternatívaként akár további négy 16 bites, általános célú időzítőként is munkára foghatók.
Minden PWM modul időzítője függetlenül vezérelhető órajellel, amelyhez háromféle forrásból álló választék áll rendelkezésre. Ezenkívül a PWM forrásórajele további hét, választható előosztó segítségével osztható le még tovább, még rugalmasabb felhasználhatóságot biztosítva.
Az időzítő értéke ezek után összehasonlítható az eseményszámláló regiszterekkel, így többféle PWM hullámforma generálható. A fázis, kitöltési tényező, periódusidő és ofszet manipulálására 4 db, 16 bites számlálóregiszter áll rendelkezésre (lásd 1. ábra).
PWM üzemmódok
Minden PWM modul négyféle, választható működési üzemmódot kínál, amelyek az alapértelmezett standard, illetve az ún. „set-on-match”, „toggle-on-match” és „center-aligned” üzemmódok.
A standard mód egyfázisú PWM hullámformát generál, amelyet a PWM számlálóérték és a 16 bites fázis-, periódusidő- és kitöltésitényező-regiszterértékek közötti összehasonlítás és illesztés útján hoz létre az áramkör. A fázisszámláló regiszter tartalmával való egyezés esetén a kitöltési tényező ciklusa megkezdődik, a ciklusnak pedig akkor lesz vége, mihelyt egyezés keletkezik a kitöltésitényező-regiszter tartalmával.
Az ún. „set-on-match” üzemmódban az előállított kimeneti hullámforma alapja a fázisszámláló regiszter és PWM időzítő egyezése. A kimenet mindaddig aktív marad, amíg a kimenetbit törlésre vagy a PWM modul letiltásra nem kerül.
A „toggle-on-match” mód 50% kitöltési tényezőjű PWM hullámformát tud generálni, kétszer akkora periódusidővel, mint ami a standard PWM üzemmódban elérhető. A fázisszámláló regiszterek határozzák meg, hogy hány PWM időzítőperiódus szükséges az esemény után ahhoz, hogy a PWM hullámforma bekapcsoljon.
Végezetül, a „center-aligned” móddal olyan PWM hullámforma generálható, amely a PWM periódusra van központosítva. A periódus a PWMxPR számlálóregisztereknek megfelelő érték kétszerese. Ebben az üzemmódban a PWM időzítő addig számlál, amíg egyezés keletkezik a PWMxPR regiszterekkel, majd ezt követően visszafelé kezd számlálást, egészen a 0 érték eléréséig. A PWM hullámforma aktív felfutó és lefutó élét a kitöltésitényező-számlálóregiszterek határozzák meg.
Ofszet üzemmódok
Az előbbiekben ismertetett négy PWM működési üzemmódon túlmenően minden PWM modul négy ofszetmódot is támogat, amelyekkel a hullámformáig ofszetelhetők bármely más PWM modul jelére vonatkoztatva. Ez a négy ofszet üzemmód a független futás, szolgamódú futás szinkronizált indítással, egyszeri futású szolgamódú futás szinkronizált indítással, valamint folyamatos futású szolgamódú futás szinkronizált indítással és időzítőreseteléssel.
A független futású módban a PWM ofszetje, fázisa, kitöltési tényezője és periódusideje nem áll másik PWM modul befolyása alatt. Ebben az üzemmódban a PWM folyamatosan fut, egészen addig, amíg engedélyezett állapota fennáll (lásd 2. ábra).
A szinkronizált indításos szolgamódú futás üzemmódban legalább két PWM modulnak aktív állapotban kell lennie, így kialakulhat a mester-szolga párosítás a futás során. Ebben az üzemmódban a szolgamodul kivárja a mestermodul ofszeteseményét, majd megkezdi és folytatja a számlálást, egészen addig, amíg engedélyezett állapotban marad.
Az egyszeri futású, szinkronizált indításos szolgamódú futás üzemmódban a szimpla szinkronizált indításos szolgamódú futásúhoz hasonlóan szintén legalább két PWM modulnak aktív állapotban kell lennie, amelyek egyike a mester, másik a szolga lehet. Ebben az üzemmódban az időzítő megkezdi a számlálást az időzítőben egy előkonfigurált értékkel, amit egészen addig folytat, amíg a periódusegyezés meg nem történik. A PWM időzítő ezután a mester ofszetértékével egyezésre vár a ciklus megismétlése előtt.
Végezetül, a szinkronizált indítású és időzítőresetelésű, folyamatos futású szolgamódú üzemmódban a szolga PWM időzítője nem kezdi meg a számlálást addig, amíg nincs egyezés a mester ofszeteseményével. Az elsőt követő, további egyezések a mester ofszeteseményével resetelik a szolga PWM időzítőértékét 1-re, amelyet követően az folytatja a számlálást (lásd 3. ábra).
Összefoglalás
Láthattuk, hogy a Microchip különböző PIC16-sorozatú mikrovezérlőiben (mint például a PIC16F1574) meglévő, nagy pontosságú, 16 bites PWM modulok milyen haladó funkcionalitást kínálnak a standard PWM modulokhoz képest. Ezek ismeretében bátran lehet hagyatkozni a fejlesztők tapasztaltságára és kreativitására ahhoz, hogy innovatív alkalmazások szülessenek.