Systemy wbudowane Paweł Pełczyński ppelczynski@swspiz.pl 1
Program przedmiotu Wprowadzenie definicja, zastosowania, projektowanie systemów wbudowanych Mikrokontrolery AVR Programowanie mikrokontrolerów Środowisko uruchamiania aplikacji Wybrane aplikacje prostych systemów wbudowanych 2
Literatura Jarosław Doliński, Mikrokontrolery AVR w praktyce", BTC, Warszawa 2003 Rafał Baranowski, Mikrokontrolery AVR ATmega w praktyce, BTC, Warszawa 2005 Strona producenta mikrokontrolerów - firmy Atmel Strona AVRfreaks (GCC, AVRStudio 4, dokumentacja) 3
Definicja systemu wbudowanego Elektronik, 04.2003: Systemy wbudowane : System wbudowany można zdefiniować jako dedykowany system komputerowy, składający się z odpowiednio dobranych komponentów sprzętowych i programowych, zaprojektowany pod kątem określonej aplikacji programowej. Aplikacja odpowiada za realizację funkcji systemu wbudowanego i wpływa na sposób jego postrzegania przez użytkownika końcowego. 4
Obszary zastosowań systemów wbudowanych Automatyka przemysłowa, robotyka Motoryzacja Źródło: http://pl.wikipedia.org/ 5
Obszary zastosowań systemów wbudowanych Diagnostyka medyczna Nawigacja satelitarna, lotnictwo Telekomunikacja Źródło: http://pl.wikipedia.org/ 6
Obszary zastosowań systemów wbudowanych Sprzęt elektroniczny powszechnego użytku Sprzęt AGD Wiele innych Źródło: http://pl.wikipedia.org/ 7
Cechy charakterystyczne systemów wbudowanych Dopasowanie poziomu rozbudowania do pełnionej funkcji Duża odporność na awarie sprzętu i zakłócenia Intensywnie przetestowane oprogramowanie Stabilność działania aplikacji 8
Typowa struktura systemu wbudowanego Obwody wejściowe (rejestracja sygnałów, akwizycja danych) Jednostka centralna (algorytm sterowania) Obwody wyjściowe (sterowanie) 9
Obwody wejściowe Wejścia cyfrowe, (czujniki, liczniki) Wejścia analogowe (komparatory, przetworniki A/C) Wejścia portów komunikacyjnych (UART, CAN) 10
Jednostka centralna CPU Nieulotna pamięć programu, FLASH Pamięć danych typu RAM Pamięć konfiguracji i parametrów EEPROM Układy czasowo-licznikowe Kontroler przerwań, kontroler DMA, interfejsy komunikacyjne Jednostka centralna jest często realizowana w pojedynczym układzie scalonym, zwanym mikrokontrolerem. 11
Obwody wyjściowe Przetworniki C/A Układy PWM Cyfrowe wyjścia sterujące Wyjścia portów komunikacyjnych 12
Projektowanie systemu wbudowanego Jest to projekt zarówno sprzętu jak i oprogramowania. Oprogramowanie dzieli się na warstwę systemową i aplikacyjną Stopień rozbudowania warstwy systemowej jest bardzo różnorodny, od podstawowych funkcji I/O po systemy operacyjne czasu rzeczywistego 13
Projektowanie systemu wbudowanego Konieczna jest dokładna analiza wymagań stawianych systemowi wbudowanemu Błędne decyzje projektowe mogą prowadzić do konieczności przeprojektowania zarówno oprogramowania jak i sprzętu Konieczna jest analiza i ocena wiarygodności oprogramowania 14
Programowanie systemu wbudowanego Tworzenie aplikacji systemu wbudowanego jest realizowane na pokładzie komputera ogólnego przeznaczenia, a nie samego systemu wbudowanego. W tym celu potrzebne jest środowisko programistyczne z tzw. krosasemblerem albo kroskompilatorem (ang: cross compiler) Utworzony program jest następnie ładowany do pamięci programu systemu wbudowanego. 15
Programowanie systemu wbudowanego Programowanie zewnętrznej pamięci programu IDE EPROM Programator System wbudowany Programowanie mikrokontrolera z wewnętrzną pamięcią programu IDE MIKRO- KONTROLER Programator System wbudowany 16
Programowanie systemu wbudowanego Programowanie mikrokontrolera w systemie docelowym System wbudowany IDE Programator ISP MIKRO- KONTROLER Programowanie i testowanie mikrokontrolera w systemie docelowym System wbudowany IDE Interfejs JTAG MIKRO- KONTROLER 17
Platformy sprzętowe Ze względu na bardzo różnorodne wymagania i funkcje systemów wbudowanych nie jest możliwe wybranie jednej, uniwersalnej platformy sprzętowej dla wszystkich zastosowań. 18
Platformy sprzętowe Na wybór architektury systemu wbudowanego wpływa przede wszystkim poziom skomplikowania funkcji systemu i obszar zastosowań Istnieje obszar zastosowań o dużym poziomie odpowiedzialności, np. kontrola lotów, gdzie konieczne jest zastosowanie sprzętu niezawodnego i odpornego na błędy W zastosowaniach powszechnego użytku głównym wyznacznikiem jest niska cena sprzętu 19
Platformy sprzętowe W przypadku produkcji wielkoseryjnej uzasadnione jest projektowanie dedykowanego sprzętu do danego zastosowania, np. telefony komórkowe. 20
Platformy sprzętowe W produkcji małoseryjnej powszechnie wykorzystuje się: - gotowe moduły mikrokontrolerów - komputery przemysłowe - sterowniki PLC 21
Powszechnie wykorzystywane platformy sprzętowe Compact PCI Platforma komputera przemysłowego oraz standard magistrali łączącej jego moduły, wywodzący się z powszechnie używanej w komputerach klasy PC magistrali PCI. Złącza standardu Compact PCI Źródło: http://pl.wikipedia.org/ 22
Powszechnie wykorzystywane platformy sprzętowe PC/104 Standard komputerów przemysłowych definiujący wymiary modułów oraz rodzaj i rozmieszczenie złączy. Standard pozwala na budowę komputerów modułowych przez łączenie plastrów, zawierających różne moduły funkcjonalne. Budowa sterownika W standardzie PC/104 Źródło: http://web.mit.edu 23
Powszechnie wykorzystywane platformy sprzętowe SOM (ang: System on Module) standard komputerów modułowych o bardzo małych wymiarach i zazwyczaj tylko pasywnym chłodzeniu. Źródło: http://www.advantech.gr/ 24
Powszechnie wykorzystywane platformy sprzętowe Biscuit PC Komputery jednopłytkowe o małych rozmiarach, mogą posiadać złącza np.. W standardzie PC/104 w celu rozbudowy. Źródło: http://www.elmark.com.pl/ 25