Hi Leuts, ich bin schon den ganzen Tag am Tüfteln um n RTC-4553 am SPI vom Mega 16 zum Laufen zu bekommen, aber nicht zuletzt wegen dem Datenblatt (was fürn Agent schreibt die Dinger eigentlich?) welches mit seinen überüppigen 2 Seiten und kryptischen Angaben waren meine Bemühungen fruchtlos. Also wenn ichs richtig rausgelesen habe: für Operartionen auf dem Chip CS1 = 1 CS2 = 0 WR ist wohl Schreib- / Lesezugriff ich hab nun RW=1 RW=0 probiert, Hab Megabyteweise Daten an das Ding gesendet aber immer 0 zurück bekommen Hat evtl. jemand ne Ahnung wie das Protokoll für den Mistkäfer aussehen soll?
so, ok, habs nochmal geprüft, also die 1KHz am Ausgang laufen, das Ding hat Saft. Ich hab nun sogar n paar Daten zurückgeliefert bekommen und mitgelogt, aber alle Rückgaben scheinen ohne System immer anders zu sein und sind nicht reproduzierbar.
Ich hoffe das hilft dir weiter: http://www.datasheetarchive.com/datasheet.php?article=2878826 (Lass mich wissen wenns geht, ich möchte die RTC auch einsetzen...) Gruss Tom
Jau, es hat sogar sehr weiter geholfen ... super!! da sucht man 3 Stunden aber das Ding ist mir durchs Raster geflutscht. Also hier ein Zwischenstand. Ich kann mit dem Ding kommunizieren. Die Registertabelle die da im Datenblatt ist ist aber etwas verwirrend, weil ich die nibbles jeweils drehen muß. angegeben ist beispielsweise a3 a2 a1 a0 senden muß ich sie aber a0 a1 a2 a3 ich hab mal ne tabelle gemacht wie ich die daten schicken muß, hier im Anhang. die SPI ist folgendermaßen konfiguriert: Master Data Order = msb polarity= low phase=0 clockrate=4 interrupt=off
Hallo Wenn du die Data Order auf LSB setzt sollte sich das Problem mit den verdrehten Bits auch erledigt haben. Ausserdem vermute ich, dass Polarity=1 sein sollte, so dass die fallende Flanke einen Taktzyklus startet. Tom
also mit palarity=1 kommt bei mir nix raus. auf 0 funktionierts. LSB geht auch, nur mußt Du dann Die Nibbles für Daten und Adresse tauschen. Ein Begehl sieht dann z.B. so aus &B1001-1101 hier wird Controllregister 1 (1101) mit dem Wert 1001 beschrieben (TPout ist dann 1/10Hz, 24h-Modus) allso irgendwie ist das auch etwas beknackt
PS: den TPout benutz ich gern zum testen, weil das Ergebniss direkt am Oszi ersichtlich ist
Ok, es läuft. Das umdrehen der Nibbles ist für die Datum-Uhrzeit-Operationen nicht besonders tragisch, das Datum und die Uhrzeit können eh nicht direkt geschrieben werden. Die Controlregeister schon und ebenso auch der RAM. Datum und Uhrzeiteinstellungen können nur incrementiert werden durch einen Schreibzugriff auf das Register. Lesen und schreiben wird durch den RW-Pin gesteuert. RW=0 schreiben, RW=1 lesen CS1=1 CS0=0 Bei SPI: Interrupt off Data order LSB Master Yes Polarity =low Phase=0 Clockrate=4 Noss=0 läufts bei mir mit folgenden Einstellungen: &B00001111 'C3 &B00011101 'C1 (24 Stunden Anzeige) Uhr wird gestellt: &B00001011 ' Jahresregister +1 &B00001001 ' Monatsregister +1 &B00000111 ' Tagesregister + 1 &B00000100 ' Stundenzeiger +1 &B00000010 ' Minutenzeiger +1 Beim Auslesen dann WR=1 Beispielsweise Stunde: Senden: &B00000100 ' für Register H1 Der Rückgabewert ist beispielsweise: &B01100100 Die ersten 4 Bit sind die Daten, die zweiten 4 Bit sind nochmals das Register. Ich hab dann die Register ausgeblendet per Und-Verknüpfung Uhrzeit = Rückgabewert AND &B11110000 =&B01100000 Und dann 4 Schritte nach rechts geschoben &B00000110 = 6 Uhr Bei den anderen Datums und Uhrzeitinfos läufts ebenso.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.