Konsultacje C-3, 301 Informacje Systemy wbudowane Systemy Wbudowane Dr inż. http://eportal2.pwr.wroc.pl Kurs: Systemy wbudowane Konto: poczta elektroniczna PWr Hasło zapisu: indywidualnie dla grup http://www.ii.pwr.wroc.pl/~fras maf 1
Systemy wbudowane Zakres przedmiotu Podstawowe elementy architektury wybranych systemów wbudowanych. Zagadnienia oprogramowania systemowego. Platformy Javy Systemy czasu rzeczywistego. Poznanie konstrukcji oprogramowania dla wybranych systemów wbudowanych. Podstawowe zagadnienia projektowania systemów wbudowanych. Przykład studyjny. Laboratorium MHP Multimedia Home Platform Programowanie aplikacji dla przystawek DTV (STB) w języku DVB-J J2ME Java 2 Microedition Programowanie Midletów Android Programowanie aplikacji dla systemu Android Windows Phone Programowanie aplikacji dla systemu Windows Phone maf 2
Treść wykładu Systemy wbudowane 1. Wprowadzenie do systemów wbudowanych. 2. Platformy Javy dla systemów wbudowanych. 3. Programowanie aplikacji platformy MHP. 4. Programowanie aplikacji J2ME. 5. Android system i programowanie aplikacji 6. Windows Phone system i programowanie aplikacji 7. Architektura systemów wbudowanych. Mikrokontrolery. 8. Układy we/wy, standardy. 9. Systemy operacyjne czasu rzeczywistego. 10. Programowanie systemów wbudowanych. 11.Wybrane zagadnienia projektowania systemów wbudowanych. 12. Projektowanie - przykład studyjny. maf 3
Systemy wbudowane Literatura MHP Morris S., Smith-Chaigneau A.: Interactive TV Standards: A Guide to MHP, OCAP, and JavaTV. Focal Press, 2005. O'Driscoll G.: The Essential Guide to Digital Set-Top Boxes and Interactive TV. Prentice Hall, 1999. http://www.mhp-interactive.org/ http://http://www.mhp-knowledgebase.org/ Dokumentacja Oracle (dawniej Sun) Java: http://www.oracle.com/technetwork/java/index.html WWW producentów systemów: Android: Open Handset Alliance (Google) developer.android.com Windows Phone: Microsoft dev.windowsphone.com msdn.microsoft.com maf 4
Systemy wbudowane Literatura Mikrokontrolery http://www.atmel.com/dyn/resources/prod_documents/doc2503.pdf Pełka R.: Mikrokontrolery architektura, programowanie, zastosowania. WKŁ, 2000. Daca W.: Mikrokontrolery od układów 8-bitowych do 32-bitowych. MIKOM, 2000. Bryndza L.: Mikrokontrolery z rdzeniem ARM9. Wyd. BTC, 2009 Systemy czasu rzeczywistego Ułasiewicz J.: Systemy czasu rzeczywistego QNX6 Neutrino, BTC, 2007. Laplante P.A.: Real-Time Systems Design And Analisys, IEEE Press, 2004. Praca zbiorowa: Real Time SchedulingTheory, KluwerAcademicPublishers, 2004 Inne Noergaard T.: Embedded Systems Architecture: A Comprehensive Guide for Engineers and Programmers, Newnes, 2005. Marwedel P.: Embedded System Design. Kluwer Academic Publishers, 2003. maf 5
Zaliczenie Wykład Systemy wbudowane Kolokwium elektroniczny test zaliczeniowy 4 czerwca 2013 (przedostatni wykład) / opcja: 11 czerwca 2013 11 czerwca 2013 (ewentualna poprawka) / opcja: 25-26 czerwca Sale: 3.0x, budynek C-13 Zaliczenie 50%+ 100% punktów Poprawka na dst możliwość wyższej oceny uzgadnianie indywidualnie Laboratorium Zaliczenie niezależnie Szczegóły na zajęciach laboratoryjnych maf 6
Geneza systemów wbudowanych Źródła rozwoju: automatyka i informatyka PLC Automatyka Systemy wbudowane Systemy komputerowe Komputerowe Systemy Sterowania Klasyfikacja KSS ze względu na powiązania z procesem Mikrokontrolery Systemy monitorowania - tylko zbieranie danych w celu wspomagania działania operatora procesu (MS - Monitoring Systems) Systemy sterowania automatycznego Systemy sterowania bezpośredniego (DDC Direct Digital Control) Systemy sterowania nadrzędnego (SPC SuPervisory Control) Systemy wbudowane (ES Embedded Systems) maf 7
Definicje System mikrokomputerowy (mikrosystem) System przeznaczony do realizacji dowolnego zadania dającego się sprowadzić do przetwarzania informacji cyfrowej, składający się z: sprzętu elektronicznego (mikroprocesory, mikrokomputery, nadajniki/odbiorniki informacji, układy sprzęgające z otoczeniem, magistrale komunikacyjne) oprogramowania (zapewniającego określone działanie sprzętu elektronicznego) Mikrokontroler Komputer wykonany w jednym układzie scalonym z wyspecjalizowanym mikroprocesorem, zintegrowaną pamięcią oraz układami we/wy do sterowania urządzeniami peryferyjnymi, spełniający dwa kryteria: zdolność do autonomicznej pracy zaprojektowany do pracy w systemach wbudowanych (w tym kontrolno pomiarowych) maf 8
System wbudowany Definicje Dedykowany (pod)system komputerowy, składający się z odpowiednio dobranych komponentów sprzętowych i programowych, zaprojektowany pod kątem wykonania ściśle określonego działania przez aplikację programową odpowiedzialną za realizację funkcji systemu Specjalizowane systemy mikroprocesorowe będące częścią urządzenia Specjalizowane urządzenia o charakterze komputerowym realizujące swoje funkcje poprzez specjalizowane oprogramowanie dla odpowiednio dobranych komponentów Postęp techniczny i rozwój inteligencji podzespołów rozmywa pojęcie systemów wbudowanych maf 9
Podstawowa charakterystyka systemów wbudowanych Zazwyczaj niewielkich rozmiarów (nie zawsze) Limitowana funkcjonalność programowa i sprzętowa Wydajność obliczeniowa, konsumpcja energii Ograniczenia funkcjonalne oprogramowania Dedykowany charakter elementów systemu specjalizacja Klasycznie jedna funkcja Rozwiązania bardziej złożone (PDA, Smartphone, Set-top-box) Uwzględnienie specyfiki środowiska Jakość i niezawodność oprogramowania i sprzętu Zróżnicowana ze względu na zastosowania Duże znaczenie projektowana i testowania Ale też: Szerokie spektrum poziomu złożoności proste mikrokontrolery rozproszone systemy sterowania maf 10
Podstawowa charakterystyka systemów wbudowanych Zastosowanie systemów wbudowanych Systemy kontroli i sterowania Przemysłowe systemy sterowania Motoryzacja układy sterujące podzespołami pojazdu Lotnictwo Technika kosmiczna Systemy nawigacji satelitarnej Elektronika konsumencka Odtwarzacze MP3, telefony komórkowe, PDA Urządzenia audio-wideo Telewizja cyfrowa, przystawki DTV (set-top-box y) Konsole gry, zabawki GPS Diagnostyka medyczna Technika telekomunikacyjna i teleinformatyczna Urządzenia ATM, kioski informacyjne Urządzenia sieciowe maf 11
Podstawowa charakterystyka systemów wbudowanych Zastosowania wymagające uwzględnienia upływu czasu Systemy sterowania procesami przemysłowymi Technika pojazdowa i transport Aeronautyka, astronautyka Medycyna Telekomunikacja Urządzenia multimedialne System wbudowany system czasu rzeczywistego Przynajmniej typu miękkiego Systemy SW Systemy CR maf 12
Podstawowa charakterystyka systemów wbudowanych Model systemu Sensory Konwersja fizycznych parametrów środowiska na sygnały systemu Aktuatory Konwersja wyjścia interfejsu wyj. systemu na akcję fizyczną Bloki dopasowania we/wy Konwersja zakresu (wzmocnienie, przesunięcie), typu (normowanie) i selekcja sygnału Układy we/wy Dostosowanie przepływu informacji do sposobu działania systemu sterowania (AC/CA) Jednostka sterująca (przetwarzania) sensor aktuator Jednostka dopasowania wejścia Jednostka dopasowania wyjścia Układy wejścia Układy wyjścia Jednostka sterująca (w czasie RT) Interfejs operatora maf 13
Podstawowa charakterystyka systemów wbudowanych Komponenty architektury Architekturę SW Przede wszystkim zależy od poziomu skomplikowania realizowanych przez SW funkcji i obszar zastosowań Sprzęt Szerokie spektrum Specjalizowany i standardowe platformy sprzętowe Oprogramowanie systemowe Zazwyczaj specjalizowane Aplikacje wbudowane Architektura specyficzna dla danej platformy J2ME pjava.net Application software layer (opcjonalne) std. ogólnego standardy przeznaczenia specjalizowane System TCP/IP Embedded software system layer Ethernet (opcjonalne) HTTP Hardware Layer (wymagane) HAVi MHP FDA maf 14
Rozwiązania sprzętowe Platformy sprzętowe Compact PCI (CPCI) 1994 rok Grupa PICMG (Intel, HP, IBM, Motorolla, Siemens, Sun) PC/104 1992 rok 1994 rok PC/104+ Komputery ciasteczkowe (buiscuit PC) Zmodyfikowany (rozbudowany) PC/104 System on Module (SOM) Komponent dla małoseryjnych rozwiązań systemów wbudowanych na bazie stand. rozwiązań architektury PC Moduły ze standardowym złączem SODIMM, zawierające procesor, układ sterujący i ograniczoną liczbą interfejsów System on Chip (SoC), System-in-a-Package (SiP) Zintegrowane układy elektroniczne Mikroprocesor/mikrokontroler/DSP + układy peryferyjne maf 15
Budowa Magistrala PCI 66MHz, 133Mbit/s Systemy Compact PCI 64 bit PCI-X: powyżej 1Gbit/s Karty procesorowe RISC (PowerPC, MIPS) CISC (Intel IA32, Motorolla 68K) Moduły w postaci kart o standardowych wymiarach Kasety o różnej liczbie gniazd Charakterystyka Duża niezawodność Duże gabaryty Duża wydajność Wysoka cena Skalowalność Karta Advantech MIC-3041 Obudowa Advantech MIC-3041 maf 16
Budowa Systemy PC/104 Konstrukcja kanapkowa płyty 3,5 Karty procesorowe o różnej mocy obliczeniowej Często o niskim poborze mocy (IA32, NS Geode) Typowe kart rozszerzeń - interfejsy zmodyfikowana ISA PC/104+: ISA + PCI (33/66 MHz) FDD, IDE, SCSI, Compact Flash Ethernet, RS-232/RS-422, Centronics, USB Charakterystyka Systemy stacjonarne i systemy przenośne Duże możliwości oblicz. Trudne warunki pracy Wibracje 0 60ºC (-40 +120 ºC) Łatwość obsługi/serwisu Niska cena Moduł PC/104 firmy Microsys maf 17
Budowa Komputery ciasteczkowe Architektura bazuje na PC/104 Płyty 3,5 : rozwinięcie PC/104 Płyty 5,25 : dod. układy audio/video Procesory: IA32 (najczęściej) RISC (rzadziej) Energooszczędne (NS Geode, Transmeta Crusoe, Pentium III Mobile,...) Interfejsy: LAN (Ethernet) VGA (ze sterowaniem LCD) Audio (AC 97) HDD, FDD RS, Centronics PC/104, PC/104+ 5,25 Advantech PCM-9370 (3,5 ) maf 18
Układy SoC SoC (ang. System-on-Chip) Układ VLSI zawierający układ mikroprocesorowy zintegrowany z układami peryferyjnymi (układami analogowymi, cyfrowoanalogowymi, komunikacji bezprzewodowej, itp.) Możliwa integracja wszystkich układów na jednym podłożu lub moduły wykonuje się na osobnych kryształach, w jednej obudowie SiP (ang. System-in-a-Package). Qualcomm Snapdragon (ARMv7+DSP+ATI graph.) maf 19
Układy SoC Typowa architektura mikroprocesor, mikrokontroler i/lub rdzeń DSP, także MPSoC bloki pamięci złożone z modułów RAM, ROM, EEPROM lub FLASH układy czasowo-licznikowe kontrolery transmisji szeregowej i/lub równoległej przetworniki analogowo-cyfrowe i/lub cyfrowo-analogowe obwody zarządzania zasilaniem maf 20
Układy SoC Przykład: Samsung Galaxy S II maf 21
Oprogramowanie systemów budowanych Specjalne systemy operacyjne Wymagania ze względu na specyfikę zastosowań Wysoka jakość i stabilność Efektywność pracy (moc obliczeniowa i rozmiar kodu) Wymagania platformy sprzętowej Systemy operacyjne ogólnego przeznaczenia Systemy specjalizowane Systemy czasu rzeczywistego (ang. RTOS) Determinizm czasu reakcji na zdarzenia Odmienne mechanizmy zarządzania zasobami Małe, wydajne, niezawodne, dobrze przetestowane Przykłady QNX Symbian Cisco IOS Windows Mobile / Phone Windows CE ios / iphone OS (Mac OS X) (Embedded) Linux / Maemo, MeeGo, Android, maf 22
Oprogramowanie systemów budowanych Środowisko aplikacji Aplikacje natywne Samodzielne Konsolidowane z systemem operacyjnym Oprogramowanie pośredniczące Maszyna wirtualna Języki programowania Apl. System API S.O. Sprzęt Apl. M. API Midleware Kod maszynowy binarny (0,1) i zależny sprzętowo Języki asemblerowe zależny sprzętowo odpowiedni do kodu maszynowego HOL (High-Order Languages) / języki proceduralne bardziej przenośne języki wysokiego poziomu jak C, Pascal, itp. VHLL (Very High Level Languages) / języki nieproceduralne języki zorientowane obiektowo (C++, Java, ), języki zapytań (SQL), itp. maf 23
Platforma Java 2 dla SW Java w systemach wbudowanych 5 mld kart SIM i Smart Cards, 3 mld urz. mobilnych, 80 mln odb. TV maf 24
Android Platformy mobilne System częściowo otwarty Linux + Android runtime GUI Toolkits: Android SDK Język programowania: podzbiór Java Wspierane urządzenia: - wiele Firma: Google + Open Handset Alliance maf 25
BlackBerry System zamknięty Platformy mobilne Główny język programowania: Java (J2ME) + chronione rozszerzenia Wspierane urządzenia: - BlackBerry Firma: Research In Motion (RIM) maf 26
iphone Platformy mobilne System zamknięty Nieoficjalne SDK oparte na gcc po złamaniu (zhakowaniu) systemu BSD + iphone Framework Główny język programowania: Objective C Wspierane urządzenia: - iphone Firma: Apple maf 27
Platformy mobilne Windows Phone System zamknięty Główny język programowania:.net (C#, VB) Platformy wsparcia deweloperskiego:.net Silverlight XNA (Xbox New Architecture / XNA is Not an Acronym) Wspierane urządzenia: - kilka (liczba rośnie) Firma: Microsoft maf 28
Platformy mobilne Symbian S30/S60/S80/ System chroniony, ale otwarty dla deweloperów Symbian Główny język programowania: Symbian C++ Platformy wsparcia deweloperskiego: Open C (Posix porting layer) Java (J2ME) Python Adobe Flash Lite Wspierane urządzenia: - wiele Firma: Nokia maf 29
Platformy mobilne Aktywność w Internecie na podstawie badań 160 mln wizyt na miesiąc Źródło: www.netmarketshare.com maf 30