Sunteți pe pagina 1din 14

8.5.

Interfaa I2C
8.5.1. Introducere Interfaa I2C (Inter Integrated Circuits) este o interfa serie, aprut din necesitatea de a realiza sisteme ieftine cu microcontrolere, destinate n principal conducerii proceselor industriale. Un astfel de sistem este constituit, de regul, dintr-unul sau mai multe microcontrolere i o serie de echipamente periferice (de intrare/ieire, memorie etc.). Conectarea acestora printr-o interfa serie satisface cerinele enunate. Viteza mic de transfer, caracteristic interfeelor serie, nu constituie un neajuns pentru aplicaiile principale avute n vedere (conducerea proceselor).

8.5.2. Descrierea interfeei


Realizarea unui sistem I2C presupune interconectarea unor circuite integrate (specializate) prin numai trei linii: dou de semnal i una de mas. Cele dou linii de semnal sunt denumite "serial data" (SDA) i "serial clock" (SCL). Fiecare circuit integrat are o adres unic i poate funciona fie ca transmitor, fie ca receptor, n funcie de tipul circuitului. De exemplu, un circuit pentru comanda unui afiaj cu cristale lichide poate fi numai receptor, n timp ce un circuit de memorie RAM poate fi att transmitor ct i receptor (evident, nu simultan). Dintr-un alt punct de vedere, un circuit integrat din sistem poate fi coordonator sau executant. Circuitul integrat coordonator este circuitul care iniiaz un transfer de date i tot el genereaz semnalele de tact pentru a permite realizarea unui transfer. Orice alt circuit integrat adresat de coordonator este subordonat. Structura I2C este o structur multi-coordonator, adic se pot interconecta mai multe circuite care pot avea rolul de coordonator. Termenii implicai n descrierea funcionrii interfeei I2C, precum i semnificaia acestora sunt prezentate n tabelul 8.5 Tabelul 8.5 Termenul Transmitor Receptor Coordonator Descrierea termenului Dispozitivul care pune datele pe magistral Dispozitivul care preia datele de pe magistral Dispozitivul care iniiaz un transfer, genereaz semnalele de

Subordonat Multicoordonator Arbitraj

Sincronizare

tact i termin transferul Dispozitiv adresat de ctre coordonator Exist mai multe dispozitive care pot s cear n acelai timp funcia de coordonator fr s vicieze mesajul aflat pe magistral Procedura prin care, fr s vicieze mesajul aflat pe magistral, se declar un singur ctigtor atunci cnd exist mai multe dispozitive care solicit simultan funcia de coordonator Procedur prin care se sincronizeaz semnalul de tact funcie de viteza de transfer acceptat de dispozitivele implicate n transfer

Pentru a nelege mai bine noiunile prezentate, n figura 8.19 se prezint un exemplu de sistem realizat pe structura I2C i se consider urmtoarele situaii : a). microcontrolerul A dorete s transmit date microcontrolerului B; b). microcontrolerul A dorete s recepioneze date de la microcontrolerul B. Transferul datelor ntre cele dou microcontrolere are loc dup cum urmeaz. n cazul a: - microcontrolerul A (coordonator) adreseaz microcontrolerul B (subordonat); microcontrolerul A (emitor coordonator) transmite date microcontrolerului B (receptor subordonat); - microcontrolerul A ncheie transferul. n cazul b: - microcontrolerul A (coordonator) adreseaz microcontrolerul B (subordonat); - microcontrolerul A (receptor coordonator) primete date de la microcontrolerul B (transmitor subordonat); - microcontrolerul A ncheie transferul. Se observ c n ambele cazuri microcontrolerul A (coordonatorul) iniiaz i ncheie transferul. Totodat, el este cel care genereaz semnalele de tact n ambele cazuri.

Microprocesor A

SDA SCL Driver LCD

Arie de circuite logice Convertoare CAN/CNA

I 2C BUS

RAM static sau EEPROM

Microprocesor B

Fig.8.19. Sistem realizat pe structura I2C. Deoarece este posibil ca ntr-un sistem s existe mai multe circuite care pot avea rolul de coordonator, este necesar o procedur de arbitrare a cererilor de transfer care ar putea s apar simultan. Aceast procedur este descris pe larg n subcapitolul 8.5.4. Pentru conectarea la magistrala I2C fiecare circuit integrat este prevzut cu cte un etaj de interfa pentru fiecare linie a magistralei (figura 8.20). Ambele linii, SDA i SCL sunt linii bidirecionale, conectate la plusul sursei de alimentare prin cte un rezistor (rezistor pull-up). Dac magistrala este liber, ambele linii sunt la nivel ridicat. Etajele de ieire ale fiecrui circuit care se conecteaz la magistrala I2C trebuie s aib o ieire de tip colector n gol sau dren n gol, pentru a putea permite realizarea funciei I-cablat.
+VDD SDA (Linia serial de date) SCL (Linia serial de tact)
SCLK SCLK N1 OUT DATA N1 OUT SCLKN2 OUT SCLK DATA N2 OUT

Rp

Rp

rezistoare "pull-up"

SCLK IN

DATA IN

SCLK IN

DATA IN

Dispozitiv 1

Dispozitiv 2

Fig.8.20. Conectarea a dou circuite la magistrala I2C.

Rata maxim de transfer pe magistral este de 100 kbit/s. Ultimile realizri de circuite integrate destinate s funcioneze n sisteme I2C admit rate maxime de transfer de 400 kbit/s. Numrul de circuite care se pot conecta la magistral este limitat numai de capacitatea maxim admis pentru fiecare linie, care este de 400 pF.

8.5.3. Protocolul de transfer pe magistrala I2C


Protocolul de transfer al datelor pe magistrala I2C presupune iniierea transferului prin aducerea magistralei ntr-o condiie de START, transferul propriu-zis i ncheierea transferului prin aducerea magistralei ntr-o condiie de STOP. Condiia de START (S) este definit prin trecerea liniei SDA din 1 n 0, n timp ce linia SCL este meninut la nivel ridicat. Condiia de STOP (P) este definit prin trecerea liniei SDA din 0 n 1, n timp ce linia SCL este meninut la nivel ridicat. Ambele condiii sunt ilustrate n figura 8.21. Ele sunt generate ntotdeauna de ctre coordonator.

SDA SCL S condiie "start" P condiie "stop"

SDA SCL

Fig.8.21. Definirea condiiilor de START i STOP. Datele trebuie s fie stabile pe durata impulsurilor de tact (figura 8.22). Modificarea datelor se poate face pe durata pauzelor dintre impulsurile de tact (figura 8.22).
SDA SCL linia de datele date se pot stabil schimba (validare date)

Fig.8.22. Definirea intervalelor n care datele se pot schimba i n care trebuie s fie stabile. Datele sunt transferate pe magistral sub form de octei. Dup transmiterea fiecrui octet transmitorul trebuie s afle dac acesta a fost recepionat n bune condiii de ctre receptor. Aceasta se face prin procedura de acceptare (figura 8.23). Dup transmiterea celui de-al 8-lea bit, transmitorul las n starea sus linia de date SDA; dac recepia s-a facut corect (fiecare bit a fost preluat, s-a verificat paritatea, cuvntul recepionat n registrul de deplasare pentru recepie a fost preluat de registrul tampon pentru recepie), atunci receptorul trage jos linia SDA pe durata celui de-al 9-lea tact de pe linia SCL.
DATA OUTPUT TRANSMI[ ~ TOR DATA OUTPUT SUBORDONAT SCL DE LA COORDONATOR

S START

impuls de tact pentru acceptare

Fig. 8.23 Procedura de acceptare a unui octet


"acceptare" de ctre receptor SDA MSB cuvnt complet, receptorul poatentrerupe SC S START
1 2 7 8 9

"acceptare" de ctre receptor

linia de tact inut jos pn ntreruperea este servit


1 2 3-8 9

ACK

ACK

P STO

Fig.8.24. Transferul datelor pe magistrala I2C. Numrul de octei care poate fi transmis n cadrul unui transfer nu este limitat. n cadrul unui octet, primul bit transferat este bitul cel mai semnificativ

(figura 8.24). Dup primele opt impulsuri de tact necesare transmiterii unui octet urmeaz un al noulea impuls, utilizat pentru recunoaterea efecturii transferului (a se vedea mai sus). Dac, dup recepia unui octet, receptorul nu admite un nou octet (pentru c, de exemplu, trateaz o ntrerupere intern), el poate menine linia SCL la nivel cobort pentru a fora transmitorul ntr-o stare de ateptare. Transferul poate continua cnd receptorul este gata, situaie indicat prin eliberarea liniei SCL (figura 8.24). n felul acesta se face adaptarea vitezei de transmisie dup viteza celui mai lent participant. ntotdeauna, primul octet transmis dup condiia de START reprezint adresa unui subordonat, mpreun cu tipul operaiei solicitate (scriere sau citire). Primii apte bii ai acestui octet reprezint adresa. Tipul operaiei este precizat de bitul 8, notat R/W. Astfel, dac R/W = 1, coordonatorul va citi date de la subordonatul adresat iar dac R/W = 0, coordonatorul va transmite date subordonatului adresat. Un transfer complet este ilustrat n figura 8.25.

SDA SCL S START ADRESA R/W ACK DATA ACK DATA


1-7 8 9 1-7 8 9 1-7 8 9

P ACK STOP

Fig.8.25. Transferul unui mesaj pe magistrala I2C. Utilizarea tehnicii de recunoatere a transferului este obligatorie pentru asigurarea unui transfer corect. Impulsul de tact corespunztor fiecrui octet, denumit impuls de recunoatere, este generat de coordonator. Transmitorul elibereaz linia SDA pe durata impulsului de recunoatere. Receptorul trebuie s aduc linia SDA la nivel cobort i s o menin aa pe toat durata impulsului de recunoatere, ceea ce garanteaz efectuarea corect a transferului octetului respectiv. n general, un receptor adresat trebuie s recunoasc fiecare octet transmis. Exist i excepii, care ns nu fac obiectul acestei tratri. Dac un receptor subordonat nu recunoate adresa care i-a fost trimis pe magistral (de exemplu, nu poate recepiona date pentru c execut o funcie n timp real), subordonatul trebuie s lase linia SDA la nivel ridicat. n aceast

situaie, coordonatorul poate genera o condiie de STOP pentru a abandona transferul. Dac receptorul subordonat recunoate adresa care i-a fost trimis, dar, dup transferul unui numr oarecare de octei, nu mai poate recepiona alii, atunci coordonatorul trebuie s abandoneze din nou transferul. Pentru aceasta, dup primul octet care nu mai poate fi recepionat, subordonatul nu mai genereaz recunoaterea, adic las linia SDA la nivel ridicat. n aceast situaie, coordonatorul poate genera condiia de STOP pentru a abandona transferul. Dac circuitul coordonator este receptor i nu mai poate recepiona date, atunci el semnaleaz aceasta transmitorului subordonat prin faptul c nu mai genereaz recunoaterea dup ultimul octet pe care l poate recepiona. n aceast situaie, transmitorul subordonat trebuie s elibereze linia SDA pentru a permite coordonatorului s genereze o condiie de STOP.

8.5.4. Generarea impulsurilor de tact i arbitrarea coordonatorilor


Structura I2C este, dup cum s-a precizat anterior, o structur multicoordonator, adic ntr-un sistem interconectat prin magistrala I2C pot s existe mai multe circuite care pot avea rolul de coordonator. n cadrul unui transfer, delimitat de condiiile de START i STOP, exist un singur coordonator. Se poate ntmpla ns ca mai muli coordonatori s ncerce simultan s iniieze un transfer. Prin urmare, este necesar o procedur de arbitrare n urma creia s rezulte un coordonator unic n cadrul fiecrui transfer. Procedura de arbitrare este descris n continuare. Fiecare circuit coordonator genereaz propriile lui impulsuri de tact. Sincronizarea acestora este absolut necesar pentru evitarea funcionrii haotice. Sincronizarea este posibil datorit funciei logice I-cablat, realizat prin legarea mpreun a tuturor terminalelor SCL. Sincronizarea se produce n modul descris mai jos, cu referire la figura 8.26. n legtur cu aceast figur, precum i cu alte diagrame de timp ce vor fi prezentate, se face precizarea c semnalele CLK1, CLK2 i DATA1, DATA2 sunt semnalele aduse la intrrile etajelor de ieire corespunztoare, cuplate la liniile SCL respectiv SDA.

stare de ateptare CLK 1 CLK 2 SCL

Fig.8.26. Sincronizarea impulsurilor de tact. Prima tranziie 1 0 a unui semnal CLK este cea a semnalului CLK1. Aceasta aduce linia SCL la nivel cobort i reseteaz CLK2. Ambii coordonatori ncep s genereze starea 0 a impulsului de tact. La un moment dat, CLK1 trece n starea 1, ns linia SCL este meninut n continuare n starea 0 pentru c starea 0 a tactului CLK2 nc nu s-a ncheiat. Pn la ncheierea acesteia, CLK1 introduce o stare de ateptare. n momentul n care CLK2 trece din 0 n 1, linia SCL este eliberat i ambii coordonatori ncep generarea strii 1 a impulsului de tact. Primul semnal de tact care trece din nou din 1 n 0 aduce din nou linia SCL la nivel cobort. n acest fel se genereaz impulsuri de tact sincronizate. Durata strii 1 este determinat de semnalul CLK cu cea mai mic durat a strii 1 iar durata strii 0 este determinat de semnalul CLK cu cea mai lung durat a strii 0. Arbitrarea coordonatorilor se face pe linia SDA, impulsurile de tact generate de coordonatori fiind sincronizate n modul descris mai sus. Coordonatorul care transmite un nivel ridicat pierde arbitrarea dac n acelai timp un alt coordonator transmite un nivel cobort (figura 8.27). Coordonatorul care pierde arbitrarea trebuie s i deconecteze etajul de ieire date, astfel nct s nu mai influeneze starea liniei SDA. Arbitrarea poate continua mai muli bii. n prima etap se compar biii de adres. Dac ambii coordonatori ncearc s adreseze acelai executant, arbitrarea continu cu compararea biilor de date. Deoarece arbitrarea folosete biii de adres i de date, nu se pierde informaia n timpul acestui proces. Coordonatorul care pierde arbitrarea poate continua s transmit impulsuri de tact pn la sfritul octetului n care pierde arbitrarea. Dac un coordonator pierde arbitrarea n faza de adresare, este posibil ca acel coordonator care o ctig s ncerce s-l adreseze. n aceast situaie, coordonatorul care pierde arbitrarea trebuie s treac imediat n regim de executant (asculttor).

Observaie. Deoarece controlul magistralei I2C depinde numai de adresele i datele transmise de coordonatori, nu exist nici coordonator central i nici vreo ordine de prioritate pe magistral. Procedura de sincronizare a impulsurilor de tact, descris mai sus, se poate utiliza i pentru adaptarea vitezei de transfer fie la nivel de octet, fie la nivel de bit.
Transmitorul 1 pierde arbitrajul DATA 1= SDA DATA 1 DATA 2 SDA SCL

Fig.8.27. Arbitrarea a doi coordonatori. La nivel de octet, este posibil ca executantul s recepioneze datele n ritmul impus de coordonator, ns s necesite un timp mai lung pentru memorarea lor. n aceast situaie, executantul poate menine linia SCL la nivel cobort, dup recunoaterea recepionrii unui octet, fornd coordonatorul s introduc o stare de ateptare pn cnd executantul este gata pentru recepia unui nou octet. La nivel de bit, executantul care nu poate recepiona datele n ritmul impus de coordonator poate ncetini acest ritm prin extinderea strii 0 a impulsurilor de tact. n acest mod, viteza oricrui coordonator se poate adapta la viteza oricrui executant. Formatul mesajelor ce se vehiculeaz pe interfaa I2C sunt artate n figurile 8.28, 8.29 i 8.30
S ADRES~ SUBORDONAT R/W A DATA A DATA A P

'0' (scrie)

date transferate (n cuvinte + "acceptarea") A = acceptarea S = start P = stop

Fig. 8.28 Coordonatorul transmite unui receptor subordonat. Direcia nu se schimb


S ADRES~ SUBORDONAT R/W A DATA A DATA A P

'1' (citete)

date transferate (n cuvinte + "acceptarea")

Fig. 8.29 Coordonatorul citete de la subordonat imediat dup ce a transmis adresa acestuia
S ADRES~ SUBORDONAT R/W A DATA A S ADRES~ SUBORDONAT R/W A DATA A P

(n cuvinte + acc.) '0' sau '1' '0' sau '1'

(n cuvinte + acc.) aici se poate schimba sensul de transfer

Fig. 8.30 Coordonatorul lucreaz cu doi subordonai n cadrul aceleai sesiuni n figura 8.30 se arat situaia cnd coordonatorul lanseaz condiia de start, apoi adresa unui subordonat cu care comunic. La terminarea comunicrii cu acesta vrea sa comunice cu un al 2-lea subordonat. Pentru aceasta lanseaz o a doua condiie de start, adresa celui de-al 2-lea suburdonat cu stabilirea sensului comunicrii i se realizeaz transferul. La sfrit, coordonatorul ncheie cu condiia de stop. A doua condiie de start este necesar deoarece pe durata condiiei de start, circuitele cuplate la I2C se reseteaz i ateapt s identifice adresa pe care urmeaz s o transmit coordonatorul. 8.5.5. Adresarea n sistemul I2C n I2C se impune ca primul octet dup condiia de start s fie adresa subordonatului cu care coordonatorul dorete s fac transfer. Adresa trebuie s urmeze dup condiia S. Excepie de la aceast regul este situaia de adresare general la care toate elementele din sistem trebuie s rspund i care se codific prin doi octei. Totui, exist elemente care nu rspund (nu este util s rspund) la adresarea general. Ele vor ignora codul adresrii generale. La adresarea obinuit, octetul ce urmeaz dup condiia S codific pe primii 7 bii mai semnificativi adresa subordonatului, iar bitul mai puin semnificativ este bitul R/W i arat sensul transferului. Atunci cnd se transmite adresa, fiecare dispozitiv din sistem compar adresa recepionat cu propria adres; dac constat egalitatea, dispozitivul devine subordonat receptor sau subordonat transmitor, funcie de valoarea bitului R/W. Tabelul 8.6 Adresa bitul R/W Descriere subordonat 0000.000 0 Adresare general 0000.000 1 Cuvntul START

0000.001 0000.010 0000.011 0000.1xx ............. 1111.1xx 1111.0xx

x x x x x x x

adresare pentru sisteme CBUS rezervat pentru adresarea n alte tipuri de magistrale utlizate ca adrese

rezervat pentru adresarea cu 10 bii

Adresa unui subordonat poate avea o parte fix i o parte programabil. Partea fix definete clasa dispozitivului (spre exemplu: memorii, dispozitive de afiare, microprocesoare, etc.) iar partea programabil identific dispozitivul din clasa respectiv. Mrimea prii programabile depinde de numrul de pini pentru adres pe care circuitul i are. Spre exemplu, un circuit are 4 bii de adresa fix i 3 bii programabili; aceasta nseamn c se pot conecta la magistrala I2C 8 dispozitive de acest fel. Comitetul de coordonare al magistralei I2C a recomandat o alocare a celor 127 de adrese prezentat n tabelul 8.6. Exist dou grupe de cte 8 adrese: 0000xxx i 1111xxx rezervate pentru scopurile artate n tabel. Adresele 11110xx sunt rezervate pentru adresarea cu 10 bii, folosit n sisteme I2C de mare ntindere. Adresarea general Este o adresare pentru toate dispozitivele din sitemul I2C care au fost prevzute s recunoasc adresarea general. Adresarea general se face pe doi octei (figura 8.31): primul este 0000.0000, iar al doi-lea octet specific aciunea pe care trebuie s o relizeze subordonaii. octet 1 0000.0000 octet 2 xxxx.xxxB

confirmare

confirmare

Fig. 8.31 Formatul adresrii generale Funcie de valoarea bitului B din octetul 2 distingem cazurile: 1 Dac B = 0, al doilea octet are urmtoarele semnificaii, funcie de valoarea n cod hexazecimal:

a) 02h = scrie adresa subordonat numai soft. Elementele din sistemul I2C care obin partea programabil a adresei lor prin program intr ntr-un regim prin care pot fi programate. Nu se face resetul circuitului. b) 04h = scrie adresa subordonatului numai hard. Elementele din sistemul I2C care obin partea programabil a adresei lor prin starea unor circuite (bistabile, comutatoare) vor ncrca n registrul intern de adres aceast parte fix de adres. Nu se face resetul circuitului. c) 06h = reset i scrie partea programabil a adresei hard i soft Elementele din sistem realizeaz dou operaii: se iniializeaz (revin n starea bine definit de fabricant) i i preiau adresa, att partea fix ct i partea programabil i n ordinea stabilit de proiectantul sistemului. n figura 8.32 Se arat secvena de ncrcare a adreselor. Cu ABCD s-a notat partea fix a adresei. d) 00h - acest cod nu este permis a fi utilizat ca al doilea octet ntr-o adresare general. Observaie. Este important ca la punerea sub tensiune nici un element din sistem s nu trag jos linia SCL sau SDA, caz n care sistemul nu poate porni. S 00h A 06h A ABCD000 x A ABCD001 x A ABCD010 x A P

Fig. 8.32 Secven de programare a adreselor de ctre coordonator 2. B = 1. n acest caz secvena de doi octei se numete adresare general din partea unui coordonator hardware. Prin coordonator hardware se nelege orice element din sistemul I2C care nu poate fi programat s transmit adresa unui subordonat dorit atunci cnd el trebuie s devin coordonator. Spre exemplu: o tastatur, un scaner, etc. care trebuie s transmit date fr s poatdesemna cui trebuie s le transmit. n aceast situaie el va genera o adresare general, specificnd pe cmpul celui de al doilea octet propria adres. Aceasta este recunoscut de un element inteligent din sistem (un microprocesor) care va prelua i apoi va direciona informaia (figura 8.33) S 00h A adr.coord. hard 1 A Date A Date .... Date A P

Fig. 8.33 Coordonatorul hard transmite date prin intermediul unui microprocesor

Exist coordonatoare hard ce au posibilitatea s ncarce ntr-un registru intern adresa unui subordonat cu care urmeaz s ia legtura. n acest caz, coordonatorul inteligent al sistemului furnizeaz coordonatorului hard, ntr-o prim faz a), adresa subordonatului ce comunic cu coordonatorul hard n faza b). (figura 8.34). S adr. coord. hard 0 A adr. subord. receptor pt. coord. hard x a) A P

S adr. subord. receptor pt. coord hard 0 A Date 1 A ... ..Date n A P b) Fig. 8.34 Coordonatorului hard i se specific adresa subordonatului Un microprocesor poate fi conectat la magistrala I2C n dou moduri: fie c are nglobate circuite suplimentare care s recunoasc mesaje de ntrerupere furnizate pe linia SDA, fie c monitorizeaz continuu liniile SDA i SCL pentru a depista condiia de start. Monitorizarea continu a liniilor (testarea pe fiecare impuls de ceas a condiiei de start) ia mult din timpul de lucru al microprocesorului care astfel devine lent n executarea programelor ce-i revin. Pentru a ocupa mai puin timp microprocesorul, monitorizarea de ctre acesta a condiiei de start intr n regimul sleep, din care se ias numai dac pe linia SDA se transmit unul dup altul 7 bii cu valoarea 0. Dup detectarea acestei condiii, microprocesorul monitorizeaz liniile SDA i SCL pe fiecare impuls de tact. Pentru a fi eficient acest mod de lucru se impune ca fiecare transfer de date s fie precedat de transmisia unui octet de START, procedura fiind urmtoarea: 1. Coordonatorul magistralei iniiaz condiia de start S, 2. Coordonatorul transmite octetul de START (0000.0001), 3. Coordonatorul transmite impulsul de tact pentru confirmare i nu ateapt s fie confirmat de ctre cineva pri tragerea jos a liniei SDA, 4. Coordonatorul iniiaz o repetare a condiiei de start Sr i continu procedura obinuit de transfer prin transmiterea adresei subordonatului, a bitului R/W, .a.m.d. Microprocesorul ce nu este coordonator ias din modul sleep n faza 3), detecteaz condiia repetat de start, observ adresa subordonatului i dac nu este a lui, poate s intre din nou n modul sleep de monitorizare a magistralei. Magistrala I2C are posibilitatea de a transmite unui receptor din sistemul CBUS. Sistemul CBUS are 3 linii: SDA, SCL i DLEN. Pe linia SCL nu se transmite cel de-al noulea impuls (de confirmare), ci confirmarea se realizeaz

prin intermediul liniei DLEN. Ca urmare transmitorul, ce lucreaz n I2C, trebuie s transmit octet dup octet, s suprime bitul de confirmare i s activeze linia suplimentar DLEN. Restul elementelor din I2C nu trebuie s rspund la un mesaj CBUS. De aceea exist o adres special (0000.001x) pentru conectri CBUS. La transmiterea acestei adrese, elementele I2C nu rspund i se activeaz linia DLEN. Revenirea n sistemul I2C se face dup identificarea condiiei STOP.

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