Fir d'Philosophie vun de 1980er entwéckelt I2C ee vun de meeschte verbreet Serienkommunikatiounsprotokollen an Elektronik. I2C erméiglecht d'Kommunikatioun tëscht elektronesche Komponenten oder IC bis IC, egal ob d'Komponenten op der selweschter PCB oder iwwer e Kabel verbonne sinn. Déi Schlësselkompetenz vu I2C ass d'Fäh hunn e groussen Deel vun de Komponente op engem eenzegen Kommunikatiounsbus mat nëmmen zwee Drot, déi I2C perfekt maachen, perfekt fir Applikatiounen, déi einfach a geféierlech Vitesse verlaangen.
Iwwersiicht iwwer de I2C-Protokoll
I2C ass e seriellen Kommunikatiounsprotokoll, deen nëmmen zwou Signalleitungen fir d'Kommunikatioun tëscht Chips op enger PCB entwéckelt. I2C gouf ursprénglech fir 100kbps Kommunikatioun entwéckelt, awer méi séier Datenübertragungsmodi sinn an de Joren entwéckelt fir Geschwindegkeet vun bis zu 3.4Mbit ze kréien. De I2C-Protokoll ass als offiziell Standard eegestänneg, wat fir eng gutt Kompatibilitéit tëscht I2C-Implementatiounen a gudder Rescht Kompatibilitéit gëtt.
I2C Signaler
De I2C Protokoll benotzt just zwou birechmiereg Signalstrëffer, fir mat all de Geräter am I2C Bus kommunizéieren. Déi zwee Signaler benotzt ginn:
- Serial Data Line (SDL)
- Serial Data Clock (SDC)
De Grond datt I2C nëmmen zwou Signaler an d'Kommunikatioun mat enger Rei vu Peripherie benotzen ass a wéi d'Kommunikatioun am Bus ugesat gëtt. All I2C Kommunikatioun fänkt mat enger 7-Bit (oder 10-Bit) Adress aus, déi d'Adress vun der Peripherie rufft d'Ëmfang vun der Kommunikatioun z'erreechen fir d'Kommunikatioun ze kréien. Dëst erméiglecht verschidde Viraussetzunge vum I2C-Bus fir d'Roll vum Master-Gerät ze spille wéi d'Besoine vum System diktéieren. Fir Kommunikatiounskollisiounen ze vermeiden, schreift d'I2C-Protokoll Arbitrage- a Kollisatiounsféierungsfunktiounen, déi glécklech Kommunikatioun am Bus bidden.
Virdeeler an Aschränkungen
Als Kommunikatiounsprotokoll ass I2C vill Virdeeler, déi eng gutt Wiel hunn fir vill Embedbeddesign. I2C bréngt déi folgend Virdeeler:
- I2C erfëllt nëmmen zwee Signalleitungen
- Flexibel Datenübertragungsraten
- All Apparat op dem Bus ass onofhängeg adresséierbar
- D'Geräter hunn eng einfach Master / Slave Bezéiung
- I2C ass an der Lage, verschidde Masterkommunikatioun ze manipuléieren andeems en Arbitrage- a Kommunikatiounscollisatiouns Detektioun gëtt
- Méi kommunal Kommunikatioun wéi SPI
Mat all dës Virdeeler huet I2C och e puer Limiten, déi eventuell ëmdenken mussen entwéckelt sinn. Déi wichtegst I2C-Begrenzunge sinn:
- Well nëmmen 7-Bits (oder 10-Bits) fir Apparat adresséiere sinn, kënnen Apparater am selwechte Bus d'selwecht Adress hunn. E puer Apparater sinn et fäeg, déi lescht Bits vun der Adressnummer ze konfiguréieren, awer dat stellt eng Limitatioun vun Apparater am selwechte Bus vir.
- Nëmme wéineg limitéiert Kommunikatiounsgeschwindegkeeten sinn a ville Geräter ënnerstëtzen net d'Transmissioun méi héije Geschwindegkeet. Deelweise Ënnerstëtzung fir all Geschwindegkeet am Bus ass néideg fir méi luesere Geräter ze verhënneren datt se deelweis Transmissiounen fangen, déi zu operative Glitches erreechen.
- De gemeinsame Charakter vum I2C-Bus kann zu engem kompletten Bus hänkeren wann een eenzegen Apparat um Bus stoppt. Cyclissem d'Muecht op den Bus kann benotzt ginn fir den Bus weiderzemaachen an déi richteg Operatioun ze restauréieren.
- Da Geräter kënnen hir Kommunikatiounsgeschwindegkeet setzen, méi langweileg Operatiounsapparater kënnen den Operateur vun méi schnelle Geschwindegkeet ze schécken.
- I2C zitt méi Muecht wéi aner serielle Kommunikatiounbussen due to the open drain topology of the communication lines.
- D'Beschränkungen vum I2C Bus limitéieren normalerweis d'Zuel vun den Apparater op e Bus ëm een Dosen Geräischer.
Applikatiounen
De I2C Bus ass eng super Optioun fir Uwendungen, déi kleng Effekter an einfache Implementatioun anstatt High-Speed erforderen. Zum Beispill verschidde Lieser ICs ze liesen, Zougang zu DACs an ADCs, Sensorë fir Liesen , Transmissiounen an Controlling vum Benotzer geleet Aktiounen, Liese vun Hardware Sensoren a Kommunikatioun mat verschidde Mikrokontroller sinn allgemeng Verwennungen vum I2C Kommunikatiounsprotokoll.