Untwikkele troch Philips yn 'e jierren '80, I2C is ien fan' e meast brûkte serielkommunikative protokollen yn elektroanika. I2C kin de kommunikaasje tusken elektroanyske komponenten of IC oant IC, of de of de komponinten binne op deselde PCB of ferbûn fia in seil. De haadfunksje fan I2C is de fermogen om in mannichfâldich tal komponinten te hawwen op in inkele kommunikaasjebus mei allinich twa draadjes dy't I2C perfekt makket foar applikaasjes dy't ienfâld en easken oer snelheid freegje.
Oersjoch fan it I2C-protokol
I2C is in serial communication protokol dat allinich twa sinjaallinen fereasket dy't ûntwikkele is foar kommunikaasje tusken chips op in PCB. I2C is oarspronklik ûntwurpen foar 100 kbps kommunikaasje, mar faker data-transmissionswizen binne oer de jierren ûntwikkele om snelheid fan maksimaal 3,4 mbyte te berikken. It protokol I2C is fêstlein as in offisjele standert, dat soarget foar goeie kompatibiliteit ûnder I2C-ymplementaasjes en goeie efterkompatibiliteit.
I2C-sinjalen
It I2C-protokol brûkt allinich twa bidirekte sinjale rigels om te kommunisearjen mei alle apparaten op 'e I2C-bus. De beide sinjalen dy't brûkt wurde binne:
- Serial Data Line (SDL)
- Serial Data Clock (SDC)
De reden dat I2C allinich twa sinjalen brûke kin foar kommunikaasje mei in tal peripheren is yn hoe't kommunikaasje by de bus behannele wurdt. Elke I2C-kommunikaasje begjint mei in 7-bit (of 10-bit) adres dat de adres fan 'e peripherale útrint, de rest fan' e kommunikaasje is bedoeld om de kommunikaasje te krijen. Dit liedt meardere apparaten op 'e I2C-bus de rol fan it master-appartemint te spyljen as de needsaak fan it systeem te bestjoeren. Om foar kommunikaasje-kollisions te foarkommen, befettet it I2C-protokol arbitraasje- en kollisearderkenningsfeardichheden dy't gûle kommunikaasje litte by de bus.
Foardielen en beheinen
As kommunikaasjek protokol hat I2C in soad foardielen dy't in maklike kar meitsje foar in protte ynbiede ûntwerpapplikaasjes. I2C bringt de folgjende foardielen:
- I2C fereasket allinich twa sinjalinen
- Flexibele gegevensrjochten
- Elke apparaat op 'e bus is selsstannich oan adressearre
- Devices hawwe in ienfâldige Master / Slave relaasje
- I2C is handich om mear master-kommunikaasjes te hanneljen troch it jaan fan arbitraasje- en kommunikaasje-kollisaasje-deteksje
- Langekommende kommunikaasje as SPI
Mei al dizze foardielen hat I2C ek in pear beheiningen dy't mooglik ûntwurpen wurde moatte. De wichtichste I2C beheinen binne:
- Omdat allinich 7-bit (of 10-bit) beskikber binne foar applikaasje-adressen, kinne apparaten op deselde bus mei deselde adres diele. Guon apparaat kinne de lêste piten fan it adres ynstelle, mar dit betsjut noch in beheining fan apparaten op deselde bus.
- Allinich in pear beheind kommunikative snelingen binne beskikber en in protte apparaten stypje nettsjinsteande hegere snelheden. Partielle stipe foar elke snelheid op 'e bus is ferplichte om slimmer apparatuer te foarkommen fan it fangen fan parsjele transmissions dy't in operaasje-oanpak krije.
- De mienskiplike karakter fan 'e I2C-bus kin opmeitsje yn' e folsleine bus hingje as in ienich apparaat op 'e bus operearret. Fytsen de krêft nei de bus kin brûkt wurde om de bus opnij te meitsjen en de goede operaasje weromsette.
- Omdat apparaten syn kommunikaasjegong ynstelle kinne, kinne slimmer operearjende apparaten de funksje fan flugger fêste apparaten fertsjinje.
- I2C draait mear krêft as oare seriekommunikaasjebussen troch de iepen drain-topology fan 'e kommunikaasjegroepen.
- De beheiningen fan de I2C-bus beheine gewoanlik it oantal apparatuer op in bus om sa'n tsientallen apparaten hinne.
Oanfraach
De I2C-bus is in grutte opsje foar applikaasjes dy't lege kosten en ienfâldige ymplemintaasje earder as hege flugge nedich binne. Bygelyks it lêzen fan bepaalde spesjale IC's, tagong fan DAC's en ADC's, lêzen sensor , oertsjûgjen en kontrolearjen fan brûkte rjochte aksjes, it lêzen fan hardwaresensors en kommunisearjen mei meardere mikrokontrollers binne mienskiplike gebrûk fan it I2C-kommunikaasprotokol.