embedded sistemi

59

Click here to load reader

Upload: dexter9832

Post on 21-Nov-2015

77 views

Category:

Documents


12 download

DESCRIPTION

Embedded sistemi

TRANSCRIPT

  • UNIVERZITET U SARAJEVU ELEKTROTEHNIKI FAKULTET RAUNARSTVO I INFORMATIKA

    SEMINARSKI RAD IZ PREDMETA: RAUNARSKE ARHITEKTURE

    TEMA: EMBEDDED SISTEMI

    PROFESOR: STUDENTI: V.prof.dr Novica Nosovi Jasmin Helji

    Abdurahman Hadi

    Sarajevo,novembar/decembar,2004.godine

  • SADRAJ Definicija embedded sistema ..............................................................................................3 Uvod u embedded sistemi....................................................................................................5 Real-time operativni sistemi................................................................................................7 Kratki pregled razvoja embedded sistema...........................................................................9 Osnovne karakteristike embedded sistema........................................................................13 Primjer: Blok dijagram kontrolnog embedded sistema.....................................................19 Tri kljune embedded tehnologije.....................................................................................20 Analiza trendova u razvoju embedded sistema.................................................................22 Embedded sistemi u automobilskoj industriji....................................................................31 Anti-lock Braking System.................................................................................................38 Intel 8XC196EA embedded mikrokontroler.....................................................................42 Zakljuak...........................................................................................................................47 Dodatak A- Kratki pregled evolucije raunarstva.............................................................48 Dodatak B- Nanoprocesori................................................................................................51 Dodatak C- Instrukcijski set 8XC196EA mikrokontrolera...............................................54 Literatura............................................................................................................................58

    2

  • DEFINICIJA EMBEDDED SISTEMA Tema ovog seminarskog rada su Embedded raunarski sistemi. Kako se radi o jako irokoj temi, pokuat emo se fokusirati na najvanije principe, ne ulazei u nepotrebne detalje. Ali prije nego to zaponemo sa izlaganjem teme, trebamo izabrati radnu hipotezu na kojoj e se bazirati na rad. Zato je potrebno dati jasnu definiciju embedded sitema, kako bismo konzistentno izloili navedenu materiju. ta su embedded sistemi? Odgovor na ovo pitanje nije jednostavan, jer ne postoji jedinstvena definicija koja bi upotpunosti objasnila i opisala navedenu vrstu sistema. Analizom vie definicija iz razliitih izvora, pokuat emo doi do nae radne definicije. U nama dostupnoj literaturi embedded sistemi se definiu na sljedei nain:

    Raunarski sistemi uklopljeni unutar elektronskih ureaja.

    Combination of processors, sensors, actuators, intelligence, hidden computers and massive deployment, intensive interaction with uncertain environment.

    Computer purchased as part of some

    other piece of equipment.

    Embedded sistem je sistem koji vri specifinu funkciju, moe biti uklopljen u drugi embedded sistem, i komunicirati sa okolinom reagujui na signale/inpute bilo iz okolino bilo iz drugog embedded sistema (slika 1).

    slika 1. Uopteni model embedded sistema

    Meutim, da bi italac stvorio pravu slika o embedded sistemima navest emo kratku listu istih, koja slijedi u nastavku rada. Ono to moemo konstatovati jeste, da su embedded sistemi svugdje oko nas, i esto nismo ni svjesni injenice da neki ureaji koje svakodnevno koristimo imaju ugraen embedded sistem koji obavlja specifinu funkciju. Bilo je pokuaja da se embedded sistemi klasificiraju po raznim karakteristikama, poevi od oblasti ili djelatnosti u kojoj se upotrebljavaju, pa do klasificiranja po samim karakteristikama. U naem seminarskom radu smo odluili da se fokusiramo prvensteno na principe karakteristine za embedded sisteme, a da detalje apstrahujemo na najbolji nain, kako bismo izvukli ono to je najbitnije.

    3

  • Anti-lock brakes Auto-focus cameras Automatic teller machines Automatic toll systems Automatic transmission Avionic systems Battery chargers Camcorders Cell phones Cell-phone base stations Cordless phones Cruise control Curbside check-in systems Digital cameras Disk drives Electronic card readers Electronic instruments Electronic toys/games Factory control Fax machines Fingerprint identifiers Home security systems Life-support systems Medical testing systems

    ModemsMPEG decoders Network cards Network switches/routers On-board navigation Pagers Photocopiers Point-of-sale systems Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems

    Nadovezujui se na prethodnu listu, embedded unari u sklopu proizvoda odnosno nekih drugih sistema, p voza, radara, automobila, lifta ili pak epnog daljinskog upra

    Computers In

    Slika 2. Embedded sistemi su

    Jedna od informativnijih definicija kae sta sistema koja se odlikuje sljedeim karakteristika a) ukljuuje kombinaciju hardvera i soft

    Televisions Temperature controllers Theft tracking systems TV set-top boxes VCRs, DVD players Video game consoles Video phones Washers and dryers

    sistemi se opisuju kao raoput podmornice, aviona,vljaa za automobile.

    side a Product

    raunari unutar proizvoda

    da su embedded sistemi, vrma: vera (a computational engine) za

    4

  • obavljanje specifine funkcije b) dio veeg sistema koji ne mora biti kompjuter c) rade u okruenju koje zahtijeva reaktivnost i vremensko ogranienje d) esto zamjenjuju elektromehanike komponente

    Prethodno smo dali jednu intuitivnu sliku embedded sistema ne ulazei u arhitekturu, karakteristike, softverske i hardverske specifikacije. Mogli smo vidjeti da je njihova primjena jako iroka u gotovo svim segmentima ljudske djelatnosti. Kao radnu hipotezu u ovom seminarskom radu koristit emo sljedeu definiciju koja daje detaljniju sliku embedded sistema: A specialized computer system that is part of a larger system or machine.

    Typically, an embedded system is housed on a single microprocessor board with the programs stored in ROM. Virtually all appliances that have a digital interface like watches, microwaves, VCRs, cars utilize embedded systems. Some embedded systems include an operating system, but many are so specialized that the entire logic can be implemented as a single program.

    Dakle, radi se o sistemima koji su dio veih sistema ili maina. Obino je embedded sistem implementiran na jednoprocesorskoj ploi, a programi su storirani u ROM. Neki embedded sistemi ukljuuju operativni sistem, ali mnogi su tako specializovani da se cijela logika moe implementirati u obliku jednog programa. UVOD U EMBEDDED SISTEME Trite embedded sistemima je jedno od najbre rastuih. Ovi sistemi su duboko uklopljeni u na svakodnevni ivot na mnoge naine, a da mi uopte nismo toga ni svjesni. Za razliku od desktop raunara, embedded sistemi nemaju oblik tower centralne jedinice koja stoji na neijem stolu, kao to smo vidjeli u prethodnom poglavlju. Za razliku od njih oni su dobro skriveni unutar mnogih ureaja, kao to su mobilni telefoni, digitalne kamere, game-konzole, MP3 plejeri, digitalni televizori itd. Upotreba embedded sistema je nevjerovatno porasla u bliskoj prolosti, a trend porasta ima istu tendenciju i u budunosti. Embedded sistemi imaju razliite oblike, ali komponente od kojih se sastoje na neki nain su sline u svim tim sistemima. Veina sistema ukljuuje barem jedan mikroprocesor kao centralnu procesorsku jedinicu, uz brzu on-chip memoriju. Veliina memorije moe znaajno varirati zavisno od sistema. Nadalje, tu je normalno i hardware-ski tajmer (watchdog tajmer), ulazno/izlazni portovi poput UART-a (Universal Asynchronous Receiver/Transmitter), i ponekad debugging interfejs. Ulazno-izlazni ureaji kod embedded sistema su najee senzori, lampice, prekidai, aktuatori. Dakle, razlikuju se od tradicionalnih U/I ureaja kod PC-a, poput tastature, monitora ili mia, o emu emo detaljnije govoriti u poglavlju o osnovnim karakteristikama embedded sistema. Zavisno od specifinih aplikacijskih zahtjeva, i

    5

  • druge komponente takoer mogu ui u sistem. Naprimjer, ukoliko se od embedded sistema oekuje da obavlja zadatak procesiranja signala, MAC (multiply-and-accumulate) jedinica se moe integrisati za tu svrhu. Embedded sistemi u mobilnim telefonima, imaju ugraen modul za mobilnu-mrenu komunikaciju (cellular network communication modules). Embedded sistemi koji formiraju mree, sadravat e DMA i mrene interfejs kontrolere. Unutar embedded sistema, takoer se mogu pronai i druge periferale, kao to su multimedijalne kartice, beini adapteri i infra-crveni portovi. Kako embedded aplikacije postaju sve raznovrsnije, tako se i vie specifinih hardverskih komponenti moe nai u sistemu. Neke aplikacije koje se izvravaju na embedded sistemima su real-time, to znai da ukoliko se aplikacija ne izvri unutar fiksnog perioda vremena, rezultati rada sistema mogu biti katastrofalni. Uzmimo za primjer embedded sisteme koji se koristi u avionima. Ako se abnormalna oitavanja sa senzora ne prezentuju na vrijeme, avion moe doi u opasnost. slika 3. Osnovne komponente embedded sistema

    slika 4. Primjer real-time embedded sistema Flight control system

    6

  • Radi posebnih zahtjeva svojstvenih ovim sistemima, veina embedded sistema izbjegava nedeterministiki hardver. Jedan dobar primjer u ovom sluaju odnosi se na injenicu nepostojanja kea u veini embedded sistema. Ke je inae baziran na lokalnosti pristupa podacima. Oni mogu servisirati veoma veliki procenat podatkovnog saobraaja, i time skratiti prosjeno vrijeme pristupa podacima. Meutim, ni jedan ke ne moe garantovati pogotke za sve pristupe podacima, stoga to ne mijenja najgori sluaj vremena pristupa. Ukoliko elimo uzeti u obzir real-time zahtjeve, scenario najgoreg sluaja se uvijek mora razmatrati. Zato se keevi obino izostavljaju iz embedded sistema.

    No Cache in Most Embedded Systems

    slika 5. Veina embedded sistema ne posjeduje ke S druge strane, imamo utedu u veliini sistema i koliini energije koja je potrebna za rad istog. Koliina energije je kritino dizajnersko pitanje za embedded sisteme, koji se napajaju na baterije. Resursi koji su na raspolaganju sistemu, limitirani su energetskim ogranienjima. Naprimjer, embedded sistemi ne mogu uveavati memoriju proizvoljno, jer onda se mora uveati i koliina energija koja napaja memorijske elije, a to je dizajnerski problem, jer se tie fizikih ogranienja samog sistema. Kao posljedeca ove injenice, imamo dizajnere koji su minimalisti. Naprimjer, veina embedded sistema koriste serijske I/O portove umjesto paralelnih. Prednosti u koritenju serijskih portova su u tome, to oni zahtjevaju manje izlaznih pinova, to reducira potrebnu koliinu energije. Takoer, serijski portovi su jednostavniji za dizajnirati, i mogu transmitovati podatke na vee udaljenosti. Iako serijski portovi, jedva da mogu parirati propusnosti koju obezbjeuju paralelni portovi, veina aplikacija svoje potrebe zadovoljava upotrebom serijskih portova. U veini sluajeva UARTs (Universal Asynchronous Receiver/Transmitter) se koriste sa serijskim portovima. UARTs konvertuju paralelne izlazne podatke iz procesora u serijski tok bita i prosljeuju ih do serijskog porta. Takoer, obavljaju i funkciju konverzije serijski u paralelno za ulazne podatke. Iz procesorske perspektive, podatkovna komunikacija se obavlja u bajtima. REAL-TIME OPERATIVNI SISTEMI Kako se trite iri, a nove funkcionalnosti i servisi se ugrauju u postojee sisteme, tako raste i sloenost embedded sistema. Dananje trite, savremenim sistemima, razvijalo se od 8-bitnih procesora koritenih prije trideset godina, pa do 16-bitnih i 32-bitnih mikroprocesora, karakteristinih za dananjicu. Takoer, i veliina memorije raste kako bi zadovoljila potrebe, dugakih aplikacijskih kodova. Nadalje, to je vea konkurencija na tritu, vrijeme potrebno za razvoj sistema je sve manje. Ova kombinacija, poveane sloenosti i kraeg vremena za razvoj, dovela je dizajnere do rjeenja koje ukljuuje

    7

  • komercijalne RTOS-e (Real-Time Operating Systems). Real time operativni sistemi nude dizajnerima embedded sistema znaajnu podrku na nain utede vremena u produkcionom ciklusu. Korist od RTOS-a direktno se preslikava u profit. Stoga je primjetan trend porasta broja RTOS-a, koji se koriste u embedded sistemima. Kao i kod operativnih sistema opte namjena, tako i kod real-time OS-ova obezbjeene su funkcionalnosti kao to su multitasking, meuprocesna komunikacija (IPC), rasporeivanje procesa (process scheduling), etc. RTOS-i nude efikasne algoritme i maksimalnu optimizaciju za navedene servise. Multitasking je vjerovatno najvanija karakteristika real-time operativnih sistema. Omoguavajui paralelno izvravanje nekoliko taskova, za razliku od sekvencijalnog izvravanja, RTOS-i nude bri zavretak zadataka. esto se deava da se jedan task izvrava odreeni period vremena, a nakon toga odreeni period eka na input. Dok jedan task eka, drugi task moe iskoristiti slobodni CPU. Isprepliui taskove, OS poveava period koji procesor provodi u korisnom radu. Efikasnim rasporeivanjem OS moe da reducira cjelokupno vrijeme potrebno za izvravanje nekoliko taskova. Meutim, da bi pratio nekoliko taskova u isto vrijeme, OS mora biti uslonjen. Sviovanje izmeu taskova, takoer poznato pod pojmom context switching, se deava u najmanju ruku, ponekad. To je skupa operacija, zato to se sve informacije o tekuem tasku u CPU registrima, moraju sauvati, a informacije o novom tasku treba da se kopiraju u registre. Kada task oslobodi CPU, OS-u je potreban nain da pronae sljedei slobodan task, kojem bi dodijelio CPU. Za ovo je potreban task scheduler, koji je srce operativnog sistema. Meutim ovi procesi i procedure predstavljaju overhead, neiskoriteno vrijeme. Naprimjer, kada se desi context switch, vrijeme potroeno za to se dodaje na period vremena za izvravanje korisnikih taskova, pa je to overhead. Zavisno od aplikacije, context switch moe predstavljati veliki overhead koji umanjuje dobre performanse sistema. Jedan od naina da se reducira overhead nastao u RTOS-u, definitivno podrazumijeva nova hardverska rjeenja.

    Na slici 8. prikazan je ematski prikaz context switching-a. Kada se izvravanje taska P0 prekine (npr. interaptom ili sistemskim pozivom), operativni sistem pohranjuje informacije o tasku iz registara u strukturu podataka koja se zove PCB0 (Process Control Block), a nakon toga upisuje sadraj PCB1-a (drugog taska P1) u registre, koji preuzima CPU, dok za to vrijeme, P0 moe koristiti neki drugi resurs npr. I/O

    usluivanje itd. slika 6. CPU Switch From Process to Process

    8

  • KRATKI PREGLED RAZVOJA EMBEDDED SISTEMA "...I believe that this nation should commit itself to achieving the goal, before this decade is out, of landing a man on the Moon and returning him safely to the Earth. No single space project in this period will be more impressive to mankind, or more important in the long-range exploration of space; and none will be so difficult or expensive to accomplish..." (Excerpt from president Kennedy's "Special Message to the Congress on Urgent National Needs") Historija embedded sistema je usko vezana uz historijski razvoj raunara uopte. Zbog toga je vrlo teko uoiti neku otru historijsku razliku izmeu to dvoje. Ipak, izdvojena su neka od historijskih deavanja kljuna za razvoj embedded sistema.

    Integrisana kola i miniraunari

    Prvi embedded sistemi su se pojavili 1960-tih godina. Radilo se tanije o mini-raunarima, koje su proizvodile kompanije kao sto su DEC (Digital Equipment Corporation) i IBM (International Business Machines). Naime, otkriem tehnologije integrisanih kola 1959. godine od strane Robert Noyce-a i Jack Kilby-a, omogueno je postojanje mini-raunara, koji su se koristili najvie za naune primjene i u administraciji. Tako je 1965. godine firma DEC predstavila model PDP-8, 12-bitnu mainu koja je svojom niskom cijenom pokrenula masovniju upotrebu raunara, izmeu ostalog i u upravljanju industrijskim postrojenjima u realnom vremenu. Tih godina razvijeni su i ostali modeli mini-raunara kao npr. PDP-11, PDP-14, IBM/360 itd.

    Apollo program i Apollo Guidance Computer

    Prvi prepoznatljivi embedded sistem je bio Apollo Guidance Computer (AGC) kojeg je razvio Charles Stark Draper i MIT Instrumentation Laboratory u svrhu koritenja u Apollo programu. Apollo program je bio istraivaki program SAD-a sa ciljem ovjekovog sigurnog leta na Mjesec od 1960. do 1970. godine. Iako zaet jo u Eisenhower-ovoj administraciji, Apollo program pokrenut je obraanjem kongresu amerikog predsjednika Kennedy-ja 21. maja 1961. godine i oznaen je jednim od njegovih primarnih ciljeva. Nakon to je kao cilj svemirskih istraivanja postavljen Mjesec, planeri misije Apollo bili su suoeni sa izazovom dizajniranja plana leta sa minimalnim rizicima po ivote ljudi, trokove, sa zahtjevima za tehnologijom i strunou astronauta. AGC je napravljen da upravlja Apollo svemirskom letjelicom koja se sastojala iz vie modula koji su radili zajedno na ispunjenju misije sigurnog sputanja na Mjesec i vraanja na zemlju. AGC je imao 2MHz frekvenciju sata i 16-bitnu rije. Imao je etiri 16-bitna registra generalne namijene koji su se zvali centralni registri: A akumulator, Z program counter (koji sadri adresu naredne instrukcije), Q sadri ostatak pri dijeljenju kao i povratnu adresu prilikom instrukcija skoka i LP sadri manji produkt kod instrukcija mnoenja. Postoji jo odreeni broj dodatnih registara koji se koriste interno tokom izvoenja operacija, a koje

    9

  • neemo objanjavati kao to su: 12-bit memory address register, 4-bit memory bank register, 4-bit sequence register, 16-bit memory buffer register itd. Instrukcijski set prve verzije AGC-a se sastojao iz 11 instrukcija koje takoer neemo navoditi i objanjavati, a koji je ukljuivao instrukcije sabiranja, oduzimanja, mnoenja, dijeljenja, uslovnog i bezuslovnog skoka, storiranja sadraja registra u memoriju, punjenja sadraja memorijske lokacije u registar, zamjene sadraja registara sa sadrajem memorijske lokacije, manipulacije nizovima, rad sa interaptima, kao i instrukciju logikog AND-ovanja sadraja registra i memorijske lokacije. Format instrukcije je bio 3 bita za opcode i 12 bita za adresu. Druga verzija AGC-a je dizajnirana 1966. godine i zadrala je osnovnu arhitekturu prve verzije sa neto veom memorijom i proirenim instrukcijskim

    setom na 34 instrukcije. Apollo program je ukljuivao 11 letova oznaenih kao Apollo7 do Apollo17 lansiranih iz Kennedy Space Centra u Floridi. Cilj je bio ispunjen misijom Apollo 11, kada je 20. jula 1969. godine oko 500 miliona ljudi na svojim prijemnicima moglo vidjeti etnju Neil-a Armstronga (jednog od lanova posade Apolla 11) po Mjesecu.

    slika 7. Apollo Guidance Computer

    Minuteman missile guidance computer

    Prvi embedded sistem koji se masovno proizvodio bio je upravljaki kompjuter za Minuteman missile razvijen takoer 1960-ih godina. Kao i AGC koristio je integrisana kola i bio njihov prvi veliki korisnik. Minuteman I i II su bili ameriki nuklearni projektili. Ovi projektili su imali dvije znaajne inovacije: pouzdan rocket booster, i digital flight raunar. Ovaj kompjuter za navoenje je takoer bio jedan od prvih prepoznatljivih embedded sistema. Pouzdani rocket booster je inio Minuteman brim za lansiranje od drugih projektila, a digital computer je bio esencijalan u postizanju tanosti koja je inila ovo oruje efektnim. Minuteman flight computer koristio je magnetni disk velicine 4KB kao primarno mijesto smijetanja podataka i za razliku od modernih raunara ovo je bila aktivna memorija. Da bi se ubrzao pristup, firma Autonetics Division, koja je inae proizvodila male raunare koji su koristili disk kao memoriju, razvila je specijalni softver koji je optimizirao smijetanje instrukcija na disku. Tokom godina i nakon razliitih poboljanja ovog kompjutera uvedena je i RAM memorija otporna na radijaciju. Osnovna osobina dizajna Minuteman kompjutera bila je da je algoritam navoenja mogao biti kasnije reprogramiran da bi se projektil uinio tanijim.

    10

  • Pojava mikroprocesora

    Tokom 1970-ih godina pojavila su se integrisana kola visokog stepena integracije to je omoguilo i pojavu mikroprocesora tj procesora u ipu, bez kojih se napredniji embedded sistemi ne bi mogli zamisliti. 1971. godine Intel je predstavio prvi mikroprocesorski ip na svijetu. Ovaj ip, 4004, je bio dizajniran za upotrebu u liniji poslovnih kalkulatora proizvedenih od japanske kompanije Busicom. Kao sto je ve poznato, 1968. godine, Robert Noyce, Endy Grove i Gordon Moore su napustili Fairchild i osnovali svoju firmu Intel, sa namjerom da proizvode integrisana kola. U 1969. godini, Busicom je trazio od Intela da razvije set integrisanih krugova na jednoj tampanoj ploi, u svrhu dovrenja projekta elektronskog kalkulatora, i to po jedan za svaki od njihovih modela. Intelov odgovor je bio 4004. Umjesto dizajniranja zasebnog hardvera za svaki kalkulator, Intel, tanije Ted Hoff je doao na ideju da napravi jedno integrisano kolo opte namjene koji bi se mogao koristiti kroz cijelu liniju kalkulatora tj. 4-bitni raunar u ipu koji bi se mogao programirati da radi kao kalkulator. Ovaj general-purpose procesor je bio dizajniran da ita i izvrava set instrukcija storiranih u eksternom memorijskom ipu. Intelova ideja je bila da je softver taj koji bi dao svakom kalkulatoru njegov jedinstven skup osobina. Tako je nastao Intel 4004 prvi mikroprocesor koji je imao 2300 tranzistora i 4KB memorije. Nakon to je Intel otkupio nazad prava na svoj dizajn od Busicoma 1971 godine poeo je prodavati procesor na tritu, a godinu kasnije pojavila se i 8-bitna verzija istog sa 16KB memorije. Mikroprocesor je bio veliki i znaajan uspjeh i njegova proizvodnja i upotreba su rasli u sljedeoj dekadi. Pojavljivale su se sve novije verzije mikroprocesora bez kojih embedded sistemi ne bi bili mogui. Rane embedded aplikacije ukljuivale su svemirska ispitivanja, kompjuterizovane semafore i sisteme za kontrolu leta aviona.

    Pojava mikrokontrolera

    Godine 1975. pojavio se pojam mikrokontrolera. Podsjeanja radi, mikrokontroler je ureaj koji integrira komponente i sve potrebne funkcije mikroprocesorskog sistema na jedinstvenom ipu: npr. 8-bitnu CPU, jedan ili vie timera, interupt kontroler, serijsku komunikaciju, memoriju, I/O itd. Pojednostavljeno reeno, to je kompjuter ugraen na jednom ipu. Dakle, potrebno je uoiti razliku izmeu mikroprocesora i mikrokontrolera, a ona se sastoji u funkcionalnosti. Naime, da bi mikroprocesor bio koriten, moraju mu se dodati i druge komponente kao to su memorija i periferali, dok je mikrokontroler dizajniran da bude sve to na jednom ipu i nisu mu potrebne ove druge eksterne komponente da bi funkcionisao jer sve potrebne periferale ima ugraene u sebi. Mikrokontroleri imaju jako veliku primjenu, pa tako u dananjim PC-jevima mogu se nai unutar tastatura, modema, printera i drugih periferala. esto se kae da je drugi termin za mikrokontroler ustvari embedded controller, jer je on obino ugraen (embedded) u ureaje koje kontrolie. U svom januarskom izdanju 1975.godine, asopis Popular Electronics objavio je lanak koji opisuje Altair 8800 kompjuter, koji je bio prvi mikrokompjuter (mikrokontroler). Imao je u sebi 8080 mikroprocesor i 1K RAM-

    11

  • a, a cijena mu je bila 397$. Prekretnica u njegovom koritenju desila se kada je Microsoft (tada mala kompanija) ponudio za njega jednu verziju programskog jezika BASIC.

    Pojava DSP ipa U 1980-im pojavile su se prve RISC arhitekture koje donose znaajna poboljanja performansi i dominaciju mikroprocesorski baziranog dizajna raunarskih arhitektura. Godine 1985. pojavio se DSP (Digital Signal Processing) ip, koji je namijenjen, kao to i samo ime kae, za operacije procesiranja signala, a imao je specijalnu arhitekturu i instrukcije. DSP-ovi su obino orjentisani da registruju podatke iz stvarnog svijeta, a prvi koraci su napravljeni u 4 kljune oblasti: radar i sonar, (pod pokroviteljstvom Pentagona za nacionalnu sigurnost); eksploatacija nafte gdje su velike sume novca bile u pitanju; istraivanje svemira, gdje su podaci neodvojivi dio svega, i medicina. Danas DSP ima veliki znaaj i koristi se u komercijalne svrhe kao sto je: mobilna telefonija, CD play-eri, kompresija slike i electronic-voice pota itd.

    PC/104 konzorcijum Embedded sistemi su naroito napredovali u razvoju 1992. godine, kada su Ampro, RTD, i drugi proizvoai osnovali PC/104 konzorcijum i standard. Ovaj konzorcijum je sada proiren na preko 100 kompanija irom svijeta i ima pozitivan efekat na triste embedded sistema. Inicijalne PC/104 specifikacije u martu 1992. godine su bile u obliku jednog otvorenog dizajna koji je nudio fleksibilnost jednog IBM kompatibilnog PC-a u veliini koja odgovara za embedding. Ova grupa je ustanovila format za Intel mikroprocesore baziran na ploi koja je oko 4 ina duine i irine, a debljine nesto ispod jednog ina. Ustanovljene su verzije i ostalih komponenti PC-a optimiziranih za jedinstvene embedded potrebe. PC/104 je inicijalno ciljao na vojna i medicinska trita, gdje je i bio u irokoj upotrebi. Kada je procesorska mo dovoljno porasla da se podre multimedijalne aplikacije, PC/104 bazirani dizajni su postali mogui i uobiajeni. Danas, ivimo u vremenu kada termin embedded uveliko postaje sve popularniji. injenica je da su embedded sistemi prisutni svuda oko nas i da polako mijenjaju nain naeg ivota. Podruja primjene i broj raznih embedded sistema su, kao to smo ranije vidjeli, jako veliki i sigurno e se poveavati i dalje.

    12

  • OSNOVNE KARAKTERISTIKE EMBEDDED SISTEMA U jednoj od prethodno navedenih definicija rekli smo da embedded sistemi predstavljaju kombinaciju hardvera i softvera u nekom sistemu, kako bi izvravali neku specifinu funkciju. U nastavku dajemo uobiajene karakteristike embedded sistema, koje se mogu nai kod veine embedded sistema:

    Mali su, a ima ih mnogo (Small and Many)

    Milijarde komada se proizvede godinje za razliku od miliona proizvedenih desktop raunara. To je po nekim procjenama 50 komada po jednom domainstvu, koje izmeu ostalog posjeduje i automobil.

    Niske cijene

    (Extreme Cost Sensitivity) Cijena je glavni faktor kod mnogih embedded sitema. Cijene su jako niske, to utie i na gore navedenu karakteristiku, rasprostranjenosti i fizikih dimenzija samog sistema, s obzirom da dizajneri moraju voditi rauna o memoriji, periferalama itd.

    slika 8. Lots more of these, though they cost a lot less each.

    Izvravanje jedne funkcije (Single-functioned)

    Realizacija specifine funkcionalnost odnosno namjene.

    Usko-ogranieni (Tightly-constrained)

    Niske cijene, mala potronja, mala veliina, brzina. Tipina ogranienja kod embedded sistema su sljedea: a) Mala veliina i teina (Small Size, Low Weight):

    Veliki broj embedded sistema su hand-held ureaji, koji su prenosivi. b) Mala potronja energije (Low Power):

    Zahtjevaju malu potronju elektrine energije. Najei izvor energije su baterije koje traju 8+ sati.

    c) Nestabilno okruenje (Harsh environment): Nestabilno okruenje koje se odlikuje energetskim fluktuacijama, vibracijama, promjenama temperature, korozijama (voda i vlaga) , fizikim zloupotrebama.

    d) Sigurnosno-kritina operacija(Safety-critical operation): Must function correctly! Must not function incorrectly!

    13

  • Reaktivnost i izvravanje u realnom vremenu (Reactive and real-time)

    Odreene operacije moraju biti izvrene u realnom vremenu, to je esto povezano i sa gore navedenim sigurnosnim ogranienjem. Naveli smo prethodno primjer Control flight sistema u avionima, i neeljenim posljedicima koje se mogu dogoditi ukoliko operacije nisu izvrene u definisanim vremenskim periodima. Karakteristika izvrenja u realnom vremenu se moe posmatrati iz dvije perspektive, hard real time i soft real time izvravanje:

    a) Hard real time izvravanje. Ukoliko doe do prekoraenja vremenskog

    ogranienja, doi e do destrukcije samog sistema ili do naruavanja sigurnosti okoline.Primjer:

    Control systems for aircraft/space probes/nuclear reactors; Refresh rates for video, or DRAM.

    b) Soft real time izvravanje. Ukoliko doe do prekoraenja vremenskog ogranienja, doi e do degradacije performansi sistema. Primjer:

    Laserski tampai mogu da imaju razliito vrijeme tampanja, bez ugroavanja sigurnosti. (Laser printer: rated by pages-per-minute, but can take differing times to print a page (depending on the "complexity" of the page) without harming the machine or the customer.) Televisions, DVD player or music system, multimedia streaming over Internet (where loss of some packets can be afforded).

    to se tie karakteristike reaktivnosti, objasnit emo je iz perspektive dvaju vrsta embedded sistema:

    a) Zatvoreni sistemi Nepreciznosti i nedosljednosti koje se deavaju prilikom izvravanja su

    vezane za jedan izvor. Uzrono-posljedine veze se lako mogu uspostaviti.

    b) Otvoreni sistemi Nepreciznosti i nedosljednosti su posljedica djelovanja vie razliitih

    izvora. Nepreciznosti i nedosljednosti nisu kontrolabilne od strane programera Nije mogue izvesti uzrono posljedine relacije

    slika 9. Reaktivnost u embedded sistemima (Zatvoreni i otvoreni sistemi)

    Reactivity in Embedded Systems (Closed and Open Systems)

    14

  • Kako se vremenom sloenost embedded sistema poveavala, tako su i oni poprimali nove atribute, koji se mogu okarakterisati kao pametni i inteligentni. Odnosno, ne samo da su embedded ureaji bili u stanju da obavljaju neki posao, nego su bili u stanju da ga pametno obave. Pa tako pored gore navedenih osnovnih karakteristika, u nastavku emo pobrojati karakteristike koje su vezane za jo nii nivo apstrakcije od gore navedenog, dakle za nivo koji se direktno tie optih karakteristika arhitektura embedded sistema:

    Nestandardnost ulaza i izlaza (Absence of Standard Input/Output Devices)

    PC ima standardne I/O ureaje poput tastature, mia i monitora na kojem moemo pratiti ta se deava unutar programa. Ali mnogi embedded sistemi nemaju ureaja kao to su ovi. Tako da programer ne moe direktno saznati ta se deava u sistemu. Ovaj faktor znaajno limitira mogunosti debagiranja na embedded sistemima.

    Procesiranje (Computational Power)

    Ovi ureaji posjeduju odreenu snagu procesiranja/obrade. Vrlo jednostavni 8-bitni kontroler ili sloeni 64-bitni mikroprocesor mogu da daju odreenu koliinu snage procesiranja.

    Memorisanje Memorija je sastavni dio embedded sistema, glavno skladite u kojem se podaci i korisnike preference pohranjuju.

    Komunikacija

    Ureaj mora biti sposoban primiti input od korisnika (bio ovjek ili neki drugi ureaj ili signal iz okoline), procesirati input, i vratiti nazad odreeni output.

    Dinamike odluke (Dynamic decisions)

    Sistem bi trebao biti u stanju da promjeni kurs aktivnosti, promjenom inputa iz vana. Ova karakteristika je usko povezana sa ve navedenim karakteristikama reaktivnosti i izvravanja u realnom vremenu.

    15

  • Sa navedenim karakteristikama su direktno povezane i fundamentalne komponente embedded sistema, o kojima smo neto kratko rekli u uvodnom poglavlju o modernim embedded sistemima:

    Pogon za procesiranje

    Ovo je jedan od prvih zahtjeva kod embedded sistema. Svi sistemi primaju neki input od korisnika ili iz okoline. Samo procesiranje se moe obaviti koritenjem mikroprocesora, hidraulikih kola ili jednostavnih elektrinih kola. I na kraju kao rezultat procesiranja, dobija se output.

    Environment

    User Input

    Desired Output

    Processing

    slika 10. Pogon za procesiranje Pitanje Zato svi Embedded Procesori nisu 32 bitni (da ne govorimo o 64 bitnim)?

    Odgovor Brzi ipovi su optimizirani za velike programe, a ne za programe koji se izvravaju u embedded sistemima. Sljedea ilustracija (slika 12.) daje odgovor na sutinu problema.

    slika 11. Najmonije rjeenje, nije uvijek najbolje (The Most Powerful Solution Isn't Always The Best Solution)

    16

  • Procesorska logika koja je uobiajeno oiena na ipu ili druga elektrina kola imaju tendenciju eksponencijalnog razvoja tako da su danas veoma kompleksna pa je realizacija same funkcionalnosti kod nekih sistema gotovo nezamisliva bez softvera. Uobiajena praksa je da se oie tzv. zrele osobine sistema u hardveru, a softver se koristi kako bi se implementirale karakteristike koje se/e dalje razvijaju/razvijati. Kao to smo rekli i ranije, sam input u sistem, moe biti i vanjski podraaj iz okoline, npr. friider ili air condition posjeduju funkcionalnosti kao to su odmrzavanje, cirkulacija zraka, kontrola temperature itd. Neki napredni friideri imaju mogunost uklanjanja neprijatnog mirisa. Da bi se izraunali, procesirali i regulisali razliiti parametri, sistemu moe biti potrebno nekoliko nivoa procesiranja (computing power). Zavisno od nivoa procesiranja izabere se odreeni mikrokontroler.

    Memorija

    Memorija je veoma dragocjen resurs. U mnogim sistemima, potrebno je ostaviti prostora za buduu ekspanziju sistema. Kod embedded sistema ne moemo priutiti slotove kao kod PC-a, zbog dizajnersko-hardverskih ogranienja o kojima smo govorili prilikom nabrajanja uobiajenih karakteristika embedded sistema. Zato je memorija resurs s kojim je potrebno posebno paljivo postupati. Naprimjer, algoritmi koji koriste ogromnu koliinu memorije treba da se ignoriu, osim kada je to zaista neophodno. Mnogi embedded sistemi nemaju hard niti flopi disk. Upotreba sekundarne memorije nije mogua kod mnogih embedded sistema. Tako da ovi sistemi imaju preteno ROM i postojani RAM gdje su pohranjeni kod i korisnike preference. Neki programi se ne gase i imaju tendenciju vjeitog izvravanja. U sluaju nekog specijalnog tipa sistema, kada se dogode fatalne greke, embedded sistemi implementiraju watchdog timere, koji jednostavno resetuju sistem.

    Realno vrijeme izvravanja

    Sistem moemo definisati kao kolekciju sabsistema ili komponenti koje reaguju na korisnike inpute, signale iz okoline, ili od samog sistema (timer-i). Naravno, postoji period vremenskog kanjenja izmeu unoenja inputa, i odgovarajueg odgovora sistema. U bilo kojem sistemu, prirodno je oekivati neki odgovor u predefinisanom odnosnom oekivanom vremenskom intervalu. Ali postoje sistemi kod kojih postoje veoma striktna (ne nuno kratka) vremenska ogranienja. Ovi sistemi se nazivaju real-time sistemi, o ijim osobinama smo govorili prilikom definisanja osnovnih karakteristika embedded sistema. Najbolje je okarakterisati ove sisteme frazom: A late answer is a wrong answer.

    A Late Answer Is A Wrong Answer

    slika 12. Princip na kojem se baziraju Real-time sistemi

    17

  • Kao to smo ranije naveli, karakteristika izvravanja u realnom vremenu kod embedded sistema se moe sagledati iz dvaju uglova, hard-real time i soft real time izvravanje, pa se tako real time sistemi i dijele na hard real time i soft real time sisteme. Real-time sistemi se takoer mogu klasificirati i kao brzi i spori sistemi zavisno od vremenskog ogranienja potrebnog za izvravanje operacije. Koncept determinizma je usko povezan sa konceptom izvravanja u realnom vremenu. To je vrlo vaan koncept koji razgraniava programiranje za potrebe izvravanja u realnom vremeno od obinog programiranja. Real-time sistem je taj koji se ponaa predvidivo, poto daje odgovor u predvienom intervalu. Dakle, vremenski interval izmeu inputa i outputa trebao bi da bude deterministiki odnosno predvidiv. Drugim rijeima, sistemski zahtjevi treba da su u saglasnosti sa izvravanjem u predvienom vremenskom periodu. Real-time operativni sistemi su dio mnogih embedded sistema kod kojih je izraena karakteristika reaktivnosti, izvravanja u realnom vremenu i donoenja dinaminih odluka. U uvodnom dijelu smo posvetili poglavlje real-time operativnim sistemima. Njihov znaaj se ogleda u injenici da RTOS-i zamjenjuju mnoge funkcionalnosti sistema, koje su se mogle realizovati i hardverski.

    Ulazno-izlazni ureaji i komunikacijski elementi Ulazno izlazni ureaji kod embedded sistema su najee senzori ili prekidai i aktuatori. Kako je trend razvoja embedded sprava u usponu, iste ne mogu vie da budu izolirana ostrva za obradu i procesiranje. Sve vie se javlja potreba za meusobnom komunikacijom kako bi obavili najrazliitije operacije koje zahtijeva korisnik. Komunikaciju je mogue uspostaviti razliitim beinim mrenim protokolima kao to je Bluetooth, Wirless LAN itd. Komunikacijski elementi dodaju inteligenciju jednostavnim real-time embedded sistemima.

    Postoji nekoliko osnovnih tipova operacija koje su implementirane u embedded sistemima:

    Kontrola, koja podrazumijeva PID kontrolu, druge kontrolne pristupe, fazi logiku. Sequencing logic, koja ukljuuje automate sa konanima stanjima, modove za

    sviovanje kontrola.

    Procesiranje signala, odnosni se na kompresiju multimedijalnih podataka i digitalno filtriranje, signal-processing algoritmi itd.

    Obezbjeivanje specifinih aplikacijskih interfejsa (dugmad, lampice, svjetla,

    alarmi, brzi I/O...)

    Oporavak od greaka (detekcija i rekonfiguracija, dijagnoza)

    18

  • PRIMJER: BLOK DIJAGRAM KONTROLNOG EMBEDDED SISTEMA -DIZAJNERSKI POGLED-

    Na sljedeoj slici je prikazana mogua organizacija embedded sistema. Pored CPU-a i memorijske hijerarhije (standardne komponente), postoji i mnotvo raznih interfejsa koji omoguavaju sistemu da mjeri, manipulie ili pak komunicira sa eksternim okruenjem. Na slici 13. dali smo detljniji opis komponenti koje predstavljaju razliku u odnosu na desktop raunare kao to su human interface, diagnostic tools, FPGA, ASIC, softver specifian za dati sistem itd.

    slika 13. Dizajnerski pogled na embedded kontrolni sistem

    .

    *Skraenica FPGA (Field-Programmable Gate Array), seodnosi na tip ipa koji se moe programirati. FPGA je slianPLD-u, ali su PLD-ovi limitirani na stotine gejtova, zarazliku od FPGA-ova koji podravaju hiljade gejtova.Posebno su popularni u prototipiranju dizajna IC kola.

    Posao prevoenja analognog u digitalni signal vri A/D konvertor, a obrnuto radi D/A konvertor.

    Softver obino ima jedins- tvenu funkciju, specifian je za odreenu namjenu

    Human interface, moe da bude poput jednostavne lampice, pa do kompl- iciranih robotskih zamisli.

    Diagnostic tools mogu da se koriste za utvrivanje dijagnoze sistema koji se kontroliene samo za dijagnozu raunara.

    Namjensko-programabilni (FPGA*), aplikacijsko-specifini (ASIC), ili ak nedigitalni hardware moe da se koristi kako bi se poveale performanse, sigurnost.

    (An Embedded Control System Designers View)

    19

  • TRI KLJUNE EMBEDDED TEHNOLOGIJE

    Prije nego to kaemo o kojim tehnologijama je rije, navest emo definiciju tehnologije, kao bazni element za dalje izlaganje materije na ovu temu. Def. Tehnologija je nain za rjeavanje zadatka odnosno postizanje zadatog cilja, koristei se posebno tehnikim procesima, metodama i znanjem. (Technology is a manner of accomplishing a task, especially using technical processes, methods, or knowledge.) Tri kljune tehnologije za embedded sisteme su:

    Integrisana kola Procesorske tehnologije Alati za dizajn, dizajnerske tehonologije slika 14. Tehnologije embedded

    sistema (Embedded System Technologies)

    Pod dizajnerskim tehnologijama podrazumijevamo naine na koje se koncept funkcionalnosti eljenog sistema konvertuje u samu implementaciju. Neki od alata za dizajn u domenu hardvera su: logika sinteza, simulatori, place and route, a u domenu softvera kompajleri, linkeri, debageri i asembleri.

    Tehnologija integrisanih kola je nain na koji se digitalna implementacija (gate-level) mapira na IC (integrisano kolo-ip). IC tehnologije se razliku u svom prilagoavanju prema dizajnu. ipovi se sastoje od mnotva lejera/nivoa, pa se IC tehnologije razlikuju i po tome za koju svrhu i kada se gradi koji lejer/nivo.

    IC IC package

    gate

    oxide

    channel drain

    Silicon substrate

    source

    slika 15. Mapiranje tranzistora na integrisano kolo

    20

  • Navest emo tri tipa IC tehnologija:

    Full custom/VLSI podrazumijeva da su svi lejeri optimizirani za specifinu digitalnu implementaciju za embedded sistem (placing tranzistors, sizing tranzistors, routing wires).

    Semi-custom ASIC (gate array and standard cell) podrazumijeva da su nii lejeri

    potpuno ili djelomino izgraeni. Dizajerima je ostavljeno, rutiranje ica i moda rasporeivanje/placing pojedinih blokova.

    PLD (Programmable Logic Device) podrazumijeva da svi lejeri ve postoje.

    Dizajneri mogu nabavljati ipove (IC kola). Konekcije na ip su ili kreirane ili unitene kako bi se implementirala eljena funkcionalnost. Veoma je popularan FPGA (Field-Programmable Gate Array).

    Procesorska tehnologija se odnosi na arhitekturu computation engine-a (pogona za procesiranje) i koristi se za implementaciju eljene funkcionalnosti. Procesori ne trebaju biti programabilni. Prisutna je predrasuda da se procesor poistovjeuje sa procesorima opte namjene.

    Application-specific

    register

    General-purpose (software)

    Data memory

    Control logic and

    State register

    Assembly code for:

    total = 0 for i =1 to

    Program memory

    Controller Datapath

    General ALU

    Register file

    PC IR

    +

    total

    index

    Data memory

    State register

    Control logic

    Controller Datapath

    Single-purpose (hardware)

    PCIRData

    memory

    Control logic and

    State

    Program memory

    Assembly code for:

    total = 0 for i =1 to

    Controller Datapath

    Custom ALU

    Registers

    slika 16. Razliiti tipovi procesora

    21

  • Procesori opte namjene (general-purpose) su programabilni ureaji koji se koriste u mnotvu aplikacija. Takoer su poznati i kao mikroprocesori. Odlikuju se visokom fleksibilnou. Pentijum je najpoznatiji primjer, iako postoje jo stotine drugih.

    Single-purpose procesori su digitalna kola dizajnirana da izvravaju tano jedan

    program (koprocesori, akceleratori, periferale). Sadri komponente samo potrebne za izvravanje jednog programa i ne posjeduju programsku memoriju.

    Application-specific procesori su programabilni procesori optimizirani za tano

    odreenu klasu aplikacija koje imaju zajednike karakteristike. Moemo ih posmatrati i kao kompromis izmeu general-purpose i single-purpose procesora. Posjeduje posebne funkcionalne jedinice i optimizirani put podataka.

    slika 17. Procesori variraju u odnosu na problem za ije rjeavanje su namijenjeni (Processors vary in their customization for the problem at hand)

    ANALIZA TRENDOVA U RAZVOJU EMBEDDED SISTEMA Jedno poglavlje seminarskog rada emo posvetiti analizi trendova u oblasti embedded sistema, te buduim predikcijama u ovoj oblasti. Radi se o sljedeim trendovima:

    Trend koritenja embedded procesora u usporedbi sa trendom koritenja PC procesora

    Trend u tehnologiji izrade komponenti Trend cijena

    22

  • Navedeni trendovi (zajedno sa drugim trendovima) vladaju generalno u oblasti raunara, a kako su i embedded sistemi po svojoj prirodi raunarski sistemi, isti trendovi su direktno primjenljivi i utiu i na embedded sisteme. Trend koritenja raunara i mikroprocesora openito, je u stalnom porastu, pogotovo od 80-tih godina kada su se pojavile RISC arhitekture. Nakon izlaska na trite, od polovine 80-tih, njihove performanse rastu za 50% godinje, to ima kao posljedicu injenicu da korisnici dobijaju znatna poboljanja performansi i dominaciju mikroprocesorski baziranog dizajna. Ako sada u okviru ovog trenda posmatramo embedded procesore i embedded sisteme (koji su dizajnirani da obavljaju specifine funkcije, a najee su 8-bitni ili 16-bitni, ponekad 32-bitni) i zajedno sa njima PC procesore (koji su danas 32-bitni i 64-bitni), moemo rei da trend koritenja embedded sistema i embedded procesora raste puno bre nego isti kod upotrebe PC-jeva i PC procesora. Kao to smo ranije obrazloili, embedded sistemi ine vaan i nezamjenjiv dio naeg svakodnevnog ivota, a lista primjera embedded sistema je jako velika i ini se neizbjenim da e se njihov broj rapidno poveavati. Trend koritenja (samim tim i prodaje) embedded procesora moe se predstaviti u obliku eksponencijalne krive. Na primjer, slijedea slika opisuje marketinke projekcije prodaje embedded procesora u usporedbi sa PC procesorima.

    slika 18. Marketinke projekcije prodaje embedded procesora u usporedbi sa PC procesorima

    Moe se uoiti da je u 1996-oj godini prodaja embedded procesora bila neto malo vea od polovine prodaje PC procesora. U 1997-oj, prodaja embedded sistema se ve izjednaila sa prodajom PC procesora i pokazuje mnogo vei tempo rasta. Nasuprot tome, PC procesori pokazuju samo ravnomjeran i postepen rast.

    23

  • Neke od pokretakih sila ovako brze ekspanzije trista embedded procesora odnose se na:

    Produktivnost i irenje kompjuterskih tehnologija u tradicionalno nekompjuterska podruja npr. u oblasti automobilske industrije

    Veliki napredak u oblasti VLSI tehnologije Tendencije ka zamijeni procesiranja analognog signala (analog signal

    processing-a) sa procesiranjem digitalnog signala (digital signal processing-om)

    Neki eksperti u svojim radovima naglaavaju da ljudi obino nisu ni svjesni ogromne upotrebe embedded sistema jer esto kada spominjemo mikroprocesore nastojimo, moda po nekoj navici, misliti na Intelovu familiju mikroprocesora (recimo 80x86 i novije) i na njegove bive konkurente kao to su IBM, PowerPC, Digital Alpha, Sun UltraSparc, MIPS itd. Dizajnirani primarno za trite desktop raunara, Intelovi procesori su dominirali i jo uvijek uz AMD dominiraju na tom polju. Fokusirajui se na trite desktop raunara, kako navode neki autori, moda se zapostavila jo jedna vana stvar u mikroprocesorskom dizajnu, a to su upravo embedded CPU-i. David Patterson navodi sljedee:

    Intel specializes in designing microprocessors for the desktop PC, which in five years may no longer be the most important type of computer. Its successor may be a personal mobile computer that integrates the portable computer with a cellular phone, digital camera, and video game player Such devices require low-cost, energy-efficient microprocessors, and Intel is far from a leader in that area. Da bi smo gore navedeno intuitivno pribliili itaocu u nastavku emo navesti jedno slikovito poreenje koje je napravio Jim Turley, priznati autoritet u oblasti mikroprocesora, kompjutera i silikonske tehnologije, autor sedam knjiga i mnogih lanaka u strunim asopisima u vezi poslovnih i tehnolokih trendova u oblasti poluprovodnike i mikroprocesorske industrije, a radio je i kao urednik prestinog magazina Microprocessor Report. On kae: Veinu ivih bia na zemlji ine insekti. Statistiki gledano, postoji vie vrsta insekata nego svih drugih oblika ivota zajedno. Tako sisari ine samo 0.03% od ukupnog broja vrsta na planeti. Da se vratimo na procesore. Ako pitate prijatelja koji je najpopularniji mikroprocesorski ip na svijetu, ogromne su slika 19. ivot na Zemlji su insekti ( All Life on Earth Is Insects..).

    24

  • anse da e odgovoriti: Pentium. To je i razumljivo jer su Pentiumi dominantna vrsta u ivotu koji se zove triste desktop raunarima i gdje Intel ima veinski postotak profita. Meutim, stvari ba i ne stoje tako ukoliko se uzmu u obzir i embedded procesori. Pentium tada pokriva samo oko 2% od ukupnog broja prodatih mikroprocesora irom svijeta. Pentium je u ovom proirenom skupu mikroprocesora ono to su virusi ili gmizavci u skupu ivih bia na Zemlji. Insekti, apsolutno dominantna vrsta, predstavljaju embedded mikroprocesore. Na dijagramu koji slijedi je predstavljena prodaja mikroprocesora svih tipova na globalnom tritu, to potvruje gore navedenu priu o rasprostranjenosti embedded sistema.

    slika 20. Microprocessor Unit Sales Kao to se moe vidjeti, koliina prodatih 8-bitnih embedded ipova je puno vea u odnosu na ostale, a pogotovo 32-bitne mikroprocesore (koji se najvie koriste u dananjim PC-jevima) i ima stabilan porast. Prema nekim procjenama, ovi mikroprocesori se prodaju u koliini veoj od etvrtine milijarde ipova svakog mjeseca. To je po jedan novi 8-bitni mikroprocesor za svakog ovjeka u SAD-u svakog mjeseca. Ovakvi podaci ne trebaju uditi jer je lista primjene embedded sistema i embedded procesora u njima, kako smo ve vidjeli, zaista ogromna. Iste procjene govore da prosjeno domainstvo u Americi sadri 40 do 50 mikroprocesora plus jo odreeni broj za svaki PC i novo auto. Tako ako je u pitanju Mercedes S klase na ovaj broj moete dodati jo 100 mikroprocesora koji se nalaze u ovom autu. Ve smo naveli da je jedan od razloga strahovito brzog rasta trenda koritenja i upotrebe embedded procesora njihova primjena, pored mnogih dijelova PC raunara, i u tradicionalno nekompjuterskim podrujima. Zato je na prethodnoj slici prikazan vei rast prodaje 16-bitnih procesora, a pogotovo 8-bitnih nego 32-bitnih. Kao jo jednu simpatinu ilustraciju velike ekspanzije embedded procesora navodimo dva citata:

    25

  • 1980: What in the world are you going to do with all those computers? It's not as if you want one in every doorknob!

    Danny Hillis, circa 1980

    1996: I realized last night that all the doorknobs in my hotel had computers in them.

    Guy Steele at 1996 CMU SCS commencement Trend u tehnologiji izrade komponenti savremenih raunarskih arhitektura je jo jedan vaan trend u ovoj oblasti. On pokazuje da gustoa pakovanja integrisanih kola raste za 50% godinje, a povrina ipova od 10 do 25%. To omoguava i rast broja tranzistora od 60 do 80%, pri emu i brzina rada sklopova raste priblino tome. Tehnologija izrade komponenti, koja se stalno razvija, je uz unapreenja u dizajnu, zasluna za bolje performanse, vie memorijskog i disk prostora dananjih PC-jeva. Ranije smo naveli da su veliki napreci u VLSI tehnologijama jedan od razloga i pokretaa ogromnog rasta koritenja embedded sistema. U tom smislu, jedan od najvanijih trendova u oblasti raunara uope, pa i kod embedded sistema je Moore-ov zakon, kojeg je Gordon Moore, jedan od osnivaa Intela, objavio jo 1965. godine. Moore-ov zakon kae da se broj integrisanih tranzistora na ipu poveava 2 puta svakih 18 mjeseci (1,5 godinu). Ovaj zakon predstavljen je na sljedeoj slici pratei Intel generaciju procesora.

    slika 21. Moor-ov zakon/Intel 2004.

    26

  • Moorov zakon se moe uporediti i sa jednim matematikim problemom, koji moemo definisati na sljedei nain: Problem Koliko mnogo predaka, imate Vi, u dvadesetoj generaciji Vaih predaka, otprilike godine 1500-te ? (U prvoj generaciji Vaih predaka imate dva pretka, to su roditelji, a drugoj, imate dvije nane i dvoje deda, dakle etiri pretka itd.) Odgovor 220 = vie od jednog miliona ljudi Ovaj nain procjene se moe primjeniti na Moorov zakon sa pitanjem koliko tranzistora moe stati u datom trenutku vremena na odreeni ip. Kako vrijeme prolazi, to je vei broj tranzistora, koji se svakih godinu i po dana uduplava. Problemi ovog tipa se nazivaju tzv. piramidalne eme u matematici. Pored trenda koritenja embedded sistema/procesora i trenda u tehnologiji izrade komponenti, o kojima smo do sada govorili, postoji jo jedan trend koji ima vanu ulogu kod svih raunarskih arhitektura pa tako i kod embedded sistema, a to je trend cijena. Na cijenu nekog proizvoda znaajno utie vrijeme provedeno na tritu. Vrijedi tvrdnja da tokom vremena cijena proizvodnje opada, a samim tim i konana cijena proizvoda. Kao primjer moemo navesti yield kod proizvodnje ipova. Yield je procenat, odnosno broj ispravnih ipova ili dobitak i on se neminovno poveava vremenom. Udvostruenje yielda implicira pad cijene proizvodnje za 50%. Jednu takvu krivu koja opisuje pad cijene proizvodnje tokom vremena moemo predstaviti kao na sljedeoj slici:

    slika 22. Pad cijene proizvoda tokom vremena

    27

  • Sa slike vidimo da se tokom perioda od 2 godine nakon proizvodnje ipa, njegova cijena reducirala za oko 50%. Upravo tada je slijedea generacija ipova zapoela proizvodnju i izlazak na trite. Moe se zakljuiti da ipovi postaju jeftiniji upravo u vrijeme kad zastarijevaju na tritu. Na cijenu proizvoda utie i masovnost proizvodnje tako da masovna proizvodnja ipova ini ovakvu krivu jos strmijom, to znai bru i veu redukciju ukupne cijene. Tako neki embedded sistemi imaju niske cijene jer masovno koriste odreenu vrstu ipova (koji su proizvedeni u velikim koliinama) ili neki hardver koji je malo zastario a dobro slui specijalnoj funkciji koju oni obavljaju i gdje nema potrebe za nekom novijom skupljom tehnologijom. Upravo je cijena jedna od glavnih razlika izmeu embedded procesora i PC procesora. Cijena embedded procesora je manja, pored gore navedenog razloga, i zbog toga to je ip za ovakve procesore, koji imaju specijalnu namjenu, mnogo manji nego u sluaju glavnog mikroprocesora dananjih PC raunara (a funkcionalnost je visoka). Naime, manji ip zauzima manje wafer prostora, to znai vie sirovih ipova po waferu. To takoer znai i bolji yield tj. vie dobrih ipova po waferu, a kako smo ve rekli, udvostruenje yielda znai prepolovljenje cijene proizvodnje. Dakle, embedded ipovi moraju biti mali jer veina embedded sistema treba CPU od npr. 1$ do 10$. Ko bi naprimjer htio sebi priutiti CPU od 500$ u mikrovalnoj penici, ako se uzme u obzir naprijed reeno? Sljedea slika, iako malo zastarjela (iz 1997. godine), moe nam pribliiti razlike u cijenama procesora za specifine aplikacije i procesora za PC-jeve, servere i radne stanice.

    slika 23. Razlike u cijenama iz 1997. izmeu embedded i PC procesora

    28

  • Da bi se formirala krajnja cijena nekog proizvoda, potrebno je uzeti u obzir nekoliko faktora. Najbitniji su sljedei:

    Direktni/Rekurentni trokovi (RE Recurent Expenses), koji predstavljaju trokove/cijenu proizvodnje, rada, materijala itd. i vezani su za svaku jedinicu (kopiju komponente) koja se proizvodi. Oni predstavljaju dodatak od 20 do 40% na cijenu komponenti.

    Trokovi poslovanja (Gross margin)/ Nerekurentni trokovi (NRE NonRecuring Expenses), koji predstavljaju cijenu/trokove razvoja tj. dizajna komponente, zatim ukljuuju marketing, najam prostora, odravanje opreme, itd.

    Vrijedi sljedei raun: Ukupna cijena/troak tokom proizvodnje nekog broja komponenti je:

    total cost = NRE + RE * # of units

    Tada je ukupna cijena proizvodnje po proizvodu:

    per-product cost = total cost / # of units = (NRE / # of units) + RE Treba primjetiti da u posljednjoj formuli poveavanjem broja komponenti smanjuje se ukupna cijena proizvodnje po proizvodu (a samim tim i krajnja cijena proizvoda), to smo ve ranije i rekli. Ovi do sada pomenuti trokovi ine srednju prodajnu cijenu ASP (Average Selling Price) na koju se dodaju jos trgovake mare (40 do 50%) i tako se dobija trina cijena (List Price). slika 24. Trina cijena ES-a Napomenimo jo da, poto su embedded sistemi namijenjeni obavljanju specifinih funkcija i ponekad podrazumijevaju i softver (aplikaciju) za efikasan rad, tada se na cijenu embedded hardvera mora uzeti u obzir i cijena embedded softvera. Do sada smo govorili o nekim od trendova koji su vani za embedded sisteme, a u nastavku emo neto rei i o buduim predikcijama i pravcima njihovog rada i primjene.

    esto se istie vanost i znaaj programabilnosti embedded procesora. Iako jo uvijek u velikom broju postoje embedded procesori specijalizirani za obavljanje samo jedne funkcije kao i specijalizovani oieni procesori, isti autori navode da e programabilni embedded procesori u novije vrijeme ipak prednjaiti. Oekuje se da e se takav trend nastaviti i u daljoj budunosti tj. da e embedded procesori postajati sve vie programabilni. Prednosti programabilnosti kod embedded procesora nije teko prepoznati. Prvo, embedded sistem postaje fleksibilniji i laki

    29

  • za nadograditi. Drugo, mogue su i kasnije promijene u specifikacijama, i tree, postaje mogua ponovna upotreba prethodno dizajniranih softverskih modula (funkcija) uzimajui u obzir da su one bile opisane na procesorskom nezavisnom nivou apstrakcije. Kao dodatni razlozi za nastavak trenda programabilnosti u budunosti mogu se identificirati i sljedee konstatacije: Proizvoai se bore za udjel na stalno rastuem tritu embedded procesorima i zbog toga je neophodno mnogo krae vrijeme za njihovu proizvodnju i izlazak na trite. Drugo, heterogenost mnogih sistema zahtijeva vie embedded procesora unutar jednog embedded sistema pri emu svaki ima svoj razvojni ciklus. Ova situacija sve vie postaje nepoeljna jer je ove zasebne cikluse teko kontrolisati i stoga kasni zavretak cjelokupnog sistema. Zbog toga, koritenje manjeg seta embedded procesora koji bi obavljali iri spektar funkcija i usluga (kroz programabilnost) postaje poeljnije.

    Takoer predvia se poveano koritenje rekonfigurabilnog hardvera, proirujui

    prethodno pomenutu potrebu za programabilnou u embedded procesorima. Hardversku programabilnost moemo definisati kao konfigurisanje hardvera (poslije proizvodnje) na eljeni nain. Performanse konfigurabilnih hardverskih struktura e nastaviti rasti u budunosti inei ga dobrom opcijom nad fiksnim hardverskim strukturama. Autori esto u tom smislu naglaavaju tzv. hardware/software co-design i s tim u vezi primjenu FPGAs (Field Programable Gate Arrays). Postoji mnogo proizvoaa embedded sistema i procesora i svaki od njih je namijenjen obavljanju specifinih funkcija tako da je esto nemogua portabilnost aplikacijskog koda razvijenog za jedan sistem na drugi. Izmeu ostalog i zbog toga nudi se programabilnost i rekonfigurabilnost embedded hardvera kao rjeenje. Najnovija istraivanja u ovoj oblasti idu u pravcu uvoenja nanoprocesora kao akceleratora embedded raunarskih sistema-Dodatak B.

    Smatra se da su prednosti programabilnosti kod embedded procesora oigledne, ali da postoji opasnost da su funkcije koje se izvravaju na takvim embedded procesorima previe generalne (uoptene) i da zbog toga degradiraju performanse. Zato se predvia inkorporacija tih funkcija, specijalizovanih za odreene aplikacije, u embedded procesore. Smatra se da njihova implementacija u hardveru znaajno poboljava performanse i smanjuje broj instrukcija koje se moraju izvriti.

    Svi pokazatelji ukazuju na injenicu da je neizbjeno da e kompjuteri postajati

    sve vie jeftiniji, manji i moniji, i da e eventualno biti toliko jeftini da se mogu ugraditi u skoro svaki proizvod. Pored toga, skoro svi kompjuterski opremljeni proizvodi e imati neku vrstu pristupa lokalnoj mrei ili ak internetu. Tokom sljedee dekade, mnogi uobiajeni predmeti u domainstvima, na ulicama, u kolama itd. e imati ugraene embedded sisteme u sebi koji e ih unaprijediti i promijeniti zauvijek. Embedded sistemi ve imaju a imat e i u budunosti veliku ulogu u mnogim drugim oblastima primjene i sigurno promijeniti nain naeg ivota. Ukratko, uspon embedded sistema oznaava jednu novu fazu u industrijalizaciji. Bez sumnje, polje embedded sistema postaje sve izazovnije, i

    30

  • pitanja razvoja embedded softvera i hardvera postaju veoma privlana velikom broju istraivaa bilo u industriji ili na akademijama. Mnogo napora je ve uinjeno u razvoju embedded sistema i mnogi eksperti i istraivai jos uvijek rade i radit e u budunosti na tome da uine embedded sisteme jo inteligentnijim i pametnijim. Uzevi u obzir injenicu brzog razvoja tehnologije, ta budunost je moda jako blizu.

    EMBEDDED SISTEMI U AUTOMOBILSKOJ INDUSTRIJI Jedno od znaajnih podruja primjene embedded sistema je automobilska industrija. Veliki napreci u embedded tehnologiji su omoguili njihovu iroku primjenu u automobilskoj industriji, gdje oni uvode nove osobine u vozila, unapreuju njihove performanse i poveavaju sigurnost. Svake godine, proizvoai automobila irom svijeta ugrauju nove embedded procesore u svoja vozila. Mnogobrojni procesori ispod haube i u najskrivenijim dijelovima auta prikupljaju i razmjenjuju informacije da bi kontrolisali, optimizirali i pratili mnoge od funkcija koje su prije nekoliko godina bile isto mehanike. Elektronske komponente, u kombinaciji sa mehanikim, elektrinim ili hidraulikim komponentama, nude mnoge prednosti u tehnioj implementaciji, kao to su velika pouzdanost, isplativost, sigurnost itd. Zato je elektronika, kao ni jedna druga tehnologija, danas kljuna tehnologija u oblasti automobila i skoro sve funkcije vozila danas su elektronski kontrolisane. Smatra se da danasnji BMW sedme serije ili Mercedes S klase imaju oko 100 procesora ugraenih u sebi koji obavljaju razne funkcije. Neki od primjera su na slici ispod.

    slika 25. Embedded sistemi u automobilima

    Tako na primjer, power-train embedded sistemi (eng. power-train = pogonski stroj) podeavaju rad motora i transmisiju kako bi se obezbijedile najbolje performanse, procesori zadueni za sigurnost (safety processors) podsjeaju vas da koristite pojas tokom vonje, upozoravaju vas na eventualne konflikte i aktiviraju airbag-ove u sluaju nesree. Tu je i dobro poznati ABS sistem (Anti-lock Braking system) o kojem emo detaljnije govoriti kasnije. Embedded kontroleri takoer upravljaju pokretanjem sjedita,

    31

  • prozora i retrovizora. Procesori zadueni za davanje informacija vozau tokom vonje (driver-information processors) prikazuju navigacijske i druge informacije vezane za saobraaj kao i sveobuhvatnu dijagnozu stanja vozila. Osnovu sistema za air-condition, global positioning (GPS), radio playera itd. ine embedded procesori. To su sve oigledni primjeri kojih ima jako puno. Embedded kontroleri ak vode evidenciju i o vaim navikama tokom vonje. Tako je npr. firma General Motors 1999-te godine u auta ugradila na stotine hiljada takvih data-collection procesora koji bi upravljali pamenjem vaih vozakih navika. Modul za dijagnosticiranje i rad sa airbag-om, koji ustvari djeluje kao crna kutija, biljei Vau brzinu vonje kao i to da li ste i koliko koristili konice i vezali pojas za vonju, i da li se neki airbag aktivirao ili ne. Modeli automobila nekih firmi kao npr. Buick, Cadilac, Chevrolet i Pontiac takoer sadre ovakve data-collection module kao dio airbag-controller sistema. Ovakav jedan sistem je takoer znaajan i iz razloga to pomae u otkrivanju nekih detalja poslije automobilske nesree bez mjerenja tragova konica i drugih fizikih dokaza, tako da se na osnovu informacija koje su u njemu prikupljene lake odreuju uzroci nesree i krivica. Jo u dodatku tome, mnoge osobine u podrujima zabave i mobile-computinga otvaraju mnogo novih mogunosti u automotive elektronici za embedded dizajnere, hardver i softver ininjere. Vidimo da su specifine funkcije koje obavljaju embedded sistemi i procesori u jednom autu razliite prirode i ima ih jako puno. Upravo u ovisnosti od prirode funkcije koju obavljaju mogu se grupisati na sljedei nain:

    Sistemi za kontrolu pogonskog stroja (Power-train systems) Power-train (eng. pogonski stroj) sistemi upravljaju i kontroliu rad motora i transmisiju. Takve embedded sisteme karakteriu strogi zahtjevi za sigurnou i efikasnou. Neki od vanih embedded sistema koji spadaju u ovu grupu su:

    - ECU (Engine Control Unit) - TCS (Transmission Control System) - Traction Control System - Launch Control System - Cruise Control System

    Body electronics

    U ovu grupu mogu se svrstati sisitemi kao to su:

    - Security System - Tire Pressure Monitor - Air Condition System - Electrical Central Locking - Alarm System - Access and Drive Authorisation Systems - Seat Position Control Units - Electric Windows Control Systems - Mirror Control systems

    32

  • Infotainment Ovim imenom obuhvaeni su embedded sistemi posveeni procesiranju informacija, komunikaciji sa vanjskim svijetom i zabavi (entertainment). Ovo je podruje gdje se ostvaruje najvei profit u relativno kratkom roku, a koristi se jo i naziv Telematics. Tu spadaju sljedei sistemi:

    - GPS (Global Positioning System) / Navigation - Multimedia control systems - Digital Radio system - Integrated hands-free cellphones - CD, DVD inside the car -

    Sigurnosni sistemi (Safety systems) Ovdje se ubrajaju embedded sistemi namijenjeni unapreenju sveukupne sigurnosti. To su sljedei sistemi:

    - ABS (Anti-lock Braking System) - BAS (Braking Assistance System) - ASR ( Sistem za sprjeavanje proklizavanja pogonskih tokova prilikom

    starta) - EBD (Electronic Brakforce Distribution) - DSTC (Dynamic Stability and Traction Control) / Sistem za kontrolu

    proklizavanja i stabilnosti. Implementiran je prvi put kod BMW modela automobila.

    - ESP (Electronic Stability Program) - Airbag System - ARTS (Adaptive Restraint Technology System) / Sistem adaptivnog

    vezivanja koji prilagoava napuhanost airbag-ova i pojaseva u odnosu na silinu udara. Implementiran je 2001. godine u svim XK modelima Jaguara.

    - Active Steering / Aktivno upravljanje / Sistem koji omoguava veliku upravljivost i stabilnost kontinuiranim mijenjanjem prenosnog omjera upravljaa ovisno o brzini vonje i zanoenju. Implementiran je kod modela BMW-ove serije 5.

    - ETC (Electronic Traction Control) - ACC (Adaptive Cruise Control)

    Kako svi ovi embedded sistemi ine vanu komponentu skoro svakog dananjeg automobila, potrebno je u okviru njihovog dizajna adekvatno odgovoriti na odreene zahtjeve i ciljeve. Primarni ciljevi dizajna embedded sistema u automotive industriji su:

    velika sigurnost, to manji trokovi i cijena, velika pouzdanost.

    33

  • Sigurnost je najvanija u dizajnu automotive embedded sistema. Nepredvidivo ponaanje svakog sistema dok automobil ide brzinom od 70 mph moe biti katastrofalno, tako da proizvoai vre ekstenzivna hardverska i softverska testiranja da bi sprijeili probleme u sigurnosti. Potrebno je proizvesti sistem koji radi tano onako kako je specificirano i koji je potpuno siguran i pouzdan u primjeni u kritinim zadacima. Npr. loe funkcionisanje ABS sistema je neprihvatljivo. Pored neophodne sigurnosti proizvoda, dizajneri moraju nastojati da reduciraju rekurentne trokove automotive-electronics sistema. Danas, embedded sistemi i ostala elektronika ne bi smjeli predstavljati vie od 35% ukupne cijene/trokova dizajniranja novog auta. U tom smislu, proizvoai mogu koristiti isti dizajn kontrolera motora, na primjer, kroz nekoliko modela automobila tokom vie godina. Nadalje, dananji proizvoai formiraju globalna partnerstva, tako da se jedan embedded sistem moe koristiti na produkcionim linijama irom svijeta. Reduciranje cijene dijelova za samo nekoliko centi moe donijeti utede u milionima dolara tokom ivota jednog sistema. Postavlja se i pitanje usklaivanja ivotnog ciklusa proizvoda iz svijeta elektronike, koji traje oko 2 godine (ili nekad po nekoliko mjeseci) i stalno se smanjuje, sa ivotnim ciklusom u svijetu automobila, gdje ivot jednog proizvoda na tritu traje oko 5 do 10 godina i poveava se. Mnoge kompanije za proizvodnju ipova se ne mogu posvetiti proizvodnji jednog te istog proizvoda tako dugo vremena, tako da neke kvalitetne CPU nikad ne nau svoju primjenu u automotive industriji. Zbog toga se kao jo jedan od zahtijeva za embedded procesore i ipove postavlja i dugotrajnost (longevity). Pouzdanost je cilj dizajna koji je moda i najtee dostii zbog surovog okruenja automobila. Naime, embedded sistem mora preivjeti pod uticajem raznih temperaturnih ekstrema od vremena i toplote motora, otrih potresa od loih puteva i raznih kolizija. Zbog toga postoji vitalan zahtjev za irokim obimom temperaturne otpornosti. Tako npr. procesor PowerPC 5200 moe raditi i na temperaturama od 40C do 85C i to samo za unutranjost vozila tj. za primjene na komandnoj ploi. Za primjene ispod haube, ovakvi ipovi rade pouzdano na 105C. Alati za visoko pouzdan dizajn ukljuuju dijelove sa otpornou na visoku temperaturu, kvalitetne komponente, simulacije najgorih sluajeva, i paljiv mehaniki dizajn. Iako vrijeme testiranja raste sa kompleksnou sistema, pouzdan kontroler takoer zahtijeva i kompletno testiranje softvera da bi se verificiralo svako stanje i put podataka. Uspjean automotive-electronic dizajn zavisi i od paljivog izbora procesora. Moderni power-train kontroleri za motor i transmisiju obino zahtijevaju 32-bitne CPU da procesiraju algoritme u realnom vremenu. Druga podruja primjene u automobilima, kao to su sigurnost i body electronics sistemi, koriste 16-bitne i 32-bitne embedded procesore u zavisnosti od kompleksnosti upravljanja. Na primjer, 16-bitni embedded procesor je dovoljan za pojedini airbag sistem. Iako jedan airbag kontroler veinu svog ivota samo skenira senzore, njegova procesna mo mora biti dovoljna za izvravanje cijelog algoritma odluivanja i rutina aktuacije u samo nekoliko milisekundi. Jeftini 8-bitni i 16-bitni embedded procesori su ve dugo vremena bili standard kod automotive kontrolera i softverski ininjeri su veinu koda pisali u asembleru. Poto je danas prisutna sve vea kompleksnost softvera pogotovo u oblasti Infotainment sistema, a vrijeme za razvoj sve krae, dizajneri su okrenuti ka jezicima visokog nivoa u kojima mogu lahko ponovo koristiti ranije napisane module. Iako neke vremenski kritine situacije jo uvijek

    34

  • zahtjevaju asamblerski jezik, trend kod automotive embedded sistema ide ka C-olikim programskim jezicima, a govori se i o upotrebi embedded Java jezika. Pored ovoga dizajneri automotive embedded sistema moraju analizirati i potrebu za operativnim sistemom. Kako se zahtijeva izvrenje u realnom vremenu koriste se real-time operativni sistemi (RTOS). to vie raste kompleksnost embedded sistema, automotive industrija sve vie prihvata RTOS-e i sofisticiranije alate za razvoj softvera. Visoko integrisani sistemi za zabavu, prepoznavanje govora, i navigaciju ve koriste real-time softver u radu sa asinhronim inputima iz komunikacionih i korisnikih izvora. Npr. RTOS iz QNX Software koordinira real-time Global Positioning System informacije sa prikazom mape i audio komandama za navigacijski sistem u autu. Komercijalni RTOS-ovi su jedno vrijeme bili preveliki i preopirni za automobilske kontrolere zbog male koliine memorije. Kao rjeenje, evropski automotive proizvoai su definisali OSEK standard kao uobiajenu platformu i aplication-programming interface za razvoj automotive embedded sistema. OSEK je skraenica od njemakog naziva za open systems and interfaces for in-car electronics. OSEK specificira komunikacioni protokol, pravila upravljanja mreom i memorijski efikasan (memory-efficient) operativni sistem za automotive kontrolere. U skladu sa ovim standardom firme Wind River Systems, Accelerated Technology i Integrated Systems su proizveli real-time operativne sisteme. Tako je firma Wind River Systems razvila VxWorks embedded RTOS za potrebe Formula 1 timova koji je oficijelno odobren od FIA-e (Federation Internationale de lAutomobile). Na osnovu ovog RTOS-a firma Magneti Marelli proizvela je telemetrijski sistem koji trenutno koriste timovi Ferrari, Renault, Toyota i Minardi, kao i automobil Alfa Romeo 147.

    slika 26. Magneti Marelli telemetrijski sistem kod modela Alfa Romeo 147 Jo jedan dodatak za automotive embedded sisteme, o kojem dizajneri trebaju voditi rauna, je mrea. Automotive mree su jedna jako iroka tema tako da o njima nee biti detaljno govora. Prva automotive mrea je bila jednostavna UART konekcija izmeu dva procesora. Ova serijska konekcija doputala je da dva kontrolera lako dijele informacije, ali nije postojao jednostavan nain dodavanja novih vorova u takvu mreu.

    Zbog toga, proizvoai vozila i Udruenje Automotive Ininjera SAE (Society of Automotive Engineers) su razvili J1850, specijalni automotive-network protokol, koji je ubrzo postao standard i zamijenio UART serijsku komunikaciju. Iako je J1850 sada standard kod automobila u Americi, Evropski proizvoai podravaju Controller Area Network (CAN) protokol. CAN je ustvari i real-time kontrolna sabirnica sa maksimalnim protokom podataka od 1 Mbps. Kada vie vorova simultano transmituju podatke, vorovi nieg proiriteta ih moraju retransmitivati, dok poruke vorova vieg proiriteta nastavljaju do svog odredita. Jako je bitno da automotive embedded sistemi komuniciraju meusobno kako bi se ostvarile razne funkcionalnosti, a vrlo esto su jednom sistemu potrebne informacije od nekog drugog kako bi on radio regularno. Npr. radio-player komunicira sa sistemom za automatsku transmisiju preko mree, da bi automatski podeavao obim zvuka u zavisnosti od nivoa buke tokom vonje (koja zavisi

    35

  • od brzine). Dananje mree u automobilima transformiu automotive embedded komponente u distribuirane elektronske sisteme. Na sljedeoj slici intuitivno je predstavljena povezanost odreenih elemenata za sigurnost u mrei.

    slika 27. Povezanost elemenata za sigurnost u automobilu

    Prvi automobil koji je koristio mikroprocesor bio je Cadillac Seville iz 1978 godine, a koristio ga je za upravljanje putnim kompjuterom, koji je ustvari bio mali dodatak na kontrolnoj ploi za davanje informacija o preenim miljama i sl. Od tada, trend koritenja embedded sistema i elektronike u automobilskoj industriji i njihov razvoj raste eksponencijalno. ak tavie, zvaninici firme Daimler-Chrysler kau da e vie od 80% inovacija u automotive industriji biti iz oblasti elektronike i embedded sistema. Na slici 28. moemo vidjeti jedan takav trend razvoja embedded sistema za sigurnost. Crvena kriva na slici predstavlja sisteme pasivne sigurnosti, koji se koriste da se minimiziraju povrede vozaa nastale tokom i poslije nesree i povea ansa za preivljavanjam, a plava kriva sisteme aktivne sigurnosti, koji se aktivno koriste u izbjegavanju potencijalne nesree. Moe se primjetiti da se vremenom i pojavljivanjem novih embedded sistema za sigurnost smanjuje uticaj samog vozaa i poveava potencijal sigurnosti. Moemo primjetiti i drastino poveanje broja sistema aktivne sigurnosti tokom 90ih godina i poslije 2000. godine, dok su prije tog vremena vei rast koritenja imali sistemi pasivne sigurnosti.

    36

  • slika 28. Trend razvoja embedded sistema za sigurnost Sa slike takoer vidimo da podruja srednjeg i malog uticaja sposobnosti vozaa zauzimaju embedded sistemi koji predstavljaju nau budunost u automotive industriji. Procjenjuje se da e X-by-Wire ili Drive-by-Wire biti kljuna tehnologija. X-by-Wire je zajedniki naziv za dodatne embedded sisteme u vozilima koji bi zamijenili i unaprijedili mehaniko i hidrauliko izvravanje funkcija. By-Wire tehnologija kontrolie upravljanje (steering), mijenjanje brzina (gear change), ubrzanje (acceleration) i koenje (braking), tako da su predstavljeni Brake-by-Wire, Shift-by-Wire sistemi, a Steer-by-Wire se oekuje oko 2010.godine. Umjesto koritenja tradicionalnih mehanikih i hidraulikih metoda za vonju, voza prenosi svoje namjere glavnom operativnom sistemu elektronski, dok Smart Electro-Mechanical Actuating Units (SEMAUs) sa integrisanim senzorima i procesorima rade ostatak posla. U tom smislu, kao prototip predstavljen je jedan novi koncept automobila Bertone SKF Filo koji je prikazan na sliicama ispod i predstavlja automobil neke daljnje budunosti:

    slika29. Bertone SKF Filo slika 30.Filo's interior -- without pedals, gear slika 31. The steering wheel of the Filo shifter, and steering column -- offers plenty of space.

    37

  • ANTI-LOCK BRAKING SYSTEM (ABS) ABS sistem protiv blokiranja konica je prvi embedded sistem tzv. aktivne sigurnosti koji je ugraen u automobile, a zbog svoje konstrukcije, postao je baza svim ostalim sistemima koji su se kasnije pojavili. Historija nastanka ABS-a see jo od 1928 g. kada je Nijemac Karl Wessel patentirao mehanizam koji regulira silu koenja kod automobila, ali taj koncept je postojao samo na papiru. Tek poetkom II svjetskog rata, 1941. godine, Fritz Ostwald (takoer Nijemac) testirao je prvi regulator blokiranja tokova ime se postigao tek osrednji rezultat. Uprkos poetnom neuspjehu, ovaj sistem je postao konstrukcijska baza za sljedee mehanizme. Ideja o senzorima koji prate okretanje tokova i kontrolnoj jedinici koja upravlja konicama bila je uspjena, ali pretvoriti koncept u funkcionirajui mehanizam bilo je komplicirano. Godine 1950, prvi ovakvi (vie mehaniki i hidrauliki) ABS sistemi ugrauju se u amerike borbene avione, ali i u Knorrov sistem iz 1954. za lokomotivu. Ali za ugradnju u automobil jo su postojale prepreke tako da je 1965. godine pokrenut proces razvijanja elektronike za kontrolu ABS sistema. Firma TELDIX iz Heidelberga prva se ozbiljno prihvatila razvijanja ABS-a. Godine 1967. rijeili su problem senzora, a neto kasnije i problem centralne jedinice, koja je do tada jo uvijek radila na analognoj tehnologiji i koja je zbog kompliciranosti bila podlona estim kvarovima. Rezultat tog rada je da je 12. decembra 1970. godine prva generacija ABS-a (ABS 1) na testnoj stazi uvjerila novinare i strunjake u svoju svrsishodnost. Meutim pouzdanost ovakvog sistema nije bila na najviem nivou, a bilo je potrebno ispuniti uslove maksimalne sigurnosti. Sa kontrolnom jedinicom koja je imala preko 1000 komponenti broj potencijalnih izvora greke je bio velik. Sljedeih 8 g. inenjeri su radili na trajnosti i pouzdanosti sistema koji bi bio spreman za serijsku proizvodnju. Tokom tog razdoblja ABS je uveliko profitirao razvojem elektronike i raunara. Zahvaljujui tome mogla je biti proizvedena dovoljno mala i mona kontrolna jedinica sposobna da prati podatke senzora i u kratkom vremenu upravlja ventilima kontrole pritiska, a postojala je i mogunost kontrolisanja i zadnjih, a ne samo prednjih tokova. Firma BOSCH, koja je 1973. godine kupila 50% udjela u firmi TELDIX i koja je inae danas vodea u sektoru automobilske elektronike (dri ak 70% trita), nakon 5 godina (1975.) isporuuje prvi digitalni kontroler za testiranje. BOSCH je donio veliki napredak sa digitalnim elektronskim komponentama koje su bile jeftinije, efikasne i dovoljno snane za upotrebu u serijskoj proizvodnji automobila. U poreenju sa analognom elektronikom, ove digitalne komponente znaajno su poveale performanse kontrolne jedinice ABS-a doputajui redukciju broja komponenti i garantujui potrebni stepen sigurnosti. Godine 1978., Mercedes-Benz pustio je u serijsku proizvodnju prvi funkcionirajui, trajan i pouzdan ABS sistem druge (digitalne) generacije, proizveden od strane BOSCH-a. Pod nazivom ABS 2 ugraivao se u Mercedes S-klase kao doplata po cijeni od tadanjih 2,217,60 DM. Do kraja 1980. godine, BOSCH je prodao 24000 ABS sistema, a poeo je razvijati i TCS (Traction Control System) koji se poeo proizvoditi 1986. godine i ASR sistem 1987. godine. Od 1984. g. ABS postaje serijska oprema u svim Mercedesovim putnikim automobilima. ABS 2 iz 1978. bio je velik, sa sporom elektronikom i teio je 6,3 kg. Imao je ECU sa 140 komponenti i 8 kB memorije. Sljedea verzija ABS 2S bila je teine 4,3 kg sa neto unaprijeenom on-chip logikom i 70 komponenti. ABS verzija 5,3 iz 1995. god. ima 2,6 kg., 25 komponentni ECU sa 24

    38

  • kB, dok najnovija generacija 8,0 koja se ugrauje u automobile od 2003. tei samo 1,6 kg. ECU se sastoji od tek 16 komponenti, a ima 128 kB memorije. Osnovni cilj ABS-a je sprijeiti nekontrolisano ponaanje vozila prilikom koenja. Naime, prilikom snanog koenja, posebno u uslovima loeg prijanjanja toka na podlogu, pojedini tokovi vozila imaju tendenciju blokiranja. Sa blokiranim tokovima automobil postaje neupravljiv, a upravlja beskoristan. Npr. to znai proi pravo u zavoju, po kii, iako su tokovi okrenuti u dobrom smijeru. ABS sistem konica kontrolie silu koenja svakog toka posebno i sprjeava blokiranje. Ovaj se postupak ponavlja vie puta unutar vremenskog intervala od jedne sekunde. Anti-lock Braking Sistem se sastoji od nekoliko glavnih komponenti (koje je lahko uporediti sa glavnim komponentama embedded sistema predstavljenim blok emom u ranijim poglavljima):

    senzori na tokovima, koji predstavljaju ulazne ureaje ovog embedded sistema ECU (Electronic Control Unit), koja sadri: - embedded procesor kao srce sistema, - on-chip memoriju sa ugraenim programom - A/D konvertor (Signal Conditioning) - periferali,

    jednom rjeju mikrokontroler i - ostala hardwired logic hidrauliki sistem elektromagnetni kontrolni ventili i solenoid switches, koji djeluju slino kao aktuatori i veza sa hidraulikim sistemom, izmeu ostalog, preko kojih procesor upravlja pritiskom u konicama.

    To se moe vidjeti na sljedeim slikama, koje na odreenom nivou apstrakcije predstavlja blok emu ABS sistema:

    slika 32 a. Pojednostavljeni blok dijagram ABS sistema

    39

  • slika 32 b. Pojednostavljeni blok dijagram ABS sistema ABS u sutini funkcinie tako to senzori na tokovima (kao ulazni ureaji za ECU) sve vrijeme prikupljaju informacije o jaini koenja, svakog pojedinog toka i njihovoj brzini. Kada je koenje toliko intenzivno da moe da doe do

    blokiranja toka, procesor u centralnoj elektronskoj jedinici alje informaciju hidraulikom sistemu i otvaraju se elektromagnetni kontrolni ventili (na slici oznaeni kao cntl valve), na koionoj liniji onih tokova za koje postoji opasnost da e se blokirati. Otvaranjem ventila pada pritisak u hidraulikom sistemu, koji smanjuje silu na koionim oblogama. im doe do ponovnog okretanja toka, senzor alje tu informaciju procesoru, koji hidraulikom sistemu alje povratnu informaciju da se zatvore elektromagnetni ventili i time ponovo maksimalno obnovi sila koenja, sve dok ne doe do ponovnog blokiranja toka. Ovaj postupak se ponavlja 10 do 20 puta u sekundi, ovisno o modelu ABS-a. Tako efektivno dobijamo brzo postepeno koenje koje je u skladu sa brzinom auta. Zbog toga se tokom rada ABS sistema primjeti vibriranje pedale konice (ega se neiskusni vozai nekad uplae pa popuste konicu i time doprinesu produenju zaustavnog puta i nesrei). ABS se aktivira u posljednjem trenutku, tako da nema potrebe za doziranim koenjem i nedovoljno iskusni vozai danas uz pomo ABS-a mogu da koe izuzetno otro, a da bezbjednost vonje nije ugroena. Treba jo rei da postoje dva tipa ABS sistema i to sistemi koji kontroliu sva etiri toka (Four-wheel systems), koji se ugrauju u putnika vozila, i sistemi za kontrolu samo zadnjih tokova (Rear-wheel systems), koji se ugrauju u kamione i kombije (da sprijee zanoenje zadnjeg, teeg, dijela vozila). Prednost modela sa senzorima na sva 4 toka je u veoj preciznosti regulacije, jer dobijenjem informacija o brzini sva etiri toka moe se bolje i sa vie osjeajnosti podesiti jaina koenja zadnjih tokova. Zanimljivo je i to da Formula 1 bolidi nemaju ugraen ABS sistem da bi se omoguio brz prolazak kroz zavoje. Zbog toga se u takvim situacijama moe vidjeti dim iz konica, a svu potrebnu vjetinu upravljanja formulom posjeduju vozai. Na sljedeoj slici prikazan je jednostavni blok dijagram ECU dijela ABS sistema, gdje se uoava osnovni tok procesiranja, koji kree od senzora, iji signali se prilagoavaju i konvertuju u digitalnu formu u dijelu Signal Conditioning, zatim se obrauju (procesiraju) u centralnom procesoru i na kraju preko komponenti Motor driver, Valve driver, Lamp driver djeluje na hidrauliki sistem, ventile za regulisanje pritiska i signalizaciju. Moe se uoiti da postoje i jo neke komponente kao to su regulator napona, dodatni kontroler u svrhu vee sigurnosti, EEPROM on-chip memorija, komponente za superviziju regularnog rada sklopa, itd.

    40

  • slika 33. Pojednostavljeni blok dijagram ECU dijela ABS-a Prednosti ABS-a su mnogobrojne i oigledne, jer je ovim sistemom sigurnost unaprijeena u svim uvjetima vonje. Neke od najvanijih prednosti su sljedee:

    Skraivanje duine zaustavnog puta (u svim uslovima vonje) (slika 34). ak i prilikom koenja punom snagom, sa ABS-om se uvijek moe zadrati

    eljena putanja bez proklizavanja (dozvoljava naglo manevrisanje lijevo ili desno bez da se tokovi zablokiraju). Podsjeamo da su neke od karakteristika embedded sistema (ve ranije navedene) real-time izvrenje i dynamic decision.

    ABS istovremeno omoguuje korigovanje pravca kretanja, jer funkcija upravljaa nije poremeena snagom koenja, kao to je to sluaj sa autima koja nemaju ABS. Zbog toga je lake izbjei prepreke koje se naglo pojave na pravcu kretanja. ABS je koristan i pri malim brzinama, ne samo da bi se smanjio put

    zaustavljanja, ve da bi se zadrala kontrola nad kretanjem auta te mogunost upravljanja i kretanja u eljenom pravcu. To je predstavljeno i na slici 34, gdje vidimo da automobil bez ABS-a (plavi) po mokroj podlozi prolijee kroz krivinu pravo, dok drugo auto sa ugraenim ABS-om zadrava regularan pravac kretanja.

    U svom razvoju kroz godine, ABS sistem je postajao sve jednostavniji u mehanikom dijelu, kojeg ini i hidraulika, ali istovremeno su elektronika i procesori, koji upravljaju sistemom, znatno napredovali. To je omoguilo da se ABS-u pridodaju i neke nove funkcije i novi embedded sistemi korisni za razvoj sigurnosti u vonji. Tako je Bosch 1987. godine pridodao ABS-u novi embedded sistem, koji je omoguio sprijeavanje proklizavanja pogonskih tokova prilikom starta, nazvan ASR. Deset godina kasnije

    41

  • uslijedio je ESP, odnosno elektronska kontrola stabilnosti u vonji, a do danas je proizvedeno preko 10 miliona auta koji imaju ESP sistem. 2003. godine proizvodnja ABS ureaja pod okriljem Boscha dostie 100 miliona komada i 75% auta je imalo ABS sistem (slika 39), dok od aprila 2004. godine po odluci udruenja evropskih automobilistickih konstruktora (ACEA) svi automobili koji su se pojavili u prodaji morali su imati ugraen ABS sistem, jer danas, obzirom na velike performanse i teinu automobila, ABS i ostali sistemi sline namijene vie nisu luksuz, ve potreba.

    slika 34. ABS skrauje duinu zaustavnog slika 35. Godine 2003. svaka dva od tri puta i omoguuje bolju upravljivost auta auta (75%) imaju ugraen ABS sistem

    INTEL 8XC196EA EMBEDDED MIKROKONTROLER U ovom dijelu naeg rada navodimo primjer jednog embedded kontrolera koritenog u ABS sistemu. Neemo detaljno govoriti o arhitekturi procesora ni kontrolera, zato to nam je primarni cilj da opiemo neke od karakteristika embedded procesora koji se koristi u automotive industriji, tanije u ABS sistemu, kako bismo se upoznali sa principima koji su karakteristini za ovakav tip embedded sistema. 8XC196EA mikrokontroler pripada intelovoj MCS96 familiji mikrokontrolera koja se tipino koristi kod kontrolnih sistema gdje je potrebna vea brzina reakcije. Komercijalna upotreba je jako iroka, a u automotive indus