Rozhranie I2C: Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
d
d
 
(7 medziľahlých úprav od 2 ďalších používateľov nie je zobrazených)
Riadok 3: Riadok 3:
 
[[Kategória:Informatika]]
 
[[Kategória:Informatika]]
 
[[Kategória:Mechatronika]]
 
[[Kategória:Mechatronika]]
<H1_CSS chapter="3" prefix="Kapitola" />
+
{{Praca_uvod|3|Autonómny systém pre zber teplotných dát z pôdneho profilu|Mikroprocesory PSoC|Protokol 1-Wire|Rozhranie I2C|Návrh a realizácia obvodového zapojenia systému zberu teplotných dát|Návrh a realizácia zapojenia senzorov systému zberu teplotných dát|Softvérové vybavenie systému|http://ggaspar.dyndns.info/~meranie web projektu||||||}}
<div class="sideBox">
 
{| class="" border=0 cellpadding=5
 
|+ Obsah práce
 
|-
 
| 1.
 
| [[Autonómny systém pre zber teplotných dát z pôdneho profilu|Mikroprocesory PSoC]]
 
|-
 
| 2.
 
| [[Autonómny systém pre zber teplotných dát z pôdneho profilu_2|Protokol 1-Wire]]
 
|-
 
| 3.
 
| [[Autonómny systém pre zber teplotných dát z pôdneho profilu_3|Rozhranie I2C]]
 
|-
 
| 4
 
| [[Autonómny systém pre zber teplotných dát z pôdneho profilu_4|Návrh a realizácia obvodového zapojenia systému]]
 
|-
 
| 5
 
| [[Autonómny systém pre zber teplotných dát z pôdneho profilu_5|Návrh a realizácia zapojenia senzorov]]
 
|-
 
| 6
 
| [[Autonómny systém pre zber teplotných dát z pôdneho profilu_6|Záver]]
 
|}
 
</div>
 
 
__TOC__
 
__TOC__
 
=Rozhranie I2C=
 
=Rozhranie I2C=

Aktuálna revízia z 18:09, 1. marec 2012

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.