Voor een uitbreiding van een bestaand projectje wil ik een RTC chip gaan gebruiken. De uC voert al diverse taken uit. Omdat ik het niet zie zitten mijn brein te breken over hoe ik hiernaast nog een klok functie kan toevoegen, zonder timing van bestaande taken te verklooien, lijkt het mij verstandig de klok functie buiten de uC te houden. Mijn idee is een RTC chip te gebruiken, maar welke?

Gebruikte uC is een PIC16F628, programma is geschreven in Proton Basic (dit wil ik ook zo houden). Er zijn nog 4 I/O's beschikbaar waaronder de INT (B0).

Mijn eisen:
-Klok functie met minuten en uren
-Datum/dag functie (na de eerste keer inschakelen moet ik tot 200 dagen kunnen tellen)
-Op 6 maanden mag hij max 5 minuten afwijken
-Wil géén gebruikmaken van DCF77

Mijn wensen:
-INT uitgang, bij voorkeur elke 15minuten een signaal
-DIL behuizing, niet groter dan noodzakelijk (8 pins dus)
-Makkelijk verkrijgbaar (in ieder geval bij Farnell, Conrad of Voti)
-Goedkoop (Ja, ben Nederlander Nee, ga niet samplen)

Nu komt het dan, een keuze maken welke RTC ik wil gaan gebruiken. Omdat ik het programma in ProtonBasic wil gaan schrijven ben ik op hun forum gaan zoeken naar RTC, daar heb ik twee types gevonden welke vaker gebruikt worden, de DS1302 en de PCF8583. Van beide types heb ik de datasheet gelezen en ben gaan kijken wat hiervan de voor en nadelen zijn:

DS1302
Voordelen:
-Duidelijk voorbeeld programma meegeleverd met Protonbasic

Nadelen:
-Datasheet is vrij beknopt (ja, het chipje stelt ook niet veel voor, maar vond de datasheet van de PCF8583 een stuk duidelijker)
-Drie draads verbinding met uC (één meer dan de PCF8583)
-Geen Interrupt uitgang (is geen must maar kan wel van pas komen)

PCF8583
Voordelen:
-I2C, heb al eerder een programma geschreven voor een bussysteem welke zeer veel op I2C lijkt. Daarbij heeft ProtonBasic volgens mij een kant en klaar commando voor I2C.
-I2C, ja nog een keer, twee draden ipv 3, dus een I/O over
-INT uitgang
-Duidelijke datasheet (ok, heb toch nog wat vragen)

Nadelen:
-INT pin geeft een signaal van 1Hz, ipv vaste spanning
-Bij starten is INT hoog

Nu lijkt mij van deze twee de PCF8583 de beste keuze echter zijn mij de volgende zaken niet helemaal duidelijk: (voor het gemak hier een link naar de datasheet)

-In de datasheet staat "The PCF8583 contains a on-chip 32.768KHz oscillator circuit". Wat wordt hiermee bedoeld? Een stukje verder lees ik "A 32.768KHz quartz crystal has to be connected".
-INT uitgang is een "open drain output n-channel" "the interrupt output toggles at 1 Hz with a 50% duty cycle" "the interrupt output may exceed the supply voltage up to a maximum of 6.0 V" Mag ik deze rechtstreeks aan de INT van de uC hangen? Wat doe ik met het 1Hz signal? BV uC instellen op rising edge, bij INT eerst de INT van de RTC resetten vervolgens de uC.
-Wat te doen met het 1Hz signaal bij power up? Geeft dit problemen in mijn uC? Wordt de RTC uitgang vanzef laag na een bepaalde tijd, of moet ik dit zelf doen?

Tot slot nog een aantal algemene vragen:
-Zijn er nog andere RTC's die de moeite waard zijn even te bekijken?

-Zijn er meer voor- en nadelen dan ik tot nu toe gevonden heb

-Wanneer je een goed idee hebt wat je doel is, hoe maak je dan een keuze uit de duizenden verkrijgbare onderdelen?

Die nauwkeurigheid is best hoog. Veel zal van je Xtal afhangen.

Die PCF8583 heeft een interne oscillator die met een extern (door jou to te voegen Xtal) op de aangegeven frequentie loopt. Zie ook pag. 22 van de datasheet waar je naar linkt.
Interrupt: het is een open-drain. Om er logica van te maken, heb je een pull-up weerstand oid. nodig. Dan kan het rechtstreeks aan je pic-ding. Of je opschiet met die interrupt, laat ik aan jezelf over :). Je zou er een interne teller op bij kunnen houden. Als die eenmaal gelijk staat, ben je er. Dan gebruik je die RTC feitelijk als nauwkeurige 1Hz oscillator. Wellicht moet je het ding in de RTC aan zetten. Zo goed heb ik de datasheet niet gelezen.
Die uitgang: dat ding is active low. Die zal dus hoe dan ook wel een keer laag worden :).

Wellicht een andere weg: als het ding uit het net gevoed wordt, kun je wellicht wat met 50Hz uit het net. Die is behoorlijk stabiel, ga je met een Xtal niet zo snel bij in de buurt komen. Nadeel is dat je je clock kwijt bent bij spanningsuitval / reset. Kan dat chippie ook mee overweg...

Ik bepaal mijn keuze doorgaans op verkrijgbaarheid. Daarna pas of het exact doet wat ik wil. Liever iets goed verkrijgbaars en een iets minder mooie interface dan iets wat op papier heel mooi is en nooit zal gaan bestaan. De reden: er zijn zat mooie componenten, waar je (voor enkele stuks) niet zomaar aan gaat komen... :(.
Verder speelt ook de prijs een rol, al is dat met enkele stuks vaak niet zo boeiend.

Ik gebruik graag de PCF8563.
Prima klok/calender IC, tevens een van de nieuwere modellen van Philips/NXP

Op 10 oktober 2006 15:51:53 schreef Marco69:
Die nauwkeurigheid is best hoog. Veel zal van je Xtal afhangen.

Met een regelbaar condensatortje kan je hem afstallen door te controleren of het 1Hz int signaal ook 1Hz is (hoe precies dit is heb ik geen idee van)

Wellicht een andere weg: als het ding uit het net gevoed wordt, kun je wellicht wat met 50Hz uit het net. Die is behoorlijk stabiel, ga je met een Xtal niet zo snel bij in de buurt komen. Nadeel is dat je je clock kwijt bent bij spanningsuitval / reset. Kan dat chippie ook mee overweg...

Backup functie lijkt me ook wel handig ja.