Vissza

Az I2C-busz mkdse s gyakorlati felhasznlsa egyszeren


Az I2C (Inter-Integrated Circuit) vagy TWI (Two-Wire Interface) busz egy npszer kommunikcis protokoll, amelyet szles krben hasznlnak az elektronikai s begyazott rendszerekben. Gyakorlati felhasznlsa a mindennapokban szmos terleten megtallhat.

Az I2C (Inter-Integrated Circuit) mködését úgy is el lehet magyarázni, mint amikor egy tanár és több diák között zajlik a kommunikáció egy osztályteremben. Nézzük meg lépésrl lépésre:

Képzeljük el az I2C-t egy osztályteremként:


Mi történik a valóságban?

  1. A tanár kérdez:

    • A master (például egy mikrovezérl, mint az Arduino) azt mondja: „Hé, te 0x76-os diák, milyen a hmérséklet?”
    • Itt a 0x76 a diák (eszköz) egyedi címe az I2C-buszon.
  2. A kiválasztott diák válaszol:

    • A szenzor (például egy hmérsékletmér) visszaválaszol: „A hmérséklet most 25 fok.”
  3. Mindenki más csendben figyel:

    • Az osztályterem többi diákja (más eszközök, például egy kijelz) nem szólal meg, mert a tanár nem nekik tett fel kérdést.

Miért mködik két vezetékkel?


Milyen szabályok vannak?

  1. Egy tanár lehet egyszerre a teremben (egy master):
    • irányítja, hogy ki beszélhet és mikor.
  2. Több diák lehet (több slave):
    • Minden diák kap egyedi címet (mint egy telefonszám), így a tanár tudja, kit kell megszólítani.
  3. Nincs összevisszaság:
    • Az órajel (SCL) biztosítja, hogy mindenki tudja, mikor kezddik és mikor ér véget egy beszélgetés.

Hogyan néz ez ki a valóságban?

Képzelj el egy egyszer példát:


Miért jó ez a rendszer?

 

1. Központi egység (master):

Ez az a "fnök", amin a program fut. Ez lehet:

A program a központi egységen fut, és utasításokat ad a buszhoz csatlakoztatott eszközöknek.


2. I2C-busz vezetékek:

Egy ilyen buszon akár több eszközt is összeköthetsz, csak mindegyiknek egyedi címet kell adni.


3. Érzékelk és egyéb eszközök (slave-ek):

A központi egység ezekkel kommunikál. Példák:


4. Hogyan mködik mindez?

Például egy egyszer okosház rendszer:

  1. A program fut a masteren:
    • Az Arduino programja minden másodpercben megkérdezi a hmérséklet-érzékelt, hogy mi a hmérséklet.
    • Ha túl alacsony a hmérséklet (pl. 18°C alatt), akkor a program bekapcsolja a ftést.
  2. Kommunikáció I2C-buszon keresztül:
    • Az Arduino kiküldi az érzékelnek a parancsot: „Mérd meg a hmérsékletet és küldd el nekem az adatokat!”
    • Az érzékel válaszol: „22°C most a hmérséklet.”
  3. További eszközök kezelése:
    • Az adatokat eltárolja az EEPROM-ban, ha késbb szükség lenne rá.
    • A hmérsékletet kiírja az OLED kijelzre: „Szoba hmérséklet: 22°C.”

Valós életbeli példa – Okosház hmérséklet-szabályzó rendszer:

Képzeld el, hogy van egy Arduino, ami az otthonod központi agya:

  1. Csatlakoztatott érzékelk:
    • Hmérséklet-érzékel a nappaliban.
    • Fényérzékel az ablaknál.
    • EEPROM a beállítások tárolására (például, hogy 21°C legyen az ideális hmérséklet).
  2. Feladatok:
    • Az Arduino lekérdezi az érzékelket: „Mi a nappali hmérséklete?”
    • A válasz alapján eldönti, hogy bekapcsolja-e a ftést.
    • Az adatokat elmenti, hogy statisztikát készítsen (pl. milyen volt az átlaghmérséklet a nap folyamán).
    • Az adatokat kiírja egy kijelzre.

Miért jó az I2C ebben a helyzetben?

 

Szenzorok interfészelése


2. Memória interfészek


3. OLED és LCD kijelzk


4. Valós idej órák (RTC-k)


5. Mikrovezérlk közötti kommunikáció


6. Digitális potméterek és DA/AD konverterek


7. Szórakoztatóelektronika


8. Orvosi eszközök


9. Tápfelügyeleti rendszerek


10. Ipari automatizálás


Elnyök, amiért az I2C népszer a gyakorlatban:

  1. Egyszer és gazdaságos: Csak két vezeték (plusz föld) szükséges.
  2. Skálázhatóság: Több eszköz csatlakoztatható ugyanarra a buszra.
  3. Széles kör támogatottság: Számos szenzor, kijelz és egyéb periféria használja.