Systemy mikroprocesorowe dr inŝ. Stefan Brock pok. 627, hala 22B/3 (PP) Stefan.Brock@put.poznan.pl Stefan.Brock@gmail.com rozliczenie dwa kolokwia w trakcie wykładu dr inŝ. Stefan Brock 2008/2009 1 Literatura http:\\www.stefanbrock.neostrada.pl - 1 dzień przed wykładem Lista wysyłkowa: zapisy e-mail z tematem: AiR-2008 na adres Stefan.Brock@gmail.com Podręczniki - zakres techniki mikroprocesorowej Inne źródła w Internecie - dokumentacja dostępna na : www.8052.com www.analog.com www.keil.com www.infineon.com www.pcguide.com dr inŝ. Stefan Brock 2008/2009 2 Literatura podręcznikowa J.W.Coffron - Technika sprzęgania układów w systemach mikroprocesorowych G.W. Gorsline - Mikrokomputery 16-bitowe R. Pełka - Mikrokontrolery T. Starecki - Mikrokontrolery jednoukładowe rodziny 51 Architektura PC Przedmioty związane Podstawy informatyki - architektura komputerów, programowanie w C Podstawy elektroniki, Technika cyfrowa - elementy składowe systemów mikroprocesorowych dr inŝ. Stefan Brock 2008/2009 3 dr inŝ. Stefan Brock 2008/2009 4 Pojęcie systemu wbudowanego embedded system Aplikacja która zawiera co najmniej jeden programowalny komputer (mikroprocesor, mikrokontroler, DSP) lecz której głównym zadaniem nie jest wykonywanie zadań obliczeniowych. dr inŝ. Stefan Brock 2008/2009 5 Przykłady systemów wbudowanych Telefonia komórkowa (aparaty telefoniczne i stacje bazowe) Motoryzacja - hamulce, kontrola trakcji, poduszki powietrzne, sterowanie silnika, sterowanie steer-by-wire Gospodarstwo domowe - pralki, zmywarki, kuchenki, telewizja, video, sterowanie bramy, systemy alarmowe Systemy lotnicze - kontrola lotu, sterowanie silnika, autopilot dr inŝ. Stefan Brock 2008/2009 6 1
Przykłady systemów wbudowanych WyposaŜenie medyczne - monitorowanie stanu pacjenta, EKG, MRI, pompy insulinowe, glukometry Technika wojskowa - systemy radarowe... Klawiatura komputerowa, osprzęt komputerowy Nie zaliczają się do tej kategorii układy klasy PDA - to raczej zminiaturyzowane komputery osobiste dr inŝ. Stefan Brock 2008/2009 7 Dobór procesora dla systemów wbudowanych Typowy procesor dla komputera klasy desktop: kosztuje około 100-500 $, wymaga układów otoczenia (chipset, pamięć) pobiera sporo prądu (100 W - chłodzenie!!!) zapewnia duŝą moc obliczeniową (n.p. Pentium-4 2 GHZ: obliczenia zmiennoprzecinkowe 500 MFLOPS) Systemy wbudowane mają inne wymagania dr inŝ. Stefan Brock 2008/2009 8 Główne zagadnienia Architektura systemów z mikrokontrolerami - rodzina 51 Komunikacja w systemach mikroprocesorowych Architektura innych systemów Wybrane zagadnienia zaawansowane - procesory sygnałowe Co to jest 8051 dr inŝ. Stefan Brock 2008/2009 9 dr inŝ. Stefan Brock 2008/2009 10 Rodzina mikrokontrolerów 8051 Jeden z najstarszych (Intel MCS-51 w 1981) i prawdopodobnie najpopularniejszy mikrokontroler. Wiele pochodnych jest produkowanych przez szereg wytwórców Te same narzędzia programistyczne Wspólny rdzeń i dodatkowe peryferia zaleŝne od wytwórcy. Cechy wspólne rodziny 51 8-bit procesor 4 I/O port kaŝdy o szerokości 8 bitów max 64K on-chip ROM (zwykle 0 K to 4k) max 64K zewnętrznej pamięci danych max 64K zewnętrznej pamięci programu 2 timery, 1 port szeregowy 128 bajty on-chip RAM róŝne prędkości od 12 MHz dr inŝ. Stefan Brock 2008/2009 11 dr inŝ. Stefan Brock 2008/2009 12 2
Przedstawiciele rodziny 51 8031 bez pamięci ROM 8751 z on-chip EPROM 8052 8051 z 128 B dodatkowo IRAM, dodatkowy 16 bitowy timer Atmel AT89C51 z pamięcią Flash ROM Dallas Semiconductor DS5000 On-chip NV-RAM i programowanie w systemie przez łącze szeregowe Philips Corp. Analog Device - MicroConverter uc-812 - b.dobre przetworniki A/C Architektura 51 rdzeń 8051 wytwórców FPGA Xilinx, Altera dr inŝ. Stefan Brock 2008/2009 13 dr inŝ. Stefan Brock 2008/2009 14 Wyprowadzenia 8051 Zasilanie - Vcc, Vss Reset - RST Zegar - XTAL[1,2] Porty I/O P0[7;0], P1[7:0], P2[7:0], P3 jest współdzielony z liniami sterowania: Szeregowe I/O RxD, TxD, zewnętrzne przerwania INT0, INT1 Sterowanie timerami T0, T1 dr inŝ. Stefan Brock 2008/2009 15 dr inŝ. Stefan Brock 2008/2009 16 Wyprowadzenia 8051 Do układów zewnętrz. EA - External Access (L dla pamięci zewn.) ALE - Address Latch Enable PSEN Program Store Enable WR Write Enable RD Read Enable P0 i P2 słuŝą jako zewnętrzne magistrale adresowa i danych, multipleksowane A[15:8] AD[7:0] dr inŝ. Stefan Brock 2008/2009 17 dr inŝ. Stefan Brock 2008/2009 18 3
Minimalna aplikacja z 8051 Procesor Atmel 2051 - tylko 20 pin dr inŝ. Stefan Brock 2008/2009 19 dr inŝ. Stefan Brock 2008/2009 20 Zegar systemowy 8051 8051 ma wbudowany układ oscylatora Wymagany jest zewnętrzny rezonator kwarcowy, decydujący o szybkości pracy Standardowe połączenie Reset 8051 RESET jest aktywny w stanie High W tym czasie procesor przechodzi w stan jak po załączeniu zasilania RST musi być utrzymany przez minimum 2 cykle maszynowe dr inŝ. Stefan Brock 2008/2009 21 dr inŝ. Stefan Brock 2008/2009 22 8 bitowa szyna danych i 16 bitowa szyna adresowa 16 Demultipleksacja magistrali adresowej ALE Address Latch Enable HIGH gdy adres na AD[7,0] ALE jest sygnałem wyzwolenia dla przerzutnika typu latch (74LS573 lub 373) P0 i P2 są w tym układzie niedostępne dr inŝ. Stefan Brock 2008/2009 23 dr inŝ. Stefan Brock 2008/2009 24 4
Cyfrowe porty wejścia/wyjścia Porty mogą być wykorzystywane jako wejścia lub wyjścia Funkcja wyjścia - napięcie wzg. masy wynosi 0 V lub 5 V (3V dla systemów o zasilaniu 3V) KaŜde z wejść moŝe przesyłać prąd do 10 ma Typowo jest ograniczony prąd całego procesora - zwykle max 70 ma dr inŝ. Stefan Brock 2008/2009 25 Porty I/O dr inŝ. Stefan Brock 2008/2009 26 Podłączenie diody LED Buforowanie wyjść dr inŝ. Stefan Brock 2008/2009 27 dr inŝ. Stefan Brock 2008/2009 28 Wyświetlacz 7 segmentowy Odczyt wejść binarnych dr inŝ. Stefan Brock 2008/2009 29 dr inŝ. Stefan Brock 2008/2009 30 5
Odczyt wejść Wybór języka programowania KaŜdy procesor interpretuje wyłącznie kod maszynowy - ciąg liczb binarnych, nieczytelny dla człowieka KaŜdy inny program - asembler, C, Pascal, Ada, Java - musi zostać przetłumaczony do postaci kodu maszynowego Aby programować systemy wbudowane potrzebne są instrukcje bezpośredniego dostępu do elementów sprzętowych. dr inŝ. Stefan Brock 2008/2009 31 dr inŝ. Stefan Brock 2008/2009 32 Wybór języka programowania Konieczne jest, aby dla nowych projektów wykorzystywać elementy oprogramowania juŝ opracowane wcześniej - tworzenie bibliotek funkcji. Wybrany język powinien ułatwiać przejście pomiędzy róŝnymi platformami sprzętowymi. Dobry wybór - język C Klasyfikacja języków programowania dr inŝ. Stefan Brock 2008/2009 33 dr inŝ. Stefan Brock 2008/2009 34 Zalety C Posiada zalety wysokiego poziomu - struktury, funkcje i niskiego poziomu - dostęp do sprzętu Jest bardzo efektywne Jest popularny, dobrze udokumentowany Kompilatory dostępne dla wszystkich platform - od 8 bitowych do 64 bitowych Struktura programu dla mikrokontrolera Część inicjująca Wykonuje się jeden raz Część wykonawcza W pętli nieskończonej dr inŝ. Stefan Brock 2008/2009 35 dr inŝ. Stefan Brock 2008/2009 36 6
Architektura programu super loop - pętla bez końca Przykład - regulacja temperatury dr inŝ. Stefan Brock 2008/2009 37 dr inŝ. Stefan Brock 2008/2009 38 Przykład - regulacja temperatury Programowanie portów procesora Dostęp do poszczególnych zasobów procesora poprzez SFR - specjalne rejestry funkcyjne Porty wejścia/ wyjścia P0 P1 P2 P3 Są to konkretne adresy w pamięci wewnętrznej procesora dr inŝ. Stefan Brock 2008/2009 39 dr inŝ. Stefan Brock 2008/2009 40 Zapis i odczyt wartości bajtu Przykład - kopiowanie wartości śeby odczytać wartość z portu naleŝy najpierw wpisać do niego 1 dr inŝ. Stefan Brock 2008/2009 41 dr inŝ. Stefan Brock 2008/2009 42 7