Philipsi poolt 1980ndatel aastatel välja töötatud I2C on saanud elektroonikaseadmete seas kõige tavalisemateks seeriakommunikatsiooniprotokollideks. I2C võimaldab sidet elektroonikakomponentide või IC-i vahel, olgu see siis, kui komponendid paiknevad samal PCB-l või on ühendatud kaabli abil. I2C peamine omadus on võime toota üsna arvukaid komponente ühel kommunikatsioonibussil ainult kahe juhtmega, mis muudab I2C ideaalsed rakendused, mis vajavad lihtsust ja odavat kiirust.
Ülevaade I2C protokollist
I2C on jadaliidese protokoll, mis nõuab ainult kahte signaaliühtlust, mis on mõeldud PCB-kiipide vaheliseks kommunikatsiooniks. I2C oli algselt mõeldud 100 kbps kommunikatsiooniks, kuid aastate jooksul on välja töötatud kiiremad andmeedastusrežiimid, et saavutada kiirus kuni 3,4 Mb / s. I2C protokoll on kehtestatud ametliku standardina, mis tagab hea ühilduvuse I2C rakenduste vahel ja hea tagasiulatuva ühilduvuse.
I2C signaalid
I2C protokoll kasutab ainult kahte kahesuunalist signaali, et suhelda kõigi I2C bussi seadmetega. Kasutatavad kaks signaali on järgmised:
- Serial Data Line (SDL)
- Serial Data Clock (SDC)
Põhjus, et I2C saab kasutada mitmete välisseadmetega suhtlemiseks ainult kahte signaali, on see, kuidas bussiga suhtlemist käideldakse. Iga I2C kommunikatsioon algab 7-bitise (või 10-bitise) aadressiga, mis kutsub välja perifeerse aadressi, kusjuures ülejäänud side on ette nähtud side vastuvõtmiseks. See võimaldab I2C-bussis olevaid mitu seadet mängida põhiseadme rolli, kui süsteemi vajadused dikteerida. Kommunikatsioonide kokkupõrke vältimiseks sisaldab I2C protokoll vahekohtu- ja kokkupõrke avastamise võimalusi, mis võimaldavad sujuvalt kommunikatsiooni mööda bussi.
Eelised ja piirangud
Sideprotokollina on I2C-l palju eeliseid, mis on paljudel manustatud projekteerimisrakendustel hea valik. I2C pakub järgmisi eeliseid:
- I2C nõuab ainult kahte signaali read
- Paindlikud andmeedastuskiirused
- Iga bussi seade on sõltumatult adresseeritav
- Seadmel on lihtne Master / Slave suhe
- I2C suudab lahendada mitut peateavet, pakkudes vahekohtu- ja sidekollete avastamist
- Pikem kaugside kui SPI
Kõigi eelistega on I2Cil ka mõningaid piiranguid, mida võib vaja minna ümber kujundada. Kõige olulisemad I2C piirangud on järgmised:
- Kuna seadme aadressimiseks on saadaval ainult 7-bitti (või 10-bitti), saavad sama bussi seadmed sama aadressi jagada. Mõned seadmed on võimelised konfigureerima aadressi viimase paari biti, kuid see seab endiselt sama bussi seadmete piirangu.
- Saadaval on ainult mõned piiratud kommunikatsioonikiirused ja paljud seadmed ei toeta edastuskiirust. Bussi iga kiiruse osaline toetus on vajalik, et vältida aeglasemate seadmete osalist edastamist, mille tagajärjeks on häired.
- I2C bussi ühine olemus võib kogu bussi rippuda, kui bussi üks seade töötab. Bussi jõuülekannet saab kasutada bussi taaskäivitamiseks ja taastamiseks.
- Kuna seadmed suudavad seadistada oma kommunikatsiooni kiirust, võivad lühemad tööseadmed kiiret kiiruse seadmeid tööd edasi lükata.
- Sidekanalite avatud drenaaži topoloogiast tulenevalt suurendab I2C võimsust kui teised seeriabussid.
- I2C bussi piirangud piiravad tavapäraselt bussi seadmete arvu ligikaudu tosina seadme jaoks.
Taotlused
I2C buss on suurepärane võimalus rakendustele, mis vajavad pigem odavat ja lihtsat kui suure kiirusega rakendust. Näiteks I2C kommunikatsiooniprotokolli tavalised kasutusalad on näiteks mõningate mälukeskuste puhastamine, ligipääs DAC-ile ja ADC-dele, sensorite lugemine , kasutajatega suunatud toimingute edastamine ja kontrollimine, riistvarasandurite lugemine ja mitmete mikrokontrolleritega suhtlemine.