BLIT2008-Board-DCF77

Aus BraLUG-Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Software: twi-dcf77-software...)
(Schaltplan: Bilder...)
Zeile 6: Zeile 6:
 
[[Bild:Blit2008-board-dcf77.png|320px|BLIT-Board; Schaltung DCF77-Board]]
 
[[Bild:Blit2008-board-dcf77.png|320px|BLIT-Board; Schaltung DCF77-Board]]
 
[[Bild:Twi_tiny_board.jpg|320px|BLIT-Board; Prototyp des TWI-Tiny-Board (die LED blinkt schon mal...:-)...))]]
 
[[Bild:Twi_tiny_board.jpg|320px|BLIT-Board; Prototyp des TWI-Tiny-Board (die LED blinkt schon mal...:-)...))]]
 +
[[Bild:Twi_tiny_board_1.jpg|180px|BLIT-Board; Versuchaufbau mit Basis-, Tiny-, LCD-Board und DCF77-Empfänger]]
 +
[[Bild:Twi_tiny_board_2.jpg|180px|BLIT-Board; Detailansicht mit Timestamp...]]
  
 
==Beschreibung==
 
==Beschreibung==

Version vom 12. Dezember 2008, 12:31 Uhr


Inhaltsverzeichnis

Hardware

Schaltplan

BLIT-Board; Schaltung DCF77-Board BLIT-Board; Prototyp des TWI-Tiny-Board (die LED blinkt schon mal...:-)...)) BLIT-Board; Versuchaufbau mit Basis-, Tiny-, LCD-Board und DCF77-Empfänger BLIT-Board; Detailansicht mit Timestamp...

Beschreibung

Hier die erste Variante "vom Reissbrett" für ein DCF77-Zusatzboard. Kernstück ist ein ATtiny45 (oder ATtiny85), der autonom das DCF77-Signal eines handelsüblichen DCF77-Modules (z.B. von ELV) decodieren und bereitstellen soll. Natürlich besteht wieder der Anspruch, dass diese Baugruppe an den TWI-Bus des Basis-Boards angeschlossen werden soll, was allerdings dahingehend schwierig ist, dass es kein Hardware-TWI in dem ATtiny gibt. Aber man soll ja, laut Atmel USI dafür benutzen. Na mal sehen, ob das was wird....

Software

  • tiny_cs_blink: eigentlich ein sinnloses Programm, aber ganz nützlich, um die Hardware des Tiny-Boards zu testen (dazu muss es via TWI-Bus am BLIT-Board angeschlossen sein). Das Programm besteht aus 2 Teilen:
    • Der Tiny-Board-Teil ist in den ATtiny45-Mikrocontroller zu laden. Innerhalb eines Timer-Overflow-Interruptes werden fortlaufend das LED-Pin und das INT-Pin invertiert. Damit blinkt zum einen die LED im Takt des Interruptes und auf der INT-Leitung des TWI-Busses wird ein Impuls erzeugt.
    • Im Programm für das BLIT-Board wird lediglich der INT1-Interrupt definiert. Innerhalb der zugehörigen ISR geht die LED auf dem BLIT-Board bei jedem eingehenden Impuls auf der INT-Leitung des TWI-Bus an bzw. aus. Dazu muss natürlich der Jumper auf dem Tiny-Board geschlossen sein. Die Blinkfrequenz der Basis-Board-LED ist halb so hoch wie auf dem Tiny-Board, ist ja auch logisch, wenn mann sich die Programme ansieht... :-).
  • tiny_twi: uff, nach ein paar frustrierenden Stunden habe ich es jetzt wohl halbwegs verstanden, wie das mit TWI über USI funktioniert. Wir erinnern uns (bzw. schauen ins Datenblatt...), ein ATtiny25/45/85 hat kein Hardware-TWI sondern nur USI, wo man aber TWI aufsetzen kann (lt. Application Node und Programmbeispiel von Atmel). Vorliegendes Programm setzt dies entsprechend um:
    • Tiny-Board: in diesem Teil der Firmware befindet sich die USI-TWI-Slave-Umsetzung. Vordergründig läuft hier ein Timer-Overflow-Interrupt, der zyklisch eine Variable hochzählt und gleichzeitig ein Signal auf der Interruptleitung des TWI-Busses ausgibt.
    • BLIT-Board: dieser Teil der Firmware wird aktiv, wenn am Interrupteingang des TWI-Bus ein Signal anliegt. In diesem Fall liest das Board, als TWI-Master, die internen Werte des Tiny-Boards aus und zeigt diese auf dem angeschlossenen LCD an.
  • Tiny_dcf77: hier ist das, was ich eigentlich wollte, ein DCF77-Decoder als TWI-Slave. Das Paket besteht aus 2 Teilen:
    • Die Tiny-Firmware realisiert den eigentlichen DCF77-Decoder sowie TWI-Slave. Datum/Uhrzeit sind relativ komfortabel via einem TWI-Master, in unserem Fall das BLIT-Basisboard, abfragbar.
    • Die Basisboard-Firmware stellt den TWI-Master in diesem System dar, der Datum/Uhrzeit vom Slave abfragt und auf dem angeschlossenen LCD ausgibt.

Links

'Persönliche Werkzeuge