disertatie despa luminita

  • Upload
    catatgv

  • View
    184

  • Download
    0

Embed Size (px)

Citation preview

Sistem embedded pentru gestiunea accesului ntr-o incint

Propus de Departamentul Electronic, Telecomunicaii i Inginerie Electric ca

Lucrare de Disertaie

la Facultatea de Inginerie Electric Universitatea VALAHIA din Trgovite

susinut de

Luminia-Elena DESPAmartie 31, 2011

SUPERVIZAT DE CONF. DR. ING. HENRI GEORGE COAND

Reproducerea se poate face doar cu permisiune din partea autorului

Facultatea de Inginerie Electric

Faculty of Electrical Engineering

Luminia Elena DESPAAUTOR LUCRARE / AUTHOR OF THESIS

Master of Science (M.Sc.)GRAD / DEGREE

Sisteme Avansate de Telecomunicaii, Prelucrarea i Transmiterea InformaieiDOMENIU / DOMAINE

Sistem embedded pentru gestiunea accesului ntr-o incintTITLUL LUCRRII / TITLE OF THESIS

Henri George COANDCOORDONATOR LUCRARE / THESIS SUPERVISOR

CO-SUPERVIZOR LUCRARE / THESIS CO-SUPERVISOR

EXAMINATORI LUCRARE / THESIS EXAMINERS Dinu COLUC Radu DOBRESCU

Gabriel PREDUC

Henri - George COAND

Florian ION

Henri - George COANDDECAN FACULTATEA DE INGINERIE ELECTRIC / DEAN OF ELECTRICAL ENGINEERING FACULTY

Reproducerea se poate face doar cu permisiune din partea autorului

Sistem embedded pentru gestiunea accesului ntr-o incintLuminita Elena DESPA [email protected] B.Sc. obinut la Universitatea VALAHIA din Trgovite Specializarea Electronic i Telecomunicaii n 2009

AbstractLucrarea de fa i propune s ofere o modalitate de a gestiona accesul ntr-o incint i de a aduga un plus de siguran persoanelor i bunurilor din interiorul acesteia. Soluia folosit este un sistem ncorporat care interacioneaz cu lumea exterioar i reacioneaz la evenimente n timp real. Sistemul pentru gestionarea accesului utilizeaz pentru autenficare carduri magnetice n combinaie cu un cod pin format din cifre zecimale. Deoarece folosete carduri bancare, uureaz utilizatorul de a purta asupra sa multiple cartele de acces suplimentare, cum ar fi cartele magnetice de proximitate prin frecven radio. n plus, folosind carduri bancare, sistemul este mai sigur i mai greu de spart fa de sistemele actuale bazate pe infrarou. Sistemul nu se oprete niciodat din execuie (cazul ideal), iar pentru c implementeaz doar funcionalitatea de a gestiona accesul, are un consum redus de electricitate. Deoarece lucreaz n timp real are o vitez mare de execuie i ntrzieri minime. Pentru c implementarea hardware a sistemului are costuri i dimensiuni reduse, utilitatea acestuia este extins, avnd o plaj mare de utilizare; acesta poate fi montat pe orice u sau barier de acces fiind independent de numarul utilizatorilor. Sistemul se instaleaz foarte repede, iar odat instalat poate fi utilizat foarte uor avnd o interfa prietenoas.

Cuvinte cheie: acces, card magnetic, cititor de carduri, cod, control acces.

3

Sistem embedded pentru gestiunea accesului ntr-o incint

AbstractThis paper aims to provide a way to manage access to a site and add an extra safety of persons and their properties. The solution used is an embedded system that interacts with the outside world and react to events in real time. Access management system its using for authentication magnetic cards in combination with a PIN code composed of digits. As its using bank cards, facilitate the user to carry multiple cards, such as radio-frequency magnetic proximity. In addition, using credit cards, the system is more secure and more difficult to break compared to current systems based on infrared.

The system never stops running (ideally), and because only implements the functionality to manage access, has reduced electricity consumption. Since works in a realtime, the execution speed is fast and minimum delays. Because hardware implementation of the system size and cost is reduced, its usefulness is extended with a large range of use; it can be mounted on any door or access barrier, beeing independent of the number of users. The system installs quickly, and once installed can be used very easily with a friendly interface.

Keywords: access, magnetic card, card reader, code, access control

Thesis Supervisor: Henri George COANDA Professor, Ph.D. Eng., Electronic, Telecommunication and Power Energy Department Electrical Engineering Faculty University VALAHIA of Targoviste

4

LISTA ABREVIERILOR ADC .................................................................................................... Analog Digital Converter ARM ................................................................................................... Advanced RISC Machine ASCII ..................................................... American Standard Code for Information Interchange CRC................................................................................................... Cyclic Redundancy Check CVV ...................................................................................................... Card Verification Value DMA ....................................................................................................... Direct Memory Access EEPROM .......................................... Electrically Erasable Programmable Read-Only Memory ELF ................................................................................................ Executable Linkable Format EPROM ................................................................ Erasable Programmable Read-Only Memory FPGA ....................................................................................... Field Programmable Gate Array FPSLIC ................................................... Field Programmable System Level Integrated Circuit GND ................................................................................................................................. Ground IP ....................................................................................................................... Internet Protocol IVCE ......................................................................................... Interrupt Vector Change Enable IVSEL ..................................................................................................... Interrupt Vector Select JTAG ..................................................................................................... Joint Test Action Group LCD......................................................................................................... Liquid Crystal Display LED ............................................................................................................Light Emitting Diode LRC ......................................................................................... Longitudinal Redundancy Check MAC ........................................................................................................ Media Access Control MIPS ...........................................................................................Million Instruction Per Second

5

OCR .................................................................................................... Output Compare Register OTPROM ........................................................... One Time Programmable Read-Only Memory PAN.................................................................................................... Primary Account Number PVKI ........................................................................................... Pin Verification Key Indicator PWM .....................................................................................................Pulse Width Modulation RFID ......................................................................................... Radio Frequency IDentification RISC ......................................................................................Reduced Instruction Set Computer RS232............................................................................................. Recommended Standard 232 RTI ............................................................................................................... Real-Time Interrupt SPI ...................................................................................................... Serial Peripheral Interface SRAM ....................................................................................... Static Random Access Memory SREG ................................................................................................................... Status Register TCNT ..................................................................................................... Timer Counter Register TTL .................................................................................................. Tranzistor Transistor Logic TVI ........................................................................................................... Table Vector Interrupt UBRR .............................................................................................. USART Baud Rate Register UCSR ................................................................................. USART Control and Status Register UDP....................................................................................................... User Datagram Protocol USART ...............................................................Universal Asynchronous Receiver Transmiter UTP ...................................................................................................... Unshielded Twisted Pair Vcc/Vdd ................................................................................................ Positive Supply Voltage Vee/Vss ................................................................................................Negative Supply Voltage

6

LIST FIGURI

Fig.2.1. Porturile microprocesorului ........................................................................................ 20 Fig.2.2. Registrele asociate pentru portul A ............................................................................ 21 Fig.2.3. Tabela vectorilor de ntrerupere ................................................................................. 23 Fig.2.4. SREG .......................................................................................................................... 24 Fig.2.5. GICR ........................................................................................................................... 24 Fig.2.6. Controlul regitrilor MCU .......................................................................................... 26 Fig.2.7. Controlul sensului de ntreruperi 2 ............................................................................. 26 Fig.2.8. Timer-ul ...................................................................................................................... 28 Fig.2.9. Memoria SRAM ......................................................................................................... 31 Fig.2.10. Semnal analogic eantionat la rezoluii diferite ........................................................ 33 Fig.2.11. Datasheet Hitachi 44780 ........................................................................................... 35 Fig.2.12. LCD Data Wire Waveform....................................................................................... 37 Fig.2.13. Tastatura ................................................................................................................... 37 Fig.2.14. Tastatura alfanumeric ............................................................................................. 39 Fig.2.15. Tastatura numeric ................................................................................................... 40 Fig.2.16. Formatul unui frame ................................................................................................. 41 Fig.2.17. UDR .......................................................................................................................... 42 Fig.2.18. UCSRA ..................................................................................................................... 42 Fig.2.19. UCSRB ..................................................................................................................... 43 Fig.2.20. UCSRC ..................................................................................................................... 43 Fig.2.21. UBRR ....................................................................................................................... 457

Fig.2.22. Schema de conectare a ocilatorului extern .............................................................. 50 Fig.2.23. Biii de configurare ................................................................................................... 51 Fig.3.1. Programator serial....................................................................................................... 54 Fig.3.2. Sursa stabilizat de tensiune ....................................................................................... 55 Fig.3.3. Microcontroler-ul........................................................................................................ 56 Fig.3.4. Interfaa RS232 ........................................................................................................... 57 Fig.3.5. Schema logic a cititorului de carduri ........................................................................ 58 Fig.3.6. Realizarea cablului serial ............................................................................................ 60

8

LIST TABELE

Tab.2.1. Controlul sensului de ntreruperi 1 ............................................................................ 26 Tab.2.2. Descrierea pinilor....................................................................................................... 34 Tab.2.3. Descrierea firelor ....................................................................................................... 40 Tab.2.4. Biii UCSRC .............................................................................................................. 44 Tab.2.5. UCSZ ......................................................................................................................... 44 Tab.2.6. Valorile de scris n UBRR pentru frecvene de 16 MHz ........................................... 45 Tab.2.7. Modurile de operare ale unui ocilator ...................................................................... 49 Tab.2.8. Modurile de operare ale unui ocilator pe cristal....................................................... 50 Tab.3.1. Tipuri de echipamente existente ntr-un sistem de control acces i nivelul la care sunt ntlnite .................................................................................................................................... 53

9

CUPRINS Abstract ...................................................................................................................................... 3 Lista abrevierilor ........................................................................................................................ 5 List figuri .................................................................................................................................. 7 List tabele ................................................................................................................................. 9 Capitolul 1. Studiu bibliografic................................................................................................ 12 1.1 Controlul accesului n sistemele de securitate ............................................................... 12 1.2 Sistemele cu cod de bare i RFID .................................................................................. 12 1.3 Sisteme cu carduri magnetice ......................................................................................... 14 Capitolul 2. Proiectare ............................................................................................................. 16 2.1 Microcontroler ................................................................................................................ 16 2.1.1 Familia Atmel AVR ............................................................................................ 18 2.1.2 Porturi digitale .................................................................................................... 19 2.1.3 ntreruperi ........................................................................................................... 21 2.1.4 Timerul/Counterul............................................................................................... 27 2.1.5 Registre ............................................................................................................... 29 2.1.6 Lucrul cu memoria SRAM............................................................................... 30 2.1.7 Convertorul ADC ................................................................................................ 32 2.2 Interfaarea unui LCD alfanumeric ................................................................................ 33 2.2.1 Instruciuni suportate .......................................................................................... 34 2.2.2 Procedura de comunicaie ................................................................................... 3610

2.3 Tastatura ......................................................................................................................... 37 2.4 Cititorul de carduri i cardurile cu band magnetic...................................................... 38 2.5 Interfaa serial ............................................................................................................... 41 2.5.1 Protocoale sincrone de comunicaie serial ........................................................ 46 2.5.2 I2C, SPI, 1Wire ................................................................................................... 46 2.6 Configurare ceas microcontroler .................................................................................... 49 Capitolul 3. Implementare ....................................................................................................... 52 3.1 Interfaa de programare .................................................................................................. 53 3.2 Modulul de alimentare ................................................................................................... 54 3.3 Microcontrolerul............................................................................................................. 55 3.4 Interfaa serial ............................................................................................................... 56 3.5 Cititorul de carduri i tastatura ....................................................................................... 57 3.6 LCD-ul alfanumeric ....................................................................................................... 59 3.7.Concluzii i dezvoltri ulterioare ................................................................................... 61 Bibliografie .............................................................................................................................. 62 Anexe ....................................................................................................................................... 63

11

CAPITOLUL 1 STUDIU BIBLIOGRAFICLucrarea ncepe printr-un studiu bibliografic n care sunt prezentate sistemele de gestionare a accesului deja existente, apoi urmeaz o parte de proiectare n care este descris sistemul pe componente i o parte de implementare n care se expune modul de lucru pentru lipirea componentelor i comunicaia dintre acestea. La final se afl concluziile, dezvoltrile ulterioare, bibliografia i anexa.

1.1. Controlul accesului n sistemele de securitateCea mai rapid cretere pe piaa controlului accesului este segmentul cartelelor de proximitate i a ariilor de citire. Cartelele de acces sunt purtate de angajai sau vizitatori iar cititoarele sunt montate la ui de acces, intrarea parcrilor sau n locuri de acces special amenajate unde este necesar controlul accesului. Cnd un posesor trece cartela printr-un sau prin apropierea unui cititor, ua este deblocat numai dac persoana este autorizat pentru acces. Accesul n zone speciale poate fi limitat pentru anumii angajai ntre anumite perioade de timp determinate. Sistemul permite modificarea permisului accesului n zile de srbtoare sau n concedii. Vizitatorii pot primii acces numai n anumite zone si ntre anumite perioade de timp.

1.2. Sistemele cu cod de bare i RFIDIDentificarea prin RadioFrecven (RFID - Radio Frequency IDentification) sau proximitate, este ultima i cea mai avansat metod tehnologic de colectare automat a datelor. RFID este un sistem de identificare asemntor tehnologiei cu cod de bare. Sistemele cu cod de bare necesit un cititor i etichete adezive lipite pe obiecte, pe cnd RFID necesit un cititor i tag-uri speciale sau cartele ataate/integrate n obiecte. Prin comparatie, codul de bare utilizeaz reflexia unui fascicul luminos peste eticheta ce conine tiprit codul, iar RFID folosete un cmp de radiofrecven de putere mic. Acest cmp de radiofrecven nu

12

necesit o poziionare precis a obiectului la citire, el penetreaz orice material nemetalic nefiind necesar contactul direct cu echipamentul de citire. RFID este ideal pentru medii cu ulei, umezeal, praf, ce se ntlnesc n procesele industriale. Tag-urile i cititoarele RFID nu conin prti n micare, ntreinerea fiind foarte redus, pot opera n condiiile amintite lungi perioade de timp, fr intervenie. Tag-urile pasive au o durat de funcionare extrem de mare, de obicei depesc perioada de viat a obiectului gazd. Fa de cod-urile de bare sau suporii magnetici, tag-urile RFID sunt practic imposibil de copiat. Din acest motiv sunt ideale n aplicaii cu un grad ridicat de securitate precum identificarea persoanelor sau a valorilor. Tehnologia RFID este rapid; viteza de citire a unui tag este de ordinul zecilor de milisecunde. Sistemele RFID sunt compuse, n general, din trei componente: un cititor, un transponder (tag de radiofrecven) i un computer sau microcontroler. Cititorul conine componente electronice care emit i recepioneaz un semnal spre i de la tag-ul de proximitate, un microprocesor care verific i decodific datele recepionate i o memorie care nregistreaz datele pentru o transmisie viitoare dac este necesar. Cititorul are conectat o anten pentru a fi posibil recepia i transmisia datelor. Un tag de proximitate conine un cip electronic ca element principal, acesta controlnd comunicaia cu cititorul. Acesta conine o seciune de memorie cu rol de stocare a codurilor de identificare sau alte date, fiind activat odat cu comunicaia. n majoritatea cazurilor, cititorul emite un cmp electromagnetic. Cnd un tag trece prin aceast zon, acesta detecteaz semnalul generat de cititor i ncepe s comunice informaiile stocate n memorie. Semnalul generat de cititor ofer att informaii temporale ct i suficient energie tag-ului pentru a-i asigura funcionarea. Atta timp ct tagul este alimentat el parcurge o serie de secvene ce permit adresarea unor locaii de memorie, datele citite fiind transmise napoi cititorului.Cnd cititorul recepioneaz datele, le decodific i le supune unui test de validare (CRC -Cyclic Redundancy Check). Tag-urile pot fi active sau pasive. Un tag activ necesit conectarea la o baterie intern prin integrarea acesteia. Aceste sisteme au avantajul reducerii energiei necesare generate de cititor, avnd o mai mare distan de citire. Ca dezavantaj au o durat de via scurt datorit bateriei. Un tag pasiv opereaz pe baza energiei generate de cititor. Acestea sunt mai mici i13

mai uoare dect cele active, mai ieftine, iar durata de via este teoretic nelimitat. Dezavantajul const n distana redus de citire. Tag-urile mai sunt divizate n trei grupe principale: citire-scriere, nscrise odat citite de mai multe ori, numai citire. Tag-urile citire-scriere conin o memorie ce stocheaz date ce pot fi modificate prin operaii normale. Exemple de astfel de tag-uri sunt cartelele de telefon sau carile de credit bancar. Aceste tag-uri sunt mai scumpe dect celelalte tipuri. Tag-urile ce pot fi numai citite conin un cod unic programat ce nu poate fi modificat. Acest element confer acestor tag-uri un nivel ridicat de securitate. Comparaie ntre tag-urile de proximitate i codul de bare tag-urile de proximitate nu funcioneaza prin contact; viteza de citire a tag-urilor este mult mai mare; tag-urile pot fi amplasate oriunde, pot fi integrate n obiecte; tag-urile de proximitate sunt lipsite de mentenan; citirea unui tag de proximitate este far erori; tag-urile pot fi utilizate n medii perturbtoare, chiar i lnga generatoare de radiofrecven ; citirea tag-urilor se poate realiza prin: praf, murdarie, vopsea, aburi, noroi, ap, plastic, lemn; tag-urile pasive au garanie de funcionare nelimitat; tag-urile sunt aproape imposibil de falsificat; tag-urile de scriere-citire pot fi inteligente (cartele de credit); tag-urile pot fi purttoare de cantiti mari de date ; tag-urile pot fi scrise sau citite; pretul tag-urilor scade faa de cel cu cod de bare dac sunt reutilizate;

1.3. Sisteme cu carduri magneticeSistemul cu carduri magnetice este format dintr-un cititor de carduri i cardul cu band magnetic. Cititorul poate fi legat la un calculator, staie de baz sau microcontroler prin interfaa USB (Universal Serial Bus), TTL (Tranzistor Tranzistor Logic) sau RS232. Pentru a putea citi cardul, cele dou trebuie s se afle n contact, cardul fiind trecut prin cititor14

prin dreptul capului de citire al acestuia. Sistemul face economie de energie prin faptul c cititorul se afl ntr-o stare de consum mic de putere pn n momentul cnd este depistat un card. Acest lucru constituie un avantaj fa de sistemele pe baz de RFID, unde cititorul emite cmp electomagnetic n mod constant. Cardul magnetic poate stoca date prin modificarea magnetismului particulelor minuscule de pe banda magnetic a acestuia. Banda magnetic a cardului este divizat n 3 piste. Pista 1 este pist de text i conine nume, adrese i informaie similar. Pista 2 este optimizat pentru numere i conine conturi, ID-uri, date, etc. Pista 3 este cea mai apropiat de centrul cardului i conine date secrete. O descriere mai amnunit a sistemelor bazate pe cartele magnetice va fi ntlnit n capitolele urmtoare.

15

CAPITOLUL 2 PROIECTARESistemele electronice de control acces sunt sisteme complexe formate din componente mecanice, electromecanice, electronice ( hardware) i software, interconectate astfel nct s asigure funciile de protecie i control impuse anumitor tipuri de spaii. Practic sistemele de control acces asigur necesarul de securitate ce trebuie avut indiferent dac vorbim de aplicaii de paz perimetral, acces n parcri, spaii de birouri, aplicaii militare, cldiri de birouri sau zone de nalt securitate.

2.1. MicrocontrolerulUn microcontroler este un tip de circuit care integreaz un microprocesor i alte dispozitive periferice ntr-un singur cip, punndu-se accent pe un cost redus de producie i consum redus de energie electric. Principala diferen dintre un microcontroler (C) i un microprocesor (P) o constituie faptul c un C integreaz memoria de program, memoria de date i alte interfee de intrare-ieire sau periferice. Din cauza integrrii unui numar mare de periferice i a costului redus de producie, un C opereaz la viteze reduse, frecvena sa de ceas fiind de obicei de zeci sau sute de MHz, cu un ordin de mrime mai mic dect cea a unui P actual. Cu toate acestea, microcontrolerele se preteaz la o gam variat de aplicaii fiind folosite att n mediul industrial ct i n produse de larg consum, de la sisteme din industria aerospaial pna la telefoane mobile, cuptoare cu microunde i jucrii. Majoritatea sistemelor de calcul ntlnite n ziua de azi au migrat din suportul unui calculator obinuit i au fost integrate n alte dispozitive cum ar fi automobilele sau produsele electronice formnd ceea ce se cheam un sistem embedded. Un sistem embedded poate veni ntr-un pachet foarte diferit fa de un calculator obinuit. De exemplu, acesta poate s nu aib un display sau o tastatur, intrarile i ieirile fiind simple comutatoare i led-uri. Un astfel de sistem poate avea cerine minime de performan sau capacitate de memorie i vitez de execuie. Un microcontroler dintr-un16

sistem embedded poate s fac o gama variat de operaii, de la controlul unor motoare electrice pn la comunicaia cu alte device-uri asemntoare ntr-o reea wireless. Majoritatea C nu au un bus extern de adrese sau date deoarece toate memoriile de date sunt interne. Acest lucru duce la integrarea acestora n capsule cu un numr mic de pini i reduse ca dimensiuni, ceea ce duce n schimb la micorarea costurilor de producie. Cele mai ntalnite structuri din circuitul integrat al unui C sunt urmtoarele:

Unitatea central de procesare (P core) cu o arhitectur care poate fi pe 8, 16, 32 sau 64 de bii. Memorie de date volatil (RAM) sau nevolatil pentru date sau program (Flash sau EEPROM)

Porturi digitale de intrare-ieire Interfee seriale (RS232, SPI, I2C, CAN, RS485) Timere, generatoare de PWM sau watchdog Convertoare analog-digitale Suport pentru programare i debugging (ISP) Unele microcontrolere au o arhitectur Harvard, cu magistrale separate de date i

instruciuni, permind astfel un acces concurent. n cazul folosirii acestei arhitecturi, instruciunile pot avea o lungime diferit fa de registrele de memoria intern. De exemplu, pentru familia AVR de la Atmel instruciunile au lungimea de 16 bii iar registrele interne sunt de 8 bii. Costul unui C depinde n mare msur de numrul de periferice integrate. Cu ct numrul acestora este mai mare cu att nivelul de integrare crete ducnd la un cost de produce mai mare. Din aceast cauz, arhitecturile de C pe pia la ora actual variaz n limite destul de largi, de la chipuri cu doar 6 pini de I/O pn la procesoare digitale de semnal (DSP) sau procesoare cu arhitecturi ARM. La momentul actual sunt cteva zeci de firme productoare n lume ce ofer o gam variat de C din punct de vedere al arhitecturii, dotrilor sau vitezei de execuie. Principalele concurente n piaa de 8 biti sunt companiile Atmel si Microchip, cu familiile de C AVR, respectiv PIC.17

2.1.1. Familia Atmel AVR Microcontrolerul folosit n acest proiect este ATmega16 din familia AVR. Familia AVR de la Atmel este format din microcontrolere cu arhitectura Harvard pe 8 bii i set redus de instruciuni (RISC). Arhitectura de baz AVR a fost conceput de doi studeni de la Norwegian Institute of Technology (NTH), Alf-Egil Bogen i Vegard Wollan. Ele au fost introduse pe pia n 1996, fiind printre primele controlere care foloseau memoria Flash pentru program n locul memoriilor OTPROM sau EPROM (Erasable Programmable ReadOnly Memory) folosite de competiie. AVR-urile sunt clasificate n patru mari categorii: 1. tinyAVR * 1-8 kB memorie de program * capsul de 8 pn la 32 pini * set limitat de periferice 2. megaAVR * 4-256 kB memorie de program * capsul de 28 pn la 100 de pini * set extins de instruciuni (instruciuni pentru nmulire i adresare indirect) * set extins de periferice 3. XMEGA * 16-256 kB memorie de program * capsul de 44 pn la 100 de pini * interfee performante extinse, ca DMA (Direct Memory Access), "Event System", i suport pentru criptografie * set extins de periferice 4. Application specific AVR * megaAVR cu funcii speciale, care nu sunt prezente la familia AVR, cum ar fi controler de LCD (Liquid Crystal Display), controler USB , etc. * FPSLIC (Field Programmable System Level Integrated Circuit), un core AVR integrat cu un FPGA (Field Programmable Gate Array).18

Memoriile Flash, EEPROM, i SRAM sunt integrate n acelai chip, nlturnd nevoia de memorie extern. Programul este format din instruciuni de 16 bii lungime care sunt stocate n memoria Flash nevolatil. Mrimea memoriei de program este indicat de numele componentei respective. De exemplu, ATmega128 are 128kB de memorie Flash. Spaiul de adres const din registrele generale, registrele de I/O i memoria SRAM. Sunt in total 32 de registre generale de cte 8 biti. AVR au o unitate de execuie n band de asamblare cu trei niveluri, acest lucru permiand ca urmtoarea instruciune s fie adus din memorie (fetch) n timp ce instruciunea curent este n execuie. Majoritatea instruciunilor se execut ntr-un singur ciclu de instruciune, acest lucru permind atingerea unui throughput de 1MIPS pe MHz. Un avantaj fa de celelalte familii concurente de C l constituie faptul c arhitectura AVR este optimizat pentru execuia de cod C compilat. 2.1.2. Porturi digitale Cel mai simplu mod de comunicaie dintre C si exterior l constituie porturile digitale de intrare/ieire. Microcontrolerul ATmega16 are patru astfel de porturi, numite PORTA, PORTB, PORTC si PORTD. Aceste porturi au corespondena cu exteriorul prin pinii circuitului integrat. Deoarece arhitectura AVR este pe 8 bii iar porturile corespund unor registre interne, acestea vor avea la rndul lor 8 pini: pinii 1..8 pentru PORTB, pinii 14..20 pentru PORTD, pinii 21..29 pentru PORTC, pinii 33..40 pentru PORTA. Toate cele patru porturi sunt bidirecionale, datele pot circula fie dinspre chip ctre exterior (output) sau invers, dinspre exterior ctre chip (input). Mai mult, fiecare bit dintr-un port poare fi controlat independent, fie ca intrare, fie ca ieire digital. Fiecare port are asociat trei registre prin care utilizatorul poate schimba fluxul datelor i poate scrie sau citii date din portul respectiv. Aceste trei registre sunt DDRn, PORTn si PINn, unde n poate s fie A, B, C sau D n funcie de portul selectat.

19

Fig.2.1. Porturile microcontroler-ului De exemplu, pentru portul A, registrele asociate sunt urmatoarele: 1. Data Direction Register A (DDRA). Controleaz direcia datelor prin portul A. Fiecare pin extern ce corespunde portului A poate fi asignat ca intrare sau ieire digital prin scrierea unei valorii 0 respectiv 1 pe poziia corespunztoare in DDRA. Exemplu: DDRA = 0xFF; Toi pinii din PORTA sunt ieiri. DDRA = 0x00; Toi pinii din PORTA sunt intrri. DDRA = 0xF1; Pinul 1 este ieire, 2, 3 si 4 intrri, iar restul ieiri. 2. Output Register A (PORTA). Valoarea scris n acest registru va fi pus pe pinii exteriori ai PORTA sub form de tensiuni (5V= 1, 0V = 0). Aceast operaie este posibil numai dup ce portul a fost configurat ca ieire. Exemplu: PORTA = 0xFF; Pe toi pinii PORTA (33..40) va fi prezent tensiunea de 5V PORTA = 0x0F; Pinii 37..40 vor avea 5V iar pinii 33..36, 0V 3. Input Register A (PINA). Dac portul a fost configurat ca intrare, valoarea citit din acest registru corespunde strii logice n care se afl pinii portului A.

20

Fig.2.2. Registrele asociate pentru portul A n C exist un mecanism foarte simplu pentru accesul la porturi, bazat pe faptul c porturile microcontroler-ului sunt mapate n memorie. n fiierul antet avr/io.h exist constante definite ca pointeri la adresele de memorie n care sunt mapate porturi. Constanta este denumit precum portul corespunztor adresei, astfel c se poate scrie: PORTA = 0xFF; char x = DDRB; TIMSK |= 0x40; Pentru a scrie, citii sau modifica valoarea aflat ntr-un port, n C nu exist un mecanism built-in pentru scrierea valorilor n binar. Pentru a compensa acest neajuns, biblioteca pune la dispoziie macro-definiia_BV. De exemplu, pentru a ncrca n portul UCSRB o valoare care are biii 7,5 i 3 setai, se poate scrie: UCSRB=_BV(7)|_BV(5) |_BV(3); 2.1.3.ntreruperi O ntrerupere reprezint un semnal sincron sau asincron de la un periferic ce semnalizeaz apariia unui eveniment care trebuie tratat de ctre procesor. Tratarea ntreruperii are ca efect suspendarea firului normal de execuie al unui program i lansarea n execuie a unei rutine de tratare a ntreruperii (RTI). ntreruperile hardware au fost introduse pentru a se elimina buclele pe care un procesor ar trebui s le fac n asteptarea unui eveniment de la un periferic. Folosind un sistem de ntreruperi, perifericele pot ateniona procesorul n momentul producerii unei21

ntreruperi (IRQ), acesta din urm fiind liber s-i ruleze programul normal n restul timpului i s ntrerup execuia doar atunci cnd este necesar. nainte de a lansa n execuie o RTI, procesorul trebuie s aib la dispoziie un mecanism prin care s salveze starea n care se afl n momentul apariiei ntreruperii. Aceasta se face prin salvarea ntr-o memorie, de cele mai multe ori organizat sub forma unei stive, a registrului contor de program (Program Counter), a registrelor de stare precum i a tuturor variabilelor din program care sunt afectate de execuia RTI. La sfritul execuiei RTI starea anterioar a registrelor este refcut i programul principal este reluat din punctul de unde a fost ntrerupt. Pentru a asocia o ntrerupere cu o anumit rutin din program, procesorul folosete tabela vectorilor de ntrerupere (TVI). Fiecrei ntreruperi i este asociat o adresa la care programul va face salt n cazul apariiei acesteia. Aceste adrese sunt predefinite i sunt mapate n memoria de program ntr-un spaiu continuu care alctuiete TVI. Adresele ntreruperilor n TVI sunt setate n funcie de prioritatea lor, cu ct adresa este mai mic cu att prioritatea este mai mare. Pentru ATMega16, TVI este dat n figura de mai jos:

22

Fig.2.3. Tabela vectorilor de intrerupere TVI este plasat de la prima adres a memoriei de program iar ntreruperile sunt puse din dou n dou adrese consecutive. Prioritatea cea mai mare o are ntreruperea de RESET, de la adresa 0, apoi intreruperea extern 0 (INT0). Perifericele care pot genera ntreruperi la ATMega16 sunt timerele, interfaa serial (USART), convertorul analog-digital (ADC), controlerul de memorie EPROM, comparatorul analog i interfata seriala I2C. De asemenea, procesorul poate s primeasc cereri de23

ntreruperi externe din trei surse (INT0, INT1 i INT2) ce corespund unui numr egal de pini exteriori. Activare/Dezactivare ntreruperi ntreruperile pot fi activate sau dezactivate de utilizator n program prin setarea individual a biilor de interrupt enable pentru fiecare periferic folosit i prin setarea flagului de Global Interrupt Enable (I) din Status Register (SREG).

Fig.2.4. SREG n timpul execuiei unei ntreruperi, bitul I din SREG este setat la 0 i resetat la ieire, adic orice alt ntrerupere care poate aprea n timpul ntreruperii curente nu va fi luat n seam. Cu toate acestea, utilizatorul poate s reseteze bitul I din software, permiand astfel execuia de ntrerupere n ntrerupere. Registre pentru tratarea ntreruperilor externe:

Fig.2.5. GICR

24

Acest registru este rspunzator pentru plasarea tabelului vectorului de ntreruperi.

Bitul 0 din acest registru se numete IVCE (Interrupt Vector Change Enable). Acest bit trebuie iniilizat cu valoarea logic 1 pentru a permite schimbarea urmtorului bit din registru, i anume IVSEL. Setnd acest bit nu se vor mai putea genera ntreruperi.

Bitul 1 din acest registru se numete IVSEL (Interrupt Vector Select).Cnd acest bit are valoarea logic 0 vectorii de ntreruperi sunt plasai la nceputul memoriei de program (Flash). Cnd acest bit este setat cu valoarea logic 1 vectorii de ntreruperi sunt mutai la nceputul zonei de boot .

Bitul 7 INT1: External Interrupt Request 1 Enable Cnd INT1 e setat cu valoarea logic 1 i bitul I din SREG este setat cu aceeai valoare, pinul destinat ntreruperii externe INT1 este activat. Biii ISC11 i ISC10 definesc logica de generare a ntreruperii, respectiv dac aceast este generat pe front cresctor sau descresctor. ntreruperea va fi setat conform rutinei asociate vectorului de ntrerupere.

Bitul 6 INT0: External Interrupt Request 0 Enable Cnd INT0 e setat cu valoarea logic 1 i bitul I din SREG este setat cu aceeai valoare, pinul destinat ntreruperii externe 0 este activat. Biii ISC01 i ISC00 definesc logica de generare a ntreruperii, respectiv dac aceasta este generat pe front cresctor sau descresctor.

Bitul 5 INT2: External Interrupt Request 2 Enable Cnd INT0 e setat cu valoarea logic 1 i bitul I din SREG este setat cu aceeai valoare, pinul destinat ntreruperii externe 2 este activat. Bitul ISC2 definete logica de generare a ntreruperii, respectiv dac aceasta este generat pe front cresctor sau descresctor.

ntreruperile externe Aceste ntreruperi sunt generate prin intermediul pinilor INT0, INT1 i INT2. Ele sunt activate chiar dac aceti pini sunt setai ca fiind de output. Modul n care se pot genera ntreruperile externe poate fi setat prin configurarea registrelor MCUCR si MCUCSR.

25

Fig.2.6. Controlul registrilor MCU

Tabelul 2.1. Controlul sensului de intreruperi 1

Fig.2.7. Controlul sensului de intreruperi 2

26

Pentru a folosi ntreruperea extern INT2 sunt necesare urmtoarele configurri: 1. Bitul I din SREG trebuie s fie setat (global interrupt enable) 2. Bitul INT2 din GICR trebuie setat (INT2 enable) 3. Dac ISC2 este iniializat cu valoarea zero INT2 va fi activat pe front descresctor, n caz contrar ea va fi activat pe front cresctor. Perifericele care pot genera ntreruperi sunt: timerele, convertorul analog-digital, interfeele seriale (RS232, I2C, SPI) etc. Lucrul cu ntreruperi este mai simplu dect n asamblare. Nu este necesar plasarea unui jump n tabela de ntreruperi i nici salvarea explicit a regitrilor. n C se poate scrie pentru a definii, de exemplu, rutina de tratare a ntreruperii generate de comparatorul timerului 2.: SIGNAL(SIG_OUTPUT_COMPARE2) { do_stuff(); i++; k--; } SIGNAL este un macro cu ajutorul cruia se definesc funciile de tratare ale ntreruperilor. SIG_OUTPUT_COMPARE2 este o constant care identific sursa ntreruperii (comparatorul timer-ului 2). SIGNAL este definit n fiierul antet avr/interrupt.h iar constantele sunt definite n fiiere specifice fiecrui microcontroler (pentru AtMega16 este avr-iom16.h), incluse automat ( i selectate dup tipul de microcontroler) odat cu includerea interrupt.h. 2.1.4. Principiul de funcionare al unui Timer Timerul/Counterul, dup cum i spune i numele ofer facilitatea de a msura intervale fixe de timp i de a genera ntreruperi la expirarea intervalului msurat. Un timer, odat iniializat va funciona independent de unitatea central (core P). Acest lucru permite

27

eliminarea buclelor de delay din programul principal. Principiul de funcionare a unui Timer poate fi descris n linii mari de cele trei uniti: 1. Registrul numrtor (Timer Counter, TCNT) care msoar efectiv intervalele de timp i care este incrementat automat cu o frecvena dat. 2. Avnd ceasul intern sau alt ceas conectat pentru a obine diferite intervale folosim un Prescaler. Acesta are menirea de a diviza n funcie de necesitile aplicaiei frecvena de ceas i odat cu divizarea s incrementeze registrul TCNT. 3. La fiecare incrementare a TCNT are loc o comparaie ntre acest registru i o valoare stocat n registrul OCRn. Aceast valoare poate fi ncrcat prin software de utilizator. Daca are loc egalitatea se genereaz o ntrerupere, n caz contrar incrementarea continu.

Fig.2.8. Timer-ul Timerele sunt prevzute cu mai multe canale astfel nct n paralel se pot desfura diferite numrtori. ATmega16 este prevzut cu 3 uniti de timer: dou de opt bii i una de numrare pe aisprezece bii.

28

Principalele caracteristici sunt:

Design true 16bit (permite 16bit PWM pulse width modulation) Dou uniti independente de comparare output(dou canale) Unitate de captur input Un anulator de zgomot pe intrare tergerea cronometrului la potrivirea comparrii (auto rencrcare) Puls de corectare a fazelor cu modulator (PWM) Perioada PWM variabil Generator de frecven Counter extern de evenimente Patru surse de ntrerupere independente Majoritatea registrelor i referinelor de bii din aceast seciune sunt prezentate ntr-o

form general. Un n mic nlocuiete numrul timerului i un x mic nlocuiete unitatea de comparare de output. Atunci cnd se folosete registrul sau bitul definit ntr-un program, trebuie folosit forma precis. 2.1.5. Registre TCNT1, OCR1A/B i ICR1 sunt toate registre de 16 bii. Proceduri speciale trebuie urmate cnd se acceseaz registre de 16 bii. Registrele de control T/C (TCCR1A/B) sunt registre de 8 bii i nu au restricii de acces CPU. Rolul lor este de a configura Timerul pentru un anumit mod de funcionare. Toate ntreruperile sunt activate/dezactivate individual n TIMSK. T/C este incrementat intern prin intermediul ceasului dat de unitatea de prescaler, sau de ctre o surs extern de ceas conectat la pinul T1. Blocul logic de selectare a ceasului controleaz ce surs de ceas este folosit sau limita pan la care T/C numar. T/C este inactiv cnd nu este selectat nici o surs de ceas. Registrele de comparare ale output-ului (OCR1A/B) sunt comparate cu valoarea T/C la fiecare incrementare a acestuia. Rezultatul comparaiei poate fi folosit de ctre generatorul de unde pentru a genera un semnal PWM la pinul de Comparare a Output-ului (OC1A/B).

29

Operaia de comparare va seta i semnalul de potrivire-comparare (OCF1A/B) la generarea unei cereri de ntrerupere de comparare output. Definiii

BOTTOM = counterul ajunge la capt la valoarea 00000. MAX = Counterul ajunge la maxim la valoarea 0xFFFF TOP = Counterul ajunge la valoarea TOP cnd devine egal cu cea mai mare valoare din secvena de numrare. Valoarea TOP poate fi desemnat astfel nct s fie una din aceste valori fixe: 0x00FF, 0X01FF, 0X003FF sau valoarea memorat n registrele OCR1A sau ICR.

Accesarea registrelor pe 16 bii TCNT1, OCR1A/B i ICR1 sunt registre de 16 bii care pot fi accesate de ctre AVR CPU cu ajutorul bus- ului de date de 8 bii. Un registru de 16 bii poate s fie accesat folosind dou operaii, fie de scriere, fie de citire pe 8 bii. Pentru a executa o scriere de 16 bii, byteul HIGH trebuie s fie scris naintea byte-ului LOW (bug de compilator, nu feature hardware). 2.1.6. Lucrul cu memoria SRAM SRAM-ul este n esen memoria cu care este nzestrat cipul (ATmega16). n timp ce registrele generale sunt folosite pentru operaii, SRAM-ul este folosit pentru a depozita date n timpul execuiei. Ca s putem utiliza SRAM-ul trebuie s tim cteva aspecte legate de spaiul de adresare, de directivele asm i instruciunile care opereaz pe SRAM. Toate locaiile din memorie pot fi accesate fie direct fie indirect. Adresarea direct n cazul ncrcrii n memorie sau din memorie de la o adresa direct tim exact de unde sau unde sunt datele. Exemplu: Folosind adresa 060 ca s adresm valoarea dintr-un byte (de la adresa digit), putem folosi instruciunile sts si lds. lds r16, digit; (ncrcm n registrul general r16 coninutul de la adresa 0x60 din memoria SRAM )30

sts digit, r16; (punem valoarea din registrul general r16 n SRAM la adresa digit) Adresarea indirect Adresarea indirect se face similar cu cea cu ajutorul pointerilor in C sau Pascal: perechile de registre pointeri (r26:r27 sunt numii X, r28:r29 Y, r30:r31 Z) pot fi folosii s

Fig.2.9. Memoria SRAM fac referire la spaiile de adresare AVR. Dac de exemplu X(r28:r29) ia ca valoare 060 el va pointa la digit i poate fi folosit pentru a face diferite operaii pe valoarea lui digit. ldi XL, 0X60; ncrcm n r26(XL) cu valoarea low(0x60) ldi XH, 0X00; ncrcm n r27(XH) cu valoarea high(0x60)ld r16,X;

ncarc n r16 valoarea la care pointeaz X

n diagram se observ c prima adres de SRAM este 060. Exemplu ( diferena ntre adresarea indirect i adresarea direct): tim c registrul de I/O PORTA se gsete n tabelul de registre :

Adresa la care gsim coninutul registrului PORTA este $3B. Spaiul de adresare n registrele de I/O este 0x00

31

Lund n considerare aceste dou aspecte putem face diferenierea ntre modul indirect de adresare i cel direct: Indirect: ldi XL, 0x3B ldi XH,0x00 lds r16,X out 0x3B, r16 Instruciunile menite pentru SRAM sunt foarte folositoare n cazul utilizrii de stringuri sau n alte cazuri n care datele sunt depozitate succesiv element dup element. n acest caz putem opera att asupra unitii de date, ct i asupra indexului aferent. st X+, r16; continutul registrului general r16 este memorat la adresa indicat de X, dup care X este incrementat. St X, r17; continutul registrului general r17 este memorat la adresa indicat de X, (urmatoarea adresa). 2.1.7. Convertorul ADC al ATmega16 Un convertor analog digital (ADC) este un circuit electronic care convertete o tensiune analogic de la intrare ntr-o valoare digital. Aceasta poate fi reprezentat n mai multe feluri n funcie de codificarea datelor: n binar, cod Gray sau cod complement al lui doi. Convertorul analog-digital inclus n microcontrolerul Atmega16 este un ADC cu aproximri succesive . Are o rezoluie de 10 biti i poate msura orice tensiune din gama 05V de pe opt intrri analogice multiplexate. Dac semnalul de la intrare este prea mic n amplitudine, convertorul are facilitatea de preamplificare a acestuia n dou setri, de 10x sau de 200x. O caracteristic important a unui ADC o constituie rezoluia acestuia. Rezoluia indic numrul de valori discrete pe care convertorul poate s le furnizeze la ieirea sa n intervalul de msur. Deoarece rezultatele conversiei sunt de obicei stocate intern sub form32

binar, rezoluia unui convertor analog-digital este exprimat in bii. De exemplu, dac rezoluia unui convertor este de 10 bii atunci el poate furniza 210=1024 valori diferite la ieire. Dac gama de msurare este de 0-5V, rezoluia de msurare va fi: .O alt caracteristic important a unui convertor analogdigital o constituie rata de eantionare. Aceasta depinde de timpul dintre dou conversii succesive i afecteaz modul n care forma de und original va fi redat dup procesarea digital. Care este ns rata minim de eantionare pentru a reproduce fr pierderi un semnal de o frecvena dat? Teorema lui Nyquist spune c o rat de eantionare de minim dou ori mai mare dect frecvena semnalului msurat este necesar pentru acest lucru, teorema aplicndu-se i pentru un semnal compus dintr-un ntreg spectru de frecvene, cum ar fi vocea uman sau o melodie. n imagine este acelai semnal analogic eantionat la rezoluii diferite.

Fig.2.10. Semnal analogic esantionat la rezoluii diferite

2.2. Interfaarea unui LCD alfanumericDisplay-urile, i n principal cele fabricate n tehnologie LCD, reprezint una din cele mai folosite moduri pentru a efectua debugging asupra unui circuit, de a oferi informaii utilizatorului sau de a oferi un aspect profesional unui dispozitiv. Unul din cele mai uzuale33

controllere LCD este Hitachi 44780 ce ofer o modalitate simpl de interfaare ntre un microcontroller i ecranul LCD. Din punct de vedere al costului dispozitivele ce se bazeaz pe controlerul Hitachi 44780 sunt de obicei relativ ieftine sau pot fi recuperate din dispozitivele mai vechi i astfel refolosite. Cel mai uzual conector pentru controler tip Hitachi 44780 este format din 14 pini dispui pe o linie, cu distana ntre pini de 0.1 (inch). Semnificaia pinilor este urmtoarea:

Pin 1 2 3 4 5 6

Descriere Impmntare (Ground) Alimentare +5V (Vcc) Contrast (0V=contrast maxim, 5V=contrast minim) Pin R/S (se seteaz dac se transmit instruciuni sau date) Pin R/W (se seteaz dac se efectueaz o citire sau o scriere ctre LCD) Pin E (Enable, se semnalizeaz cnd se pot prelua datele de pe celelalte fire spre interpretare i execuie)

7-14

Pinii de date, I/O Tabelul 2.2. Descrierea pinilor Interfaa de communicaie este una paralel, permind astfel s se efectueaze scrieri

sau citiri de date ntr-un mod simplu i rapid. Pe cele 8 fire de date se transmit octei (grupuri de 8 bii), aceti octei reprezentnd coduri interne ale LCD-ului (n modul de instruciuni) sau coduri ASCII ale caracterelor ce se doresc a fi afiate (n modul de date).

2.2.1. Instruciuni suportate LCD-urile ce se bazeaz pe controller-ul Hitachi 44780 suport un anumit set de instruciuni ce se trimit ctre LCD atunci cnd se dorete trecerea ntr-un alt mod de operare,34

tergerea ecranului, avansarea pe urmtoarea linie, etc. Aa cum sunt ele descrise n datasheet-ul Hitachi 44780, instruciunile principale sunt urmtoarele:

Fig.2.11. Datasheet Hitachi 44780 Descrierile biilor din tabelul de mai sus sunt:

Setarea direciei de deplasare a cursorului:o o

ID incrementeaz cursorul dup fiecare octet ce este scris (dac este setat) S shifteaza displayul atunci cnd este scris un caracter pe acesta D Activeaz displayul On(1)/Off(0) C Activeaz cursorul On(1)/Off(0) B Seteaz cursorul pe blink On(1)/Off(0) SC Activeaz shiftarea displayului On(1)/Off(0)35

Activeaz display-ul/ cursorulo o o

Mutarea cursorului/ Shiftarea displayuluio

o

RL Seteaz direcia de shiftare la dreapta Right(1)/Left(0) DL Limea interfeei de conectare 8 fire(1)/4 fire(0) N Numrul de linii afiate pe display 1 linie(0)/2 linii(1) F Fontul caracterelor afiate 510(1)/57(0) BF Acest bit se seteaz atunci cnd LCD-ul proceseaz informaiile primite i nu poate procesa altele n acelai timp

Setarea dimensiunii interfeeio o o

Activarea flag-ului Busy Flago

Mutarea cursorului ctre CGRAM/Displayo

A - Adresa

Citire/Scriere cod ASCII ctre Displayo

D - Date

2.2.2. Procedura de comunicaie Din punct de vedere al modului de comunicaie trebuie urmai urmtorii pai: 1. Se seteaz, dac se dorete a se trimite o instruciune sau un caracter de date (pinul R/S); 2. Se seteaz, dac se dorete s se citeasc informaii de la LCD sau s se trimit informaii (date sau instruciuni dup cum s-a selectat mai sus) (pinul R/W). 3. Se pun datele pe busul Data (pinii D0-D7) 4. Se activeaz o perioad de timp pinul E (ENABLE). Pentru interfatarea pe patru fire de date se modific procedura de mai sus prin faptul c nti se pun pe busul de 4 fire cei mai importani 4 bii, se activeaz o perioad de timp pinul E, dup care se pun cei mai puini semnificativi 4 bii pe bus i se activeaz din nou o perioad de timp pinul E (modificarea pailor 3 i 4).

36

Fig.2.12. LCD Data Write Waveform 2.3. Tastatura O tastatur este format dintr-o mulime de butoane (push-button). Tastatura reprezint un mecanism prin care se interacioneaz cu microcontrolerul prin trimiterea de comenzi ctre acesta. Cel mai simplu mod de interaciune cu utilizatorul l constituie nite simple butoane, care prin apsare pot genera diferite comenzi. Modul n care se conecteaz un push-button este artat n figura de mai jos (cu i far rezisten de pull-up).

Fig.2.13. Tastatura La apsarea butonului, intrarea PDx va fi legat la mas, deci va fi n starea logica 0. Cnd butonul nu este apsat se afl n starea logic HiZ sau stare de impedan mrit. Este ca i cum intrarea ar fi lsat in aer, ea nefiind conectat nici la mas, nici la Vcc.37

Aceast stare nu poate fi citit de ctre circuitele interne ale microcontrolerului, n definitiv un bit dintr-un registru putnd s ia doar valorile 0 sau 1. Figura de mai sus arat modul corect de conectare al butonului, folosind o rezisten de pull-up ntre pinul de intrare i Vcc. Aceast rezisten are rolul de a aduce intrarea n starea 1 logic atunci cnd butonul este liber prin ridicarea potenialului liniei la Vcc. Pentru a economisi spaiu exterior, aceste rezistene au fost incluse n interiorul circuitului integrat. Iniial ele sunt dezactivate iar activarea acestora se poate face prin software scriind o valoare n registrul de ieire (PORTn) al unui port care a fost configurat drept intrare. 2.4. Cititorul de carduri i cardurile cu band magnetic Sunt 3 piste pe banda magnetic a unui card bancar folosit n tranzaciile bancare: pista 1, 2 i 3. Fiecare pist are o grosime de 2,79 mm. Pista 3 este n general nefolosit i deseori nici nu apare pe card fcnd astfel banda magnetic a acestuia mai ngust. Pista 1 are o densitate a informaiei de 210 bii pe inch i este singura pist ce conine text alfabetic (reine numele deintorului cardului). Formatul pistei 1 este:

Santinela de start un caracter (n general '%') Format cod="B" un caracter Primary account number (PAN) pn la 19 caractere. Reprezint numrul cardului de credit i este inscripionat pe faa acestuia. Separator un caracter (n general '^') Nume ntre 2 i 26 caractere Separator un caracter (n general '^') Data expirrii patru caractere n format AALL. Service code trei caractere Date discrete poate include: Pin Verification Key Indicator (PVKI, 1 caracter), PIN Verification Value (PVV, 4 caractere), Card Verification Value or Card Verification Code (CVV or CVK, 3 caractere)

Santinela de sfrit un caracter (n general '?') Longitudinal redundancy check (LRC) un character38

Fig.2.14. Tastatura alfanumeric Pista 2 are o densitate a informaiei de 75 bii pe inch. Pista 2 a fost dezvoltat pentru industria bancar i poate stoca 40 de caractere, fiecare caracter coninnd 5 bii, 4 pentru date i unul pentru paritate impar. Cel mai puin semnificativ bit este transmis primul, iar bitul de paritate este transmis ultimul. Cifrele zecimale sunt de la 0 la 9 iar caracterele : ; < = > ? sunt pentru control. Blocul de date este delimitat de o santinel de start i una de final. Dac acestea doua nu sunt prezente, apare o eroare la citire. Formatul pistei 2 este:

Santinela de start un caracter (n general ';') Primary account number (PAN) pn la 19 caractere. Reprezint numrul cardului de credit i este inscripionat pe faa acestuia. Separator un caracter (n general '=') Data expirrii patru caractere n format AALL. Service code trei caractere Date discrete ca n pista 1 Santinela de sfrit un caracter (n general '?') Longitudinal redundancy check (LRC) un caracter

39

Fig.2.15. Tastatura numeric Cititorul de carduri are rolul de a decoda nivelul fizic (band magnetic) n nivel de date (bii). Cititorul de carduri folosit n acest sistem este marca Polaris POL-2 produs de firma Kantech i poate citii doar pista 2 a cardurilor bancare. Se interfaeaz la microcontroler prin 8 fire: Fir Verde Alb Negru Rou Maron Albastru Descriere Data 0 (OUT 0) Data 1 (OUT 1) npmntare (GND) Alimentare (+5 VDC) LED (IN 1) Piezo/Buzzer (IN 2) Tab.2.3.Descrierea firelor Primul pas este gsirea perioadei de eantionare: fluxul de date primit de la cititor variaz n funcie de ct de rapid este trecut cardul prin capul de citire, aa c nu va fi mereu o rat fix a biilor. Deoarece se tie c pista 2 a cardului este scris la o densitate de 75 bii pe inch i viteza maxim de trecere de 60 cm/sec, se poate determina rata datelor prin formula: T(s) < (2,54 [cm/inch] / 75 [bpi]) * (60 [cm/sec])40

rezultnd c perioada datelor este de 564 us sau 1772 bps. Pentru a satisface teorema de eantionare, programul trebuie s ia eantioane la o vitez mai mare dect dublul acestei perioade. Aceasta implic o rat de eantionare minim de 3,554 Hz cu 282 us ntre eantioane. Pentru o vitez de trecere de 4 cm/sec, se obine o rat minim de 118 bps cu o perioad a datelor de 8,46 ms. ntr-o bucl se citesc biii de la port. Se face citire cnd linia ceasului trece de la 0 la 1. Dac ceasul este high (1) de la ultima citire de la port, atunci un nou bit s-a citit iar valoarea lui este starea liniei de date (0 sau 1).

2.5. Interfaa serialUn frame transmis pe interfaa serial are urmtorul format:

Fig.2.16. Formatul unui frame

Se transmite un bit de start, apoi un cuvnt de date. Urmeaz un bit opional de partitate i unul sau doi bii de stop. Microcontrolerul ATmega16 include un controler pentru interfaa serial, care este controlat de regitrii descrii n seciunile urmtoare.

Fig.2.17 UDR

41

RXB i TXB sunt buffere-le de recepie, respectiv transmisie. Ele folosesc aceeai adres de I/O. Deci RXB este accesat citind din UDR, TXB scriind n UDR. Bufferul de transmisie poate fi scris numai atunci cnd bitul UDRE din portul UCSRA este 1. n caz contrar, scrierile vor fi ignorate. UCSRA

Fig.2.18. UCSRA UCSRA este primul registru de stare al controlerului de comunicaie. Biii cei mai importani sunt:

RXC Receive Complete devine 1 cnd exist date primite i necitite. Cnd bufferul de recepie este gol, bitul este resetat automat TXC Transmit Complete devine 1 cnd buffer-ul de transmisie devine gol UDRE Data Register Empty devine 1 cnd buffer-ul de transmisie poate accepta noi date

UCSRB

Fig.2.19. UCSRB UCSRB este al doilea registru de control. Biii importani:

RXCIE Receive Complete Interrupt Enable cnd este 1, controllerul de comunicaie va genera o ntrerupere cnd au fost primite date

42

TXCIE Transmit Complete Interrupt Enable cnd este 1, controllerul de comunicaie va genera o ntrerupere cnd bufferul de transmisie devine gol UDRIE Data Register Empty Interrupt Enable cnd este 1, controllerul de comunicaie va genera o ntrerupere cnd bufferul de transmisie mai poate accepta date

RXEN Receiver Enable dac este 0, nu se pot recepta date TXEN Transmitter Enabler dac este 0, nu se pot transmite date UCSZ2 mpreun cu UCSZ1 i UCSZ0 din portul UCSRC, selecteaz dimensiunea unui cuvnt de date

UCSRC

Fig.2.20. UCSRC Al treilea registru de control este UCSRC. Biii importani:

URSEL Register Select trebuie s fie 1 cnd se scrie n UCSRC UMSEL Mode Select 0 pentru funcionare asincron, 1 pentru funcionare sincron UPM1, UPM0 Parity Mode

Tabelul 2.4. Biii UCSRC

USBS Stop Bit Select 0 pentru un bit de stop, 1 pentru doi bii de stop43

UCSZ1, UCSZ0 mpreun cu UCSZ2 din portul UCSRB, decid dimensiunea cuvntului de date

Tabelul 2.5. UCSZ

Fig.2.21. UBRR UBRR este registrul care decide baud rate-ul. Are 12 bii. Primii 4 se afl n UBRRH, ceilali 8 n UBRRL. Valoarea de scris n UBRR depinde de frecvena procesorului i de baud rate-ul dorit. n tabelul de dedesubt gsii valorile pentru frecvena de 16 Mhz. Bitul URSEL trebuie s fie 0 cnd se scrie in UBRRH (i este, pentru ca valoarea din UBRRH ncape mereu 4 bii).

44

Tabelul 2.6. Valorile de scris n UBRR pentru frecvente de 16 MHz

45

2.5.1.Protocoale sincrone de comunicaie serial Pentru a reduce numrul de fire prin care se comunic ntre diferitele componente ale unui circuit electric, se poate apela la comunicaia serial. Practic, se reduce complexitatea montajului, preul pltit fiind viteza ceva mai scazut de transfer de date. Comunicaia serial de tip RS-232 este protocol de tip asincron ceasul de sincronizare date este regenerat la receptor. Avantajul major este c obligatoriu e un singur fir cel de date (a nu se uita i firul de GND, punctul de referin n orice montaj electric). Dezavantajul este c att emittorul ct i receptorul trebuie s aib un oscilator foarte stabil. Preul pltit pe oscilator se poate justifica doar dac acest protocol este utilizat ntre echipamente aflate de o distan medie (un metru de cablu de cupru s-ar putea s fie mai scump dect cristalul de quartz). Pentru comunicaia ntre componentele aflate pe aceeai plac sau chiar n acelai echipament, se poate utiliza un protocol sincron. Acest protocol are nevoie de un fir auxiliar: semnalul de ceas. Un avantaj major este c aceste protocoale se pot utiliza ntr-o configuraie one_master - multi_slave sau chiar multi_master multi_slave. Practic, comunicaia are loc pe o magistral, magistrala care unete circuitul master de circuitele slave, toat activitatea desfurndu-se sub controlul masterului. Mai multe firme au ncercat s i impun standardul pe pia. n acest moment exist 4 standarde, fiecare cu avantaje i dezavantaje. 2.5.2. I2C, SPI, 1 WIRE I2C Acest protocol inventat i dezvoltat de Philips a aprut prima oar pe plcile televizoarelor. Este nevoie doar de dou fire: SCL (ceasul) i SDA(data). Configuraiile posibile sunt multi_master multi slave, existnd mecanism de arbitrare ntre masteri. Avantaje:

configuraie multi master posibilitatea arbitrrii masterilor clock-stretching perifericele lente pot cere un delay de la master utilizarea intensiv a bit-ului ACK (acknowledge)

46

o

detecia foarte simpl a perifericelor active (n funcie de configuraia plcii, avnd un soft unic, se poate detecta la start-up care sunt perifericele prezente pe magistral) validarea rapid a datelor

o

doar dou fire pentru toat magistrala

Dezavantaje:

vitez mic de transfer selecia perifericului (prin adresa de slave) adaug overhead la comunicaie O variant mai flexibil (la nivelul legtura de date, dac privim IIC prin prisma stivei

OSI) a acestui protocol este TwoWireInterface. Microcontrolerul folosit la laborator este capabil s utilizeze acest protocol fie din postura de master fie din cea de slave. SPI SPI (Serial Peripheral Interface) este un standard sincron ce opereaz n mod full duplex (transferul de date are loc n ambele direcii simultan). Motorola a dezvoltat acest protocol i l-a impus prin intermediul microcontrolerelor HC11. Este un protocol foarte rapid, care ns nu permite direct prezena pe magistral a doi sau mai muli masteri. Schema de arbitrare trebuie efectuat extern, folosind un circuit auxiliar. n plus, perifericele mai lente nu pot semnaliza o cerere de amnare/ntrziere a comunicaiei. Fa de IIC, mai apare un fir. Dac la I2C, SDA este firul de date i este bidirectional, la SPI apar dou fire, MasterOutputSlaveInput i MasterInputSlaveOutput. MOSI i MISO sunt unidirecionale. (SPI se mai numete i four wire serial bus pentru a -l deosebi de celelalte standarde ce folosesc 1, 2 sau 3 fire). Microcontrolerul ATmega16 este capabil s utilizeze acest protocol (implementare hardware) putnd s lucreze att ca master ct i ca slave. Avantaje:

viteza foarte mare selecia direct a slave-lui (dar, pentru fiecare slave, este nevoie de un nou fir) simplitate n utilizare (la nivelul legtur de date OSI)

47

Dezavantaje:

chiar cu un singur slave, este nevoie de 4 fire iar cu 2 slave, este nevoie de 5 fire. lipsa arbitrrii ntre masteri lipsa clock-stretching-ului perifericele lente nu au ce cuta pe aceast magistral lipsa unui bit de ACK validarea pachetelor trebuie fcut la un nivel superior Ca un contracandidat, National Semiconductor a lansat uWire, un protocol foarte

asemntor cu SPI- ul, dar care vine cu o mbuntire. Pe o magistral uWire, un periferic lent poate semnaliza cererea pentru delay echivalentul lui clock-stretching de la IIC. 1Wire Compania Maxim a vrut s simplifice i mai mult viaa designerilor de PCB-uri (Printed Circuit Board), i a pus la dispoziie acest protocol. Avantajul este unul singur: este nevoie de un singur fir ntre slave i master. Este posibil configuraia multi_slave, dar multi_master se poate realiza numai cu o schem de arbitrare extern. Este un protocol greu de implementat. (se poate considera ca fiind un protocol asincron) Avantaje:

un singur fir (slave-ul se poate chiar alimenta din acest fir)

Dezavantaje:

vitez mic de transfer greu de implementat patent Maxim puine periferice suport acest protocol

48

2.6. Configurarea ceasului ATmega16Microcontrolerul este echipat cu un oscilator intern. n starea implicit, microcontrolerul folosete acest oscillator la frecvena de 1 MHz. Semnalul de ceas poate provenii din mai multe surse: oscillator extern, ceas extern, cristal etc. Aceste surse sunt multiplexate la intrarea unitaii de control pentru ceas; multiplexorul selecteaz una dintre intrari pe baza unei configuraii setate in memoria Flash, aa numiii Flash Fuse Bits. n funcie de modul n care sunt setai fuse biii CKSEL, multiplexorul selecteaz una dintre sursele de ceas. Cnd microcontrolerul este nou aceti bii sunt 0001, adica Calibrated Internal RC Oscillator. Asta nseamn c microcontrolerul include un oscillator RC ce este setat ca i surs implicit pentru ceas. Din documentaia microcontrolerului reiese urmtorul tabel:

Tabelul 2.7. Modurile de operare ale unui oscilator Se observ ca 0001 este configuraia implicit i ca frecven nominal a semnalului n acest caz este de 1 Mhz. De asemenea se mai poate observa faptul c frecvena maxim a oscilatorului intern este de 8 MHz. Pe lng frecvena sczut, n cazul oscilatoarelor RC frecvena se modifica foarte mult cu tensiunea de alimentare i cu factorii de mediu. Ca i consecin, spre exemplu n cazul n care se alimenteaz circuitul de la baterii, cnd bateriile ncep s se consume, frecvena ceasului se modific. Acest lucru este de nedorit deoarece genereaz probleme de sincronizare. Pe placu este un cristal cu frecvena de 16 MHz. Revenind la tabelul anterior, se observ c pentru cristal, biii trebuie s fie intre 1111 i 1010. Din documentaie am schema

49

de conectare a oscilatorului extern i tabelul pentru configuraia exact pentru fuse-biii CKSEL:

Fig.2.22. Schema de conectare a oscilatorului extern

Tabelul 2.8. Modurile de operare ale oscilatorului pe cristal Microcontrolerul permite dou moduri de lucru pentru amplificatorul oscilatorului: un mod n care oscilatorul funcioneaz la frecvenele din tabel i un mod full rail-to-rail n care frecvenele se dubleaz. Pentru modul full rail-to-rail, fuse-bit-ul CKOPT trebuie s fie reprogramat. Astfel pentru un oscillator extern CKSEL trebuie s fie ntre 1111 i 1010; mai exact, pentru 16 MHz CKSEL3, CKSEL2, CKSEL1 trebuie s fie 111. Pentru modul full railto-rail CKOPT trebuie s fie 0.

50

Fig.2.23. Bitii de configurare Pentru a folosii cristalul ca surs pentru semnalul de ceas, am parcurs urmtorii pai: 1. Am conectat cablul serial pe portul de programare. 2. Am deschis programul PonyProg. 3. Am programat microcontrolerul cu un program oarecare. 4. Am ales opiunea Security and Configuration Bits din meniul Command. 5. Am realizat configuraia din figura de mai sus (se observ c toi biii CKSEL sunt nebifai, adic unprogrammed (1), iar bitul CKOPT este programat (0)). 6. Am dat comanda write. Acum microcontrolerul folosete ca surs pentru semnalul de ceas oscilatorul de pe plac.

51

CAPITOLUL 3 IMPLEMENTAREPentru un utilizator obinuit un sistem de control acces este constituit din trei elemnte: O cartel/un cod PIN/un tag care se prezint unui cititor/tastatur Un cititor/tastatur care autentific cartela/PIN-ul O us/barier/poart de acces care se deschide cnd se autorizeaz intrarea.

n spatele acestei cene se afl un numr de echipamente interconectate, folosind tehnologii diverse, ce comunic n vederea realizrii funciilor de control acces. Din punct de vedere al structurii unui sistem de control acces se disting urmtoarele nivele pe care sunt distribuite elementele componente ce au roluri distincte n funcionarea sa: Nivelul echipamentelor de cmp Nivelul echipamentelor hardware de achiziie si control Nivelul de programare/gestionare software

n tabelul de mai jos sunt exemplificate cteva din tipurile de echipamente existente ntr-un sistem de control acces al nivelului la care sunt ntlnite. Nivel Echipamente de cmp Tipuri de echipamente pori de acces, Tip resurse ncuietori electromecanice, electrice butoane sau electronice

Bariere auto, ui de control acces, Mecanice,

electrice/electromagnetice,

de comand, fotocelule, surse de alimentare, etc. Echipamente achiziie i control de Cititoare controllere intrri/ieiri, diverse de de tehnologii, Electronice, hardware interfee de de tastaturi, uniti de control acces, lift, interfee

comunicaie, terminale de pontaj etc.52

Nivel de aplicaie

Calculatoare de gestiune, software de Hardware, management, reele de comunicaii, networking etc.

software,

Tabelul 3.1. Tipuri de echipamente existente ntr-un sistem de control acces i nivelul la care sunt ntlnite Dup cum se poate vedea, un sistem de control acces este, n general, o combinaie de diverse tehnologii de la cele mecanice pn la cele de tip software i networking. ntotdeauna un sistem de control acces va avea realizate primele dou nivele, nivelul de programare/gestionare software poate s lipseasc n anumite tipuri de sisteme, unde cerinele de securitate sunt mai reduse, aceste funcii fiind asigurate pe echipamentele de la nivelul de achiziie i control. Pentru implementarea sistemului de acces persoane ntr-o incint, s-a folosit o plac de textolit cu 30x40 guri pe care am lipit componentele. Placa are pe o parte pastile de cupru, iar cealalta parte este liber.

3.1. Interfaa de programareSe introduce conectorul DB9-mam cu pinii 6,7,8,9 pe partea fr cupru a plcii i restul pe partea cu pastile de cupru. Am legat pinii 6 i 7 de la mufa cu rezistena R5 de 4,7k. La pinul 4 am lipit cealalt rezisten de 4,7k R6. n continuare am lipit diodele Zener (D1 i D2) la capetele celelalte ale rezistenelor; am avut grij la polaritate, catodul diodelor fiind marcat cu o linie neagr. Anodul diodelor le-am lipit impreun cu pinul 5 de la mufa serial, acest punct constituind masa montajului. Am lipit n continuare rezistena R3 (15K) cu un capt la masa (anodul diodelor) i cellalt capt la baza tranzistorului BC547. Tot n baza tranzistorului am lipit un contact al rezistenei R2 (10K). Emitorul tranzistorului este i el conectat la mas iar colectorul l las liber deocamdat. Cu cellalt contact al lui R2 am ajuns la pinul 3 al mufei seriale printr-un strap cu o bucat de srma izolat dintr-un cablu UTP.

53

Fig.3.1. Programator serial

3.2. Modul de alimentarePentru alimentarea montajului am folosit dou moduri. Primul mod este prin folosirea a 5 voli stabilizai prin portul USB. Pentru aceasta am folosit o mufa USB de tip A i un cablu prelungitor. La alimentarea prin USB am dezavantajul c montajul nu poate consuma mai mult de 500 mA, aceasta fiind valoarea n jurul creia portul este limitat. Pentru c proiectul meu folosete componente cu un consum mare de curent (ecran LCD) am utilizat alimentare extern de la un adaptor. Pentru aceast modalitate de alimentare am folosit un stabilizator de tensiune (LM7805). Rolul lui este de a prelua tensiunea de la adaptor (minim 6.5-7 voli) i de a furniza o tensiune stabilizat la ieire, in cazul meu 5 voli. Am lipit LM7805 mpreun cu condensatorul C11 (100 nF). Pinul 3 al LM7805 va furniza tensiunea de 5 voli notat pe schem cu Vcc. Mai departe am continuat cu ledul de alimentare i rezistena R4 (1K). La led am avut grija la polaritatea lui (pinul mai lung este anodul i l-am lipit la Vcc). Apoi am fcut un strap mai lung ca s leg masa de la alimentare cu cea de la interfaa de programare. Pentru a conecta placua la adaptor i alimentarea ei, am folosit un conector corespunzator tipului de mufa de la adaptor. Am msurat cu multimetrul polaritatea54

i am legat mufa de restul montajului cu dou fire. Ca s m verific pana acum, am alimentat montajul de la adaptor si am verificat cu multimetrul tensiunea de ieire care este n jurul valorii de 5 volti (LED-ul de control este aprins).

Fig.3.2. Sursa stabilizat de tensiune

3.3. Microcontroler-ulUrmtorul pas a fost lipirea soclului pentru microcontroler. L-am pus ct mai central prin lipirea provizorie a doi pini de pe diagonal astfel nct s stea fix dar s poate fi scos uor n caz c vreau s i schimb poziia pe plac. Dup ce am lipit soclul am continuat cu quartz-ul i cu cei doi condensatori de 15 pF (C1 i C2 ca pe schem). Pinii quartz-ului i-am lipit direct la pinii 12 i 13 ai soclului. Capetele lui C1 i C2 le-am legat la mas printr-un strap. n continuare am conectat rezistena R1 (10k) ntre pinii 9 (Reset) i 10 (Vcc) de la soclu. Am dus semnalul de reset din colectorul tranzistorului de la interfaa de programare pna la pinul 9, i Vcc de la stabilizator la pinul 10 prin doua strapuri. Am lipit condesatorul C5 (100 nF) ntre pinii 30 i 31 i C6 (100 nF) ntre 31 si 32. Am conectat pinii 11 i 31 cu un strap iar 10 i 30 cu un altul. Celelalte semnale rmase de la interfaa de prgramare le-am legat la pinii soclului prin nite strapuri. Rezistena R7 am legat-o la mas printr-un strap.

55

Fig.3.3. Microcontroler-ul

3.4. Interfaa serialInterfaa serial folosete circuitul integrat MAX 232 pentru a converti nivelele de tensiune de pe linia serial a calculatorului, care sunt de +12V i -12V la niveluri logice de 0 5V (TTL) cu care lucreaz interfaa serial a microcontrolerullui. Am introdus cealalt muf DB9 pe marginea plcii i am lipit-o. Am lipit circuitul integrat MAX 232 la pinii 2 i 3 (Rx si Tx) ai mufei seriale. Am conectat pinii 11 i 12 ai integratului la pinii 15, respectiv 14 ai microcontrolerului prin strapuri. Pinii 15 i 16 ai lui MAX 232 sunt pini de alimentare asa c i-am legat la mas si Vcc. Urmtorul pas l-a constituit lipirea condensatorului de 10 uF la pinii lui MAX 232. Din nou trebuie sa respect polaritatea, piciorul mai lung al condensatorului fiind +.56

Fig.3.4. Interfata RS232

3.5. Cititorul de carduri i tastaturaCititorul de carduri l-am conectat pe portul D al ATmega16, interfaarea fcnd-o pe 6 fire. Cele doua out-uri ale cititorului, firul verde (Data 0) i firul alb (Data 1) le-am legat la PD2, respectiv PD3 al microcontroler-ului. n continuare am legat firul albastru (Piezo) i firul maron (LED) al cititorului la PD4 i PD5. A urmat alimentarea: firul rou la +5 VDC i mpmntarea: firul negru la punctul de mas. Tastatura este legat la portul C al microcontrolerului. Am folosit o metod simpl de interfaare prin asignarea fiecrul pin al portului C cte o tast. Astfel tastele 1..8 sunt legate57

la PC0..PC7. Din cauza acestui aranjament se utilizeaz attea porturi ct numarul de taste. Dac nu aveam porturi libere puteam folosi o tastatur matricial: tastele sunt aranjate sub form de matrice, fiecare tast fiind conectat la intersecia dintre linii i coloane.

Fig.3.5. Schema logic a cititorului de carduri

58

3.6. Interfaarea LCD-ului alfanumeric 16x2 caractereLCD-ul l-am conectat pe portul A al microcontrolerului, interfaarea facnd-o pin la pin. Am nceput prin a lega pinul 1 (VSS) al LCD-ului la mas i pinul 2 (VDD) la alimentare (+5V Vcc). Pinul 3 este pinul de contrast; se poate lipi fie la mas (0V = contrast maxim), fie la alimentare (5V = contrast minim) ns am folosit un poteniometru de 10K pentru a putea ajusta contrastul. n continuare am legat pinii 4, 5 i 6 al LCD-ului la pinii 36, 35, 34 ai microcontrolerului. Pinul 4 (R/S) se seteaz dac se trimit date sau instruciuni. Pinul 5 (R/W) se seteaz dac se efectuaz o citire sau o scriere ctre LCD. Pinul 6 E (Enable), se semnalizeaz cnd se pot prelua datele de pe celelalte fire spre interpretare i execuie. Restul pinilor LCD-ului 7-14 (D0..D7) sunt pini de date; pinii 11..14 (D4..D7) ai ecranului i-am legat la pinii 40..37 ai microcontrolerului. n cazul n care se dorete interfaare pe 8 fire este suficient s se conecteze toi pinii D0-D7 la acelai port i cei de control DR, RW i E pe un alt port i s se scrie programul innd cont de aceast structur. Realizarea cablului serial. Pentru a putea programa microcontrolerul ATmega16 a trebuit sa conectez placua la calculator cu ajutorul unui cablu serial. Cablul serial are la unul din capete o mufa DB9 de tip mam (care se conecteaz in portul serial al calculatorului), iar la cellalt capat o mufa DB9 tat (ce se conecteaz la interfaa de programare de pe placua). Pentru realizarea cablului am folosit o mufa mam DB9, o mufa tat DB9 si 1-2 metri de cablu UTP. Conectarea pinilor ntre cele dou mufe le-am realizat punct la punct (adica pinul 1 de pe mufa mam la pinul 1 de pe mufa tat, pinul 2 de pe mufa mam la pinul 2 de pe mufa tat, etc pna la pinul 8. Pinul 9 se va lasa neconectat). Fiecare pin de pe cele dou mufe are scris n dreptul lui un numr. Acest cablu l-am folosit att la programarea microcontrolerului ct i pentru transferul de date pe interfaa serial

59

Fig.3.6. Realizarea cablului serial

.

60

3.7. CONCLUZII I DEZVOLTRI ULTERIOARESistemele electronice de control acces au devenit o component de baz a oricrui sistem de securitate integrat att la nivel fizic, hardware, ct i la nivel logic, software. Sistemele de control acces se pot interconecta la sistemele existente sau pot asigura infrastructura pentru viitoarele sisteme. Rolurile i funciile asigurate de ctre aceste sisteme s-au diversificat de a lungul timpului astfel nct astzi avem o palet extreme de mare de funcii ce pot fi realizate folosind facilitile oferite de diveri productori ai sistemelor de control acces. n cadrul acestui proiect a fost realizat un sistem ncorporat, bazat pe microcontroler care interacioneaz cu lumea exterioar i rspunde n timp real la comenzi. Sistemul are dimensiuni mici, cost de fabricaie redus, un consum minim de energie i poate fi montat pe orice u de acces. Identificarea prin cartel magnetic i cod pin face ca sistemul s fie o soluie fiabil pentru gestionarea accesului n incinte. n continuare o s v fie prezentat modul de funcionare, precum i partea de

implementare software a sistemului pentru gestiunea accesului ntr-o incint.

61

BIBLIOGRAFIE Hardware Ball Stuart, 2002. Embedded microprocessor systems: real world design, ediia a treia, Burlington, Editura Newnes Bengea Nicoleta Georgiana, Simularea unui system embedded pentru gestiunea accesului ntr-o incint, 2011 Black-Schaffer David, 2003, Curs Embedded system design disponibil pe: http://www.stanford.edu/class/ee281/course.html Datasheet ATmega 16, disponibil pe: http://www.datasheetcatalog.com/datasheets_pdf/A/T/M/E/ATMEGA16-16AC.shtml Datasheet LCD http://www.sparkfun.com/datasheets/LCD/HD44780.pdf

Priority 1 Design, RFID Basics disponibil pe: http://www.priority1design.com.au/rfid_design.html Tennenhouse David, 2000, Proactive Computing, New York, Editura ACM Vahid Frank i Givargis Tony, 2002, Embedded system design: a unified hardware and sof tware introduction, Editura John Wiley and Sons Wikipedia, Magnetic Stripe disponibil pe: http://en.wikipedia.org/wiki/Magnetic_stripe#Financial_cards pu Nicolae, 2007-2008, Curs Proiectare cu microprocesoare

62