MCS51 - wykład 6
Wykład 5 1/32 Dołączanie układów zewnętrznych Wbudowane peryferia Przegląd rodziny MCS51
MCS51 - rozbudowa systemu z MCS51 2/32 Przy projektowaniu systemu bazującego na MCS51 należy pamiętać o: multipleksowaniu danych D0..D7 z adresami A0..A7 na porcie P0, co wymaga stosowania dodatkowego zatrzasku na młodszy bajt adresowy; obciążalności poszczególnych linii mikroprocesora; braku specjalnych sygnałów sterujących do portów zewnętrznych (oznacza to jednolity sposób adresowania urządzeń zewn. i pamięci RAM); rozdzieleniu przestrzeni adresowych zewnętrznej pamięci programu i danych; możliwości stosowania zamiennie różnych odmian mikroprocesora (rodzaj i wielkość wewnętrznej pamięci programu).
MCS51 - rozbudowa systemu z MCS51 3/32 Dołączanie zewnętrznych pamięci:
MCS51 - rozbudowa systemu z MCS51 4/32 Dołączanie modułów peryferyjnych z serii 8085:
MCS51 - rozbudowa systemu z MCS51 5/32 Dołączanie modułów peryferyjnych z serii 8080:
MCS51 - rozbudowa systemu z MCS51 6/32 Dołączanie modułów peryferyjnych z serii 8080 (inny wariant):
MCS51 - wbudowane peryferia 7/32 Synchronizowany 2-kierunkowy port równoległy: dodatkowy port wyposażony w 4 sygnały do transmisji z potwierdzeniem może też pracować jako zwykły port quasi-dwukierunkowy.
MCS51 - wbudowane peryferia 8/32 Podstawowe przebiegi portu synchronizowanego wprowadzanie informacji wyprowadzanie informacji
MCS51 - wbudowane peryferia 9/32 Uniwersalny interfejs urządzenia peryferyjnego: działa na bazie P0 uzupełnionego o dodatkowe rejestry; mikrokontroler działa jak programowalny układ sterujący urządzenia zewn.; system nadrzędny widzi P0 jako podwójny port 2-kierunkowy; wykorzystywane są linie: /RD, /WR, /CS (P2.5) i A0 (P2.4); /CS=0 uaktywnia UPI do transmisji z zewnątrz; A0=0 wybiera bufor/rejestr danych, A0=1 wybiera rejestr sterujący/stanu.
MCS51 - wbudowane peryferia 10/32 Wirtualne porty równoległe: do kilkunastu portów równoległych; porty są dostępne programowo tak jak porty wbudowane; część z portów ma bity bezpośrednio adresowalne.
MCS51 - wbudowane peryferia 11/32 Wyjścia PWM fPWM = fOSC : 2 : 255 : (1+PWMP)
MCS51 - wbudowane peryferia 12/32 Komparatory analogowe 89C1051, 89C2051 Atmela:
MCS51 - wbudowane peryferia 13/32 Komparatory analogowe Philipsa
MCS51 - wbudowane peryferia 14/32 Przetworniki A/C Intela
MCS51 - wbudowane peryferia 15/32 Przetworniki A/C Philipsa: kompensacyjny 8/10b; tKONW=40..50c.m.; start konwersji sprzętowy lub programowy; zgłaszanie przerwań; rejestry wyników.
MCS51 - wbudowane peryferia 16/32 Przetworniki A/C Siemensa możliwość programowego zawężania zakresu przetwarzania.
MCS51 - wbudowane peryferia 17/32 Układy arytmetyki MDU Siemensa: operacje przesuwania, normalizacji, dzielenia i mnożenia 16b i 32b liczb w NB; kilkukrotne skrócenie czasu obliczeń arytmetycznych (do 4..6 c.m.); obsługa poprzez 6 rejestrów danych (MD0..MD5) i rejestr sterujący (ARCON); rodzaj wykonanej operacji zależy od sposobu zapisu do rejestrów MDx. Układy arytmetyki Philipsa: układ dzielenia liczb 24b przez 8b w 8 c.m.; układ dzielenia lub mnożenia liczb 24b przez 16b w 4 c.m..
MCS51 - wbudowane peryferia 18/32 Pamięć XRAM pamięć o pojemności od kilkuset B (256B) do kilku kB; dostępna programowo tak jak fizycznie zewn. RAM; wykorzystanie rozkazów MOVX z adresowaniem poprzez R0 i R1 zależy od konkretnej implementacji; aktywna cały czas po resecie albo włączana specjalnym bitem sterującym;
MCS51 - wbudowane peryferia 19/32 Pamięć EEPROM pojemność od kilkuset B do kilku kB; dostęp poprzez specjalne rejestry: adresu, danych i sterujący; odczyt natychmiastowy; zapis trwa do kilku ms; uruchomienie zapisu wymaga specjalnej sekwencji sterującej;
MCS51 - wbudowane peryferia 20/32 Układy czuwające - watchdogi wyzerowanie się/przepełnienie licznika powoduje reset układu; skasowanie licznika wymaga specjalnej sekwencji programowej; w układach Siemensa
MCS51 - wbudowane peryferia 21/32 Układy czuwające - watchdogi w układach Philipsa
MCS51 - wbudowane peryferia 22/32 Układy czuwające - generatory czuwające (oscillator watchdog) nadzorują częstotliwość pracy generatora taktu; mają własny oscylator; przy spadku częstotliwości generatora poniżej wartości progowej zerują mikrokontroler; Układy monitorujące napięcie zasilania: układ wykrywa spadek napięcia zasilającego poniżej wartości progowej (np. poniżej 3V dla układu zasilanego z 5V); sygnalizuje taki spadek ustawieniem odpowiednie flagi np. w rej. PCON; może powodować przerwanie o najwyższym priorytecie albo reset układu.
MCS51 - wbudowane peryferia 23/32 Układ RTC dodatkowy oscylator 32768Hz; zestaw podzielników i rejestrów: ułamków sekund, sekund, minut, godzin, dni tygodnia, dni (16-bitowy); możliwe funkcje alarmu i zgłaszania przerwań. Licznik sekundowy licznik zliczający impulsy o f=32768Hz; generuje przerwania o T=1s; może działać także w trybie wyłączenia (power down).
MCS51 - zestawienie 24/32
MCS51 - zestawienie 25/32
MCS51 - zestawienie 26/32
MCS51 - zestawienie 27/32
MCS51 - zestawienie 28/32
MCS51 - zestawienie 29/32
MCS51 - zestawienie 30/32
MCS51 - zestawienie 31/32
MCS51 - zestawienie 32/32