Taktowanie mikroprocesorów Jednostka sterująca mikroprocesora jest układem sekwencyjnym synchronicznym, czyli wymagającym sygnału taktującego (zegarowego). Z taktowaniem mikroprocesora związane są trzy pojęcia: sygnał zegarowy cykl maszynowy cykl rozkazowy cykl maszynowy cykl rozkazowy sygnał zegarowy
Taktowanie mikroprocesorów sygnał zegarowy – wyznacza rytm wykonywania najbardziej elementarnych operacji mikroprocesora (zatrzaśnięcie informacji w rejestrze, zmianę stanu sygnału RD, itp.) cykl maszynowy – jest wykonaniem pewnej niepodzielnej operacji związanej z przesłaniem informacji z/do pamięci czy układów we/wy; w normalnych warunkach trwa ustaloną liczbę (np. 3) cykli sygnału zegarowego cykl rozkazowy – składa się z jednego lub kilku cykli maszynowych i określa czas niezbędny do wykonania rozkazu
Taktowanie mikroprocesorów Przykład 1: rozkaz CPL A w µP 80C320 A15-A8 A7-0rozkaz CLK ALE PSEN P0 P2 cykl maszynowy cykl rozkazowy
Taktowanie mikroprocesorów Przykład 2: rozkaz ANL A,#0FH w µP 80C320 PC rozkaz CLK ALE PSEN P0 P2 cykl maszynowy PC+1 0FH cykl maszynowy cykl rozkazowy
Taktowanie mikroprocesorów Przykład 3: rozkaz w µP 80C320 PC MOVX CLK ALE PSEN P0 P2 cykl maszynowy PC+1 rozkaz cykl maszynowy cykl rozkazowy DPH DPLA WR cykl maszynowy
Taktowanie mikroprocesorów Przykład 4: taktowanie 8051 CLK ALE PSEN cykl maszynowy WR
Układy taktowania mikroprocesorów Metody taktowania mikrokontrolerów: wbudowany generator + rezonator kwarcowy wbudowany generator + rezonator ceramiczny wbudowany generator + układ RC wbudowany generator bez elementów zewnętrznych generator zewnętrzny
Taktowanie – rezonatory XTAL1 XTAL2 33pF Dla rezonatorów ceramicznych zwykle C = 47pF XTAL2 XTAL1 Dla częstotliwości powyżej ok. 25 MHz wymagane specjalne rozwiązania (układy LC)
Taktowanie – układy RC
Taktowanie – generatory zewnętrzne Parametry czasowe przebiegu taktującego t CLCL t CHCX t CLCX t CHCL t CLCH XTAL2 XTAL1 generator zewnętrzny
Częstotliwości taktowania Mikroprocesory mogą być taktowane sygnałami o częstotliwości mieszczącej się w pewnym zakresie. przez zastosowanie większych częstotliwości uzyskuje się zwiększenie mocy obliczeniowej (wydajności) mikroprocesora przez zastosowanie niższych częstotliwości uzyskuje się zmniejszenie poboru mocy i zmniejszenie zakłóceń
Niskie częstotliwości taktowania Zalety: zmniejszenie poboru mocy możliwość dalszego obniżenia poboru mocy przez zastosowanie niższego napięcia zasilania mniejszy poziom zakłóceń Wady i ograniczenia: zmniejszenie mocy obliczeniowej mikroprocesora ograniczenia związane z dynamiczną konstrukcją układów logicznych mikroprocesora ograniczenia związane z nieprawidłowym działaniem niektórych układów peryferyjnych
Niskie częstotliwości taktowania Zależność prądu zasilania od częstotliwości taktującej I CC [mA] f OSC [MHz] Max Active Mode Typ Active Mode Max Idle Mode Typ Idle Mode I CC(MAX) = 1.0mA + 0.9mA x f OSC [MHz]
Niskie częstotliwości taktowania Bramki dynamiczne CMOS typu domino Φ A B DE C Y=AB+C(D+E) V DD Φ = 0 – wstępne ładowanie (wyjście bufora = 0) Φ = 1 – obliczenie wartości funkcji (wyjście bufora = Y) zalety: mała powierzchnia szybka propagacja sygnałów prostota sterowania (jedna faza)
Wysokie częstotliwości taktowania Zalety: zwiększenie mocy obliczeniowej (wydajności) mikroprocesora Wady i ograniczenia: zwiększenie poboru mocy – zwiększenie ilości wydzielanego ciepła zwiększenie zakłóceń zwiększenie wymagań na szybkość działania układów zewnętrznych ograniczeniem częstoliwości jest szybkość przeładowywania pojemności w układzie mikroprocesora
Wysokie częstotliwości taktowania Wymagania czasowe układu mikroprocesora RD DATA ADDR t PXIZ t AVIV t PLIV
Wysokie częstotliwości taktowania Parametry czasowe układów pamięci OE DATA ADDR t DF t ACC t OE CE t CE Np. dla układów EPROM -70, firmy Atmel: t CE = 70ns, t OE = 30ns, t ACC = 70ns, t DF = 30ns
Wysokie częstotliwości taktowania Wymagania na parametry czasowe: t ACC < t AVIV t OE < t PLIV lub t CE < t PLIV t DF < t PXIZ µP D7 A13 RD A13 A0 CE OE D7D0 A0 A14 A15 D0 OE DATA ADDR t DF t ACC t OE CE t CE RD DATA ADDR t PXIZ t AVIV t PLIV
Wysokie częstotliwości taktowania µP D7 A13 RD A13 A0 CE OE D7D0 A13 A0 CE OE D7D0 A0 A14 A15 D0 1 2 dekoder adresowy t PROP
Wysokie częstotliwości taktowania Wymagania na parametry czasowe: t ACC < t AVIV t OE < t PLIV t DF < t PXIZ t CE + t PROP < t AVIV OE DATA ADDR t DF t ACC t OE CE t CE RD DATA ADDR t PXIZ t AVIV t PLIV
Wysokie częstotliwości taktowania 80C320 AD7-AD0 A15-A8 RD WR ALE D7-D0 A15-A8 LE IO Wymagania czasowe mikroprocesora 80C320 PSEN
Wysokie częstotliwości taktowania Wymagania czasowe mikroprocesora 80C320 LE D Q t SU tHtH t PROP tWtW D LE Q
Wysokie częstotliwości taktowania Wymagania czasowe mikroprocesora 80C320 ALE PSEN P0 P2 t LHLL t AVLL t LLAX t PXIZ t AVIV t AVIV2 t PLIV
Wysokie częstotliwości taktowania Parametry czasowe 80C320 t LHLL min (3t CLCL /2)-5nsdla f OSC =33MHz:40ns t AVLL min (t CLCL /2)-5nsdla f OSC =33MHz:10ns t LLAX min (t CLCL /2)-5nsdla f OSC =33MHz:10ns t AVIV max 3.5t CLCL -25nsdla f OSC =33MHz:81ns t PLIV max 2t CLCL -20nsdla f OSC =33MHz:41ns t PXIZ max t CLCL -5nsdla f OSC =33MHz:26ns
Wysokie częstotliwości taktowania Wymagania na parametry czasowe: t OE < t PLIV t ACC < t LLAX t SU < t AVLL t DF < t PXIZ t PROP + t ACC < t AVIV OE DATA ADDR t DF t ACC t OE ALE PSEN P0 P2 t LHLL t AVLL t LLAX t PXIZ t AVIV t AVIV2 t PLIV LE D Q t SU tHtH t PROP tWtW
Zmniejszanie poboru mocy Techniki zmniejszania poboru mocy: zmniejszenie częstotliwości generatora sygnału zegarowego zmniejszenie napięcia zasilającego (może wymagać zmniejszenia częstotliwości generatora) wyłączenie jednostki centralnej mikrokontrolera wyłączenie układów peryferyjnych zwolnienie pracy jednostki centralnej Tryby zmniejszonego poboru mocy 8051: tryb uśpienia (Idle mode) tryb zamrożenia (Power Down mode)
Zmniejszanie poboru mocy Tryb uśpienia: wyłączenie CPU układy peryferyjne działają bez zmian Wyjście z trybu uśpienia: wyzerowanie mikrokontrolera (co najmniej 2 cykle maszynowe) wywołanie przerwania (jeśli jest odblokowane)
Zmniejszanie poboru mocy Tryb zamrożenia: wyłączenie generatora (wyłączenie CPU i układów peryferyjnych) zawartość pamięci RAM i SFR podtrzymana linie portów utrzymują swój stan ALE i /PSEN w stanie niskim możliwość obniżenia napięcia zasilającego (2V) Wyjście z trybu uśpienia: wyzerowanie mikrokontrolera (długotrwałe) w niektórych mikrokontrolerach wywołanie przerwania (jeśli jest odblokowane)
Zmniejszanie poboru mocy Philips P80C51X2 (Vcc = 5V, f = 16 MHz) tryb aktywny:Icc = 15.5 mA tryb uśpienia:Icc = 3.9 mA tryb zamrożenia:Icc = 30 µA Texas Instruments MSP430C323 (Vcc = 3V, f = 1MHz) tryb aktywny:Icc = 400 µA LPM1:Icc = 50 µA LPM2:Icc = 6 µA LPM3:Icc = 1.3 µA LPM4:Icc = 0.1 µA