Ethuthukiswe yi-Philips ngawo-1980, i-I2C iye yaba yinto ejwayelekile kakhulu yokuxhumana nge-electronics. I2C inika amandla ukukhulumisana phakathi kwezingxenye ze-elektroniki noma i-IC kuya ku-IC, noma ngabe izingxenye zisePCB efanayo noma zixhunywe ngekhebula. Isici esiyinhloko se-I2C yikhono lokuba nenombolo enkulu yezingxenye ebhasi elilodwa lokuxhumana elinamacingo amabili kuphela enza i-I2C iphelele izinhlelo zokusebenza ezifuna ukulula futhi izindleko eziphansi ngesivinini.
Sibutsetelo seProtocol ye-I2C
I-I2C iyi-protocol yokuxhumana ye-serial efuna kuphela imigqa yesignali eyakhelwe ukuxhumana phakathi kwe-chips ku-PCB. I2C ekuqaleni yenzelwe ukuxhumana okungu-100kbps kodwa izindlela zokudlulisa idatha ngokushesha zenzelwe eminyakeni edlule ukuze zifinyelele ngesivinini esingu-3.4Mbit. I-protocol ye-I2C isungulwe njengezinga elisemthethweni, elihlinzekela ukuhambisana okuhle phakathi kokuqaliswa kwe-I2C kanye nokuhambisana okuhle okuhle emuva.
Izimpawu ze-I2C
I-Protocol ye-I2C isebenzisa imigqa emibili yesikhangiso se-bi-directional ukuxhumana nawo wonke amadivaysi ebhasi le-I2C. Izimpawu ezimbili ezisetshenzisiwe ziyi:
- I-Serial Data Line (i-SDL)
- I-Serial Data Clock (i-SDC)
Isizathu sokuthi i-I2C ingasebenzisa izibonakaliso ezimbili kuphela ekukhulumisaneni nenombolo yezingcingo ukuthi indlela yokuxhumana ngebhasi ibhekwa ngayo. Ukuxhumana kwe-I2C ngayinye kuqala ngekheli le-7-bit (noma eli-10-bit) elibiza ikheli lendawo yokuxhumana konke okuhloswe ngakho ukuthola ukuxhumana. Lokhu kuvumela amadivaysi amaningi ebhasini le-I2C ukuthi adlale indima yocingo elihle njengoba izidingo zesistimu zifuna. Ukuvimbela ukushayisana kokuxhumana, i-protocol ye-I2C ihlanganisa amandla okuthola ukuxazulula nokushayisana okuvumela ukukhulumisana okushelelayo ebhasini.
Izinzuzo nokulinganiselwa
Njengenqubo yokuxhumana, i-I2C inezinzuzo eziningi ezenzayo kuyisinqumo esihle sezinhlelo eziningi zokufaka ezifakiwe. I2C uletha izinzuzo ezilandelayo:
- I2C idinga kuphela imigqa yesignali ezimbili
- Amazinga okudlulisa idatha eFlexible
- Idivaysi ngayinye ebhasi ibhekwa ngokuzimela
- Amadivaysi anobungane obukhulu be-Master / Slave
- I2C ikwazi ukusingatha i-master master yokuxhumana ngokunikeza ukutholakala kokubambisana nokuxhumana kokushayisana
- Ukuxhumana kwebanga elide kune-SPI
Ngazo zonke lezi zinzuzo, i-I2C ibuye ibe nemingcele embalwa engadinga ukuthi yenziwe ngokuzungezile. Imikhawulo ebaluleke kakhulu ye-I2C ihlanganisa:
- Kusukela kuphela ama-bits angu-7 (noma ama-10-bits) atholakala kudivayisi yokukhuluma, amadivaysi ebhasi elifanayo angabelana ngekheli elifanayo. Amanye amadivaysi akwazi ukumisa izingqikithi ezimbalwa zokugcina zekheli, kodwa lokhu kushicilela ukukhawulelwa kwamadivayisi ebhasi elifanayo.
- Kuhamba kancane okusheshayo kokuxhumana okusheshayo kuyatholakala futhi amadivaysi amaningi awasekeli ukuhanjiswa okuphakeme kakhulu. Ukwesekwa okukodwa kwejubane ngalinye ebhasini kuyadingeka ukuvimbela amadivaysi aphuthumayo ekubambeni ukuthutha okuyingxenye okuzoholela ekugqibeleni okusebenzayo.
- Ubuhlobo obubanjelwe ibhasi le-I2C lungabangela ibhasi lonke elilenga lapho idivayisi eyodwa ebhasini eyeka ukusebenza. Ukugibela ibhasi amandla angasetshenziswa ukuqala kabusha ibhasi bese ubuyisela ukusebenza okufanele.
- Njengoba amadivaysi angasetha isivinini sabo sokuxhumana, amadivaysi asebenzayo angasheshi angabambezela ukusebenza kwamadivayisi esheshayo ngokushesha.
- I2C idonsela amandla amaningi kunamanye amabhasi okuxhumana ahamba phambili ngenxa ye-topologi evulekile yokuvula imigqa yokuxhumana.
- Ukulinganiselwa kwebhasi le-I2C ngokuvamile kunciphisa inani lamadivayisi ebhasini kuya kumadivayisi ayishumi nambili.
Izicelo
Ibhasi le-I2C liyinhle kakhulu yezicelo ezidinga izindleko eziphansi nokusebenza okulula kunokuba ijubane eliphezulu. Isibonelo, ukufunda ezinye i-ICs zenkumbulo, ukufinyelela ama-DAC kanye ne-ADC, ukufunda izinzwa , ukuthumela nokulawula izenzo eziqondisiwe zomsebenzisi, ukufunda ama-hardware sensor, nokuxhumana nama-microcontroller amaningi kukhona ukusetshenziswa okuvamile kweprotocol yokuxhumana ye-I2C.