Rozhranie I2C

Z Kiwiki
Verzia z 18:57, 20. január 2010, ktorú vytvoril Juraj (diskusia | príspevky)
Skočit na navigaci Skočit na vyhledávání


Rozhranie I2C

Rozhranie I2C bolo vyvinuté firmou Philips pre komunikáciu zariadení na krátke vzdialenosti, typicky na doske plošných spojov. Všetky I2C kompatibilné zariadenia majú zabudované rozhranie, ktoré im umožňuje priamu vzájomnú komunikáciu pomocou zbernice I2C. Vďaka tomuto konceptu je jednoduché vyriešiť množstvo problémov pri navrhovaní obvodov digitálnej elektroniky

Obr. 3.1 Zapojenie zariadení na zbernicu I2C

Vlastnosti rozhrania I2C

Na pripojenie zariadenia k zbernici I2C sú potrebné iba dva vodiče. SDA – sériová dátová linka a SCL - sériová hodinová linka. Každé zariadenie pripojené ku zbernici je softvérovo adresovateľné jedinečnou adresou a jednoduchým vzťahom master/slave. Master zariadenia môžu komunikovať v režime master-vysielač a master-prijímač. V I2C protokole je zavedená detekcia kolízií, aby sa zamedzilo poškodeniu dát pri prenose. Na Obr. 3.1 je zobrazený systém, v ktorom by mohlo dôjsť ku kolízii, ak by obidve master zariadenia začali komunikovať súčasne. Pripojenie je sériové, 8 bitové, obojsmerné. Dátové prenosy môžu byť vykonávané rýchlosťami až do 100 kHz v štandardnom režime, 400 kHz rýchlom režime a 3,4 MHz vo vysokorýchlostnom režime.

Ramtron FM24V10

FM24V10 je 1 Mb fero-elektrická napäťovo nezávislá RAM pamäť označovaná F-RAM. Firma RAMTRON navrhla túto pamäť pre protokol I2C a garantuje konzistentnosť dát po dobu do 10 rokov. Pre zápis používa technológiu NoDelay Writes, a teda parametre čítania a zápisu ma podobné ako pamäť typu RAM. Programovanie pamätí typu F-RAM je oproti pamätiam typu EPROM a starším EEPROM podstatne menej komplikované.

Popis a vlastnosti

Pamäť je organizovaná do 131072 blokov po 8 bitov a podporuje vysokorýchlostný režim I2C, ako aj režimy 100 kHz a 400 kHz. Je dimenzovaná na 1014 cyklov zápis/čítanie a je schopná uchovať dáta intaktné po dobu 10 rokov. V aktívnom stave odoberá typicky menej ako 150 µA pri 100 kHz a napájaní od 2,0 V do 3,6 V. Dodáva sa v puzdre SOIC-8.

FM24V10 vykonáva zápis rýchlosťou zbernice. Ďalší cyklus sa môže vykonať okamžite po zápise, bez nutnosti kontroly či sú dáta už zapísané. Pri zápise má nižšie nároky na napájanie, ako pamäte typu EEPROM.

Každá takáto pamäť má unikátne sériové číslo, ktoré môže byť využité na identifikáciu zariadenia. Takisto obsahuje aj identifikačné číslo výrobcu, ktoré obsahuje meno výrobcu, hustotu prvkov a revíziu produktu.

Blokový diagram

Na Obr. 3.2 je zobrazená vnútorná štruktúra FM24V10. Popíšeme si jednotlivé piny puzdra SO-8.

Obr. 3.2 Vnútorná štruktúra FM24V10

Vstupy A1, A2 slúžia na nastavenie adresy pamäti. Na jednu zbernicu je pomocou tohto dvoj-bitového adresovania možné pripojiť štyri takéto zariadenia. Kontakty sú vnútorne uzemnené. SDA je pin pre obojsmernú komunikáciu v zapojení s otvoreným kolektorom. Vstupný buffer zahŕňa Schmittov preklápací obvod pre odolnosť voči superponovanému šumu na vstupe a výstup obsahuje ovládanie sklonu zostupnej hrany. Pre správnu funkciu je nutný pull-up rezistor. SCL je pin pre hodinový signál, podľa ktorého prebieha generácia a synchronizácia dát. WP je pin pre ochranu pamäti pred neželaným prepisom. Je vnútorne uzemnený, čo znamená, že pamäť je štandardne prepisovateľná. Ochrana sa aktivuje pripojením pinu WP k pinu VDD. VDD je pin, na ktorý sa pripája napájacie napätie a VSS je pin, na ktorý sa pripája uzemnenie.

PCF8563 Real-Time clock/calendar

PCF8563 Real-Time clock/calendar ďalej RTC, je nízkoenergetický obvod firmy NXP Semiconductors, poskytujúci dáta času a dátumu v binárne kódovanom decimálnom čísle (BCD – binary-coded decimal) pre protokol I2C. Obvod poskytuje údaje o sekundách, minútach, dňoch, dátume, mesiaci a roku. Mesiace, ktoré majú menej, ako 31 dní sú automaticky ošetrené. Takisto sú priamo v obvode softvérovo vyriešené aj prestupné roky. Čas je poskytovaný v 24-hodinovom a 12-hodinovom formáte. Obvod má detekciu zlyhania napájania.

Popis a vlastnosti

RTC počíta sekundy, minúty, deň, dátum, mesiac a rok podľa pripojeného 32,768 kHz kryštálu. Výstupný hodinový signál je nastaviteľný a zariadenie spotrebúva menej, ako 500 nA. Má funkcie alarmu a časovača, a pin prerušenia, ktorý je v zapojení s otvoreným kolektorom. Dodáva sa v puzdrách SO-8 a DIP-8.

Obr. 3.3 Bloková schéma PCF8563

Má šestnásť 8-bitových registrov podľa Obr. 3.3, integrovaný 32,768 kHz kryštál s kondenzátorom, frekvenčný delič slúžiaci, ako zdroj hodinovej frekvencie pre RTC, programovateľný výstup hodinovej frekvencie, časovač, alarm a detekciu nízkeho napätia.

Časovač

8-bitový časovač na adrese 0x0F je riadený registrom timer control na adrese 0x0E, ktorý pre operácie vyžaduje jeden zo 4 voliteľných hodinových frekvencií. Časovač odpočítava zo zadanej 8-bitovej binárnej hodnoty a na konci odpočítavania nastaví príznak Timer Flag, ktorá môže byť použitá na generovanie prerušenia na pine INT. Prerušenie môže byť generované, ako pulzujúci signál alebo permanentne aktívny signál. Príznak je nutné zmeniť softvérovo.

Alarm

V registroch alarmu od adresy 0x09 po adresu 0x0C sú uložené nastavenia alarmu pre minúty, hodiny, dni alebo dni v týždni. Zodpovedajúci bit AE je rovný logickej nule. Uložené nastavenia sa porovnávajú s aktuálnym časom. Keď sa všetky nastavené hodnoty rovnajú aktuálnym hodnotám, nastaví sa príznak Alarm Flag, ktorá môže byť použitá na generovanie prerušenia na pine INT. Prerušenie môže byť generované rovnako, ako v prípade časovača -ako pulzujúci signál alebo permanentne aktívny signál. Príznak je nutné zmeniť softvérovo.