-
Die Erfindung betrifft ein Verfahren zur Baudratenerkennung für Feldgeräte, die über eine serielle Kommunikationsverbindung mit einer übergeordneten Einrichtung verbunden sind, die verschiedene Übertragungsgeschwindigkeiten zulassen.
-
Derartige Feldgeräte haben als elektrische Stellantriebe, elektro-pneumatische Stellungsregler, Transmitter mit Sensoren für Druck, Temperatur, Füllstand oder andere physikalische Größen in die Instrumentierung von verfahrenstechnischen Anlagen Eingang gefunden.
-
Es ist allgemein bekannt, zur seriellen Kommunikation eine UART-Schnittstelle (Universal Asynchronous Receiver Transmitter) zu verwenden, die zum Senden und Empfangen von Daten über eine Datenleitung dient und den Standard der seriellen Schnittstellen an PCs und Mikrocontrollern bildet. Die Daten werden als serieller digitaler Datenstrom mit einem fixen Rahmen übertragen, der aus einem Start-Bit, fünf bis maximal neun Datenbits, einem optionalen Parity-Bit zur Erkennung von Übertragungsfehlern und einem Stopp-Bit besteht. Um dem Empfänger eine Synchronisationszeit auf den Takt der empfangenen Daten einzuräumen, kann das Stopp-Bit auf das 1,5 oder 2-fache der normalen Übertragungszeit eines Bits verlängert werden. Das wird als 1,5 bzw. 2 Stopp-Bits bezeichnet.
-
Die Besonderheit bei der asynchronen Betriebsweise besteht darin, dass kein eigenes Taktsignal auf einer Übertragungsleitung verwendet wird. Stattdessen synchronisiert sich der Empfänger über die Länge des Rahmens, vermittelt durch die Schaltflanke von Start- und Stopp-Bit, sowie die eingestellte Baudrate, welche in diesem Fall der Bitrate entspricht. Da der Beginn einer Übertragung mit dem Start-Bit zu beliebigen Zeitpunkten erfolgen kann, wird diese serielle Schnittstelle als asynchron bezeichnet. Um eine Synchronisation gewährleisten zu können, ist die Anzahl der übertragbaren Bits eingeschränkt. Bei einem längeren Datenstrom könnte die Synchronisation verloren gehen, was zu Fehlinterpretationen des Datenstromes und somit zu einer fehlerhaften Übertragung führen kann.
-
In dem Dokument REJ05B0723-0100/Rev.1.00 der Fa. Renesas für den Mikrocontroller R32C ist ein Verfahren zur automatischen Baudratenerkennung beschrieben, das auf der Voraussetzung basiert, dass die übertragenen Daten so geartet sind, dass mindestens ein ausreichend großer Flankenwechsel pro Übertragung (gesendetem Byte) vorkommt. Beim vorliegenden Verfahren wird 0 × 00 als Data zur Anpassung der UART Hardware-Konfiguration (Start-Bit, Stopp-Bit) an den physikalischen Verlauf übertragen. Der Austausch der Daten findet in einer für diesen Fall vorgesehenen Erkennungssequenz zwischen Host und Feldgerät statt. Hierbei werden 16 Daten mit Wert 0 × 00 übertragen und damit feldgeräteseitig der korrekte Wert des Baudratenregisters der UART innerhalb einer Ablaufsequenz ermittelt.
-
Aus der
DE 195 34 048 A1 ist ein Verfahren zur Erzeugung eines kanalcodierten Binärsignals bekannt, bei dem zur Synchronisierung vorgegebene Bitmuster gesendet werden und im Empfänger solange eine neue Baudrate eingestellt wird, bis das Datum korrekt und ohne Fehlerbits empfangen wird. Auch hier werden Daten-Werte mit wechselnden Flanken verwendet damit Fehler vermieden werden. Die Messung findet in diesen Fällen über ein oder mehrere Bit-Zeiten statt. Allerdings erfordert diese Vorgehensweise über die UART des Mikrocontrollers hinausgehende Schaltungstechnik, wodurch die Verwendung des Verfahrens eingeschränkt wird.
-
Bei der Verwendung von Protokollen, die keine automatische Baudratenerkennung vorsehen, ist die Wahl eines geeigneten Bitmusters oder einer Erkennungssequenz nicht immer möglich. Auch die Messung der Bit-Zeiten mittels extern getriggertem Timer erfordert einen freien Timer- oder Interrupt-Eingang der hierfür geeignet ist und eine entsprechende schaltungstechnische Berücksichtigung auf der Hardware. Insbesondere die Übertragung von logischem HART mit höheren als im Protokoll, HART Data Link Layer Spec Rev. 8.1 Date 03.04.2006, vorgesehenen Übertragungsraten von 1200 Baud stößt auf eine Reihe vom Problemen. Die protokollseitig vorgesehene Startsequenz von 5–20 Präambeln mit dem Wert 0 × FF sind zur Erkennung höherer Baudraten ungeeignet. Die Konfiguration der UART ist fest spezifiziert mit odd Parity, 1 Stop Bit, 8-Bit-UART. Das bedeutet, das UART Signal wird pro Datenbyte zum Starten einmalig kurz low und bleibt danach high. Ein solches Muster ist zur Synchronisation ungeeignet. Ein Verhandeln mit dem Host ist protokollseitig nicht vorgesehen. Bei einer vorhandenen Geräte-Hardware ist ein Timer oder Interrupt-Eingang zur Messung der Bit-Zeiten hardwareseitig nicht vorgesehen oder frei.
-
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zur Erkennung diskreter Baudraten des HART-Protokolls für Feldgeräte anzugeben, das mit einer geringen Anzahl Präambeln auskommt und mit geringem Aufwand realisierbar ist.
-
Erfindungsgemäß wird diese Aufgabe mit den Mitteln des Patentanspruchs 1 gelöst. Vorteilhafte Ausgestaltungen der Erfindung sind in den rückbezogenen Ansprüchen genannt.
-
Die Erfindung geht von einem Feldgerät aus, das über das HART-Protokoll mit einer übergeordneten Einrichtung kommuniziert, die mit einer voreingestellten Baudrate sendet. Das Feldgerät weist einen Mikrocontroller mit einer UART-Schnittstelle auf. Der Mikrocontroller ist mit einem Programm geladen, das die Zustandsmaschine des HART-Protokolls implementiert.
-
Das HART-Protokoll basiert auf der Übertragung von Datentelegrammen, die durch eine sogenannte Präambel-Phase, wie sie in der HCF_SPEC-81 Token Passing Data Link Layer Specification Rev. 8.2 chapter 8.2.1 definiert ist, eingeleitet werden, in der mindestens fünf bis höchstens 20 Zeichen mit dem Wert 0 × FF gesendet werden.
-
Erfindungsgemäß ist in die Zustandsmaschine des HART-Protokolls die Zustandsmaschine der Baudratenerkennung derart integriert, dass die Präambel-Phase verwendet wird, um eine Synchronisation der Baudrate des Feldgerätes mit der Sendeseite durchzuführen.
-
Im Einzelnen ist vorgesehen, aus der Dauer zwischen dem Empfang von zwei aufeinanderfolgenden Präambel-Zeichen die Baudrate zu ermitteln. Dazu wird mit Eintreffen des ersten Zeichens ein Zeitgeber gestartet und mit Eintreffen des zweiten Zeichens gestoppt. Aus der gemessenen Dauer wird die zugehörige Baudrate der Sendeseite ermittelt.
-
Vorteilhafterweise ist die Erkennung der vorgabegemäß diskreten Baudraten sehr robust gegen Störungen. Insbesondere die typischen Baudraten, die von Hosts auf der Basis von Personalcomputern unterstützt werden, unterscheiden sich in aufsteigender Baudrate mindestens um den Faktor 1,5 meist jedoch um den Faktor 2. Daraus ergeben sich weite Toleranzbereiche und eine dementsprechend sichere Erkennung der korrekten Baudrate bei geringem Aufwand.
-
Ein weiterer Vorteil des erfindungsgemäßen Verfahrens besteht in der Erkennungsgeschwindigkeit der Baudrate. Üblicherweise genügen die ersten zwei Präambeln zur Erkennung der korrekten Baudrate. Die ermittelte Baudrate wird in ein Baudratenregister geschrieben und die HART Protokoll basierte Kommunikation kann fehlerfrei und mit korrekter Baudrate erfolgen.
-
Nach einem weiteren Merkmal der Erfindung wird die Baudratenerkennung bei jeder Übertragung eines neuen Datentelegramms erneut ausgeführt.
-
Vorteilhafterweise werden dadurch korrupt empfangene Datentelegramme durch eine im Baudratenregister fehlerhaft voreingestellte Baudrate vermieden.
-
Nach einem weiteren Merkmal der Erfindung wird während des Empfangs jedes Datentelegramms jedes empfangene Zeichen auf Konsistenz geprüft. Bei Empfang korrupter Zeichen wird die Baudratenerkennung erneut ausgeführt.
-
Die Erfindung wird nachstehend anhand eines Ausführungsbeispiels näher erläutert. Die dazu erforderlichen Zeichnungen zeigen:
-
1 eine Prinzipdarstellung einer Kommunikationsanordnung mit einem Feldgerät und einer übergeordneten Einrichtung
-
2 eine Prinzipdarstellung eines Datentelegramms mit signifikanten Ereignissen zur Baudratenerkennung
-
In der 1 ist eine Kommunikationsanordnung mit einem Feldgerät 1 und einer übergeordneten Einrichtung 2 dargestellt, die über eine asynchrone, serielle Verbindung 3 miteinander kommunizieren. Dabei ist die übergeordneten Einrichtung 2 als Personalcomputer mit einer fest eingebauten UART-Schnittstelle ausgebildet. Diese UART-Schnittstelle ist zur seriellen Übertragung von Daten mit diskreten Baudraten befähigt. Diese personalcomputertypischen Baudraten unterscheiden sich in aufsteigender Baudrate mindestens um den Faktor 1,5 meist jedoch um den Faktor 2. Im Einzelnen sind Baudraten von 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600 und 115200 Baud vorgegeben.
-
Das Feldgerät 1 weist einen Mikrocontroller auf, der eine UART-Schnittstelle sowie mindestens einen Zeitgeber umfasst. Das Feldgerät 1 kommuniziert mit der übergeordneten Einrichtung 2 über das HART-Protokoll, wobei die übergeordnete Einrichtung 2 mit einer voreingestellten Baudrate sendet. Der Mikrocontroller ist mit einem Programm geladen, das die Zustandsmaschine des HART-Protokolls implementiert. In die Zustandsmaschine des HART-Protokolls ist Zustandsmaschine der Baudratenerkennung derart integriert, dass die Präambel-Phase verwendet wird, um eine Synchronisation der Baudrate des Feldgerätes mit der Sendeseite durchzuführen.
-
In der 2 ist eine Folge von zwei Zeichen 10 und 20 als Präambeln eines Datentelegramms nach der HART-Spezifikation dargestellt. Zwischen den Präambeln 10 und 20 kann sich eine zeitliche Lücke 30 befinden, die im HART-Protkoll als Gap Time spezifiziert ist.
-
Jede Präambel 10 und 20 besteht aus elf Bit, nämlich ein Startbit 11, acht Datenbit 12, einem Paritybit 13 und einem Stoppbit 14, die invertiert übertragen werden. Signalfreiheit bedeutet demnach High-Pegel. Ausgehend von diesem High-Pegel wechselt das Signal beginnend mit dem Startbit 11 nach Low. Präambeln 10 und 20 sind protokollgemäß durch ein Datum 0 × FF definiert, so dass der Pegel Low bleibt. Bei definitionsgemäßer ungleicher Parität (odd parity) führt das Paritybit 13 High-Pegel. Schließlich markiert das Stoppbit 14 mit High-Pegel das Ende der Präambel 10.
-
Die Zustandsmaschine der UART-Schnittstelle startet mit der höchsten zu erwartenden Baudrate im HART Protokoll-Zustand Preambel; es werden also Präambeln erwartet. Beim Eintreffen eines Datums im HART Protokoll-Zustand Präambel wird das Status-Register der Schnittstelle auf mögliche Fehler überprüft. Auch das Datum selbst wird mit dem Erwartungswert – das ist beim HART-Protokoll 0 × FF für Präambeln – verglichen, um bei Abweichung auf eine fehlerhafte Übertragung zu schließen. Als fehlerhaft wird ebenfalls der Zustand erachtet, dass ein Frame mit der in HART spezifizierten Gap-Time bzw. Kommunikationsfehlerüberwachung abgebrochen wird. Sind die Daten fehlerhaft, wird die Zustandsmaschine von HART in den Zustand „Preambel” überführt, bzw. ist noch dort. Nun eintreffende fehlerhafte Daten starten die automatische Baudratenerkennung. Diese wird in einer eigenen Zustandsmaschine innerhalb der Präambel-Phase durchlaufen. Der Übergang in einen anderen HART-Empfangszustand wird verriegelt.
-
Mit Eintreffen eines ersten Datums 10 wird ein interner Zeitgeber gestartet. Das Eintreffen wird durch die fallende Flanke des Startbits 11 als Ereignis 41 markiert. Das Ereignis 41 löst im Microcontroller einen Interrupt aus, dessen Behandlungsroutine den Zeitgeber startet.
-
Mit Eintreffen eines darauffolgenden zweiten Datums 20 wird der interne Zeitgeber gestoppt. Das Eintreffen wird durch die fallende Flanke des Startbits 11 als Ereignis 42 markiert. Das Ereignis 42 löst im Microcontroller einen Interrupt aus, dessen Behandlungsroutine den Zeitgeber stoppt.
-
Aus der Dauer 43 zwischen dem ersten Ereignis 41 und dem zweiten Ereignis 42 wird die Baudrate ermittelt. Die gemessene Zeit ist repräsentativ für die eingestellte Baudrate der sendenden übergeordneten Einrichtung 2. Große Zeiten repräsentieren geringe Baudraten, kleine Zeiten repräsentieren hohe Baudraten.
-
Unter der Voraussetzung der diskreten, personalcomputertypischen Baudraten sind weite Zeitbereiche der Dauer 43 genau einer Baudrate zuordenbar. Somit weist das Erkennungsverfahren eine hohe Zuverlässigkeit des Erkennungsprozesses auf.
-
Im nächsten Schritt wird die Baudrate des Feldgerätes 1 entsprechend der ermittelten Baudrate eingestellt. Hierfür wird typischerweise dem Baudratenregister oder einem vergleichbaren Prozessor Register zur Generierung der Übertragungsfrequenz ein geeigneter Teiler zur Baudrateneinstellung zugewiesen. Die Baudrate ist gefunden.
-
Nach Einstellung der Baudrate wird in der HART Zustandsmaschine fortgefahren. Diese beinhaltet die Überwachung des korrekten Empfangs aller Daten, die Generierung einer Antwort und das Senden der Antwort an die übergeordnete Einrichtung 2. Abschließend wird das Baudratenregister wieder auf die höchste zu erwartende Baudrate gesetzt.
-
Bezugszeichenliste
-
- 1
- Feldgerät
- 2
- übergeordnete Einrichtung
- 3
- serielle Verbindung
- 10, 20
- Zeichen, Präambel
- 11
- Startbit
- 12
- Datenbit
- 13
- Paritybit
- 14
- Stoppbit
- 30
- Lücke
- 41, 42
- Ereignis
- 43
- Dauer
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-