Sunteți pe pagina 1din 17

1.

Sisteme embedded: Sistem specializat care ndeplinete o funcie sau o serie de funcii foarte bine stabilite nc din faza de proiectare. Sisteme embedded = Sisteme cu microprocesoare integrate. Caracteristici: - sunt sisteme specializate (greu de modificat); ex: partea de comanda a unui frigider, a unei masini de splat etc.;elemente de sine stttoare: telefonul mobil, mp3 pla yer etc.; sunt portabile; acest lucru implic: dimeniune redus, form compact dar i necesitatea de consum redus; - costul sa fie ct mai mic; acest lucru implic: complexitatea sistemelor embedded trebuie s fie minim (s nu conin componente performante), ele fiind construite pentru un scop precis, fr a se face risip de componente; - funcionalitate bine definit: sistemul embedded trebuie s tie ce s fac; 2.Microprocesoare specializate microcontrolere: De cele mai multe ori sistemele embedded sunt echipate cu microcontrolere. Caracteristicile microcontrolerelor: - funcioneaz la frecvene mici - sistemele rezultate prin folosirea microcontrolerelor sunt foarte simple (numrul de componente este mic) - au memorie ncorporat (att memorie program ct i memorie de date) deoarece se doresc circuite de mici dimensiuni la un cost ct mai mic. - pot exista pe circuitul de microcontroler orice tip de circuit: porturi de intrare/ieire, timere etc Avantaje: programul care ruleaz este efectiv pe microcontroler, perturbaiile magnetice, electromagnetice etc nu au o influen la fel de mare asupra transferului de date ntre microcontroler i memorii iar accesul la memorie este mai facil dect in cazul n care memoriile se aflau n exteriorul microcontrolerului. Dezavantaje: CPU-ul dispune de o putere mai mic de procesare din cauza faptului c aria de siliciu a microcontrolerului este ocupat de celelalte circuite (memorii, timere, porturi I/O etc). Exemple: - Familia Intel MCS51 - Familia Atmel AVR (ATmega) - PIC-uri (Microchip) 3.Etape de proiectarea unui sistem (definirea sistemului): - cerine sistem: cuprind ce trebuie s fac sistemul - cerine funcionale: descriu cum face sistemul ceea ce se dorete; - specificaii tehnice: povestirea de dinainte este adus n termeni tehnici - specificaii hardware: sunt alese componentele - specificaii software: este detaliat partea de programare - specificaii de testare: cum trebuie efectuate testele de funcionare Cerinte sistem: - Sunt date n general de client. - Descriu n mod trivial ce funcii trebuie s ndeplineasc sistemul - Nu au un caracter tehnic dar este bine s fie ct de ct coerente

Cerinte functionale: - Reprezint traducerea cerinelor de sistem ntr-un formalism logic i tehnic adecvat - Sunt realizate de ctre proiectant - Nu impun soluii tehnice dar bun bazele unui necesar de componente Specificatii tehnice: - Specificaiile tehnice nu includ scheme electrice. n aceast seciune sunt precizate elementele care vor fi folosite n proiectarea sistemului, ele fiind alese n funcie de capaciti si necesitile de funcionare. - Se urmresc urmtoarele aspecte: putere de calcul: necesar algoritmilor (n funcie de complexitatea acestora) interfee sistem: dac sistemul dorit necesit o interfa I2C iar sistemul proiectat ofer interfee paralele, seriale dar nu si I2C numrul de linii I/O: linii de comunicaie cu exteriorul; numrul pinilor utilizai depinde de numrul dispozitivelor periferice cu care comunic circuitul (traductoare, senzori etc) necesar memorie i arhitectur memorie rspunsul sistemului n timp real consumul dorit mediul de dezvoltare integrarea programului: unii productori au ncorporat n dispozitivele produse softul necesar funcionrii echipamentului, soft care este protejat pentru a nu putea fi copiat; cerinele de mediu: pentru acelai tip de circuit pot exista mai multe preuri; ex: un circuit care rezist la temperaturi extreme este mai scump dect acelai circuit care are o limit inferioar de temperatur; costul de ntreinere: PDA-uri, rutere specializate etc; dac exist necesiti de upgrade a programului, costul de ntreinere crete. Specificatii hardware: - Indic soluii tehnice reale pentru fiecare component a sistemului o Microcontroller o Achiziie de date o Interfaare cu utilizatorul o Comunicaii Specificatii software: - Modelarea software a sistemului - Importante n cazul sistemelor complexe - Definire interfee ntre componentele software ale sistemului (util n reutilizarea codului) Specificatii de testare: - Set de operaii la care este supus sistemul n final n vederea ndeplinirii specificaiilor funcionale - Indic modul de comportare a sistemului la fiecare operaie (de testare) i parametrii de funcionare n cadrul fiecrui test

4. Proiectarea hardware: Pentru a putea realiza proiectarea hardware pentru un sistem embedded este necesar s dispunem de cerine funcionale i tehnice detaliate. Orice omisiune sau greeal n redactarea specificaiilor funcionale poate necesita refacerea proiectrii hardware. Alegerea arhitecturii sistemului de memorie Depinde de flexibilitatea dorit a sistemului de memorie. Depinde de modul n care se implementeaz non-volatilitatea spaiului de program. SoC Sistem on Chip un singur circuit care integreaz toate controlerele din sistem i sistemul de memorie Arhitectur clasic microprocesor, sistem de memorie, controlere-periferice Arhitectur multiprocesor mai multe UCP implic arbitrarea sau comunicaia ntre acestea Alegerea UCP-ului - n funcie de arhitectura sistemului i arhitectura sistemului de memorie. - Dimensiunea cuvntului (cantitatea de informaii prelucrate) - Puterea de calcul (complexitatea algoritmilor) - Modalitile de interfaarea cu restul circuitelor: magistral sistem, interfaare serial sau paralel. - Instrumentele (i costul acestora) de dezvoltare - Instruirea (sau durata instruirii) personalului - Costul kit-urilor de dezvoltare - Suport - Ciclul de via a circuitelor - Posibilitatea de programare i debug Alegerea oscilatorului - Frecven (comunicaia cu alte circuite, ElectroMagnetic Compatibility) - Oscilator RC sau cuar - Intern sau extern Magistrala sistem - Magistral multiplexat - Decodificarea adreselor - Wait States pentru interfaarea cu perifericelor mai lente - DMA - Arbitrarea accesului (n cazul multiprocesor) - Analiza propagrii semnalelor Sistemul de memorie - Intern sau extern - Tipuri de circuite: ROM / RAM - RAM SRAM / DRAM - ROM PROM / EPROM / EEPROM / FLASH - NVRAM - Circuite de stocare magneto-optice

Periferice - Porturi I/O (paralele) impedan de intrare, curent debitat - Porturi seriale vitez de comunicaie, niveluri logice - Interfee seriale intercircuit compatibilitate - Timere - Watchdog - PWM - Controlere de tastatur i display Interfee seriale de comunicaie intercircuit - I2C Inter-Intergrated Circuit SCL/SDA pn la 127 periferice master-slave 100kHz-3.4MHz circuite de memorie, senzori - SPI / Microwire Serial Peripheral Interface SCLK/MOSI/MISO/SS numrul de periferice limitate de semnalele de select a masterului 1-70MHz CAN/CNA, senzori Condiiile de lucru pentru dispozitiv - Temperatur - Umiditate - Vibraii - Perturbaii electro-magnetice - Electrostatic Discharge (ESD) - Posibilitatea de alimentare cu energie electric - Emisiile electro-magnetice (EMC) i de zgomot ale dispozitivului Interfaa utilizator Elemente de intrare: Butoane Tastaturi matriceale Tastaturi seriale (PS2) Elemente de afiare: LED-uri Caractere pe 7 segmente LCD-uri (monocrome/color/alfanumerice/grafice) Achiziie de date - Senzori: Analogici (necesit convertoare) Digitali (de obicei seriali) - Convertoare Analog Numerice Rat de eantionare Precizie Elemente de comand - Permit comanda unor elemente de putere (motoare, electro-valve, rezistene de nclzire) - Necesit obligatoriu separare galvanic (optocuploare) - Necesit elemente de modificare a tensiunii de funcionare (relee, drivere de curent)

Analiz final - Toate componentele periferice (interfa utilizator, elemente de achiziie sau de comand) mi conduc la un necesar de interconectivitate n cadrul sistemului (numr de linii I/O, CAN, magistrale de comunicaie) - Se poate ajunge la modificarea opiunii de alegere iniial a UCP sau chiar a arhitecturii sistem Modelarea sistemului System engineering (1940 Bell Laboratories) - tiin interdisciplinar ce se ocup de partea de proiectare i management (de dezvoltare) pentru un sistem. E capabil s determine complexitatea sistemului pentru a permite proiectarea iniial i dezvoltarea corect. Strns legat de control engineering, industrial engineering, project management. Procesul de dezvoltare Este vzut ca un proces de decompoziie (analiz detaliat) urmat de un proces de recompoziie (integrare).Cerinele iniiale sunt analizate i redefinite din punct de vedere tehnic pentru a fi mprite n mai multe seturi de specificaii necesare diverselor componente sau activiti de dezvoltare. Modele i limbaje de modelare Modelele utilizate n ingineria sistemelor fac referire la fazele ce trebuie parcurse n modelarea sistemului (V, cascad, spiral). Limbajele de modelare permit ca rezultatul activitii de modelare s aib o form accesibil i universal recunoscut (Data Flow Diagram, UML, SysML). Object-Oriented Design Proiectarea se bazeaz pe definirea unui set de obiecte (entiti) ca elemente de baz n realizarea modelrii. Aceste elemente pot reprezenta aciuni sau funcii i pot conine informaii. Elementele se pot deriva, moteni, instania .a.m.d. O astfel de abordare permite reutilizarea modelelor, analiza i testarea acestora. Limbaje de modelare - UML Unified Modeling Language - OCL Object Constrain Language - MARTE (UML Profile) Modeling and Analysis of Real-Time and Embedded Systems - SysML Systems Modeling Language 5. Interfaa cu utilizatorul: Rol: Interfaa cu utilizatorul n cazul sistemelor embedded are de cele mai multe ori un rol extrem de important fiind una dintre funciile majore ale sistemului. Excepie pot face acele sisteme care sunt gndite s funcioneze autonom n medii greu accesibile. Elemente de intrare - Butoane, ntreruptoare - Tastaturi matriceale - Tastaturi seriale - Senzori de micare, de presiune sau de acceleraie - Tablete sau dispozitive de tip mouse - Recunoatere vocal (microfoane)

Butoane / ntreruptoare - Permit transmiterea unei comenzi binare ctre un pin al microcontrolerului - Butoanele implic revenirea = necesit o metod rapid de citire - Buton cu revenire logic ? Tastatur matriceal Scade numrul de linii necesare pentru interconectare (de la l*c la l+c) Necesit activarea succesiv a liniilor i citirea coloanelor. Senzori de acceleraie - Capacitivi - Piezoelectrici (pe baz de cristale) - Piezorezistivi - Senzori pe baz de efect Hall - Pe baz de transfer de cldur Elemente de afiare - Leduri - Caractere pe 7 segmente - LCD-uri alfanumerice monocrome - LCD-uri grafice monocrome - LCD-uri grafice color HD4478 LCD monocrom

- Linii de alimentare: VSS GND VDD +5V VEE contrast - Linii de comand: - RS Register Select face diferenierea ntre date i comenzi n ceea ce privete liniile de date. RS=0 Instruction Input, RS=1 Data Input. - RW Read/Write face diferenierea ntre cicluri de citire i scriere. RW=0 scriere, RW=1 citire (interogare). - E Enable semnal de activare a circuitului. - Liniile de date D0-D7 permit schimbul efectiv de date ntre circuitul de comand i dispozitivul LCD. n funcie de modul de configurare al dispozitivului LCD pot fi utilizate doar patru linii de date permind interfaarea cu dispozitive de comand pe 4 bii. - Atenie! Standardul HD44780U nu este un standard care specific modul de funcionarea al circuitului LCD ci un standard care specific modul de funcionare al controlerului LCD prin intermediul cruia se lucreaz cu LCD-ul.

6. Achiziia datelor: Mrimile fizice nconjurtoare au o variaie analogic. Chiar dac vorbim de senzori digitali nu nseamn c n cadrul procesului de achiziie nu are loc o eantionare. Excepie fac achiziiile de tip limit (s-a depit un anume nivel de exemplu) Semnale analogice conversie Cnd lucrm cu elemente de conversie trebuie precizat: - plaja semnalului analogic (ntre ce limite variaz semnalul analogic) - precizia (pasul, perioada de eantionare) influeneaz valoarea digital rezultat - modul de calibrare ne d sensibilitatea dispozitivului - necesarul de transfer: dac citim o valoare analogic (temperatur, tensiune etc.) trebuie s tim pe ci bii i la ce intervale este nevoie s culegem informaia. Funcionarea unui CAN - Realizeaz eantionare de la 0 la tensiunea de referin - 2n intervale de eantionare - Rezoluia = Vref / 2n (n=8, Vref=5V, Rez=19.5mV) Tipuri de CAN-uri Difer prin acuratee (precizie), vitez de eantionare i, bineneles, prin cost. Este foarte important de tiut modul n care funcioneaz un CAN pentru a putea face o alegere corect pentru procesul de eantionare. CAN cu urmrire - Cel mai vechi i cel mai lent tip de ADC - Timpul de eantionare este dependent de tensiunea msurat CAN de tip flash - Cel mai rapid dar i cel mai costisitor tip de CAN - Are un numr de 2n comparatoare CAN cu aproximri succesive - Un timp puin mai bun ca cel cu urmrire - n loc s se efectueze o incrementare se efectueaz o cutare binar CAN cu integrare - Partea integrativ se ncarc pn la valoarea de intrare dup care se msoar timpul de descrcare - Lent dar componenta integrativ filtreaz zgomotul CAN sigma-delta - Filtru trece jos este de fapt o component integrativ - Lent dar cu o acuratee mare (dat de frecvena ceasului) CAN de tip half-flash - Scade numrul de comparatoare fa de CAN-ul de tip flash Senzori - Elemente care permit transformarea mrimii fizice msurate n mrime electric (tensiune). - Permit unui sistem de calcul achiziia i prelucrarea n scop decizional a unor mrimi preluate din mediul nconjurtor.

Termistorul - Rezisten care i modific caracteristica n funcie de temperatur - Alternative: RTD (Resistance Temperature Detector) fir de nichel, cupru sau platin Termocuplu (are o plaj de msurare mai mare) Senzori optici slotted switched - Mecanism bazat pe ntreruperea unei raze luminoase de ctre un obiect n mi care genereaz un tren de impulsuri - Regsit la mouse-urile mai vechi Senzori optici bazai pe reflexie - Funcionare similar ca la slotted switched dar obiectul n micare este suprafaa - Similar cu funcionarea mouse-urilor optice Senzori de imagine CCD - Change Cupled Device - O suprafa care se ncarc electric sub bombardamentul fotonilor, o arie de siliciu care capt ncrcare electric. i aici avem o plaj de msurare: plaja de sus e culoarea alb. - Organizarea se face in felul urmtor: sub forma unei linii (linear CCD); pur i simplu necesit micare; de ex: se obine o line de imagine. - Senzorii CCD ne dau doar intensitatea nu i culoarea, existnd dou posibiliti pentru a face acest lucru: s se pun un senzor pentru fiecare culoare RGB ori s existe cte o linie pentru fiecare culoare cu un filtru de culoare (FTB luminos) ori s se ia o prism care face descompunerea luminii, astfel realizndu-se camere care vad color. Senzori de imagine Matrix CCD - Matrix CCD vd imaginea complet - Problema la aceti senzor este faptul c pentru fiecare pixel avem nevoie de conversie analog-digital, rezultnd un efort informaional enorm. - Pentru pixelii CCD-ului exist codecuri. Nu putem face eantionare de 800x600 i s o transmitem. Trebuie fcut compresie. 7. Comand i control: Sistemele embedded au de multe ori ca funcie central comanda unor dispozitive externe. Comanda poate fi numeric / binar aprinde un led sau deschide o u dar poate avea i un caracter mai delicat precum meninerea unui parametru fizic ntr-o anumit plaj comanda unui rezistene de nclzire pentru a menine o anumit temperatur, meninerea turaiei unui motor comand de tip control. Metode de control - Bucl deschis comand oarb, fr feedback; pentru aprinderea unui led este ok dar pentru o comanda de nclzire nu este rezonabil. - Comand cu reacie negativ - Comand bazat pe microprocesor Comand cu reacie negativ - Reacia negativ prin intermediul amplificatorului operaional permite stabilizarea comenzii. - Tot nu avem feedback dar avem o netezire a comenzii.

Comand bazat pe microprocesor

Control proporional - Netezete ocurile datorate comenzilor de tip nchis/deschis. - Evitm ocurile puternice i uzura dispozitivului comandat. Probleme ce pot afecta comanda - Perturbaii - Saturarea senzorului sau a elementului comandat - Timpul de rspuns (de calcul) - Apariia unor ferestre fr comand Izolarea galvanic - Absolut necesar dac existe diferene de tensiune sau curent ntre montajul de comand i cel comandat!!! - Poate fi realizat prin optocuploare, relee magnetice - Atenie!!! Mas comun conduce la non-izolare galvanic. PWM vs. Comand n tensiune - PWM consum mai mic - Comand n tensiune permite ajungerea n regim complet de funcionare 8. Comunicaii: Chiar dac de cele mai multe ori funcionalitatea sistemelor embedded se rezum la execuia unei sarcini simple cu efect local exist situaii n care este necesar ca sistemul s poat efectua comunicaii la distan. Exemple: transmisia parametrilor msurai la o staie central sistem de achiziie distribuit, interfa utilizator la distan echipamente industriale aflate la distan de consola de comand, transmiterea unor comenzi la distan sistemul de navigaie a unei rachete .a.m.d. Comunicaie serial RS232 - Standard de comunicaie serial introdus n 1962 - Permite comunicaia ntre dou dispozitive (DTE Data Terminal Equipment, DCE Data Communication Equipment). - Distana maxim aproximativ 15 metri. - Permite transmisia sincron sau asincron.

Comunicaie serial RS485 - Standard de comunicaie derivat din RS422 - Permite pn la 32 de dispozitive (sau chiar 256) - Distana maxim 1200 metri (cu ajutorul repetoarelor de semnal pn la civa km) - Viteze de comunicaii ntre 100kbs i 35Mbs Bluetooth - Standard radio de comunicaie multidispozitiv - Distan maxim 100 metri - Exemplu de modul bluetooth: YBM-1200 o Interfa USB, UART, SPI 9. Proiectarea software: Proiectarea software implic rezolvarea ctorva probleme: - Sistematizarea specificaiilor funcionale pentru a putea fi implementare sub forma unui program diagrame data flow, diagram de stare, flow charts, pseudocod constituie specificaiile software - Alegerea unei arhitecturi de program bucl deschis, sistem de ntreruperi, multitasking - Alegerea instrumentelor pentru implementarea i testarea programului asambloare, compilatoare, instrumente de tip JTAG - Managementul procesului de dezvoltare Diagrame data flow - Identific procesele principale din sistem i descriu modul n care informaia (comenzi, achiziie de date, evenimente) circul ntre aceste procese - Nu descriu condiii / nu identific strile decizionale - Utile pentru identificarea funcional major Diagrama de stare - Identific strile sistemului i tranziiile ntre stri - Pun accentul pe evenimentele care declaneaz trecerea dintr-o stare n alta - Reprezint un nivel mai detaliat necesar pentru a putea implementa procesele Diagrame flow charts - Detaliaz efectiv procesul - Ne arat att tranziiile i factorii care le determin ct i partea decizional a procesului - Form destul de apropiat de codul propriu-zis Pseudocod - Descriere a unui algoritm ntr-o form apropriat de limbajul uman - Respect un formalism minimal Exemplu: IF <condition> DO stuff; ELSE DO other stuff;

Avantajele sistematizrii specificaiilor funcionale - Implementare riguroas - Posibilitatea reutilizrii unor pri din partea de proiectare n cazul modificrii hardware sau a instrumentelor software - Urmrirea corect a efectelor unei modificri n specificaiile funcionale ATENIE! O greeal n realizarea unei diagrame sau n pseudocod conduce la implementarea sigur greit a codului Arhitecturi de program - Bucl infinit verificarea intrrilor i efectuarea operaiilor necesare n cadrul unei bucle infinite. - Mai multe bucle infinite ntre care efectum diverse tranziii. - Bucl infinit + sistem de ntreruperi necesitatea de cod reentrant. - Multitasking. Management break - Arhitectura programului influeneaz n mod crucial att modelarea sub form de pseudocod ct i codul propriu-zis. - Alegerea arhitecturii programului sau a uneltelor de dezvoltare nu trebuie s fie sarcini ale analistului sau ale programatorului ci ale managerului de proiect (ef de proiect, arhitect, senior ). Alegerea limbajului de programare - Limbaj de asamblare programare mai eficient (memorie dimensiune & timp de acces, utilizare periferice). - Limbaj de nivel nalt timp mai scurt de nvare, portabilitate i reutilizare a codului. Alegerea mediului de dezvoltare - Maturitatea mediului de dezvoltare (motenirea bugurilor mediului de programare). - Productorul mediului de dezvoltare. - Intefa IDE. - Biblioteci disponibile. Alegerea altor instrumente utile - Simulatorul integrat adesea n mediul de dezvoltare dar nu ntotdeauna. - Mecanisme de debug conectate direct la platform intefa JTAG (IEEE-1149.1). - Metode de ncrcare / transfer a programului n memoria intern a microcontrolerului (ISP, ICSP). Alte probleme legate proiectarea i testarea software - Durata de desfurare a proceselor fizice (timpul n care urc liftul ntre etajul 1 i 2). - Probleme de funcionare hardware (funcionarea defectuoas a unui senzor). - ntrzieri datorate arhitecturii hardware (periferice lente, arbitrare pe magistrala sistem). - Perturbaii diverse. - Limitri hardware (UCP, dimensiunea memoriei, vitez de comunicaie). - Depanarea (de multe ori trebuie efectuat de personal fr pregtire tehnic avansat). - Prioriti n funciile de sistem (butonul de la ce etaj este prioritar?). - Solicitri particulare de la client (limbaj de dezvoltare, specific interfa utilizator) - Partiionarea codului. - Caracteristicile de timp real.

- Comentarea corespunztoare a codului. - Realizarea de instruciuni de utilizare. - Implementarea elementelor la mod. 10. Programarea n limbaj de nivel nalt - Vision Mediu integrat de dezvoltare (IDE) A51 Macro Assembler C51 ANSI C Compiler BL51 Code Banking Linker/Locator OH51 Object-HEX Converter OC51 Banked Object Converter - Suport o mare varietate de microcontrolere din familia MCS51, 251, 166, ARM. De ce C ? - Dezvoltare i mentenan mai simpl - Reutilizare a codului - Programare structurat - Modularitatea codului - Uurina de implementare a algoritmilor - Utilizarea unui limbaj bine cunoscut Particulariti ale Keil C (fa de ANSI C) - Tipuri de date o Bit o char / unsigned char 8 bits o int / unsigned int 16 bits o long / unsigned long 32 bits o float / double 32 bits o generic pointer 24 bits - SFR o sfr SCON = 0x98; o sbit TI = 0x99; Zone de memorie - DATA Partea inferioar a memoriei de date intern. Adresare direct ntr-un ciclul main. - BDATA Cei ase octei adresabili la nivel de bit din memoria intern de date. - IDATA Partea superioar a memoriei interne de date (la dispozitive de tip 8x52). Adresare indirect. - PDATA Memorie extern de date (pn n 256 bytes) adresabil indirect pe baza unui registru de uz general (MOVX @Rn). Dureaz dou cicluri main. - XDATA Memorie extern de date la care se face accesul pe baza lui DPTR. - CODE Memorie extern program la care accesul se face pe baza lui DPTR: Dimensiunea pointerilor - DATA pointer 1 byte - generic pointer 3 bytes - IDATA pointer 1 byte - XDATA pointer 2 bytes - PDATA pointer 1 byte - CODE pointer 2 bytes

Exemple unsigned char idata system_status=0; float pdata outp_value; unsigned int code unit_id; char *generic_ptr; char data *xd_ptr; inp_byte=XBYTE[0x8500]; inp_word=XWORD[0x4000]; c=*((char xdata *) 0x0000); XBYTE[0x7500]=out_val; Exemplu de translatare MOV R0,#inp_reg1 #include <reg51.h> MOV A,P1 unsigned char pdata inp_reg1; MOVX @R0,A unsigned char xdata inp_reg2; MOV DPTR,#inp_reg2 void main(void) { MOV A,P3 inp_reg1=P1; MOVX @DPTR,A inp_reg2=P3; } ntreruperi void timer0(void) interrupt 1 using 0 { TR0=0; TH0=RELOADVALH; TL0=RELOADVALL; TR0=1; tick_count++; printf("tick_count=%05u\n", tick_count);} Lucruri ce trebuie evitate n Keil C - Declararea unor variabile de tipuri mai mari dect este necesar (se ncurajeaz utilizarea variabilelor de tip bit) - Utilizarea unor variabile cu semn - Utilizarea virgulei mobile (fpsave, fprestore) - Declararea de variabile globale (regitrii vs. XDATA; multitasking) - Utilizarea memoriei externe pentru variabile des utilizare - Utilizarea de pointeri generici - Se recomand utilizarea: o funciilor intrinseci (_crol_, _cror_, _testbit_) o Macrourilor n locul funciilor #define led_on() {\ led_state=LED_ON; \ XBYTE[LED_CNTRL] = 0x01;} Modele de alocare a memoriei Small memory model alocarea implicit se face n DATA Compact memory model alocarea implicit se face n PDATA Large memory model alocarea implicit se face n XDATA

Librrii nereentrante

Alocarea dinamic a memoriei - Nu este indicat - E posibil n XDATA typedef struct entry_str { struct entry_str xdata *next; char text[33]; } entry xdata *newptr; newptr=malloc(sizeof(entry)); sprintf(newptr->text, "entry number one"); Declararea adresei unei variabile unsigned char data byteval _at_ 0x32; unsigned char xdata inpreg _at_ 0x4500; unsigned char inpval; inpval=inpreg; inpval=XBYTE[0x4500]; Mixarea codului ASM i C #include <reg51.h> extern unsigned char code newval[256]; void func1(unsigned char param) { unsigned char temp; temp=newval[param]; temp*=2; temp/=3; #pragma asm MOV P1, R7 ; write the value of temp out MOV P1, #0 ; clear P1 #pragma endasm }

11. Sisteme de operare specializate: Funciile unui sistem de operare - Gestioneaz task-urile - Face legtura ntre hardware i utilizator - Realizeaz anumite sarcini specifice - Gestioneaz resursele sistem Sisteme operare embedded - Ruleaz pe platforme de tip embedded - Permit multitasking (funcii complexe) - Permit scrierea de software mai rapid (datorit interfarii cu hardware-ul funcii sistem) - Pot fi hard RTOS / soft RTOS / uz general - Pot fi proprietar sau open-source Criterii de evaluare n alegerea SO - Categoria din care face parte sistemul - Resursele hardware - Timpul de proiectare/producie/lansare - Cost - Competene necesare Categoria sistemului - sisteme din industria auto - industria aeronautic / sisteme militare - categorii de larg consum - sisteme medicale - dispozitive de reea - sisteme din industrie Resurse hardware - procesorul: acest aspect limiteaz foarte mult alegerea SO deoarece majoritatea sistemelor de operare sunt gndite pentru anumite arhitecturi. - Memoria - necesarul de interconectare: lucrul cu hardware-ul. SO trebuie s poat include capacitatea de comunicare TCP/IP, bluetooth etc. dac se dorete disponibilitatea anumitor metode de transmitere de date. - perifericele Cost - Dac se noteaz cu: o P = preul produsului final cu care se dorete a fi dat cumprtorului o Ch = costul hardware-ului o CS = costul software-ului (tax pentru fiecare bucat vndut) o Nh = costul de proiectare hardware o NS = costul de proiectare software o D = numrul de dispozitive vndute - Se obine urmtoarea formul:
P Ch CS Nh NS D D

- Ch se amortizeaz n funcie de numrul de dispozitive vndute. NS este un cost care ine de software-ul dezvoltat de productor sau n cazul n care software-ul este cumprat. Acest cost se platete o singur dat , nu pentru fiecare bucat dispozitiv n parte. De obicei NS este inclus n Cs. Timpul de proiectare/producie/lansare Timpul de realizare este timpul necesar pentru ca produsul(dispozitivul) s fie lansat pe pia. Acest timp nu trebuie s fie prea mare, dar el depinde de tipul produsului. Competene necesare / suport - Competenele reprezint gradul de cunotine necesare pentru a utiliza i dezvolta sistemul de operare. Ele sunt competenele pe care trebuie s le aib echipa de dezvoltare pentru a lucra cu sistemul de operare. - Un SO mai cunoscut dispune de o comunitate de utilizatori mai mare, lucru care face SO mai puternic deoarece documentaia pentru suport se gsete mai rapid i n cantiti mari. Cumprarea unui sistem de operare - Prin cumprarea unui SO cumprm un produs optimizat, timpul de lansare pe pia este scurt, beneficiem de suport. n cazul produselor comerciale timpul de via al produsului este asigurat. De obicei, produsele comerciale sunt bine documentate. - Aspecte negative: cost mare : poate exista o tax pe dispozitiv; orice soft nu este perfect i pot aprea bug-uri de aceea trebuie vzut modul de realizare al contractului de cumprare trebuie s se cunoasc de la nceput necesarul hardware suntem nevoii s nvm produsul dezvoltat de altcineva Dezvoltarea unui SO propriu - Aspecte pozitive: nu depindem de produsul altuia (care n timp poate da faliment i n acest caz nu am mai avea suportul necesar) avem independen fa de aceast pia inem sub control costurile - Aspecte negative: competene: greu de gsit persoane suficiente pentru a lucra la componente depindem de persoanele care dezvolt aplicaia (poate exista cazul n care concediem persoanele care au dezvoltat softul) dureaz mai mult dezvoltarea softului documentaia depinde de persoanele care au dezvoltat produsul trebuie asigurat mentenana produsului Soluie hibrid Cnd plecm de la o soluie open-source i dezvoltm ceva nou. O suluie hibrid presupune un cost iniial, dar costurile totale sunt mai mici. Aceasta este o soluie care realizeaz un compromis ntre primele dou variante. Exemple de sisteme de operare - Cisco OS; - S60; - Symbian; - eCos (open sourse RTOS); - Windows CE (Pocket PC, Windows Mobile); - BlackBerry OS; - Embedded Linux (Android, CLinux);

12. Sisteme industriale de tip PC: Ce este un PC industrial? Un sistem de tip PC (x86) destinat aplicaiilor industriale Caracteristici: - Solid (carcas metalic robust) - Form standard (rack-abil) - Rcire optimizat (filtru de aer, rcire cu lichid) - Extensibilitate mai simpl - Ecranare magnetic i electric - Consum redus - Watchdog de sistem Avantaje - Viteza de dezvoltare a sistemului (time to market): sunt luate n considerare preul (costul) i timpul de dezvoltare - Cost proiectare / dezvoltare redus pentru cazul unor sisteme produse n serie mic. - Timpul n care hardware-ul este disponibil e minim. - Capacitate de stocare a datelor - Software standard (familiar): exist deja foarte muli oameni instruii pe aceste sisteme - Hardware standard: componentele sunt relativ uor de gsit pe pia - Interfaa utilizator - Tool-uri: de la cele gratis la cele comerciale; partea de instruire nu este necesar - CPU (procesorul): de obicei, procesoarele care se gsesc pe aceste sisteme sunt standard. Dezavantaje - Cost mare: cnd produsul este optimizat, dar deja a fost produs n serie. - Dezvoltare hardware: cnd avem de interfaat sistemul cu un dispozitiv non-standard. n acest caz costul e si dezavantaj i avantaj. - Necesitatea unei tastaturi i display: lucru care poate fi evitat prin modificarea BIOS-ului, astfel nct s permit pornirea sistemului de operare i fr aceste periferice sau s permit redirecionarea acestor dispozitive ctre portul serial etc. - Disponibilitatea componentelor: lumea PC-urilor are o dezvoltare foarte rapid; dac lum azi un PC, peste 3 ani dac ni s-a ars o component exist posibilitatea s nu mai gsim pe pia nlocuitor. - SO nu sunt real time: dac utilizm SO uzuale (DOS, Windows) nu ne ofer performan e n timp real. Putem s alegem n acest caz soluii mai scumpe n ceea ce privete sistemul de operare. - disponibilitatea de stocare: personalizri ale sistemului: unele sisteme nu dispun de HDD - partea de proiectare este executat de alte persoane i nu echipa proprie de dezvoltare, idem testare: nu avem sigurana c proprietile declarate sunt i cele reale. Standarde industriale PC/104 - Stabilete forma i magistrala de interconectare: - PC/104 PC/104 ISA - STD Bus (Z80) PC/104-Plus ISA & PCI - VME Bus (Motorola) PC-104 PCI PC/104 Express PCI & PCIe PCIe/104 - PCIe

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