Översikt och fördelar med I2C-bussen
Utvecklad av Philips på 1980-talet, I2C (alternativt stavat I2C) har blivit ett av de mest använda seriella kommunikationsprotokollen inom elektronik. I2C underlättar kommunikation mellan elektroniska komponenter eller integrerade kretsar, om komponenterna är på samma PCB eller ansluten med en kabel.

Vad är I2C-protokollet?
I2C är ett seriellt kommunikationsprotokoll som bara kräver två signallinjer. Den var designad för kommunikation mellan chips på ett kretskort (PCB). I2C designades ursprungligen för 100 Kbps kommunikation. Men snabbare dataöverföringslägen har utvecklats under åren för att uppnå hastigheter på upp till 3,4 Mbit.
Nyckelfunktionen hos I2C är möjligheten att ha många komponenter på en singel kommunikationsbuss med endast två ledningar, vilket gör I2C perfekt för enkla applikationer. I2C-protokollet har etablerats som en officiell standard, vilket möjliggör bakåtkompatibilitet mellan I2C-implementeringar.
I2C-signaler
I2C-protokollet använder två dubbelriktade signallinjer för att kommunicera med enheterna på kommunikationsbussen. De två signalerna som används är:
- Serial Data Line (SDL)
- Serial Data Clock (SDC)
Anledningen till att I2C bara kan använda två signaler för att kommunicera med flera kringutrustning är hur kommunikationen längs bussen hanteras. Varje I2C-kommunikation börjar med en 7-bit (eller 10-bitars) adress som anropar adressen till kringutrustningen.
Detta gör att flera enheter på I2C-bussen kan spela rollen som den primära enheten som systemets behov dikterar. För att förhindra kommunikationskollisioner inkluderar I2C-protokollet arbitration och kollisionsdetekteringsmöjligheter, som möjliggör smidig kommunikation längs bussen.
Fördelarna med I2C
Som kommunikationsprotokoll har I2C följande fördelar:
- Flexibla dataöverföringshastigheter.
- Längre distanskommunikation än SPI.
- Varje enhet på bussen är oberoende adresserbar.
- Enheter har en enkel primär/sekundär relation.
- Den kräver bara två signallinjer.
- Den kan hantera flera primära kommunikationer genom att tillhandahålla skiljedoms- och kommunikationskollisionsdetektering.
Begränsningar för I2C
Med alla dessa fördelar har I2C också några begränsningar som kan behöva utformas runt. De viktigaste I2C-begränsningarna inkluderar:
- Eftersom endast 7-bitar (eller 10-bitar) är tillgängliga för enhetsadressering, kan enheter på samma buss dela samma adress. Vissa enheter kan konfigurera de sista bitarna av adressen, men detta innebär en begränsning av enheter på samma buss.
- Endast ett fåtal begränsade kommunikationshastigheter är tillgängliga, och många enheter stöder inte överföring vid högre hastigheter. Partiellt stöd för varje hastighet på bussen krävs för att förhindra att långsammare enheter fångar upp partiella sändningar som kan resultera i funktionsfel.
- I2C-bussens delade karaktär kan resultera i att hela bussen hänger sig när en enda enhet på bussen slutar fungera. Att slå på strömmen till bussen kan återställa korrekt funktion.
- Eftersom enheter ställer in sin egen kommunikationshastighet kan långsammare driftenheter försena driften av snabbare enheter.
- I2C drar mer ström än andra seriella kommunikationsbussar på grund av kommunikationsledningarnas öppna dräneringstopologi.
- Begränsningarna för I2C-bussen begränsar vanligtvis antalet enheter på en buss till ett dussintal.
I2C-applikationer
I2C är ett utmärkt alternativ för applikationer som kräver låg kostnad och enkel implementering snarare än hög hastighet. Till exempel, vanliga användningar av I2C-kommunikationsprotokollet inkluderar:
- Läser vissa minnes-IC: er.
- Åtkomst till DAC och ADC.
- Överföra och kontrollera användarriktade åtgärder.
- Läser hårdvarusensorer.
- Kommunicera med flera mikrokontroller.