DE102008031357B4 - Verfahren und System zur seriellen Übertragung von Daten - Google Patents

Verfahren und System zur seriellen Übertragung von Daten Download PDF

Info

Publication number
DE102008031357B4
DE102008031357B4 DE102008031357.2A DE102008031357A DE102008031357B4 DE 102008031357 B4 DE102008031357 B4 DE 102008031357B4 DE 102008031357 A DE102008031357 A DE 102008031357A DE 102008031357 B4 DE102008031357 B4 DE 102008031357B4
Authority
DE
Germany
Prior art keywords
data
tester
phase
tested
under test
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.)
Active
Application number
DE102008031357.2A
Other languages
English (en)
Other versions
DE102008031357A1 (de
Inventor
Dirk Reymann
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.)
Sonova Consumer Hearing GmbH
Original Assignee
Sennheiser Electronic GmbH and Co KG
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 Sennheiser Electronic GmbH and Co KG filed Critical Sennheiser Electronic GmbH and Co KG
Priority to DE102008031357.2A priority Critical patent/DE102008031357B4/de
Priority to PCT/EP2009/058332 priority patent/WO2010000805A1/de
Priority to US13/001,374 priority patent/US8594166B2/en
Publication of DE102008031357A1 publication Critical patent/DE102008031357A1/de
Application granted granted Critical
Publication of DE102008031357B4 publication Critical patent/DE102008031357B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • H04L7/044Speed or phase control by synchronisation signals using special codes as synchronising signal using a single bit, e.g. start stop bit
    • 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
    • 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/0264Arrangements for coupling to transmission lines
    • H04L25/0292Arrangements specific to the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • H04L5/16Half-duplex systems; Simplex/duplex switching; Transmission of break signals non-automatically inverting the direction of transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • H04L7/0331Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop with a digital phase-locked loop [PLL] processing binary samples, e.g. add/subtract logic for correction of receiver clock

Abstract

System zur bi-direktionalen, seriellen Übertragung von Daten zwischen einem zu prüfenden Gerät (1) und einem Prüfgerät (2) bei einer Prüfung des zu prüfenden Gerätes (1), mit einem zu prüfenden Gerät (1) und einem Prüfgerät (2), die über eine elektrische Übertragungsleitung (3) und über eine elektrischen Masseleitung (4) miteinander verbindbar sind, wobei beide Geräte (1, 2) geeignet sind, Daten synchron mit einer vorgegebenen Taktfrequenz und -phase als Folgen erster und zweiter Spannungen, die jeweils einen ersten und zweiten Wert eines Bits repräsentieren, auf der elektrischen Übertragungsleitung (3) zu senden und zu empfangen, wobei ein Prüfgerät (2) zum Empfangen von Daten eine Spannung auf der elektrischen Übertragungsleitung (3) zu vorgegebenen Abtastphasen des Takts abtastet, um zu erkennen, ob die erste oder die zweite Spannung anliegt, wobei das zu prüfende Gerät (1, 2) zum Senden von Daten Folgen erster und zweiter Spannungen so erzeugt, dass zu den vorgegebenen Abtastphasen des empfangenden Geräts (1, 2) die erste oder die zweite Spannung auf der elektrischen Übertragungsleitung (3) anliegt, wobei das Prüfgerät (2) dazu ausgestaltet ist, eine Initialisierungsphase durch Senden einer DOORBELL-Nachricht oder einer RESET-Nachricht an das zu prüfende Gerät (1) einzuleiten, wobei das zu prüfende Gerät (1) dazu ausgestaltet ist, eine CLOCKSYNC-Nachricht an das Prüfgerät (2) nach Empfang der DOORBELL-Nachricht oder der RESET-Nachricht zu senden, wobei das zu prüfende Gerät (1) in der Initialisierungsphase dazu ausgestaltet ist, eine Folge alternierender erster und zweiter Spannungen als CLOCKSYNC-Nachricht auf der elektrischen Übertragungsleitung (3) zu übertragen, wobei nur das zu prüfende Gerät (1) dazu ausgestaltet ist, die Taktfrequenz und -Taktphase für die synchrone Datenübertragung vorzugeben, wobei das Prüfgerät (2) dazu ausgestaltet ist, die Taktfrequenz und -phase aus der Folge alternierender erster und zweiter Spannungen abzuleiten und sich auf diese Taktfrequenz und -phase zu synchronisieren, wobei in einer Datenübertragungsphase Daten in Datenpaketen, die mit einer kürzeren Folge alternierender erster und zweiter Spannungen beginnen, übertragen werden, und wobei das Prüfgerät (2) mit dieser Folge die abgeleitete Taktfrequenz und -phase nachkorrigiert.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur bi-direktionalen, seriellen Übertragung von Daten zwischen zwei Geräten über eine einzige elektrische Übertragungsleitung. Die Erfindung betrifft ferner ein entsprechendes Übertragungssystem und entsprechende Geräte.
  • Während der Entwicklung, Produktion oder Wartung elektronischer Geräte kann es notwendig sein, auf die Firmware und/oder interne Zustände des zu prüfenden Geräts lesend und/oder schreibend zugreifen zu können. Ein Beispiel wäre die Abfrage eines Akkumoduls nach Ladezustand, Seriennummer, einem Identifizierungskode oder ähnlichen Informationen. Ein weiteres Beispiel wäre die Konfiguration interner Parameter in einem A/D-Wandler-Bauteil. Dabei ist es aus Kostengründen in vielen Fällen nicht erwünscht, in dem zu prüfenden Gerät eine dedizierte Schnittstellenhardware für die Kommunikation mit einem Prüfgerät vorzusehen. Wünschenswert wäre die Möglichkeit eines generischen Datenaustauschs bei völligem Verzicht auf spezielle Schnittstellenhardware und mit nur geringen Anforderungen an die Rechenzeit und das Timing des zu prüfenden Geräts.
  • Eine bevorzugte Möglichkeit ist es, mit dem zu prüfenden Gerät über einen einzigen Controller-Pin, der ansonsten auch noch für andere Verwendungen, beispielsweise zur Implementierung eines Schalttasters, verwendet werden kann, seriell zu kommunizieren. Der zur Realisierung einer solchen Kommunikation und zur Synchronisation des Datenaustauschs notwendige Speicher- und Rechenkapazität in dem zu prüfenden Gerät sollte vorzugsweise möglichst gering sein.
  • Verfahren und Systeme zur seriellen Übertragung von Daten zwischen zwei oder mehr Geräten sind bekannt. Der von der Firma Dallas Semiconductor entwickelte Eindraht-Bus (im Englischen ”1-Wire”) beschreibt eine bi-direktionale, serielle Schnittstelle zur Datenübertragung über eine einzige elektrische Leitung. Der Eindraht-Bus kann in Netzwerken mit einem Master-Gerät und einem oder mehreren Slave-Geräten eingesetzt werden, wobei der Aufbau unterschiedlicher Netzwerktopologien möglich ist. Da der Eindraht-Bus keine separate elektrische Leitung für das Taktsignal verwendet, müssen Takt und Daten über die gleiche elektrische Leitung übertragen werden. Dies geschieht dadurch, dass das Master-Gerät einen Zyklus zum Schreiben oder Lesen eines einzigen Bits damit einleitet, dass es zunächst die auf der elektrischen Leitung anliegende Spannung (die sogenannte HI-Spannung) nach unten, d. h., auf die sogenannte LO-Spannung, zieht.
  • Im schreibenden Modus behält das Master-Gerät zum Schreiben einer binären '1' die LO-Spannung eine vorgegebene Zeit tWRITE-1 bei, bevor es die elektrische Leitung wieder auf die HI-Spannung freigibt. Zum Schreiben einer binären '0' gibt das Master-Gerät die elektrische Leitung bereits nach einer vorgegebenen Zeit tWRITE-0, die kürzer ist als tWRITE-1, wieder auf die HI-Spannung frei. Ein lesendes Slave-Gerät registriert die fallende Flanke des von dem Master-Gerät generierten Spannungsimpulses und liest nach einer vorgegebenen Verzögerungszeit tSAMPLE-S, die geeignet zwischen tWRITE-0 und tWRITE-1 liegt, die Spannung auf der elektrischen Leitung. Entspricht die von dem Slave-Gerät gelesene Spannung der HI-Spannung, so wurde eine binäre '0' erkannt, entspricht die gelesene Spannung der LO-Spannung, so wurde eine binäre '1' erkannt.
  • Im lesenden Modus gibt das Master-Gerät die elektrische Leitung nach einer vorgegebenen Zeit tREAD wieder auf die HI-Spannung frei. Ein schreibendes Slave-Gerät registriert die fallende Flanke des von dem Master-Gerät generierten Spannungsimpulses und zieht zum Schreiben einer binären '0' nach der vorgegebenen Zeit tREAD die auf der elektrischen Leitung anliegende Spannung auf die LO-Spannung. Zum Schreiben einer binären '1' macht ein schreibendes Slave-Gerät gar nichts, so dass auf der elektrischen Leitung wieder die HI-Spannung anliegt. Der Master liest nach einer vorgegebenen Verzögerungszeit tSAMPLE-M, die größer ist als tREAD, die Spannung auf der elektrischen Leitung. Entspricht die von dem Master-Gerät gelesene Spannung der HI-Spannung, so wurde eine binäre '0' erkannt, entspricht die gelesene Spannung der LO-Spannung, so wurde eine binäre '1' erkannt. Der Eindraht-Bus hat den Nachteil, dass die Slave-Geräte dedizierte Hardware (Verzögerungsglied, usw.) benötigen und sich auf das von dem Master-Gerät vorgegebene Timing synchronisieren müssen. Dies führt in den Slave-Geräten zu einem verhältnismäßig hohen Ressourcenbedarf für die Synchronisation.
  • Ein weiteres bekanntes serielles Bussystem ist das von der Firma Philips Semiconductors entwickelte I2C-System, das verwendet wird, um langsame Peripheriegeräte an die Hauptplatine eines Rechners, an ein eingebettetes System, an ein Mobiltelefon oder ein ähnliches Gerät anzuschließen. Das I2C-System hat den Nachteil, dass es zwei getrennte elektrische Leitungen zur Übertragung des Takts und der Daten benötigt.
  • Ein ähnliches System ist der von der Firma Motorola entwickelte SPI-Bus (vom Englischen ”Serial Peripheral Interface”), der eine synchrone serielle Übertragung von Daten zwischen einem Master-Gerät und einem oder mehreren Slave-Geräten ermöglicht. Der SPI-Bus hat jedoch den Nachteil, dass er insgesamt vier getrennte elektrische Leitungen zur Übertragung des Takts und der Daten verwendet.
  • WO 03/096036A1 zeigt ein System zur bi-direktionalen und synchronen Übertragung von Daten zwischen einem zu prüfenden Gerät und einem Prüfgerät.
  • US 2006/0039408A1 zeigt ein System zur bi-direktionalen seriellen Übertragung von Daten.
  • US 2004/0233917A1 zeigt ein Verfahren zur bi-direktionalen seriellen Kommunikation zwischen einem zu prüfenden Gerät und einem Prüfgerät.
  • Es ist somit Aufgabe der vorliegenden Erfindung, ein Verfahren zur bidirektionalen, seriellen Übertragung von Daten zwischen zwei Geräten, insbesondere zwischen einem zu prüfenden Gerät und einem Prüfgerät, vorzusehen, das nur eine einzige elektrische Übertragungsleitung zur Übertragung von Takt und Daten verwendet und das für die Synchronisation einen geringeren Bedarf an Ressourcen hat als vorbekannte Übertragungssysteme.
  • Diese Aufgabe wird durch Übertragungssystem nach Anspruch 1, durch ein Übertragungsverfahren nach Anspruch 6, sowie durch entsprechende Geräte nach Anspruch 7 und 8 gelöst.
  • Somit wird ein System zur bi-direktionalen, synchronen Übertragung von Daten zwischen einem zu prüfenden Gerät und einem Prüfgerät mit einem zu prüfenden Gerät und einem Prüfgerät, die über eine elektrische Übertragungsleitung und über eine elektrische Masseleitung miteinander verbindbar sind, vorgesehen. Die beiden Geräte sind geeignet, Daten synchron mit einer vorgegebenen Taktfrequenz und -phase als Folgen erster und zweiter Spannungen, die jeweils einen ersten und zweiten Wert eines Bits repräsentieren, auf der elektrischen Übertragungsleitung zu senden und zu empfangen. Zum Empfangen von Daten tastet ein empfangendes Gerät eine Spannung auf der elektrischen Übertragungsleitung zu vorgegebenen Abtastphasen des Takts ab, um zu erkennen, ob die erste oder die zweite Spannung anliegt. Zum Senden von Daten erzeugt ein sendendes Gerät Folgen erster und zweiter Spannungen so, dass zu den vorgegebenen Abtastphasen des empfangenden Geräts die erste oder die zweite Spannung auf der elektrischen Übertragungsleitung anliegt. Die Taktfrequenz und -phase wird von dem zu prüfenden Gerät vorgegeben und das Prüfgerät synchronisiert sich auf diese Taktfrequenz und -phase, wobei in einer Initialisierungsphase das zu prüfende Gerät eine Folge alternierender erster und zweiter Spannungen auf der elektrischen Übertragungsleitung überträgt und das Prüfgerät aus dieser Folge die Taktfrequenz und -phase ableitet.
  • Die Erfindung betrifft den Gedanken ein System zur bi-direktionalen, synchronen Übertragung von Daten zwischen einem zu prüfenden Gerät und einem Prüfgerät vorzusehen, bei dem die Verantwortlichkeit für die Definition und für das zur Verfügung stellen des Takts einzig und allein bei dem zu prüfenden Gerät liegt.
  • Dadurch dass das zu prüfende Gerät den Takt definiert und für die Datenübertragung zur Verfügung stellt, ist die Anforderung an die für die Kommunikation notwendigen Ressourcen in dem zu prüfenden Gerät vergleichsweise gering. Es muss lediglich sichergestellt sein, dass die für die Kommunikation notwendigen Routinen in dem zu prüfenden Gerät in einigermaßen gleichmäßigen Abständen aufgerufen werden. Damit kann beispielsweise ein in dem zu prüfenden Gerät schon vorhandener zyklischer Ablauf für die Generierung des Takts mitbenutzt werden.
  • Gemäß einem Aspekt der Erfindung sind die vorgegebenen Abtastphasen des zu prüfenden Geräts und des Prüfgeräts zueinander phasenverschoben. Dies hat den Vorteil, dass die Sendephasen und die korrespondierenden Empfangsphasen der beiden Geräte zueinander verschoben sind, wodurch die korrekte Datenerkennung verbessert wird.
  • Gemäß einem weiteren Aspekt der Erfindung liegen die Abtastphasen des zu prüfenden Geräts im Wesentlichen mittig zwischen den Abtastphasen des Prüfgeräts. Dies hat den Vorteil, dass die Sendephasen und die korrespondierenden Empfangsphasen der beiden Geräte im Wesentlichen gleichabständig zueinander verschoben sind, wodurch die korrekte Datenerkennung weiter verbessert wird.
  • Gemäß noch einem weiteren Aspekt der Erfindung erzeugt das sendende Gerät zum Senden von Daten Folgen erster und zweiter Spannungen so, dass in einem Phasenbereich um die vorgegebenen Abtastphasen des empfangenden Geräts herum die erste oder die zweite Spannung auf der elektrischen Übertragungsleitung anliegt. Dies hat den Vorteil, dass dem empfangenden Gerät auch bei einem Phasenjitter eine korrekte Datenerkennung ermöglicht wird, da die erste oder zweite Spannung nicht nur exakt zu der vorgegebenen Abtastphase auf der elektrischen Übertragungsleitung anliegt.
  • Gemäß einem weiteren Aspekt der Erfindung beträgt der Phasenbereich mindestens –20° bis +20°, vorzugsweise mindestens –30° bis +30°. Wenn die erste oder zweite Spannung in einem größeren Phasenbereich um die vorgegebenen Abtastphasen des empfangenden Geräts herum anliegt, hat dies den Vorteil, dass eine korrekte Datenerkennung auch bei einem entsprechend größeren Phasenjitter ermöglicht wird.
  • Gemäß noch einem weiteren Aspekt der Erfindung werden in einer Datenübertragungsphase Daten in Datenpaketen, die mit einer kürzeren Folge alternierender erster und zweiter Spannungen beginnen, übertragen und das Prüfgerät korrigiert mit dieser Folge die abgeleitete Taktfrequenz und -phase nach. Dadurch, dass das Prüfgerät seinen Protokolltakt, d. h., die Taktfrequenz und -phase, die es in der Initialisierungsphase aus der von dem zu prüfenden Gerät gesendeten Folge alternierender erster und zweiter Spannungen abgeleitet hat, laufend nachkorrigiert, kann sichergestellt werden, dass das Prüfgerät auch nach längerer Zeit noch synchron zu dem zu prüfenden Gerät läuft.
  • Gemäß einem weiteren Aspekt der Erfindung wird ein Verfahren zur bidirektionalen, synchronen Übertragung von Daten zwischen einem zu prüfenden Gerät und einem Prüfgerät, die über eine elektrische Übertragungsleitung und über eine elektrische Masseleitung miteinander verbindbar sind, vorgesehen. Die beiden Geräte sind geeignet, Daten synchron mit einer vorgegebenen Taktfrequenz und -phase als Folgen erster und zweiter Spannungen, die jeweils einen ersten und zweiten Wert eines Bits repräsentieren, auf der elektrischen Übertragungsleitung zu senden und zu empfangen. Zum Empfangen von Daten tastet ein empfangendes Gerät eine Spannung auf der elektrischen Übertragungsleitung zu vorgegebenen Abtastphasen des Takts ab, um zu erkennen, ob die erste oder die zweite Spannung anliegt. Zum Senden von Daten erzeugt ein sendendes Gerät Folgen erster und zweiter Spannungen so, dass zu den vorgegebenen Abtastphasen des empfangenden Geräts die erste oder die zweite Spannung auf der elektrischen Übertragungsleitung anliegt. Die Taktfrequenz und -phase wird von dem zu prüfenden Gerät vorgegeben und das Prüfgerät synchronisiert sich auf diese Taktfrequenz und -phase, wobei in einer Initialisierungsphase das zu prüfende Gerät eine Folge alternierender erster und zweiter Spannungen auf der elektrischen Übertragungsleitung überträgt und das Prüfgerät aus dieser Folge die Taktfrequenz und -phase ableitet.
  • Gemäß einem weiteren Aspekt der Erfindung wird ein zu prüfendes Gerät zur Verwendung in einem System zur bi-direktionalen, synchronen Übertragung von Daten zwischen dem zu prüfenden Gerät und einem Prüfgerät gemäß Anspruch 1 vorgesehen.
  • Gemäß noch einem weiteren Aspekt der Erfindung wird ein Prüfgerät zur Verwendung in einem System zur bi-direktionalen, synchronen Übertragung von Daten zwischen dem Prüfgerät und einem zu prüfenden Gerät gemäß Anspruch 1 vorgesehen.
  • Weitere Aspekte der Erfindung sind Gegenstand der Unteransprüche.
  • Die Vorteile und Ausführungsbeispiele der Erfindung werden nachstehend unter Bezugnahme auf die Zeichnungen näher erläutert.
  • 1 zeigt eine schematische Darstellung eines Systems zur seriellen Datenübertragung gemäß einem ersten Ausführungsbeispiel;
  • 2 zeigt eine schematische Darstellung des Timings der Datenübertragung gemäß dem ersten Ausführungsbeispiel;
  • 3 zeigt eine schematische Darstellung einer DOORBELL-Nachricht gemäß dem ersten Ausführungsbeispiel;
  • 4 zeigt eine schematische Darstellung der für die Datenübertragung vorgesehenen Datenpakete gemäß dem ersten Ausführungsbeispiel;
  • 5 zeigt eine schematische Darstellung der generellen Struktur der Nutzdaten gemäß dem ersten Ausführungsbeispiel;
  • 6 zeigt eine schematische Darstelllung der Struktur der Nutzdaten für das erweiterte Übertragungsprotokoll für die vorgesehenen Datenflusstypen.
  • 1 zeigt eine schematische Darstellung eines Systems zur seriellen Datenübertragung gemäß einem ersten Ausführungsbeispiel. Das System weist ein erstes elektronisches Gerät 1 auf, auf dessen Firmware und/oder interne Zustände ein Anwender, z. B., während der Entwicklung, Produktion oder Wartung, zugreifen möchte. Das erste elektronische Gerät 1 soll im Folgenden als zu prüfendes Gerät 1 bezeichnet werden. Zur Kommunikation mit dem zu prüfenden Gerät 1 ist ein zweites elektronisches Gerät 2 vorgesehen, das im Folgenden als Prüfgerät 2 bezeichnet wird. Das Prüfgerät 2 ist üblicherweise eine Art von Prüf- oder Wartungsschnittstelle. Das zu prüfende Gerät 1 und das Prüfgerät 2 sind über eine einzige elektrische Übertragungsleitung 3 – zusätzlich zu einer gemeinsamen Masseleitung 4 – direkt miteinander verbindbar. Es ist bevorzugt, dass die elektrische Übertragungsleitung 3 über einen einzigen Controller-Pin 5 mit dem zu prüfenden Gerät 1 verbindbar ist, wobei der Controller-Pin 5 des zu prüfenden Geräts 1 vorzugsweise für andere Verwendungen, beispielsweise zur Implementierung eines Schalttasters, verfügbar bleibt, wenn das zu prüfende Gerät 1 und das Prüfgerät 2 nicht miteinander verbunden sind.
  • Architektur
  • Im verbundenen Zustand bildet die Verbindung zwischen dem zu prüfenden Gerät 1 und dem Prüfgerät 2 eine reine Punkt-zu-Punkt-Verbindung, d. h., außer zwischen diesen beiden Geräten gibt es keinen weiteren Netzwerkbetrieb und keine Datenvermittlung zu weiteren Geräten.
  • Die Kommunikation zwischen dem zu prüfenden Gerät 1 und der Prüfgerät 2 ist eine serielle, bi-direktionale, Halbduplex-Übertragung. Bestimmte Aufgaben, die für die Übertragung von Daten über die elektrische Übertragungsleitung 3 notwendig sind, sind jeweils dem zu prüfenden Gerät 1 oder dem Prüfgerät 2 zugeordnet.
  • Das zu prüfende Gerät 1 kann man sich als eine Art Server vorstellen. Normalerweise, aber nicht notwendigerweise, enthält das zu prüfende Gerät 1 die Informationen, die für den Anwender von Interesse sind, und es führt auf Anfrage des Anwenders entsprechende Aktionen aus. Gemäß der Erfindung definiert das zu prüfende Gerät 1 den Referenztakt und stellt die Taktfrequenz und -phase für die synchrone Datenübertragung zur Verfügung.
  • Dadurch dass das zu prüfende Gerät 1 den Takt definiert und für die Datenübertragung zur Verfügung stellt, ist die Anforderung an die für die Kommunikation notwendigen Ressourcen in dem zu prüfenden Gerät 1 vergleichsweise gering. Es muss lediglich sichergestellt sein, dass die für die Kommunikation notwendigen Routinen in dem zu prüfenden Gerät 1 in einigermaßen gleichmäßigen Abständen aufgerufen werden. Damit kann beispielsweise ein in dem zu prüfenden Gerät 1 schon vorhandener zyklischer Ablauf für die Generierung des Takts mitbenutzt werden.
  • Das Prüfgerät 2 verhält sich bezüglich der Synchronisation eher wie ein Client, d. h., es synchronisiert sich auf die Taktfrequenz und -phase, die von dem zu prüfenden Gerät 1 vorgegeben wird. Das Prüfgerät 2 sendet Anfragen an das zu prüfende Gerät 1 und es empfängt entsprechende Antworten. Typischerweise stellt das Prüfgerät 2 auch eine Benutzerschnittstelle 6 für den Anwender zur Verfügung. In diesem Fall bildet das Prüfgerät 2 für den Anwender die Schnittstelle zum Zugriff auf das zu prüfende Gerät 1 über die elektrische Übertragungsleitung 3.
  • Es sollte erwähnt werden, dass die beschriebene Asymmetrie zwischen dem zu prüfenden Gerät 1 und dem Prüfgerät 2 im Wesentlichen darin begründet ist, dass die Verantwortlichkeit für die Definition und für das zur Verfügung stellen des Takts einzig und allein bei dem zu prüfenden Gerät 1 liegt. Jedes der beiden Geräte, d. h., sowohl das zu prüfende Gerät 1 als auch das Prüfgerät 2, kann jedoch Anfragen senden und auf eingehende Anfragen antworten.
  • OSI-Schicht 1: Bitübertragungsschicht
  • Die physikalische Verbindung zwischen dem zu prüfenden Gerät 1 und dem Prüfgerät 2 ist eine einzige elektrische Übertragungsleitung 3 – zusätzlich zu einer gemeinsamen Masseleitung 4. Über die elektrische Übertragungsleitung 3 können binäre Werte in Form zweier unterschiedlich großer Spannungen übertragen werden. Dabei repräsentiert die höhere der beiden Spannungen (im Folgenden als HI-Spannung bezeichnet) eine binäre '0' und die niedrigere der beiden Spannungen (im Folgenden als LO-Spannung bezeichnet) eine binäre '1'.
  • Diese Übertragung binärer Werte in Form zweier unterschiedlich großer Spannungen wird vorzugsweise dadurch realisiert, dass sowohl in dem zu prüfenden Gerät 1 als auch in dem Prüfgerät 2 ein Transistor mit ”offenem Kollektor” verwendet wird. Hierbei bilden die Kollektoren der Transistoren jeweils die Ausgänge, über die die beiden Geräte, d. h., das zu prüfende Gerät 1 und das Prüfgerät 2, miteinander verbunden werden. Die Emitter der Transistoren sind jeweils mit Masse verbunden. Beide Transistoren sind in ihrem nicht-aktiven Zustand ”offen”, d. h., der Ausgang (Kollektor) ist nicht mit Masse verbunden, während sie in ihrem aktiven Zustand ”geschlossen”, d. h., der Ausgang (Kollektor) ist mit Masse verbunden, sind.
  • Sind sowohl der Transistor in dem zu prüfenden Gerät 1 als auch der Transistor in dem Prüfgerät 2 nicht-aktiv (”offen”), liegt auf der elektrischen Übertragungsleitung 3 die HI-Spannung an, die mittels eines Hochziehwiderstands RHOCH, der in dem zu prüfenden Gerät 1 eingebaut ist, durch eine Busspannung VBUS erzeugt wird. Vorzugsweise weist der Hochziehwiderstand RHOCH des zu prüfenden Geräts 1 einen Widerstandswert auf, der zwischen einem minimalen Widerstandswert von 25 kΩ und einem maximalen Widerstandswert von 50 kΩ liegt. Die Busspannung VBUS sollte vorzugsweise zwischen einem minimalen Spannungswert von 2.0 V und einem maximalen Spannungswert von 5.0 V liegen.
  • Will eines der beiden Geräte, d. h., das zu prüfende Gerät 1 oder das Prüfgerät 2, Daten übertragen, so zieht es die Spannung auf der elektrischen Übertragungsleitung 3 durch ”Schließen” des Transistors, durch Verbinden des Ausgangs (Kollektor) mit Masse, aktiv auf die LO-Spannung.
  • Das Prüfgerät 2 weist einen Herunterziehwiderstand RHERUNTER auf, um eine definierte elektrische Spannung, vorzugsweise die LO-Spannung, zu erzeugen, wenn kein zu prüfendes Gerät 1 mit dem Prüfgerät 2 verbunden ist. Vorzugsweise weist der Herunterziehwiderstand RHERUNTER einen minimalen Widerstandswert von 1 MΩ auf.
  • Die Länge der elektrischen Übertragungsleitung 3 und damit ihre elektrische Kapazität wird begrenzt durch die minimale Anstiegszeit, die eine stabile Erkennung der Spannungszustände ermöglicht. Vorzugsweise ist die maximale Kapazität zwischen den Komponenten des Übertragungssystems so aufgeteilt, dass das zu prüfende Gerät 1 einen maximalen Kapazitätswert von 100 pF (Pico-Farad), das Prüfgerät 2 einen maximalen Kapazitätswert von 50 pF und die elektrischen Übertragungsleitung 3 eine maximalen Kapazitätswert von 100 pF aufweist. Es ist weiterhin bevorzugt, dass das zu prüfende Gerät 1 seine interne Ausgangs-Kapazität in Verbindung mit einer geringeren Taktgeschwindigkeit über den vorgegebenen maximalen Kapazitätswert von vorzugsweise 100 pF erhöhen kann.
  • Die logische Zuordnung und die Erkennungstoleranzen sind vorzugsweise so, dass die niedrigere Spannung, d. h., die LO-Spannung, erkannt wird, wenn die Spannung auf der elektrischen Übertragungsleitung 3 einen Wert kleiner als 1.0 V aufweist; einer Spannung, die diese Anforderung erfüllt, ist der binäre Wert '1' zugeordnet. Die höhere Spannung, d. h., die HI-Spannung, wird vorzugsweise erkannt, wenn die Spannung auf der elektrischen Übertragungsleitung 3 einen Wert größer als 0.9·VBUS aufweist; einer Spannung, die diese Anforderung erfüllt, ist der binäre Wert '0' zugeordnet.
  • Der Takt wird durch das zu prüfende Gerät 1 festgelegt und von diesem für die synchrone Übertragung der Daten zur Verfügung gestellt. Das zu prüfende Gerät 1 kann einen beliebigen Takt innerhalb eines vorgegebenen Bereichs, welcher vorzugsweise von einem Minimalwert von 1000 Bits pro Sekunde (bps) bis zu einem Maximalwert von 5000 bps reicht, auswählen. Der zulässige Phasenjitter liegt vorzugsweise zwischen –30° und +30°. Das Prüfgerät 2 synchronisiert sich auf die von dem zu prüfenden Gerät 1 vorgegebene Taktfrequenz und -phase. Das zu prüfende Gerät 1 kann den Takt nur ändern, wenn das Prüfgerät 2 nicht synchronisiert ist, d. h., wenn noch keine Verbindung zwischen dem zu prüfenden Gerät 1 und dem Prüfgerät 2 aufgebaut wurde oder wenn die Verbindung zwischen dem zu prüfenden Gerät 1 und dem Prüfgerät 2 durch eine RESET-Nachricht beendet wurde und noch keine neue CLOCKSYNC-Nachricht gesendet wurde (siehe unten).
  • 2 eine schematische Darstellung des Timings der Datenübertragung gemäß dem ersten Ausführungsbeispiel. Der durch das zu prüfende Gerät 1 festgelegte Takt 11 bildet sowohl für das sendende als auch für das empfangende Gerät die Referenz für die Übertragung von Daten. Dabei können innerhalb einer Phase von 360° jeweils zwei Bit gesendet bzw. empfangen werden.
  • Gemäß der Erfindung ist das Timing des Prüfgeräts 2 gegenüber dem Timing des zu prüfenden Geräts 1 um vorzugsweise 90° phasenverschoben, d. h., zwischen dem Zeitpunkt, an dem das sendende Gerät durch Setzen der Spannung auf der elektrischen Übertragungsleitung 3 ein Bit setzt (die HI-Spannung entspricht einer binären '0', die LO-Spannung entspricht einer binären '1') und dem Zeitpunkt, an dem das empfangende Gerät durch Abtasten der Spannung auf der elektrischen Übertragungsleitung 3 das Bit liest, liegt vorzugsweise eine Phase von 90°.
  • In dem in 2 zur Veranschaulichung des Timings gewählten ersten Beispiel sendet das zu prüfende Gerät 1 durch Erzeugen eines Spannungsverlaufs 12 auf der elektrischen Übertragungsleitung 3 ein Bitmuster ”01001” an das Prüfgerät 2. Der Spannungsverlauf 12 weist Spannungsübergänge (von der HI- zur LO-Spannung zum Setzen einer binären '1' nach einer binären '0', und umgekehrt) bei 180°, 360° und 720° Phase auf. Bei 0° und 540° Phase hält das zu prüfende Gerät 1 die Spannung konstant, da hier jeweils zwei gleichwertige Bits hintereinander gesendet werden. Das Prüfgerät 2 tastet die Spannung auf der elektrischen Übertragungsleitung 3 jeweils bei einer Phase von 90°, 270°, 450°, 630°, usw. ab, um die von dem zu prüfenden Gerät 1 gesendeten Bits zu lesen. Um eine korrekte Erkennung der Daten durch das Prüfgerät 2 zu ermöglichen, muss sichergestellt sein, dass zu den Abtastzeitpunkten des Prüfgeräts 2 die gewünschte HI- oder LO-Spannung auf der elektrischen Übertragungsleitung 3 anliegt, d. h., die durch das zu prüfende Gerät 1 erzeugten Spannungsübergänge müssen zu den Abtastzeitpunkten des Prüfgeräts 2 abgeschlossen sein. Um auch bei einen zulässigen Phasenjitter von vorzugsweise –30° bis +30° eine korrekte Datenerkennung zu ermöglichen, muss die gewünschte HI- oder LO-Spannung auf der elektrischen Übertragungsleitung 3 in einem entsprechenden Phasenbereich um die Abtastzeitpunkte des Prüfgeräts 2 herum anliegen. Spannungsübergänge sollten daher nur außerhalb dieses Bereichs stattfinden.
  • In dem zweiten in 2 gezeigten Beispiel sendet das Prüfgerät 2 durch Erzeugen eines Spannungsverlaufs 13 auf der elektrischen Übertragungsleitung 3 ein Bitmuster ”001101” an das zu prüfende Gerät 1. Der Spannungsverlauf 13 weist Spannungsübergänge bei 270°, 630° und 810° Phase auf. Bei 90° und 450° Phase hält das Prüfgerät 2 die Spannung konstant, da hier jeweils zwei gleichwertige Bits hintereinander gesendet werden. Das zu prüfende Gerät 1 tastet die Spannung auf der elektrischen Übertragungsleitung 3 jeweils bei einer Phase von 0°, 180°, 360°, 540°, usw. ab, um die von dem Prüfgerät 2 gesendeten Bits zu lesen. Um eine korrekte Erkennung der Daten durch das zu prüfende Gerät 1 zu ermöglichen, muss sichergestellt sein, dass zu den Abtastzeitpunkten des zu prüfenden Geräts 1 die gewünschte HI- oder LO-Spannung auf der elektrischen Übertragungsleitung 3 anliegt, d. h., die durch das Prüfgerät 2 erzeugten Spannungsübergänge müssen zu den Abtastzeitpunkten des zu prüfenden Geräts 1 abgeschlossen sein. Um auch bei einen zulässigen Phasenjitter von vorzugsweise –30° bis +30° eine korrekte Datenerkennung zu ermöglichen, muss die gewünschte HI- oder LO-Spannung auf der elektrischen Übertragungsleitung 3 in einem entsprechenden Phasenbereich um die Abtastzeitpunkte des zu prüfenden Geräts 1 herum anliegen. Spannungsübergänge sollten daher nur außerhalb dieses Bereichs stattfinden.
  • Tabelle 1 verdeutlicht noch einmal zusammenfassend das Timing für die Datenübertragung von dem zu prüfenden Gerät 1 zu dem Prüfgerät 2. Tabelle 1: Timing für die Datenübertragung von dem zu prüfenden Gerät 1 zu dem Prüfgerät 2.
    Phase Zu prüfendes Gerät 1 Prüfgerät 2
    Bit setzen
    90° Abtasten
    180° Bit setzen
    270° Abtasten
  • Tabelle 2 verdeutlicht noch einmal zusammenfassend das Timing für die Datenübertragung von dem Prüfgerät 2 zu dem zu prüfenden Gerät 1. Tabelle 2: Timing für die Datenübertragung von dem Prüfgerät 2 zu dem zu prüfenden Gerät 1.
    Phase Zu prüfendes Gerät 1 Prüfgerät 2
    Abtasten
    90° Bit setzen
    180° Abtasten
    270° Bit setzen
  • Da das zu prüfende Gerät 1 gemäß der Erfindung sowohl die Taktfrequenz als auch die Phase definiert, ist es nicht notwendig, dass sich das zu prüfende Gerät 1 sich auf die Übertragung des Prüfgeräts 2 synchronisiert. Es liegt in der Verantwortung des Prüfgeräts 2, das richtige Signal zur richtigen Zeit zur Verfügung zu stellen. Dies führt bezüglich der Synchronisation zu einer erheblichen Aufwandsreduktion auf Seiten des zu prüfenden Geräts 1.
  • Zurücksetzen einer Verbindung (RESET-Nachricht)
  • Um eine Verbindung zurückzusetzen, beispielsweise falls die Schnittstelle nicht länger gebraucht wird oder falls die Synchronisation verloren gegangen ist, kann jedes der beiden Geräte, d. h., sowohl das zu prüfende Gerät 1 als auch das Prüfgerät 2, eine RESET-Nachricht senden. Dadurch wird alle Taktinformation in dem Prüfgerät 2 gelöscht.
  • Falls der Controller-Pin 5 des zu prüfenden Geräts 1 noch für andere Verwendungen, beispielsweise zur Implementierung eines Schalttasters, verwendet wird, kann das zu prüfende Gerät 1 den Controller-Pin 5 auf seine ursprüngliche Funktion zurücksetzten, oder aber direkt durch das Senden einer CLOCKSYNC-Nachricht reagieren.
  • Eine RESET-Nachricht ist eine andauernde LO-Spannung auf der elektrischen Übertragungsleitung 3, die länger ist als das längste mögliche Paket ist. Wenn das Prüfgerät 2 den Takt des zu prüfenden Geräts 1 kennt, reicht eine 200 Bit lange LO-Spannung typischerweise als RESET-Nachricht aus. Arbeitet das zu prüfende Gerät 1 beispielsweise mit einen Takt von 2500 bps und ist dieser Takt dem Prüfgerät 2 bekannt, so reicht es typischerweise aus, eine 80 ms lange LO-Spannung als RESET-Nachricht zu übertragen.
  • Wenn das Prüfgerät 2 den Takt des zu prüfenden Geräts 1 nicht kennt, muss der langsamste mögliche Takt angenommen werden. Bei einem Minimalwert des Takts von vorzugsweise 1000 bps sollte die Länge tRESET der RESET-Nachricht größer oder gleich einer minimalen Länge von 200 ms sein.
  • Es soll sichergestellt sein, dass das zu prüfende Gerät 1 tatsächlich in der Lage ist, eine RESET-Nachricht zu erkennen. Dies ist gewöhnlich der Fall, wenn die RESET-Nachricht an Stelle anderer, der Erfindung entsprechender Datenpakete gesendet wird. Wenn die Synchronisation vorher verloren gegangen war und es dem Prüfgerät 2 nicht bekannt ist, ob das zu prüfende Gerät 1 zum Empfang eingehender Datenpakete bereit ist, dann soll die RESET-Nachricht auf das Doppelte ihrer ursprünglichen Länge tRESET verlängert werden. Auf diese Weise kann das zu prüfende Gerät 1 die RESET-Nachricht erkennen, selbst wenn keine Kollisionserkennung implementiert ist.
  • Anfrage zur Synchronisation (DOORBELL-Nachricht)
  • Um das zu prüfende Gerät 1 zu veranlassen, seinen Takt für die Synchronisation zur Verfügung zu stellen, sendet das Prüfgerät 2 eine sogenannte DOORBELL-Nachricht. Dies kann auch notwendig sein, um die ursprüngliche Funktion des Controller-Pins 5, über welchen das zu prüfende Gerät 1 über die elektrische Übertragungsleitung 3 mit dem Prüfgerät 2 verbunden ist, zu deaktivieren, falls der Controller-Pin 5 in dem zu prüfenden Gerät 1 noch für andere Verwendungen, beispielsweise zur Implementierung eines Schalttasters, verwendet wird.
  • Es sei angemerkt, dass das zu prüfende Gerät 1 eine DOORBELL-Nachricht ignorieren kann und von sich aus eine CLOCKSYNC-Nachricht direkt nach einer RESET-Nachricht senden kann.
  • 3 zeigt eine schematische Darstellung einer DOORBELL-Nachricht gemäß dem ersten Ausführungsbeispiel. Die DOORBELL-Nachricht setzt sich zusammen aus einer RESET-Nachricht 21, d. h., einer andauernden LO-Spannung mit einer Länge tRESET (siehe oben), gefolgt von fünf aufeinanderfolgenden LO-Impulsen 22. Die fünf aufeinanderfolgenden LO-Impulse 22 haben jeweils eine Länge tPULSE, die vorzugsweise zwischen einer minimalen Länge von 9 ms und einer maximalen Länge von 11 ms liegt. Die RESET-Nachricht 21 und die fünf aufeinanderfolgenden LO-Impulse 22 sind jeweils durch HI-Impulse 23 getrennt, deren Länge tPAUSE vorzugsweise 2 ms beträgt.
  • Synchronisierung (CLOCKSYNC-Nachricht)
  • Um die Taktfrequenz und -phase dem Prüfgerät 2 zur Verfügung zu stellen, überträgt das zu prüfende Gerät 1 eine sogenannte CLOCKSYNC-Nachricht (Initialisierungsphase). Dies geschieht üblicherweise nachdem das zu prüfende Gerät 1 eine von dem Prüfgerät 2 gesendete DOORBELL-Nachricht empfangen hat oder (optional) direkt nach einer RESET-Nachricht.
  • Die CLOCKSYNC-Nachricht ist eine Sequenz von alternierenden LO- und HI-Spannungen von der Länge eines Datenpakets. (Siehe OSI-Schicht 2 für die Definition eines Datenpakets.)
  • Das Prüfgerät 2 analysiert das Bitmuster der CLOCKSYNC-Nachricht und setzt seinen eigenen Protokolltakt entsprechend. Um einen möglichen Drift der Taktfrequenz und/oder -phase zu kompensieren, sollte das Prüfgerät 2 vorzugsweise auch die Signalflanken derjenigen Daten auswerten, die es während der späteren, regulären Datenübertragung (Datenübertragungsphase) von dem zu prüfenden Gerät 1 empfängt, um auf diese Weise seinen Protokolltakt laufend nachzukorrigieren. Auf diese Weise kann sichergestellt werden, dass das Prüfgerät 2 auch nach längerer Zeit noch synchron zu dem zu prüfenden Gerät 1 läuft.
  • Da der Phasenjitter des zu prüfenden Geräts 1 vorzugsweise bis zu ±30° betragen darf, sollte das Prüfgerät 2 das Nachkorrigieren seines Protokolltakts (Taktfrequenz und/oder -phase) vorzugsweise unter Verwendung einer geeigneten Tiefpassfilterung ausführen.
  • Um den Prozess der Synchronisation für das Prüfgerät 2 zu vereinfachen, beginnt jedes Datenpaket mit einem 16 Bit langen SYNC-Datenwort alternierender LO- und HI-Spannungen, d. h., mit einem Bitmuster ”1010 1010 1010 1010” = 0x5555 (bzw. ”1010 1010 1010 1011” = 0xD555 (siehe unten)).
  • OSI-Schicht 2: Sicherunqsschicht
  • Format der Datenpakete
  • Das Übertragungsverfahren gemäß der Erfindung stellt in der aktuellen Version auf den OSI-Schichten 2 bis 6 zwei verschiedene Protokoll-Varianten zur Verfügung.
  • Bei dem vereinfachten Übertragungsprotokoll werden Informationen in Datenpaketen fester Länge von jeweils 64 Bit übertragen. Seine Aufgabe ist es, eine Kommunikation zwischen dem einem zu prüfenden Gerät 1 und einem Prüfgerät 2 in Situation zu ermöglichen, in denen die zur Realisierung einer solchen Kommunikation und zur Synchronisation des Datenaustauschs notwendige Speicher- und Rechenkapazität in dem zu prüfenden Gerät 1 extrem kritisch ist. Das vereinfachte Übertragungsprotokoll bietet zwar nur eine reduzierte Funktionalität, die Anforderungen an die Speicher- und Rechenkapazität in dem zu prüfenden Gerät 1 sind aber dafür sehr gering. In einer beispielhaften Referenzimplementierung etwa liegt der Speicherbedarf bei ungefähr 300 Byte Festwertspeicher (ROM) und ungefähr 20 Byte Speicher mit wahlfreiem Zugriff (RAM).
  • Das erweiterte Übertragungsprotokoll verwendet Datenpakete von 144 Bit Länge. Gegenüber dem vereinfachten Übertragungsprotokoll bietet das erweiterte Übertragungsprotokoll eine größere Funktionalität, eine größere Robustheit und eine etwas schnellere Datenübertragung. Dafür sind aber auch die Anforderungen an die Speicher- und Rechenkapazität in dem zu prüfenden Gerät 1 höher. In einer beispielhaften Referenzimplementierung etwa liegt der Speicherbedarf im Bereich von ungefähr 600 bis 1500 Byte Festwertspeicher (ROM) und im Bereich von ungefähr 20 bis 250 Byte Speicher mit wahlfreiem Zugriff (RAM).
  • Es sei erwähnt, dass ein zu prüfendes Gerät 1 gemäß der Erfindung nicht notwendigerweise beide Protokoll-Varianten unterstützen muss. So kann es beispielsweise sein, dass ein zu prüfendes Gerät 1 aufgrund geringer Speicher- und Rechenkapazität nur das vereinfachte Übertragungsprotokoll implementiert. Ein leistungsfähigeres zu prüfendes Gerät 1 könnte beide Protokoll-Varianten oder auch nur das erweiterte Übertragungsprotokoll implementieren.
  • Im Folgenden werden die beiden Protokoll-Varianten gemäß der Erfindung detailiert beschrieben. Sofern in der Beschreibung nicht explizit erwähnt wird, für welche Protokoll-Variante sie gilt, gilt die Beschreibung sowohl für das vereinfachte als auch für das erweiterte Übertragungsprotokoll.
  • 4 zeigt eine schematische Darstellung der für die Datenübertragung vorgesehenen Datenpakete gemäß dem ersten Ausführungsbeispiel. Jedes Datenpaket beginnt mit einem 16 Bit langen SYNC-Datenwort 101, 101', das dem Prüfgerät 2 eine einfache Synchronisation und Nachregelung auf den Takt des zu prüfenden Geräts 1 ermöglicht (siehe oben). Bei dem erweiterten Protokoll-Variante hat das SYNC-Datenwort 101 den Wert ”1010 1010 1010 1010” = 0x5555 bei der vereinfachten Protokoll-Variante hat das SYNC-Datenwort 101' den Wert ”1010 1010 1010 1011” = 0xD555.
  • An das SYNC-Datenwort 101 anschließend folgt bei dem erweiterten Übertragungsprotokoll ein 112 Bit langes Nutzdatenfeld 102, beim vereinfachten Übertragungsprotokoll ist das auf das SYNC-Datenwort 101' folgende Nutzdatenfeld 102' nur 32 Bit lang. Die letzten 16 Bit eines Datenpakets bildet beim erweiterten Übertragungsprotokoll ein CRC-Prüfwert 103 (vom Englischen ”cyclic redundancy check”), d. h., ein Wert, der bei einer zyklischen Redundanzprüfung, die hier nur auf den Nutzdaten ausgeführt wird, berechnet wird. Beim vereinfachten Übertragungsprotokoll wird statt des CRC-Prüfwerts 103 eine einfache arithmetische Prüfsumme 103' der ersten und der zweiten Hälfte der Nutzdaten (jeweils 16 Bit) verwendet.
  • Das zu prüfende Gerät 1 entscheidet selbstständig, welches Protokoll es verwendet und das Prüfgerät 2 muss mit demselben Protokoll antworten. Das Protokoll darf während einer aktiven Verbindung nicht geändert werden. Beide Varianten des Protokolls, d. h., das erweiterte Übertragungsprotokoll und das vereinfachte Übertragungsprotokoll, können von dem Prüfgerät 2 durch die geringfügig unterschiedlichen SYNC-Datenworte 101, 101' unterschieden werden.
  • Verwürfelung
  • Um die Wahrscheinlichkeit zu verringern, dass in den Nutzdaten 102 oder in dem CRC-Prüfwert 103 längerer Sequenzen aufeinanderfolgender Nullen oder Einsen auftreten, können die Nutzdaten 102 und der CRC-Prüfwert 103 beim erweiterten Übertragungsprotokoll verwürfelt werden. Die Verwürfelungsfunktion ist eine einfache Byte-weise XOR-Verknüpfung mit dem Wert ”0000 1111” = 0xF0.
  • Bit-Reihenfolge
  • Als Datenformat wird das sogenannte ”Little-Endian”-Format verwendet, bei dem für ein aus mehr als einem Byte bestehendes Datenwort das am wenigsten signifikante Byte zuerst kommt. Innerhalb eines Bytes kommt das niedrigstwertige Bit zuerst. Ein 2 Byte (16 Bit) langes Datenwort 0x1234 würde damit als eine Folge von Bits in der Reihenfolge ”0010 1100 0100 1000” (von links nach rechts) übertragen werden. Unter Berücksichtigung der Verwürfelung beim erweiterten Übertragungsprotokoll ergäbe sich für die resultierende Bit-Folge ”0010 0011 0100 0111”.
  • Zyklische Redundanzprüfung (CRC)
  • Das bei dem erweiterten Übertragungsprotokoll für die zyklische Redundanzprüfung verwendete Polynom ist x16 + x15 + x12 + x7 + x6 + x4 + x3 + 1.
  • Dieses Polynom ist nahezu optimal für Nachrichten von bis zu 135 Bit Länge, für längere Nachrichten ist es jedoch nicht geeignet (siehe auch: Koopman und Chakravarty, ”Cyclic Redundancy Code (CRC) Polynominal Selection for Embedded Networks”, Proceedings of International Conference an Dependable Systems and Networks, Florence, Italy, 2004). Für zukünftige Versionen des erweiterten Übertragungsprotokolls kann daher die Verwendung anderer Polynome erforderlich sein. Vor der Berechnung des CRC-Prüfwertes 103 sollte das CRC-Register mit einem Wert 0x5555 vorgeladen werden.
  • Kollisionserkennung
  • Während einer laufenden Übertragung soll das gerade sendende Gerät, d. h., entweder das zu prüfende Gerät 1 oder das Prüfgerät 2, die elektrische Übertragungsleitung 3 auf kollidierende LO-Spannungen hin überprüfen, und, falls eine solche Spannung erkannt wird, soll das sendende Gerät die Übertragung sofort beenden. Eine neue Übertragung soll nicht innerhalb einer vordefinierten Totzeit, die vorzugsweise eine Länge von 160 Bit hat, begonnen werden. Dieses Verhalten ist obligatorisch für das Prüfgerät 2 und optional für das zu prüfende Gerät 1.
  • Datenflusskontrolle
  • Es gibt in der aktuellen Version des Übertragungsprotokolls keine aktive Datenflusskontrolle und keine Art von Handshake-Verfahren. Für zukünftige Erweiterungen ist jedoch die Verwendung des 8 Bit langen Datenworts 0xFF im ersten Byte des Nutzdatenfelds 102, 102' reserviert, d. h., Datenpakete deren Nutzdaten 102, 102' mit 0xFF beginnen, dürfen in der aktuellen Version des Übertragungsprotokolls nicht verwendet werden.
  • Im Prinzip kann jedes der beiden Geräte, d. h., sowohl das zu prüfende Gerät 1 als auch das Prüfgerät 2, zu jeder beliebigen Zeit ein Datenpaket senden. Es gibt jedoch einige wenige Einschränkungen im Bezug auf die Totzeit nach der eine Übertragung gestartet werden darf.
  • Wenn eine LO-Spannung auf der elektrischen Übertragungsleitung 3 erkannt wurde, soll innerhalb einer vordefinierten Totzeit, die vorzugsweise eine Länge von 160 Bit hat, keine neue Übertragung begonnen werden. Wie bereits erwähnt, ist dieses Verhalten obligatorisch für das Prüfgerät 2 und optional für das zu prüfende Gerät 1.
  • Wenn ein SYNC-Datenwort 101, 101' empfangen wurde, soll damit begonnen werden, die übrigen Daten des Datenpakets, d. h., die Nutzdaten 102, 102' und den CRC-Prüfwert 103, bzw. die Prüf-Summe 103', zu erfassen. Wenn das komplette Datenpaket empfangen wurde, soll der CRC-Prüfwert 103, bzw. die Prüfsumme 103' zur Erkennung möglicher Übertragungsfehler ausgewertet werden. Für den Fall, dass ein Übertragungsfehler erkannt wurde, soll das entsprechende Datenpaket einfach verworfen werden. Eine entsprechende Antwort an das sendende Gerät ist nicht vorgesehen. Nach dem Empfang eines kompletten Datenpakets kann das empfangende Gerät direkt, d. h., ohne auf weitere Totzeit-Bedingungen zu achten, mit einer eigenen Übertragung beginnen. Das sendende Gerät soll, nachdem es die Übertragung eines Datenpakets beendet hat, eine Totzeit von vorzugsweise 16 Bits Länge warten, bevor es mit einer weiteren Übertragung beginnt. Wenn ein erfolgreicher Empfang für eine vorbestimmte Zeit (vorzugsweise 3000 ms) nicht möglich war, soll das Prüfgerät 2 die Verbindung durch Senden einer RESET-Nachricht zurücksetzen und versuchen, eine neue Verbindung aufzubauen. Das zu prüfende Gerät 1 soll wenigsten ein Datenpaket innerhalb einer vorbestimmten Zeit (vorzugsweise 1000 ms) senden. Dies gilt jedoch nur, wenn wenigstens ein Kommunikationskanal in einer der höheren OSI-Schichten registriert wurde. (Siehe OSI-Schicht 3/4 für die Definition eines Kommunikationskanals.)
  • OSI-Schicht 3/4: Vermittlungsschicht/Transportschicht
  • Jedes der beiden Geräte, d. h., sowohl das zu prüfende Gerät 1 als auch das Prüfgerät 2, stellt eine Anzahl von Kommunikationsendpunkten, d. h., Informationsports, die mit einer bestimmten Funktionalität verknüpft sind, zur Verfügung. Jedes Gerät muss die Funktionalität der Kommunikationsendpunkte des jeweils anderen Geräts kennen, um mit diesem eine sinnvolle Kommunikation führen zu können. Das Protokoll ist dabei rein generisch und trägt nur die Verantwortung für den Austausch der Daten. Die Interpretation der Daten bezüglich ihrer Funktionalität muss durch die OSI-Schicht 7 (Anwendungsschicht) geleistet werden, die aber kein Teil des erfindungsgemäßen Übertragungsverfahrens ist. Typischerweise würde dies basierend auf der Kenntnis des vorliegenden zu prüfenden Geräts 1 geschehen; diese Information kann das Prüfgerät 2 über den Kommunikationsendpunkt 0x00 in dem zu prüfenden Gerät 1 abfragen.
  • Zum Verbinden zweier Kommunikationsendpunkte kann jedes der beiden Geräte, d. h., sowohl das zu prüfende Gerät 1 als auch das Prüfgerät 2, einen zugehörigen Kommunikationskanal öffnen. Dies geschieht, indem ein geeignetes Datenpaket, das sich auf den entsprechenden Kommunikationskanal, bzw. den zugehörigen Kommunikationsendpunkt, bezieht, gesendet wird. Damit würde typischerweise der Kommunikationskanal bei dem jeweils anderen Gerät registriert werden. Allerdings können beide Geräte eine eingehende Anfrage, in diesem Fall zur Registrierung eines bestimmten Kommunikationskanals, auch einfach ignorieren. Der Initiator der Anfrage würde seine Anfrage dann üblicherweise einige Male wiederholen, bevor er aufgibt.
  • Beim Öffnen eines Kommunikationskanals zwischen zwei Kommunikationsendpunkten muss darüberhinaus auch der gewünschte Datenflusstyp spezifiziert werden. Dieser 8 Bit lange Bezeichner definiert die Struktur der nachfolgenden Bits des Nutzdatenfelds 102, 102', d. h., des verbleibenden Teils der Nutzdaten 102, 102', sowie die Art und Weise, wie diese Daten verarbeiten werden sollen, z. B., lesend, schreibend, usw. Die eigentliche Verarbeitung des verbleibenden Teils der Nutzdaten wird dann durch die OSI-Schichten 5/6 bewerkstelligt.
  • 5 zeigt eine schematische Darstellung der generellen Struktur der Nutzdaten 102, 102' gemäß dem ersten Ausführungsbeispiel. Beim erweiterten Übertragungsprotokoll beginnen die Nutzdaten 102 mit einem 8 Bit langen Bezeichner 201 zur Festlegung des gewünschten Kommunikationsendpunkts, bzw. des zugehörigen Kommunikationskanals. Darauf folgt der 8 Bit lange Bezeichner 202 zur Spezifizierung des Datenflusstyps, woran sich der 96 Bit lange verbleibende Teil 203 der Nutzdaten 102 anschließt.
  • Bei der vereinfachten Variante des Übertragungsprotokolls gilt im Prinzip dasselbe wie bei der erweiterten Protokoll-Variante, d. h., der Nutzdatenbereich 102' beginnt mit einem 8 Bit langen Bezeichner 201' zur Festlegung des gewünschten Kommunikationsendpunkts, bzw. des zugehörigen Kommunikationskanals, gefolgt von dem 8 Bit langen Bezeichner 202' zur Spezifizierung des Datenflusstyps. Der sich anschließende 16 Bit lange verbleibende Teil 203' des im Vergleich zu dem erweiterten Übertragungsprotokoll kürzeren Nutzdatenfelds 102' erlaubt aber nur kürzere Datenstrukturen.
  • Darüberhinaus kann das zu prüfende Gerät 1 bei dem vereinfachten Übertragungsprotokoll auch verbindungslos arbeiten, d. h., das zu prüfende Gerät 1 richtet sich nicht nach dem Konzept registrierter Kommunikationskanäle. In diesem Fall gibt das zu prüfende Gerät 1 alle möglichen verfügbaren Informationen seiner Kommunikationsendpunkte aus, ohne eventuelle Anfragen des Prüfgeräts 2 zu beachten.
  • Gemäß dem erweiterten Übertragungsprotokoll sind in dem zu prüfenden Gerät 1 die in der Tabelle 3 dargestellten vordefinierten Kommunikationsendpunkte, bzw. die zugehörigen Kommunikationskanäle, zum Lesen und/oder Schreiben von Informationen vorgesehen. Tabelle 3: Vordefinierte Kommunikationsendpunkte in dem zu prüfenden Gerät 1 gemäß dem erweiterten Übertragungsprotokoll.
    Komm.-endpunkt Datenflusstyp Information Datenstruktur
    0x00 Lesen Geräteidentifikation und Firmware-Version 16 Bit Firmware-Version + 8 Byte Zeichenfolge zur Geräteidentifikation
    0x01 Lesen Hardware-Konfiguration 16 Bit Hardware-Konfiguration + 8 Byte Zeichenfolge ”HWCONFIG”
    0x02 Lesen/Schreiben Software-Konfiguration 16 Bit Software-Konfiguration + 8 Byte Zeichenfolge ”SWCONFIG”
    0xFE Lesen Protokoll-Version 8 Bit Version + 8 Bit Bitschalter + 8 Byte Zeichenfolge ”ESOP”
    0xFF - Datenflusskontrolle in der OSI-Schicht 2 -
  • Die gemäß dem vereinfachten Übertragungsprotokoll in dem zu prüfenden Gerät 1 vorgesehenen vordefinierten Kommunikationsendpunkte, bzw. die zugehörigen Kommunikationskanäle, zum Lesen und/oder Schreiben von Informationen sind in der Tabelle 4 dargestellt. Tabelle 4: Vordefinierte Kommunikationsendpunkte in dem zu prüfenden Gerät 1 gemäß dem vereinfachten Übertragungsprotokoll.
    Komm.-endpunkt Datenflusstyp Information Datenstruktur
    0x00 Lesen Geräteidentifikation und Firmware-Version 12 Bit Geräteidentifikation + 4 Bit Firmware-Version
    0x01 Lesen Hardware-Konfiguration 16 Bit Hardware-Konfiguration
    0x02 Lesen/Schreiben Software-Konfiguration 16 Bit Software-Konfiguration
    0xFE Lesen Protokoll-Version 8 Bit Version + 8 Bit Bitschalter
    0xFF - Datenflusskontrolle in der OSI-Schicht 2 -
  • Sowohl bei der erweiterten als auch bei der vereinfachten Variante des Übertragungsprotokolls sollten die Kommunikationsendpunkte zum Lesen der Geräteidentifikation und der Firmware-Version (Kommunikationskanal 0x00) und zum Lesen der Protokoll-Version (Kommunikationskanal 0xFE) in jedem zu prüfenden Gerät 1 gemäß der Erfindung realisiert sein. Die Kommunikationsendpunkte zum Lesen der Hardware-Konfiguration (Kommunikationskanal 0x01) und zum Lesen bzw. Schreiben der Software-Konfiguration (Konfigurationskanal 0x02) sind dagegen optional und brauchen nicht von jedem zu prüfenden Gerät 1 gemäß der Erfindung implementiert werden. Der Kommunikationsendpunkt zur Datenflusskontrolle in der OSI-Schicht 2 (Kommunikationsendpunkt 0xFF) ist für zukünftige Erweiterungen des Übertragungsprotokolls reserviert.
  • OSI-Schicht 5/6: Sitzungsschicht/Darstellungsschicht
  • Abhängig von dem Datenflusstyp wird der verbleibende Teil 203, 203' der Nutzdaten 102, 102' interpretiert und verarbeitet. Dabei spezifiziert der Datenflusstyp die Struktur der Daten, die Art und Weise, wie die Daten verarbeitet werden sollen, und die Richtung des Informationsflusses.
  • Jedes der beiden Geräte, d. h., sowohl das zu prüfende Gerät 1 als auch das Prüfgerät 2, kann Datenpakete mit einem bestimmten Datenflusstyp entweder verarbeiten oder aber ignorieren oder mit einem Datenpaket mit einem anderen Datenflusstyp antworten.
  • 6 zeigt die Struktur der Nutzdaten 102 für das erweiterte Übertragungsprotokoll für die in der aktuellen Version des Übertragungsverfahrens gemäß der Erfindung vorgesehenen Datenflusstypen. Sie werden im Folgenden näher beschrieben.
  • 1. LESEN (0x00)
  • Der Datenflusstyp LESEN (0x00) dient dem Prüfgerät 2 zum Lesen von Informationen von dem zu prüfenden Gerät 1, d. h., die Richtung des Informationsflusses ist von dem zu prüfenden Gerät 1 zu dem Prüfgerät 2.
  • Zum Registrieren eines Kommunikationskanals zum Lesen von Informationen von dem zu prüfenden Gerät 1 sendet das Prüfgerät 2 ein Datenpaket an das zu prüfende Gerät 1. Innerhalb der Nutzdaten 102 dieses Datenpakets spezifiziert der 8 Bit lange Bezeichner 201 den von dem Prüfgerät 2 gewählten Kommunikationsendpunkt, z. B., den Kommunikationsendpunkt zum Lesen der Geräteidentifikation und der Firmware-Version (Kommunikationskanal 0x00). Der Wert 0x00 des nachfolgenden 8 Bit langen Bezeichners 202 spezifiziert den Datenflusstyp LESEN. Der nachfolgende restliche Teil 301 der Nutzdaten 102, d. h., die restlichen 96 Bit des Nutzdatenfelds 102, ist für die Kommunikation ohne Bedeutung, er wird von dem zu prüfenden Gerät 1 ignoriert.
  • Das zu prüfende Gerät 1 kann das von dem Prüfgerät 2 gesendete Datenpaket verarbeiten und die mit dem Kommunikationsendpunkt verknüpften Informationen in einem korrespondierenden Datenpaket an das Prüfgerät 2 senden. Innerhalb der Nutzdaten 102 dieses Datenpakets spezifiziert der 8 Bit lange Bezeichner 201 den von dem Prüfgerät 2 gewählten Kommunikationsendpunkt und der nachfolgende 8 Bit lange Bezeichner 202 spezifiziert den von dem Prüfgerät 2 vorgegebenen Datenflusstyp LESEN (0x00). Die zu lesenden Informationen, z. B., die Geräteidentifikation und die Firmware-Version, werden von dem zu prüfenden Gerät 1 in dem verbleibenden Teil 203 der Nutzdaten 102 in einer Struktur bestehend aus einem 16 Bit langen Wertefeld 302, einem 16 Bit langen reservierten Feld 303 und einem 64 Bit langen Zeichenfolgenfeld 304 an das Prüfgerät 2 übertragen. Die Zeichenfolge in dem 64 Bit langen Zeichenfolgenfeld 304 enthält dabei typischerweise eine Mnemonik der Bedeutung oder Funktion des Wertes in dem 16 Bit langen Wertefeld 302.
  • 2. SCHREIBEN (0x01)
  • Der Datenflusstyp SCHREIBEN (0x01) dient dem Prüfgerät 2 zum Überschreiben von Informationen in dem zu prüfenden Gerät 1, d. h., die Richtung des Informationsflusses ist von dem Prüfgerät 2 zu dem zu prüfenden Gerät 1.
  • Zum Registrieren eines Kommunikationskanals zum Überschreiben von Informationen in dem zu prüfenden Gerät 1 sendet das Prüfgerät 2 ein Datenpaket an das zu prüfende Gerät 1. Innerhalb der Nutzdaten 102 dieses Datenpakets spezifiziert der 8 Bit lange Bezeichner 201 den von dem Prüfgerät 2 gewählten Kommunikationsendpunkt, z. B., den Kommunikationsendpunkt zum Schreiben der Software-Konfiguration (Kommunikationskanal 0x02). Der Wert 0x01 des nachfolgenden 8 Bit langen Bezeichners 202 spezifiziert den Datenflusstyp SCHREIBEN. Die zu schreibenden Informationen, z. B., die Software-Konfiguration, werden von dem Prüfgerät 2 in dem verbleibenden Teil 203 der Nutzdaten 102 in einem 16 Bit langen Wertefeld 305 an das zu prüfende Gerät 1 übertragen. Der nachfolgende restliche Teil 306 der Nutzdaten 102, d. h., die restlichen 80 Bit des Nutzdatenfelds 102, ist für die Kommunikation ohne Bedeutung, er wird von dem zu prüfenden Gerät 1 ignoriert.
  • Das zu prüfende Gerät 1 kann das von dem Prüfgerät 2 gesendete Datenpaket verarbeiten und ”als Echo” ein korrespondierendes Datenpaket an das Prüfgerät 2 senden. Innerhalb der Nutzdaten 102 dieses Datenpakets spezifiziert der 8 Bit lange Bezeichner 201 den von dem Prüfgerät 2 gewählten Kommunikationsendpunkt und der nachfolgende 8 Bit lange Bezeichner 202 spezifiziert den von dem Prüfgerät 2 vorgegebenen Datenflusstyp SCHREIBEN (0x01). Eine Kopie der geschriebenen Informationen, z. B., die Software-Konfiguration, werden von dem zu prüfenden Gerät 1 in dem verbleibenden Teil 203 der Nutzdaten 102 in einer Struktur bestehend aus einem 16 Bit langen Wertefeld 307, einem 16 Bit langen reservierten Feld 308 und einem 64 Bit langen Zeichenfolgenfeld 309 an das Prüfgerät 2 übertragen. Die Zeichenfolge in dem 64 Bit langen Zeichenfolgenfeld 303 enthält dabei typischerweise eine Mnemonik der Bedeutung oder Funktion des Wertes in dem 16 Bit langen Wertefeld 307.
  • 3. RESERVIERT (0x02)
  • Der Datenflusstyp RESERVIERT (0x02) ist reserviert für eine spätere Ergänzung des Übertragungsverfahrens gemäß der Erfindung um einen inversen Trigger. Die Richtung des Informationsflusses ist von dem zu prüfenden Gerät 1 zu dem Prüfgerät 2.
  • 4. TRIGGER (0x03)
  • Der Datenflusstyp TRIGGER (0x03) dient dem Prüfgerät 2 zum einmaligen Einspeisen eines Wertes in das zu prüfende Gerät 1, d. h., die Richtung des Informationsflusses ist von dem Prüfgerät 2 zu dem zu prüfenden Gerät 1.
  • Zum Registrieren eines Kommunikationskanals zum einmaligen Einspeisen eines Wertes in das zu prüfende Gerät 1 sendet das Prüfgerät 2 ein Datenpaket an das zu prüfende Gerät 1. Innerhalb der Nutzdaten 102 dieses Datenpakets spezifiziert der 8 Bit lange Bezeichner 201 den von dem Prüfgerät 2 gewählten Kommunikationsendpunkt. Der Wert 0x03 des nachfolgenden 8 Bit langen Bezeichners 202 spezifiziert den Datenflusstyp TRIGGER. Der einzuspeisende Wert wird von dem Prüfgerät 2 in dem verbleibenden Teil 203 der Nutzdaten 102 in einem 16 Bit langen Wertefeld 310 gefolgt von einem 16 Bit langen Trigger-Bezeichner 311 übertragen. Der nachfolgende restliche Teil 312 der Nutzdaten 102, d. h., die restlichen 64 Bit des Nutzdatenfelds 102, ist für die Kommunikation ohne Bedeutung, er wird von dem zu prüfenden Gerät 1 ignoriert.
  • Der Trigger-Bezeichner 311 sollte für ein bestimmtes Trigger-Event einen eindeutigen Wert haben und für ein nachfolgendes Trigger-Event verändert werden, wobei nur gerade Zahlen verwendet werden sollen. Das Prüfgerät 2 kann ein Datenpaket mit einem bestimmten Trigger-Bezeichner 311 wiederholen; so lange der Trigger-Bezeichner 311 derselbe bleibt ignoriert das zu prüfende Gerät 1 die Wiederholung. Das Prüfgerät 2 kann einen Trigger-Bezeichner 311 mit einem bestimmten Wert wiederverwenden nachdem das zu prüfende Gerät 1 mit einem anderen Wert oder einem anderen Datenflusstyp geantwortet hat.
  • Das zu prüfende Gerät 1 kann das von dem Prüfgerät 2 gesendete Datenpaket verarbeiten und ein Trigger-Ergebnis in einem korrespondierenden Datenpaket an das Prüfgerät 2 senden. Innerhalb der Nutzdaten 102 dieser Datenpakete spezifiziert der 8 Bit lange Bezeichner 201 den von dem Prüfgerät 2 gewählten Kommunikationsendpunkt und der nachfolgende 8 Bit lange Bezeichner 202 spezifiziert den von dem Prüfgerät 2 vorgegebenen Datenflusstyp TRIGGER (0x03). Abhängig davon, ob der Trigger bereits abgeschlossen ist oder nicht wird von dem zu prüfenden Gerät 1 entweder eine Kopie des einzuspeisenden Wertes (”Echo”) oder ein aktueller Auslesewert in einer Struktur bestehend einem 16 Bit langen Wertefeld 313, einem 16 Bit langen Trigger-Bezeichner/Bitschalter 314 und einem 64 Bit langen Zeichenfolgenfeld 315 an das Prüfgerät übertragen.
  • Der Zustand des Triggers (abgeschlossen oder nicht) wird durch das niedrigstwertige Bit des Trigger-Bezeichner/Bitschalter 314 angezeigt, der außerdem eine Kopie des von dem Prüfgerät 2 vorgegebenen 16 Bit langen Trigger-Bezeichners 311 enthält. Die Zeichenfolge in dem 64 Bit langen Zeichenfolgenfeld 315 enthält dabei typischerweise eine Mnemonik der Bedeutung oder Funktion des Wertes in dem 16 Bit langen Wertefeld 303.
  • 5. LESEN EINES DATENBLOCKS (0x04)
  • Der Datenflusstyp LESEN EINES DATENBLOCKS (0x04) dient dem Prüfgerät 2 zum Lesen von Informationen von dem zu prüfenden Gerät 1, die länger als das zur Verfügung stehende Nutzdatenfeld eines Datenpakets sind. Dies geschieht durch die Übertragung einer Anzahl N von jeweils 10 Byte langen Datenblöcken, d. h., die Gesamtlänge der von dem zu prüfenden Gerät 1 an das Prüfgerät 2 übertragenen Daten beträgt ein Vielfaches von 10 Byte. Die Richtung des Informationsflusses ist von dem zu prüfenden Gerät 1 zu dem Prüfgerät 2.
  • Zum Registrieren eines Kommunikationskanals zum Lesen längerer Informationen von dem zu prüfenden Gerät 1 sendet das Prüfgerät 2 ein Datenpaket an das zu prüfende Gerät 1. Innerhalb der Nutzdaten 102 dieses Datenpakets spezifiziert der 8 Bit lange Bezeichner 201 den von dem Prüfgerät 2 gewählten Kommunikationsendpunkt. Der Wert 0x04 des nachfolgenden 8 Bit langen Bezeichners 202 spezifiziert den Datenflusstyp LESEN EINES DATENBLOCKS. Das Prüfgerät 2 spezifiziert den zu lesenden Datenblock durch einen Index n, der in dem verbleibenden Teil 203 der Nutzdaten 102 in einem 8 Bit langen Indexfeld 316 übertragen wird. Der nachfolgende restliche Teil 317 der Nutzdaten 102, d. h., die restlichen 88 Bit des Nutzdatenfelds 102, ist für die Kommunikation ohne Bedeutung, er wird von dem zu prüfenden Gerät 1 ignoriert.
  • Das Prüfgerät 2 kann den Index n auf NULL (0x00) setzen, um die gesamte Anzahl N von Datenblöcken von dem zu prüfenden Gerät 1 anzufordern, oder es kann den Index n auf einen Wert größer Null setzen, um eine Übertragung beginnend bei einem bestimmten Datenblock anzufordern. (Der erste Datenblock hat den Index n = 1.) Das zu prüfende Gerät 1 kann eine solche Anforderung ignorieren.
  • Das zu prüfende Gerät 1 kann das von dem Prüfgerät 2 gesendete Datenpaket verarbeiten und die zu lesenden Datenblöcke in korrespondierenden Datenpaketen an das Prüfgerät 2 senden. Innerhalb der Nutzdaten 102 dieser Datenpakete spezifiziert der 8 Bit lange Bezeichner 201 den von dem Prüfgerät 2 gewählten Kommunikationsendpunkt und der nachfolgende 8 Bit lange Bezeichner 202 spezifiziert den von dem Prüfgerät 2 vorgegebenen Datenflusstyp LESEN EINES DATENBLOCKS (0x04). Die zu lesenden Datenblöcke werden von dem zu prüfenden Gerät 1 in dem jeweils verbleibenden Teil 203 der Nutzdaten 102 in einer Struktur bestehend aus einem 8 Bit langen Indexfeld 318 (Index n des Datenblocks), einem 8 Bit langen Anzahlfeld 319 (Gesamtanzahl N der Datenblöcke) und einem 80 Bit langen Zeichenfolgenfeld 320 (Datenblock) an das Prüfgerät 2 übertragen.
  • Das zu prüfende Gerät 1 kann den Index n auf NULL (0x00) setzen, um dem Prüfgerät 2 zu signalisieren, dass der von ihm gewählte Kommunikationsendpunkt zwar unterstützt wird, dieser aber keine sinnvollen Informationen beinhaltet.
  • 6. SCHREIBEN EINES DATENBLOCKS (0x05)
  • Der Datenflusstyp SCHREIBEN EINES DATENBLOCKS (0x05) dient dem Prüfgerät 2 zum Überschreiben von Informationen in dem zu prüfenden Gerät 1, die länger als das zur Verfügung stehende Nutzdatenfeld eines Datenpakets sind. Dies geschieht durch die Übertragung einer Anzahl N von jeweils 10 Byte langen Datenblöcken, d. h., die Gesamtlänge der von dem Prüfgerät 2 an das zu prüfende Gerät 1 übertragenen Daten beträgt ein Vielfaches von 10 Byte. Die Richtung des Informationsflusses ist von dem Prüfgerät 2 zu dem zu prüfenden Gerät 1.
  • Zum Registrieren eines Kommunikationskanals zum Überschreiben längerer Informationen in dem zu prüfenden Gerät 1 sendet das Prüfgerät 2 ein Datenpaket an das zu prüfende Gerät 1. Innerhalb der Nutzdaten 102 dieses Datenpakets (und der weiteren Datenpakete) spezifiziert der 8 Bit lange Bezeichner 201 den von dem Prüfgerät 2 gewählten Kommunikationsendpunkt. Der Wert 0x05 des nachfolgenden 8 Bit langen Bezeichners 202 spezifiziert den Datenflusstyp SCHREIBEN EINES DATENBLOCKS. Die zu schreibenden Datenblöcke werden von dem Prüfgerät 2 in dem jeweils verbleibenden Teil 203 der Nutzdaten 102 in einer Struktur bestehend aus einem 8 Bit langen Indexfeld 321 (Index n des Datenblocks), einem 8 Bit langen Anzahlfeld 322 (Gesamtanzahl N der Datenblöcke) und einem 80 Bit langen Zeichenfolgenfeld 323 (Datenblock) an das zu prüfende Gerät 1 übertragen.
  • Das Prüfgerät 2 kann die Gesamtanzahl N auf NULL (0x00) setzen, wenn keine Daten zur Übertragung vorhanden sind. Datenpakete, bei denen der Index n gleich NULL (0x00) ist, sollen von dem zu prüfenden Gerät 1 ignoriert werden.
  • Das zu prüfende Gerät 1 kann die von dem Prüfgerät 2 gesendeten Datenpakete verarbeiten und sollte nach Empfang des ersten Datenpakets ein korrespondierendes Datenpaket zur Bestätigung an das Prüfgerät 2 senden. Innerhalb der Nutzdaten 102 dieses Datenpakets spezifiziert der 8 Bit lange Bezeichner 201 den von dem Prüfgerät 2 gewählten Kommunikationsendpunkt und der nachfolgende 8 Bit lange Bezeichner 202 spezifiziert den von dem Prüfgerät 2 vorgegebenen Datenflusstyp SCHREIBEN EINES DATENBLOCKS (0x05). In dem verbleibenden Teil 203 der Nutzdaten 102 ist eine Struktur bestehend aus einem 8 Bit langen Indexfeld 324 (Index n eines Datenblocks) und einem 8 Bit langen Speicherplatzfeld 325 (Speicherplatz in dem zu prüfenden Gerät 1 gemessen in einer Anzahl M von 10 Byte Datenblöcken) definiert. Der nachfolgende restliche Teil 327 der Nutzdaten 102, d. h., die restlichen 80 Bit des Nutzdatenfelds 102, ist für die Kommunikation ohne Bedeutung, er wird von dem Prüfgerät 2 ignoriert.
  • Das zu prüfende Gerät 1 kann während des Schreibvorgangs jederzeit selbst entsprechende Datenpakete schicken, um beispielsweise einen bestimmten Datenblock (1 ≤ n ≤ N) anzufordern, oder um dem Prüfgerät 2 seinen verfügbaren Speicherplatz (M > 0) mitzuteilen. Nach einer erfolgreichen Übertragung aller Datenblöcke, soll das zu prüfende Gerät 1 das Prüfgerät 2 darüber durch Senden eines Datenpakets mit n > N informieren.
  • 7. AUFHEBEN EINES KOMMUNIKATIONSKANALS (0xFF)
  • Der Datenflusstyp AUFHEBEN EINES KOMMUNIKATIONSKANALS (0xFF) dient beiden Geräten, d. h., sowohl dem zu prüfenden Gerät 1 als auch dem Prüfgerät 2, zum Löschen oder zum Zurückweisen eines bestimmten Kommunikationsendpunkts, bzw. des zugehörigen Kommunikationskanals.
  • Zum Löschen oder zum Zurückweisen eines bestimmten Kommunikationsendpunkts, bzw. des zugehörigen Kommunikationskanals sendet ein Gerät ein Datenpaket an das andere Gerät. Innerhalb der Nutzdaten 102 dieses Datenpakets spezifiziert der 8 Bit lange Bezeichner 201 den zu löschenden Kommunikationsendpunkt. Der Wert 0xFF des nachfolgenden 8 Bit langen Bezeichners 202 spezifiziert den Datenflusstyp AUFHEBEN EINES KOMMUNIKATIONSKANALS. Der nachfolgende restliche Teil 327 der Nutzdaten 102, d. h., die restlichen 96 Bit des Nutzdatenfelds 102, ist für die Kommunikation ohne Bedeutung, er wird von dem anderen Gerät ignoriert.
  • Die Datenflusstypen READ (0x00), WRITE (0x01) und TRIGGER (0x03) werden auch von dem vereinfachten Übertragungsprotokoll unterstützt. Aufgrund des im Vergleich zu dem erweiterten Übertragungsprotokoll kürzeren Nutzdatenfelds 102' erlaubt dieses aber nur kürzere Datenstrukturen.
  • Das zu prüfende Gerät kann z. B. ein drahtgebundenes oder drahtloses Mikrofon darstellen.

Claims (8)

  1. System zur bi-direktionalen, seriellen Übertragung von Daten zwischen einem zu prüfenden Gerät (1) und einem Prüfgerät (2) bei einer Prüfung des zu prüfenden Gerätes (1), mit einem zu prüfenden Gerät (1) und einem Prüfgerät (2), die über eine elektrische Übertragungsleitung (3) und über eine elektrischen Masseleitung (4) miteinander verbindbar sind, wobei beide Geräte (1, 2) geeignet sind, Daten synchron mit einer vorgegebenen Taktfrequenz und -phase als Folgen erster und zweiter Spannungen, die jeweils einen ersten und zweiten Wert eines Bits repräsentieren, auf der elektrischen Übertragungsleitung (3) zu senden und zu empfangen, wobei ein Prüfgerät (2) zum Empfangen von Daten eine Spannung auf der elektrischen Übertragungsleitung (3) zu vorgegebenen Abtastphasen des Takts abtastet, um zu erkennen, ob die erste oder die zweite Spannung anliegt, wobei das zu prüfende Gerät (1, 2) zum Senden von Daten Folgen erster und zweiter Spannungen so erzeugt, dass zu den vorgegebenen Abtastphasen des empfangenden Geräts (1, 2) die erste oder die zweite Spannung auf der elektrischen Übertragungsleitung (3) anliegt, wobei das Prüfgerät (2) dazu ausgestaltet ist, eine Initialisierungsphase durch Senden einer DOORBELL-Nachricht oder einer RESET-Nachricht an das zu prüfende Gerät (1) einzuleiten, wobei das zu prüfende Gerät (1) dazu ausgestaltet ist, eine CLOCKSYNC-Nachricht an das Prüfgerät (2) nach Empfang der DOORBELL-Nachricht oder der RESET-Nachricht zu senden, wobei das zu prüfende Gerät (1) in der Initialisierungsphase dazu ausgestaltet ist, eine Folge alternierender erster und zweiter Spannungen als CLOCKSYNC-Nachricht auf der elektrischen Übertragungsleitung (3) zu übertragen, wobei nur das zu prüfende Gerät (1) dazu ausgestaltet ist, die Taktfrequenz und -Taktphase für die synchrone Datenübertragung vorzugeben, wobei das Prüfgerät (2) dazu ausgestaltet ist, die Taktfrequenz und -phase aus der Folge alternierender erster und zweiter Spannungen abzuleiten und sich auf diese Taktfrequenz und -phase zu synchronisieren, wobei in einer Datenübertragungsphase Daten in Datenpaketen, die mit einer kürzeren Folge alternierender erster und zweiter Spannungen beginnen, übertragen werden, und wobei das Prüfgerät (2) mit dieser Folge die abgeleitete Taktfrequenz und -phase nachkorrigiert.
  2. System gemäß Anspruch 1, wobei die vorgegebenen Abtastphasen des zu prüfenden Geräts (1) und des Prüfgeräts (2) zueinander phasenverschoben sind.
  3. System gemäß Anspruch 2, wobei die Abtastphasen des zu prüfenden Geräts (1) im Wesentlichen mittig zwischen den Abtastphasen des Prüfgeräts (2) liegen.
  4. System gemäß einem der Ansprüche 1 bis 3, wobei das sendende Gerät (1, 2) zum Senden von Daten Folgen erster und zweiter Spannungen so erzeugt, dass in einem Phasenbereich um die vorgegebenen Abtastphasen des empfangenden Geräts (1, 2) herum die erste oder die zweite Spannung auf der elektrischen Übertragungsleitung (3) anliegt.
  5. System gemäß Anspruch 4, wobei der Phasenbereich mindestens –20° bis +20°, vorzugsweise mindestens –30° bis +30° beträgt.
  6. Verfahren zur bi-direktionalen, seriellen Übertragung von Daten zwischen einem zu prüfenden Gerät (1) und einem Prüfgerät (2), die über eine elektrische Übertragungsleitung (3) und über eine elektrischen Masseleitung (4) miteinander verbindbar sind während der Prüfung des zu prüfenden Gerätes (1), mit den folgenden Schritten: Einleiten einer Initialisierungsphase durch das Prüfgerät (2) indem es eine DOORBELL-Nachricht oder eine RESET-Nachricht an das zu prüfende Gerät (1) sendet, Senden der CLOCKSYNC-Nachricht von dem zu prüfenden Gerät (1) an das Prüfgerät (2), nachdem es die DOORBELL-Nachricht oder die RESET-Nachricht empfangen hat, Übertragen einer Folge alternierender erster und zweiter Spannungen als CLOCKSYNC-Nachricht von dem zu prüfenden Gerät (1) auf der elektrischen Übertragungsleitung (3) in der Initialisierungsphase, um die Taktfrequenz und -phase durch das zu prüfende Gerät (1) vorzugeben, Ableiten der Taktfrequenz und -phase aus dieser Folge durch das Prüfgerät (2), und Synchronisation auf diese Taktfrequenz und -phase durch das Prüfgerät (2), Senden und Empfangen von Daten synchron mit der nur von dem zu prüfenden Gerät (1) vorgegebenen Taktfrequenz und -phase als Folgen erster und zweiter Spannungen, die jeweils einen ersten und zweiten Wert eines Bits repräsentieren, auf der elektrischen Übertragungsleitung (3); Abtasten einer Spannung auf der elektrischen Übertragungsleitung (3) zu vorgegebenen Abtastphasen des Takts, um zu erkennen, ob die erste oder die zweite Spannung anliegt, um Daten zu empfangen; Erzeugen von Folgen erster und zweiter Spannungen, so dass zu den vorgegebenen Abtastphasen eines empfangenden Geräts (1, 2) die erste oder die zweite Spannung auf der elektrischen Übertragungsleitung (3) anliegt, um Daten zu senden; wobei in einer Datenübertragungsphase Daten in Datenpaketen, die mit einer kürzeren Folge alternierender erster und zweiter Spannungen beginnen, übertragen werden, und wobei das Prüfgerät (2) mit dieser Folge die abgeleitete Taktfrequenz und -phase nachkorrigiert.
  7. Zu prüfendes Gerät (1) zur Verwendung in einem System zur bi-direktionalen, synchronen Übertragung von Daten zwischen dem zu prüfenden Gerät (1) und einem Prüfgerät (2) gemäß Anspruch 1.
  8. Prüfgerät (2) zur Verwendung in einem System zur bi-direktionalen, synchronen Übertragung von Daten zwischen dem Prüfgerät (2) und einem zu prüfenden Gerät (1) gemäß Anspruch 1.
DE102008031357.2A 2008-07-04 2008-07-04 Verfahren und System zur seriellen Übertragung von Daten Active DE102008031357B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102008031357.2A DE102008031357B4 (de) 2008-07-04 2008-07-04 Verfahren und System zur seriellen Übertragung von Daten
PCT/EP2009/058332 WO2010000805A1 (de) 2008-07-04 2009-07-02 Verfahren und system zur seriellen übertragung von daten
US13/001,374 US8594166B2 (en) 2008-07-04 2009-07-02 Method and system for the serial transmission of data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102008031357.2A DE102008031357B4 (de) 2008-07-04 2008-07-04 Verfahren und System zur seriellen Übertragung von Daten

Publications (2)

Publication Number Publication Date
DE102008031357A1 DE102008031357A1 (de) 2010-01-28
DE102008031357B4 true DE102008031357B4 (de) 2017-06-29

Family

ID=41170063

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008031357.2A Active DE102008031357B4 (de) 2008-07-04 2008-07-04 Verfahren und System zur seriellen Übertragung von Daten

Country Status (3)

Country Link
US (1) US8594166B2 (de)
DE (1) DE102008031357B4 (de)
WO (1) WO2010000805A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102468901A (zh) * 2010-11-02 2012-05-23 凹凸电子(武汉)有限公司 数据传输方法
US8780966B1 (en) * 2013-03-15 2014-07-15 Litepoint Corporation System and method for testing a data packet signal transceiver

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003096036A1 (en) * 2002-05-08 2003-11-20 Semtech Corporation Single-wire communication bus for miniature low-power systems
US20040233917A1 (en) * 2003-05-21 2004-11-25 Gabriel Rocas Bi-directional single wire interface
US20060039408A1 (en) * 2004-08-23 2006-02-23 Standard Microsystems Corporation Budget sensor bus

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5210846B1 (en) * 1989-05-15 1999-06-29 Dallas Semiconductor One-wire bus architecture
DE59009700D1 (de) * 1990-12-08 1995-10-26 Itt Ind Gmbh Deutsche Master-Slave-Datenübertragungsverfahren mit flexiblem Eindraht-Bus.
JP2863653B2 (ja) * 1991-07-16 1999-03-03 三菱電機株式会社 通信装置内蔵マイクロコンピュータ
US6532506B1 (en) * 1998-08-12 2003-03-11 Intel Corporation Communicating with devices over a bus and negotiating the transfer rate over the same
DE602004026195D1 (de) * 2004-10-21 2010-05-06 Hewlett Packard Development Co Serielles Bussystem
US20080077336A1 (en) * 2006-09-25 2008-03-27 Roosevelt Fernandes Power line universal monitor
US7890788B2 (en) * 2007-07-09 2011-02-15 John Yin Clock data recovery and synchronization in interconnected devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003096036A1 (en) * 2002-05-08 2003-11-20 Semtech Corporation Single-wire communication bus for miniature low-power systems
US20040233917A1 (en) * 2003-05-21 2004-11-25 Gabriel Rocas Bi-directional single wire interface
US20060039408A1 (en) * 2004-08-23 2006-02-23 Standard Microsystems Corporation Budget sensor bus

Also Published As

Publication number Publication date
WO2010000805A1 (de) 2010-01-07
US20110164667A1 (en) 2011-07-07
US8594166B2 (en) 2013-11-26
DE102008031357A1 (de) 2010-01-28

Similar Documents

Publication Publication Date Title
DE102005046350B4 (de) Anordnung bei einer CAN-Verbindung in einem CAN-System
DE3115455C2 (de)
DE69531017T2 (de) Datenübertragungssystem und Verfahren
DE3608126C2 (de)
DE69332804T2 (de) Verfahren und vorrichtung zur nrz-datensignalenübertragung durch eine isolierungbarriere in einer schnittstelle zwischen nachbarvorrichtungen auf einem bus
DE69433098T2 (de) Vorrichtung zur Übertragung von Daten
DE19733748A1 (de) Datenübertragungsvorrichtung
DE112015004473T5 (de) Bestätigen der datengenauigkeit in einem verteilten steuerungssystem
DE102012218454A1 (de) Selbstsynchronisierendes datenkommunikationsverfahren und selbstsynchronisierende datenkommunikationsvorrichtung
DE2919976A1 (de) Verfahren zum ausfuehren einer zurueckschleif-pruefung
EP2619947A1 (de) Verfahren und vorrichtung zur seriellen datenübertragung mit umschaltbarer datenrate
DE2508324A1 (de) Datenuebertragungssystem
DE102008031357B4 (de) Verfahren und System zur seriellen Übertragung von Daten
DE102019130756A1 (de) Steuerungseinheit-Diagnosevorrichtung und Verfahren davon
DE102019111881A1 (de) Verfahren und vorrichtung zum senden von daten gemäss einem signalzeitablauf
EP0610202B1 (de) Verfahren zur informationsübertragung in einem mehrere teilnehmer aufweisenden bussystem
DE102019208059A1 (de) Einrichtung für eine Teilnehmerstation eines seriellen Bussystems und Verfahren zur Kommunikation in einem seriellen Bussystem
DE102019101892A1 (de) Kommunikationsvorrichtungen und -verfahren
DE102019213783A1 (de) Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
EP2534582B1 (de) Neuartige schaltung und methode zur kommunikation über eine einzelne leitung
WO2021148351A1 (de) Sende-/empfangseinrichtung und kommunikationssteuereinrichtung für eine teilnehmerstation eines seriellen bussystems und verfahren zur kommunikation in einem seriellen bussystem
WO2020088999A1 (de) Teilnehmerstation für ein serielles bussystem und verfahren zum senden einer nachricht in einem seriellen bussystem
DE102020110984A1 (de) Bus-transceiver
DE102015110630A1 (de) Verfahren zur Datenerfassung und Vorrichtung zur Datenerfassung
DE102017223776A1 (de) Teilnehmerstation für ein serielles Kommunikationsnetzwerk und Verfahren zur Korrektur von Einzelfehlern in einer Nachricht eines seriellen Kommunikationsnetzwerks

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R081 Change of applicant/patentee

Owner name: SENNHEISER CONSUMER AUDIO GMBH, DE

Free format text: FORMER OWNER: SENNHEISER ELECTRONIC GMBH & CO. KG, 30900 WEDEMARK, DE