mikrokontrolery.net

 

   

Magistrala I2C (IIC - Inter Integrated Circuit) została stworzona przez firmę Philips jako lokalna magistala szeregowa, służaca do wymiany danych pomiedzy układami scalonymi danego systemu.

Magistrala I2C składa się z dwóch linii sygnałowych : SDA (serial data) - do przesyłania danych i SCL (serial clock) - do przesyłania sygnału taktującego, oraz linii masy. Obydwie linie magistrali I2C są liniami dwukierunkowymi. Dzięki przemyślanej konstrukcji magistrali I2C może być do niej podłączonych wiele układów. Poniższy rysunek przedstawia budowę stopni wyjściowych układów I2C :

Dzięki zastosowaniu tranzystorów z otwartym drenem w stopniu wyjściowym możliwe jest podłączenie do magistrali kilku i więcej układów komunikujących się ze sobą po szynie I2C.

Transmisja danych po szynie I2C jest transmisją synchroniczą i jest taktowana sygnałem przesyłanym linią SCL. Gdy na linii SCL panuje stan wysoki, to dane muszą się znajdować w stanie ustalonym, natomiast gdy linia SCL jest w stanie niskim, to stan linii SDA może się zmienić.

Każda transmisja magistralą I2C rozpoczyna sie bitem startu, a kończy bitem stopu. Bit startu jest nadawany poprzez wygenerowanie na linii SDA poadającego zbocza w momencie gdy na linii SCL jest stan wysoki. Natomiast bit stopu jest nadawany poprzez wygenerowanie na linii SDA zbocza narastającego przy wysokim stanie linii SCL.

Każdy bajt przesłany magistralą I2C musi się składać z 8 bitów. Dane są przesyłane od bitu najbardziej znaczącego do bitu najmniej znaczącego. Liczba bajtów przesłanych podczas jednej transmisji nie jest ograniczona. Każda transmisja bajtu danych powinna się zakończyc sygnałem potwierdzenia wystawianym przez urządzenie odbierające dane.


 

 

 

 

 

 

 

 

 

 

 
 
 
 

(c) 2004-2008 Radosław Kwiecień
Polityka prywatności