Projekt Zeitbasis. Version 1.1



Ähnliche Dokumente
Der I²C-Bus. Vorstellung des Inter-Integrated Circuit -Bus. Aufbau und Funktionsweise. Beispiel PortExpander am Arduino

11. Die PC-Schnittstelle

USB > I2C- Bus Modul. Startet den I2C-Bus. Daten einlesen NACK senden

Betriebsanleitung Modbus-Konverter Unigate-CL-RS

Die Robo-TX RS-485 Schnittstelle

TCP/IP ASCII Schnittstelle Programmierhandbuch

Inhalt. I 2 C-433 MHz Funksender Beschreibung der Kommandos Version 1.2

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Beschreibung RS232-Protokoll für POWER-TRAP Fotovoltaik-Wechselrichter (ab Protokollversion ENS1 = 5 und ENS2 = 6)

1. Allgemein Kommunikationsparameter Protokoll Befehlsframe Antwortframe Fehlernummern...

WS2500 V24-Kommunikation

Servo-Modul Version

AVR-Mikrocontroller in BASCOM programmieren

Betriebsanleitung EFR3000

SC18IM700-Tester v Einleitung

Hardware PC DDC JP Elektronik GmbH

Software-Information

Zenit Music

Unified-E Modbus Adapter

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller

JX6-INT1 Versions Update von V1.00 auf V1.24

MODBUS RTU Übertragungsprotokoll für Digitale Elektronische Vorschaltgeräte mit RS-485 Schnittstelle

Beispiel: Siemens AG 900E03 9 Seiten Update:

WDV MOLLINÉ Messtechnik die zählt

Arduino Kurs Das LC-Display. Stephan Laage-Witt FES Lörrach

Busse. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009

GPS RTC to DCF77 Modul für Uhren mit DCF Eingang. Variante 1 mit Kabelverbindung. - GPS Module empfängt UTC (Coordinated Universal Time ) Zeit, Datum

DMXface ACTIVE SEND mit RS232

I2C-Echtzeituhr am Atmel AVR

XT - NANO - XXL XT-NANO-XXL

BCM8-Modbus. Dokumentation. 8-Kanal Countermodul mit S0-Eingängen und Modbus Datenschnittstelle. BCM8-Modbus. Modbus A+ B- A+ B-

SIMATIC S5 SIEMENS. MODBUS-Protokoll RTU-FORMAT SIMATIC S5 ist Master. Kurzinformation. Sondertreiber für CP 524 / CP (S5-DOS) S5R004

Arduino Nano. Hello World per LED On-Board LED (Pin D13) Beispiel: Arduino IDE / Beispiele / Basics / Blink 5 / 20

Einfache SDO-Zugriffe für CANopen-E/A-Module

Mini- Mikroprozessor-Experimentier-System. Version 1.0b vom :21. mit einem 8051-Mikrocontroller

BLIT2008-Board. Uwe Berger

8: IIC-Bussystem / PID

Schnittstellenbeschreibung

Industriefunkuhren. Technische Beschreibung. 6875LAN-7270 GPS Hutschienen TimeServer für NTP / SINEC H1

Bootloader FastBoot von Peter Dannegger

4.0 Der Atmel AT89LPx052 Mikrocontroller

Projektdokumentation: DCF 77 Funkuhr

Beschreibung Modell Motorspindel

Busse. Dr.-Ing. Volkmar Sieh WS 2005/2006. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg

Ausarbeitung eines Praktikumsversuches zum Design eines 1-Wire-Master-Controllers Falk Niederlein

PC-Anbindung des HMG Lactate Scout

Intelligente GPRS- und UMTS-Modems - MT-202 / MT-251

Mikrocomputertechnik. Thema: Serielle Schnittstelle / UART

Mikroprozessortechnik Grundlagen 1

Industrielle Kommunikation / GPRS/UMTS/LTE / Fernwirksysteme / Steuerungen

Johannes Kelper Universität Linz. Institut für Elektrische Messtechnik. Dokumentation. ATmeag8-USB Modul. Bernd R. Arminger ATmega8-USB Modul 1

Kommunikation zwischen Mikrocontrollern

1. Inhaltsverzeichnis

RTC-DCF. Registerbeschreibung. Stand: Mai 2013 ELV-Bestell-Nr.: Firmware-Version: 1.0

Parameterliste, Funk-Empfänger RCW-M

Ebenen der Synchronisierung

i2c-bus.de I2C-001 KURZBESCHREIBUNG I 2 C Modul mit PCF Bit I/O Port-Expander Dokument NR.: I2C-001-D-01

CAN 2.0A/B <=> RS232. Konverter mit Galvanischetrennung. CAN-Seitig: 10 Kbps.. 1,0 Mbps RS-Seitig: 1200 bps.. 1,0 Mbps. ASCII Befehle V1.

Einführung in die Welt der Microcontroller

Application Note Nr. 102 RS485 Kommunikation

BEDIENUNGSANLEITUNG ZZG2.1. Zeitzeichengenerator. PC Software ZZG2_1_SETUP.msi

Hardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

Hardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

Arduino Kurs Bits und Bytes. Stephan Laage-Witt FES Lörrach

Quick Start. WebRTU. Schritt-für-Schritt-Anleitungen für den schnellen und einfachen Einstieg. Hardware Software Applikationen

C-DIAS-Serielles-Interface CSI 021

1. Allgemein Technische Daten... 2

COMM-TEC EIB-Gateway

Die Temperaturmessung mit dem Sensor LM75. Andreas Heller & Eduard Auer

TM1638-Anzeige-Taster-Modul

Mikrocomputertechnik. Thema: Der Aufbau des XC888-Mikrocontrollers -Teil 1 -

INTELLIGENTE INFRAROT STRECKEN IPS PERIMETER

Seminarwochenende Oktober 2007 AutoLab

Applikationssoftware Protokollieren TK TK344. Ergebnis 1. Ergebnis 50. Textkanal 1. Temperaturgrenzwert. Textkanal 10.

Serieller S-Bus reduziertes Protokoll (Level 1)

N Bit Binärzahlen. Stelle: Binär-Digit:

Anschluss Großdisplay

Verfasser: Stefan Fritzen Thema : Die Netzwerkkarte Autor : Stefan Fritzen Fach : Kommunikation -1-

Projekt von Sergio Staab, Niklas Abel

Der I²C-Bus. Bearbeitet von: Thomas Finke, EL5

Technische Dokumentation. Zeitsender REG Best. Nr Zeitsender REG. Änderungen vorbehalten Stand: 05/2006 Seite 1/10

Remote-Objekt-Überwachung. von Jan Schäfer und Matthias Merk

Inhaltsverzeichnis. LNT Fischertechnik RCTXTLT 2 Juni 2017

M-Bus für VARIOMASS MF

EIB Zeitsender ZS 600 DCF. theben. EIB Zeitsender ZS 600 DCF. EIB Zeitsender Stand: Sep-14 (Änderungen vorbehalten) Seite 1 von 11

Kommunikationsobjekte Allgemein. Verwendung des Applikationsprogramms. EIB Ein-/Ausgänge. Funktionsbeschreibung

SpectraDim64 für software version: V2.6 Herausgegeben: April V1.0 - Rev A

Serielle Kommunikation - Kodierung

S0-Pulszähler mit Modbus Schnittstelle

DALI SCI RS232. Datenblatt. DALI RS232 Interface. Schnittstelle zur Kommunikation zwischen PC (oder einer SPS) und Modulen in einem DALI-Lichtsystem

Programmierhandbuch. Feldbus Gateway GW 1 für Version 0.40 bis 0.49

RS485-Relaiskarte v1.0

MIDI Recording mit moderner Sequencer Software

Universelles Zählermodul UCM-5

Hardware Logik-Analysatoren

UMG96S. Universal Measuring Device. Funktionsbeschreibung M-BUS. Firmware Rel C21 Art. Nr Dok. Nr c

SPI-Schnittstelle des 70TX-E2 Sendemoduls

Transkript:

Projekt Zeitbasis Version 1.1 Inhaltsverzeichnis 1. Einführung...2 2. Registerbelegung...3 3. Registerinhalte...4 3.1 Control Register...4 3.2 Command Register...4 3.3 Status Register...4 3.4 Zeitregister 1...5 3.5 Zeitregister 2...5 3.6 Interrupt Register...5 4. Schnittstelle...6 4.1 I2C-Bus...6 4.2 SPI-Bus...7 4.3 RS232...8 5. Zeitquellen...8 5.1 GPS...9 5.2 Funk...9 5.2.1 DCF77...9 5.2.2 HBG...9 5.2.3 MSF...10 5.2.4 WWVB...11 5.2.5 JG2AS...11 5.2.6 OMA...11 6. Technische Umsetzung...12 7. Historie...13 1/1

1. Einführung Es geht darum, einem Mikrokontroller den Zugang zu einer genauen Zeitbasis zu ermöglichen. Die Art der Zeitbasis soll unbestimmt sein. Entscheidend ist eine einheitliche Schnittstelle für unterschiedliche Zeitbasen. Bild 1: Das Prinzip der Zeitbasis. Als eigentliche Zeitbasis können unterschiedliche Empfänger zum Einsatz kommen. In erster Linie ist das ein GPS Empfänger oder einer der verfügbaren Zeitsender aus Deutschland (DCF77), der Schweiz (HBG) oder England (MSF). Da ein kontinuierlicher Empfang eines Zeitsenders nicht immer gewährleistet ist, muss die Uhrzeit in einer RTC zwischengespeichert werden. Die Synchronisation der RTC erfolgt durch den µc. 2/2

2. Registerbelegung Hier ein Vorschlag über die Register: Adresse Register Wertebereich Bemerkung $00 Command $00 - $FF $01 Control $00 - $FF $02 Status $00 - $FF $03 Milli LB 00 99 ($00 - $63) $04 Milli HB 00 09 ($00 - $09) $05 Seconds 00 59 ($00 - $3B) $06 Minutes 00 59 ($00 - $3B) $07 Hours 00 23 ($00 - $17) $08 Days 01 31 ($01 - $1F) $09 Month 01 12 ($01 - $0A) $0A Year 01 99 ($01 - $63) $0B Century 01 99 ($01 - $63) $0C Day of week 01 07 ($01 - $07) $0D Day of year LB 00 99 ($00 - $63) $0E Day of year HB 00 03 ($00 - $03) $0F Seconds LB 00 99 ($00 - $FF) $10 Seconds MB 00 99 ($00 - $FF) $11 Seconds HB 00 08 ($00 - $01) $12 Days LB 00 99 ($00 - $63) $13 Days MB 00 99 ($00 - $63) $14 Days HB 00 99 ($00 - $63) Anzahl der Sekunden seit Mitternacht Wertebereich 0-86399 Anzahl der Tage seit 01.01.0001 00:00:00 Wertebereich 0 999999 (Reicht bis zum Jahr 2739) $15 IrqMilli LB 00 99 ($00 - $63) $16 IrqMilli HB 00 99 ($00 - $63) $17 IrqSeconds LB 00 59 ($00 - $FF) $18 IrqSeconds MB 00 59 ($00 - $FF) $19 IrqSeconds HB 00 23 ($00 - $01) $1A Nc $1B Nc $1C Nc $1D Nc $1E Error $00 - $FF Letzter aufgetretener Fehler $1F Version $00 - $FF Versionsnummer LB = Low Byte, MB = Middle Byte, HB = High Byte. Es gibt nur ein einfaches Internationales Zeitformat, also kein AM/PM und ähnlichen Unsinn. Der Interrupt läuft Zeitsynchron. 3/3

3. Registerinhalte 3.1 Control Register Bit 0 1 2 3 4 5 6 7 Control Register Inhalt Bedeutung 0 Lokale Zeit. 1 UTC 0 Alle Angaben in BCD 1 Alle Angaben in Hexadezimal 0 Interrupt deaktiviert (gilt für $15 bis $19) 1 Interrupt aktiviert (gilt für $15 bis $19) 0 0 0 0 0 3.2 Command Register Command Register Befehl Bedeutung $00 Dummy $01 - $1F Schreibe das folgende Byte in das Register $01 bis $1F $21 - $3F Lese ein Byte aus dem Register $01 bis $1F $41 - $5F Schreibe die Anzahl des folgenden Bytes ab Register. $61 - $7F Lese die Anzahl des folgenden Bytes ab Register. $80 Reset der Software. $81 Das folgende Byte gibt die Zeit in Minuten an bis die RTC wieder durch die Zeitquelle synchronisiert wird. $82 Sofort die RTC durch die Zeitquelle synchronisieren. 3.3 Status Register Befehl Bedeutung $00 Alles klar $01 Kein Empfang. Status Register 4/4

$02 Empfang ist gestört. 3.4 Zeitregister 1 Die Register $03 bis $0B liefern die aktuelle Zeit im BCD- oder hexadezimalen Format. Beispiel für 2.4.2005 12:34:56 Uhr und 789 Millisekunden Register BCD HEX Bedeutung $03 $89 $03 Millisekunde $04 $07 $07 $05 $12 $0C Sekunde $06 $34 $22 Minute $07 $56 $38 Stunde $08 $02 $02 Tag $09 $04 $04 Monat $0A $05 $05 Jahr $0B $20 $14 Jahrzehnt 3.5 Zeitregister 2 Die Register $0F bis $14 liefern die Zeit als Integer Wert, aufgetrennt in die Anzahl der Tage seit Beginn der Zeitrechnung (nicht des Planeten), die Anzahl der Sekunden seit Tageswechsel und aus Zeitregister 1 die Anzahl der Millisekunden seit Sekundenwechsel. Beispiel für 2.4.2005 12:34:56 Uhr und 789 Millisekunden Register BCD HEX Bedeutung $03 $89 $03 Millisekunden $04 $07 $07 $0F $96 $F0 Sekunden $10 $52 $B0 $11 $04 $00 $12 $18 $0E Tage $13 $19 $2B $14 $73 $0B 3.6 Interrupt Register i1 = Millisekunden des Tages i2 = Millisekunden des Interrupts Wenn (i1 Modulo i2) = 0 Dann Interrupt auslösen 5/5

4. Schnittstelle Die Schnittstelle stellt die Verbindung von der Zeitbasis zum Mikrokontroller her. 4.1 I2C-Bus Als Schnittstelle wird der I2C-Bus gewählt. Die Verbindung erfolgt über einen Controller der AVR Familie, der als I2C-Slave arbeitet. I2C-Bus Adressen für verschiedene existierende RTC s MAX6900 $A0 bis $A1 DS1302 $80 bis $FF über Select Leitung PCF8583 $A0 bis $A3 M41T00 $D0 bis $D1 RTC8564 $A2 bis $A3 R2051S $64 bis $65 Die folgende Tabelle zeigt die Belegung von einigen I2C-Bus Adressen: LSB MSB 000x 001x 010x 011x 100x 101x 110x 111x 0000 0001 0010 SAA5240 SAA4700 SAF1134 SAF1135 0011 SAA7250 PCB5020 PCB5021 PCB5032 0100 SAA1137 PCD4430 SAA7194 0101 0110 0111 PCF8576 SAA1064 A 1000 TEA6320 TEA6330 TDA8420 TDA8421 TDA8960 NE5751 1001 SAA5240 SAA5241 SAA5243 SAA5244 SAA5246 SAA9041 SAA4700 SAF1134 SAA1135 SAA7250 PCB5020 PCB5021 PCB5032 SAA1137 PCD4430 SAA7194 PCF8576 SAA1064 TDA8424 TDA8425 TDA8426 TDA8420 TDA8421 TDA9860 NE5751 SAA5240 SAB9070 SAF1134 SAA5244 PCA1070 PCF8577 SAA1064 A TDA8425 TDA8415 TDA8416 TDA8940 TDA8417 TDA6360 TDA8480 SAF1134 SAF1135 SAF1135 PCA1070 PCF8577A SAA1064 A TDA6360 TDA8480 SAA5252 SAA9020 SAA1136 PCF1810 PCD3311 PCD3312 PCF8578 PCF8579 A SAA9020 SAA9020 SAA9020 PCF1810 PCD3311 PCD3312 PCF8566 A PCF1810 SAA1770 SAB3028 PCF8566 A PCF1810 SAA1770 PCD5002 6/6

1010 PCF8583 1011 SAA7199 1100 1101 TA8443 PCF8573 PCF8583 SAA7199 SAA7152 TEA6000 TEA6100 PCF8573 1110 SAA7192 SAA7192 1111 TDA8416 TSA6057 PCA8516 TSA6060 TSA6061 PCF8573 TSA6057 PCA8516 TSA6060 TSA6061 PCF8573 TDA2518 SAA7186 UMA1000 TDA1551 PCA8510 PCA8516 UMA1000 SAA7186 UMA1000 PCD4440 SAA9065 UMA1000 PCD4440 Diese Liste ist sicherlich nicht vollständig, aber es ist leicht zu erkennen das sich die Hersteller bei der Adressierung ihrer Bausteine nicht einig sind. Zum Einen liegt es daran, das Philips (als einer der Entwickler des I2C Busses) sich wohl nicht durchsetzen konnte. Bei der Entwicklung eines Bausteines sollte eigentlich bei Philips eine Slave-Adresse angefordert werden. Sie haben für so etwas extra eine entsprechende Seite auf ihrer Homepage. Zum Anderen liegt es daran, das es mehr Bausteine als verfügbare Adressen gibt. Sollte die Zeitbasis also über diese Schnittstelle angesprochen werden, dann ist damit zu rechnen, das einige andere Bausteine nicht genutzt werden können. 4.2 SPI-Bus Eine Alternative zum I2C-Bus ist der SPI-Bus. Nachteile des I2C-Bus Keine einheitliche Vergabe von Adressen Langsame Übertragungsgeschwindigkeit. Das Maximum liegt bei 100kHz. Nur auf wenigen Mikrokontrollern verfügbar. Vorteile des SPI-Bus Hohe Übertragungsgeschwindigkeit. Das Maximum liegt bei ¼ des Prozessortaktes. Ist in vielen Mikroprozessoren implementier. (AVRs, PICs, Motorola). Es gilt noch folgendes zu bedenken: 7/7

Sollte die Schnittstelle ein I2C-Bus sein bleibt für die RTS nur der SPI Bus übrig, bzw. eine RTC die sich über einen parallel Bus ansteuern lässt. RTCs für den SPI Bus sind rar und schwer zu beschaffen. RTCs für den I2C Bus sind relativ gut verfügbar. Es gilt noch etwas zu bedenken: Wenn einzelne Module untereinander Kommunizieren sollen, dann ist es einfacher dafür den SPI-Bus zu benutzen. So weit ich die E-Mail interpretiert habe, sollen sich einzelne Module auch untereinander unterhalten können. Das setzt aber voraus, das jedes Modul über mindestens zwei identische Bussysteme verfügt (ein Master und ein Slave). Da jeder AVR Prozessor nur über je einen Typ von Bussystem verfügt, muss ein zweiter identischer per Software realisiert werden. Bei dem SPI-Bus geht das wesentlich einfacher als beim I2C-Bus. Ungefähr in dieser Form: Jedes Modul bekommt eine Adresse. Wenn ein Modul einen Befehl bekommt das nicht für ihn bestimmt ist, sendet es diesen Befehl einfach weiter. Ein Befehl für das MMC-Modul wird also über das ADC-Modul gesendet. Ein Ablauf könnte also ungefähr so aussehen: 1. Befehl für Modul-RS232: Baudrate = 115200 2. Befehl für Modul-ADC: Wenn Zeit empfangen wurde, starte eine Messung 3. Befehl für Modul-ADC: Sende Daten an Modul-MMC 4. Befehl für Modul-MMC: Wenn Speicher zu 90% voll dann sende Daten 5. Befehl für Modul-MMC: Sende Daten an Modul-RS232 6. Befehl für Modul-Zeit: Sende jede Sekunde eine Zeit an Modul-ADC 7. Befehl für Modul-Zeit: Sende Zeit an Modul-ADC 4.3 RS232 Eventuell um die Zeitbasis mal an einen PC anzuschließen. Entfällt aber, wenn ein GPS Empfänger über eine RS232 Schnittstelle angesteuert werden muss. 5. Zeitquellen 8/8

5.1 GPS 5.2 Funk Die Protokolle sind für alle Sender identisch. 5.2.1 DCF77 Betreiber: Frequenz: Position: Internet: PTB Physikalisch Technische Bundesanstalt (Deutschland) 77,5 khz 50 0,1 N / 9 0 E http://www.ptb.de/ 5.2.2 HBG Betreiber: Frequenz: Position: Internet: Metas Metrology and Accreditation Switzerland (Schweiz) 75 khz 46 24 N / 6 15 E http://www.metas.ch/de/labors/official-time/hbg/index.html 9/9

5.2.3 MSF Betreiber: Frequenz: Position: Internet : NPL National Physical Laboratory (England) 60 khz 52 22 N / 1 11 W http://www.npl.co.uk/time/msf.html 10/10

5.2.4 WWVB Betreiber: Frequenz: Position: Internet : NIST - Nationales Institut für Standards und Technologie (USA Colorado) 60 khz 40 40 N / 105 3 W http://www.boulder.nist.gov/timefreq/stations/wwvb.htm 5.2.5 JG2AS Betreiber: Communications Research Laboratory (Japan) Frequenz: 40 khz Position: 36 11 N / 139 51 E Internet:? 5.2.6 OMA Betreiber: Department of Standard Time and Frequency (Tschechien) Frequenz: 50 khz Position:? Internet: http://www.ure.cas.cz/dpt280/ Betrieb eingestellt. Betriebszeitraum von April 1958 bis Oktober 1995. 11/11

6. Technische Umsetzung Voraussetzungen: Schnittstelle zum Hauptprozessor: SPI-Bus Schnittstelle zur RTC: I2C-Bus Schnittstelle zum Funkempfänger GPS: Wahrscheinlich RS232 Schnittstelle zum Funkempfänger DCF77: Digital I/O Kontroller: Atmega8L8 RTC: DS1302. Verfügt über eine rudimentäre Ladeeinheit für Akkus. Alternativ kann auch ein GoldCap eingesetzt werden. GPS: Keine Ahnung Funk: Nach Möglichkeit den U4224B von Temic. Kompletter Empfänger mit AGC (Automatic Gain Control) und Dekoder. Kann alle Sender aus 5.2 dekodieren. Beschaffung ist noch unklar. 12/12

7. Historie Version Datum Änderung 1.0 02.04.2005 Diskussionsgrundlage 1.1 06.04.2005 Register $0E in Registerbelegung korrigiert. Unter Mitwirkung von Name E-Mail Homepage Uwe Mnich uwe.mnich@t-online.de www.umnicom.de Stefan Kneifel stefan.kneifel@web.de Uli Schoor df6tz@aatis.de Rolf Becker rolf.becker@web.de http://www.umnicom.de/elektronik/mikrokontroller/atmel/atzeit/atzeit.html 13/13