System mikroprocesorowy i peryferia Dariusz Chaberski
System mikroprocesorowy mikroprocesor pamięć kontroler przerwań układy wejścia wyjścia kontroler DMA 2
Pamięć rodzaje (podział ze względu na sposób programowania) (S/D)RAM - (Static/Dynamic) Random Access Memory (pamięć o dostępie swobodnym), ROM - Read Only Memory (pamięć tylko do odczytu), OTP - One Time Programmable (pamięć jednokrotnie programowalna), (UV)EPROM - Erasable Programmable ROM (pamięć tylko do odczytu kasowalna promieniami UV), EEPROM - Electrically EPROM (pamięć tylko do odczytu kasowalna elektrycznie), Flash - pamięć EEPROM typu błyskowego (Pełka 1999), NVRAM - Non Volatile RAM - pamięć nieulotna o dostępie swobodnym. 3
rodzaje (podział ze względu na sposób dostępu - interfejs) szeregowa, równoległa, FIFO - First Input First Output (kolejka), FILO - First Input Last Output (stos), jednoportowa, wieloportowa. 4
Pamięć RAM schemat blokowy A16 dekoder wierszy macierz pamięci A7 DQ7 DQ0 układ wejścia wyjścia dekoder kolumn E1 E2 Ex A0 A6 W G 5
Przetworniki analogowo cyfrowe mikrokontroler ANIN 0 ANIN 1 ANIN 7 przetwornik A/C(SAR) D 0...D 11 b 7 INT jednostka centralna CLK preskaler b 1 b 0 bajt konfiguracyjny ADRH ADRL 6
Przetworniki cyfrowo analogowe mikrokontroler ANOUT 1 przetwornik C/A D 0...D 11 b 7 jednostka centralna ANOUT 2 przetwornik C/A D 0...D 11 VREF + b 1 b 0 VREF ADRH ADRL CLK 7
Liczniki i czasomierze PWM PWM D CNT0 CNT1 CNT2 mikrokontroler f preskaler f/2 f/16 f/1024 b 0 rejestr licznik binarny b 1 b n 1 A komparator B A=B CLK(T) bajt konfiguracyjny INT jednostka centralna 8
Modulacja szerokością impulsu CLK1 CLK2 PWM D PWM A t 9
Interfejs komunikacji szeregowej wyjście szyna danych słowo konfiguracyjne sygnał zegarowy programowalny generator rejestr wejściowy słowo stanu wyjście szeregowe danych rejestr przesuwny 10
wejście szyna danych słowo konfiguracyjne przerwanie programowalny generator rejestr wyjściowy słowo stanu sygnał zegarowy rejestr przesuwny wejście szeregowe danych układ odzyskiwania danych 11
Kontroler przerwań magistrala danych magistrala sterująca magistrala adresowa przerwanie potwierdzenie A2-A0 WCSOEIO D7-D0 kontroler przerwań wejścia przerwań IO - żądanie dostępu do portów wejścia wyjścia 12
Bezpośredni dostęp do pamięci mikroprocesor A A C pamięć C DMA C D D A D C układy wejścia wyjścia D układ zewnętrzny CDMA C DMA A C układ bezpośredniego C DMA D dostępu do pamięci 13
Kaskadowe połączenie kontrolerów DMA drugi poziom mikroprocesor DACK pierwszy poziom szyna adresowa szyna danych DREQ kontroler DMA sygnały sterujące DACK DACK DREQ DREQ kontroler DMA DACK kontroler DMA DREQ układ zewnętrzny DREQ - żadanie przesłania DMA DACK - potwierdzenie / zgoda na przesłanie DMA 14
Porównanie mikrokontroler mała moc obliczeniowa (30 MIPSów) na ogół brak instrukcji zmniennoprzecinkowych przetwarzanie jedno potokowe bogate peryferia liczniki i układy czasowe przetworniki A/C i C/A duża liczba interfejsów dostępne operacje bitowe brak układu zarządzania pamięcią MMU praca tylko w trybie rzeczywistym rzadko obsługiwany bezpośredni dostęp do pamięci DMA zastosowanie: aparatura kontrolno pomiarowa 15
mikroprocesor duża moc obliczeniowa (10000 MIPSów obecnie) wielordzeniowość oraz technologia HT przetwarzanie wielo potokowe dostępne instrukcje zmniennoprzecinkowe do działania wymaga dodatkowych peryferiów kontroler DMA pamięć (programu i danych) kontroler przerwań PIC (ang. Programmable Interrupt Controller) dostępny układ zarządzania pamięcią MMU adresowanie w trybie rzeczywistym i wirtualnym z reguły architektura Von-Neumana możliwość pracy w systemie wieloprocesorowym zastosowanie: komputery (stacje robocze - komputery osobiste, serwery) 16
System wieloprocesorowy podział ze względu na symetrię wszystkie procesory traktowane są na równi - system bardziej wydajny - SMP (ang. Symmetric Multi Processing) niektóre procesory mają przypisane ścisłe zadania - łatwiejszy projekt, na przykład jeden procesor odpowiada na przerwania, drugi odpowiada za komunikację wejścia wyjścia - ASMP (ang. Asymetric Mutli Processing) podział ze względu na potok danych i programu SISD (ang. Single Instruction, Single Data) - jeden strumień instrukcji, jeden strumień danych MIMD (ang. Multiple Instruction, Multiple Data) - wiele strumieni instrukcji, wiele strumieni danych SIMD (ang. Single Instruction, Multiple Data) - jeden strumień instrukcj, wiele strumieni danych MISD (ang. Multiple Instruction, Single Data) - wiele strumieni instrukcji, jednej strumień danych 17
magistrala globalna System wieloprocesorowy Procesor 1 Procesor 2 Procesor N Pamięć 1 magistrala lokalna 1 Pamięć 2 magistrala lokalna 2 Pamięć N magistrala lokalna N Porty wejścia wyjścia 1 Kontroler przerwań 1 Kontroler DMA1 M M I/O IRQ0 IRQ1 IRQN DREQ DACK 18
Przykładowy schemat blokowy aparatury kontrolnej magnes trwały Vcc wyświetlacz alfanumeryczny blok zasilacza z akumulatorem mikrokontroler moduł transmisji radiowej ultradźwiękowy czujnik ruchu klawiatura czytnik kart RFID 19
Przykładowy schemat blokowy aparatury pomiarowej czujnik głowica pomiarowa wyświetlacz alfanumeryczny mikrokontroler klawiatura blok zasilacza pamięć danych pomiarowych interfejs transmisji danych sygnały wzorcowe 20
Przykładowy schemat blokowy komputera mikroprocesor interfejsy komunikacyjne karta graficzna zestaw układów specjalizowanych CHIPSET 1 zestaw układów specjalizowanych CHIPSET 2 magistrale systemowe pamięć operacyjna interfejsy pamięci masowej 21