350 likes | 544 Views
MCS51 - wykład 6. Wykład 5 1/32. Dołączanie układów zewnętrznych Wbudowane peryferia Przegląd rodziny MCS51. Przy projektowaniu systemu bazującego na MCS51 należy pamiętać o:
E N D
Wykład 5 1/32 Dołączanie układów zewnętrznychWbudowane peryferiaPrzegląd rodziny MCS51
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 2/32
Dołączanie zewnętrznych pamięci: MCS51 - rozbudowa systemu z MCS51 3/32
Dołączanie modułów peryferyjnych z serii 8085: MCS51 - rozbudowa systemu z MCS51 4/32
Dołączanie modułów peryferyjnych z serii 8080: MCS51 - rozbudowa systemu z MCS51 5/32
Dołączanie modułów peryferyjnych z serii 8080 (inny wariant): MCS51 - rozbudowa systemu z MCS51 6/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 7/32
Podstawowe przebiegi portu synchronizowanego MCS51 - wbudowane peryferia 8/32 wprowadzanie informacji wyprowadzanie informacji
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 9/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 10/32
Wyjścia PWM MCS51 - wbudowane peryferia 11/32 fPWM = fOSC : 2 : 255 : (1+PWMP)
Komparatory analogowe 89C1051, 89C2051 Atmela: MCS51 - wbudowane peryferia 12/32
Komparatory analogowe Philipsa MCS51 - wbudowane peryferia 13/32
Przetworniki A/C Intela MCS51 - wbudowane peryferia 14/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 15/32
Przetworniki A/C Siemensa • możliwość programowego zawężania zakresu przetwarzania. MCS51 - wbudowane peryferia 16/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 17/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 18/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 19/32
w układach Siemensa • Układy czuwające - watchdogi • wyzerowanie się/przepełnienie licznika powoduje reset układu; • skasowanie licznika wymaga specjalnej sekwencji programowej; MCS51 - wbudowane peryferia 20/32
w układach Philipsa Układy czuwające - watchdogi MCS51 - wbudowane peryferia 21/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 22/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 (powerdown). MCS51 - wbudowane peryferia 23/32
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
MCS51 - zestawienie 32/32
MCS51 - zestawienie 32/32 2008 - mikrokontrolery MCS51 miały 17% udziału w sprzedaży na świecie Silicon Labs z 2014:(rodzina dedykowana m.in. do obsługi paneli HMI)