Sunteți pe pagina 1din 5

2.4.

Componente periferice utilizate


2.4.1. Modulul I2C
Portul Serial Sincron Master ( Master Synchronous Serial Port MSSP) este o interfa serial, folositoare pentru comunicarea cu alte periferice sau microcontrolere. Aceste periferice pot fi EEPROM-uri seriale, drivere de afiare, convertoare A/D i altele. Modulul MSSP poate funciona n dou moduri: Interfa serial periferic (Serial Peripheral Interface SPI) Comunicaie ntre circuite integrate (Inter-Integrated Circuit I2C) o Mod master o Mod multi-master o Mod sclav Protocolul folosit n prezenta aplicaie este I2C. Protocolul I2C a fost dezvoltat pentru a crea un canal de comunicaie ntre circuite integrate (CI).

I2C const fizic n dou linii active i o conexiune de mpmntare. Liniile active sunt
denumite SDA i SCL, ambele linii sunt bidirecionale. SDA este Serial Data Line, iar SCL este Serial Clock Line. Orice dispozitiv conectat la bus are adresa sa unic fr a conta dac este MMU, driver LCD, memorie sau ASIC. Fiecare din aceste cipuri poate primi i/sau transmite depinznd de funcionalitatea dorit. Evident, un driver LCD poate doar primi, n timp ce o memorie sau un dispozitiv I/O poate primi i transmite date.

I2C este un bus multi-master. Astfel, pe I2C bus pot fi conecate mai multe circuite
integrate capabile s iniieze transferuri de date. Protocolul I2C specific faptul c integratul care iniializeaz conexiunea este considerat Bus Master. n consecin, restul circuitelor conectate la I2C sunt privite ca Bus Slaves. Cum Bus Master este microcontrolerul (MCU), iat cum arat secvena de comunicaie pe I2C: MCU trimite secvena START. n acest moment toate circuitele de pe bus trec n modul recepie;

MCU trimite ADRESA circuitului cu care vrea s comunice, mpreun cu flagul operaiei (READ / WRITE); Circuitele compar ADRESA cu adresa proprie i dac nu le este destinat mesajul ateapt condiia de STOP; Dac un circuit are ADRESA dorit de MCU, atunci cipul va produce un mesaj ACKNOWLEDGE; Apoi se trece la transferul datelor. Cnd s-au terminat de transferat datele se trimite secvena de STOP.

Fig. 2. Schema bloc a modulului I2C

2.4.2. Convertorul analog-numeric (CAN) din ATmega328P

Deoarece senzorul accelerometric ofer la ieire un semnal n tensiune pe care microcontrolerul nu l poate interpreta sub aceast form i nici nu l poate memora sau transmite mai departe, este nevoie ca acest semnal sa fie convertit din semnal analogic n semnal digital. De aceast operaiune este rspunztor convertorul analog-numeric (CAN) din microcontroler. Microcontrolerul ATmega328P este echipat cu un convertor analog numeric pe 10 bii cu aproximaii succesive. Convertorul este conectat la un multiplexor analogic cu 8 canale care permit 8 tensiuni de intrare single-ended. Convertorul conine un circuit Sample and Hold care se asigur c tensiunea de intrare este meninut la un nivel constant pe durata conversiei. Convertorul are pini de

alimentare (AVcc) separai din exterior i un pin pentru conectarea tensiunii de referin (Aref).

Fig 2. Schema bloc a CAN din Atmega328P Canalul de intrare analogic este selectat prin scrierea biilor din ADMUX n MUX. Oricare din pinii de intrare ai CAN, ca i pinul GND i o tensiune de referin fixat, independent de temperatur, pot fi alese ca intrri single ended n CAN. CAN este activat prin setarea bitului ADC enable (ADEN) n ADCSRA. Tensiunea de referin i selectarea canalului de intrare nu vor intra n vigoare pn cnd ADEN nu este setat. CAN genereaz un rezultat pe 10 bii care este prezentat n regi trii de date ADCH i ADCL. Convertorul are propria ntrerupere care poate fi declanat atunci cnd

conversia este terminat. Cnd accesul CAN la regitrii de date este interzis n timpul citirii ADCH i ADCL, ntreruperea se va declana chiar daca rezultatul va fi pierdut. n momentul n care conversia se ncheie, rezultatul acesteia poate fi gsit n regitrii rezultatelor CAN (ADCL, ADCH).

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