De I2C staat voor de inter-geïntegreerde controller. Het I2C-protocol is een serieel communicatieprotocol dat wordt gebruikt om apparaten met lage snelheid aan te sluiten. Bijvoorbeeld, EEPROM's, microcontrollers, A/D- en D/A-converters, En invoer/uitvoerinterfaces . Het is ontwikkeld door Philips-halfgeleider in 1980 voor communicatie tussen chips. Bijna alle grote IC-fabrikanten gebruiken het nu. Het is een master-slave-communicatie waarbij u meerdere slaves vanaf één master kunt verbinden en besturen. Hierbij heeft elk slave-apparaat een bepaald adres. Het ondersteunt verschillende datasnelheden in versies variërend van 100 Kbps, 400 Kbps, 1 Mbps tot 3,4 Mbps. Het is synchrone communicatie zoals SPI.
I2C-interface
Het I2C-protocol gebruikt slechts twee kabels voor de communicatie, waarbij één kabel wordt gebruikt voor de data (SDA) en een andere kabel voor de klok (SCL). Beide kabels zijn nodig om op te trekken met een weerstand voor + Vdd. Het kan worden gebruikt om twee I2C-bussen met verschillende spanningen te koppelen.
Toepassingen van I2C
Het is de beste keuze voor toepassingen die een minder kostbare en eenvoudige implementatie vereisen in plaats van hoge snelheid.
- Bepaalde geheugen-IC's lezen
- Toegang tot DAC's en ADC's
- Het verzenden en besturen van gebruikersgerichte acties
- Hardwaresensoren lezen
- Communiceren met meerdere microcontrollers
Voordelen van I2C
Er zijn de volgende voordelen:
- Het biedt flexibele datatransmissiesnelheden.
- Het biedt communicatie over lange afstanden dan SPI.
- Elk apparaat op de bus wordt onafhankelijk bestuurd.
- Het verhoogt de complexiteit van firmware of hardware op laag niveau.
- Dit protocol legt overhead op die ook de doorvoer vermindert.
- Voor dit protocol zijn slechts twee kabels nodig.
- Het is geschikt voor verschillende masterinteracties via arbitrage en botsingsdetectie.
Nadelen van I2C
- De complexiteit van hardware neemt toe als er geen. van de master/slave-apparaten bevindt zich hoog in het circuit.
- Het biedt een half-duplexmodus voor communicatie.
- Het wordt beheerd door de stapel.
- Op veel apparaten zijn meerdere adressen opgeslagen, wat conflicten kan veroorzaken.
Verschil tussen het I2C- en SPI-protocol.
2C | SPI |
---|---|
I2C staat voor de Inter-geïntegreerde controller. | SPI staat voor Serial Peripheral Interface. |
Het werd in 1980 ontwikkeld door Philips Semiconductor. | Het werd halverwege 1980 door Motorola ontwikkeld. |
Het is een half-duplexprotocol. | Het is een full-duplexprotocol. |
Het ondersteunt de meervoudige masterconfiguratie. | Het ondersteunt de configuratie met meerdere masters niet. |
Meer overhead. | Minder overhead. |
Het I2C-protocol gebruikt twee kabels voor communicatie (CCL en SDA). | Het SPI-protocol gebruikt vier kabels voor communicatie (MISO, MOSI, CS en CLK). |
De gegevensoverdrachtsnelheid varieert van 100 kHz tot 400 kHz. | De gegevensoverdrachtsnelheid tot 25 MHz. |
Het is een multi-masterprotocol. | Het is een enkel masterprotocol. |