Sunteți pe pagina 1din 24

Embedded Systems

1. Introducere

OBIECTIVE
introducere n tehnicile de proiectare i de implementare a sistemelor cu calculator nglobat (ES - Embedded Systems). n urma absolvirii cursului studenii vor dobndi cunotine necesare pentru elaborarea specificaiilor hardware i software pentru un sistem embedded particular i n proiectarea hardware i software a acestora inclusiv n cadrul unor colective de proiectare. ctig n cunotine generale privind metodele de proiectare i construcie prin aplicarea a ceea s-a studiat la cursurile disciplinele anterioare de aceea, unele aspecte ale cursului se doresc a fi o sistematizare a cunotinelor acumulate la multe din disciplinele de hardware i software studiate pn acum.

MOTIVAIE
proiectarea ES se bazeaz pe cunoaterea diverselor tehnologii i sunt direct influenate de avansurile n domenii ca: electronic (senzori, microelectronic, conversie AD i DA), circuite logice, microprocesoare, limbaje de programare, sisteme de operare, tehnologia comunicaiilor, interfee utilizator, tehnologia asamblrii, studiul nevoilor umane i a cerinelor pieei.

disciplina poate fi privit ca o introducere n filozofia proiectrii sistemelor dedicate bazate pe calculator, util pentru specializare n domenii ca:
sisteme de control procesare digital de semnal sisteme n timp real robotic proiectare VLSI reele de senzori inteligeni i elemente de execuie inteligente testare i fiabilitate de sisteme pe baz de calculator tehnici de proiectare low-power aplicaii diverse n domeniile: telecomunicaii integrate, sisteme distribuite de prelucrare, automobile, echipamente medicale, cldiri inteligente etc.
4

DOMENII PRINCIPALE
electronic de consum / multimedia / timp liber autovehicule / echipamente transport calculatoare / periferice / birotic telecomunicaii, reele tehnic industrial de msurare i control tehnic medical

Electronic de consum
buctrie: cuptoare cu microunde, congelatoare, automate cafea maini de splat automate, aparate fotografice, camere video, DVD player televizoare analogice (selecia canalelor, procesare audio) i digitale televizoare digitale inteligente cu senzor de lumin jocuri interactive multimedia, jucrii inteligente Sisteme de securitate i alarmare PDA, Web pads (Instant messaging, acces pagini Internet, album foto, colecie media, etc.) telecomenzi, etc.

Autovehicule / Echipamente transport


control motor (avans automat la aprindere, raport aercombustibil, reglare vitez, consum minim de combustibil) siguran (control airbag, ABS Antilock Braking System - antiblocare frne, blocare ui, ) control navigaie (stabilitate, transmisie automat, navigare prin hri GPS) exemplu ESP (Electronic Stability Program) confort (iluminat, geamuri electrice, climatizare, afiaj bord) elevatoare - lifturi transport naval i aerospaial (sisteme de navigare, sisteme militare de ochire i urmrire, sisteme de aterizare automat, explorare spaial) tehnic special (satelii, aviaie, rachete teleghidate) navigaie marin

Exemplu n 2005, 30-90 procesoare pe un automobil engine control, break system, airbag, door lock, entertainment systems, BMW 745i
Windows CE OS peste 60 de microprocesoare 53 - 8 bii, 11 - 32 bii, 7 - 16 bii tipuri de reele multiple

probleme
timp de proiectare i dezvoltare diferit pentru autoturism i sisteme nglobate upgrade dificil nu se pot include alte dispozitive n sistem de la ali productori
8

Calculatoare / Periferice / Birotic


imprimante maini FAX tastatur PC agende electronice bancomate (ATM) drive-urile de FD, HD, CD RW i DVD ROM cartelele acceleratoare 3D scanere alte dispozitive SCSI, USB.

Telecomunicaii, reele
telefon mobil sisteme de comutaie automate routere, Hubs radar, etc.

10

Tehnic industrial de msurare i control


controllere logice programabile (PLC) pentru monitorizare i automatizri industriale
diferene ntre un PLC i ES PLC sunt de dimensiuni mai mari lucreaz cu tensiuni mari costuri mai mari

comenzi la distan robotic automatizri ale proceselor chimice, nucleare sisteme de supraveghere i nregistrare automat osciloscoape digitale cu memorie analizoare logice analizoare spectrale etc.

11

Tehnic medical
monitoare ale semnalelor fiziologice (cu prelucrare, alarmare, diagnosticare etc.) grafic medical controlul instrumentaiei complexe (radiaii, ultrasunete, etc) pompe de infuzie (medicaie, alimentaie direct n sistemul circulator al pacientului)

12

Ce este un ES?
sistemele nglobate sunt sisteme la care calculatorul / microprocesorul sunt doar simple componente. Principalul scop al utilizrii microprocesorului este s simplifice construcia sistemului i s ofere flexibilitate n proiectare i construcie. un ES este un sistem pe baz de microprocesor construit pentru a controla o funcie sau un domeniu de funcii particulare i care nu este proiectat pentru a fi programat de ctre utilizatorul final. Sigura interaciune cu utilizatorul se face n scopul realizrii funciilor impuse sistemului - aplicaiei. un sistem nglobat folosete o combinaie de hardware i software (o main computaional) pentru a rezolva o funcie specific lucrnd ntr-un mediu reactiv i care impune constrngeri de timp. sistemele embedded sunt sisteme de prelucrare a informaiei nglobate n produse mai mari i care nu sunt de obicei direct vizibile utilizatorului.
13

PROIECTAREA
procesul de proiectare al ES este similar cu cel al proiectrii din lumea calculatoarelor de uz general: hardware, software i date intrare/ ieire, posibil legare ntr-o reea. diferene principale ale ES fa de un PC: sistemul trebuie s lucreze rapid, continuu i corect n prelucrarea datelor de intrare pentru a produce un rezultat cu mare grad de ncredere Ex: sistemul de frnare cost redus / rezonabil Ex: Home Cinema

14

Tradiional proiectul unui sistem de control era mprit n hardware i software care se proiectau i testau separat, iar la sfrit se realiza integrarea i testarea sistemului complet modificri, reluri frecvente ale proiectrii consumator de timp, scump i neproductiv Dac hardware i software pot fi proiectate (co-design) i testate mpreun nc din fazele iniiale ale proiectrii, costurile de dezvoltare pot fi reduse, iar produsul poate ajunge pe pia mai repede, cu avantaje de productivitate pentru companie.

15

Creterea complexitii
Trei tendine au permis creterea complexitii ES, la care hardware i software nu trebuie privite ca domenii diferite, ci ca dou opiuni de implementare ce difer prin metrici de proiectare, cost, performan, dimensiune i flexibilitate: creterea capacitii de integrare a Circuitelor Integrate (IC). creterea calitii compilatoarelor au condus la utilizarea comun a limbajelor independente de procesor i a mediilor de dezvoltare integrate (IDE) n proiectarea sistemelor embedded. dezvoltarea unor unelte software pentru proiectarea componentelor hardware ale sistemului. Uneltele de sintez permit proiectantului s descrie funcionalitatea dorit ntr-un limbaj de programare de nivel nalt i apoi s genereze automat o implementare de procesor cu hardware particularizat
16

TENDINE
CE a alocat aproximativ 1,3 miliarde EURO/an pentru programe de cercetare n acest domeniu, pe baza programului cadru FP7 ARTEMIS1 creat n 2004 ca platforma tehnologic european n domeniul ES. Parteneri vizai: universiti, institute de cercetare, productori de EmS sau dezvoltare de toools-uri de proiectare, integratori de sistem, dezvoltatori de aplicaii. Unul dintre obiective: organizarea reelelor de calcul, n special a celor wireless aplicaii, topologii, distane de aplicare, protocoale, interferene i compatibiliti (babilonie: Bluetooth, ZigBee, WiFi, WiMaX, RFID, etc) O dat cu omniprezena dispozitivelor embedded apar noi provocri n domeniile: tehnologie, inter-operabilitate, standardizare, medodologie, siguran i securitate Pentru c miniaturizarea sistemelor avanseaz foarte rapid exist un decalaj ntre arhitectur i implementarea fizic. ARTEMIS ncearc s nlture acest decalaj din punctul de vedere al software, iar platforma ENIAC2 face acelai lucru din punctul de vedere al nano-arhitecturilor.
17

n prezent circa 90% din dispozitivele de calcul implementate pe pia sunt ES, distribuite n special n domeniile: automobile, industrie i energie, aprare i tehnici spaiale n 2010 - numr de componente embedded programabile de aproximativ 16 miliarde (aproape 3 dispozitive embedded pe persoan pe planet) 2020 - peste 40 miliarde componente ES n urmtorii 5 ani, documentele europene prevd o distribuie procentual pe arii, astfel: automatizri industriale (15%) telecomunicaii (30%) electronic de consum i cldiri inteligente (40%) echipamente medicale i de asigurare a sntii (15%)

18

Dezvoltarea aplicaiilor cu ATmega16


ATmega16 reprezint un microcontroller cu o arhitectura RISC pe 8 bii. Ca urmare, registrele i magistrala intern de date sunt pe 8 bii. Totui, n codul C se pot folosi variabile ntregi pe 32 de bii i chiar n virgul mobil. Compilatorul este cel care se ocup de translatarea instruciunilor cu variabile pe 32 de bii n cod asamblare care lucreaz pe 8 bii. Din punctul de vedere al memoriei, microcontrollerul are o arhitectur Harvard: 1K de memorie SRAM pentru date i 16K de memorie Flash pentru cod. Adresele de memorie sunt pe 16 bii. Pentru stocarea unei adrese se folosesc dou registre.
19

Microcontrollerul are o frecven de pn la 16Mhz. Voltajul este de 4.5-5.4V, existnd o versiune ATmega16L care funcioneaz la voltaje ntre 2.7 - 5.5V. ca i periferice interne ATmega16 ofer:
3 timere - dou pe 8 bii, unul pe 16 bii interfee seriale: USART, SPI, TWI (two-wire serial interface) convertor analog digital cu precizie de 10 bii. 4 canale PWM (pulse width modulation) watchdog timer RTC (real time counter) interfa JTAG.

Aceste periferice interne chip-ului pot fi accesate din exterior prin intermediul pinilor porturilor, care funcioneaz i intr-un al doilea mod, ca pini de intrare/ieire ctre periferice externe.
20

Mediul de dezvoltare
n cadrul laboratoarelor se va scrie cod direct n C, nu i n assembler (avr asm), compilatorul fiind avr-gcc. Acesta se poate folosi atat pe sisteme Linux/Unix ct i pe Windows sub forma precompilat, numit WinAVR. WinAVR include i bibliotec de C, avr-libc. Pentru dezvoltarea programelor se poate folosi orice editor text (notepad++, vim etc), recomandat fiind programmers' notepad. Se poate utiliza deasemenea i IDE-ul AVR Studio 4 oferit de Atmel, ce folosete compilatorul WinAVR.

21

Pentru compilare putem folosi urmtorul Makefile:


build: lab1.hex lab1.elf: lab1.c avr-gcc -mmcu=atmega16 -Os -Wall -o lab1.elf lab1.c lab1.hex: lab1.elf avr-objcopy -j .text -j .data -O ihex lab1.elf lab1.hex avr-size lab1.elf clean: rm -rf lab1.elf lab1.hex

Compilatorul folosit este avr-gcc. Flag-urile au urmtoarea semnificaie:


-mmcu : informeaz compilatorul despre tipul microcontrollerului -Os : optimizeaz programul n privina memoriei ocupate (destul de folositor avnd n vedere memoria limitat prezent pe chip)

Fiierul care poate fi programat pe placu trebuie s fie n formatul ihex. De aceea este necesar extragerea seciunilor de date i cod din fiierul elf obinut n urma compilrii integrarea lor ntr-un fiier ihex. Acest pas folosete utilitarul avr-objcopy din suita win-avr. 22

Comanda avr-size arat ct memorie ocup diverse seciuni de cod ale programului. Trebuie avut n vedere c n memoria SRAM de date, n afar de seciunea .data, o s fie pus i stiva. Pentru a putea rula programul pe microcontroller-ul atmega16 trebuie ca seciunea .text s fie < 16K i seciunea .data s fie < 1K . Pentru a compila programul de mai sus cu Programmer's Notepad se poate folosi shortcut-ul setat pentru comanda de make. Rezultatul compilrii este fiierul lab1.hex care urmeaz a fi ncrcat n microcontroller.

Simularea
Proteus reprezint o suit de aplicaii produs de Labcenter Electronics pentru designul de sisteme electronice. Suita ofer aplicaii pentru realizarea de scheme electronice, simularea acestora, scrierea i compilarea de cod destinat circuitelor simulate, PCB design etc. Utilitarul folosit cel mai des la orele de laborator este ISIS care va permite realizarea i simularea schemelor electronice folosite n cursul lucrrilor 23 de laborator.

BIBLIOGRAFIE
Circuit Cellar http://www.circellar.com/ Compliance Engineering (CE) www.ce-mag.com Dedicated Systems Magazine http://www.realtime-magazine.com/magazine/magazine.htm Design News http://www.designnews.com/index.asp?cfd=1 Dr. Dobbs Journal http://www.ddj.com/ Dr. Dobbs Embedded Systems http://www.ddjembedded.com/resources/articles/2001/0112g/0112g.htm EE Product News http://www.eepn.com/ EDN Magazine Europe http://www.reed-electronics.com/ednmag/ EE Times - North America http://www.eet.com/ EE Times UK http://www.eetuk.com/ Electronic Design http://www.elecdesign.com/Index.cfm?Ad=1 Elektor - UK http://www.elektor-electronics.co.uk/ Electronics Express Europe http://www.electronics-express.com/ Embedded Linux Journal http://www.linuxjournal.com/ Embedded Systems Engineering http://www.esemagazine.co.uk/ Embedded Systems Europe http://www.embedded.com/europe Embedded Systems Programming http://www.embedded.com/ IEEE Spectrum http://www.spectrum.ieee.org/ Wireless Systems Design http://www.wsdmag.com/

24

S-ar putea să vă placă și