Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

I2C sinhroni serijski interfejs

IIC (Inter Integrated Circuit) protokol, razvijen od strane kompanije Philips ranih osamdesetih godina i predstavlja
dvožični serijski sinhroni prenos adresa i podatka. Prenos podataka je dvosmerni. Magistralu čine dve linije od kojih je
jedna linija taktnog signala za sinhronizaciju prenosa SCL a druga linija podataka SDA. Ovaj protokol je razvijen za tzv
master-slave komunikaciju. Uređaj koji generiše takt je master i frekvencija takta direktno utiče na brzinu prenosa
podataka. Taktna linija SCL je bidirekciona, što dopušta mogućnost da više nego jedan master uređaj preuzme kontrolu
nad magistralom u različito vreme. Prema standard u od 1998 godine gornja granica taktne frekvencije na SCL liniji je
3.4Mbit/s. Bidirekciona linija podataka SDA dopušta tok podataka u jednom ili drugom smeru, odnosno, od master ka
slave uređaju i suprotno. Šta više, bidirekcionalnost dopušta mogućnost prijemniku da signalizira svoj status, vraćajući
informaciju predajniku na kraju svakog prenetog bajta.

I2C protokol omogućava da se do 122 različite komponente istovremeno povežu na jednostavan način
korišćenjem samo dva I/O pina. I2C je posebno pogodan kada se mikrokontroler i integrisano kolo sa kojima
mikrokontroler treba da razmenjuje podatke nalaze unutar istog uređaja. Obično su to drugi mikrokontroleri ili
specijalizovana, jeftina integrisana kola koja pripadaju novoj generaciji takozvanih 'pametnih periferijskih komponenti'
(memorije, senzori temperature, satovi realnog vremena itd.)

Kada su master i slave komponente sinhronizovane sa taktom , svaku razmenu podataka uvek pokreće master.
Jednom kada je IIC modul omogućen, on čeka da se pojavi uslov Start. Kada nema podataka za prenos obe linije trebaju
biti na viskom naponskom nivou, što predstavlja neaktivno stanje. Glavni uređaj prvo šalje START bit (logička nula)
preko SDA pina, zatim 7-bitnu adresu izabranog slave uređaja i na kraju bit koji zahteva upisivanje podataka (0) ili čitanje
(1) na uređaj. Slično kao i kod UART modula i ovaj modul poseduje jedan pomerački registar koji je direktno spojen sa
I/O pinovima a nije direktno programabilan. Ovaj osmobitni regisatar se zove SSPSR. Osam bitova se pomeraju u SSPSR
registar nakon početnog uslova. Svi podređeni uređaji koji dele isti prenosni vod će istovremeno primiti prvi bajt, ali
samo jedan od njih ima adresu koja se podudara i prima pune podatke. Kada se prvi bajt pošalje (prenose se samo 8-
bitni podaci), master prelazi u režim prijema i čeka potvrdu od prijemnog uređaja da je došlo do podudaranja adrese.
Ako slave uređaj pošalje bit podataka za potvrdu 1 (acknowledge) kojim slave potvrđuje svoje prisustvo na magistrali
prenos podataka će se nastaviti sve dok glavni uređaj (mikrokontroler) ne pošalje Stop bit. Ako ovaj signal u devetom
taktnom intervalu izostane, master uređaj prekida transfer i uobičajeno posle određene pauze pokušava sa novom
transakcijom .

You might also like