150 14. Licznik T2 w 8052 i SAB 80515 535
PWM (Pulse Width Modulation) jest modulacją czasu trwania i szerokości impulsów. Sposób zmiany okresu generowanego sygnału z 16-bitową rozdzielczością został przedstawiony w poprzednim podrozdziale. Zmiana współczynnika wypełnienia impulsów jest drugą podstawową cechą licznika T2. Aby to uzyskać konstruktorzy mikrokontrolera wprowadzili cztery 16-bitowe komparatory porównujące stan licznika T2 z czterema 16-bitowymi rejestrami: CRC, CCI, CC2 i CC3. Zmiana współczynnika wypełnienia impulsów realizowana jest więc również z 16-bitową rozdzielczością. Ponieważ rejestr CRC jest używany do zapamiętywania wartości początkowej licznika T2 po przepełnieniu, dlatego praktycznie dostępne są tylko 3 komparatory i rejes-try (CCI, CC2 i CC3).
Przy porównywaniu wartości chwilowej możliwe są dwa tryby. Częściej wykorzystywany jest tryb wyłącznie sprzętowej modulacji szerokości impulsów - tryb 0. Drugi tryb (tryb 1) omówiony jest w [21. Struktura wewnętrzna licznika T2 i towarzyszących mu rejestrów w trybie 0 porównania przedstawiona jest na rysunku 14-5.
Pil/
/CCI
PI 2/
/CC2
Rys. 14-5 Struktura licznika T2 w trybie 0 porównania.
Minimalna i maksymalna szerokość generowanych impulsów wynosi 1/2 cyklu maszynowego. Obie wartości osiągane są gdy:
• stan rejestrów’: CRC, CCI, CC2 lub CC3 jest równy 0000 (wartość minimalna),
• stan rejestrów^: CRC, CCI, CC2 lub CC3 jest równy OFFFFh (wartość mak' symalna).
Wynika z tego, że modulacja szerokości generowanych impulsów możliwa jest w zakresie:
• 0,195% 99,805% przy modulacji 8-bitowej; wykorzystane są tylko reje
stry mniej znaczące, np. CRCL, CCL1, CCL2 lub CCL3; stan rejestrów bardziej znaczących nie ulega zmianie i jest równy OFFh (CRCH, CCH1, CCH2, CCH3),
• 0,00076% .. 99,9992% przy modulacji 16-bitowej; wykorzystane są w pełni 16-bitowe rejestry: CRC, CCI, CC2, CC3.
W trybie 0 porównania stan równości licznika T2 i wybranego rejestru (CRC, CCI .. CC3) powoduje, że komparatory skojarzone z odpowiednimi rejestrami ustawiają linie portu: P1.0 .. PI.3 w stan jedynki logicznej oraz ustawiają znaczniki przerwań: IEX3 .. IEX6. Zmiana linii portu PI dokonywana jest w tym samym cyklu maszynowym, w którym wystąpił stan równości zawartości licznika T2 i wybranego rejestru. Linie portu PI są kasowane w momencie przepełnienia licznika T2.
W przypadku generowania dwóch sygnałów, tak jak przedstawiono to na rysunku 14-6, licznik T2 zlicza wewnętrzne impulsy wejściowe, a komparatory porównują chwilową wartość licznika z rejestrami CCx (CCI .. CC3).
przepełnienie licznika T2
/ wartości |
ri, |
stan równości | ||
chwilowe |
licznika T2 i rejestru CC2 | |||
licznika T2 |
r. |
stan równości | ||
/ |
licznika T2 i rejestru CCI | |||
artość początkowa^ |
/ |
/ | ||
z rejestru CRC |
m 500 Ps ^ | |||
PI 1/CC1 |
... ,| | |||
i |
250 Ms | |||
P1.2/CC2 |
1- | |||
1000 Ps |
Rys. 14-6 Stan linii PI. 1 /CCI i P1.2/CC2 w zależności od wartości chwilowej licznika T2 i wartości rejestrów: CRC, CCI i CC2.
W trybie 0 porównania w momencie gdy chwilowa wartość licznika T2 jest równa zawartości któregoś z rejestrów (np. CCI) wówczas na wyjściu portu PI