ZPĚT

PANDA ELEKTRONIK

Znak projektu "Panda ELEKTRONIK"


Sběrnice I2C

Při procházení se internetem jsem na adrese http://www.fd.cvut.cz/Studenti/Xfikais/skola/pjw/i2csim.htm našel tuto zajímavou stránku se simulátor sběrnice I2C. Stránka je v nezměněné podobě.

I2Csim.jar - zdrojové kódy + přeložené třídy + dokumentace

Tento applet ukazuje, jak může probíhat komunikace na sběrnici I2C. Před spuštěním simulace je třeba vybrat adresu cílového zařízení (SLAVE) a zvolit režim přenosu (čtení/zápis). Dále je třeba vyplnit položky command/data a data. Interpretace těchto položek závisí na konkrétním zařízení a pro účely demonstrace není jejich význam podstatný. V režimu čtení se tyto hodnoty čtou ze SLAVE zařízení a v režimu zápis se zapisují do SLAVE zařízení.

Tlačítkem Run se spustí simulace. Tlačítko Reset slouží k výmazu displeje. Po stisknutí tlačítka Run se provede kontrola vložených údajů. Pokud jsou údaje v pořádku, proběhne vykreslení stavů na sběrnici. Při pohybu myši nad zobrazenými průběhy se ve stavovém řádku pod displejem zobrazují detailnější informace k jednotlivým průběhům. V pravém horním rohu displeje je informace o měřítku displeje ([20uS/div] - 20 mikrosekund na dílek v horizontálním směru). Na pravém okraji displeje je potom vyznačena úroveň logická 1 (H) a logická 0 (L) pro signály SDA a SCL.

Sběrnice I2C

Sběrnice I2C (Inter Integrated Circuit) je dvouvodičovou sériovou sběrnicí. Tuto sběrnici vyvinula firma Philips pro komunikaci integrovaných obvodů. Standardní komunikační rychlost je do 100kb/s. V režimu fast lze dosáhnout rychlosti až 400kb/s. V režimu high-speed lze dosáhnout rychlosti až 3.4Mb/s (verze 2.0).

Sběrnice sestává ze dvou vodičů - SDA (Serial Data) a SCL (Serial Clock). V nejjednodušším případě je na sběrnici jedno zařízení MASTER a jedno nebo více zařízení SLAVE. Zařízení, které pracuje jako MASTER, řídí sběrnici. Pokud si zařízení MASTER přeje zahájit komunikaci, vyšle nejprve adresu cílového zařízení. Zařízení SLAVE poslouchají na sběrnici. Pokud některé zařízení SLAVE zjistí, že byla zařízením MASTER vyslána jeho adresa, potvrdí přijetí pomocí signálu -ACK (přidrží SDA ve stavu L) po dobu devátého hodinového impulzu. Adresa je sedmi bitová. Osmý bit [Read/-Write] je použit pro signalizaci režimu komunikace. Pokud je tento bit nastaven na 1, bude se ze zařízení SLAVE číst. V opačném případě bude proveden zápis.

Na začátku každé komunikace vysílá zařízení MASTER start sekvenci. Na konci komunikace potom zařízení MASTER vyšle stop sekvenci. Stav vodiče SDA je možné měnit pouze tehdy, pokud je vodič SCL ve stavu L. Pokud je vodič SCL ve stavu H, považuje se stav na vodiči SDA za platná data. Výjimku z tohoto pravidla tvoří pouze start sekvence a stop sekvence.

Zařízení jsou na sběrnici připojena pomocí obvodů v zapojení open-collector. Úroveň H je na sběrnici v klidovém stavu tvořena upínacími rezistory, které jsou připojeny na napájecí napětí. To znamená, že kterékoliv zařízení může ovlivňovat stav na vodičích SDA a SCL bez nebezpečí zničení jiného zařízení. Této přednosti se také využívá pro řízení toku dat. Pokud dojde při komunikaci dvou zařízení k tomu, že jedno zařízení je zaneprázdněno a nemůže pokračovat v komunikaci, přidrží stav vodiče SCL na úrovni L a tím signalizuje stav wait. Komunikace je pozastavena a pokračuje se až po uvolnění vodiče SCL.

Literatura

Z adresy: http://www.fd.cvut.cz/Studenti/Xfikais/skola/pjw/i2csim.htm


Článek pochází z adresy http://panda.unas.cz
ZPĚT
 

Zdeněk Novotný
nov_zden@seznam.cz