I2C Bus Protocol – Descriere generala

Protocolul I2C a fost dezvoltat pentru a crea un canal de comunicatie intre circuite integrare ( CI ).

I2C consta fizic in linii  2 active şi o conexiune de impamintare. Liniile active sint denumite SDA şi SCL, Ambele linii sint  bi direcţionale. SDA este Serial Date Line iar SCL este Serial Clock Line.

Orice device conectat la bus are adresa sa unica fara a conta daca este MMU , driver LCD , memorie sau ASIC. Fiecare din aceste cipuri poate primi si / sau transmite depinzind de functionalitatea dorita. Evident un driver LCD poate doar primi in timp ce o memorie sau un dispozitiv I/O poate primi si transmite date.

I2C este un bus multi-master. Astfel pe in I2C bus pot fi conecate mai multe circuite integrate capabile sa initieze transferuri de date. Protocolul I2C specifica ca integratul care initializeaza conexiunea este considerat Bus Master . In consecinta restul circuitelor conectate la I2C sint privite ca Bus Slaves.

Cum Bus Master sint microcontrolere(MCU) iata cum arata o secventa de comunicatie pe I2C.

  1. MCU trimite secventa START . In acest moment toate circuitele de pe bus trec in modul receptie.
  2. MCU trimite ADRESA circuitului cu care vrea sa comunice impreuna cu flagul operatiei ( READ / WRITE ) .
  3. Circuitele compara ADRESA cu adresa proprie si daca nu ii este destinat mesajul asteapta conditia de STOP
  4. Daca un circuit are ADRESA dorita de MCU atunci chipul va produce un mesaj ACKNOWLEDGE
  5. Apoi se trece la transferul datelor. Cind s-au terminat de transferat datele se trimite secventa de STOP.

Leave a Reply

You can use these XHTML tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>