Operácie

Hodiny RTC s kalendárom pomocou PCF8583

Z SensorWiki

Verzia z 11:38, 2. január 2015, ktorú vytvoril StudentDVPS (diskusia | príspevky) (Zbernica i2c)
Autori: Győző Katona, Robert Nehánszki
Študijný odbor: Aplikovaná mechatronika 2. Ing. (2014/2015)

Zadanie

  • Popíšte ako funguje samotný senzor, ako sa pripojí k mikropočítaču.
  • Zobrazte na LCD displeji a cez terminál reálny čas, deň a rok z obvodu PCF8583.
  • Vyriešte naprogramovanie alarmu (denný, dňový alebo mesačný), alarmový stav zobrazte napríklad pomocou LED diódy.


CipPCF8583.jpg

Literatúra:

  • Zoznam použitej literatúry, vrátane katalógových údajov (datasheet), internetových odkazov a pod.:


Odkazy produktu:

Ďalšie užitočné odkazy:



Analýza

Ako už bolo spomenuté, našou úlohou je vytvoriť hodiny reálneho času pomocou čipu PCF 8583. PCF 8583 je hodinovo-kalendárový čip. Adresy a dáta sú prenášané sériovo po zbernici i2c. Adresa zabudovaných registrov je inkrementovaná automaticky po každom zápise alebo čítaní jedného bajtu. Adresný pin A0 slúži na naprogramovanie adresy čipu, a dovoľuje nám zapojiť dva rovnaké čipy na tú istú zbernicu bez pridania ďalšieho hardware-u. Ako mikroprocesor sme použili Atmegu 328P.

Kľúčové vlastnosti čipu PCF8583:

  • napájacie napätie i2c zbernice 2,5 V až 6 V
  • 240 x 8 bitová nízko-napäťová pamäť
  • operačný prúd (pri f(scl)=0 Hz) maximálne 50 uA
  • funkcia hodín so štvorročným kalendárom
  • časovač s alarmom, indikácia pretečenia
  • 12 alebo 24 hodinový formát času
  • potreba 32,768 kHz kryštálu
  • dvojvodičová zbernica i2c
  • automatická inkrementácia adresy po zápise/čítaní
  • programovateľný alarm, časovač a prerušovacie funkcie
  • adresa slave-u A1h alebo A3h pre čítanie, A0h alebo A2h pre zápis (podľa stavu pinu A0)+

Rozloženie pinov

Pinypcf8583.jpg

Popis pinov PCF 8583

PINSkratka-označenieKrátky popisI/O
1OSCIVstupný pin pre kryštálVstup
2OSCOVýstupný pin oscilátoraVýstup
3A0Pin pre voľbu adresyVstup
4VssNapájacie napätieNapájanie
5SDALinka serial dataVstup/výstup
6SCLLinka serial clockVstup
7INTOpen-drain výstup prerušenia (aktívne LOW)Výstup
8VddNapájacie napätieNapájanie

Zbernica i2c

I2c zbernica je skratka ktorá vznikla z názvu IIC zbernica, teda Internal-Integrated-Circuit Bus. Z názvu je hneď jasné, že sa jedná o internú dátovú zbernicu, ktorá slúži na komunikáciu a prenos dát medzi jednotlivými integrovanými obvodmi, väčšinou v rámci jedného zariadenia. Túto zbernicu vyvinula spoločnosť Philips približne pred 30 rokmi a od tej doby prešla niekoľkými vylepšeniami. V dnešnej dobe tento spôsob komunikácie podporuje celá rada integrovaných obvodov nielen firmy Philips. V prvom rade sa jedná o mikropočítače, sériové pamäte, inteligentné LCD obrazovky, a/d a d/a prevodníky, atď. Hlavnou výhodou je, že obojstranná komunikácia prebieha len po dvoch vodičoch SDA data a SCL hodiny, a tým pádom sa zjednoduší výsledné zapojenie celého obvodu. Na jednu zbernicu môžeme pripojiť viac integrovaných obvodov.

Spôsob adresovania:

  • 7 bitové adresovanie - 128 čipov na tej istej zbernici
  • 10 bitové adresovanie - 1024 čipov na tej istej zbernici
  • na pevno (určené výrobcom čipu)

Prenosová rýchlosť je pre väčšinu aplikácií dostatočná už v základnej verzií, avšak zbernica prešla určitými vylepšeniami a tým pádom máme dnes rôzne prenosové rýchlosti.

Rýchlosť zbernice i2c:

  • základná - 100 kHz
  • vylepšená - 400 kHz
  • najrýchlejšia - až 1 MHz

V tejto časti popíšete ako idete daný problém riešiť. Uvediete sem aj všetky potrebné technické údaje, ktoré sú potrebné na úspešné vyriešenie projektu. Napríklad:

  • popis komunikačnej zbernice (i2c, 1-wire, RS-232 a pod.)
  • obrázok zapojenia vývodov použitej súčiastky
  • odkaz na katalógový list
  • priebehy dôležitých signálov

Popis riešenia

Sem opíšete ako konkrétne ste problém vyriešili. Začnite popisom pripojenia k procesoru (nezabudnite na schému zapojenia!) a zdôraznite ktoré jeho periférie ste pritom využili.

Schéma zapojenia snímača Zapojenie.png

Súbor:Example.jpg

Pozn.: Názov obrázku musí byť jedinečný, uvedomte si, že Obr1.jpg už pred vami skúsilo nahrať už aspoň 10 študentov.


Algoritmus a program

Uveďte stručný popis algoritmu, v akom jazyku a verzii vývojového prostredia ste ho vytvorili. Je vhodné nakresliť aspoň hrubú štruktúru programu napríklad vo forme vývojového diagramu. Rozsiahly program pre lepšiu prehľadnosť rozdeľte do viacerých súborov.

Vyberte podstatné časti zdrojového kódu, použite na to prostredie source:

/* A nezabudnite zdroják hojne komentovať  */

int main(void) {
    
    printf("Hello, World!\n");  
    return(0);  
}


Nezabudnite však nahrať aj kompletné zdrojové kódy vášho programu!

Zdrojový kód: serial.h a main.c

program.c

Overenie

Nezabudnite napísať čosi ako užívateľský návod. Z neho by malo byť jasné čo program robí, ako sa prejavuje a aké má užívateľské rozhranie (čo treba stlačiť, čo sa kde zobrazuje). Ak ste namerali nejaké signály, sem s nimi. Ak je výsledkom nejaký údaj na displeji, odfotografujte ho.

Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.