DE69702066T2 - Baudratendetektion bei serieller Datenübertragung - Google Patents

Baudratendetektion bei serieller Datenübertragung

Info

Publication number
DE69702066T2
DE69702066T2 DE69702066T DE69702066T DE69702066T2 DE 69702066 T2 DE69702066 T2 DE 69702066T2 DE 69702066 T DE69702066 T DE 69702066T DE 69702066 T DE69702066 T DE 69702066T DE 69702066 T2 DE69702066 T2 DE 69702066T2
Authority
DE
Germany
Prior art keywords
baud rate
data word
receiving device
data transmission
data
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.)
Expired - Lifetime
Application number
DE69702066T
Other languages
English (en)
Other versions
DE69702066D1 (de
Inventor
Vassil Lolov
Ulrich Walter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Optimay GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Optimay GmbH filed Critical Optimay GmbH
Application granted granted Critical
Publication of DE69702066D1 publication Critical patent/DE69702066D1/de
Publication of DE69702066T2 publication Critical patent/DE69702066T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0262Arrangements for detecting the data rate of an incoming signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Description

  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Bestimmen der Baudrate einer seriellen Datenübertragung und ein Mobiltelefon. Die Erfindung kann für alle Anwendungszwecke benutzt werden, bei denen eine serielle Datenübertragung aufgebaut oder aufrechterhalten wird. Insbesondere kann die Erfindung bei einer kompakten Vorrichtung mit niedrigem Energieverbrauch, wie beispielsweise einem Mobiltelefon, benutzt werden, bei der ein einziger Mikrocontroller mehrere Aufgaben (Tasks) in einer zeitlich verzahnten Betriebsweise (Time-Sharing) ausführt.
  • Moderne Mobiltelefone, insbesondere solche gemäß dem GSM-Standard (GSM = global system for mobile communications = Globales System für die Mobilkommunikation) bieten eine Vielzahl von Kommunikationsdiensten, insbesondere Sprach-, Daten- und Telefax-Dienste. Zur Übertragung von Daten und Telefaxen ist das Mobiltelefon mit einem Computer (normalerweise einem Laptop-Computer) verbunden und erhält die zu übertragenden Informationen von diesem. Bekannte Mobiltelefone weisen eine herstellereigene Schnittstelle auf, die Daten mit einer in den Computer eingesteckten, besonderen Datenübertragungskarte austauscht. Diese Vorgehensweise ist ziemlich teuer und erfordert besondere Hardware, die einen Karten-Steckplatz des Computers belegt.
  • Es wäre kostengünstiger und viel praktischer für den Benutzer, wenn er oder sie das Mobiltelefon unmittelbar mit der gewöhnlichen seriellen Schnittstelle des Computers verbinden und ein gewöhnliches Kommunikations- und/oder Telefax- Programm verwenden könnte. Eine Schwierigkeit bei dieser Vorgehensweise ergibt sich aus der Tatsache, daß der Computer in einer Vielzahl unterschiedlicher Datenübertragungsgeschwindigkeiten zu kommunizieren vermag. Es wäre sehr störend für den Benutzer, wenn er oder sie, immer wenn eine serielle Übertragung aufgebaut oder die Übertragungsgeschwindigkeit geändert wird, das Mobiltelefon von Hand konfigurieren müßte. Das Mobiltelefon sollte daher die Übertragungsgeschwindigkeit oder Baudrate (Anzahl von Übertragungsschritten pro Sekunde) automatisch bestimmen können.
  • US 5,367,541 (entsprechend EP 0 544 965 A1) offenbart ein Verfahren zum Einstellen der asynchronen Übertragungseigenschaften einer mit unterschiedlichen Übertragungsgeschwindigkeiten arbeitenden Telekommunikationseinrichtung. Ein erstes Zeichen wird unter Verwendung vorbestimmter Übertragungsparameter empfangen, die tatsächliche Übertragungsgeschwindigkeit wird auf Grundlage des empfangenen Zeichens bestimmt, und die Telekommunikationseinrichtung wird auf diese Übertragungsgeschwindigkeit eingestellt. Dann wird auf das Eintreffen eines zweiten Zeichens gewartet. Vorzugsweise beginnt die Verarbeitung des zweiten Zeichens nicht vor Ablauf einer Zeitdauer von 100 ms. Dieses Verfahren geht davon aus, daß ein Benutzer eine vorbestimmte Zeichensequenz auf einer Tastatur eintippt. Das Verfahren arbeitet nur, wenn zwischen den ersten beiden Zeichen ein ziemlich langer Zeitabschnitt liegt, wobei dieser Zeitabschnitt es der Telekommunikationseinrichtung gestattet, den Anfang des zweiten Zeichens zu finden.
  • US 5,008,902 offenbart ein Verfahren zum Bestimmen der Baudrate eines Datenstroms durch den Vergleich aufgezeichneter Daten mit bekannten Autobaud- Zeichen. Der Datenstrom wird zunächst mit einer höheren Datenrate als die höchste mögliche Baudrate abgetastet. Die abgetasteten Daten werden mit bekannten Daten verglichen. Falls eine Übereinstimmung auftritt, wird die Baudrate, bei der sich die Übereinstimmung ergeben hat, bestimmt und ausgewählt. Eine solche Übereinstimmung zeigt auch an, daß der Abtasttakt korrekt mit dem eintreffenden Datenstrom synchronisiert ist, so daß keine weiteren Synchronisationsmaßnahmen ergriffen werden müssen. Dieses Verfahren erfordert eine besondere Abtasthardware, die zusätzliche Kosten verursacht und in Mobiltelefonen normalerweise nicht verfügbar ist.
  • WO 95122217 offenbart eine Vorgehensweise zur automatischen Baudraten- Bestimmung, die mit der höchsten verfügbaren Baudrate beginnt und Schritt für Schritt immer langsamere Baudraten durchläuft, wenn Übertragungsfehler erkannt werden.
  • WO 88/03349 offenbart einen Empfänger für die Funk-Nachrichtenübertragung mit einer Vorrichtung zum Ändern der Bitrate des Empfängers. Eine von vier Bitraten wird mittels eines Sechs-Bit-Wiederholungskodes kodiert. In Abhängigkeit von dem dekodierten Bitraten-Kodewort wird die korrekte Bitrate eingestellt.
  • EP 0 669 738 A2 offenbart ein System und ein Verfahren zur automatischen Bestimmung von Geschwindigkeit, Parität und Zeichenlänge in einem asynchronen Netz. Die geringste Zeit zwischen zwei aufeinanderfolgenden Leitungsspannungsübergängen eines Datenbitstroms wird bestimmt, und die Baudrate des Datenbitstroms wird daraus berechnet.
  • US 4,663,766 offenbart ein Verfahren zum automatischen Bestimmen der Geschwindigkeit von Datensignalen in einem Modem. Das Verfahren analysiert besondere Einstellsignale (training signals), die jeder Datenübertragung vorangestellt sind, um zu bestimmen, ob diese ein vorgewähltes Phasenumkehrmuster aufweisen. Die Anwesenheit oder Abwesenheit des Musters gibt die Datenrate an.
  • US 5,222,081 offenbart ein Verfahren zum Ausführen einer Autobaud-Funktion mittels einer Zustandsübergangsmaschine, in der Datenbits abgetastet und die Übertragungseigenschaften auf Grundlage des abgetasteten Bitstroms bestimmt werden.
  • Es ist daher die Aufgabe der Erfindung, eine Funktion zur automatischen Baudratenbestimmung bereitzustellen, die die oben erwähnten Probleme vermeidet, die im Hinblick auf Hardware und Verarbeitungszeit nur ein Minimum an Aufwand erfordert, und die auch dann eine korrekte Synchronisation mit der seriellen Datenübertragung ergibt, wenn die übertragenen Datenworte einander unmittelbar folgen.
  • Erfindungsgemäß wird diese Aufgabe durch ein Verfahren zum automatischen Bestimmen der Baudrate einer seriellen Datenübertragung mit den Merkmalen von Anspruch 1, eine entsprechende Vorrichtung mit den Merkmalen von Anspruch 9 und ein mobiles Telefon mit einer solchen Vorrichtung gelöst. Bevorzugte Ausführungsformen der Erfindung sind in den abhängigen Ansprüchen genannt.
  • Die Erfindung beruht auf der Idee, eine Empfangseinrichtung auf eine erste (möglicherweise unzutreffende) Baudrate einzustellen, und die korrekte Baud rate der Datenübertragung auf Grundlage des empfangenen Datenworts und möglicherweise weiterer Informationen zu bestimmen. Wenn die erste Baudrate nicht die korrekte gewesen ist, wird die Empfangseinrichtung auf eine zweite Baudrate eingestellt, die so gewählt wird, daß der Anfang eines nachfolgenden Datenworts in der seriellen Datenübertragung von der Empfangseinrichtung korrekt erkannt werden kann.
  • Bei einer Nutzung der erfindungsgemäßen Lehren braucht der Prozessor die Empfangseinrichtung lediglich geeignet zu programmieren oder zu reprogrammieren, was sehr schnell erfolgen kann. Daher verursacht die Vorgangsweise zur automatischen Baudratenbestimmung nur eine sehr geringe Prozessorbelastung. Insbesondere ist die Aufmerksamkeit des Prozessors während eines längeren oder ununterbrochenen Zeitabschnitts nicht erforderlich. Dies ermöglicht es dem Prozessor, gesteuert durch ein Time-Sharing-Betriebssystem andere Aufgaben gleichzeitig auszuführen. Die eigentlichen Empfangschritte können durch die Empfangseinrichtung unabhängig vom Prozessor ausgeführt werden. Weil ein typischer Mikrocontroller sowieso eine Empfangseinrichtung aufweist, wird die verfügbare Hardware sehr gut ausgenutzt.
  • Gemäß der Erfindung braucht das erste empfangene Datenwort nicht notwendigerweise einer einzigen Baudrate zu entsprechen. Andere Informationen, beispielsweise Informationen, die durch eine direkte Abtastung mindestens eines Bitwerts des empfangenen Signals erhalten worden sind, können zusätzlich zum Bestimmen der zutreffenden Baudrate verwendet werden. In bevorzugten Ausführungsformen kennzeichnet jedoch das erste empfangene Datenwort eindeutig die Baudrate, und die zutreffende Baudrate wird einzig auf Grundlage dieses Datenworts bestimmt. Es ist zu bemerken, daß sich das erste empfangene Datenwort von dem ersten übertragenen Datenwort unterscheiden kann. Wenn beispielsweise die erste Baudrate schneller als die tatsächliche Baudrate der Datenübertragung ist, dann wird das erste empfangene Datenwort nur einen Abschnitt am Anfang des ersten übertragenen Datenworts wiedergeben.
  • Erfindungsgemäß wird gelehrt, einen Zwischenschritt unter Verwendung der zweiten Baudrate auszuführen, um der Empfangseinrichtung eine Synchronisation mit der seriellen Datenübertragung zu ermöglichen. Vorzugsweise wird der Anfang eines vorbestimmten nachfolgenden Datenworts erkannt. In weiter bevorzugten Ausführungsformen ist das vorbestimmte nachfolgende Datenwort das zweite Datenwort in der seriellen Datenübertragung, d. h. das nächste Datenwort nach dem ersten Datenwort. Somit kann sogar ein unmittelbar folgendes zweites Datenwort mit der zutreffenden Baudrate eingelesen werden.
  • Die serielle Datenübertragung enthält vorzugsweise mindestens ein bestimmtes Autobaud-Datenwort, das eines der Zeichen 'A' oder 'a' sein kann, und das nächste Zeichen in der seriellen Datenübertragung kann 'T' oder 't' sein. In bevorzugten Ausführungsformen wird eine Folge mit mindestens einem oder mindestens zwei oder mindestens drei Vergleichen ausgeführt, um die tatsächliche Baudrate auf Grundlage des ersten empfangenen Datenworts zu bestimmen. Eine geeignete Nachschlagetabelle (look-up table) kann in anderen Ausführungsformen verwendet werden. Diese Nachschlagetabelle kann einen Eintrag für den Fall enthalten, daß die erste Baudrate zufällig die zutreffende Baudrate ist, oder sie kann keinen solchen Eintrag enthalten.
  • In bevorzugten Ausführungsformen entspricht die erste Baudrate der maximalen von dem Autobaud-Mechanismus erkennbaren Baudrate. In anderen Ausführungsformen kann die erste Baudrate höher als die maximale Baudrate sein, weil es dann möglich sein kann, weitere Eigenschaften der seriellen Datenübertragung (z. B. Parität) für alle zulässigen Baudraten zu erkennen. Der Autobaud-Mechanismus ist besonders zuverlässig, wenn geringe Zeitabweichungen bei der seriellen Datenübertragung berücksichtigt werden.
  • Die zweite Baudrate, auf die die Empfangseinrichtung eingestellt wird, hängt vorzugsweise von der ermittelten Baudrate der Datenübertragung und/oder von dem Autobaud-Zeichen ab. Insbesondere kann die zweite Baudrate so eingestellt werden, daß die Empfangseinrichtung zu dem Zeitpunkt, an dem das erste tatsächlich übertragene Datenwort endet, ein vollständiges Datenwort eingelesen haben wird. In bevorzugten Ausführungsformen der Erfindung kann die zweite Baudrate um einen Faktor von entweder zwischen 5 und 20 (vorzugsweise ungefähr 10) oder zwischen 1,2 und 2 (vorzugsweise 1,5) schneller als die ermittelte Baudrate sein. Welcher dieser Bereiche gewählt wird, kann von der ermittelten Baudrate abhängen.
  • Es ist ferner bevorzugt, jedes empfangene Datenwort als Echo zurückzusenden. Eine mit dem Prozessor verbundene Sendeeinrichtung kann zu diesem Zweck dienen. Wenn das erste Datenwort, das von dem zweiten empfangenen Datenwort abgeleitet sein kann, als Echo zurückgesendet wird, kann eine Verzögerung auftreten.
  • Die Empfangseinrichtung, die ein gebräuchlicher UART (universal asynchronous receiver/transmitter = universeller asynchroner Empfänger/Sender) sein kann, beginnt in bevorzugten Ausführungsformen mit dem Abtasten eines Signalpegels der seriellen Datenübertragung, wenn eine vorbestimmte Startbedingung erfüllt ist. Diese Startbedingung kann der Übergang von einem Zeichen- zu einem Trennschritt (mark-to-space transition) in der seriellen Datenübertragung sein.
  • Mehrere Ausführungsbeispiele der Erfindung werden nun genauer beschrieben. Es wird auf die schematischen Zeichnungen hingewiesen, in denen:
  • Fig. 1 ein Blockschaltbild eines Mobiltelefons zeigt,
  • Fig. 2 ein Blockschaltbild eines Mikrocontrollers in einem ersten Ausführungsbeispiel zeigt,
  • Fig. 3 ein Zeitdiagramm eines empfangenen Datensignals bei vier unterschiedlichen Baudraten zeigt,
  • Fig. 4 ein Zeitdiagramm wie das von Fig. 3 zeigt, in dem der Zeitmaßstab um einen Faktor vier gestaucht worden ist,
  • Fig. 5 ein Flußdiagramm einer Programmroutine zeigt, die zum Beginnender Autobaud-Funktion verwendet wird,
  • Fig. 6A und Fig. 6B zusammen ein Flußdiagramm einer Unterbrechungsbehandlungsroutine zeigen,
  • Fig. 7 ein Blocksschaltbild wie das von Fig. 2 in einem weiteren Ausführungsbeispiel zeigt.
  • Das in Fig. 1 gezeigte mobile Telefon 10 ist ein GSM-Handy, das mit einer seriellen Schnittstelle mit Autobaud-Fähigkeit ausgestattet ist. Die Schnittstelle erfüllt den RS-232- oder V.24-Standard, aber andere serielle Kommunikationsverfahren können in Ausführungsalternativen verwendet werden. Alle Arten von Daten können über die Schnittstelle zu und von dem Telefon 10 übertragen werden. Dies schließt Telefaxdaten oder andere Daten ein, die über das Telefon 10 gesendet oder empfangen werden sollen, sowie Daten, die zum Konfigurieren des Telefons 10 verwendet werden, und Daten, die zum Zwecke der Wartung oder Reparatur aus dem Telefon 10 ausgelesen werden.
  • Das Mobiltelefon 10 als solches ist gut bekannt. Es weist eine Analogeinheit 12 zum Senden und Empfangen von Hochfrequenzsignalen über eine Antenne 14 auf. Die Analogeinheit 12 ist mit einem Lautsprecher 16, einem Mikrophon 18 und einer digitalen Steuereinheit 20 verbunden. Die Steuereinheit 20 weist ihrerseits einen integrierten Mikrocontroller 22 auf, der die Fähigkeit zur seriellen Datenübertragung bereitstellt und der über eine Treiberschaltung 26 mit einem seriellen Datenanschluß 24 verbunden ist. Der Mikrocontroller 22 kann eine integrierte Schaltung SAB 80C166, hergestellt von Siemens AG, Deutschland, oder irgendein anderer geeigneter Baustein sein. Eine Vielzahl Programmroutinen, von denen einige zeitkritisch sind, laufen auf dem Mikrocontroller 20 in einer zeitlich ineinander verzahnten Betriebsweise (Time-Sharing), um die verschiedenen Funktionen des Telefons 10 bereitzustellen. Weitere Bestandteile des Telefons 10, wie eine Anzeige, ein Tastenfeld und eine Stromversorgungseinheit, sind üblich und in Fig. 1 nicht gezeigt.
  • Fig. 2 zeigt einige der internen Bestandteile des Mikrocontrollers 22. Ein Prozessor 28 ist über einen Speicherbus 32 mit einer Speichereinheit 30 verbunden. Die Speichereinheit 30 weist einen Nur-Lese-Programmspeicher und einen Schreib/Lese-Speicher zum Speichern temporärer Datenwerte auf. Ein UART 34 (UART = universal asynchronous receiver/transmitter = universeller asynchroner Empfänger/Sender) ist über einen internen Bus 36 und eine UART-Unterbrechungsanforderungsleitung 38 mit dem Prozessor 28 verbunden. Der UART 34 weist eine Sendeeinrichtung 40 zum Erzeugen eines Sendedatensignals TXD auf einer Leitung 44 und eine Empfangseinrichtung 42 auf, mit der eine Leitung 46, die ein Empfangsdatensignal RXD überträgt, verbunden ist. Die Leitungen 44 und 46 und weitere Leitungen für unterschiedliche Steuersignale sind an die Treiberschaltung 26 (gezeigt in Fig. 1) angeschlossen.
  • Während des Betriebs empfängt der UART 34 zu sendende Datenwörter und Steuerinformationen über den internen Bus 36 vom Prozessor 28. Die Datenwörter werden von der Sendeeinrichtung 40 in einer seriellen Betriebsweise über die Leitung 44 an die Treiberschaltung 26 gesandt, und die Steuerinformationen bestimmen die seriellen Übertragungseigenschaften des UART 34 im Hinblick auf das Senden und das Empfangen (beispielsweise Baudrate, Anzahl von Daten- und Stop-Bits sowie Parität). Die Empfangseinrichtung 42 des UART 34 überwacht das eingehende RXD-Signal auf der Leitung 46 laufend und wandelt es in Datenwörter um. Immer wenn ein vollständiges Datenwort empfangen worden ist, wird auf der UART-Unterbrechungsanforderungsleitung 38 eine Unterbrechungsanforderung für den Prozessor 28 generiert.
  • Fig. 3 und Fig. 4 zeigen jeweils vier Beispiele eines Empfangsdatensignals RXD bei Datenübertragungsgeschwindigkeiten von 19200 Baud, 9600 Baud, 4800 Baud beziehungsweise 2400 Baud. Aus Gründen der Klarheit ist Fig. 3 eine vergrößerte Darstellung der ersten zwanzig in Fig. 4 gezeigten Zeitintervalle. Bei diesem Beispiel haben die oben in Fig. 3 und Fig. 4 gezeigten Zeitintervalle jeweils eine Dauer von 52 us. Die von den Zeitintervallen nach unten weisenden Pfeile stellen mögli che Abtastpunkte dar, bei denen die Empfangseinrichtung 42 des UART 34, wenn sie auf eine Baudrate von 19200 Baud eingestellt wird, das eingehende Signal RXD abtasten würde. In Fig. 3 und Fig. 4 wird ein Stromschritt (Mark-Zustand) des empfangenen Signals RXD durch einen hohen Pegel dargestellt, und ein Leerschritt (Space-Zustand) wird durch einen niedrigen Pegel dargestellt. Andere Darstellungen sind möglich, je nach den Eigenschaften der Treiberschaltung 26 und des UART 34.
  • Jedes der vier RXD-Signale von Fig. 3 und Fig. 4 entspricht der Übertragung eines Zeichens 'A' oder 'a'. Nach dem ASCII-Kode werden diese Zeichen durch die Datenworte 0 · 41 bzw. 0 · 61 (wobei das Präfix 0x einen Hexadezimal-Wert angibt) dargestellt. Wie im RS-232- oder V.24-Standard dargelegt wird, beginnt jede Übertragung eines Datenwortes mit einem Start-Bit, das durch einen anfänglichen Marknach-Space-Übergang gefolgt von einem Space-Zustand während einer Bitlänge gekennzeichnet ist. Dann wird das Datenwort Bit für Bit übertragen, beginnend mit dem geringstwertigen Bit (erstes Bit) und endend mit dem höchstwertigen Bit (achtes Bit). Mindestens ein End-Bit, das durch einen Mark-Zustand während mindestens einer Bitlänge gebildet wird, beendet die Übertragung.
  • Als Beispiel wird im folgenden ein bei 19200 Baud gesendetes RXD-Signal betrachtet. Das Start-Bit wird im Zeitabschnitt 1 übertragen, gefolgt von dem geringstwertigen Bit (einer binären 1) im Zeitabschnitt 2. Darauf folgen vier binäre 0-Bits und zwei binäre 1-Bits, wenn das Zeichen 'a' übertragen wird (durchgezogene Linie in Fig. 3 und Fig. 4), oder fünf binäre 0-Bits und ein binäres 1-Bit für das Zeichen 'A' (gestrichelte Linie in Fig. 3 und Fig. 4). Das höchstwertige Datenbit (binär 0) wird im Zeitabschnitt 9 gesendet, und das Stop-Bit wird im Zeitabschnitt 10 gesendet. Das Start-Bit des nächsten Zeichens kann unmittelbar nach Zeitabschnitt 10 folgen. Für langsamere Übertragungsgeschwindigkeiten wird die Bit-Länge jedes einzelnen Bits entsprechend vergrößert.
  • Fig. 3 und Fig. 4 zeigen ein Beispiel für die Übertragungseigenschaften "8 Datenbits, keine Parität". Bei anderen Übertragungseigenschaften kann das achte Datenbit durch ein sogenanntes Paritätsbit ersetzt werden. Dieses Paritätsbit kann immer eine binäre 0 sein ("Space-Parität"), oder immer eine binäre 1 sein ("Mark-Parität"), oder es kann so gewählt werden, daß die Gesamtzahl binärer 1-Bits im übertragenen Datenwort gerade bzw. ungerade ist ("gerade Parität" bzw. "ungerade Parität").
  • In den hier beschriebenen Ausführungsbeispielen erwartet der Autobaud-Vorgang den Empfang entweder der Zeichen "AT" oder "at" als die ersten beiden Datenwörter. Dieses Befehlspräfix ist gut bekannt und im V.25ter-Standard standardisiert. Das erste Zeichen dient als Autobaud-Zeichen und reicht aus, um die zutreffende Baudrate und den Anfang des zweiten Zeichens zu bestimmen. Das zweite Zeichen wird korrekt gelesen. Weil die Autobaud-Funktion möglicherweise nicht in der Lage ist, irgendwelche Informationen über das erste Zeichen zu erhalten, wird das zweite Zeichen verwendet, um das erste Zeichen zu bestimmen. In Ausführungsalternativen kann ein anderes Autobaud-Zeichen oder können andere Autobaud-Zeichen benutzt werden.
  • Zunächst wird ein Ausführungsbeispiel der Erfindung beschrieben, bei dem das Autobaud-Zeichen entweder in einer Übertragungscharakteristik "8 Datenbits, keine Parität" oder in einer Übertragungscharakteristik "7 Datenbits, Space-Parität" gesendet werden muß, wie in Fig. 3 und Fig. 4 gezeigt.
  • Fig. 5 zeigt, wie der Autobaud-Vorgang begonnen wird. Der Prozessor 28 stellt den UART 34 hinsichtlich der Übertragungseigenschaften auf 8 Datenbits, keine Parität und eine erste Baudrate ein (Kasten 50). Die erste Baudrate beträgt im vorliegenden Ausführungsbeispiel 19200 Baud. Dann wird die UART-Unterbrechungsanforderung freigegeben. Ein geeigneter Kennzeichnungswert wird in der Speichereinheit 30 gespeichert und gibt den gegenwärtigen Stand des Autobaud-Vorgangs an (Kasten 52). Dieser Kennzeichnungswert wird im folgenden als ein "Unterbrechungsanforderungs-Typ" bezeichnet, weil er bestimmt, welche Funktionen beim Auftreten einer UART-Unterbrechungsanforderung ausgeführt werden sollen. Im vorliegenden Fall wird eine Unterbrechungsanforderung vom Typ A freigegeben. Für die hier beschriebenen Ausführungsbeispiele ist das eigentliche Unterbrechungsanforderungs-Signal auf der Leitung 38 für alle Typen von Unterbrechungsanforderungen dasselbe, und die Unterscheidung wird nur auf Grundlage des Kennzeichnungswerts getroffen. In Ausführungsalternativen können die Unterbrechungsanforderungs-Typen auf Hardware-Ebene unterschieden werden.
  • Die anfängliche Phase der Autobaud-Routine ist nun beendet, und der Prozessor 28 ist zur Ausführung anderer Aufgaben, die für den Betrieb des Mobiltelefons 10 erforderlich sind, frei. Die Empfangseinrichtung 42 des UART 34 überwacht das RXD-Signal laufend auf ein Auftreten eines Start-Bits (Mark-nach-Space-Übergang). Nach dem Ende des Start-Bits in Zeitabschnitt 1 (Fig. 3 und Fig. 4) tastet der UART 34 die nächsten acht Datenbits mit der vorbestimmten ersten Baudrate von 19600 Baud ab (Zeitabschnitte 2 bis 9 in Fig. 3 und Fig. 4). Wenn das Stop-Bit in Zeitabschnitt 10 erkannt wird, erzeugt der UART 34 auf der Leitung 38 eine Unterbrechungsanforderung.
  • Beim Auftreten der UART-Unterbrechungsanforderung führt der Prozessor 28 die in Fig. 6A und Fig. 6B gezeigte Behandlungsroutine für Unterbrechungsanforderungen aus. Eine Antwortzeit von höchstens 100 us auf Unterbrechungsanforderungen ist erforderlich. Der Prozessor 28 bestimmt zunächst den Typ der Unterbrechungsanforderung, indem er auf den in der Speichereinheit 30 gespeicherten Kennzeichnungswert zugreift. Wenn der Kennzeichnungswert eine Unterbrechungsanforderung vom Typ A anzeigt (Test 54), dann liest der Prozessor 28 das von der UART 34 empfangene Datenwort aus (Kasten 56). Dieses Datenwort enthält die in den Zeitabschnitten 2 bis 9 aufgenommenen Abtastwerte des RXD-Signals. Diese Abtastwerte kennzeichnen die Baudrate der Datenübertragung innerhalb des in diesem Ausführungsbeispiel betrachteten Bereichs von Übertragungsgeschwindigkeiten eindeutig. In Ausführungsalternativen kann ein größerer Baudratenbereich verwendet werden, so daß das erste Datenwort nur eine Gruppe mehrerer möglicher Baudraten angibt. Bei diesen Ausführungsformen werden entweder durch den UART 34 oder durch andere geeignete Mittel weitere Abtastwerte aufgenommen.
  • Falls die erste Baudrate zufällig korrekt gewesen ist, dann lautet das von der Empfangseinrichtung 42 des UART 34 eingelesene Datenwort 0 · 41 oder 0 · 61, entsprechend den Zeichen 'A' oder 'a'. Diese Bedingung wird in Test 58 erkannt. Falls dies der Fall ist, zweigt die Programmausführung zum in Fig. 6B gezeigten Einsprungpunkt E ab. Dort schreibt der Prozessor 28 zunächst das empfangene Datenwort in ein geeignetes Senderegister der Sendeeinrichtung 40. Dies bewirkt, daß das empfangene Datenwort auf der Leitung 44 mit der eingestellten ersten Baudrate als Echo zurückgesendet wird (Kasten 60). Das empfangene Datenwort wird auch in einem geeigneten Pufferabschnitt der Speichereinheit 30 zur weiteren Verarbeitung während des normalen Betriebs des Mobiltelefons 10 gespeichert. Als nächstes wird eine Unterbrechungsanforderung vom Typ D freigegeben (Kasten 62). Das Auftreten einer solchen Unterbrechungsanforderung zeigt an, daß ein weiteres Zeichen empfangen worden ist, das verarbeitet werden kann, ohne irgendwelche Autobaud-Schritte auszuführen.
  • Falls die erste Baudrate nicht korrekt gewesen ist, ist es dennoch möglich, die korrekte Baudrate aus dem durch den UART 34 eingelesenen Datenwort zu ermitteln. Falls, zum Beispiel, die tatsächliche Übertragungsgeschwindigkeit 9600 Baud beträgt, nimmt das RXD-Signal nur während der Zeitabschnitte 3 und 4 einen Mark-Zustand ein, und sonst einen Space-Zustand. Unter Berücksichtigung, daß das geringstwertige Bit zuerst übertragen wird, entspricht dies einem Datenwort 0 · 06 (00000110 in Binärschreibweise oder 01100000 in der Reihenfolge der tatsächlichen Datenübertragung). Für die anderen möglichen Baudraten können die erwarteten Datenwörter, die von dem UART 34 abgetastet werden, auf ähnliche Weise abgeleitet werden. Die folgende Tabelle faßt die Beziehung zwischen den erwarteten Datenwörtern und der daraus ermittelten Baudrate zusammen. Die Funktion der zweiten Baudrate wird später erläutert werden.
  • In dem in Fig. 6A gezeigten Schritt 64 vergleicht der Prozessor 28 das von dem UART 34 eingelesene Datenwort mit mehreren vorgegebenen Werten, um die korrekte Baudrate zu bestimmen. Im vorliegenden Ausführungsbeispiel sind die vorgegebenen Werte genau die erwarteten Datenwörter der obigen Tabelle. In Ausführungsalternativen können die zulässigen Baudraten dergestalt sein, daß geringe Zeitabweichungen bewirken können, daß bei einer einzigen bestimmten Baudrate mehrere unterschiedliche erste Datenwörter empfangen werden. Alle diese möglichen Werte werden dann als gültige Wiedergaben der entsprechenden Baudraten angesehen.
  • Test 58 und Schritt 64 bilden zusammen einen Schritt 65, in dem die korrekte Baudrate auf Grundlage des ersten empfangenen Datenworts ermittelt wird. Schritt 64 kann unter Verwendung einer Reihe aufeinanderfolgender Vergleiche oder unter Verwendung einer Nachschlagetabelle implementiert werden. Wenn eine Nachschlagetabelle verwendet wird, kann diese auch Einträge für die erwarteten Zeichen (d. h. 'A' und 'a' im vorliegenden Ausführungsbeispiel) aufweisen. Der Nachschlageschritt kann dann den Test 58 ersetzen.
  • Wenn die zutreffende Übertragungsbaudrate ermittelt worden ist, wird sie in der Speichereinheit 30 gespeichert (Kasten 66). Zu diesem Zeitpunkt (in Zeitabschnitt 10 oder kurz danach) ist die Übertragung des ersten Datenworts noch nicht beendet. Wenn der UART 34 sofort mit der ermittelten Baudrate programmiert werden würde, dann würde der nächste Mark-nach-Space-Übergang als der Anfang des Start-Bits des nächsten übertragenen Datenworts interpretiert werden, mit der Folge, daß das zweite Datenwort fehlerhaft eingelesen werden würde. Beispielsweise würde bei einer Übertragungsgeschwindigkeit von 9600 Baud der UART 34 das Space-Bit in den Zeitabschnitten 17 und 18 als das Start-Bit des zweiten Datenworts ansehen, und würde zu früh mit dem Abtasten von Datenbits beginnen.
  • Um es dem UART 34 zu ermöglichen, den Anfang der nächsten (d. h. zweiten) Datenwortübertragung zu finden, sieht das Autobaud-Verfahren einen Zwischenschritt vor, in dem der UART 34 auf eine zweite Baudrate eingestellt wird (Kasten 68). Die zweite Baudrate entspricht einer Abtastgeschwindigkeit, die bewirkt, daß der Rest des ersten Zeichens (bis zu seinem das Ende bildende Stop-Bit) von dem UART 34 als ein vollständiges Datenwort angesehen wird. Der Wert der zweiten Baudrate hängt von der ermittelten Übertragungsbaudrate (Kasten 64) und von dem erwarteten Autobaud-Zeichen oder den erwarteten Autobaud-Zeichen ab. Für das hier beschriebene Ausführungsbeispiel ist die zweite Baudrate in der obigen Tabelle angegeben. Es wird später beschrieben werden, wie diese Werte abgeleitet werden.
  • Nachdem der UART 34 auf die zweite Baudrate eingestellt worden ist, gibt der Prozessor 28 eine Unterbrechungsanforderung vom Typ B frei (Kasten 70), was bedeutet, daß die nächste Unterbrechungsanforderung des UART 34 das Ende des Zwischenschritts anzeigt. Die Bearbeitung der Unterbrechungsanforderung vom Typ A ist nun beendet. Während der Prozessor 28 andere Aufgaben ausführen kann, wartet der UART 34 auf den nächsten Mark-nach-Space-Übergang des RXD-Signals. Wenn der UART 34 diesen Übergang erkennt, wird der Rest des ersten übertragenen Zeichens unter Verwendung der Abtastgeschwindigkeit entsprechend der zweiten Baudrate eingelesen, und eine Unterbrechungsanforderung wird erzeugt, sobald das Stop-Bit erreicht ist.
  • Diese Unterbrechungsanforderung wird von der Behandlungsroutine für Unterbrechungsanforderungen als eine Unterbrechungsanforderung vom Typ B eingeordnet (Zweig "NEIN" von Test 54 und Zweig "JA" von Test 72). Der UART 34 wird nun von dem Prozessor 28 zur Verwendung der korrekten Baudrate programmiert (Kasten 74); diese korrekte Baudrate ist bei der Bearbeitung der vorhergehenden Unterbrechungsanforderung vom Typ A ermittelt und gespeichert worden (Kästen 64 und 66). Zum Beispiel tritt im Fall einer Übertragung mit 9600 Baud die Unterbrechungsanforderung vom Typ B während des Zeitabschnitts 18 oder 19 auf und beläßt somit genügend Zeit, damit der Prozessor 28 auf die Unterbrechungsanforderung ansprechen und den UART 34 umprogrammieren kann, bevor die Übertragung des nächsten Zeichens in Zeitabschnitt 21 beginnt.
  • Der Prozessor 28 gibt nun eine Unterbrechungsanforderung vom Typ C frei (Kasten 76), indem er einen geeigneten Kennzeichnungswert in die Speichereinheit 30 schreibt. Dann nimmt der Prozessor 28 wieder seinen Normalbetriebsmodus auf, während der UART 34 das zweite Zeichen mit der korrekten Baudrate empfängt.
  • Das Auftreten einer Unterbrechungsanforderung vom Typ C zeigt an, daß das zweite Zeichen vom UART empfangen worden ist, aber daß das erste Zeichen noch nicht als Echo zurückgesendet worden ist. Dieser Unterbrechungsanforderungs-Typ wird über Test 54 ("NEIN"-Zweig), Test 72 ("NEIN"-Zweig) und Test 78 ("JA"-Zweig) erkannt. Der Prozessor 28 liest zunächst das zweite Datenwort von dem UART 34 aus (Kasten 80). Bei dem vorliegend beschriebenen Ausführungsbeispiel kann dieses Datenwort entweder ein 'T' oder ein 't' sein. Wegen der Annahme, daß die ersten beiden Datenwörter entweder "AT" oder "at" (nicht "aT" oder "At") sind, ermöglicht die Information über das zweite Zeichen es dem Prozessor 28, das erste Zeichen zu ermitteln (Kasten 82). Das somit ermittelte erste Datenwort wird nun auf der Leitung 44 als Echo zurückgesendet und im Pufferbereich der Speichereinheit 30 zur weiteren Bearbeitung gespeichert (Kasten 82). Die Befehlsausführung wird bei dem in Fig. 6B gezeigten Einsprungpunkt E fortgesetzt. Das empfangene (zweite) Zeichen wird als Echo zurückgesendet und gespeichert (Kasten 60), und eine Unterbrechungsanforderung vom Typ D wird freigegeben (Kasten 62). Dies schließt die Autobaud-Schritte ab.
  • Die Unterbrechungsanforderung vom Typ D zeigt an, daß ein neues Datenwort von dem UART 34 im Normalbetrieb empfangen worden ist. In diesem Fall sind keine Autobaud-Schritte erforderlich. Wenn eine Unterbrechungsanforderung vom Typ D ermittelt wird ("NEIN"-Zweige von Tests 54, 72 und 78), dann liest der Prozessor 28 das empfangene Datenwort von dem UART 34 aus (Kasten 84), sendet es als Echo zurück und speichert es (Kasten 60) und gibt wiederum die Unterbrechungsanforderung vom Typ D frei (Kasten 62).
  • In dem in Fig. 6A gezeigten Kasten 68 wird der UART 34 auf die zweite Baudrate eingestellt, um einen geeigneten Zwischenschritt, der die Synchronisation des UART 34 mit dem Anfang des nächsten (zweiten) Datenworts gestattet, auszuführen. Es soll nun als Beispiel der Fall einer Datenübertragung mit 9600 Baud betrachtet werden. Hier erkennt der UART 34 den Mark-nach-Space-Übergang am Anfang des Zeitabschnitts 17 und beginnt den Zwischenschritt. Es wird dann erwartet, daß der UART 34 früh in Zeitabschnitt 19 den Zwischenschritt beendet und eine Unterbrechungsanforderung vom Typ B ausgibt, um so dem Prozessor 28 genügend Zeit zur Reaktion auf die Unterbrechungsanforderung und zur Umprogrammierung des UART 34 (Kasten 74) zu geben. Dies heißt, daß der UART 34 ungefähr zehn Abtastvorgänge in höchstens zwei Zeitabschnitten oder 104 us ausführen muß, was einer zweiten Baudrate von mindestens 100000 Baud entspricht.
  • Geeignete Werte für die zweite Baudrate bei den anderen Datenübertragungsgeschwindigkeiten können auf ähnliche Weise berechnet werden. Für Übertragungsgeschwindigkeiten von 2400 Baud und darunter erkennt der UART 34 einen ersten Mark-nach-Space-Übergang, nachdem das erste Datenbit übertragen worden ist (am Anfang des Zeitabschnitts 17 im Falle einer Übertragung mit 2400 Baud). Weil am Anfang des letzten Datenbits oder des Paritätsbits ein weiterer Mark-nach- Space-Übergang stattfinden wird (Zeitabschnitt 65 im Fall einer Übertragung mit 2400 Baud), wird die zweite Baudrate im vorliegenden Ausführungsbeispiel auf einen Wert eingestellt, der nur ein wenig höher als die ermittelte Baudrate ist. Dies stellt sicher, daß der Zwischenschritt kurz vor oder während dem Zeitintervall des Stop-Bits des ersten Datenworts endet. In Ausführungsalternativen kann die zweite Baudrate auch für Datenübertragungsgeschwindigkeiten von 2400 Baud und weniger auf einen ziemlich hohen Wert (beispielsweise 25000 Baud) gesetzt werden. Es sind dann zwei Zwischenschritte erforderlich, um das korrekte Start-Bit des nächsten (zweiten) übertragenen Datenworts zu finden.
  • In den bisher beschriebenen Ausführungsbeispielen wurde das von dem UART 34 während des Zwischenschritts eingelesene Datenwort verworfen. Bei Übertragungsgeschwindigkeiten von 9600 Baud und 4800 Baud enthält dieses Datenwort im wesentlichen Abtastwerte des letzten Datenbits oder Paritätsbits, von dem angenommen wurde, daß es ein Space-Bit sei. Bei Übertragungsgeschwindigkeiten von 2400 Baud und darunter können jedoch die Werte von sechs oder mehr übertragenen Datenbits aus dem empfangenen Datenwort abgeleitet werden. Dies beinhaltet insbesondere das sechste Datenbit, das Zeichen in Groß- und Kleinbuchstaben unterscheidet, und das achte Datenbit oder Paritätsbit. Diese Information kann in Ausführungsalternativen verwendet werden, um das erste empfangene Zeichen sofort als Echo zurückzusenden und/oder um Informationen über die während der Datenübertragung verwendete Paritätsart zu ermitteln. In manchen Ausführungsformen werden nur solche Baudraten als gültig erachtet, für die diese weiteren Informationen bestimmt werden können.
  • Beispielsweise könnte in einer Ausführungsalternative die zweite Baudrate auf 3200 Baud eingestellt werden, wenn das erste empfangene Datenwort 0 · 80 gewesen ist (was eine Übertragungsgeschwindigkeit von 2400 Baud anzeigt). Nachdem der zweite Mark-nach-Space-Übergang am Anfang von Zeitabschnitt 17 aufgetreten ist, werden Abtastwerte während der Zeitabschnitte 19/20, 25/26, 31/32, 37/38, 43/44, 49/50, 55/56, 61/62, 67/68 und 73/74 aufgenommen. Das während des Zwischenschritts empfangene Datenwort kann dann verwendet werden, um die Groß- oder Kleinschreibung des ersten gesendeten Datenworts (Autobaud-Zeichen) und den Wert des Paritätsbits gemäß der folgenden Tabelle zu bestimmen:
  • In diesem Fall ist es wichtig, geringe Zeitabweichungen zu berücksichtigen. Wenn die Daten ungefähr 2% schneller übermittelt werden würden und ein großes 'A' gesendet werden würde, wäre das Zwischen-Datenwort 0 · 60 statt 0 · 40 (oder 0 · E0 statt 0 · C0), weil die ansteigende Flanke von Datenbit 6 vor dem Abtastpunkt in Zeitabschnitt 55/56 auftreten würde. Eine ähnliche Verschiebung tritt beim Abtastpunkt 49/50 auf, wenn ein kleines 'a' ungefähr 2% langsamer gesendet wird. Dementsprechend werden mehrere Zwischen-Datenworte, die sich nur dahingehend unterscheiden, daß bestimmte Bitpositionen verschoben sind, als Ersatzdarstellungen für die in der obigen Tabelle angegebenen erwarteten Datenworte akzeptiert.
  • Bei den meisten bisher beschriebenen Ausführungsbeispielen war angenommen worden, daß die eintreffenden Daten entweder ein Format "8 Datenbits, keine Parität) oder ein Format "7 Datenbits, Space-Parität" aufweisen. Dies ist erforderlich, um sicherzustellen, daß der UART 34 bei Datenübertragungsgeschwindigkeiten von 9600 Baud und 4800 Baud einen Mark-nach-Space-Übergang zum Beginnen des Zwischenschritts erhält. Fig. 7 zeigt eine weitere Ausführungsform des Mikrocontrollers 22, die verwendet werden kann, um den Autobaud-Vorgang für die obigen und verschiedene weitere Übertragungseigenschaften durchzuführen.
  • In Fig. 7 weist der Prozessor 28 einen digitalen Eingangsanschluß 90 auf, mit dem das RXD-Signal auf der Leitung 46 verbunden ist. Ein Zeitgeber 92 ist im Mikrocontroller 22 vorhanden. Der Zeitgeber 92 kann vom Prozessor 28 über einen Steuerbus 94 programmiert werden. Wenn der einprogrammierte Zeitabschnitt abgelaufen ist, gibt der Zeitgeber 92 eine Zeitgeber-Unterbrechungsanforderung auf einer Leitung 96 für Zeitgeber-Unterbrechungsanforderungen aus.
  • Der digitale Eingangsanschluß 90 und der Zeitgeber 92 werden vom Prozessor 28 eingesetzt, um den Bitwert oder Pegel des RXD-Signals bei vorbestimmten Zeitpunkten abzutasten. Der Prozessor 28 kann somit den Wert des sechsten Datenbits (das groß- und kleingeschriebene Zeichen voneinander unterscheidet) und/ oder des achten Datenbits oder Paritätsbits ermitteln. Als Beispiel wird nun der Fall betrachtet, daß während des Zeitabschnitts 10 eine Datenübertragungsgeschwindigkeit von 9600 Baud ermittelt worden ist (Kasten 64 in Fig. 6A). Um den Wert des Paritätsbits (oder des achten Datenbits) zu bestimmen, stellt der Prozessor 28 den Zeitgeber 92 so ein, daß letzterer eine Unterbrechungsanforderung nach sieben weiteren Zeitabschnitten ausgibt. Die Unterbrechungsanforderung des Zeitgebers erfolgt somit in Zeitabschnitt 17, und der Prozessor 28 kann den Wert des Paritätsbits ermitteln, indem er das RXD-Signal am digitalen Eingangsanschluß 90 abtastet. Für andere Datenübertragungsgeschwindigkeiten werden andere Verzögerungszeiten verwendet.
  • Wie oben erwähnt, kann der zum Beginnen des Zwischenschritts erforderliche Mark-nach-Space-Übergang bei digitalen Datenübertragungen mit einer Geschwindigkeit von 9600 Baud oder 4800 Baud, 7 Datenbits und einer geraden Parität, ungeraden Parität oder Mark-Parität fehlen. Indem der Wert des Paritätsbits auf die im vorhergehenden Absatz beschriebene Weise bestimmt wird, kann der Prozessor 28 ermitteln, ob ein solcher Mark-nach-Space-Übergang stattgefunden hat. Wenn vom Prozessor 28 ein Space-Paritätsbit erkannt wird, ist der Zwischenschritt korrekt begonnen worden. Wenn der Prozessor 28 ein Mark-Paritätsbit erkennt, hat kein Mark-nach-Space-Übergang stattgefunden, so daß der Zwischenschritt nicht erforderlich ist. Der Prozessor 28 programmiert dann den UART 34 auf die ermittelte Baudrate um und gibt eine Unterbrechungsanforderung vom Typ C frei (ähnlich wie Kästen 74 und 76 in Fig. 6A, wodurch der Zwischenschritt übersprungen wird.
  • In weiteren Ausführungsalternativen wird die Information über die Paritätsbits der ersten beiden Datenwörter verwendet, um die Paritätseigenschaften der Übertragung zu ermitteln und den UART 34 entsprechend zu programmieren. In noch weiteren Ausführungsalternativen wird der Zeitgeber 92 auch verwendet, um die Groß- oder Kleinschreibung des ersten empfangenen Zeichens zu erkennen, so daß dieses sofort als Echo zurückgesendet werden kann. Die Abtastfähigkeiten des Mikrocontrollers 22 von Fig. 7 können ferner eingesetzt werden, um Baudraten aus einem sehr weiten Bereich zu bestimmen, die auf Grundlage des ersten gelesenen Datenworts allein nicht eindeutig identifiziert werden könnten.
  • In weiteren Ausführungsalternativen können alle vom UART 34 erzeugten Statusanzeigen berücksichtigt werden, wenn die Baudrate oder andere Übertragungseigenschaften bestimmt werden. Die Erfindung kann auch eingesetzt werden, um andere Baudraten oder andere Baudratenverhältnisse als die oben beschriebenen zu ermitteln. Insbesondere können alle in dieser Beschreibung angegebenen Baudraten mit zwei, vier oder irgendeiner anderen Zweierpotenz multipliziert werden. Die Erfindung ist nicht auf einen Einsatz bei Mobiltelefonen beschränkt, sondern sie kann statt dessen im Zusammenhang mit allen Arten serieller Datenübertragung zwischen Datenendgeräten (DTE = data terminal equipment) und Datenübertragungsgeräten (DCE = data communications equipment) verwendet werden.

Claims (11)

1. Verfahren zum automatischen Bestimmen der Baudrate einer seriellen Datenübertragung, wobei das Verfahren die folgenden Schritte aufweist:
a) Einstellen (50) einer Empfangseinrichtung (42) auf eine erste Baudrate,
b) Verarbeiten (65) eines von der Empfangseinrichtung (42) empfangenen ersten Datenworts, oder dieses ersten Datenworts und weiterer Informationen, um die Baudrate der Datenübertragung zu ermitteln,
c) wenn die ermittelte Baudrate sich von der ersten Baudrate unterscheidet, Ausführen mindestens eines Zwischenschritts, in dem die Empfangseinrichtung (42) auf eine weitere Baudrate eingestellt wird (68), die einer Abtastgeschwindigkeit entspricht, welche bewirkt, daß ein weiterer Abschnitt des ersten Datenworts in der seriellen Datenübertragung von der Empfangseinrichtung (42) als ein vollständiges Datenwort eingelesen wird, und, nachdem der mindestens eine Zwischenschritt ausgeführt worden ist, Einstellen (74) der Empfangseinrichtung (42) auf die ermittelte Baudrate, so daß die Empfangseinrichtung (42) den Anfang eines späteren Datenworts in der seriellen Datenübertragung findet und dieses spätere Datenwort korrekt einliest.
2. Verfahren nach Anspruch 1, bei dem Schritt b) den Schritt aufweist, das von der Empfangseinrichtung (42) empfangene erste Datenwort mit mindestens zwei vorbestimmten Werten zu vergleichen (64).
3. Verfahren nach Anspruch 1 oder Anspruch 2, bei dem die erste Baudrate die maximale Baudrate der seriellen Datenübertragung ist.
4. Verfahren nach einem der Ansprüche 1 bis 3, bei dem das spätere Datenwort in der seriellen Datenübertragung das nächste Datenwort nach dem ersten Datenwort in der seriellen Datenübertragung ist, wobei das erste Datenwort in der seriellen Datenübertragung teilweise oder vollständig dem ersten von der Empfangseinrichtung (42) empfangenen Datenwort entspricht.
5. Verfahren nach einem der Ansprüche 1 bis 4, bei dem die weitere Baudrate von der ermittelten Baudrate abhängt und schneller als die ermittelte Baudrate ist.
6. Verfahren nach einem der Ansprüche 1 bis 5, bei dem die weitere Baudrate entweder einer Abtastgeschwindigkeit entspricht, so daß höchstens zwei Bit der seriellen Datenübertragung von der Empfangseinrichtung (42) als ein vollständiges Datenwort eingelesen werden, oder weniger als 50% schneller als die ermittelte Baudrate ist.
7. Verfahren nach einem der Ansprüche 1 bis 6, ferner mit dem Schritt, einen Bitwert der seriellen Datenübertragung unabhängig von der Empfangseinrichtung (42) zu ermitteln.
8. Verfahren nach einem der Ansprüche 1 bis 7, ferner mit dem Schritt, jedes empfangene Datenwort als Echo zurückzusenden (82, 60), wobei das erste als Echo zurückgesendete Datenwort von dem zweiten übermittelten Datenwort abgeleitet ist.
9. Vorrichtung zum automatischen Bestimmen der Baudrate einer seriellen Datenübertragung, insbesondere unter Verwendung des Verfahrens nach einem der Ansprüche 1 bis 8, wobei:
- die Vorrichtung einen Prozessor (28) und eine Empfangseinrichtung (42) aufweist,
- der Prozessor (28) dazu eingerichtet ist, die Empfangseinrichtung (42) auf eine erste Baudrate einzustellen (50),
- der Prozessor (28) dazu eingerichtet ist, ein erstes von der Empfangseinrichtung (42) empfangenes Datenwort, oder dieses erste Datenwort und weitere Information, zu verarbeiten (65), um die Baudrate der Datenübertragung zu ermitteln,
- der Prozessor (28) dazu eingerichtet ist, wenn die ermittelte Baudrate sich von der ersten Baudrate unterscheidet, mindestens einen Zwischenschritt auszuführen, in dem die Empfangseinrichtung (42) auf eine weitere Baudrate eingestellt wird, die einer Abtastgeschwindigkeit entspricht, welche bewirkt, daß ein weiterer Abschnitt des ersten Datenworts in der seriellen Datenübertragung von der Empfangseinrichtung (42) als ein vollständiges Datenwort eingelesen wird, und, nachdem der mindestens eine Zwischenschritt ausgeführt worden ist, die Empfangseinrichtung (42) auf die ermittelte Baudrate einzustellen (74), so daß die Empfangseinrichtung (42) den Anfang eines späteren Datenworts in der seriellen Datenübertragung findet und dieses spätere Datenwort korrekt einliest.
10. Vorrichtung nach Anspruch 9, ferner mit einem von dem Prozessor (28) programmierbaren Zeitgeber (92), und bei der der Prozessor (28) einen Eingangsanschluß (90) zum Ermitteln eines Bitwerts der seriellen Datenübertragung unabhängig von der Empfangseinrichtung (42) zu einem durch den Zeitgeber (92) bestimmten Zeitpunkt aufweist.
11. Mobiltelefon (10) mit einer Vorrichtung nach Anspruch 9 oder Anspruch 10.
DE69702066T 1997-11-13 1997-11-13 Baudratendetektion bei serieller Datenübertragung Expired - Lifetime DE69702066T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP97119892A EP0918421B1 (de) 1997-11-13 1997-11-13 Baudratendetektion bei serieller Datenübertragung

Publications (2)

Publication Number Publication Date
DE69702066D1 DE69702066D1 (de) 2000-06-21
DE69702066T2 true DE69702066T2 (de) 2001-01-18

Family

ID=8227615

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69702066T Expired - Lifetime DE69702066T2 (de) 1997-11-13 1997-11-13 Baudratendetektion bei serieller Datenübertragung

Country Status (7)

Country Link
US (1) US6847615B1 (de)
EP (1) EP0918421B1 (de)
AU (1) AU743350B2 (de)
DE (1) DE69702066T2 (de)
DK (1) DK0918421T3 (de)
ES (1) ES2148892T3 (de)
WO (1) WO1999026384A1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678751B1 (en) * 1999-10-15 2004-01-13 Micro Motion, Inc. System for setting frame and protocol for transmission in a UART device
KR100525548B1 (ko) * 2000-12-29 2005-10-31 엘지전자 주식회사 범용 비동기화 송수신기의 전송률 검출회로
US7035595B1 (en) * 2002-01-10 2006-04-25 Berkana Wireless, Inc. Configurable wireless interface
US7076033B2 (en) * 2003-03-31 2006-07-11 Research In Motion Limited Bit rate matching system and method
US7415543B2 (en) * 2003-11-12 2008-08-19 Lsi Corporation Serial port initialization in storage system controllers
US20050207356A1 (en) * 2004-03-17 2005-09-22 Gross Lawrence C Jr Stand-alone device for determining communication parameters and channel configuration of an asynchronous serial channel using a user determined methodology
GB0414793D0 (en) * 2004-07-01 2004-08-04 Ttp Communications Ltd Determining characteristics of communications signals
US20070226377A1 (en) * 2006-02-09 2007-09-27 Dell Products L.P. Detecting parameters of a system UART and matching those parameters in a serial-over-LAN (SOL) UART
CN101645752B (zh) * 2008-08-08 2013-01-09 鸿富锦精密工业(深圳)有限公司 通信协议自动侦测系统及方法
KR101256942B1 (ko) * 2009-10-06 2013-04-25 한국전자통신연구원 직렬 버스 통신 방법 및 이를 위한 버스 인터페이스 장치
DE102013210182A1 (de) * 2013-05-29 2014-12-04 Robert Bosch Gmbh Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle
US9246534B2 (en) * 2014-02-19 2016-01-26 Texas Instruments Incorporated Controling Tx/Rx mode in serial half-duplex UART separately from host
KR102417980B1 (ko) * 2017-11-07 2022-07-07 에스케이하이닉스 주식회사 범용 비동기 송수신 부 및 이를 포함하는 메모리 컨트롤러 및 메모리 시스템
CN110414192B (zh) * 2019-06-14 2023-09-26 尚承科技股份有限公司 应用于安全制造的控管系统及其方法
CN112463696A (zh) * 2020-08-11 2021-03-09 上海麦腾物联网技术有限公司 一种串口波特率的自适应方法
CN112968752B (zh) * 2021-01-28 2023-01-24 歌尔科技有限公司 一种uart通信的波特率切换方法、装置及发起方终端
CN113037592A (zh) * 2021-03-16 2021-06-25 深圳国人无线通信有限公司 环境检测设备、动环监控系统及自动检测动环监控设备的通信波特率的方法
CN113141323A (zh) * 2021-03-22 2021-07-20 北京星网锐捷网络技术有限公司 基于串口的设备间通信方法及装置
CN114006842B (zh) * 2021-10-29 2023-03-10 北京中科昊芯科技有限公司 一种检测波特率的方法、装置、设备和介质
CN114866367B (zh) * 2022-04-13 2023-12-05 深圳市三旺通信股份有限公司 Can设备通信方法、装置、can光猫设备与介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4663766A (en) * 1984-10-10 1987-05-05 Paradyne Corporation Method of determining automatically the rate of data signals in a modem
US4816820A (en) * 1986-10-21 1989-03-28 Motorola, Inc. Radio communication receiver with apparatus for altering bit rate of the receiver
US5008902A (en) 1989-01-25 1991-04-16 International Business Machines Corp. Automatic baud rate detection
US5008903A (en) * 1989-05-25 1991-04-16 A.T. & T. Paradyne Adaptive transmit pre-emphasis for digital modem computed from noise spectrum
US5222081A (en) * 1991-06-28 1993-06-22 Universal Data Systems, Inc. Method of performing an autobaud function using a state flow machine
EP0544965A1 (de) * 1991-11-29 1993-06-09 International Business Machines Corporation Verfahren zur Einstellung der asynchronen Übertragungseigenschaften in einem SCC-beinhaltenden Übermittlungsgerät
US5627858A (en) * 1992-07-20 1997-05-06 Telefonaktiebolaget L M Ericsson Multi-channel autobauding circuit
DE4308418A1 (de) * 1993-03-17 1994-09-22 Elsa Gmbh Bitratenerkennung
EP0669738A3 (de) * 1993-12-29 1995-10-18 Ibm System und Verfahren zur automatischen Erfassung von Geschwindigkeit, Parität, und Zeichenlänge.
US5490209A (en) * 1994-02-09 1996-02-06 Harris Corporation Autobaud rate detection mechanism
US5654983A (en) 1994-06-10 1997-08-05 Hayes Microcomputer Products, Inc. Method and apparatus of operating data communications equipment in command mode and autobauding
US5982837A (en) * 1997-06-16 1999-11-09 Lsi Logic Corporation Automatic baud rate detector

Also Published As

Publication number Publication date
ES2148892T3 (es) 2000-10-16
AU743350B2 (en) 2002-01-24
EP0918421A1 (de) 1999-05-26
DE69702066D1 (de) 2000-06-21
US6847615B1 (en) 2005-01-25
DK0918421T3 (da) 2000-08-07
WO1999026384A1 (en) 1999-05-27
EP0918421B1 (de) 2000-05-17
AU1234299A (en) 1999-06-07

Similar Documents

Publication Publication Date Title
DE69702066T2 (de) Baudratendetektion bei serieller Datenübertragung
DE3889142T2 (de) Asynchrone Schnittstelle und Verfahren zur Datenkopplung zwischen einem Datenmodul und einem seriellen, asynchronen Pheripheriegerät.
DE2148906C2 (de) Schaltungsanordnung zur Übertragung von Daten zwischen einem Rechner und einer Vielzahl von Endgeräten
DE68916846T2 (de) Integriertes MODEM ohne speziell zugeordnete Steuerung.
DE1803780C3 (de) Schaltungsanordnung zur Abtastung von Zustanden in einer Fernmelde- oder Datenverarbeitungsanordnung
DE69330236T2 (de) Verfahren und Anordnung zur Verarbeitung von Modemsteuerung während Datenübertragung
DE19506303A1 (de) Einrichtung und Verfahren zum Konfigurieren eines Computersystems und eines Modems zur Verwendung in verschiedenen Ländern
DE102006004346A1 (de) Datenbusschnittstelle mit abschaltbarem Takt
DE10391056T5 (de) Zusatzgerät-Steuerschnittstelle
DE2334867A1 (de) Interface-anpassungsschaltung zur steuerung eines datenflusses
DE3884765T2 (de) Steuerschaltung zur Antennenauswahl.
DE69817925T2 (de) Chipkartenleser unter Verwendung eines schnellen Übertragungsprotokolls
DE69831986T2 (de) Verfahren zur Einstellung von Audio-Parametern in einem digitalen Signalverarbeitungsrechner und electronische Einrichtung
EP0345564B1 (de) Verfahren und Schaltungsanordnung zur Rückgewinnung eines Bittaktes aus einem empfangenen digitalen Nachrichtensignal
DE3941252A1 (de) Synchronisierschaltkreis fuer synchrone multiplexschaltungen
DE3004008A1 (de) Digitale abstimm-regelschaltung
DE3635106A1 (de) Kommunikationsverfahren und -system fuer serielle daten
DE2736967A1 (de) Asynchrone telemetrieschaltung
DE1474033A1 (de) Schaltungsanordnung zum Anschluss von datenverarbeitenden Systemen an Nachrichtensysteme
DE60125179T2 (de) System und verfahren zur adressierung eines zentralprozessoreinheit für multigeräten , und entsprechendes gerät
EP0511514B1 (de) Schaltungsanordnung zur Datenumsetzung
DE2707820A1 (de) Datenverarbeitungsanlage
EP1504538A1 (de) Sende- und Empfangsanordnung mit kanalorientierter Verbindung
DE2423195A1 (de) Wartungsvorrichtung
DE2517525B2 (de) Verfahren und Signalisierungsidentifizierer zum Erkennen von Fernmelde-Signalisierungskriterien

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: INFINEON TECHNOLOGIES AG, 85579 NEUBIBERG, DE