Ugrađeni računarski sistemi vremenu pr. 3 Vanr.prof.dr. Lejla Banjanović- Izazov se zove ugrađeni sistemi... Revolucija u domenu ugrađenih (embedded) sistema Embedded digitalna tehnologija je inkorporirana u sve vrste opreme i sistema, koji se koriste za uvećanje funkcionalnosti unapređenje operativnosti po nižim cijenama. 1
Ugrađeni sistemi Primjeri proizvoda koji koriste ugrađene sisteme: mobilni telefoni, MP3 plejeri, kablovski modemi, digitalne kamere, itd. industrijski roboti, automobili Embedded sistemi su najčešće masovni proizvodi! Primjene Ugrađenih sistema Alarmna zaštita Jednostavne kućne aplikacije (mikrovalne pećnice, veš-mašine,...) Dojava alarma fiksnom telefonskom linijom Dojava alarma SMS-om Sigurnosne brave 2
Primjene Ugrađenih sistema Svi uređaji kojima se upravlja daljinskim upravljačem upravljanje zagrijavanjem, kondiciniranjem zraka u proizvodnim jedinicama u robotici do sistema proizvodne automatizacije i kontrolnih sistema Primjene Ugrađenih sistema U medicini, djelimično u dijagnostičkoj medicinskoj opremi,... do inteligentnih uređaja koji se implementiraju u ljudsko tijelo Transport - moderni automobili imaju po barem jedan mikrokontroler, npr. mikrokontroleri upravljaju motorom, ABS sistem kočenja, itd. pa do kamiona, vozova, letjelica... 3
Ugrađeni sistemi (eng. Embedded systems) Definicija 1: Embedded sistemi su računarski sistemi sa jako izraženom integracijom hardvera i softvera, prije svega namjenjeni da obavljaju specifične funkcije. Definicija 2: Embedded sistemi su računarsko bazirani sistemi ugrađeni u okviru drugog sistema, za koga obezbedjuju bolju funkcionalnost i performanse. Definicija 3: Embedded sistemi su sistemi specijalne namjene kod kojih je računar u potpunosti enkapsuliran od strane uredjaja koga on kontroliše. Nasuprot računaru opšte nemjene, kakav je personalni računar (PC mašina), embedded sistem obavlja jedan ili veći broj unaprijed definisanih zadataka, obično sa veoma specifičnim zahtjevima. Ugrađeni sistemi Evropa je svjetski lider u embedded tehnologiji za: Avioniku Automobilsku industriju Industriju Komunikacije Elektronsku industriju 90% svih kompjuterskih uređaja je u embedded sistemima a ne u desktop sistemima! 4
Ugrađeni sistemi Tehnologija ugrađenih sistema je najbrži razvojni sektor u IT danas! Npr. ugrađena elektronika i softver učestvuju u 22% industrijskih automatizovanih sistema, 41% korisničke elektronike, 33% medicinske opreme! Razlike između embedded sistema i mašina opšte namjene 1. Embedded sistemi su namjenjeni da obavljaju specifične zadatke dok se PC računari prvenstveno koriste kao računarske mašine opšte namjene. 2. Rad embedded sistema podržan je od strane širokog dijapazona procesora i procesorskih arhitektura. 3. Embedded sistemi treba da su jeftini. 4. Embedded sistemi imaju ograničenja koja se odnose na rad u realnom vremenu: 1. vremensko osjetljiva ograničenja (time sensitive constraints) 2. vremensko kritična ograničenja (time critical constraints) 5. Ako embedded sistem koristi operativni sistem to obično mora biti RTOS (Real Time Operating System). 5
Razlike između embedded sistema i mašina opšte namjene 6. Implikacije softverskih grešaka su značajno ozbiljnije kod embedded sistema u odnosu na desktop sisteme. 7. Embedded sistemi se u velikom broju slučajeva izrađuju kao baterijsko napajani uređaji pa zbog toga je imperativ da se oni izvode kao sistemi sa minimalnom potrošnjom. 8. Embedded sistemi moraju da rade u ekstremnim ambijentnim uslovima. 9. Embedded sistemi imaju daleko manji broj ugrađenih sistemskih resursa u poređenju sa desktop sistemima. 10. Embedded sistemi čuvaju sav svoj objektni kod u ROM-u. 11. Embedded sistemi zahtjevaju korištenje specijalnih sredstava i metoda za projektovanje. 12. Embedded mikroprocesori obično imaju implementirano namjenska debugging kola (watchdog tajmeri, self-test kola, itd.). Real-Time embedded sistemi Odnos između RTS-ova (Real Time Sistems) i embedded sistema 6
Embedded sistemi za rad u realnom vremenu Odziv na spoljne događaje uključuje: prepoznavanje trenutka kada se događaj desio; obavljanje procesiranja kao odziv na pojavu događaja; generisanje rezultata za zadano vremensko ograničenje Sistem za rad u realnom vremenu Pri pojavi određenih događaja unutar mikrokontrolera se registruje Interrupt (zahtjev za prekid tekućeg procesa). Primjer primjene Interrupt-a je: ukoliko se stanje promjeni na nekom od ulaznih pin-ova ukoliko je protekao konkretno definisani vremensko period, ukoliko je serijski prenos okončan Reakcija na događaje ukoliko je okončano mjerenje putem A/D konvertera Ukoliko se pojavi događaj koji je povezan sa pozivom Interrupt-a slijedi tok događaja: 1.Unutar specijalnog registra postavlja se vrijednost bita (Interruptflag ) 2.Daljnji tok osnovnog programa se prekida, Interruptflag se briše i pokreće se podprogram (Interrupt Service Routine - ISR) 3.Nakon završetka podprograma, nastavlja se sa izvravanjem naredbi u osnovnom programu nastavljajući sa narednom naredbom nakon poziva Interrupta Copyright: Lejla Banjanovic- Mehmedovic 7
Razvojna kros-platforma Softver za embedded sistem se razvija na jednoj platformi, a izvršava na drugoj. Host sistem je sistem na kome se embedded softver razvija. Ciljni (target) sistem je embedded sistem koji se razvija. U najvećem broju slučajeva, host i ciljni sistem nisu bazirani na istom procesoru. Glavno softversko razvojno sredstvo koje čini razvojnu kros-platformu mogućom predstavlja kroskompajler. Kros-kompajler je kompajler koji se izvršava na jednom tipu procesorske arhitekture, a generiše objektni kod za drugi, različit tip procesorske arhitekture. Softver embedded sistema Embedded RTOS (Real Time Operating Sistem) Operativni sistem je specijalizirana kolekcija sistemskih programa koja upravlja fizičkim resursima računara. Aplikacioni softver Aplikativni programi su programi pisani za rješavanje specifičnih problema (navigacija aviona, upravljanje kretanjem robota) While(1) { Embedded Program } 8
Operativni Sistemi mobilnih robota sa ugrađenim sistemima A/ROSE Embedded Linux Inferno (distriobuirani operativni sistem) ROM-DOS Minix version 3 T2 SDE Windows XP Embedded Windows CE.NET Micro Framework QNX Copyright: Lejla Banjanovic- Mehmedovic Programski jezici realnog vremena Jezici za programiranje ugradjenih računarskih sistema Asembleri C, C++, C# Java, Java++ Matlab 9
Programski jezici realnog vremena treba da podrže izraze i analizu vremenskog ponašanja na jedan od tri načina: Eliminacija konstruktora koji imaju neutvrđena vrem. izvršenja Ekstenzija postojećih jezika (npr. C za realno vrijeme) Konstrukcija jezika u sprezi sa operativnim sistemima Kako izvršiti izbor jezika realnog vremena? Od globalnih zahtjeva na RSRV Tačnost Pravovremenost Sigurnost Pouzdanost do zahtjeva na softver Tačan softver Pouzdan softver pa do opštih i korisničkih zahtjeva na jezik 10
Opšti zahtjevi na programske jezike Deklaracije Tipovi Incijalizacija Konstante Kontrolne strukture Vidljivost Modularnost i kompajliranje Rad sa izuzecima Rad nad bitima Multitasking Efikasnost Kod aplikacija Elektro-mehanički sistemi Kontrola letjelica Kontrola vozova Kontrola plovnih objekata Procesiranje signala Prepoznavanje govora 11
C++ dominantan u svijetu mikroprocesora Moćne metode za rad sa izuzecima Razvijene biblioteke funkcija za konkurentno programiranje posebnih proizvođača Rapoloživost matematskih i opšte-namjenskih biblioteka Raspoloživost na tržištu alata s bogatim okruženjem Alati za prevodjenje dizajna u programski dizajn jezika Hardver i softver ko-dizajn model Čvrsta uzajamna sprega u radu između oba projektantska tima iz razloga što se embedded sistemi grade (realizuju) kako od specijalizovanog hardvera, tako i specijalizovanog softvera. Virtuelna HW/SW integracija (co-design & co-verification) 12
Testiranje integracije hardwera i softwera Razvoj i testiranje hardwera Testiranje softwera interaktivno u okiru hosta i ciljnog sistema Testiranje softvera unutar ciljnog sistema Razvoj i testiranje softvera u okviru host sistema Mikroprocesorski razvojni proces Neki primjeri ugrađenih sistema u realnom vremenu 13
Konvencionalni solarni panel Savremena mikrokontrolerska platforma solarnog panela 14
: Primjeri korištenje mikrokontrolera u mobilnoj robotici Copyright: Lejla Banjanovic- Mehmedovic Kooperativni dizajn multi-robota korištenjem FSM Slika 12 Interakcija među robotima putem virtuelnih feromona Slika 63 Mašina konačnih stanja za ponašanje provjere Copyright: šesnaesterca Lejla i Banjanovicprepreka Mehmedovic 15
Robotski timovi i nanotehnologija Multirobotski sistem izbjegavanje prepreka, identifikacija robota i komunikacija Roboti za nadgledanje zgrada sa komunikacionim modulima EATR roboti koji će se u budučnosti koristiti za nanotehnologiju vremenu Copyright: Lejla Banjanovic- Mehmedovic 16