Systemy wbudowane - Maciej Piechowiak
Transkrypt
Systemy wbudowane - Maciej Piechowiak
Systemy wbudowane Wprowadzenie dr inż. Maciej Piechowiak Plan wykładów 1. 2. 3. 4. 5. 6. 7. 8. Wprowadzenie, podstawowe pojęcia. Architektura i klasyfikacja systemów komputerowych. Budowa mikrokontrolera na przykładzie rodziny ’51. Architektura i asembler mikrokontrolerów AVR. Architektura i asembler mikrokontrolerów z rdzeniem ARM (ARM7 i ARM9). Automatyka przemysłowa. Sterowniki przemysłowe. Magistrale i protokoły komunikacyjne w systemach wbudowanych. Plan wykładów 9. 10. 11. Wprowadzenie do teorii sterowania. Architektura systemu operacyjnego. Systemy operacyjne w systemach wbudowanych. 1 Wprowadzenie system wbudowany (ang. embedded system) – dedykowany system komputerowy, składający się z odpowiednio dobranych komponentów sprzętowych i programowych, zaprojektowany pod kątem wykonania określonej aplikacji programowej, aplikacja odpowiada za realizację funkcji systemu i wpływa na sposób jego postrzegania przez użytkownika końcowego, każdy system wbudowany oparty jest na mikroprocesorze lub mikrokontrolerze zaprogramowanym do wykonywania ograniczonej liczby zadań (czasami nawet do jednego), w zależności od złożoności może zawierać oprogramowanie dedykowane wyłącznie temu urządzeniu (firmware) lub system operacyjny ze specjalizowanym oprogramowaniem. Wprowadzenie router/modem NetGear ADSL Wprowadzenie im mniej złożone i specjalizowane oprogramowanie, tym większa niezawodność systemu oraz szybsza reakcja na zdarzenia krytyczne, niezawodność systemu może być zwiększona przez rozdzielenie zadań na mniejsze podsystemy oraz redundancję, pierwszy system wbudowany sterował statkiem kosmicznym Apollo, pierwszy komputer wbudowany produkowany masowo sterował rakietą LGM30-Minuteman. 2 Wprowadzenie zróżnicowany poziom złożoności systemów wbudowanych – od sprzętu powszechnego użytku (mikrokontrolery) po robotykę, telekomunikację i lotnictwo (wieloprocesorowe systemy rozproszone), wysoka jakość oprogramowania i stosowanych komponentów – z uwagi na obszary zastosowań sprzęt musi być stabilny i dobrze przetestowany, wysokie wymagania stawiane projektantom systemów wbudowanych (systemy operacyjne, biblioteki, metodyka projektowa). Zastosowania układy sterujące pracą silnika samochodowego i ABS, komputery pokładowe sprzęt sterujący samolotami, rakietami, pociskami rakietowymi, bomby inteligentne sprzęt medyczny, w tym między innymi: monitory holterowskie, sprzęt pomiarowy, w tym między innymi: oscyloskopy, analizatory widma, bankomaty, termostaty, klimatyzatory, kuchenki mikrofalowe, zmywarki, sterowniki PLC stosowane w przemyśle do sterowania i kontroli procesów i maszyn produkcyjnych, Zastosowania sterowniki do wszelkiego rodzaju robotów mechanicznych, systemy alarmowe służące do ochrony osób i mienia np. antywłamaniowe, przeciwpożarowe, i inne, telefony komórkowe i centrale telefoniczne, drukarki, kserokopiarki, kalkulatory, sprzęt komputerowy, w tym między innymi: dyski twarde, napędy optyczne, routery, serwery czasu i firewalle, systemy rozrywki multimedialnej i interaktywnej: konsole do gier: stacjonarne i mobilne, automaty do gier, telewizory, odtwarzacze DVD, kamery cyfrowe, magnetowidy. 3 Projektowanie systemów wbudowanych opracowanie dedykowanej warstwy sprzętowej i odpowiedniego oprogramowania, oprogramowanie dzieli się na warstwę systemową i aplikacyjną, przy prostych systemach warstwa systemowa nie jest wyodrębniona i nie zawiera mechanizmów wspierających tworzenie aplikacji, zaawansowane systemy realizowane są w oparciu o specjalne systemy operacyjne i biblioteki ekstrakodów – projektant rozszerza warstwę systemową o sterowniki dedykowanych urządzeń, wykonuje testy itp. Projektowanie systemów wbudowanych złe decyzje projektowe pociągają za sobą konieczność modyfikacji nie tylko oprogramowania, ale również sprzętu, problem wiarygodności w systemach o krytycznych zastosowaniach – odporność systemu na awarie sprzętu, zakłócenia elektromagnetyczne, błędy implementacyjne, ze względu na różnorodne wymagania i funkcje systemów wbudowanych nie jest możliwe zbudowanie jednej uniwersalnej platformy sprzętowej dla wszystkich zastosowań, projektowanie dedykowanej platformy na potrzeby konkretnego zastosowania jest nieuzasadnione ekonomicznie w przypadku produkcji małoseryjnej. Compact PCI standard CPCI zaprojektowany w 1994 roku przez grupę producentów automatyki przemysłowej (Intel, Hewlett-Packard, IBM, Motorola, Siemens, SUN), wykorzystuje magistralę PCI – rozwiązanie tańsze od przemysłowych rozwiązań opartych o magistralę VME, częstotliwość pracy magistrali – 66MHz, maksymalna przepustowość – 133Mbit/s, najnowsza specyfikacja CPCI wykorzystuje PCI-X (64 bity, ponad 1Gbit/s), moduły w postaci kart o wymiarach 3 lub 6U w kasetach o różnej liczbie gniazd, 4 Compact PCI karty procesorowe stosowane w CPCI wyposażone są w procesory o modelach programowych RISC (ARM, PowerPC, MIPS) oraz CISC (Intel IA32, Motorola 68K), systemy sterowania i zaawansowane urządzenia telekomunikacyjne, budowa modułowa – skalowalność, wymiana modułu w trakcie pracy urządzenia bez przerwy w dostarczaniu usług, wady: wysoka cena, znaczne gabaryty i waga. Komputery platerowe rozwiązania platerowe z kartami procesorowymi zapewniają elastyczność – możliwość montowania dużej liczby standardowych kart wykorzystujących magistralę ISA lub PCI, praca w trudnych warunkach otoczenia (odporność na wibracje i zakłócenia), możliwość montażu typowych kart rozszerzeń, zastosowanie standardowych rozwiązań stosowanych w komputerach PC, ułatwiony serwis, długi czas życia elementów systemu, Komputery platerowe szeroka gama kart procesorowych, platerów i obudów, wygodne wytwarzanie aplikacji (rozwiązania z PC), dostępne karty procesorowe wyposażone w procesory o różnej mocy obliczeniowej, karty procesorowe wyposażone w kilka interfejsów komunikacyjnych (Ethernet, szeregowy RS232C/422, równoległy Centronics, interfejsy IDE/SCSI, interfejsy dla pamięci masowych IDE/SCSI, układy grafiki), montowane w obudowach 19’’ (szafy, stojaki, chassis), niedrogie systemy o dużych możliwościach, 5 Komputery PC/104 standard został zdefiniowany w 1992 roku i określa parametry elektryczne i mechaniczne modułów, z punktu widzenia interfejsu standard stanowi zmodyfikowaną magistralę ISA o zredukowanym poborze mocy, nazwa – od 104 styków na złączu modułu, wszystkie moduły mają określone wymiary (90 x 96mm), łączy się je w samonośną „konstrukcję kanapkową” o dużej wytrzymałości mechanicznej, PC/104+ (1996) – dwie magistrale (ISA i PCI) dla urządzeń o większych wymaganiach magistralowych (np. karty akwizycji obrazów, robotyka, medycyna), Komputery PC/104 Komputery PC/104 standard określa maksymalną moc pobieraną przez każdy z modułów (2W dla modułu interfejsowego, 7,5W dla modułu procesorowego IA32), przykładowa konfiguracja sprzętowa (Advantech, PCM-3350): • procesor klasy Pentium: NS Geode 300MHz (zreduk. pobór mocy), bez wentylatora, • chipset NS CS 5530A, • sterowanie matrycą TFT 18 bitów, • pamięć RAM: SODIMM, SDRAM, do 128MB, • interfejs sieci Ethernet 10/100Mb/s, Intel 82559, • zakres temperatur pracy: 0 – 60 st., • interfejsy komunikacyjne: 2 x USB, 2 x RS232C/485, • interfejsy pamięci masowych: IDE 44 pin, FDD, Compact Flash. 6 Komputery „ciasteczkowe” komputery ciasteczkowe (ang. biscuit PC) posiadają złącza w standardzie PC/104, cechują się nieco większymi rozmiarami, płytki występują w dwóch rozmiarach: 145x102mm (format dysku 3,5’’) oraz 203x146mm (format dysku 5,25’’), płytki 5,25’’ nadają się do zastosowań multimedialnych (odtwarzacze DVD, MP3, itp.) – wyposażone są w układ audio (AC-97) kartę grafiki ze sterowaniem LCD, wyjściem TV, czasami wideograbberem, Komputery „ciasteczkowe” płytka 3,5’’ PCM-9370 (Advantech) wyposażona jest w energooszczędny procesor Transmeta Crusoe, interfejsy LAN, VGA z LCD oraz standardowe porty szeregowe i równoległe, procesor Transmeta Crusoe jest zgodny z modelem programowym IA32, jedynym programem bezpośrednio wykonywanym przez procesor jest Morphing Code zapisany w dostarczonej przez producenta pamięci ROM, architektura IA32 jest emulowana przez Morphing Code, wyrafinowane techniki emulacji: kompilacja w locie, buforowanie, optymalizacja, Komputery „ciasteczkowe” implementacja Morphing Code: Shadow Registers, Rollback/Commit Operations, Alias Hardware, Store and Protect Operation, większe możliwości implementacji złożonych algorytmów w warstwie Morphing Code niż sprzęcie, zaawansowany mechanizm Long Run – inteligentne dopasowanie częstotliwości i napięcia zasilającego w zależności od obciążenia procesora, 7 Technologia SOM technologia SOM (ang. System On Module), korzystna przy produkcji małoseryjnej, przypadki, gdy nie można dobrać gotowego rozwiązania spełniającego wymagania sprzętowe, przy budowie systemów często wykorzystuje się te same rozwiązania układowe (procesory, układy sterujące), różne jest otoczenie interfejsowe, różny rozkład złączy i wyprowadzeń na płycie, moduły SOM zawierają procesor, układ sterujący i niektóre interfejsy, moduł ma standaryzowane złącze krawędziowe 144pin (SODIMM), Technologia SOM szacuje się, że wykorzystanie gotowego modułu pozwala skrócić czas projektowania i testowania systemu o 80%, SOM-4470 wyposażony jest w procesor Pentium III lub Celeron o zmniejszonym poborze mocy z układem sterującym Intel-440BX, zawiera złącze IDE, układ grafiki VGA z 18/24-bit LCD, układ dźwiękowy, kontroler magistrali USB, interfejs RS232C, pobór mocy 17W (zasilanie 5V). Technologia SOC SOC (ang. System on Chip), rozwiązanie w postaci układu zawierającego najczęściej: mikrokontroler, interfejsy radiowe, interfejsy szeregowe (SPI, I2C, UART, USB), Ethernet, zewn. magistrala pamięci, PCI, porty we/wy, duże możliwości, niski koszt. EdiMax BR6104KP 8 Sterowniki PLC PLC (ang. Progammable Logic Controller), stosowane w przemyśle do sterowania liniami produkcyjnymi, elementami wykonawczymi urządzeń duża liczba wejść i wyjść, do wejść podłącza się czujniki, do wyjść – elementy wykonawcze, praca w dużym zakresie temperatur, odporność na zakłócenia, kurz i pył, kontrolowane przez system operacyjny czasu rzeczywistego, możliwość przeprogramowania w przeciwieństwie do urz. przekaźnik. System od podstaw wysokie koszty projektu, niskie koszty produkcji, projekt dopasowany do konkretnego zastosowania, brak zbędnych podzespołów. Literatura 1. 2. 3. 4. 5. 6. 7. 8. Pełka R., Mikrokontrolery – architektura, programowanie, zastosowania, WKŁ, Warszawa 2000, Silberschatz A., Galvin P.B., Podstawy systemów operacyjnych, Wydawnictwa Naukowo-Techniczne, Warszawa 2001, Gałka P., Gałka P., Podstawy programowania mikrokontrolerów 8051, MIKOM, Warszawa 2000, Bryndza L., LPC2000. Mikrokontrolery z rdzeniem ARM7, Wydawnictwo BTC, Warszawa 2007, Paprocki K., Mikrokontrolery STM32 w praktyce, Wydawnictwo BTC, Legionowo 2009, Doliński J., Mikrokontrolery AVR w praktyce, Wydawnictwo BTC, Warszawa 2003, Baranowski R., Mikrokontrolery AVR ATmega w praktyce, Wydawnictwo BTC, Warszawa 2005, Augustyn J., Projektowanie systemów wbudowanych na przykładzie rodziny SAM7S z rdzeniem ARM7TDMI, Wydawnictwo IGSMiE PAN, Kraków 2007, 9