DE102016203415A1 - Spc-sensor-schnittstelle mit partiellem paritätsschutz - Google Patents

Spc-sensor-schnittstelle mit partiellem paritätsschutz Download PDF

Info

Publication number
DE102016203415A1
DE102016203415A1 DE102016203415.4A DE102016203415A DE102016203415A1 DE 102016203415 A1 DE102016203415 A1 DE 102016203415A1 DE 102016203415 A DE102016203415 A DE 102016203415A DE 102016203415 A1 DE102016203415 A1 DE 102016203415A1
Authority
DE
Germany
Prior art keywords
nibble
data
indication
nibbles
sensor
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.)
Pending
Application number
DE102016203415.4A
Other languages
English (en)
Inventor
Dirk Hammerschmidt
Wolfgang Scherr
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
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of DE102016203415A1 publication Critical patent/DE102016203415A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4902Pulse width modulation; Pulse position modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Information Transfer Systems (AREA)
  • Detection And Correction Of Errors (AREA)
  • Dc Digital Transmission (AREA)
  • Error Detection And Correction (AREA)

Abstract

Ein Sensorsystem ist dafür konfiguriert, zumindest partiell geschützte Sensordaten über eine Datenübertragungsschnittstelle zu übermitteln. Zu dem Sensorsystem zählen ein Sensorelement und eine Datenübertragungsschnittstelle, die mit dem Sensorelement kommunikativ gekoppelt ist. Das Sensorelement ist dafür konfiguriert, Sensordaten in dem digitalen Bereich bereitzustellen. Die Datenübertragungsschnittstelle ist dafür konfiguriert, aus den Sensordaten ein Datenpaket zur Übertragung über die Datenübertragungsschnittstelle zu erzeugen. Das Datenpaket enthält eine Datengruppierung, die ein oder mehrere mit den Sensordaten in Zusammenhang stehende Nibbles umfasst. Das Datenpaket enthält ferner ein Nibble-Anzeichen, das auf mindestens einem Anteil ausgewählter Nibbles in der Datengruppierung beruht.

Description

  • VERWEIS AUF VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht Priorität über die provisorische US-Patentanmeldung Nr. 62/134 925, eingereicht am 18. März 2015, deren Inhalte durch Bezugnahme in ihrer Gesamtheit aufgenommen sind.
  • GEBIET
  • Die vorliegende Offenbarung betrifft ein Datenschutzsystem und ein Verfahren zum Übertragen von Mehrbitgruppen über eine Übertragungsschnittstelle.
  • HINTERGRUND
  • Bei Sensorschnittstellen wie beispielsweise Short PWM Code (SPC) und Single Edge Nibble Transmission (SENT) wird eine Impulsbreitenmodulation-Codierung (pulse width modulation (PWM) encoding) für das Übertragen von 4-Bit-Nibbles verwendet. Eine Prüfsumme wird zum Schutz der Nachricht an die zu übertragende Nachricht angehängt. Bei dem Schutz handelt es sich normalerweise um eine 4-Bit-CRC (cyclic redundancy check, zyklische Redundanzprüfung).
  • Bei standardmäßigem SENT oder SPC wird eine N-Bit-CRC über alle Bits der Nachricht verwendet. Einige Protokolle steigern die Länge der CRC, um die zu übertragende Nachricht besser zu schützen. Dadurch wird jedoch die mögliche Nutzlast für einen gegebenen Kanal verringert. Das Signal-Rausch-Verhältnis (signal to noise ratio, SNR) des höchstwertigen Bits (most significant bit, MSB) ist aufgrund der PWM sehr hoch. Die Möglichkeit einer MSB-Änderung ist sehr gering. Wenn ein Fehler in dem MSB des 4-Bit-Nibble auftritt, ändert sich das PWM-Signal von einem langen Impuls zu einem kurzen Impuls oder umgekehrt. Somit ist der MSB-Fehler mithilfe von Timing-Bewertung leicht erkennbar.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1A veranschaulicht ein Timing-Diagramm der Übertragung eines 4-Bit-Nibble gemäß einem Protokoll.
  • 1B veranschaulicht die PWM-Codierung für einen Nibble-Wert 0 und einen Nibble-Wert 7.
  • 2 veranschaulicht die Verzerrung in der Übertragungsleitung, die während der Übertragung eines Nibble auftreten kann.
  • 3A veranschaulicht eine Leichtigkeit einer Fehlererkennung in dem Fall eines MSB-Fehlers.
  • 3B veranschaulicht eine Leichtigkeit einer Fehlererkennung in dem Fall eines LSB-Fehlers (LSB = least significant bit, geringstwertiges Bit).
  • 4A bis 4B veranschaulichen eine Parität, die über jedes einzelne Nibble gebildet wird.
  • 5A bis 5B veranschaulichen ein Nibble-Anzeichen, das nur über das erste geringstwertige Bit jedes Nibble gebildet wird.
  • 6A bis 6B veranschaulichen ein Nibble-Anzeichen, das nur über die ersten zwei geringstwertigen Bits jedes Nibble gebildet wird.
  • 7A bis 7B veranschaulichen ein Nibble-Anzeichen, das nur über die ersten drei geringstwertigen Bits jedes Nibble gebildet wird.
  • 8A bis 8D veranschaulichen das Berechnen des über die Datengruppierung gebildeten Nibble-Anzeichens.
  • 9A bis 9D veranschaulichen das Berechnen des Nibble-Anzeichens für das jeweilige Nibble, wobei das Nibble-Anzeichen an das Ende des jeweiligen Nibble angehängt wird.
  • 10A bis 10C veranschaulichen das Verringern der Nibble-Länge auf drei Bits und das Berechnen des Nibble-Anzeichens für das jeweilige Nibble, wobei das Nibble-Anzeichen an das Ende des jeweiligen Nibble angehängt wird.
  • 11 veranschaulicht das Nibble-Anzeichen, berechnet als die Differenz zwischen der Modulo-16-Summe des ersten, des dritten und des fünften Nibble der Datengruppierung und der Modulo-Summe des zweiten, des vierten und des fünften Nibble der Datengruppierung.
  • 12 veranschaulicht das Nibble-Anzeichen, das als die Modulo-4-Summe der fünf Nibbles berechnet wurde, an die die Differenz zwischen den Modulo-4-Summen der ersten Menge und der zweiten Menge angehängt wurde.
  • 13 veranschaulicht ein Datenschutzsystem, das dafür konfiguriert ist, Nibble-Anzeichen zu erzeugen, die zum Schutz der zu übertragenden Daten verwendet werden.
  • 14 veranschaulicht ein Sensorsystem, das dafür konfiguriert ist, geschützte Sensordaten zu übermitteln.
  • 15 veranschaulicht einige Störungen, die sich auf ein Datenpaket, eine Datengruppierung, ein Nibble-Anzeichen oder einen Zug von Nibble-Impulsen auswirken.
  • 16A bis 16B veranschaulichen ein Verfahren zum Übertragen von Sensordaten.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Es wird ein Sensorsystem offenbart, das dafür konfiguriert ist, zumindest partiell geschützte Sensordaten über eine Datenübertragungsschnittstelle zu übermitteln. Gemäß einem Beispiel der Offenbarung umfasst das Sensorsystem ein Sensorelement und eine Datenübertragungsschnittstelle, die mit dem Sensorelement kommunikativ gekoppelt ist. Das Sensorelement ist dafür konfiguriert, Sensordaten in dem digitalen Bereich bereitzustellen.
  • Die Datenübertragungsschnittstelle ist dafür konfiguriert, aus den Sensordaten ein Datenpaket zur Übertragung über die Datenübertragungsschnittstelle zu erzeugen. Das Datenpaket umfasst eine Datengruppierung, die ein oder mehrere mit den Sensordaten in Zusammenhang stehende Nibbles umfasst. Das Datenpaket umfasst ferner ein Nibble-Anzeichen, das mindestens auf einem Anteil ausgewählter Nibbles in der Datengruppierung beruht. Ferner werden mehrere Möglichkeiten zum Erzeugen des Nibble-Anzeichens zum partiellen Schutz der Sensordaten offenbart.
  • Die vorliegende Offenbarung wird nun unter Bezugnahme auf die angefügten Figuren beschrieben, wobei gleiche Bezugszeichen sich durchgehend auf gleiche Elemente beziehen, und wobei die veranschaulichten Strukturen und Vorrichtungen nicht notwendigerweise maßstabsgerecht gezeichnet sind. Die Begriffe „Komponente”, „System”, „Schnittstelle”, „Decoder” und dergleichen sollen sich auf eine mit einem Computer in Zusammenhang stehende Entität, Hardware, Software (die z. B. ausgeführt wird) oder Firmware beziehen. Zum Beispiel kann es sich bei einer Komponente um einen Prozessor, einen auf einem Prozessor ausgeführten Prozess, ein Objekt, eine ausführbare Datei, ein Programm, eine Speichervorrichtung, einen elektronischen Schaltkreis oder einen Computer mit einer Verarbeitungsvorrichtung handeln. Zur Veranschaulichung: Eine auf einem Server ausgeführte Anwendung und der Server können ebenfalls eine Komponente sein. Eine oder mehrere Komponenten können sich innerhalb eines Prozesses befinden, und eine Komponente kann auf einem Computer lokalisiert und/oder auf zwei oder mehr Computer verteilt sein.
  • Ferner können diese Komponenten von verschiedenen computerlesbaren Speichermedien aus ausgeführt werden, auf denen verschiedene Datenstrukturen gespeichert sind, wie beispielsweise bei einem Modul. Die Komponenten können mithilfe lokaler und/oder entfernt angeordneter Prozesse Daten austauschen, beispielsweise in Übereinstimmung mit einem Signal, das ein oder mehrere Datenpakete aufweist (z. B. Daten von einer Komponente, die mithilfe des Signals mit einer anderen Komponente in einem lokalen System, einem verteilten System und/oder über ein Netzwerk interagiert, wie beispielsweise das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk oder ein ähnliches Netzwerk mit anderen Systemen).
  • Als ein weiteres Beispiel kann es sich bei einer Komponente um eine Vorrichtung mit spezifischer Funktionalität handeln, die durch mechanische Teile bereitgestellt wird, die mithilfe elektrischer oder elektronischer Schaltungen betätigt werden, wobei die elektrischen oder elektronischen Schaltungen durch eine Softwareanwendung oder Firmwareanwendung betätigt werden können, die von einem oder mehreren Prozessoren ausgeführt wird. Der eine oder die mehreren Prozessoren können sich innerhalb oder außerhalb der Vorrichtung befinden und können mindestens einen Teil der Software- oder Firmwareanwendung ausführen. Als noch ein weiteres Beispiel kann es sich bei einer Komponente um eine Vorrichtung handeln, die eine spezielle Funktionalität durch elektronische Komponenten ohne mechanische Teile bereitstellt; zu den elektronischen Komponenten können ein oder mehrere Prozessoren darin zum Ausführen von Software und/oder Firmware zählen, die mindestens zum Teil die Funktionalität der elektronischen Komponenten verleihen/verleiht.
  • In 13 wird ein Datenschutzsystem 1300 offenbart. Das Datenschutzsystem 1300 umfasst ein Speichersystem 1301, das dafür konfiguriert ist, Nutzlastdaten zu speichern, die mit einem Wandler 1302 in Zusammenhang stehen. Das Speichersystem 1301 ist ferner dafür konfiguriert, ausführbare Anweisungen zu speichern, die einem Datenübertragungsprotokoll zugeordnet sind. Das Datenschutzsystem 1300 umfasst ferner einen Prozessor 1303, der mit dem Speichersystem 1301 kommunikativ gekoppelt und dafür konfiguriert ist, die Nutzlastdaten und die ausführbaren Anweisungen zu empfangen. Der Prozessor 1303 ist ferner dafür konfiguriert, in Übereinstimmung mit den ausführbaren Anweisungen ein Übertragungspaket zu erzeugen. Das Übertragungspaket umfasst eine Datengruppierung, die mindestens ein Nibble umfasst. Das Übertragungspaket umfasst ferner ein Nibble-Anzeichen mit einem Inhalt, der mindestens auf einem Anteil des jeweiligen Nibble oder mindestens auf einem Anteil mehrerer Nibbles in der Datengruppierung beruht. Das Datenschutzsystem 1300 umfasst ferner einen Transceiver, der dafür konfiguriert ist, das Übertragungspaket zu übertragen.
  • Es wird ein nichtflüchtiges maschinenlesbares Medium offenbart. Das nichtflüchtige maschinenlesbare Medium umfasst Anweisungen, die, wenn sie ausgeführt werden, die Maschine zum Speichern von Nutzlastdaten veranlassen, die einem Wandler zugeordnet sind, und zum Speichern ausführbarer Anweisungen, die einem Übertragungsprotokoll zugeordnet sind. Die Maschine empfängt ferner Nutzlastdaten und ausführbare Anweisungen und erzeugt ein Übertragungspaket in Übereinstimmung mit den ausführbaren Anweisungen. Das Übertragungspaket umfasst eine Datengruppierung, die mindestens ein Nibble und ein Nibble-Anzeichen umfasst, dessen Inhalt mindestens auf einem Anteil des jeweiligen Nibble beruht oder mindestens auf einem Anteil mehrerer Nibbles in der Datengruppierung beruht, wobei die Datengruppierung und das Nibble-Anzeichen zusammen das Übertragungspaket ausmachen. Die Maschine überträgt ferner das Übertragungspaket.
  • Zum Beispiel kann bei einem Kraftfahrzeug-Sensorsystem ein Wandler oder Sensor ein Temperatursensor, ein Reifendrucksensor, ein Beschleunigungsmesser, ein Lenkdrehmomentsensor, ein Lenkwinkelsensor, ein Gaspedalsensor, ein Drosselklappensensor, ein Drucksensor, zum Beispiel ein Ansaugunterdrucksensor, ein Airbag-Drucksensor oder ein Airbag-Beschleunigungsmesser sein.
  • Kraftfahrzeug-Sensornetzwerke verfügen über Sensorschnittstellen wie SPC oder SENT, bei denen PWM-Codierung für die Übertragung von 4-Bit-Nibbles verwendet wird. In einem derartigen Fall ist der Prozessor 1303 aus 13 dafür konfiguriert, die Nutzlastdaten und ausführbaren Anweisungen von dem Speicher 1301 zu empfangen und die Nibbles zu erzeugen wie nachfolgend offenbart. 1A veranschaulicht ein Timing-Diagramm der Übertragung eines 4-Bit-Nibble gemäß einem Protokoll. Die minimale Nibble-Impulsbreite beträgt 12 Taktschritte (clock ticks), was einen Nibble-Wert 0 darstellt, und die maximale Nibble-Impulsbreite beträgt 27 Taktschritte, was einen Nibble-Wert 15 darstellt. Jeder Nibble-Zählwert ist 1 Taktschritt. Der Nibble-Impuls weist mehr als 4 niedrig getriebene Taktschritte auf, und alle auf Grundlage des zu übertragenen Nibble verbleibenden Taktschritte werden hoch getrieben. Gemäß dem Beispiel in 1A zeigt die fallende Flanke 101 den Beginn des Nibble-Impulses. Da mehr als 4 Taktschritte niedrig getrieben werden, und alle verbleibenden Taktschritte hoch getrieben werden, kann irgendeine der steigenden Flanken 102 bis 105 verwendet werden. Fachleute werden bereitwillig anerkennen, dass einzelne der steigenden Flanken 102 bis 105 in einem zu übertragenden Nibble praktischerweise zum Adressieren oder Identifizieren einzelner Sensoren verwendet werden können, die Nibbles über einen gemeinsamen Kanal oder eine gemeinsame Leitung übertragen. Alternativ oder zusätzlich können einzelne der steigenden Flanken 102 bis 105 einen Einzelmodus eines Sensors anzeigen, der Nibbles über die (gemeinsame) Leitung überträgt. Zu derartigen Modi können unterschiedliche Empfindlichkeitsmodi des Sensors, ein Kalibrationsmodus oder dergleichen zählen, ohne aber darauf beschränkt zu sein. Der Takt wird dann auf Grundlage des zu übertragenden Nibble niedrig getrieben. Zum Beispiel tritt beim Übertragen eines Nibble mit dem Wert 0 die fallende Flanke bei dem 12. Taktschritt 106 ab dem Beginn des Impulses auf. In ähnlicher Weise treten beim Übertragen von Nibbles mit den Werten 6, 12 und 15 die fallenden Flanken jeweils bei dem 18. Taktschritt 107, dem 24. Taktschritt 108 und dem 27. Taktschritt 109 auf.
  • 1B veranschaulicht die PWM-Codierung für einen Nibble-Wert 0 und einen Nibble-Wert 7. Die PWM-Codierung des Nibble-Wertes 0 ist wie in dem Element 120 gezeigt. Der gesamte Taktschritt-Zählwert (fallende Flanke 110 bis fallende Flanke 112) zum Übertragen des Nibble-Wertes 0 beträgt 12. Das heißt, der Nibble-Impuls beginnt mit der fallenden Flanke 110 und wird für mehr als 4 Taktschritte niedrig getrieben. Er wird anschließend hoch getrieben, was durch die steigende Flanke 111 dargestellt wird. Der Impuls bleibt hoch, bis er den gewünschten zu übertragenden Nibble-Wert erreicht, der gemäß diesem Beispiel 0 beträgt. Daher tritt die fallende Flanke 112 bei dem 12. Taktschritt ab dem Beginn des Impulses auf und stellt somit das Ende des Impulses dar. Die PWM-Codierung des Nibble-Wertes 7 ist wie in dem Element 130 gezeigt. Der gesamte Taktschritt-Zählwert (fallende Flanke 113 bis fallende Flanke 115) zum Übertragen des Nibble-Wertes 7 beträgt 19. Das heißt, der Nibble-Impuls beginnt mit der fallenden Flanke 113 und wird für mehr als 4 Taktschritte niedrig getrieben. Er wird anschließend hoch getrieben, was durch die steigende Flanke 114 dargestellt wird. Der Impuls bleibt hoch, bis er den gewünschten zu übertragenden Nibble-Wert erreicht, der gemäß diesem Beispiel 7 beträgt. Daher tritt die fallende Flanke 112 bei dem 12. Taktschritt ab dem Beginn des Impulses auf und stellt somit das Ende des Impulses dar. Jedem Nibble-Wert wird ein Taktschritt zugewiesen. Daher nimmt ein 4-Bit-Nibble Werte von 0 bis 15 an. Aus diesem Grund kann ein PWM-codierter Nibble-Impuls 12 bis 27 Taktschritte in Anspruch nehmen.
  • 2 veranschaulicht eine Verzerrung in der Übertragungsleitung, die während der Übertragung eines Nibble auftreten kann. Die Verzerrung 200 kann in der Übertragungsleitung willkürlich vorkommen. Allerdings wird das Erkennen der Verzerrung in der Nachricht durch den Zeitrahmen beeinflusst, während dessen die Verzerrung auftritt, Zum Beispiel handelt es sich bei der Nachricht 201 um eine PMW-Codierung des Nibble-Wertes 2. Die Nibble-Impulslänge beträgt 14 Taktschritte. Es wird der Einfluss der Spitzen in der Verzerrung 200 während vier unterschiedlicher Zeitrahmen erörtert.
  • Die Spitze 202 tritt bei dem vorliegenden Beispiel in 2 auf, wenn der Nachrichtenimpuls konstant hoch 202(a) ist, und ist damit leicht zu erkennen. Die Spitze 202 beeinflusst in diesem Fall nicht den Nibble-Wert (d. h., sie verursacht keinen potenziellen Fehler). In ähnlicher Weise tritt die Spitze 205 auf, wenn der Nachrichtenimpuls konstant niedrig 205(a) ist, und ist daher ebenfalls leicht zu erkennen. Die Spitze 205 beeinflusst in diesem Fall nicht den Nibble-Wert. Allerdings treten die Spitzen 203 und 204 während des Abfalls der Nachricht von hoch auf niedrig auf. Diese Spitzen können die Änderung des Nibble-Wertes zur Folge haben. Bei den Spitzen 203 oder 204 kann sich der Nibble-Wert auf einen um einen Bitwert niedrigeren als gezeigt 203(a) ändern, wobei sich die fallende Flanke, durch die der Nibble-Wert bestimmt wird, um einen Taktschritt nach links verschoben hat, oder um einen höheren Bitwert als gezeigt 204(a), wobei sich die fallende Flanke, durch die der Nibble-Wert bestimmt wird, um einen Taktschritt nach rechts verschoben hat. Dies führt zum Empfang unrichtiger Nachrichten. Insbesondere ist bei der durch die Spitzen 203 oder 204 beeinflussten Nachricht der tatsächliche Nibble-Wert und damit die richtige Nachricht nicht zu erkennen.
  • Das Signal-Rausch-Verhältnis (signal to noise ratio, SNR) des höchstwertigen Bits (MSB) ist aufgrund der PWM sehr hoch. Die Möglichkeit einer MSB-Änderung ist sehr gering. Wenn ein Fehler in dem MSB des 4-Bit-Nibble auftritt, ändert sich das PWM-Signal von einem langen Impuls zu einem kurzen Impuls oder umgekehrt. Somit ist der MSB-Fehler mithilfe einer Timing-Bewertungs-Technik leicht erkennbar. 3A veranschaulicht die Leichtigkeit einer Fehlererkennung in dem Fall eines MSB-Fehlers. Das Timing-Diagramm 300 aus 3A zeigt die PWM-Codierung des Nibble-Wertes 13. Die Gesamtzahl von Taktschritten zum Darstellen des Nibble-Wertes 13 beträgt 25. Wenn ein MSB-Fehler auftritt, ändert sich der Nibble-Wert von 13 auf 5. Der Nibble-Wert 13 wird binär als 1101 dargestellt. Im Fall eines Fehlers ändert sich das MSB der Nachricht 1 auf 0, (d. h. 0101), und daher ist der binär dargestellte Nibble-Wert jetzt 5. Die Gesamtzahl von Taktschritten zum Darstellen des Nibble-Wertes 5 beträgt 17, was durch das Element 301 aus 3A dargestellt wird. Es gibt einen wesentlichen Unterschied bei der Anzahl hoch getriebener Taktschritte, wenn ein derartiger MSB-Fehler auftritt, und dieser ist durch eine Timing-Bewertung leicht zu erkennen.
  • Wenn allerdings ein Fehler in dem LSB (geringstwertiges Bit) des zu übertragenden Nibble auftritt, ist es schwierig, den Fehler mithilfe einer Timing-Bewertung zu erkennen. 3B veranschaulicht die Änderung eines Nibble-Wertes, wenn ein LSB-Fehler vorliegt. Das Element 302 aus 3B zeigt die PWM-Codierung des Nibble-Wertes 7. Die Gesamtzahl von Taktschritten zum Darstellen des Nibble-Wertes 7 beträgt 19. Wenn ein LSB-Fehler auftritt, ändert sich der Nibble-Wert von 7 auf 6. Der Nibble-Wert 7 wird binär als 0111 dargestellt. Im Fall eines Fehlers ändert sich das LSB der Nachricht 1 auf 0 (d. h. 0110), und daher ist der binär dargestellte Nibble-Wert jetzt 6. Die Gesamtzahl von Taktschritten zum Darstellen des Nibble-Wertes 6 beträgt 18, was durch das Element 303 aus 3B dargestellt wird. Die Differenz bei der Anzahl von Taktschritten ist bezeichnenderweise gering, und daher ist die Erkennung des LSB-Fehlers während einer Übertragung schwierig festzustellen.
  • Um die zu übertragende Nachricht zu schützen, wird eine Prüfsumme an das Ende der zu übertragenden Nachricht angehängt. Bei der Prüfsumme handelt es sich normalerweise um eine 4-Bit-CRC (cyclic redundancy check, zyklische Redundanzprüfung), die über die gesamte Nachricht gebildet wird. Jedoch ist, wie vorstehend erläutert, der Fehler im MSB leicht mithilfe einer Timing-Bewertung zu erkennen, und daher ist es nicht erforderlich, das MSB in die Berechnung der CRC einzubeziehen. Die unterschiedlichen Arten, die CRC ohne Einbeziehung des MSB zu berechnen, werden nachfolgend erläutert. Im Folgenden werden mehrere Arten beschrieben, das Nibble-Anzeichen zum besseren Schutz der Nachricht zu verbessern.
  • 4A bis 4B veranschaulichen eine Parität, die über jedes einzelne Nibble gebildet wird. Gemäß 4A werden vier Daten-Nibbles übertragen, jeweils mit dem Nibble-Wert 12, 7, 15 und 8. Die vier Daten-Nibbles werden zusammen als eine Datengruppierung bezeichnet. Die entsprechenden Taktschritte für diese Nibble-Werte sind 24, 19, 27 sowie 20, und die jeweiligen Impulse werden durch die Elemente 401, 402, 403 und 404 bezeichnet. Über jeden Nibble-Wert kann eine Parität gebildet werden. Die Parität 401(a) des ersten Nibble-Wertes 12 ist zum Beispiel 0, die Parität 402(a) über den zweiten Nibble-Wert ist 1 und so weiter. Die Parität befindet sich hinter dem jeweiligen Nibble, sodass die Parität von dem jeweiligen Nibble unterscheidbar ist. Das heißt, auf das erste Nibble 12 folgt unmittelbar dessen Parität, auf die dann das zweite Nibble und dessen Parität folgen und so weiter. Wie in 4A zu sehen ist, wird der Paritätswert durch die Breite der Paritätsimpulse widergespiegelt. Die Parität kann durch eine zyklische Redundanzprüfung (CRC), einen Hamming-Code, einen Turbo-Code oder einen Low Density Parity Check (LDPC) ersetzt werden. Diese werden in der weiteren Erörterung allgemein als Nibble-Anzeichen bezeichnet.
  • In 4B befinden sich die den jeweiligen Nibbles zugeordneten Nibble-Anzeichen insgesamt hinter der Datengruppierung, sodass das gemeinsame Nibble-Anzeichen von der Datengruppierung unterscheidbar ist. Das gemeinsame Nibble-Anzeichen wird durch Anhängen des Nibble-Anzeichens jedes Nibble erlangt. Die über die Daten-Nibbles 401, 402, 403 und 404 gebildete Parität ist jeweils 0, 1, 0 und 1. Daher ist gemäß dem Beispiel die gemeinsame Nibble-Parität in binärer Darstellung 0101, was dem Nibble-Wert 5 entspricht, der ferner einer Impulslänge von 17 Ticks entspricht, die durch das Element 405 dargestellt wird, das an das Ende des 4-Bit-Nibble angehängt ist. Es ist von Vorteil, die Nibble-Anzeichen an dem Ende der Datengruppierung zu übertragen, wie in 4B gezeigt, anstatt jedes Nibble-Anzeichen unmittelbar nach seinem entsprechenden Daten-Nibble zu übertragen, wie in 4A gezeigt, da, wie in dem Beispiel gemäß 4B gezeigt, weniger Taktschritte benötigt werden, um dieselben Informationen wie in dem Beispiel gemäß 4A zu übertragen. Auf diese Weise wird die Geschwindigkeit der Übertragung über die Schnittstelle verbessert.
  • 5A bis 5B veranschaulichen ein Nibble-Anzeichen, das nur über das erste geringstwertige Bit jedes Nibble, als 1-LSB bezeichnet, gebildet wird. Der Einfachheit halber wird in den weiteren Beispielen eine Paritätsprüfung über das erste LSB verwendet, um ein Nibble-Anzeichen zu erläutern. Gemäß den Figuren weisen die vier zu übertragenden Daten-Nibbles jeweils den Nibble-Wert 12, 7, 15 und 8 auf, die eine Datengruppierung bilden. Die entsprechenden Taktschritte für diese Nibble-Werte sind 24, 19, 27 sowie 20, und die jeweiligen Impulse werden durch die Elemente 501, 502, 503 und 504 bezeichnet. Eine 1-LSB-Parität wird über jeden Nibble-Wert gebildet. Die 1-LSB-Parität 501(a) des ersten Nibble-Wertes 12 ist zum Beispiel 0, die 1-LSB-Parität 502(a) über den zweiten Nibble-Wert ist 1 und so weiter. Die 1-LSB-Parität befindet sich hinter dem jeweiligen Nibble, sodass die 1-LSB-Parität von dem jeweiligen Nibble unterscheidbar ist. Das heißt, auf das erste Nibble 501 folgt unmittelbar dessen 1-LSB-Parität 501(a), auf die dann das zweite Nibble 502 und dessen 1-LSB-Parität 502(a) folgen und so weiter.
  • In 5B befinden sich die den jeweiligen Nibbles zugeordneten Nibble-Anzeichen insgesamt hinter der Datengruppierung (d. h. hinter den 4 Nibbles), sodass das gemeinsame Nibble-Anzeichen von der Datengruppierung unterscheidbar ist. Die über die Daten-Nibbles 501, 502, 503 und 504 gebildete 1-LSB-Parität ist jeweils 0, 1, 1 und 0. Die gemeinsame Nibble-1-LSB-Parität 505 ist daher in binärer Darstellung 0110, was dem Nibble-Wert 6 entspricht, der ferner einer Impulslänge von 18 Ticks entspricht, die durch das Element 505 dargestellt wird. Es ist von Vorteil, die Nibble-Anzeichen an dem Ende der Datengruppierung zu übertragen, wie in 5B gezeigt, anstatt die Nibble-Anzeichen unmittelbar nach dem entsprechenden Daten-Nibble zu übertragen, wie in 5A gezeigt, da, wie in dem Beispiel gemäß 5B gezeigt, weniger Taktschritte benötigt werden, um dieselben Informationen wie in dem Beispiel gemäß 5A zu übertragen.
  • 6A bis 6B veranschaulichen ein Nibble-Anzeichen, das nur über die ersten zwei geringstwertigen Bits jedes Nibble, als 2-LSB bezeichnet, gebildet wird. In 6A befindet sich die 2-LSB-Parität hinter den jeweiligen Nibbles, sodass die 2-LSB-Parität von dem jeweiligen Nibble unterscheidbar ist. Das heißt, auf das erste Nibble 601 folgt unmittelbar dessen 2-LSB-Parität 601(a), auf die dann das zweite Nibble 602 und dessen 2-LSB-Parität 602(a) folgen und so weiter. In 6B befinden sich jedoch die den jeweiligen Nibbles zugeordneten Nibble-Anzeichen 605 (2-LSB-Parität) insgesamt hinter der Datengruppierung (601 bis 604), sodass das gemeinsame Nibble-Anzeichen von der Datengruppierung unterscheidbar ist. Wie zu sehen ist, wurde die zum Übertragen der Datengruppierung und des Nibble-Anzeichens benötigte Zeit in 6B gegenüber der in 6A veranschaulichten verbessert.
  • 7A bis 78 veranschaulichen ein Nibble-Anzeichen, das nur über die ersten drei geringstwertigen Bits jedes Nibble, als 3-LSB bezeichnet, gebildet wird. In 7A befindet sich die 3-LSB-Parität hinter den jeweiligen Nibbles, sodass die 3-LSB-Parität von dem jeweiligen Nibble unterscheidbar ist. Das heißt, auf das erste Nibble 701 folgt unmittelbar dessen 3-LSB-Parität 701(a), auf die dann das zweite Nibble 702 und dessen 3-LSB-Parität 702(a) folgen und so weiter. In 7B befinden sich jedoch die den jeweiligen Nibbles zugeordneten Nibble-Anzeichen 705 (3-LSB-Parität) insgesamt hinter der Datengruppierung (701 bis 704), sodass das gemeinsame Nibble-Anzeichen von der Datengruppierung unterscheidbar ist. Wie zu sehen ist, wurde die zum Übertragen der Datengruppierung und des Nibble-Anzeichens benötigte Zeit in 78 gegenüber der in 7A veranschaulichten verbessert.
  • 8A bis 8D veranschaulichen das Berechnen des über die Datengruppierung gebildeten Nibble-Anzeichens. Bei den folgenden Beispielen wird eine Paritätsprüfung als das Nibble-Anzeichen verwendet. Gemäß den Figuren weisen die vier zu übertragenden Daten-Nibbles jeweils den Nibble-Wert 12, 7, 15 und 8 auf, die eine Datengruppierung bilden. Die entsprechenden Taktschritte für diese Nibble-Werte sind 24, 19, 27 sowie 20, und die jeweiligen Impulse werden durch die Elemente 801, 802, 803 und 804 bezeichnet. Eine Parität wird über die gesamte Nachricht gebildet, das heißt, über alle 4 Nibbles. Die Parität wird dann hinter der Datengruppierung platziert. Mit Bezug auf 4A: Bei dem hinter der Datengruppierung befindlichen Nibble-Anzeichen handelt es sich um ein gemeinsames Nibble-Anzeichen. Das heißt, die Nibble-Anzeichen aller entsprechenden Nibbles werden angehängt, um ein gemeinsames Nibble-Anzeichen zu bilden, das sich an dem Ende der Datengruppierung befindet. Allerdings wird gemäß dem Beispiel in 8A das Nibble-Anzeichen über alle Nibbles der Datengruppierung berechnet und an dem Ende der Datengruppierung platziert.
  • In 8B wird eine 1-LSB-Parität über jedes Nibble über die Gesamtheit der Datengruppierung gebildet. Die LSBs der Daten-Nibbles 12, 7, 15 und 8 sind jeweils 0, 1, 1 und 0. Die Parität wird nun über diese LSBs gebildet und hinter der Datengruppierung platziert.
  • In 8C wird eine 2-LSB-Parität jedes Nibble über die gesamte Datengruppierung gebildet. Die ersten zwei LSBs der Daten-Nibbles 12, 7, 15 und 8 sind jeweils 0, 0; 1, 1; 1, 1 und 0, 0. Nun wird die Parität über diese Bits gebildet, die dem Wert 0 entspricht, der ferner 12 Taktschritten entspricht, die durch das Element 807 dargestellt werden. Die Parität wird hinter der Datengruppierung platziert.
  • In 8D wird eine 3-LSB-Parität jedes Nibble über die gesamte Datengruppierung gebildet. Die ersten drei LSBs der Daten-Nibbles 12, 7, 15 und 8 sind jeweils 1, 0 und 0; 1, 1 und 1; 1, 1 und 1; und 0, 0 und 0. Nun wird die Parität über diese Bits gebildet, die dem Wert 1 entspricht, der ferner 13 Taktschritten entspricht, die durch das Element 808 dargestellt werden. Die Parität wird hinter der Datengruppierung platziert.
  • 9A bis 9D veranschaulichen das Berechnen des Nibble-Anzeichens für das jeweilige Nibble, wobei das Nibble-Anzeichen an das Ende des jeweiligen Nibble angehängt wird und nicht, wie zum Beispiel in 4A veranschaulicht, von dem Nibble selbst unterscheidbar ist. Bei den folgenden Beispielen wird eine Paritätsprüfung als das Nibble-Anzeichen verwendet. Gemäß den Figuren weisen die vier zu übertragenden Daten-Nibbles die Nibble-Werte 12, 7, 15 und 8 auf, die eine Datengruppierung bilden. Die entsprechenden Taktschritte für diese Nibble-Werte sind 24, 19, 27 und 20.
  • In 9A wird eine Parität über jedes Nibble gebildet, und die Parität wird an das Ende des jeweiligen Nibble angehängt. Das erste Nibble mit dem Nibble-Wert 12 kann in der Binärform als 1100 dargestellt werden. Dieses hat eine Parität von 0. Diese Parität wird an das Ende der Binärzahl angehängt, wodurch diese zu 11000 wird, was dem Nibble-Wert 24 entspricht. Die Nibble-Impulslänge, die den Nibble-Wert repräsentiert, weist 36 Taktschritte auf, was durch das Element 901 in der 9A dargestellt wird. In ähnlicher Weise werden die Nibble-Anzeichen für den Rest der Nibbles in der Datengruppierung berechnet.
  • In 9B wird eine 1-LSB-Parität über jedes Nibble gebildet, und die 1-LSB-Parität wird an das Ende des jeweiligen Nibble angehängt. Das erste Nibble mit dem Nibble-Wert 12 kann in der Binärform als 1100 dargestellt werden. Dieses hat eine 1-LSB-Parität von 0. Diese 1-LSB-Parität wird an das Ende der Binärzahl angehängt, wodurch diese zu 11000 wird, was dem Nibble-Wert 24 entspricht. Die Nibble-Impulslänge, die den Nibble-Wert repräsentiert, weist 36 Taktschritte auf, was durch das Element 905 in 9B dargestellt wird. In ähnlicher Weise werden die Nibble-Anzeichen für den Rest der Nibbles in der Datengruppierung berechnet.
  • In 9C und 9D werden jeweils eine 2-LSB-Parität und eine 3-LSB-Parität über jedes Nibble gebildet. Die 2-LSB-Parität wird bei der in 9C definierten Ausführungsform an das Ende des jeweiligen Nibble angehängt, und die 3-LSB-Parität wird bei der in 9D definierten Ausführungsform an das Ende des jeweiligen Nibble angehängt.
  • Gemäß einem anderen Datenübertragungsprotokoll weist ein Nibble drei Bits auf. 10A bis 10C veranschaulichen das Verringern der Nibble-Länge auf drei Bits und das Berechnen des Nibble-Anzeichens für das jeweilige Nibble, wobei das Nibble-Anzeichen an das Ende des jeweiligen Nibble angehängt wird. Bei den folgenden Beispielen wird eine Paritätsprüfung als das Nibble-Anzeichen verwendet. Gemäß den Figuren weisen die drei zu übertragenden 4-Bit-Daten-Nibbles die Nibble-Werte 12, 7 und 15 auf. Diese werden in Binärform als 1100, 0111 und 1111 dargestellt. Diese drei 4-Bit-Nibbles werden auf vier 3-Bit-Nibbles verringert bzw. in diese umgewandelt, die dieselben Informationen enthalten, aber eine andere Gruppierung aufweisen. Die drei zusammen gruppierten 4-Bit-Nibbles 1100, 0111 und 1111 ergeben eine Folge von 12 Bits 110001111111. Diese Folge von 12 Bits wird jetzt in vier 3-Bit-Nibbles 110, 001, 111 und 111 gruppiert. Auf diese Weise werden die drei 4-Bit-Nibbles 1100, 0111 und 1111 zu vier 3-Bit-Nibbles 110, 001, 111 und 111 neu gruppiert. Diese vier 3-Bit-Nibbles bilden zusammen die Datengruppierung. In 10A wird eine 1-LSB-Parität über jedes 3-Bit-Nibble gebildet, und die 1-LSB-Parität wird an das Ende des jeweiligen Nibble angehängt. Das erste Nibble mit dem binären Nibble-Wert 110 kann als der Nibble-Wert 6 dargestellt werden. Dieses hat eine 1-LSB-Parität von 0. Diese 1-LSB-Parität wird an das Ende der Binärzahl angehängt, wodurch diese zu 1100 wird, was dem Nibble-Wert 12 entspricht. Die Nibble-Impulslänge, die diesen Nibble-Wert repräsentiert, weist 24 Taktschritte auf, was durch das Element 1001 in 10A dargestellt wird. In ähnlicher Weise werden die Nibble-Anzeichen für den Rest der 3-Bit-Nibbles in der Datengruppierung berechnet. In einem solchen Fall haben das zweite, das dritte und das vierte Nibble jeweils den Nibble-Wert 001, 111 und 111, die jeweils den 1-LSB-Paritätswert 1, 1 und 1 aufweisen. Diese 1-LSB-Paritätswerte werden an das Ende der jeweiligen Nibbles angehängt, wodurch daraus 0011, 1111 und 1111 werden, was jeweils dem Nibble-Wert 3, 15 und 15 entspricht. Die Nibble-Impulslänge, die diese Nibble-Werte repräsentiert, weist 15, 27 und 27 Taktschritte auf, was jeweils durch das Element 1002, 1003 und 1004 in 10A dargestellt wird.
  • In 10B und 10C werden jeweils eine 2-LSB-Parität und eine 3-LSB-Parität über jedes 3-Bit-Nibble gebildet. Die 2-LSB-Parität wird bei der in 10B definierten Ausführungsform an das Ende des jeweiligen Nibble angehängt. Das erste Nibble mit dem binären Wert 110 kann zum Beispiel als der Nibble-Wert 6 dargestellt werden. Dieser weist eine 2-LSB-Parität von 1 auf (Parität gebildet über die zwei geringstwertigen Bits des Nibble, 1 und 0). Die 2-LSB-Parität wird an das Ende der Binärzahl angehängt, wodurch diese zu 1101 wird, was dem Nibble-Wert 13 entspricht. Die Nibble-Impulslänge, die diesen Nibble-Wert repräsentiert, weist 25 Taktschritte auf, was durch das Element 1006 in 10B dargestellt wird. In ähnlicher Weise werden die Nibble-Anzeichen für den Rest der 3-Bit-Nibbles in der Datengruppierung berechnet.
  • Die 3-LSB-Parität wird bei der in 10C definierten Ausführungsform an das Ende des jeweiligen Nibble angehängt. Das erste Nibble mit dem binären Wert 110 kann zum Beispiel als der Nibble-Wert 6 dargestellt werden. Dieses weist eine 3-LSB-Parität von 0 auf (Parität gebildet über die drei geringstwertigen Bits des Nibble, 1, 1 und 0). Die 3-LSB-Parität wird an das Ende der Binärzahl angehängt, wodurch diese zu 1100 wird, was dem Nibble-Wert 12 entspricht. Die Nibble-Impulslänge, die diesen Nibble-Wert repräsentiert weist 24 Taktschritte auf, was durch das Element 1011 in 10C dargestellt wird. In ähnlicher Weise werden die Nibble-Anzeichen für den Rest der 3-Bit-Nibbles in der Datengruppierung berechnet.
  • Bei einer anderen Ausführungsform werden Nibble-Anzeichen über eine andere Anzahl von geringstwertigen Bits (LSBs) für andere Daten-Nibbles in der Datengruppierung gebildet. Zum Beispiel kann eine 3-LSB-Parität über das höchstwertige Daten-Nibble gebildet werden, eine 1-LSB-Parität kann über das geringstwertige Daten-Nibble gebildet werden, und eine 2-LSB-Parität kann über die anderen Nibbles gebildet werden.
  • Der Begriff Modulo-16-Summe wird zum besseren Verständnis des Begriffes nachfolgend an einem Beispiel erläutert. Man stelle sich drei Zahlen vor: 10, 15 und 20. Die Summe dieser drei Zahlen ist 45. Der erhaltene Rest, wenn die Summe der Zahlen durch 16 geteilt wird, wird als die Modulo-16-Summe der Zahlen bezeichnet. Die Modulo-16-Summe von 10, 15 und 20 ist daher 13, da der erhaltene Rest, wenn 45 durch 16 geteilt wird, 13 ist.
  • Ferner besteht bei einer anderen Ausführungsform die Datengruppierung aus fünf Daten-Nibbles. Das Nibble-Anzeichen ist gemäß einer Ausführungsform die Differenz zwischen der Modulo-16-Summe des ersten, des dritten und des fünften Nibble der Datengruppierung und der Modulo-16-Summe des zweiten, des vierten und des fünften Nibble der Datengruppierung. Gemäß 11 weisen die fünf zu übertragenden Daten-Nibbles Nibble-Werte von 4, 2, 10, 8 und 5 auf, die jeweils 16, 14, 22, 20 und 27 Taktschritten entsprechen, die jeweils durch das Element 1101, 1102, 1103, 1104 und 1105 dargestellt werden. Die Modulo-16-Summe des ersten, des dritten und des fünften Nibble ist 13. Die Modulo-16-Summe des zweiten, des vierten und des fünften Nibble ist 9. Das Nibble-Anzeichen 1106 ist die Differenz zwischen den zwei Modulo-16-Summen, die 4 beträgt. Dies entspricht einem Impuls mit 16 Taktschritten. Das Nibble-Anzeichen befindet sich hinter der Datengruppierung, sodass das Nibble-Anzeichen von der Datengruppierung unterscheidbar ist.
  • Der Begriff Modulo-4-Summe wird zum besseren Verständnis des Begriffes nachfolgend an einem Beispiel erläutert. Man stelle sich drei Zahlen vor: 10, 15 und 20. Die Summe dieser drei Zahlen ist 45. Der erhaltene Rest, wenn die Summe der Zahlen durch 4 geteilt wird, wird als die Modulo-4-Summe der Zahlen bezeichnet. Die Modulo-16-Summe von 10, 15 und 20 ist daher 1, da der erhaltene Rest, wenn 45 durch 4 geteilt wird, 1 ist.
  • Gemäß 12 weisen die fünf zu übertragenden Daten-Nibbles Nibble-Werte von 4, 2, 10, 8 und 15 auf, die jeweils 16, 14, 22, 20 und 27 Taktschritten entsprechen, die jeweils durch das Element 1201, 1202, 1203, 1204 und 1205 dargestellt werden. Die Modulo-4-Summe der fünf Nibbles ist 3, was durch die Binärzahl 11 dargestellt wird. Die Modulo-4-Summe der ersten Menge, die das erste, das dritte und das fünfte Nibble umfasst, ist 2. Die Modulo-4-Summe der zweiten Menge, die das zweite, das vierte und das fünfte Nibble umfasst, ist 1. Die Differenz zwischen den Modulo-4-Summen der ersten Menge und der zweiten Menge ist 1, was durch die Binärzahl 01 dargestellt wird. Das Nibble-Anzeichen 1206 ist die Modulo-4-Summe der fünf Nibbles, die an die Differenz zwischen der Modulo-4-Summe der ersten Menge und der zweiten Menge angehängt wurde. Das Nibble-Anzeichen in Binärform ist daher 1101, was dem Nibble-Anzeichen-Wert 13 entspricht, der ferner 25 Taktschritten entspricht.
  • Während Modulo-4 und Modulo-16, wie auch Summen oder Differenzen davon, als Beispiele für eine Berechnung erörtert wurden, sind andere Formen einer Berechnung eines gemeinsamen Nibble-Anzeichens vorstellbar. Als ein nicht einschränkendes Beispiel sei eine Datengruppierung aus Nibbles betrachtet, die die Dezimalwerte 3, 5, 14, 12 und 8 darstellen, die als die Datengruppierung übertragen werden sollen. Es ist gut vorstellbar, negative Werte für einige der Nibbles in der Datengruppierung zu verwenden, zum Beispiel den ersten und vierten Wert in der Datengruppierung, während der erste, der dritte und der fünfte Wert unverändert bleiben. Wenn nun die Modulo-16-Summe aus der geänderten Datengruppierung berechnet wird, die (als Dezimalzahlen) 3, -5, 14, -12, 8 darstellt, was 8 (als Dezimalzahl) ist, kann dieser Wert als das gemeinsame Nibble-Anzeichen übertragen werden, wenn die Dezimalwerte 3, 5, 14, 12 und 8 als Nibbles in der Datengruppierung und/oder das gemeinsame Nibble-Anzeichen übertragen werden. Ein Einzelbitfehler in dem Kanal oder der Leitung kann die übertragenen Nibbles derart ändern, dass sie die Dezimalwerte 3, 6, 13, 12 und 8 darstellen, was bewirkt, dass eine Empfangsschnittstelle 300 (nachfolgend ausführlich erläutert) das gemeinsame Nibble-Anzeichen als die Dezimalzahl 6 anstelle des ursprünglichen Dezimalwerts von 8 darstellend berechnet. Es können Umstände vorliegen, bei denen ein derartiger Ansatz zum Berechnen des gemeinsamen Nibble-Anzeichens nicht alle Einzelbitfehler vollständig abdeckt. Derartige Umstände können auftreten, wenn eine gerade Anzahl von Nibbles als die Datengruppierung übertragen werden soll, und das gemeinsame Nibble-Anzeichen einen Bitfehler erkennen soll, der sich auf den Kalibrations- oder Synchronisationsimpuls (siehe SYNC in 15) auswirkt. Unter solchen Umständen können alle Nibbles in der Datengruppierung um 2 LSB inkrementiert oder dekrementiert werden, was bedeuten kann, dass die Summe mit alternierenden Vorzeichen nicht zum Erkennen derartiger Störungen geeignet ist. Zu diesem Zweck kann ein (gemeinsames) Nibble-Anzeichen gewählt werden, wobei die Modulo-4-Summe der Werte mit alternierenden Vorzeichen und eine Modulo-4-Summe von Werten mit nicht alternierenden Vorzeichen genommen werden. Ein derartiges Verfahren zum Berechnen des (gemeinsamen) Nibble-Anzeichens kann als ein „ausgeglichenes” („even”) bzw. „E”-Verfahren bezeichnet werden. Es lässt sich möglicherweise zeigen, dass die Summe mit nicht alternierenden Vorzeichen dennoch in der Lage ist, den Einzelbitfehler zu erkennen, wie bereits beschrieben. Beide Verfahren zum Berechnen des (gemeinsamen) Nibble-Anzeichens sind in der Lage, Einzelbitfehler zu erkennen, insbesondere in Fällen, bei denen die Datengruppierung während eines Einrichtens des Busses oder Kanals vor und/oder nach einem Übertragen des Datenpakets in Registern gespeichert oder auf einem Bus übertragen wird.
  • 14 veranschaulicht ein Sensorsystem 150, für das Datenschutztechniken, wie sie bereits offenbart und in Verbindung mit 1A bis 12 beschrieben wurden, von Interesse sein können, um Sensordaten in Verbindung mit einem Sensorsystem 150 zu schützen. Insbesondere können die Datenschutztechniken im Hinblick auf ein Sensorsystem von Interesse sein, das im Kraftfahrzeugbereich verwendbar, aber nicht darauf beschränkt ist. Bei derartigen Sensorsystemen handelt es sich zum Beispiel um einen Lenkwinkelsensor oder Lenkdrehmomentsensor, bei dem ein PWM-Protokoll, beispielsweise das SPC-Protokoll, zum Übertragen der Sensordaten von einem Sensorsystem 150 über eine Übertragungsschnittstelle 200 zu einer Empfangsschnittstelle 300 verwendet wird. Offensichtlich können die in dieser Offenbarung beschriebenen Datenschutztechniken auch für andere Sensorsysteme verwendet werden; das Sensorsystem des Winkelsensors/Drehmomentsensors soll als ein Beispiel zu Veranschaulichungszwecken aufgefasst werden und in keiner Weise die Lehren der vorliegenden Offenbarung einschränken.
  • Es ist von Interesse, eine (d. h. digitale) Darstellung der Sensordaten unter Verwendung eines Kabel- oder Bussystems von der Übertragungsschnittstelle 200 zu der Empfangsschnittstelle 300 zu übertragen. Es versteht sich, dass das Sensorsystem 150 ein Sensorelement 155 umfassen kann. Das Sensorelement 155 kann einen physischen Parameter wie beispielsweise einen Drehwinkel messen, ist aber nicht darauf beschränkt. Im Prinzip können die vorstehend beschriebenen Datenschutztechniken in Verbindung mit jedem Sensorsystem 150 verwendet werden, das Sensordaten, die die physische Quantität betreffen, in dem digitalen Bereich bereitstellt. Die offenbarten Datenschutztechniken sind insbesondere vorteilhaft, wenn ein Kanal oder Bus von relativ geringer Qualität und mit relativ geringem Durchsatz verwendet wird. Eine praktische Möglichkeit zur Darstellung der Sensordaten können die vorstehend beschriebenen Nibbles sein. Das Sensorsystem 150 kann einen Analog-Digital-Wandler (A/D-Wandler) 156 umfassen, der dafür konfiguriert ist, eine digitale Darstellung des in dem analogen Bereich erlangten Sensorsignals bereitzustellen. Einzelheiten des tatsächlichen Sensorelements 155 und/oder des A/D-Wandlers 156 sind nicht von besonderer Relevanz für die Lehren der vorliegenden Offenbarung und werden daher nicht im Einzelnen erläutert.
  • Das Sensorsystem 150 umfasst eine Datenübertragungsschnittstelle 200. Die Datenübertragungsschnittstelle 200 ist dafür konfiguriert, eine Datengruppierung des Sensorsignals bereitzustellen, wie vorstehend erörtert. Praktischerweise umfasst die Datengruppierung digitale Darstellungen einzelner Sensorsignale. Das bedeutet, digitale Darstellungen tatsächlicher Werte des von dem Sensorelement 155 gemessenen physischen Parameters. Bei einer Ausführungsform sind digitale Darstellungen von Signalen als Datengruppierung Nibbles, wie vorstehend erläutert, zum Beispiel die Nibbles 801, 802, 803 und 804, wie mit Bezug auf 8A und 8B erläutert, aufgrund der einfachen und kosteneffizienten Realisierung der übertragenden Datenübertragungsschnittstelle 200 und der Empfangsschnittstelle 300.
  • Die Datenübertragungsschnittstelle 200 ist ferner dafür konfiguriert, ein Nibble-Anzeichen bereitzustellen, um digitale Darstellungen von Sensordaten (d. h. Nibbles) in der Datengruppierung zumindest partiell zu schützen. Das Nibble-Anzeichen kann ohne Einschränkung als einzelnes Anzeichen realisiert werden, das an eine Sequenz von Nibbles (nämlich die Datengruppierung) angefügt oder in diese eingefügt wird. Es kann praktisch sein, das Anzeichen für ein einzelnes Nibble der Datengruppierung hinter einem jeweiligen Daten-Nibble einzufügen, siehe zum Beispiel das einzelne Anzeichen 401(a) für das Daten-Nibble 401 aus 4A.
  • Alternativ oder zusätzlich kann das Nibble-Anzeichen als gemeinsames Anzeichen, zum Beispiel das Anzeichen 405 aus 4B, hinter der Datengruppierung realisiert werden, zum Beispiel hinter den Nibbles 401 bis 404 aus 4B, wie bereits bei verschiedenen Gelegenheiten erläutert.
  • Ferner kann die Datenübertragungsschnittstelle 200 dafür konfiguriert sein, Datenpakete 201 von dem Sensorsystem 150 an eine Empfangsschnittstelle 300 zu übermitteln. Zu diesem Zweck ist die Datenübertragungsschnittstelle 200 dafür konfiguriert, zu übertragende Datenpakete bereitzustellen. Die Datenpakete können praktischerweise die Datengruppierung zusammen mit dem gemeinsamen und/oder einzelnen Nibble-Anzeichen umfassen, wie mit Bezug auf 4A bis 12 erläutert wurde. Offensichtlich kann die Datenübertragungsschnittstelle 200 irgendeine Art von Speicher- und/oder Datenverarbeitungsfähigkeit umfassen, zum Beispiel in der Form eines digitalen Signalprozessors. Zusätzlich oder alternativ kann die Empfangsschnittstelle 300 ohne Einschränkung als Hardware oder als Software oder eine Kombination davon und bevorzugt unter Verwendung eines digitalen Signalprozessors realisiert werden.
  • Abhängig von den Umständen kann es von Interesse sein, die Datengruppierung und das Nibble-Anzeichen gleichermaßen als Nibbles darzustellen. Die Datenschutzpläne gemäß der vorliegenden Offenbarung sind jedoch nicht darauf beschränkt.
  • Fachleute werden verstehen, dass es von Interesse ist, das Datenpaket als eine Sequenz von Nibbles bereitzustellen, da eine derartige Darstellung – wie vorstehend ausführlich beschrieben wurde – kosteneffiziente Realisierungen der Übertragungschnittstelle 200, der Empfangsschnittstelle 300 und auch der Leitung oder des Kanals ermöglicht, die/der die Übertragungsschnittstelle 200 und die Empfangsschnittstelle 300 koppelt. Es versteht sich ferner, dass die hier beschriebenen Datenschutztechniken von besonderem Interesse sind, um die Robustheit einer Datenübertragung gemäß einem PWM-Protokoll, bevorzugt dem SPC-Protokoll, zu verbessern.
  • Einige Vorteile der hier offenbarten Datenschutzpläne werden im Hinblick darauf ersichtlich, dass die Empfangsschnittstelle 300 Datenpakete 201 über einen Kanal oder eine Leitung von der übertragenden Datenübertragungsschnittstelle 200 empfängt. Typischerweise kann die Empfangsschnittstelle 300 als Teil einer elektronischen Steuereinheit 500 realisiert werden, die dafür konfiguriert ist, die Datenpakete zu empfangen und/oder zu decodieren, die Sensorsignalen von dem Sensorsystem 150 entsprechen, ist aber nicht darauf beschränkt.
  • Die Empfangsschnittstelle 300 kann ferner als eine eigenständige Vorrichtung, als ein Satz durch Computer realisierte Anweisungen realisiert werden. Die Empfangsschnittstelle 300 kann ohne Einschränkung als Hardware oder als Software oder eine Kombination davon und bevorzugt unter Verwendung eines digitalen Signalprozessors realisiert werden.
  • Bei einer Ausführungsform ist die Empfangsschnittstelle 300 dafür konfiguriert, die digitale Darstellung des Sensorsignals aus den von der Datenübertragungsschnittstelle 200 des Sensorsystems 150 empfangenen Datenpaketen 201 wiederherzustellen bzw. zu decodieren. Anders ausgedrückt: Bei einer Ausführungsform ist die Empfangsschnittstelle 300 dafür konfiguriert, die Datengruppierung und das (gemeinsame) Nibble-Anzeichen in einem einzelnen aus den von der Datenübertragungsschnittstelle 200 empfangenen Datenpaketen 201 zu erkennen, die zum Beispiel an der Empfangsschnittstelle 300 empfangen werden. Die Kombination aus der Datengruppierung und dem Nibble-Anzeichen kann von der Empfangsschnittstelle 300 zum Korrigieren von Fehlern in einer empfangenen Datengruppierung verwendet werden. Wenn ein Fehler bei einer gegebenen Datengruppierung erkannt wird, kann die Empfangsschnittstelle 300 geeignete Maßnahmen ergreifen. Eine derartige Maßnahme kann ein Korrigieren des entdeckten Fehlers in der Datengruppierung, ein Verwerfen der gegebenen Datengruppierung, eine Anforderung an das Sensorsystem 150, d. h. die Datenübertragungsschnittstelle 200, ein eine neue Datengruppierung umfassendes Datenpaket 201 erneut zu senden, ein für ungültig Erklären von Sensordaten beinhalten, die der gegebenen Datengruppierung entsprechen, ist aber nicht darauf beschränkt.
  • 15 veranschaulicht, wie die hier offenbarten Datenschutztechniken im Hinblick auf PWM-Protokolle (Impulsbreitenmodulations-Protokolle) wie beispielsweise das SENT- oder SPC-Protokoll von Interesse sein können. Zu diesem Zweck wird eine Auswirkung verschiedener äußerer Störungen auf (Nutzlast-)Daten, die unter Verwendung eines PWM-Protokolls über eine Leitung übertragen werden, nachfolgend ausführlich erläutert. Ein ungestörtes Signal 160 veranschaulicht ein ungestörtes Datenpaket 210 (einen Teil eines ungestörten Datenpakets), das (der) im Lauf der Zeit über den Kanal oder die Leitung übertragen werden soll. Es sollte beachtet werden, dass das ungestörte Signal 160 einen Abschnitt eines Datenpakets 210, ein vollständiges Datenpaket 210 oder mehrere Datenpakete 210 umfassen kann und daher in Abhängigkeit von den Umständen eine vollständige Datengruppierung oder einen Anteil einer Datengruppierung aufweisen kann.
  • Das Signal 160 kann in einen Synchronisationsimpuls bzw. -abschnitt SYNC, einen ersten Impuls bzw. ein erstes Nibble NIBBLE1 und einen zweiten Impuls bzw. ein zweites Nibble NIBBLE2 unterteilt werden. Es können mehr Impulse in dem ungestörten Signal 160 enthalten sein, die nicht gezeigt werden, auf die aber durch einen Abschnitt weiterer Nibbles NIBBLES hingewiesen wird. Das Datenpaket kann durch einen letzten oder Stopp-Nibble STOPP beendet werden. Fachleute werden verstehen, dass eine Impuls- oder Nibble-Länge gemäß SENT oder SPC praktischerweise von der ersten fallenden Flanke bis zu der letzten fallenden Flanke eines Nibble berechnet wird, wie es bei dem Synchronisationsimpuls SYNC, dem ersten Nibble NIBBLE1, dem zweiten Nibble NIBBLE2 sowie den weiteren Nibbles NIBBLES in 15 der Fall ist. Für das Stopp-Nibble STOPP kann es praktisch sein, mithilfe der übertragenden Entität, zum Beispiel der Datenübertragungsvorrichtung, die Leitung aktiv hochzuziehen, sodass nachfolgende Nibbles wieder von fallender Flanke zu fallender Flanke berechnet werden können.
  • Die Diagramme A bis H in 15 veranschaulichen Störungen 10a bis 10h, die zu unterschiedlichen Zeitpunkten auftreten und sich auf das ungestörte Signal 160 auswirken können, was zu gestörten Signalen 160a bis 160h führt, die die Störungen 165a bis 165h umfassen. Jede dieser Störungen 165a bis 165h kann jeweils andere Auswirkungen auf eine Integrität der Signale 160a bis 160h haben.
  • Es wird Fall A betrachtet, wobei eine positive Störung 10a sich auf das ungestörte Signal 160 auswirkt, und ein gestörtes Signal 160a erzeugt wird, das eine Störung 165a umfasst. Die positive Störung 165a hat keine Auswirkung auf irgendein Timing in dem Datenpaket 210, da die Länge einzelner Impulse für das SENT- oder SPC-Protokoll zwischen fallenden Flanken berechnet wird. Daher hat die Störung 165a im Wesentlichen keine Auswirkung auf das Datenpaket 210 oder einzelne darin enthaltene Nibbles. Folglich ist die Empfangsschnittstelle 300 in der Lage, alle Nibbles in der Datengruppierung sowie das (gemeinsame) Nibble-Anzeichen richtig zu decodieren.
  • Als Nächstes wird Fall B einer negativen Störung 10b betrachtet, die sich auf das ungestörte Signal 160 auswirkt, und es wird ein gestörtes Signal 160b erzeugt, das eine Störung 165b umfasst. Die negative Störung 165a führt zu einem unrichtigen Rahmenzählwert, da die negative Störung 165b eine weitere fallende einführt, die als ein Ende des Synchronisationsimpulses SYNC aufgefasst wird. Eine solche Störung würde jedoch erkannt werden, da sie zu einem unrichtigen Rahmenzählwert führt. Der Rahmenzählwert eines Nibble, das einen Dezimalwert wie beispielsweise 7 (siehe Nibble 402 in 4A und 4B) darstellt, ist durch den Tick-Zählwert für das gesamte Nibble 402 von 19 Ticks gegeben, da eine Differenz von Taktschritten zwischen der gesamten Nibble-Länge und dem dargestellten (digitalen) Wert 12 beträgt. Daher wird eine derartige Störung durch einen unrichtigen Rahmenzählwert an der Empfangsschnittstelle 300 zwischen dem SYNC- und dem STOPP-Nibble erkannt, und es werden möglicherweise geeignete Maßnahmen ergriffen.
  • Als Nächstes wird Fall C einer positiven Störung 10c betrachtet, die sich auf das ungestörte Signal 160 auswirkt und auf diese Weise ein gestörtes Signal 160c erzeugt, das eine Störung 165c umfasst. Die positive Störung 165a führt zu einer Verschiebung der ersten fallenden Flanke des Synchronisationsimpulses SYNC, wodurch das SYNC-Nibble länger wird. Ein derartiger Fehler kann jedoch mithilfe einer Längenprüfung zwischen dem SYNC-Nibble und dem STOPP-Nibble erkannt werden. Innerhalb bestimmter Grenzen werden Nibbles in der Datengruppierung möglicherweise dennoch richtig an der Empfangsschnittstelle 300 decodiert, da alle Nibble-Impulse möglicherweise um einen Tick vergrößert oder verringert werden. Die Empfangsschnittstelle 300 kann daher geeignete Maßnahmen ergreifen, um entweder die empfangenen Nibbles in der Datennachricht oder Datengruppierung zu korrigieren, mit den empfangenen Nibbles übereinstimmende Werte für ungültig zu erklären, ein Senden eines neuen Datenpakets anzufordern, ist aber nicht darauf beschränkt.
  • Es wird nun Fall D einer negativen Störung 10d betrachtet, die sich auf das ungestörte Signal 160 auswirkt und ein gestörtes Signal 160d erzeugt, das die Störung 165d umfasst. Die negative Störung 165d führt zu einem unrichtigen Rahmenzählwert, da die negative Störung 165d eine weitere fallende Flanke einführt, die als ein frühzeitiger Beginn des Synchronisationsimpulses SYNC aufgefasst wird. Was den Fall C anbelangt, so werden innerhalb bestimmter Grenzen Nibbles in der Datengruppierung möglicherweise dennoch richtig an der Empfangsschnittstelle 300 decodiert, da alle Nibble-Impulse möglicherweise um einen Tick vergrößert oder verringert werden. Die Empfangsschnittstelle 300 und/oder eine ECU 500 (ECU = electronic control unit, elektronische Steuereinheit) können geeignete Maßnahmen ergreifen.
  • Es wird nun Fall E einer positiven Störung 10e betrachtet, die sich auf das ungestörte Signal 160 auswirkt und auf diese Weise ein gestörtes Signal 160e erzeugt, das eine Störung 165e umfasst. Die positive Störung 165e führt zu einer Verschiebung der zweiten fallenden Flanke des Synchronisationsimpulses SYNC, wodurch das SYNC-Nibble länger wird. Ein derartiger Fehler kann jedoch mithilfe einer Längenprüfung zwischen dem SYNC-Nibble und dem STOPP-Nibble erkannt werden, die durch minus einen Tick berichtigt wird. Innerhalb bestimmter Grenzen werden Mehrbitfehler in Nibbles, die in der Datengruppierung enthalten sind, möglicherweise dennoch an der Empfangsschnittstelle 300 richtig decodiert, da alle Nibble-Impulse möglicherweise um einen Tick vergrößert oder verringert werden, während ein Nibble möglicherweise in der Länge nicht verändert wird. Die Empfangsschnittstelle 300 kann daher geeignete Maßnahmen ergreifen, um entweder die empfangenen Nibbles in der Datennachricht oder Datengruppierung zu korrigieren, mit den empfangenen Nibbles übereinstimmende Werte für ungültig zu erklären, ein Senden eines neuen Datenpakets anzufordern, ist aber nicht darauf beschränkt.
  • Es wird nun Fall F einer negativen Störung 10f betrachtet, die sich auf das ungestörte Signal 160 auswirkt und auf diese Weise das gestörte Signal 160f erzeugt, das die Störung 165f umfasst. Die negative Störung 165f führt zu einer Verschiebung der zweiten fallenden Flanke des Synchronisationsimpulses SYNC, wodurch das SYNC-Nibble länger wird. Ein derartiger Fehler kann jedoch mithilfe einer Längenprüfung zwischen dem SYNC-Nibble und dem STOPP-Nibble erkannt werden, die durch minus einen Tick berichtigt wird. Innerhalb bestimmter Grenzen werden Mehrbitfehler in Nibbles in der Datengruppierung möglicherweise dennoch richtig an der Empfangsschnittstelle 300 decodiert, da alle Nibble-Impulse möglicherweise um einen Tick vergrößert oder verringert werden, während ein Nibble möglicherweise in der Länge nicht verändert wird. Die Empfangsschnittstelle 300 kann daher geeignete Maßnahmen ergreifen, um entweder die empfangenen Nibbles in der Datennachricht oder Datengruppierung zu korrigieren, mit den empfangenen Nibbles übereinstimmende Werte für ungültig zu erklären, ein Senden eines neuen Datenpakets anzufordern, ist aber nicht darauf beschränkt.
  • Es wird nun Fall G einer positiven Störung 10g betrachtet, die sich auf das ungestörte Signal 160 auswirkt und auf diese Weise das gestörte Signal 160g erzeugt, das die Störung 165g umfasst. Die positive Störung 165g führt zu einer Verschiebung der zweiten fallenden Flanke des beispielhaften Nibble-Impulses NIBBLE1, wodurch das NIBBLE1-Nibble länger wird, während das nachfolgende Nibble NIBBLE2 um einen Tick verkürzt wird, daher wird NIBBLE1 um 1 LSB vergrößert, während NIBBLE2 um 1 LSB verringert wird.
  • In ähnlicher Weise wirkt sich in Fall H jedoch eine negative Störung 10h auf das ungestörte Signal 160 aus, und auf diese Weise wird das gestörte Signal 160h erzeugt, das die Störung 165h umfasst. Die negative Störung 165h führt zu einer Verschiebung der zweiten fallenden Flanke des beispielhaften Nibble-Impulses NIBBLE1, wodurch das NIBBLE1 kürzer wird, während das nachfolgende Nibble NIBBLE2 um einen Tick verlängert wird, daher wird NIBBLE1 um 1 LSB verringert, während NIBBLE2 um 1 LSB vergrößert wird.
  • Fehler wie in den Fällen G und H sind gleichermaßen möglicherweise nur in einem bestimmten Ausmaß mithilfe eines Protokolls erkennbar, bei dem Timing-Prüfungen verwendet werden. Ein derartiger Fehler wird möglicherweise nur in einem bestimmten Ausmaß mithilfe einer Längenprüfung mit aufeinanderfolgenden Nibble-Impulsen erkannt. Innerhalb bestimmter Grenzen können Mehrbitfehler in Nibbles, die in der Datengruppierung enthalten sind, dennoch an der Empfangsschnittstelle 300 richtig decodiert werden. Eine Erkennbarkeit von Mehrbitfehlern in einzelnen Nibbles kann mithilfe einer Verwendung einer Prüfsumme mit wechselnden Vorzeichen als gemeinsames Nibble-Anzeichen erhöht werden, wie vorstehend beschrieben wurde. Die Empfangsschnittstelle 300 kann daher geeignete Maßnahmen ergreifen, um entweder die empfangenen Nibbles in der Datennachricht oder Datengruppierung zu korrigieren, mit den empfangenen Nibbles übereinstimmende Werte für ungültig zu erklären, ein Senden eines neuen Datenpakets anzufordern, ist aber nicht darauf beschränkt.
  • 16A und 16B veranschaulichen ein Verfahren 1600 zum Übertragen geschützter Sensordaten oder Sensorsignale. Fachleute werden bereitwillig anerkennen, dass Datenschutz, wie er in der vorliegenden Offenbarung beschrieben wird, von Interesse sein kann, um Sensorsignale zu schützen, die mithilfe eines PWM-Protokolls, beispielsweise dem SENT- oder SPC-Protokoll, übertragen werden.
  • Das Verfahren 1600 zum Übertragen umfasst ferner einen Schritt 1610 eines Bereitstellens von Sensordaten, wobei bei einer Ausführungsform die Sensordaten in einem digitalen Format bereitgestellt werden können, zum Beispiel als Nibbles, aber ohne darauf beschränkt zu sein.
  • Das Verfahren umfasst ferner einen Schritt 1620 eines Erzeugens einer Datengruppierung, die ein oder mehrere Nibbles umfasst, die Werte einzelner Sensordaten darstellen. Ohne Einschränkung können ein oder mehrere Nibbles in der Datengruppierung Anteile eines Sensorwertes darstellen.
  • Das Verfahren 1600 kann ferner einen Schritt 1630 eines Erzeugens eines Nibble-Anzeichens umfassen. Wie bereits erläutert wurde, kann es sich bei dem Nibble-Anzeichen um ein einzelnes Nibble-Anzeichen oder ein gemeinsames Nibble-Anzeichen handeln.
  • Das Verfahren 1600 kann ferner einen Schritt 1640 eines Bildens eines Datenpakets umfassen, nämlich des Datenpakets 201, das von der Datenübertragungsschnittstelle 200 des Sensorsystems 150 zu der Empfangsschnittstelle 300 der Steuereinheit bzw. ECU 500 (siehe 14) übertragen werden soll.
  • Nach Schritt 1640 zum Bilden des Datenpakets 210, kann das Datenpaket 210 in einem Schritt 1650 über eine Leitung oder einen Kanal übertragen werden, wie zuvor beschrieben.
  • Das Verfahren 1600 kann ferner einen Schritt 1645 eines Empfangens eines Synchronisationsimpulses vor dem Schritt 1650 eines Übertragens umfassen.
  • 16B veranschaulicht weitere Aspekte von Schritt 1630 des Erzeugens des Nibble-Anzeichens. Der Schritt 1630 kann einen Schritt 1631 eines Verwendens eines bestimmten Schutzplans zum Erstellen des Nibble-Anzeichens umfassen. Das Erzeugen von Nibble-Anzeichen kann auf Paritätsberechnungen, Berechnungen von Modulo-x-Summen, gemischten Berechnungen von Modulo-x- und Modulo-y-Summen beruhen, was zuvor als Kombinationen einer Modulo-4- und Modulo-16-Summen-Berechnung erläutert wurde. Ferner kann eine Prüfsumme oder insbesondere eine Prüfsumme mit alternierenden Vorzeichen zum Erzeugen des Nibble-Anzeichens verwendet werden.
  • Die Nibble-Erzeugung kann ferner einen Schritt 1632 eines Erstellens eines einzelnen Nibble-Anzeichens umfassen. Die Berechnung des Nibble-Anzeichens kann in Abhängigkeit von dem ausgewählten Schutzplan unterschiedlich sein. Alternativ kann das Verfahren einen Schritt 1634 eines Erzeugens eines gemeinsamen Nibble-Anzeichens umfassen. Das gemeinsame Nibble-Anzeichen kann in Abhängigkeit von dem ausgewählten Schutzplan unterschiedlich sein. Fachleute werden verstehen, dass der Schritt 1630 des Erzeugens von Nibble-Anzeichen sich in Abhängigkeit von Umständen und Anforderungen von einzelnen Nibble-Anzeichen zu gemeinsamen Nibble-Anzeichen ändern kann.
  • Obwohl die Erfindung mit Bezug auf eine oder mehrere Realisierungen veranschaulicht und beschrieben wurde, können Änderungen und/oder Modifikationen an den veranschaulichten Beispielen vorgenommen werden, ohne von dem Sinn und Schutzbereich der angefügten Ansprüche abzuweichen.
  • Der Begriff „computerlesbare Medien” wird hier so gebraucht, dass er computerlesbare Speichermedien und Datenübertragungsmedien beinhaltet. Zu computerlesbaren Speichermedien zählen flüchtige und nicht flüchtige, austauschbare und nicht austauschbare Medien, die mithilfe eines beliebigen Verfahrens oder einer beliebigen Technologie zum materiellen Speichern von Informationen wie beispielsweise computerlesbaren Anweisungen oder anderen Daten realisiert werden. Bei hier offenbarten Datenspeichern oder Arbeitsspeichern handelt es sich um Beispiele für computerlesbare Speichermedien. Zu Computerspeichermedien zählen, aber ohne eine Einschränkung darzustellen, RAM (random access memory, Direktzugriffsspeicher), ROM (read-only memory, Nur-Lese-Speicher), EEPROM (electrically erasable programmable ROM, elektrisch löschbarer programmierbarer Nur-Lese-Speicher), Flash-Speicher oder andere Speichertechnologien, CD-ROM, DVDs (digital versatile disks) oder anderer optischer Speicher, Magnetkassetten, Magnetband, Magnetplattenspeicher oder andere Magnetspeichervorrichtungen oder jedes andere Medium, das zum Speichern der gewünschten Informationen verwendet werden kann.
  • Der Begriff „computerlesbare Medien” kann außerdem Datenübertragungsmedien beinhalten. Datenübertragungsmedien verkörpern typischerweise computerlesbare Anweisungen oder andere Daten, die in einem „modulierten Datensignal” wie beispielsweise einer Trägerwelle oder einem anderen Transportmechanismus übermittelt werden können, und zu ihnen zählt jedes Informationszustellmedium. Der Begriff „moduliertes Datensignal” kann ein Signal beinhalten, bei dem ein oder mehrere Merkmale auf eine Weise festgelegt oder verändert werden, dass Informationen in dem Signal codiert werden.
  • Eine oder mehrere der beschriebenen Operationen können auf einem oder mehreren computerlesbaren Medien gespeicherte computerlesbare Anweisungen darstellen, die, wenn sie von einer Datenverarbeitungsvorrichtung ausgeführt werden, die Datenverarbeitungsvorrichtung zum Ausführen der beschriebenen Operationen veranlassen. Die Reihenfolge, in der einige oder alle der Operationen beschrieben sind, sollte nicht so aufgefasst werden, dass dadurch angedeutet wird, dass diese Operationen notwendigerweise von einer Reihenfolge abhängig sind. Fachleute, die die Vorteile dieser Beschreibung genießen, werden alternative Reihenfolgen anerkennen. Es versteht sich ferner, dass nicht alle Operationen notwendigerweise in jeder hier bereitgestellten Ausführungsform vorhanden sind.
  • Darüber hinaus sollen, mit besonderem Bezug auf die verschiedenen von den vorstehend beschriebenen Komponenten oder Strukturen (Baugruppen, Vorrichtungen, Schaltkreise, Systeme usw.) ausgeführten Funktionen, die zum Beschreiben derartiger Komponenten verwendeten Begriffe (einschließlich einer Bezugnahme auf ein „Mittel”), sofern nicht anders angegeben, jeder Komponente oder Struktur entsprechen, die die angegebene Funktion der beschriebenen Komponente ausführt (die z. B. funktionell gleichwertig ist), selbst wenn sie der offenbarten Struktur, die die Funktion in den hier veranschaulichten beispielhaften Realisierungen ausführt, nicht strukturell gleichwertig ist. Des Weiteren kann, während ein bestimmtes Merkmal möglicherweise mit Bezug auf nur eine von mehreren Realisierungen offenbart wird, ein derartiges Merkmal mit einem oder mehreren anderen Merkmalen der anderen Realisierungen kombiniert werden, wie es gewünscht wird und für eine beliebige gegebene oder bestimmte Anwendung vorteilhaft ist. In dem Ausmaß, in dem die Begriffe „enthaltend”, „enthält”, „aufweisend”, „weist auf”, „mit” oder deren Varianten in der ausführlichen Beschreibung oder den Ansprüchen verwendet werden, sollen derartige Begriffe auf eine ähnliche Weise einschließend sein wie der Begriff „umfassend”.

Claims (22)

  1. Sensorsystem, das dafür konfiguriert ist, zumindest partiell geschützte Sensordaten über eine Datenübertragungsschnittstelle zu übermitteln, wobei das Sensorsystem umfasst: ein Sensorelement, das dafür konfiguriert ist, Sensordaten in dem digitalen Bereich bereitzustellen; eine mit dem Sensorelement kommunikativ gekoppelte Datenübertragungsschnittstelle, wobei die Datenübertragungsschnittstelle dafür konfiguriert ist, aus den Sensordaten ein Datenpaket zum Übertragen über die Datenübertragungsschnittstelle zu erzeugen, wobei das Datenpaket umfasst: eine Datengruppierung, die ein oder mehrere mit den Sensordaten in Zusammenhang stehende Nibbles umfasst, und ein Nibble-Anzeichen, das auf mindestens einem Anteil ausgewählter Nibbles in der Datengruppierung beruht.
  2. Sensorsystem nach Anspruch 1, wobei die Datenübertragungsschnittstelle dafür konfiguriert ist, das Datenpaket als Reaktion auf ein Empfangen eines von einer Empfangsschnittstelle gesendeten Synchronisationssignals zu übertragen, wobei die Empfangsschnittstelle dafür konfiguriert ist, die Datenpakete zu empfangen.
  3. Sensorsystem nach Anspruch 1 oder 2, wobei: das Nibble-Anzeichen gemäß einem Schutzplan erzeugt wird, der dem Anteil der ausgewählten Nibbles zugeordnet ist, und wobei der Anteil aus dem geringstwertigen Bit (LSB) des jeweiligen ausgewählten Nibble, den zwei LSBs des jeweiligen ausgewählten Nibble oder den drei LSBs des jeweiligen Nibble ausgewählt wird.
  4. Sensorsystem nach Anspruch 3, wobei der Schutzplan auswählbar ist aus einer Paritätsprüfung, einer zyklischen Redundanzprüfung (CRC), einem Hamming-Code, einem Turbo-Code oder einem Low Density Parity Check (LDPC).
  5. Sensorsystem nach einem der Ansprüche 1 bis 4, wobei die Datenübertragungsschnittstelle dafür konfiguriert ist, ein einzelnes Nibble-Anzeichen für ein ausgewähltes Nibble in der Datengruppierung hinter dem ausgewählten Nibble zu platzieren, sodass das einzelne Nibble-Anzeichen von dem ausgewählten Nibble in dem Datenpaket unterscheidbar ist.
  6. Sensorsystem nach einem der Ansprüche 1 bis 5, wobei die Datenübertragungsschnittstelle dafür konfiguriert ist, ein gemeinsames Nibble-Anzeichen für die ausgewählten Nibbles hinter der Datengruppierung zu platzieren, sodass das gemeinsame Nibble-Anzeichen von der Datengruppierung unterscheidbar ist.
  7. Sensorsystem nach einem der Ansprüche 1 bis 6, wobei die Datenübertragungsschnittstelle dafür konfiguriert ist, das Nibble-Anzeichen an dem Ende des jeweiligen Nibble anzufügen.
  8. Sensorsystem nach einem der Ansprüche 4 bis 7, wobei das Nibble einen Drei-Bit-Wert an Sensordaten repräsentiert.
  9. Sensorsystem nach Anspruch 8, wobei die Datenübertragungsschnittstelle dafür konfiguriert ist, das Nibble-Anzeichen an dem Ende des jeweiligen Nibble anzufügen.
  10. Sensorsystem nach einem der Ansprüche 1 bis 9, wobei das Nibble-Anzeichen dem mindestens einem Anteil der Datengruppierung unter Ausschluss mindestens eines höchstwertigen Bits (MSB) der Nibbles in der Datengruppierung zugeordnet ist.
  11. Sensorsystem nach einem der Ansprüche 1 bis 10, wobei das Nibble-Anzeichen ausschließlich den relevantesten Daten-Nibbles zugeordnet ist.
  12. Sensorsystem nach einem der Ansprüche 1 bis 11, wobei das Nibble-Anzeichen einer anderen Anzahl von LSBs der Nibbles in der Datengruppierung zugeordnet ist.
  13. Sensorsystem nach einem der Ansprüche 1 bis 12, wobei die Datengruppierung fünf Nibbles umfasst.
  14. Sensorsystem nach Anspruch 13, wobei das Nibble-Anzeichen die Differenz zwischen der Modulo-16-Summe des ersten, des dritten und des fünften Nibble der Datengruppierung und der Modulo-16-Summe des zweiten, des vierten und des fünften Nibble der Datengruppierung ist, und wobei die Datenübertragungsschnittstelle dafür konfiguriert ist, das Nibble-Anzeichen hinter der Datengruppierung zu platzieren, sodass das Nibble-Anzeichen von der Datengruppierung unterscheidbar ist.
  15. Datenschutzsystem nach Anspruch 13, wobei das Nibble-Anzeichen die Modulo-4-Summe aller Nibbles in der Datengruppierung ist, an die die Differenz zwischen der Modulo-4-Summe des ersten, des dritten und des fünften Nibble und der Modulo-4-Summe des zweiten, des vierten und des fünften Nibble der Datengruppierung angehängt wurde, und wobei die Datenübertragungsschnittstelle dafür konfiguriert ist, das Nibble-Anzeichen hinter der Datengruppierung zu platzieren, sodass das Nibble-Anzeichen von der Datengruppierung unterscheidbar ist.
  16. Verfahren zum Übermitteln zumindest partiell geschützter Sensordaten über eine Datenübertragungsschnittstelle, wobei das Verfahren die Schritte umfasst: Bereitstellen von Sensordaten in einer digitalen Form; Erzeugen einer Datengruppierung, die ein oder mehrere mit den Sensordaten in Zusammenhang stehende Nibbles umfasst; Erzeugen eines Nibble-Anzeichens, das auf mindestens einem Anteil von ausgewählten Nibbles in der Datengruppierung beruht; Bilden eines Datenpakets aus der Datengruppierung und dem Nibble-Anzeichen und Übertragen des Datenpakets über die Datenübertragungsschnittstelle.
  17. Verfahren nach Anspruch 16, das ferner umfasst: Empfangen eines Synchronisationssignals und Übertragen des Datenpakets als Reaktion auf das empfangene Synchronisationssignal.
  18. Verfahren nach Anspruch 17, wobei das Synchronisationssignal eine Adressierungsverzögerung umfasst, die auswählbar ist, um einen Betriebsmodus des Sensors anzuzeigen, oder auswählbar, um einen einzelnen Sensor aus einer Vielzahl von Sensoren zu adressieren, die mit der Datenübertragungsschnittstelle kommunikativ gekoppelt sind.
  19. Verfahren nach einem der Ansprüche 16 bis 18, wobei ein Erzeugen des Nibble-Anzeichens ein Anwenden eines Schutzplans umfasst, der ausgewählt wird aus einer Paritätsprüfung, einer zyklischen Redundanzprüfung (CRC), einem Hamming-Code, einem Turbo-Code oder einem Low Density Parity Check (LDPC).
  20. Verfahren nach einem der Ansprüche 16 bis 19, wobei ein Erzeugen des Nibble-Anzeichens ein Erzeugen eines einzelnen Nibble-Anzeichens für mindestens ein ausgewähltes Nibble in der Datengruppierung umfasst, sodass das einzelne Nibble-Anzeichen von dem mindestens einen ausgewählten Nibble unterscheidbar ist.
  21. Verfahren nach einem der Ansprüche 16 bis 19, wobei ein Erzeugen des Nibble-Anzeichens ein Erzeugen eines gemeinsamen Nibble-Anzeichens für mehr als ein ausgewähltes Nibble in der Datengruppierung umfasst, sodass das gemeinsame Nibble-Anzeichen von dem mindestens einen ausgewählten Nibble unterscheidbar ist.
  22. Sensorsystem nach einem der Ansprüche 2 bis 15, wobei das Synchronisationssignal eine auswählbare Verzögerung umfasst.
DE102016203415.4A 2015-03-18 2016-03-02 Spc-sensor-schnittstelle mit partiellem paritätsschutz Pending DE102016203415A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562134925P 2015-03-18 2015-03-18
US62/134,925 2015-03-18
US15/052,569 US10164737B2 (en) 2015-03-18 2016-02-24 SPC sensor interface with partial parity protection
US15/052,569 2016-02-24

Publications (1)

Publication Number Publication Date
DE102016203415A1 true DE102016203415A1 (de) 2016-10-13

Family

ID=56924211

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016203415.4A Pending DE102016203415A1 (de) 2015-03-18 2016-03-02 Spc-sensor-schnittstelle mit partiellem paritätsschutz

Country Status (3)

Country Link
US (3) US10164737B2 (de)
CN (1) CN105991240B (de)
DE (1) DE102016203415A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10164737B2 (en) * 2015-03-18 2018-12-25 Infineon Technologies Ag SPC sensor interface with partial parity protection
US10348417B1 (en) * 2017-12-21 2019-07-09 Infineon Technologies Ag Short pulse width modulation (PWM) code (SPC) / single edge nibble transmission (SENT) sensors with increased data rates and automatic protocol detection
DE102018202673B3 (de) * 2018-02-22 2019-05-16 Christian Maier GmbH & Co. KG Drehdurchführung mit einem elektronischen Schnittstellenmodul zum Anschluss eines Sensors an ein IO-Link-System
US11055423B2 (en) * 2018-03-30 2021-07-06 Infineon Technologies Ag Signal pattern checksum
US10326621B1 (en) * 2018-05-01 2019-06-18 Allegro Microsystems, Llc Serial communication system with active driver
DE102019101892B4 (de) * 2019-01-25 2020-10-15 Infineon Technologies Ag Kommunikationsvorrichtungen und -verfahren

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE436931B (sv) * 1980-12-19 1985-01-28 Asea Ab Metsignaloverforingsanordning for signaler mellan en roterande del och en rotationsstatisk del
US4736377A (en) * 1986-02-11 1988-04-05 Bradley Telcom Corp. Method for determining reliability of high speed digital transmission by use of a synchronized low speed side channel
US5068854A (en) * 1989-09-12 1991-11-26 Cupertino, California U.S.A. Error detection for fiber distributed interfaced optic link
US5305321A (en) * 1992-02-24 1994-04-19 Advanced Micro Devices Ethernet media access controller with external address detection interface and associated method
JP3394119B2 (ja) * 1995-10-17 2003-04-07 沖電気工業株式会社 誤り訂正符号化装置、誤り訂正復号化装置及び通信システム
US5842125A (en) * 1995-11-30 1998-11-24 Amsc Subsidiary Corporation Network control center for satellite communication system
US6741794B1 (en) * 1999-01-29 2004-05-25 Sony Corporation System and method for flexibly blending multiple image planes in a video device
US6920604B2 (en) * 2002-04-08 2005-07-19 Galazar Networks, Inc. Systems and methods for high speed serial encoding and decoding for data and control interfaces
JP2004304268A (ja) * 2003-03-28 2004-10-28 Matsushita Electric Ind Co Ltd 無線送信装置、無線受信装置及び方法
US7685496B2 (en) * 2003-11-14 2010-03-23 Hitachi, Ltd. Data transmission method and data transmission device for transmitting data through a transmission line that is integrated with a plurality of links
US7495558B2 (en) * 2004-04-27 2009-02-24 Infratab, Inc. Shelf-life monitoring sensor-transponder system
US8045927B2 (en) * 2006-04-27 2011-10-25 Nokia Corporation Signal detection in multicarrier communication system
US8136004B2 (en) * 2006-06-20 2012-03-13 Ntt Docomo, Inc. Radio communication apparatus and method used in mobile communication system
FR2906428A1 (fr) * 2006-09-26 2008-03-28 Canon Kk Procede, dispositif et application logicielle pour la transmission de paquets de donnees dands un systeme de communication.
US20090201123A1 (en) * 2008-02-13 2009-08-13 Eddy Kafry Sensor network for liquid drainage systems
CN104182292A (zh) 2013-05-21 2014-12-03 华为技术有限公司 一种数据存储方法及装置
DE102013218212A1 (de) * 2013-09-11 2015-03-12 Robert Bosch Gmbh Verfahren zum abgesicherten Übermitteln von Daten
US10164737B2 (en) * 2015-03-18 2018-12-25 Infineon Technologies Ag SPC sensor interface with partial parity protection

Also Published As

Publication number Publication date
CN105991240A (zh) 2016-10-05
US20200220656A1 (en) 2020-07-09
US11356201B2 (en) 2022-06-07
US20190097759A1 (en) 2019-03-28
US20160277149A1 (en) 2016-09-22
CN105991240B (zh) 2019-06-25
US10164737B2 (en) 2018-12-25
US10594440B2 (en) 2020-03-17

Similar Documents

Publication Publication Date Title
DE102016203415A1 (de) Spc-sensor-schnittstelle mit partiellem paritätsschutz
DE102017219448B4 (de) Signalprotokoll-Störungserkennungssystem und -verfahren
DE2727685A1 (de) Vorrichtung zur verarbeitung von daten
DE102006061580A1 (de) Verfahren zur Bestimmung der Drehzahl einer rotierenden Welle
DE102015209207A1 (de) Verfahren zur seriellen Übertragung eines Rahmens über ein Bussystem von einem Sender zu mindestens einem Empfänger und Teilnehmerstation für ein Bussystem
DE1250163B (de) Einrichtung zur Paritätsprüfung von Speicherworten
DE102019006726A1 (de) Encoder und Encodersteuersystem
DE102016101349A1 (de) Sensor-Schnittstelle, die eine lange CRC bereitstellt, um die funktionale Sicherheit zu verbessern
DE102010028485B4 (de) Verfahren und Vorrichtung zur Absicherung von über eine Schnittstelle zu übertragenden Datenpaketen
DE3929361A1 (de) Telemetriesender
EP0817953A1 (de) Vorrichtung zur drehrichtungserkennung und plausibilitätsprüfung bei absoluten winkellagemessgebern mit insbesondere serieller übertragung erfasster lageistwerte
DE102010003741A1 (de) Verfahren zum Datenaustausch
EP1861974B1 (de) Korrektur von einzelbitfehlern in dpsk-codierten codewörtern anhand der empfangenen kummulativen digitalen summe
DE102017102417A1 (de) Sensorbauelemente und verfahren zum übertragen von sensordaten und verfahren zum steuern eines sensorbauelements, vorrichtung und verfahren zum decodieren eines sensorsignals
DE3150927C2 (de)
EP1523119B1 (de) Verfahren und eine Vorrichtung zur fehlerabgesicherten Übertragung von Nutzdaten
EP3917048B1 (de) Verfahren sowie vorrichtungen zum übertragen von daten
DE3229111C1 (de) Verfahren zur Fehlerkorrektur von Daten
EP0567799A1 (de) Gerät zum Empfang von Daten
EP1763168A1 (de) Verfahren zum Erzeugen von Datentelegrammen, die CRC-Sicherungsanhänge aufweisen, welche eine verringerte Restfehlerwahrscheinlichkeit bieten
DE3707152A1 (de) Geraet zum empfang von daten
DE4407948C2 (de) Schnittstelle
DE1549372C3 (de)
DE102019125693A1 (de) Verfahren zum Betreiben eines Kommunikationsnetzwerks, Kommunikationsnetzwerk und Teilnehmer für ein Kommunikationsnetzwerk
DE102016121757A1 (de) Datenübertragungssystem zur zeitlichen Kopplung eines in einer Steuereinrichtung erzeugten Triggersignals mit einem in einer Empfangseinrichtung erzeugten Triggersignal

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R084 Declaration of willingness to licence