Sunteți pe pagina 1din 11

CAPITOLUL 4.

Interfaa serial I2C

4.1. Caracteristici generale

Denumirea I2C este acronimul de la Inter Integrated Circuits (cunoscut i sub denumirea de I 2C) i
este o interfa serial cu ajutorul creia se poate realiza o reea local. Norma I2C prevede posibilitatea
conectrii mpreun a diverselor circuite integrate realizate prin proceduri tehnologice diferite (NMOS,
CMOS, I2L, TTL, ...). ntre circuitele conectate sunt dou linii de legtur:
- linia de date, SDA (Serial DAta) i
- linia de tact, SCL (Serial CLock ),
care realizeaz o magistral de comunicaie.
Fiecare circuit este recunoscut printr-o adres unic, chiar dac este un microcontroler, o comand
pentru afiaj, o memorie sau o interfa pentru tastatur. Fiecare circuit poate opera fie ca emitor, fie ca
receptor, depinznd de funcia circuitului considerat. Evident, o comand pentru afiaj poate fi doar receptor
pe cnd o memorie poate att s transmit date ct i s le recepioneze. Atunci cnd se fac transferuri de date,
pe lng emitoare i receptoare circuitele integrate pot fi considerate ca i master-i (coordonatoare) sau slave
(subordonate).
Un master este circuitul care iniiaz un transfer de date pe magistrala serial i genereaz semnalele
de tact pentru a permite transferul. n acest timp orice circuit adresat este considerat slave.
Magistrala I2C este un magistral serial multimaster. Aceasta nseamn c pe magistrala serial se
pot conecta mai multe circuite integrate capabile s controleze transferurile de date. Deoarece master-ii sunt n
general microcontrolere, vom considera cazul transferului de date ntre dou microcontrolere, avnd
denumirile de C A i C B, conectate la magistrala serial I2C.
Aceasta va evidenia relaiile master-slave i receptor-emitor care exist pe magistrala serial I2C. Trebuie
artat c aceste relaii nu sunt permanente ci depind doar de direcia transferului de date n momentul
respectiv. Transferul de date se efectueaz astfel:
Cazul 1. Presupunem c C A vrea s trimit date pentru C B:
- C A (master) adreseaz C B (slave),
- C A (master emitor) trimite datele ctre C B (slave receptor),
- C A termin transferul.
Cazul 2. Presupunem c C A dorete date de la C B:
- C A (master) adreseaz C B (slave),
- C A (master receptor) primete datele de la C B (slave emitor),
- C A termin transferul.
n ambele cazuri master-ul genereaz impulsul de tact i termin transferul.

Figura 4.1. Conectarea componentelor la I2C.

Posibilitatea de a conecta mai mult de un C la magistrala serial I2C nseamn c mai muli master-I
pot ncerca s iniieze un transfer de date la un moment dat. Pentru a evita haosul care poate lua natere dintr-
un asemenea eveniment, a fost conceput o procedur de arbitrare. Aceast procedur se bazeaz pe realizarea
unui I-cablat pe fiecare linie a interfeei I2C.
Dac doi sau mai muli master-i ncearc s pun informaie pe magistral, primul care impune un 1
logic cnd ceilali impun 0 logic va pierde controlul liniilor magistralei, realizndu-se astfel arbitrarea.
Semnalul de tact din timpul arbitrrii este o combinaie sincron de tacte generate de master-i care
folosesc conexiunea I-cablat pe linia SCL.
Generarea semnalelor de tact pe magistrala serial I2C este ntotdeauna responsabilitatea master-ului;
fiecare master genereaz propriul su tact atunci cnd transfer datele pe magistral.
Semnalul de tact de magistral de la un master poate fi alterat cnd linia de tact este forat pe nivel
cobort (0 logic), de ctre un circuit integrat slave lent sau de un alt master, atunci cnd are loc procesul de
arbitrare.

4.2. Terminologia magistralei seriale I2C

Termenii ntlnii la descrierea interfeei I2C sunt comuni i pentru alte tipuri de magistrale. Pentru
I2C, semnificaia lor este urmtoarea:
EMITOR = Circuitul integrat care trimite date pe magistral;
RECEPTOR = Circuitul integrat care recepioneaz date de pe magistral;
MASTER = Circuitul integrat care iniiaz un transfer pe magistral, genereaz semnalul de tact i
termin un transfer;
SLAVE = Circuitul integrat adresat de un master;
MULTIMASTER = Posibilitate de conectare mpreun a mai multor master-i, fiind permis aciunea
lor simultan de control a magistralei, fr a afecta ns mesajul;
ARBITRARE = Procedur care permite ca, n momentul n care mai muli master-i ncearc simultan
s controleze magistrala, s i se permit doar unuia s preia controlul magistralei seriale, fr a afecta
mesajul;
SINCRONIZARE = Procedur de realizare a semnalelor de tact rovenind de la dou sau mai
multe circuite master.

4.3. Parametrii generali de funcionare

Magistrala I2C este format din liniile bidirecionale SDA i SCL i care, n repaus, sunt pe 1 logic.
Interpretarea nivelurilor logice se face n logic pozitiv.
Etajul de ieire al echipamentelor conectate la I2C are structura din figura 4.2.

Figura 4.2. Simbolizarea etajelor de ieire ale circuitelor conectate la magistrala serial I2C.

Liniile SDA i SCL sunt conectate la o tensiune de alimentare pozitiv, printr-un rezistor.
Cnd magistrala serial este liber (n repaus), ambele linii sunt HIGH. Etajele de ieire pentru
interfaarea cu I2C, care sunt conectate la liniile SDA i SCL, trebuie s aib ieirile cu colectorul n gol (de
tip open-collector) sau open-drain, pentru a se putea realiza funcia I-cablat.
Viteza de transmitere a datelor pe magistrala serial I2C standard (din 1980) este de 100 Kbps (9000
octei/secund). Pentru I2C rapid, standardizat n 1992, viteza este de 400 Kbps.
Numrul echipamentelor care se pot conecta la magistral nu este limitat, o eventual limitare fiind
impus doar de ncrcarea capacitiv a magistralei (400 pF pentru fiecare linie, SDA sau SCL).
Echipamentele au de obicei o valoare impus de maxim 10 pF la fiecare ieire dar pentru distane mai
4.4. Specificaii electrice 3

mari trebuie luate n considerare i capacitile liniilor de legtur.


4.3.1. Transferul datelor pe magistrala serial I2C

4.3.1.1. Transferul biilor

Din cauza varietii tehnologiilor n care au fost realizate circuitele care pot fi conectate la magistral,
nivelurile pentru 0 logic (LOW) i 1 logic (HIGH) nu sunt fixate i depind de nivelul Vdd asociat.
Interfaa este de tip sincron, generndu-se cte un impuls de tact pentru fiecare bit transferat. Pe linia
SDA datele trebuie s fie stabile pe durata HIGH a impulsului de tact. Starea, HIGH sau LOW, a liniei de date se
poate schimba doar cnd semnalul de tact pe SCL este LOW (figura 4.3).

Figura 4.3. Transferul datelor pe magistrala serial I2C.

4.3.1.2. Condiii de START i STOP

n protocolul de comunicaie specific interfeei I2C exist dou situaii foarte importante: condiia de
START i condiia de STOP.
Condiia de START este urmtoarea: cnd SCL este HIGH o tranziie din HIGH n LOW a liniei SDA
(figura 4.4).
Condiia de STOP este atunci cnd apare o tranziie a liniei SDA din LOW n HIGH n timp ce linia SCL
este HIGH (figura 4.4).

Figura 4.4. Condiiile de START i STOP.

Aceste condiii de START i STOP sunt generate de master. Se consider c magistrala serial este
ocupat dup o condiie de START i va fi din nou liber dup o condiie de STOP.
Circuitele conectate la magistral pot detecta condiiile de START i STOP cu ajutorul unei structuri
dedicate care realizeaz interfaarea cu I2C. Totui, circuitele care nu au o asemenea interfa dedicat, pot
eantiona linia SDA cel puin de dou ori pe durata HIGH a tactului SCL, pentru a sesiza unul din cele dou
cazuri n care apare o tranziie pe linia SDA, din HIGH n LOW, sau invers.

4.3.1.3. Transferul informaiei

Informaia de date este structurat ntotdeauna pe opt bii i trebuie s fie n permanen urmat de un al
noulea bit numit ACK (ACKnowledge = bit de acceptare). Datele se transfer ncepnd cu cel mai semnificativ
bit. Dac un receptor nu mai poate recepiona un alt octet complet de date (deoarece mai are de ndeplinit i alte
funcii), acesta poate menine linia SCL n stare LOW pentru a fora emitorul ntr-o stare de ateptare. Cnd
receptorul este gata pentru un alt octet de date, el elibereaz linia de tact SCL i transferul poate continua.

Figura 4.5. Generarea bitului de acceptare pe interfaa I2C.

Transferul va continua cnd SCL va fi pe 1 logic. Pe tot parcursul octetului de date master-ul genereaz
tactul i va genera i al 9-lea impuls de tact necesar pentru citirea bitului de acceptare, ACK.
Dup cei 8 bii de date emitorul va trebui s elibereze SDA punnd-o pe 1 logic. Astfel receptorul va
avea posibilitatea s impun 0 logic pe SDA, pe timpul duratei HIGH a tactului (a celui de-al 9-lea tact care apare
dup o condiie de START) (figura 4.5).
Aceast situaie are semnificaia de acceptare a unui octet de informaie i este obligatorie (prevzut n norm).
Dac bitul ACK nu este generat va avea loc generarea condiiei de STOP de ctre master i transferul este
abandonat. Dac neacceptarea survine dup mai muli octei transferai din nou master-ul trebuie s genereze
condiia de STOP i s abandoneze transferul.
Exist posibilitatea adresrii de ctre un master-receptor a unei memorii care s trimit date din locaii
succesive de memorie. Cnd master-ul receptor dorete ncheierea transferului de la memorie, el nu mai genereaz
ACK, solicitnd astfel memoriei s elibereze SDA; dup aceasta master-ul va genera o condiie de STOP.

4.3.2. Sincronizarea tactului i arbitrarea

4.3.2.1. Sincronizarea tactului

Toi master-ii genereaz fiecare tactul propriu pe linia SCL pentru a transfera date pe magistral. Datele
sunt valide doar pe durata HIGH a impulsului de tact. Prin urmare este nevoie de o definire a tactului necesar
pentru ca arbitrrile bit-cu-bit s poat avea loc.

Figura 4.6. Sincronizarea tactului pe I2C.

Sincronizarea tactului este realizat folosind conexiunea I-cablat pe linia SCL a magistralei I2C.
Aceasta nseamn c o tranziie din HIGH n LOW pe linia SCL va impune ca circuitele interesate s i reseteze
numrtorul pentru durata HIGH a tactului i imediat ce un tact al unui circuit a trecut n LOW el va menine linia
4.4. Specificaii electrice 5

SCL n aceast stare att timp ct toate circuitele implicate n transfer sunt n durata LOW a tactului (figura 4.6).
Astfel, o tranziie din LOW n HIGH a unui tact poate s nu modifice starea liniei SCL dac alt tact este n starea
LOW a perioadei sale.
Linia SCL va fi prin urmare meninut n stare LOW de ctre circuitele cu cea mai lung stare LOW din
perioada tactului. Circuitele cu perioade LOW mai scurte vor introduce o stare de ateptare pe tot acest timp.
Cnd toate circuitele interesate i-au terminat starea LOW din perioada tactului, linia de tact SCL va fi
eliberat i trece n HIGH. Acum nu este nici o diferen ntre tactele circuitelor i starea liniei SCL i toate
circuitele vor ncepe s numere pentru starea HIGH din perioada impulsului de tact. Primul care termin durata
pentru starea HIGH va trage din nou linia SCL n starea LOW.
n acest fel va fi generat un tact de sincronizare pe linia SCL, starea sa LOW fiind determinat de
circuitul cu cea mai lung stare LOW din perioada proprie de tact, iar durata HIGH a tactului de sincronizare
fiind determinat de circuitul cu cea mai scurt stare HIGH din perioada proprie de tact.

4.3.2.2. Arbitrarea

Arbitrarea are loc pe linia de date SDA n aa fel nct master-ul care trimite un nivel HIGH (linia de date
SDA 1 din figura 4.7), n timp ce alt master impune un nivel LOW (linia de date SDA 2 din figura 4.7), i va
bloca ieirea de date din etajul de ieire deoarece nivelul de pe magistral nu corespunde cu nivelul pe care acesta
dorete s-l impun.

Figura 4.7. Arbitrarea pe linia de date, pentru interfaa I2C.

Arbitrarea poate s continue pentru muli bii. Prima sa etap este compararea biilor adresei. Dac
master-ii ncearc toi s adreseze acelai slave, arbitrarea continu cu compararea datelor. Deoarece pe
magistrala serial I2C att adresa ct i informaia de date sunt folosite pentru arbitrare, nu se pierde informaie n
timpul acestui proces. Un master care pierde arbitrarea poate genera un impuls de tact pn la sfritul octetului n
care a pierdut arbitrarea.
Dac un master pierde arbitrarea n timpul etapei de adresare este posibil ca master-ul care ctig s
ncerce s-l adreseze. Deci master-ul care pierde trebuie s comute imediat n modul de receptor slave.
n acest proces de arbitrare pot fi implicai mai muli master-i (depinde ci sunt conectai la magistral).
n momentul n care a aprut o diferen ntre nivelul datelor interne a master-ului care genereaz SDA 1 i
actualul nivel pe linia SDA, ieirea sa de date este blocat, deoarece master-ul 1 ar dori s impun un nivel HIGH,
n timp ce pe linia SDA este stabilit un nivel LOW. Aceasta nu va afecta transferul de date iniiat de master-ul care
ctig. Deoarece controlul magistralei I2C se decide doar din adresele i datele trimise de master-i rivali, nu
exist un master central sau vreun ordin de prioritate pe magistral.

4.3.2.3. Folosirea mecanismului sincronizrii de tact ca un handshake

Fiind folosit n procedura de arbitrare, mecanismul sincronizrii de tact poate fi utilizat pentru a permite
receptoarelor s fac fa la transferuri rapide de date, fie la nivel de octet, fie la nivel de bit.
La nivel de octet, un circuit poate fi capabil s recepioneze octei de date la vitez mare, dar necesit mai
mult timp pentru a stoca un octet recepionat sau pentru a pregti alt octet spre a fi transmis. Atunci slave-ul
respectiv poate impune un nivel LOW pe linia SCL, dup recepia octetului nsoit de ACK, pentru a fora master-
ul ntr-o stare de ateptare pn cnd slave-ul este gata pentru transferul unui nou octet.
La nivel de bit, un circuit (de exemplu un microcontroler fr interfa hardware I2C integrat n cip)
poate ncetini tactul magistralei prin lungirea fiecrei stri LOW a tactului. n acest fel viteza oricrui master este
adaptat la posibilitile interne de operare ale acestui circuit.
4.3.3. Formate

Transferul de date urmeaz conform formatului din figura 4.8. Dup condiia de START se trimite o
adres de slave. Aceasta adres este pe 7 bii, al optulea bit fiind un bit ce definete sensul transferului, denumit
Read/Write (R/W). Un 0 indic o transmisie (WRITE), un 1 indic o cerere de date (READ). Un transfer de date
este terminat ntotdeauna printr-o condiie de STOP, generat de master.

Figura 4.8. Un transfer de date complet pe I2C.

Totui, dac nu master dorete s continue transferul de date pe magistral, el poate genera un alt START
i poate adresa un alt slave, fr a mai genera i o condiie de STOP. Sunt deci posibile diferite combinaii
read/write cu formatele corespunztoare, n cadrul unui astfel de transfer. Formate posibile de date sunt
urmtoarele:
a). Emitorul master transmite spre un slave receptor. Direcia (sensul) nu se schimb n timpul transferului
(figura 4.9).

Figura 4.9. Un master emitor trimite date unui slave receptor.

b).Master-ul primete (citete) date de la un slave, imediat dup transmiterea primului octet care cuprinde
informaiile despre adres i sensul transferului (figura 4.10).

Figura 4.10. Un master receptor primete date de la un slave emitor.

Din figura 4.10 se observ c, dup momentul primului ACK, master-ul emitor devine un master
receptor i slave-ul receptor devine un slave emitor. Primul ACK este generat de slave, urmtoarele de ctre
master.
Condiia de STOP este generat de master.
Dac se schimb direcia unui transfer, nu se genereaz condiia de STOP ci o nou condiie de START
urmat de adresa slave-ului, fiind modificat doar bitul de R/W (figura 4.11).
4.4. Specificaii electrice 7

Figura 4.11. Adresare cu schimbarea sensului de adresare pe I2C.

Observaii:
1. Pot fi folosite formate combinate, pentru a controla o memorie serial, de exemplu. Pe timpul primului octet de
date informaia se nscrie n locaia intern de memorie. Dup ce condiia de START este repetat, data poate fi
transferat.
2. O memorie cu interfa I2C integrat n cip poate sa-i incrementeze sau decrementeze automat adresele
locaiilor de memorie. Toate deciziile de autoincrementare sau autodecrementare a locaiilor de memorie sunt luate
de proiectantul memoriei.

4.3.4. Formate de adresare

4.3.4.1. Adresarea

Procedura de adresare pe magistrala I2C, adic primul octet dup condiia de START, determin care
slave va fi selectat de ctre master. Excepie face procedura pentru adresare general care adreseaz toate
componentele conectate la magistral, procedur ce va fi discutat pe larg n paragraful urmtor.
Cnd este trimis o adres, fiecare component din sistem compar primii 7 bii cu adresa sa. Dac exist
coinciden, componenta se consider adresat de ctre master ca i un slave receptor sau slave emitor, n
funcie de cel de-al optulea bit (R/W).
S-au standardizat alocrile de adres pentru circuite cu interfa I2C integrat n cip. O adres de slave
poate fi format dintr-o parte fix i dintr-o parte programabil. Aceast posibilitate permite conectarea n sistem a
mai multor componente de acelai tip. De exemplu dac o component are 4 bii de adres fici i 3 bii de adres
programabili atunci la sistem se pot conecta 8 componente de acelai tip.
Cteva exemple de circuite care au adresa format dintr-o parte fix i una programabil (A nseamn c
pe poziia respectiv poate fi un 0 logic sau un 1 logic) sunt prezentate n continuare:
- PCF 8574 = convertor magistral I2C la magistral paralel pe 8 bii (I2C bus to 8-bit bus converter) are
adresa:

A6 A5 A4 A3 A2 A1 A0
0 1 0 0 A A A
- TDA 8421 = procesor audio stereo Hi-Fi (Hi-Fi stereo audio processor) are adresa:
A6 A5 A4 A3 A2 A1 A0
1 0 0 0 0 0 A
- TSA 5511 = sintetizor de frecven cu PLL pentru TV (PLL frequency synthesizer for TV) are adresa:
A6 A5 A4 A3 A2 A1 A0
1 1 0 0 0 A A
- PCF 8582A = memorie E2PROM are adresa:
A6 A5 A4 A3 A2 A1 A0
1 0 1 0 A A A
- PCF 8591 = ofer posibilitatea de conversie analog numeric pe patru canale i de conversie numeric
analogic, avnd adresa:
A6 A5 A4 A3 A2 A1 A0
1 0 0 1 A A A
Teoretic pot fi 27 = 128 adrese posibile. Sunt ns cteva formate care nu pot fi utilizate pentru adrese.
Astfel:

- combinaia 1111XXX este rezervat pentru cazuri de extensii viitoare ale magistralei I2C;
- secvena 1111111 este la fel rezervat drept adres de extensie, aceasta nsemnnd c procedura de adresare
va continua pe urmtorul octet (sau octei);
- combinaia 0000XXX este definit ca fiind un grup special, cu urmtoarele precizri:
Adres R/W
0000 000 0 apel general
0000 000 1 byte de start
0000 001 X adres pentru magistrala CBUS
0000 010 X adres rezervat pentru diferite formate de magistral
0000 011 X rezervat, va fi definit ulterior
0000 100 X rezervat, va fi definit ulterior
0000 101 X rezervat, va fi definit ulterior
0000 110 X rezervat, va fi definit ulterior
0000 111 X rezervat, va fi definit ulterior

4.3.4.2. Adresa de apel general

Adresarea general este utilizat pentru adresarea tuturor componentelor conectate la magistral.
Opional fiecare component poate s rspund la apelul general, genernd un semnal de acknowledge, sau s
ignore acest apel. Adresa de apel general este compus din doi octei. Formatul apelului general este prezentat
n figura 4.12.

Figura 4.12. Formatul apelului general.

Dac un circuit accept o adres de apel general el se va comporta ca un circuit slave.


Exist dou cazuri de adresare general, n funcie de valoarea bitului B din al doilea octet al apelului
general (figura 4.12):
1. Cazul B = 0.
n acest caz al doilea octet are urmtoarea definiie:
- 00000110 (06 h) - toate componentele care sunt proiectate s rspund la apelul general se iniializeaz i preiau
partea programabil a adresei lor, att prin program ct i prin metode hardware;
- 00000010 (02 h) - toate componentele care sunt proiectate s rspund la apelul general vor intra ntr-un mod n
care vor putea fi programate, pentru a primi, prin program, partea programabil de adres; circuitele nu se vor
iniializa;
- 00000100 (040 h) - circuitele i vor nscrie adresa de slave doar prin metode hardware, nu se vor iniializa;
- 00000000 (00H) - aceast secven nu mai este acceptat pentru al doilea octet.
2. Cazul B = 1
n acest caz avem o adresare general hardware. Aceasta nseamn c apelul este realizat de ctre o
component master care nu poate fi programat s transmit o adres de slave dorit. Deoarece nu tie crei
componente va transmite date, acest circuit master hardware va genera un apel general urmat de adresa sa proprie.
Aceast adres va fi recunoscut de ctre o component inteligent (de exemplu un microcontroler) care va
recepiona datele transmise, redirecionndu-le apoi spre componenta slave care trebuie s le recepioneze.

4.3.4.3. Octetul de start


Microcontrolerele pot fi conectate la magistrala I2C n dou cazuri:
- dac au interfa I2C integrat n cip sau
- dac au circuitele specifice de comand a liniilor SDA i SCL (circuite open-collector sau open - drain) i au
posibilitate s citeasc liniile prin eantionare.
Un microcontroler care este dedicat pentru comunicare pe I2C poate fi programat s fie ntrerupt doar de
ctre cereri de ntrerupere de pe magistral. Un microcontroler care nu are integrat n cip interfa I2C trebuie s
eantioneze valoarea existent pe liniile SDA i SCL ale magistralei. Cu ct pierde mai mult timp cu eantionarea
nivelurilor logice, cu att are mai puin timp la dispoziie pentru a-i ndeplini funciile principale. De aceea este o
diferen de vitez ntre componente hardware rapide i microcontrolere mai puin rapide datorit eantionrii prin
program a magistralei. n cazul n care avem componente fr interfa integrat I2C i care urmresc liniile
magistralei doar prin software, datele pot fi precedate de o procedur de start diferit.
4.4. Specificaii electrice 9

Procedura de start const din :


- o condiie de start,
- un octet de start, 00000001,
- un fals semnal de acknowledge,
- repetarea condiiei de start.

Figura 4.13. Structura octetului de start.

Figura 4.13 prezint aceast structur a octetului de start. Dup condiia de START, S, transmis de
master-ul care a iniiat acest transfer de date pe magistral, se transmite octetul de start (00000001). Prin urmare
linia SDA poate fi eantionat de un alt microcontroler cu o frecven mult mai mic deoarece va trebui s
detecteze unul din cei apte de 0 din octetul de start. Dup detectarea acestui nivel de 0 logic pe linia SDA,
microcontrolerul respectiv va comuta ntr-un mod ce-i va permite urmrirea liniei SDA cu o frecven mai mare.
Va detecta apoi startul repetat, Sr, pe care-l va folosi pentru sincronizare.
Impulsul fals de ACK este prezent doar pentru ca formatul octetului s fie conform cu cel de pe I2C. Dar
nu i se permite nici unui circuit s accepte octetul de start.

4.4. Specificaii electrice i de timp a semnalelor pentru interfaa I2C

4.4.1. Specificaii electrice

Datorit faptului c la magistrala I2C se pot conecta echipamente a cror componente sunt realizate n
tehnologii diferite (NMOS,CMOS, bipolar), nivelurile 0 logic i 1 logic au fost definite astfel nct s poat fi
folosite diferite tensiuni de alimentare. Pentru interfeele care utilizeaz o tensiune de alimentare de 5V +/- 10%
s-au definit urmtoarele niveluri:
ViLmax = 1,5V (nivel maxim de intrare n stare LOW),
ViHmin = 3,0V (nivel minim de intrare n stare HIGH).
Pentru interfeele care au alimentarea diferit de 5 V (de exemplu I 2L) se impun tot aceleai niveluri de
1,5V i respectiv 3V. Pentru circuitele care funcioneaz cu tensiuni de alimentare a cror valoare este situat ntr-
o plaj larg de valori (de exemplu CMOS) s-au definit urmtoarele niveluri:
ViLmax = 0,3 VDD i
ViHmin = 0,7 VDD .
Nivelul de ieire corespunztor lui 0 logic, n ambele cazuri, este:
VoLmax = 0,4 V la 3 mA.
Interfeele care au nivelurile de intrare fixe pot avea fiecare alimentarea proprie 5V +/-10% (figura 4.14).
Rezistenele de rapel pot fi conectate la oricare dintre aceste alimentri.
Totui interfeele I2C la care nivelurile de intrare sunt relative la VDD trebuie s aib o alimentare comun
unde sunt conectate de asemenea i rezistenele de rapel (figura 4.15).
Cnd interfeele cu circuite avnd niveluri de intrare fixe sunt conectate mpreun cu cele care au niveluri
de intrare raportate la VDD, acestea din urm trebuie conectate la o alimentare unic de 5V i trebuie s aib
rezistenele de rapel conectate la liniile SDA i SCL (figura 4.16).
Figura 4.14. Conectarea circuitelor care au tensiuni de alimentare fixe.

Plaja de zgomot (pentru semnale perturbatoare) este urmtoarea:


- 0,1V pentru nivel LOW
- 0,2V pentru nivel HIGH.

Figura 4.15. Conectarea circuitelor pentru care nivelurile de tensiune sunt raportate la VDD.

La pinii SDA i SCL ai unei componente capacitatea maxim admisibil este de 10 pF. Capacitatea
maxim acceptabil pe fiecare linie este de 400 pF. Aceast valoare include capacitatea firelor de legtur i
capacitatea echivalent introdus de fiecare circuit conectat la magistrala I2C.

Figura 4.16. Conectarea circuitelor realizate n tehnologii diferite.

Se pot utiliza rezistoare (Rs) conectate n serie, spre liniile SDA i SCL (figura 4.17), cu valoare de minim
300 Ohm, pentru a asigura o protecie suplimentar mpotriva supratensiunilor ce pot s apar pe liniile SDA i
SCL.
4.4. Specificaii electrice 11

Figura 4.17. Conectarea rezistoarelor Rs pentru atenuarea tensiunilor parazite.

4.4.2. Specificaii pentru durata semnalelor

Pentru toate cazurile, durata minim a tactului n starea LOW este de 4,7s iar durata minim a tactului
n starea HIGH este de 4s. Astfel, un master va putea genera un tact cu o frecven de aproximativ 100 KHz.

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