Desenvolupat per Philips a la dècada de 1980, I2C (escriptura alternativa I2C) s'ha convertit en un dels protocols de comunicació sèrie més utilitzats en electrònica. I2C facilita la comunicació entre components electrònics o circuits integrats, tant si els components estan a la mateixa PCB com si estan connectats amb un cable.
Què és el protocol I2C?
I2C és un protocol de comunicació sèrie que només requereix dues línies de senyal. Va ser dissenyat per a la comunicació entre xips en una placa de circuit imprès (PCB). I2C va ser dissenyat originalment per a una comunicació de 100 Kbps. Tanmateix, al llarg dels anys s'han desenvolupat modes de transmissió de dades més ràpids per aconseguir velocitats de fins a 3.4 Mbit.
La característica clau d'I2C és la capacitat de tenir molts components en un únic bus de comunicació amb només dos cables, cosa que fa que I2C sigui perfecte per a aplicacions senzilles. El protocol I2C s'ha establert com a estàndard oficial, que permet la compatibilitat enrere entre les implementacions I2C.
Senyals I2C
El protocol I2C utilitza dues línies de senyal bidireccionals per comunicar-se amb els dispositius del bus de comunicació. Els dos senyals utilitzats són:
- Línia de dades en sèrie (SDL)
- Rellotge de dades en sèrie (SDC)
La raó per la qual I2C només pot utilitzar dos senyals per comunicar-se amb diversos perifèrics és com es gestiona la comunicació al llarg del bus. Cada comunicació I2C comença amb una adreça de 7 bits (o 10 bits) que crida l'adreça del perifèric.
Això permet que diversos dispositius del bus I2C juguin el paper del dispositiu principal segons les necessitats del sistema. Per evitar col·lisions de comunicació, el protocol I2C inclou capacitats d'arbitratge i detecció de col·lisions, que permeten una comunicació fluida al llarg de l'autobús.
Avantatges d'I2C
Com a protocol de comunicació, I2C té els avantatges següents:
- Taxes de transmissió de dades flexibles.
- Comunicació a distància més llarga que SPI.
- Cada dispositiu de l'autobús es pot adreçar de manera independent.
- Els dispositius tenen una relació principal/secundària simple.
- Només requereix dues línies de senyal.
- És capaç de gestionar múltiples comunicacions primàries proporcionant arbitratge i detecció de col·lisions de comunicacions.
Limitacions d'I2C
Amb tots aquests avantatges, I2C també té algunes limitacions que potser caldrà dissenyar. Les limitacions I2C més importants inclouen:
- Com que només 7 bits (o 10 bits) estan disponibles per a l'adreçament de dispositius, els dispositius del mateix bus poden compartir la mateixa adreça. Alguns dispositius poden configurar els últims bits de l'adreça, però això imposa una limitació de dispositius al mateix bus.
- Només hi ha disponibles unes poques velocitats de comunicació limitades i molts dispositius no admeten la transmissió a velocitats més altes. Cal un suport parcial per a cada velocitat de l'autobús per evitar que els dispositius més lents captin transmissions parcials que puguin provocar errors operatius.
- La naturalesa compartida de l'autobús I2C pot provocar que tot l'autobús es pengi quan un únic dispositiu de l'autobús deixa de funcionar. Si apagues l'autobús, pots restablir el funcionament correcte.
- Atès que els dispositius estableixen la seva pròpia velocitat de comunicació, els dispositius operatius més lents poden retardar el funcionament dels dispositius més ràpids.
- I2C consumeix més potència que altres busos de comunicació sèrie a causa de la topologia de drenatge obert de les línies de comunicació.
- Les limitacions del bus I2C normalment limiten el nombre de dispositius en un autobús a una dotzena.
Aplicacions I2C
I2C és una opció fantàstica per a aplicacions que requereixen un baix cost i una implementació senzilla en lloc d' alta velocitat. Per exemple, els usos habituals del protocol de comunicació I2C inclouen:
- Llegint certs circuits integrats de memòria.
- Accés a DAC i ADC.
- Transmissió i control d'accions dirigides a l'usuari.
- Llegint sensors de maquinari.
- Comunicació amb diversos microcontroladors.