Pagājušā gadsimta astoņdesmitajos gados Philips izstrādātais I2C (alternatīvi rakstīts I2C) ir kļuvis par vienu no elektronikā visbiežāk izmantotajiem seriālo sakaru protokoliem. I2C atvieglo saziņu starp elektroniskajiem komponentiem vai integrālajām shēmām neatkarīgi no tā, vai komponenti atrodas vienā PCB vai savienoti ar kabeli.
Kas ir I2C protokols?
I2C ir seriālās komunikācijas protokols, kam nepieciešamas tikai divas signāla līnijas. Tas bija paredzēts saziņai starp mikroshēmām uz iespiedshēmas plates (PCB). I2C sākotnēji bija paredzēts 100 Kbps saziņai. Tomēr gadu gaitā ir izstrādāti ātrāki datu pārraides režīmi, lai sasniegtu ātrumu līdz 3.4 Mbit.
I2C galvenā īpašība ir spēja saturēt daudzas sastāvdaļas vienā sakaru kopnē ar tikai diviem vadiem, kas padara I2C ideālu vienkāršām lietojumprogrammām. I2C protokols ir izveidots kā oficiāls standarts, kas nodrošina atpakaļejošu saderību starp I2C implementācijām.
I2C signāli
I2C protokols izmanto divas divvirzienu signāla līnijas, lai sazinātos ar ierīcēm sakaru kopnē. Tiek izmantoti divi signāli:
- Serial Data Line (SDL)
- Sērijas datu pulkstenis (SDC)
Iemesls, kāpēc I2C var izmantot tikai divus signālus, lai sazinātos ar vairākām perifērijas ierīcēm, ir tas, kā tiek apstrādāta saziņa pa kopni. Katra I2C komunikācija sākas ar 7 bitu (vai 10 bitu) adresi, kas izsauc perifērijas ierīces adresi.
Tas ļauj vairākām I2C kopnes ierīcēm pildīt primārās ierīces lomu, kā to nosaka sistēmas vajadzības. Lai novērstu sakaru sadursmes, I2C protokols ietver arbitrāžas un sadursmju noteikšanas iespējas, kas nodrošina vienmērīgu saziņu pa kopni.
I2C priekšrocības
Kā sakaru protokolam I2C ir šādas priekšrocības:
- Elastīgi datu pārraides ātrumi.
- Ilgāka attāluma saziņa nekā SPI.
- Katra kopnes ierīce ir adresējama neatkarīgi.
- Ierīcēm ir vienkārša primārā/sekundārā saikne.
- Tam nepieciešamas tikai divas signāla līnijas.
- Tas spēj apstrādāt vairākus primāros sakarus, nodrošinot arbitrāžu un sakaru sadursmes noteikšanu.
I2C ierobežojumi
Ar visām šīm priekšrocībām I2C ir arī daži ierobežojumi, kas, iespējams, ir jāprojektē. Svarīgākie I2C ierobežojumi ir šādi:
- Tā kā ierīces adresēšanai ir pieejami tikai 7 biti (vai 10 biti), ierīces vienā kopnē var koplietot vienu un to pašu adresi. Dažas ierīces var konfigurēt dažus pēdējos adreses bitus, taču tas nosaka ierīču ierobežojumu vienā kopnē.
- Ir pieejami tikai daži ierobežoti sakaru ātrumi, un daudzas ierīces neatbalsta pārraidi ar lielāku ātrumu. Ir nepieciešams daļējs atbalsts katram kopnes ātrumam, lai lēnākas ierīces neuztvertu daļēju pārraidi, kas var izraisīt darbības traucējumus.
- I2C kopnes kopīgais raksturs var izraisīt visa autobusa karāšanos, kad viena ierīce autobusā pārstāj darboties. Pārslēdzot barošanu ar autobusu, var atjaunot pareizu darbību.
- Tā kā ierīces pašas nosaka savu sakaru ātrumu, lēnākas darbības ierīces var aizkavēt ātrāku ierīču darbību.
- I2C patērē vairāk enerģijas nekā citas seriālās sakaru kopnes sakaru līniju atvērtās novadīšanas topoloģijas dēļ.
- I2C kopnes ierobežojumi parasti ierobežo kopnē esošo ierīču skaitu līdz aptuveni ducim.
I2C lietojumprogrammas
I2C ir lieliska iespēja lietojumprogrammām, kurām ir nepieciešamas zemas izmaksas un vienkārša ieviešana, nevis liels ātrums. Piemēram, izplatītākie I2C sakaru protokola lietojumi ietver:
- Noteiktu atmiņas IC lasīšana.
- Piekļuve DAC un ADC.
- Lietotāju virzītu darbību pārsūtīšana un kontrole.
- Aparatūras sensoru nolasīšana.
- Saziņa ar vairākiem mikrokontrolleriem.