DE4224508A1 - Verfahren zur Ermittlung der Bittaktfrequenz eines digitalen Signals - Google Patents
Verfahren zur Ermittlung der Bittaktfrequenz eines digitalen SignalsInfo
- Publication number
- DE4224508A1 DE4224508A1 DE19924224508 DE4224508A DE4224508A1 DE 4224508 A1 DE4224508 A1 DE 4224508A1 DE 19924224508 DE19924224508 DE 19924224508 DE 4224508 A DE4224508 A DE 4224508A DE 4224508 A1 DE4224508 A1 DE 4224508A1
- Authority
- DE
- Germany
- Prior art keywords
- bit
- interrupt
- edge
- counter
- time counter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/10—Arrangements for initial synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/0262—Arrangements for detecting the data rate of an incoming signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/041—Speed or phase control by synchronisation signals using special codes as synchronising signal
- H04L7/044—Speed or phase control by synchronisation signals using special codes as synchronising signal using a single bit, e.g. start stop bit
Description
Die Erfindung betrifft ein Verfahren zur Ermittlung der
Bittaktfrequenz eines digitalen Signals mit einem
vorgegebenen Bitmuster.
Bei verschiedenen Datenübertragungssystemen ist die
Bittaktfrequenz bzw. die Baud-Rate von angeschlossenen
Teilnehmern in einem vorgegebenen Bereich von beispielsweise
500 Bit/s bis 9600 Bit/s frei wählbar. Zum Empfang derartiger
Datentelegramme ist daher eine Erkennung der Bittaktfrequenz
erforderlich.
Aufgabe der vorliegenden Erfindung ist es, ein Verfahren
anzugeben, mit dem die Bittaktfrequenz in einfacher Weise
ermittelt werden kann.
Das erfindungsgemäße Verfahren ist dadurch gekennzeichnet,
daß der Beginn des Bitmusters dadurch erkannt wird, daß vor
der ersten Flanke für eine vorgegebene Zeit keine Flanke
aufgetreten ist, daß ein Zeitzähler (Timer) eines
Mikrocomputers durch eine vorgegebene Flanke gestartet und
durch eine weitere vorgegebene Flanke des Signals angehalten
wird und daß der Zählerstand des Zeitzählers in die
Bittaktfrequenz umgerechnet wird.
Der Vorteil des erfindungsgemäßen Verfahrens besteht in der
Realisierbarkeit mit jedem Prozessortyp, sofern dieser über
einen Zeitzähler (Timer) verfügt. Das erfindungsgemäße
Verfahren ist für beliebige Bittaktfrequenzen innerhalb
eines vorgegebenen Bereichs von beispielsweise 500 Bit/s bis
9600 Bit/s geeignet.
Die Genauigkeit des erfindungsgemäßen Verfahrens wird durch
eine Weiterbildung gesteigert, die darin besteht, daß der
Zeitzähler erst nach mehreren Bitperioden des Signals
angehalten wird.
Insbesondere bei einem von der ISO festgelegten Datenformat,
wobei das Signal mit einem vorgegebenen Bitmuster ein
Synchronisationswort eines Datentelegramms ist und von Bit
zu Bit wechselnde Pegel aufweist und wobei das Signal einem
Interrupt-Eingang eines Mikrocomputers zugeführt wird, ist
gemäß einer anderen Weiterbildung vorgesehen, daß mit der
ersten Flanke über einen Interrupt der Zeitzähler gestartet
und der Mikrocomputer für weitere Interrupts gesperrt wird,
daß von folgenden Flanken erzeugte Interrupt-Anforderungen
gezählt werden und daß mit Erreichen einer vorgegebenen Zahl
von Interrupt-Anforderungen der Mikrocomputer wieder für
Interrupts freigegeben wird, so daß der Zähler bei einer
darauffolgenden Flanke angehalten wird.
Diese Weiterbildung ist in vorteilhafter Weise bei
Mikrocomputern anwendbar, welche am Interrupt-Eingang ein
Register aufweisen, in welchem eine Interrupt-Anforderung
gespeichert wird, die durch geeignete Programmierung aus dem
Register ausgelesen werden kann. Dadurch ist ein Zählen der
Flanken möglich, obwohl der Interrupt gesperrt ist. Ein
geeigneter Mikrocomputer ist beispielsweise unter der
Typenbezeichnung HD6305X von der Firma Hitachi erhältlich.
Bei einem Datentelegramm, bei dem das Synchronisationswort
ein Startbit und ein Acht-Bit-Wort mit wechselnden Pegeln
enthält, ist gemäß einer vorteilhaften Ausgestaltung
vorgesehen, daß der Mikrocomputer nach der dritten
gleichartigen Flanke wieder für Interrupts freigegeben wird
und daß die Bittaktfrequenz fBT nach folgender Gleichung
berechnet wird:
fBT = 8/(TT·CT),
wobei TT die Auflösung des Zeitzählers, also die
Periodendauer des dem Zeitzähler zugrundeliegenden Taktes
und CT der erreichte Zählerstand ist.
Die Erfindung läßt zahlreiche Ausführungsformen zu. Eine
davon ist schematisch in der Zeichnung anhand mehrerer
Figuren dargestellt und nachfolgend beschrieben. Es zeigt:
Fig. 1 eine Anordnung zum Empfang von Daten und zur
Durchführung des erfindungsgemäßen Verfahrens,
Fig. 2 ein Zeitdiagramm eines Synchronisationswortes eines
Datentelegramms nach ISO und
Fig. 3 ein Flußdiagramm eines Programms nach dem
erfindungsgemäßen Verfahren.
Der Anordnung nach Fig. 1 wird bei 1 das zu empfangene
Signal zugeführt. Über einen Interrupt-Controller 2 wird es
zu einem Interrupt-Eingang IR einer zentralen
Verarbeitungseinheit 3 geführt. Die zentrale
Verarbeitungseinheit 3 kann über den Interrupt-Controller 2
die Einleitung eines Interrupts trotz Vorliegen einer
entsprechenden Flanke am Eingang 1 sperren. Eine
Interrupt-Anforderung wird jedoch in einem Register 4
gespeichert, dessen Inhalt einem Eingang I der zentralen
Verarbeitungseinheit 3 zuführbar ist und dort entsprechend
dem jeweils ablaufenden Programm abgefragt werden kann. An
die zentrale Verarbeitungseinheit 3 sind ferner ein
Zeitzähler 5 und ein Schreib/Lesespeicher 6 angeschlossen.
Fig. 2 zeigt das Zeitdiagramm eines Synchronisationswortes
eines Datentelegramms nach ISO. Nach einer Pause von
mindestens 20 ms, in welcher das Signal auf dem Pegel H
verharrt, folgt eine erste fallende Flanke, mit welcher ein
Startbit B0 mit dem Pegel L beginnt. Im Anschluß daran
folgen acht Bits B1 bis B8 mit wechselnden Pegeln. Nach dem
Bit B8 folgt ein Stopbit B9 mit dem Pegel H.
Bei dem dargestellten Ausführungsbeispiel wird zunächst
geprüft, ob eine Pause vorliegt. Dazu wird der Zeitzähler 5
(Fig. 1) auf 20 ms initialisiert und der Eingang I der
zentralen Verarbeitungseinheit ständig auf den Pegel H
abgefragt. Tritt während dieser Zeit ein Pegel L auf, dann
wird der Zeitzähler angehalten und beim nächsten H-Pegel
erneut gestartet.
Ist der Zeitzähler abgelaufen, ohne daß ein L-Pegel
auftritt, wird auf die fallende Flanke des Startbits B0
gewartet. Diese Flanke löst einen Interrupt aus. Dadurch
wird die Taktfrequenz des Zeitzählers auf einen hohen Wert
initialisiert und der Zeitzähler gestartet.
Gleichzeitig wird der Mikrocomputer für die folgenden
Interrupts gesperrt. Es wird jedoch der Inhalt des
Interrupt-Anforderungs-Registers 4 (Fig. 1) regelmäßig
abgefragt, so daß im Mikrocomputer die fallenden Flanken,
die in Fig. 2 mit 1., 2. und 3. bezeichnet sind, gezählt
werden können. Nach der dritten fallenden Flanke wird durch
geeignete Steuerung des Interrupt-Controllers 2 (Fig. 1) der
Interrupt wieder zugelassen. Sobald die nächste - also die
vierte - fallende Flanke auftritt, wird wieder ein Interrupt
ausgelöst und der Zeitzähler angehalten. Aus dem Zählerstand
wird mit der obengenannten Gleichung die Bittaktfrequenz
berechnet. Dieses erfolgt während der Dauer des Bits B8 und
des Stopbits B9, so daß mit dem Eintreffen eines auf das
Synchronisationswort gemäß Fig. 2 folgenden Datenwortes die
Bittaktfrequenz bereits ermittelt ist und das Datenwort
richtig empfangen werden kann.
Das als Flußdiagramm in Fig. 3 dargestellte Programm zur
Ermittlung der Bittaktfrequenz wird bei 11 gestartet. Im
Anschluß daran wird das Programm bei 12 in Abhängigkeit
davon verzweigt, ob das Signal einen Pegel H aufweist. Ist
dieses nicht der Fall, wird bis zum Auftreten des Pegels H
eine Warteschleife durchfahren. Sobald der Pegel H vorliegt,
wird bei 13 der Zeitzähler auf 20 ms gesetzt und gestartet.
Danach wird bei 14 wiederum gefragt, ob der Pegel H ist. Ist
dieses nicht mehr der Fall, wird bei 17 der Zeitzähler
angehalten und das Programm bei 12 fortgesetzt.
Ist der Pegel jedoch noch H, wird bei 15 das Programm in
Abhängigkeit davon verzweigt, ob 20 ms abgelaufen sind.
Solange dieses nicht der Fall ist, werden die Programmteile
14 und 15 wiederholt durchlaufen. Ist jedoch die Zeit von
20 ms abgelaufen, wird bei 16 das Programm in Abhängigkeit
davon verzweigt, ob eine fallende Flanke, also ein Wechsel
vom Pegel H zum Pegel L vorliegt. Falls nicht, wird solange
gewartet, bis dieser Pegelwechsel auftritt. Danach wird der
Zeitzähler bei 18 auf die höhere Taktfrequenz initialisiert
und eine Sperrung des Interrupts vorgenommen. Bei 19
durchläuft das Programm wieder eine Warteschleife, solange
noch keine fallende Flanke vorliegt, wobei laufend der
Eingang I der zentralen Verarbeitungseinheit 3 (Fig. 1)
abgefragt wird.
Tritt eine fallende Flanke auf, wird bei 20 ein
Flankenzähler inkrementiert. Danach wird bei 21 in
Abhängigkeit davon verzweigt, ob bereits drei Flanken
erkannt wurden. Ist dieses der Fall, wird ein Interrupt mit
Hilfe des Programmteils 22 wieder zugelassen. Bei 23 wird
wiederum eine Schleife durchfahren bis eine fallende Flanke
vorliegt. Der dann erreichte Zählerstand des Zeitzählers
wird bei 24 gespeichert, worauf bei 25 die Baud-Rate bzw.
die Bittaktfrequenz ermittelt wird. Bei 26 wird das Programm
beendet.
Claims (4)
1. Verfahren zur Ermittlung der Bittaktfrequenz eines
digitalen Signals mit einem vorgegebenen Bitmuster, dadurch
gekennzeichnet, daß der Beginn des Bitmusters dadurch
erkannt wird, daß vor der ersten Flanke für eine vorgegebene
Zeit keine Flanke aufgetreten ist, daß ein Zeitzähler
(Timer) eines Mikroprozessors mit einer vorgegebenen Flanke
gestartet und durch eine weitere vorgegebene Flanke des
Signals angehalten wird und daß der Zählerstand des
Zeitzählers in die Bittaktfrequenz umgerechnet wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß
der Zeitzähler erst nach mehreren Bitperioden des Signals
angehalten wird.
3. Verfahren nach Anspruch 2, wobei das Signal mit einem
vorgegebenen Bitmuster ein Synchronisationswort eines
Datentelegramms ist und von Bit zu Bit wechselnde Pegel
aufweist und wobei das Signal einem Interrupt-Eingang eines
Mikroprozessors zugeführt wird, dadurch gekennzeichnet, daß
mit der ersten Flanke über einen Interrupt der Zeitzähler
gestartet und der Mikroprozessor für weitere Interrupts
gesperrt wird, daß von folgenden Flanken erzeugte
Interrupt-Anforderungen gezählt werden und daß mit Erreichen
einer vorgegebenen Zahl von Interrupt-Anforderungen der
Mikroprozessor wieder für Interrupts freigegeben wird, so
daß der Zähler bei einer darauffolgenden Flanke angehalten
wird.
4. Verfahren nach Anspruch 3, wobei das
Synchronisationswort ein Startbit und ein Acht-Bit-Wort mit
wechselnden Pegeln enthält, dadurch gekennzeichnet, daß der
Mikroprozessor nach der dritten gleichartigen Flanke wieder
für Interrupts freigegeben wird und daß die Bittaktfrequenz
fBT nach folgender Gleichung berechnet wird:
fBT = 8/(TT·CT),wobei TT die Auflösung des Zeitzählers, also die
Periodendauer des dem Zeitzähler zugrundeliegenden Taktes
und CT der erreichte Zählerstand ist.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19924224508 DE4224508C2 (de) | 1992-07-24 | 1992-07-24 | Verfahren zur Ermittlung der Bittaktfrequenz eines digitalen Signals |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19924224508 DE4224508C2 (de) | 1992-07-24 | 1992-07-24 | Verfahren zur Ermittlung der Bittaktfrequenz eines digitalen Signals |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4224508A1 true DE4224508A1 (de) | 1994-01-27 |
DE4224508C2 DE4224508C2 (de) | 2000-07-06 |
Family
ID=6464028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19924224508 Expired - Fee Related DE4224508C2 (de) | 1992-07-24 | 1992-07-24 | Verfahren zur Ermittlung der Bittaktfrequenz eines digitalen Signals |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4224508C2 (de) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0813321A2 (de) * | 1996-06-14 | 1997-12-17 | TEMIC TELEFUNKEN microelectronic GmbH | Verfahren und Steuersystem zum Übertragen von Daten |
US6249558B1 (en) | 1998-03-28 | 2001-06-19 | Temic Telefunken Microeletronic Gmbh | Method for transmitting digital data impulses |
EP1315337A2 (de) * | 2001-10-31 | 2003-05-28 | Infineon Technologies AG | Bus-Interface |
US7609147B2 (en) | 2004-03-25 | 2009-10-27 | Atmel Automotive Gmbh | Method and apparatus for improving wireless data transmission |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0020070B1 (de) * | 1979-05-25 | 1984-03-14 | LUCAS INDUSTRIES public limited company | Schaltung zur Unterscheidung von spezifizischen Pulsmustern in einer Pulsfolge |
-
1992
- 1992-07-24 DE DE19924224508 patent/DE4224508C2/de not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0813321A2 (de) * | 1996-06-14 | 1997-12-17 | TEMIC TELEFUNKEN microelectronic GmbH | Verfahren und Steuersystem zum Übertragen von Daten |
EP0813321A3 (de) * | 1996-06-14 | 2001-05-09 | TEMIC TELEFUNKEN microelectronic GmbH | Verfahren und Steuersystem zum Übertragen von Daten |
US6249558B1 (en) | 1998-03-28 | 2001-06-19 | Temic Telefunken Microeletronic Gmbh | Method for transmitting digital data impulses |
EP1315337A2 (de) * | 2001-10-31 | 2003-05-28 | Infineon Technologies AG | Bus-Interface |
EP1315337B1 (de) * | 2001-10-31 | 2009-08-12 | Infineon Technologies AG | Bus-Interface |
US7609147B2 (en) | 2004-03-25 | 2009-10-27 | Atmel Automotive Gmbh | Method and apparatus for improving wireless data transmission |
DE102004014563B4 (de) * | 2004-03-25 | 2011-01-13 | Atmel Automotive Gmbh | Verfahren und Vorrichtung zur verbesserten drahtlosen Datenübertragung |
Also Published As
Publication number | Publication date |
---|---|
DE4224508C2 (de) | 2000-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3700426C2 (de) | Überwachungszeitgeber | |
DE2946081C3 (de) | Schaltungsanordnung zur Überwachung der Funktion eines Mikroprozessors | |
DE3108568C2 (de) | Informationsverarbeitungseinrichtung | |
DE2735397C2 (de) | Überwachungseinrichtung für eine programmgesteuerte Maschine | |
DE3818546C2 (de) | ||
DE4111072C2 (de) | ||
DE2915401A1 (de) | Digitalrechnervorrichtung und verfahren zum pruefen ihrer funktion | |
DE2000062A1 (de) | Phasenempfindliche Schaltung | |
DE3503306A1 (de) | Datensignalerkennungseinrichtung | |
DE3246432C2 (de) | ||
EP0689747B1 (de) | Bitratenerkennung | |
WO2016184641A1 (de) | Verfahren und vorrichtung zur sensorsynchronisierung | |
DE19546805A1 (de) | Impulsbreitenmodulationsschaltung | |
DE3036926C2 (de) | Verfahren und Anordnung zur Steuerung des Arbeitsablaufes in Datenverarbeitungsanlagen mit Mikroprogrammsteuerung | |
DE102013213087A1 (de) | Überwachungsschaltung mit einem fenster-watchdog | |
DE3430350A1 (de) | Demodulationsschaltung fuer ein datensignal | |
DE2064383B2 (de) | Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen | |
DE4224508C2 (de) | Verfahren zur Ermittlung der Bittaktfrequenz eines digitalen Signals | |
DE2120289A1 (de) | Gesteuerte Pause in einer Datenverarbeitungsanlage | |
DE2529589C2 (de) | Elektronisches Sicherheitssystem mit einer Signaldetektorschaltung | |
DE3316681A1 (de) | Computersystem mit programmueberwachungsvorrichtung | |
DE4035520C2 (de) | Verfahren und Anordnung zur Messung der Geschwindigkeit eines Fahrzeuges | |
DE2712286A1 (de) | Informationsdichte-bestimmungsschaltung | |
DE3619666C2 (de) | ||
DE4219987B4 (de) | Verfahren zum Dekodieren von seriellen Datentelegrammen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8127 | New person/name/address of the applicant |
Owner name: MANNESMANN VDO AG, 60326 FRANKFURT, DE |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: SIEMENS AG, 80333 MUENCHEN, DE |
|
8339 | Ceased/non-payment of the annual fee |