Materiały do wykładu 11.Mikrokomputeryjednoukładowe Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 14maja2008
Podstawowe cechy(1) 11.1 Innenazwy mikrokontroler mikroprocesor do zastosowań wbudowanych(ang. embedded) Układ mikroprocesorowy mogący działać samodzielnie W jednym układzie scalonym przynajmniej jednostka centralna pamięć programu pamięć danych układy peryferyjne
Podstawowe cechy(2) 11.2 Mała moc zasilania typowo1mwdo1w duży mikroprocesorpobierazwykleod30wdo100w Nieduża częstotliwość taktowania typowood1mhzdo200mhz Powierzchnia układu typowo20mm 2 do40mm 2 możliwenawet0,16mm 2 duży mikroprocesortook.300mm 2
Podstawowe cechy(3) 11.3 Szeroki dopuszczalny zakres temperatur pracy, zależnie od przeznaczenia komercyjneod0 Cdo70 C przemysłoweod 25 Cdo85 Clubod 40 Cdo85 C specjalneod 40 Cdo125 C
Sterowniki mikroprocesorowe układy automatyki roboty elektronika samochodowa AGD Podzespoły dużych komputerów sterownik klawiatury mysz inne układy peryferyjne Zastosowania(1) 11.4
Zastosowania(2) 11.5 Zabawki kolejki elektryczne Urządzenia przenośne telefony odtwarzacze muzyki Systemy ochronne i alarmowe znajdź przykład na MIM! domofony urządzenia do kontroli dostępu centralki przeciwpożarowe
Zastosowania(3) 11.6 Karty mikroprocesorowe(kontaktowe lub zbliżeniowe) SIM telefoniczne bankowe(choć nadal w powszechnym użyciu są karty z paskiem magnetycznym.) medyczne informacje o pacjencie dokumenty tożsamości kontrola dostępu bilety komunikacji miejskiej kontrola towarów w sklepach(nie należy mylić z powszechnie obecnie stosowanymi systemami analogowymi.)
Sieci sensorowe zastosowania militarne badania kosmiczne badania meteorologiczne kontrola towarów w sklepach Zastosowania(4) 11.7
Jednostka centralna 11.8 Architektury RISC i CISC Architektury8,16,32anawet64-bitowe Często zaadaptowana architektura ogólnego przeznaczenia Często architektura harwardzka Szybka obsługa przerwań sprzętowych mało rejestrów przełączane banki rejestrów Brak lub słabe wsparcie dla wielozadaniowości W pełni przewidywalny czas wykonania instrukcji
Pamięć programu 11.9 ROM przy bardzo dużych seriach produkcyjnych PROM, OTPROM przy średnich seriach produkcyjnych EPROM, EEPROM, FLASH przy małych seriach produkcyjnych i do układów prototypowych System operacyjny w ROM, aplikacja ładowana do EEPROM lub FLASH
Robocza, zwykle SRAM blisko jednostki centralnej zwykle część widziana jako rejestry Nieulotna, zwykle EEPROM dane niemogące ulec skasowaniu wolniejszy dostęp niż do pamięci roboczej często dostęp przez interfejs szeregowy Pamięć danych 11.10
Wejścia i wyjścia 11.11 Wejścia binarne czujniki dwustanowe otwarty/zamknięty klawiatura zgłaszanie przerwania przy zmianie poziomu na wejściu Wyjścia binarne włączanie i wyłączanie różnych urządzeń proste wyświetlacze Wejścia analogowe przetwornik analogowo-cyfrowy komparator czujniki analogowe
Układy czasowe 11.12 Ważne w zastosowaniach czasu rzeczywistego Cyfrowa kalibracja zegara systemowego Układy licznikowe odmierzanie czasu między zdarzeniami cykliczne zgłaszanie przerwań generowanie przebiegów o zadanej częstotliwości i współczynniku wypełnienia(np. do sterowania silnikiem) Watchdog wyprowadzanie ze stanu zawieszenia nie zwalnia z dbałości o poprawność programu!
Szeregowe Interfejsy 11.13 UART Universal Asynchronous Receiver Transmitter USART Universal Synchronous Asynchronous Receiver Transmitter I 2 C 1-wire USB... UART i USART umożliwiają zrealizowanie jednego z popularnych interfejsów szeregowych: RS 232, RS 422, RS 485. Sterownik wyświetlacza LCD
Tryby oszczędzania energii 11.14 Ważne w układach zasilanych bateryjnie Zmniejszenie poboru mocy przez spowolnienie zegara Całkowite zatrzymanie zegara Budzenie zdarzeniem
Języki programowania 11.15 Asembler C C++... Java
Systemy operacyjne 11.16 Embedded Linux WindowsCE FreeRTOS QNX...
Najpopularniejsze architektury 11.17 8-bitowe 8051 Intel(1980), chyba najczęściej klonowany Z80 Zilog(1976),sporoklonów 68HCxx oryginalnie Motorola, obecnie Freescale PIC Microchip AVR Atmel 32-bitowe ARM 64-bitowe PowerPC Freescale
Dwa przykłady 11.18 Jeden z najprostszych PIC12CE518 firmy Microchip Bardziej zaawansowany AT91SC512384RCT firmy Atmel
PIC12CE518(1) 11.19 Architektura RISC typu Harward Pamięć programu EPROM, 512 słów 12 bitowych rejestry ogólnego przeznaczenia 25 bajtów rejestry specjalne i konfiguracyjne 7 bajtów 8-bitowy akumulator(rejestr W) nieulotnaeeprom,16bajtów,przezwewnętrznyinterfejsi 2 C stos,2słowa12bitowe 12-bitowy licznik programu(program counter)
PIC12CE518(2) 11.20 8-bitowa jednostka arytmetyczno-logiczna(alu) 8-bitowa wewnętrzna szyna danych 33 instrukcje 12-bitowe kody Dwuetapowy potok instrukcji pobranie(fetch), wykonanie(execute) opróżnianie potoku przy wykonywaniu skoku 8-końcówkowa obudowa maksymalnie 6 wejść/wyjść binarnych, widzianych jako rejestr specjalny
PIC12CE518(3) 11.21 Wewnętrzny, kalibrowany oscylator 4MHzwnormalymtrybiepracy(2mA) 32kHzwtrybiemałegopoborumocy(<15µA) Możliwość przełączenia na zewnętrzne źródło sygnału taktującego Trybuśpienia(<1µA) budzenie sygnałem na wejściu binarnym Licznik widziany jako jeden z rejestrów specjalnych Watchdog z niezależnym oscylatorem
AT91SC512384RCT(1) 11.22 32-bitowa architektura RISC typu Princeton(ARM) Pamięć 512kBROM 384kBEEPROM,wtym256BOTP 24kBRAM 32 kb ROM(biblioteka kryptograficzna) Interfejs do zewnętrznej pamięci FLASH Dwa zestawy instrukcji pełny, 32-bitowe kody, maksymalna wydajność zredukowany, 16-bitowe kody, maksymalna gęstość kodu
AT91SC512384RCT(2) 11.23 Wewnętrznyzegardo50MHz Trzyetapowy potok pobranie(fetch), dekodowanie(decode), wykonanie(execute) Tryb małego poboru mocy Tryb uśpienia Interfejsy szeregowe: ISO 7816, SPI, USB, Single Wire 2liczniki 24-końcówkowa obudowa
AT91SC512384RCT(3) 11.24 Generator liczb losowych Akcelerator kryptograficzny RSA, DSA, ECC, Diffie-Hellman, obliczenia w GF Sprzętowa implementacja DES i 3DES Sprzętowa implementacja CRC16 i CRC32 Sprzętowy akcelerator dla Java Card Byte Code
Środowiska uruchomieniowe, konstruktorskie 11.25 Kompilator skrośny Programator Płytka uniwersalna z podstawką pod mikrokontroler Emulator Debugger w układzie Zintegrowane środowisko programistyczne(ide)
Programowanie mikrokontrolerów 11.26 Monograf w semestrze zimowym 2008/09 Prowadzący: Marcin Engel i Marcin Peczarski Close To Hardware będziemy programować bardzo blisko sprzętu! Zestaw uruchomieniowy z procesorem ATmega16
Karty czipowe 11.27 Chipcard,smartcard Karty pamięciowe ograniczone zastosowania Karty mikroprocesorowe szerokie zastosowania
Karty mikroprocesorowe kontaktowe(1) 11.28 VDD RST GND VPP CLK RFU I/O RFU
Karty mikroprocesorowe kontaktowe(2) 11.29 Zasilanie z czytnika karty(telefon, bankomat itd.) Komunikacja przez interfejs szeregowy ISO7816 Podstawowa częstotliwość taktowania 4,77 MHz możliwe przełączenie do ok. 200 MHz
Karty mikroprocesorowe zbliżeniowe 11.30 Zasilanie za pomocą zmiennego pola magnetycznego wytwarzanego przez czytnik Komunikacja przez interfejs radiowy Zasięg dook.10cm ISO14443 dook.50cm ISO15693
Karty mikroprocesorowe 11.31 Producent Producent Wydawca Użytkownik półprzewodników kart karty karty 1. generacja system operacyjny dane aplikacja 2. generacja system operacyjny aplikacja dane dane 3. generacja system operacyjny aplikacja dane