DE102016110961A1 - SENT-Fehlergenerator - Google Patents

SENT-Fehlergenerator Download PDF

Info

Publication number
DE102016110961A1
DE102016110961A1 DE102016110961.4A DE102016110961A DE102016110961A1 DE 102016110961 A1 DE102016110961 A1 DE 102016110961A1 DE 102016110961 A DE102016110961 A DE 102016110961A DE 102016110961 A1 DE102016110961 A1 DE 102016110961A1
Authority
DE
Germany
Prior art keywords
data frame
data
pulse
generator
channel
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
DE102016110961.4A
Other languages
English (en)
Inventor
Edward Albert Bos
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.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
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 Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102016110961A1 publication Critical patent/DE102016110961A1/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/24Testing correct operation
    • H04L1/242Testing correct operation by comparing a transmitted test signal with a locally generated replica
    • H04L1/244Testing correct operation by comparing a transmitted test signal with a locally generated replica test sequence generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Small-Scale Networks (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Communication Control (AREA)

Abstract

Ein Prüfgenerator umfasst einen Computer, der dafür programmiert ist, mindestens eine Eingangsanweisung zu empfangen, die eine durch den Prüfgenerator zu sendende Nachricht und einen Fehlerbefehl umfasst, der in die Übertragung einzuführende Fehler angibt. Der Computer ist ferner dafür programmiert, einen gemäß einem Single-Edge-Nibble-Transmission-Protokoll formierten Datenrahmen zu erzeugen. Der Datenrahmen umfasst die Nachricht und die Fehler. Der Computer ist ferner programmiert, den Datenrahmen zu senden.

Description

  • STAND DER TECHNIK
  • SENT (Single-Edge-Nibble-Transmission) ist ein Kommunikationsprotokoll für unidirektionale Kommunikation zwischen Elektronikmodulen, z.B. von einem intelligenten Sensor zu einer Datenverarbeitungsvorrichtung in einem Automobil. Um einen SENT-Sender, z.B. während der Entwicklung, zu prüfen, sind Prüfgeräte erforderlich, die ein Signal von einem SENT-Sender empfangen und verschiedene Arten von Übertragungsfehlern erkennen können. Ein SENT-Prüfempfänger muss selbst erst geprüft werden, um zu bestätigen, dass der Prüfempfänger verschiedene Arten von Fehlern erkennt.
  • ZEICHNUNGEN
  • 1 ist eine Blockdarstellung eines beispielhaften SENT-Prüfsenders in Kommunikation mit einem SENT-Prüfempfänger.
  • 2 ist eine Blockdarstellung eines beispielhaften SENT-Prüfsenders.
  • 3 ist ein beispielhafter SENT-Datenrahmen.
  • 4 ist ein Flussdiagramm eines beispielhaften Prozesses zum Senden von SENT-Datenrahmen, die Übertragungsfehler umfassen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • ÜBERSICHT
  • 1 zeigt ein System 10 zum Prüfen eines SENT-Prüfempfängers 12 (Single-Edge-Nibble-Transmission) mit einem SENT-Prüfgenerator 14. Der SENT-Prüfgenerator 14 kann in Echtzeit SENT-Datenrahmen 15 erzeugen, die spezifische Arten von einem oder mehreren Übertragungsfehlern umfassen. Die Arten von Übertragungsfehlern, die auftreten können, umfassen als nichteinschränkenden Beispiele, dass ein oder mehrere niedrige Zustände zu kurz sind, ein oder mehrere niedrige Zustände zu lang sind, ein oder mehrere hohe Zustände zu kurz sind, ein oder mehrere hohe Zustände zu lang sind, ein oder mehrere Datenimpulse zu kurz sind, ein oder mehrere Datenimpulse zu lang sind, ein Pauseimpuls zu kurz ist, ein Pauseimpuls zu lang ist, ein Kalibrationsbit zu kurz ist, ein Kalibrationsbit zu lang ist, zu wenige Impulse in dem Datenrahmen sind und zu viele Impulse in dem Datenrahmen sind. Ein oder mehrere SENT-Datenrahmen 15, die einen oder mehrere Übertragungsfehler umfassen, werden zu dem SENT-Prüfempfänger 12 gesendet. Der SENT-Prüfempfänger 12 kann dann zum Beispiel über eine Schnittstelle überwacht werden, um zu bestimmen, ob der SENT-Empfänger 12 die Übertragungsfehler identifiziert hat.
  • BEISPIELHAFTE SYSTEMELEMENTE
  • Mit Bezug auf 1 umfasst ein System zum Prüfen eines SENT-Prüfempfängers 12 den SENT-Prüfempfänger 12 und den SENT-Prüfgenerator 14.
  • Der SENT-Prüfempfänger 12 kann einen Computer umfassen, der eine oder mehrere Schnittstellen wie nachfolgend beschrieben umfasst und/oder kommunikativ mit ihnen gekoppelt ist, z.B. eine Hardwareschnittstelle und/oder eine Benutzeroberfläche wie etwa eine graphische Benutzeroberfläche (GUI). Der Computer kann dafür programmiert sein, SENT-Datenrahmen 15 zu empfangen und die Datenrahmen 15 zu analysieren, um zu bestimmen, ob ein Übertragungsfehler aufgetreten ist. Der Computer kann ferner dafür programmiert sein, eine Art des Übertragungsfehlers zu identifizieren und z.B. über eine Benutzeroberfläche die Art des Fehlers, die identifiziert wurde, anzugeben. Der SENT-Prüfempfänger 12 kann ferner Daten in Bezug auf den SENT-Datenrahmen 15 und zugeordnete(n) Fehler speichern, damit die Daten zur Analyse verfügbar sind. Weiterhin kann der SENT-Prüfempfänger 12 zum Beispiel über ein verdrahtetes oder drahtloses Netzwerk kommunikativ mit einem oder mehreren anderen Computern gekoppelt sein und Daten in Bezug auf den empfangenen SENT-Datenrahmen 15 und zugeordnete Übertragungsfehler senden.
  • Ein in 2 gezeigter beispielhafter SENT-Prüfgenerator 14 umfasst einen Computer 16, einen Datenrahmengenerator 18 und eine Schnittstelle 20. Der SENT-Prüfgenerator 14 umfasst einen oder mehrere Eingänge und/oder Busverbindungen 42. Der SENT-Prüfgenerator erzeugt SENT-Datenrahmen 15. Der SENT-Prüfgenerator 14 ist im Allgemeinen dafür programmiert, eine oder mehrere Anweisungen zu empfangen, darunter eine Nachricht, die gemäß einem SENT-Protokoll zu senden ist, und gegebenenfalls einen Fehlerbefehl, der einen oder mehrere Fehler umfasst, die in den gesendeten Datenrahmen 15 eingeführt werden sollen. Das heißt, der SENT-Prüfgenerator 14 umfasst die Möglichkeit, Datenrahmen 15 zu senden, die eine Nachricht gemäß einem SENT-Protokoll umfassen. Die Datenrahmen 15 können als Alternative mit und ohne Übertragungsfehler erzeugt werden. Die zu sendende Nachricht kann ein Wert in einem spezifizierten Bereich sein, der z.B. einen Sensorausgangswert simuliert, und kann in einem digitalen Format empfangen werden. Die Fehler können einen oder mehrere Arten von Übertragungsfehlern umfassen, wie nachfolgend besprochen.
  • Der Datenrahmengenerator 18 kann vielfältige Datenrahmen 15 erzeugen, die einen oder mehrere verschiedene Übertragungsfehler umfassen. Zum Beispiel kann wie nachfolgend beschrieben der Computer 16 über den Datenrahmengenerator 18 eine Länge eines Impulses, eine Länge eines niedrigen Zustands eines Impulses und die Anzahl von Impulsen in dem SENT-Datenrahmen 15 setzen. Ferner können an einer beliebigen Stelle in dem SENT-Datenrahmen 15 positive oder negative Rauschimpulse eingeführt werden.
  • Der Computer 16 umfasst einen Prozessor und einen Speicher. Der Speicher umfasst eine oder mehrere Formen von computerlesbaren Medien und speichert Anweisungen, die durch den Prozessor zur Ausführung verschiedener Operationen, einschließlich wie hier offenbart, ausführbar sind. Der Computer 16 ist im Allgemeinen programmiert und ausgelegt für Kommunikation auf einem CAN-Bus (Controller Area Network) oder dergleichen und kann ein Kommunikationsmodul 21 zur Bereitstellung von Kommunikation über ein oder mehrere Netzwerke umfassen. Zum Beispiel kann das Kommunikationsmodul 21 dafür programmiert sein, die Prüfanweisungen über einen CAN-Bus zu empfangen. Das Kommunikationsmodul kann ferner dafür programmiert sein, über das Fahrzeugnetzwerk empfangene Daten zu speichern und z.B. ein oder mehrere Flags zu setzen, die anzeigen, dass neue Daten empfangen wurden.
  • Der Computer 16 kann ferner dafür programmiert sein, den Datenrahmengenerator 18 auf der Basis von Prüfanweisungen zu steuern. Wie nachfolgend beschrieben wird, kann der Computer 16 hier sogenannte „Zwischendaten“ auf der Basis einer empfangenen Nachricht und von Fehlerbefehlen erzeugen. Die Nachricht und Fehlerbefehle können in einer einzigen Netzwerkübertragung oder in getrennten Netzwerkübertragungen empfangen werden. Die Zwischendaten können z.B. Impulslängendaten, Länge eines niedrigen Zustands, Länge eines Pausenimpulses, eine Anzahl von Impulsen in einem Datenrahmen 15 usw. sein, die der Computer 16 dem Datenrahmengenerator 18 zuführen kann, um einen SENT-Datenrahmen 15 zu spezifizieren. Der Computer 16 kann ferner Steuersignale erzeugen, die den Betrieb des Datenrahmengenerators 18 so steuern, dass der Datenrahmengenerator 18 den Datenrahmen 15 erzeugt und sendet. Zusätzlich kann der Computer 16 Signale von dem Datenrahmengenerator 18 empfangen, z.B. dass der Datenrahmengenerator 18 die Übertragung eines Datenrahmens 15 abgeschlossen hat.
  • Wie nachfolgend beschrieben wird, unterstützt das SENT-Protokoll mehrere Ausgangssequenzen. Der Computer 16 kann ferner dafür programmiert sein, die Erzeugung einer oder mehrerer dieser Sequenzen zu unterstützen. Zum Beispiel kann der Computer 16 Eingaben von der Schnittstelle 20 empfangen, die eine bestimmte Ausgangssequenz auswählen. Als Alternative kann der Computer 16 eine Anweisung aus dem Fahrzeugnetzwerk empfangen, die die bestimmte Ausgangssequenz auswählt. Der Computer 16 kann dann die Zwischendaten im Einklang mit der ausgewählten Ausgangssequenz erzeugen.
  • Der Datenrahmengenerator 18 ist eine elektronische Schaltung, die dafür ausgelegt ist, auf der Basis der von dem Computer 16 empfangenen Zwischendaten und Steuersignale Operationen auszuführen, die dem Senden eines SENT-Datenrahmens 15 zugeordnet sind. Der Datenrahmengenerator 18 umfasst einen Tick-Generator 22; einen ersten, zweiten und dritten Latch 24, 26, 28; eine Impulslängenwarteschlange 30, einen ersten und zweiten Zähler 32, 34; einen ersten und zweiten Komparator 36, 38; und einen Impulsunterbrecher 40.
  • Mit dem Tick-Generator 22 werden Ticks erzeugt, die als Zeitbasis für den Datenrahmengenerator 18 verwendet werden können. Der Tick-Generator 22 erzeugt periodische Ticks. Die Tick-Periode kann zum Beispiel durch den Computer 16 programmiert wenden. Der Tick-Generator 22 kann z.B. einen 40-MHz-Takt als Eingabe empfangen und kann z.B. einen periodischen Tick mit einer Periode von 3 Mikrosekunden erzeugen.
  • Der erste Latch 24 kann zum Beispiel ein 8-Bit-Latch sein, mit dem die Periode der durch den Tick-Generator 22 erzeugten Ticks programmiert wird.
  • Der zweite Latch 26 kann ein 8-Bit-Latch sein und kann zum Programmieren einer Länge eines niedrigen Zustands eines SENT-Datenimpulses, wie nachfolgend beschrieben, verwendet werden.
  • Der dritte Latch 28 kann ein 8-Bit-Latch sein und kann zum Speichern der Anzahl der Impulse in dem Datenrahmen 15 verwendet werden. Wenn zum Beispiel ein Pausenimpuls erforderlich ist, kann die Gesamtzahl von Impulsen in dem Datenrahmen 15 insgesamt 10 Impulse umfassen, und es kann der Wert 0A (hex) in dem Latch 28 gespeichert werden. Wenn als ein anderes Beispiel kein Pausenimpuls erforderlich ist, kann der Datenrahmen 15 insgesamt 9 Impulse umfassen, und es kann der Wert 09 (hex) in dem Latch 28 gespeichert werden.
  • Die Impulslängenwarteschlange 30 kann zum Beispiel 8 10-Bit-Schieberegister umfassen, die parallel angeordnet sind und effektiv ein 8 Bit breites Schieberegister mit 10 Positionen bilden. Die Impulslängenwarteschlange 300 kann einen Eingang und einen Ausgang aufweisen, wobei der Eingang und Ausgang jeweils 8 Bit breit sind. Jede Position an dem Schieberegister kann eine Länge eines bestimmten Impulses in einem SENT-Datenrahmen 15 speichern. Die Länge jedes Impulses in dem SENT-Datenrahmen 15 kann durch den Computer 16 am Eingang der Impulslängenwarteschlange 30 eingegeben und durch die Impulslängenwarteschlange 30 am Ausgang ausgegeben werden. Die Impulslängenwarteschlange 300 kann ferner z.B. einen Schiebeeingang umfassen und beim Empfang eines Schiebesignals an dem Schiebeeingang von einer Position zu einer nächsten Position inkrementieren.
  • Der erste Zähler 32 kann ein 8-Bit-Zähler sein, der einen Takteingang und einen 8-Bit-Ausgang aufweist. Der Takteingang kann z.B. durch den Tick-Generator 22 angesteuert werden. Der erste Zähler 32 kann zum Beispiel zum Steuern von SENT-Impulslängen auf der Basis der Länge jeweiliger in der Impulslängenwarteschlange 30 gespeicherten Impulsen verwendet werden.
  • Der zweite Zähler 34 kann zum Beispiel ein 8-Bit-Zähler mit einem Takteingang und einem 8-Bit-Ausgang sein und kann zum Zählen der Anzahl von Impulsen, die in einem SENT-Datenrahmen 15 gesendet werden, verwendet werden. Zum Beispiel kann am Anfang jeder SENT-Übertragung die Anzahl der Impulse in dem SENT-Datenrahmen 15 aus dem dritten Latch 28 in den zweiten Zähler 34 geladen werden. Der Takt kann zum Beispiel durch ein Signal angesteuert werden, das ein Ende eines aktuell gesendeten Impulses und einen Anfang eines nächsten Impulses angibt. Auf diese Weise wird am Ende jedes Impulses der zweite Zähler 34 dekrementiert. Wenn der zweite Zähler 34 null erreicht, kann er die Anzahl von Impulsen für einen nächsten SENT-Datenrahmen 15 neu laden und ein Interrupt-Signal an den Computer ausgeben, um die Impulslängenwarteschlange 30 mit den Impulslängen für den nächsten SENT-Datenrahmen 15 zu laden.
  • Der erste Komparator 36 kann ein digitaler 8-Bit-Komparator sein und kann zum Beispiel die von dem ersten Zähler 32 ausgegebenen 8 Bit mit der gespeicherten Länge des Impulses vergleichen, die gerade durch die Impulslängenwarteschlange 30 ausgegeben wird. Wenn zum Beispiel der Wert der 8-Bit-Ausgabe aus dem ersten Zähler 32 gleich dem durch die Impulslängenwarteschlange 30 ausgegeben Wert ist, kann der erste Komparator 36 ein Signal zum Rücksetzen des ersten Zählers 32 und Dekrementieren des zweiten Zählers 34 ausgeben. Das Ausgangssignal des Komparators 36 kann ferner zum Verschieben der Impulslängenwarteschlange 30 verwendet werden. Der aktuell gesendete Impuls kann enden und der nächste Impuls kann beginnen.
  • Der zweite Komparator 38 kann ein digitaler 8-Bit-Komparator sein und kann z.B. die 8-Bit-Ausgabe aus dem ersten Zähler 32 mit einem in dem zweiten Latch 26 gespeicherten Wert vergleichen. Wie oben besprochen, kann der in dem zweiten Latch 26 gespeicherte Wert eine Länge eines niedrigen Zustands eines aktuell gesendeten SENT-Impulses sein. Der zweite Komparator 38 kann zum Beispiel einen niedrigen Zustand ausgeben, wenn der Wert der 8-Bit-Ausgabe aus dem ersten Zähler 32 kleiner als der in dem zweiten Latch 26 gespeicherte Wert ist, und einen hohen Zustand ausgeben, wenn der Wert der 8-Bit-Ausgabe aus dem ersten Zähler 32 größer oder gleich dem in dem zweiten Latch 26 gespeicherten Wert ist.
  • Bei dem Impulsunterbrecher 40 kann es sich um Logikgatter oder Transistoren handeln, die, wenn sie durch eine Ausgabe aus dem Computer 16 angesteuert werden, einen niedrigen Zustand oder einen hohen Zustand an dem Ausgang erzwingen. Die Schaltung des Impulsunterbrechers 40 erlaubt dem Computer 16, das Ausgangssignal des zweiten Komparators 38 zu übersteuern und unabhängig von der Ausgabe des zweiten Komparators 38 den digitalen Pegel des gerade gesendeten SENT-Datenrahmens 15 zu bestimmen.
  • Der SENT-Prüfgenerator 14 kann ferner eine Benutzerschnittstelle 20 umfassen, die kommunikativ mit dem Computer 16 gekoppelt sein kann. Die Schnittstelle 20 kann eine oder mehrere Ausgabevorrichtungen, wie etwa ein Display, Lampen, Lautsprecher usw., zum Übermitteln von Informationen an einen Benutzer umfassen. Die Schnittstelle 20 kann ferner eine oder mehrere Eingabevorrichtungen, wie etwa ein Touchscreen-Display, eine Maus, eine Tastatur, eine Gestenerkennungsvorrichtung, Schalter usw. zum Empfangen von Eingaben vom Benutzer umfassen.
  • SENT-PROTOKOLL UND DATENRAHMEN
  • Das SENT-Protokoll wird in der Society of Automotive Engineers (SAE) Information Report Reference Nummer J2716, mit dem Titel „SENT-Single Edge Nibble Transmission for Automotive Applications“ beschrieben, wie allgemein bekannt ist.
  • Das SENT-Protokoll ist eine unidirektionale asynchrone Spannungsschnittstelle zum Senden von Daten z.B. von einem Sensor zu einem Computer, typischerweise in einem Fahrzeug. Gemäß dem SENT-Protokoll werden Daten in Einheiten von 4 Bit (ein Nibble) gesendet, wofür das Intervall zwischen zwei fallenden Flanken (einzelne Flanke) des modulierten Signals mit einer Konstantamplitudenspannung ausgewertet wird.
  • Ein gesendeter Datenrahmen 15 umfasst eine SENT-Nachricht und einen oder mehrere Steuerimpulse. Die SENT-Nachricht kann acht Datennibbles umfassen, wobei jedes Datennibble 4 Bit Daten repräsentiert. Jedes der acht Datennibbles kann zum Senden von bestimmten Informationen verwendet werden. Zum Beispiel kann ein erstes Datennibble ein Status- und Kommunikationsnibble sein, das Informationen über die Nachricht bereitstellt. Mit dem zweiten bis siebten Nibble kann man z.B. zwei Messkanäle von jeweils drei Nibbles (wie etwa Druck und Temperatur) senden. Mit einem achten Nibble kann man CRC-(Cyclic Redundancy Check) oder Prüfsummeninformationen senden. Gegebenenfalls können Daten in fünf Datennibbles transferiert werden. In diesem Fall kann z.B. einer der zwei Messkanäle weggelassen werden. Jedes Datennibble wird als ein Impuls gesendet, der hier manchmal als Datenimpuls bezeichnet wird. Die jedes Nibble repräsentierenden Datenimpulse weisen abhängig von dem 4-Bit-Wert der zu sendenden Daten variable Länge auf.
  • Die SENT-Nachricht wird in dem SENT-Datenrahmen 15 gesendet, der am Anfang des Datenrahmens einen Kalibrationsimpuls umfasst und am Ende des Datenrahmens einen Pausenimpuls umfassen kann. 3 zeigt einen typischen SENT-Datenrahmen 15. Der Datenrahmen 15 beginnt mit einem Kalibrationsimpuls 60a. Dem Kalibrationsimpuls können zum Beispiel acht Datenimpulse 62a62h folgen. Gegebenenfalls kann im Anschluss an den achten Datenimpuls 62h ein Pausenimpuls 64 in den Datenrahmen 15 aufgenommen werden. Nach dem Pausenimpuls 64 kann ein neuer SENT-Rahmen 15b gesendet werden.
  • Unter weiterer Bezugnahme auf 3 kann ein erster Impuls in dem SENT-Datenrahmen 15a der Kalibrationsimpuls 60a sein. Der Kalibrationsimpuls 60a kann an einer ersten fallenden Flanke 80 beginnen und an einer zweiten fallenden Flanke 84 enden. Der Kalibrationsimpuls 60a kann 56 Ticks lang sein, wobei ein Tick der als Zeitreferenz für den Datenrahmengenerator 18 verwendete Takt ist. Typischerweise wird der Kalibrationsimpuls 60a so erzeugt, dass er eine bekannte Anzahl von Ticks lang ist, um als Zeitreferenz für den SENT-Empfänger 12 zu dienen.
  • Der Kalibrationsimpuls 60a weist zwischen der fallenden Flanke 80 und der ansteigenden Flanke 82 einen niedrigen Zustand und zwischen der ansteigenden Flanke 82 und der fallenden Flanke 84 einen hohen Zustand auf. Typischerweise kann der niedrige Zustand sechs Ticks lang sein. Der hohe Zustand kann 50 Ticks lang sein, so dass die Länge des Kalibrationsimpulses 60a insgesamt 56 Ticks beträgt.
  • Die Datenimpulse 62a62h senden jeweils vier Bit Daten und können zum Beispiel von 12 bis 27 Ticks lang sein. Typischerweise kann jeder der Datenimpulse 62a62h niedrige Zustände mit einer selben Länge umfassen. Eine typische Länge für den niedrigen Zustand jedes der Datenimpulse 62a62h ist 6 Ticks.
  • Der Datenrahmen 15a kann nach den Datenimpulsen 62a62h einen Pausenimpuls 64 umfassen. Der Pausenimpuls 68 kann variable Länge aufweisen und so justiert werden, dass eine Gesamtlänge jedes zum Beispiel in dem System 10 gesendeten Datenrahmens 15 eine selbe Gesamtlänge ist.
  • Das SENT-Protokoll gestattet alternative Ausgangssequenzen zur Unterstützung verschiedener Anwendungen. Bei jeder der alternativen Ausgangssequenzen kann ein erstes Datennibble 62a als Statusnibble und ein achtes Datennibble 62h als Nibble für CRC (Cyclic Redundancy Check)/Prüfsumme verwendet werden. Die alternativen Nibble-Sequenzen können sich in Bezug auf den Umgang mit dem zweiten, dritten, vierten, fünften, sechsten und siebten Datennibble 62b62g unterscheiden. Beispiele für mögliche Nibblesequenzen sind nachfolgend aufgelistet.
  • Bei einer ersten beispielhaften Ausgangssequenz sind zwei Kanäle von Daten in dem Datenrahmen 15 enthalten. Der erste Kanal umfasst 12 Bit Daten und wird mit dem zweiten, dritten und vierten Datennibble 62b62d gesendet. Der zweite Kanal umfasst 12 Bit Daten und wird mit dem fünften, sechsten und siebten Datennibble 62e62g gesendet.
  • Bei einer zweiten beispielhaften Ausgangssequenz sind zwei Kanäle von Daten in dem Datenrahmen 15 enthalten. Der erste Kanal umfasst 16 Bit und wird mit dem zweiten, dritten, vierten und fünften Nibble 62b62e gesendet. Der zweite Kanal umfasst 8 Bit Daten und wird mit dem sechsten und siebten Datennibble 62f62g gesendet.
  • Bei einer dritten beispielhaften Ausgangssequenz sind zwei Kanäle von Daten in dem Datenahmen 15 enthalten. Der erste Kanal umfasst 12 Bit und wird mit dem zweiten, dritten und vierten Datennibble 62b62d gesendet. Der zweite Kanal umfasst 8 Bit Daten und wird mit dem fünften und sechsten Datennibble 62e62f gesendet. Das siebte Datennibble 62g kann eine invertierte Kopie eines höchstwertigen Nibbles des ersten Kanals sein. Das höchstwertige Nibble des ersten Kanals kann z.B. das zweite Datennibble 62b sein.
  • Bei einer vierten beispielhaften Ausgangssequenz sind zwei Kanäle von Daten in dem Datenrahmen 15 enthalten. Der erste Kanal umfasst 12 Bit und wird mit dem zweiten, dritten und vierten Datennibble 62b62d gesendet. Der zweite Kanal umfasst 8 Bit der Daten und wird mit dem fünften und sechsten Datennibble 62e62f gesendet. Das siebte Nibble 62g kann auf den Wert 00 (hex) gesetzt werden.
  • Typischerweise umfasst das erste Datennibble 62a Statusinformationen, z.B. ob ein Diagnostikproblem bei den Daten des ersten Kanals, den Daten des zweiten Kanals usw. detektiert wurde.
  • Typischerweise umfasst das achte Datennibble 62h Daten für CRC (Cyclic Redundancy Check)/Prüfsumme. Die CRC-/Prüfsummendaten können als Funktion der in den vorherigen Datennibbles 62a62g enthaltenen Daten erzeugt werden und können durch einen SENT-Empfänger verwendet werden, um zu bestimmen, dass eine gültige SENT-Übertragung empfangen wurde.
  • Es können auch andere Ausgangsequenzen erzeugt werden, die mit dem SENT-Protokoll vereinbar sind.
  • FEHLERBEDINGUNGEN
  • Mögliche Fehlerbedingungen, die in einen Datenrahmen 15 eingeführt werden können, umfassen einen Kalibrationsimpuls 60, der zu lang ist, einen Kalibrationsimpuls 60, der zu kurz ist, einen oder mehrere Datenimpulse 62, die zu lang sind, einen oder mehrere Datenimpulse 62, die zu kurz sind, einen Pausenimpuls 64, der zu kurz ist, einen Pausenimpuls 64, der zu lang ist, einen niedrigen Zustand eines Impulses, der zu kurz ist, einen niedrigen Zustand eines Impulses, der zu lang ist, zu viele Impulse und zu wenige Impulse in dem Datenrahmen. Außerdem können Fehlerbedingungen positive und negative „Rausch“-Impulse umfassen, die in den SENT-Datenrahmen 15 gezwungen werden. Die Rauschimpulse können von einer höherfrequenten Zeitbasis als die als Zeitbasis zur Erzeugung des Datenrahmens 15 verwendeten Ticks erzeugt werden und können Zufallsrauschen simulieren, das in den Datenrahmen 15 eingeführt wird.
  • Die mit der falschen Formung eines Datenimpulses 62 zusammenhängenden Fehler, z.B. zu langer Impuls, zu kurzer Impuls, Puls mit niedrigem Zustand zu kurz usw. können in einem beliebigen einzelnen Datenimpuls 62 oder in einer beliebigen Kombination von Datenimpulsen 62 eingeführt werden.
  • Wie oben erwähnt, kann eines der Datennibbles, typischerweise das achte Datennibble 62h, Daten für CRC (Cyclic Redundancy Check) oder Prüfsumme umfassen. Die Daten in dem CRC-/Prüfsummendatenimpuls werden als Funktion der vorherigen Datennibbles erzeugt. Eine zusätzliche Art von Fehler, die eingeführt werden kann, ist das Ändern entweder der CRC-/Prüfsummendaten oder der Daten, aus denen sie abgeleitet wurden, so dass die Funktion nicht erfüllt ist.
  • Die oben aufgelisteten Fehlerbeispiele sind nicht einschränkend. Es können andere Arten von Fehlern durch den SENT-Prüfgenerator 14 erzeugt werden.
  • ERZEUGEN EINES SENT-DATENRAHMENS
  • Wie oben besprochen kann der Computer 16 zusammen mit dem Datenrahmengenerator 18 SENT-Datenrahmen 15 erzeugen und senden. Der Datenrahmengenerator 18 umfasst Schaltungsblöcke zum Ausführen von Operationen wie etwa Erzeugen eines Impulses mit einer bestimmten Länge, Erzeugen eines niedrigen Zustands eines Impulses mit einer bestimmten Länge, Sequenzieren der Impulse gemäß den SENT-Protokoll und Einführen von Fehlern in den SENT-Datenrahmen 15.
  • Programmieren des Datenrahmengenerators zur Erzeugung eines Datenrahmens Anfänglich kann der Computer 16 Zwischendaten zur Verwendung zum Erzeugen eines SENT-Datenrahmens 15 in den Datenrahmengenerator 18 laden. Zum Beispiel kann der Computer 16 Daten in den ersten Latch 24 laden, der die Periode für die durch den Tickgenerator 22 zu erzeugenden Ticks setzt. Der Computer 16 kann ferner den zweiten Latch 26 mit einer Länge (Anzahl von Ticks) eines niedrigen Zustands für jeden Impuls laden und eine Länge jedes der Impulse des SENT-Datenrahmens in die Impulslängenwarteschlange 30 laden. Für die folgenden Besprechungen werden digitale Werte im hexadezimalen Format (hex) vorliegen.
  • Sequenzieren durch den SENT-Datenrahmen
  • Der zweite Zähler 34 kann zum Zählen der für den SENT-Datenrahmen 15 erzeugten Impulse verwendet werden. Zum Beispiel kann der zweite Zähler 34 an einem Zählwert 0A starten. Wenn sich der zweite Zähler 34 an dem Zählwert 0A befindet, kann die Impulslängenwarteschlange 30 Daten aus einer ersten Position ausgeben. Die erste Position der Impulslängenwarteschlange 30 kann eine Länge eines ersten Impulses des SENT-Datenrahmens 15 enthalten. Wenn der Datenrahmengenerator 14 das Erzeugen und Senden des ersten Impulses, z.B. des Kalibrationsimpulses 60A wie oben beschrieben, abgeschlossen hat, kann der zweite Zähler 34 auf den Zählwert 09 dekrementiert werden. Die Impulslängenwarteschlange 30 kann zu einer zweiten Position verschoben werden, die eine Länge für einen zweiten Impuls des SENT-Datenrahmens, z.B. den ersten Datenimpuls 62a, enthält. Am Ende jedes Impulses in dem Datenrahmen 15 kann der zweite Zähler 34 dekrementiert werden und die Impulslängenwarteschlange 30 kann zu einer nächsten Position verschoben werden, bis der zweite Zähler 34 den Wert 00 erreicht und die Übertragung abgeschlossen ist. Der zweite Zähler 34 kann dann auf einen Wert gesetzt werden, der der Anzahl von Impulsen in dem nächsten Datenrahmen 15 entspricht. Der Datenrahmengenerator 18 kann die Erzeugung eines neuen Datenrahmens 15 starten.
  • Setzen einer Impulslänge für die Datenrahmenimpulse
  • Eine Länge jedes Impulses in dem Datenrahmen 15 kann mit dem Tickgenerator 22, der Impulslängenwarteschlange 30, dem ersten Zähler 32 und dem ersten Komparator 36 gesetzt werden. Wie oben beschrieben, kann die Impulslängenwarteschlange 30 ein 8 Bit breites Schieberegister mit 10 Positionen sein. Jede Position kann eine Länge (Anzahl von Ticks) für einen Impuls in dem Datenrahmen 15 speichern.
  • Der Tickgenerator 22 erzeugt eine Zeitbasis für den Datenrahmengenerator 18. Eine Länge und Frequenz von durch den Tickgenerator 22 erzeugten Ticks kann über den Computer 16 programmiert werden.
  • Auf der Basis der Erzeugung des aktuellen Impulses kann die Impulslängenwarteschlange 30 zu einer entsprechenden Position verschoben werden und den an der Position gespeicherten Längenwert an einen ersten Eingang des ersten Komparators 36 ausgeben.
  • Der erste Zähler 32 kann am Anfang der Erzeugung jedes Impulses rückgesetzt und durch den Tickgenerator 22 getaktet werden. Der erste Zähler 32 kann einen Zählwert an einen zweiten Eingang des ersten Komparators 36 ausgeben. Der erste Komparator 36 kann den Ausgangswert des ersten Zählers 32 mit dem von der Impulslängenwarteschlange 30 ausgegebenen Wert vergleichen. Der erste Komparator 36 kann detektieren, wenn der erste Zählerausgangswert gleich dem von der Impulslängenwarteschlange 30 ausgegeben Wert ist. Auf der Basis der Detektion durch den ersten Komparator 36 beendet der Datenrahmengenerator 18 den aktuellen Impuls, der gerade erzeugt wird. Typischerweise kehrt der SENT-Datenrahmen 15 zu einem niedrigen Zustand zurück. Außerdem wird der zweite Zähler 34 dekrementiert und die Impulslängenwarteschlange 30 verschoben. Der Datenrahmengenerator 18 geht dann voran mit der Erzeugung des nächsten Impulses in dem SENT-Datenrahmen 15.
  • Erzeugen einer Länge jedes Impulses erlaubt dem Datenrahmengenerator 18, spezifische Fehlerbedingungen in Impulse an spezifischen Orten in dem Datenrahmen 15 einzuführen. Zum Beispiel können ein beliebiger einzelner Impuls oder Kombinationen von Impulsen zu lang oder zu kurz erzeugt werden, indem eine gewünschte Impulslänge in die Impulslängenwarteschlange 30 programmiert wird.
  • Erzeugen eines Impuls-Niedrigzustands, Umschalten von einem Niedrigzustand zu einem Hochzustand
  • Typischerweise beginnt zum Beispiel in dem Datenrahmen 15a wie oben beschrieben jeder Impuls in einem SENT-Datenrahmen in einem niedrigen Zustand und geht zu einem hohen Zustand über. Die Zeitdauer, für die der Impuls niedrig ist, kann durch den ersten Zähler 32 zusammen mit dem zweiten Latch 26 und dem zweiten Komparator 38 gesteuert werden. Wie in 2 zu sehen ist, vergleicht der zweite Komparator 38 den Ausgangswert aus dem ersten Zähler 32 mit einem in dem zweiten Latch 26 gespeicherten Wert. Der Ausgang des zweiten Komparators 38 kann zum Beispiel so gesetzt werden, dass, wenn der Ausgangswert des ersten Zählers 32 kleiner als ein in dem zweiten Latch 26 gespeicherter Wert ist, der Ausgangswert des zweiten Komparators 38 und deshalb der Wert des Impulses, der erzeugt wird, niedrig ist. Wenn der Ausgangswert des ersten Zählers 32 zum Beispiel größer oder gleich dem in dem zweiten Latch 26 gespeicherten Wert ist, können der Ausgangswert des zweiten Komparators 38 und der erzeugte Impulswert hoch sein. Auf diese Weise kann mit dem in dem zweiten Latch 26 gespeicherten Wert die Zeitdauer gesteuert werden, für die der Impuls niedrig ist.
  • Einführen erzwungener Impulse
  • Der Impulswert (hoch oder niedrig), erzeugt durch die Kombination des ersten Zählers 32, des zweiten Komparators 38 und des zweiten Latches 26, kann durch den Computer 16 direkt über den Impulsunterbrecher 40 übersteuert werden. Wie oben beschrieben, kann der Impulsunterbrecher 40 als Logikschaltkreise konfiguriert sein, die das Leiten des Ausgangswerts des zweiten Komparators 38 zu dem Datenrahmenausgang blockieren und direkt einen hohen oder niedrigen Wert gemäß von dem Computer 16 empfangenen Eingaben ausgeben. Als Alternative kann der Impulsunterbrecher 40 z.B. Transistoren mit niedriger Impedanz umfassen, die den Ausgang des Komparators 38 „übersteuern“. Auf diese Weise kann der Computer 16 z.B. ein elektrisch rauschbehaftetes System simulieren, indem während einer Niedrig-Periode eines Impulses ein oder mehrere positive Impulse oder während einer Hoch-Periode eines Impulses ein oder mehrere negative Impulse erzeugt werden. Die positiven oder negativen Impulse können auf der Basis einer Zeitbasis mit einer höheren Frequenz als der Frequenz der Ticks erzeugt werden und können deshalb Rauschen in dem Datenrahmen 15 simulieren.
  • ALTERNATIVE ODER ZUSÄTZLICHE MÖGLICHKEITEN ZUM EMPFANGEN VON NACHRICHTEN- UND FEHLERDATEN
  • Zusätzlich oder als Alternative zu dem Empfangen der SENT-Nachricht und Fehlerbefehle über ein Fahrzeugnetzwerk können andere Mechanismen verwendet werden. Zum Beispiel können Nachrichtendaten als ein Analogsignal eingegeben werden, wodurch eine Sensor-Analogausgabe simuliert wird. Der Computer 16 kann das Analogsignal empfangen und z.B. unter Verwendung eines Analog-Digital-Umsetzers (ADC) die analoge Eingabe in einen digitalen Wert umsetzen. Ferner kann zum Beispiel die Schnittstelle 20 einen oder mehrere Schalter oder andere Eingabevorrichtungen umfassen. Die Schalter oder anderen Eingabevorrichtungen können durch einen Benutzer gesetzt werden, um eine oder mehrere Arten von durch den SENT-Prüfgenerator 14 zu erzeugenden Fehlern zu spezifizieren.
  • BEISPIELHAFTER PROZESSFLUSS
  • 4 ist eine Darstellung eines beispielhaften Prozesses 400 zur Erzeugung eines SENT-Datenrahmens auf der Basis von über einen Fahrzeugnetzwerkbus empfangenen Anweisungen. Der Prozess 400 beginnt in einem Block 405.
  • Im Block 405 bestimmt der Computer 16 in dem SENT-Prüfgenerator 14, ob neue Nachrichtendaten verfügbar sind. Zum Beispiel kann das Kommunikationsmodul 21 (Computer 16) über den Fahrzeugnetzwerkbus 42 eine Anweisung empfangen, die eine Nachricht umfasst. Auf den Empfang der Anweisung hin kann das Kommunikationsmodul 21 die Nachricht speichern und ein „Nachricht-Verfügbar-Flag“ setzen, das angibt, dass eine neue Nachricht verfügbar ist. Der den Prozess 400 ausführende Computer 16 kann das Modul 21 auf der Basis des Flags nach der Nachricht abfragen. Wenn das Nachricht-Verfügbar-Flag gesetzt wurde, wird der Prozess 400 in einem Block 410 fortgesetzt. Wenn das Nachricht-Verfügbar-Flag nicht gesetzt wurde, wird der Prozess 400 in einem Block 415 fortgesetzt.
  • Im Block 410 lädt der Computer 16 die neue verfügbare Nachricht hoch, um ihre Daten für Verarbeitung zur Verfügung zu stellen. Zum Beispiel kann der Computer 16 die Nachrichtendaten von dem Kommunikationsmodul 21 zu einem Speicherort transferieren, der für die Verarbeitung von SENT-Datenrahmen 15 zugeteilt ist. Der Prozess 400 wird dann in einem Block 415 fortgesetzt.
  • Im Block 415, der Block 405 oder Block 410 folgen kann, bestimmt der Computer 16, ob neue Fehlerdaten verfügbar sind. Zum Beispiel kann das Kommunikationsmodul 21 eine Fehlerdaten enthaltende Anweisung über den Fahrzeugnetzwerkbus 42 empfangen. Auf den Empfang der Anweisung hin kann das Kommunikationsmodul 21 die Fehlerdaten speichern und ein „Fehlerdaten-Verfügbar-Flag“ setzen, das angibt, dass neue Fehlerdaten verfügbar sind. Der den Prozess 400 ausführende Computer 16 kann das Flag abfragen. Wenn das Neue-Fehlerdaten-Verfügbar-Flag gesetzt wurde, wird der Prozess 400 in einem Block 420 fortgesetzt. Wenn das Nachricht-Verfügbar-Flag nicht gesetzt wurde, wird der Prozess 400 in einem Block 425 fortgesetzt.
  • Im Block 420 lädt der Computer 16 die Fehlerdaten hoch, um die Daten für Verarbeitung zur Verfügung zu stellen. Zum Beispiel kann der Computer 16 die Fehlerdaten von dem Kommunikationsmodul 21 zu einem Speicherort transferieren, der für die Verarbeitung von SENT-Datenrahmen 15 zugeteilt ist. Der Prozess wird dann in einem Block 425 fortgesetzt.
  • Im Block 425 bestimmt der Computer 16, ob ein Triggerereignis für das Erzeugen eines neuen SENT-Datenrahmens 15 aufgetreten ist. Zum Beispiel kann der Computer 16 ein Signal von dem Datenrahmengenerator 18 empfangen, das angibt, dass der Datenrahmengenerator 18 bereit ist, neue Daten zu empfangen. Das Signal kann z.B. ein durch den Datenrahmengenerator 18 gesetztes Bereitschaftsflag oder ein von dem Datenrahmengenerator 18 empfangenes Interrupt-Signal sein. Wenn der Computer 16 bestimmt, dass ein Triggerereignis aufgetreten ist, wird der Prozess 400 in einem Block 430 fortgesetzt. Wenn der Computer 16 bestimmt, dass noch kein Triggerereignis aufgetreten ist, kann der Prozess 400 zu Block 405 zurückkehren und weiter auf den Empfang neuer Nachrichtendaten überwachen.
  • Wenn der Computer 16 im Block 425 bestimmt, dass ein Triggerereignis aufgetreten ist, wird der Prozess 400 in einem Block 430 fortgesetzt.
  • Im Block 430 erzeugt der Computer 16 Zwischendaten wie oben beschrieben zur Erzeugung eines gültigen SENT-Datenrahmens. Auf der Basis der in den Blöcken 405 und 410 empfangenen aktuell verfügbaren Nachrichtendaten bestimmt der Computer 16 eine Länge jedes Impulses in den Zwischendaten, eine Periode für die Ticks, eine Länge eines niedrigen Zustands, eine Anzahl von Impulsen usw. vereinbar mit dem SENT-Protokoll und speichert die Daten zur weiteren Verarbeitung.
  • Im Block 430 kann der Computer 16 vor dem Erzeugen der Zwischendaten eine bestimmte zu sendende Ausgangssequenz bestimmen. Wie oben beschrieben, unterstützt das SENT-Protokoll mehrere Ausgangssequenzen. Der Prüfgenerator 14 kann die Erzeugung einer oder mehrerer dieser Sequenzen unterstützen. Zum Beispiel kann der Computer 16 Eingaben von der Schnittstelle 20 empfangen, die eine bestimmte Ausgangssequenz auswählen. Als Alternative kann der Computer 16 aus dem Fahrzeugnetzwerk 42 eine Anweisung empfangen, die die bestimmte Ausgangssequenz auswählt. Der Computer 16 kann dann die Zwischendaten vereinbar mit den in den Blöcken 405 empfangenen Nachrichtendaten und die ausgewählte Ausgangssequenz erzeugen. Der Prozess 400 wird in einem Block 435 fortgesetzt.
  • Im Block 435 modifiziert der Computer 16 die im Block 430 erzeugten Zwischendaten, um gemäß den in den Blöcken 415 und 420 empfangenen Fehlerdaten Fehler einzuführen. Zum Beispiel kann der Computer 16 auf der Basis der Fehlerdaten die Längen eines oder mehrerer Impulse in den Zwischendaten modifizieren, die Periode für die Ticks modifizieren usw. Der Prozess wird in einem Block 440 fortgesetzt.
  • Im Block 440 lädt der Computer 16 die in den Blöcken 430 und 335 zusammengestellten Zwischendaten in den Datenrahmengenerator 18. Wie oben beschrieben, wird die Länge jedes Impulses des SENT-Datenrahmens in die Impulslängenwarteschlange 30 geladen, die Periode der Ticks wird in den ersten Latch 24 geladen, die Länge eines niedrigen Zustands wird in den zweiten Latch 26 geladen usw. Der Prozess wird in einem Block 445 fortgesetzt.
  • Im Block 445 erzeugt der Datenrahmengenerator 18 unter der Kontrolle des Computers 16 einen SENT-Datenrahmen 15. Der Datenrahmengenerator 18 kann ferner z.B. ein Interrupt- und/oder Bereitschaftsflag erzeugen, das angibt, dass der Datenrahmengenerator 18 bereit ist, eine neue Übertragung von Datenrahmen 15 zu starten. Der Prozess 400 wird in einem Block 450 fortgesetzt.
  • Im Block 450 bestimmt der Computer 16, ob der Prozess 400 enden soll. Zum Beispiel kann der Computer 16 dafür programmiert sein, einen SENT-Datenrahmen 15 zu senden und dann auf weitere Anweisungen zu warten. Als Alternative kann der Computer 16 dafür programmiert sein, kontinuierlich SENT-Datenrahmen 15 zu senden, bis er eine Anweisung empfängt, den Prozess 400 anzuhalten. Die Anweisung, den Prozess 400 anzuhalten, kann z.B. von der Schnittstelle 20 oder über den Netzwerkeingang 42 kommen. Wenn der Computer 16 bestimmt, dass der Prozess 400 fortgesetzt werden soll, kann der Prozess 400 zu Block 405 zurückkehren. Andernfalls kann der Prozess 400 enden.
  • SCHLUSSBEMERKUNGEN
  • Im vorliegenden Gebrauch bedeutet der Ausdruck „im Wesentlichen“, dass eine Form, Struktur, Messung, Quantität, Zeit usw. aufgrund von Unzulänglichkeiten in Materialien, Maschinenbearbeitung, Herstellung usw. von einer exakten beschriebenen Geometrie, Distanz, Messung, Quantität, Zeit usw. abweichen kann.
  • Der Ausdruck "beispielhaft" wird hier im Sinne von ein Beispiel bedeutend gebraucht, z.B. sollte eine Erwähnung eines "beispielhaften Widget" als sich einfach auf ein Beispiel für ein Widget beziehend aufgefasst werden.
  • In den Zeichnungen geben dieselben Bezugszahlen dieselben Elemente an. Ferner können einige oder alle dieser Elemente geändert werden. Im Hinblick auf die hier beschriebenen Komponenten, Prozesse, Systeme, Verfahren usw. versteht sich, dass diese hier zur Veranschaulichung bestimmter Ausführungsformen angegeben werden und auf keinerlei Weise als Beschränkung der beanspruchten Erfindung aufgefasst werden sollten.
  • Dementsprechend versteht sich, dass die obige Beschreibung nicht einschränkend, sondern veranschaulichend sein soll. Fachleuten würden bei Durchsicht der obigen Beschreibung viele andere Ausführungsformen und Anwendungen als die angegebenen Beispiele einfallen. Der Schutzumfang der Erfindung sollte nicht mit Bezug auf die obige Beschreibung bestimmt werden, sondern sollte stattdessen mit Bezug auf die angefügten Ansprüche, zusammen mit dem vollen Umfang von Äquivalenten, zu denen diese Ansprüche berechtigt sind, bestimmt werden. Es wird erwartet und beabsichtigt, dass zukünftige Entwicklungen auf den hier besprochenen Gebieten auftreten werden und dass die offenbarten Systeme und Verfahren in solche zukünftigen Ausführungsformen integriert werden. Zusammengefasst versteht sich, dass die Erfindung modifiziert und abgewandelt werden kann und nur durch die folgenden Ansprüche beschränkt wird.
  • Allen in den Ansprüchen gebrauchten Ausdrücken sollen ihre normalen und gewöhnlichen Bedeutungen gegeben werden, so, wie sie von Fachleuten verstanden werden, sofern es hier nicht ausdrücklich gegenteilig erwähnt wird. Insbesondere sollte die Verwendung der Singularartikel wie "ein", "das", "besagtes" usw. als eines oder mehrere der angeführten Elemente aufführend interpretiert werden, solange nicht ein Anspruch eine explizite gegenteilige Beschränkung anführt.

Claims (20)

  1. Prüfgenerator, der einen Computer mit einem Prozessor und einen durch den Prozessor ausführbare Anweisungen speichernden Speicher umfasst; wobei der Computer programmiert ist zum Empfangen mindestens einer Eingabe, die eine Nachricht und einen Fehlerbefehl umfasst, der einen oder mehrere Fehler spezifiziert; Erzeugen eines gemäß einem Single-Edge-Nibble-Transmission-Protokoll formatierten Datenrahmens, wobei der Datenrahmen die Nachricht und den spezifizierten einen oder die spezifizierten mehreren Fehler umfasst; und Senden des Datenrahmens.
  2. Prüfgenerator nach Anspruch 1, wobei die mindestens eine Eingabe über eine Fahrzeugkommunikationsbusübertragung empfangen wird.
  3. Prüfgenerator nach Anspruch 1 oder Anspruch 2, wobei der Computer ferner programmiert ist zum: Empfangen einer Auswahl einer Single-Edge-Transmission-Protokoll-Ausgangssequenz; und Erzeugen des Datenrahmens gemäß der ausgewählten Ausgangssequenz.
  4. Prüfgenerator nach Anspruch 3, wobei der ausgewählte Ausgangstyp eine der folgenden Alternativen umfasst: a) einen ersten Kanal mit drei Nibbles und einen zweiten Kanal mit drei Nibbles; b) einen ersten Kanal mit vier Nibbles und einen zweiten Kanal mit zwei Nibbles; c) einen ersten Kanal mit drei Nibbles, einen zweiten Kanal mit zwei Nibbles und ein Nibble mit einer Invertierung eines höchstwertigen Nibbles des ersten Kanals; und d) einen ersten Kanal mit drei Nibbles, einen zweiten Kanal mit zwei Nibbles und ein auf einen Wert 00 (hex) gesetztes Nibble.
  5. Prüfgenerator nach einem der Ansprüche 1 bis 4, wobei der Computer ferner programmiert ist zum: Empfangen der Auswahl der Single-Edge-Transmission-Protokoll-Ausgangssequenz aus einer Fahrzeugkommunikationsbusübertragung oder einer Benutzeroberfläche.
  6. Prüfgenerator nach einem der Ansprüche 1 bis 5, wobei der angeforderte Fehler mindestens eine der folgenden Alternativen umfasst: ein oder mehrere niedrige Zustände zu kurz, ein oder mehrere niedrige Zustände zu lang, ein oder mehrere hohe Zustände zu kurz, ein oder mehrere hohe Zustände zu lang, ein oder mehrere Datenimpulse zu kurz, ein oder mehrere Datenimpulse zu lang, ein Pausenimpuls zu kurz, ein Pausenimpuls zu lang, ein Kalibrationsimpuls zu kurz, ein Kalibrationsimpuls zu lang, zu wenige Impulse im Datenrahmen und zu viele Impulse im Datenrahmen.
  7. Prüfgenerator nach einem der Ansprüche 1 bis 6, der ferner einen Datenrahmengenerator umfasst, der kommunikativ mit dem Computer gekoppelt und dafür ausgelegt ist, einen Datenrahmen auf der Basis von aus dem Computer empfangenen Daten- und Steuersignalen zu erzeugen.
  8. Prüfgenerator nach Anspruch 7, wobei der Datenrahmengenerator Folgendes umfasst: eine Tickgenerator, wobei der Tickgenerator dafür ausgelegt ist, einen Tick zu erzeugen, wobei ein Tick ein als Zeitbasis zur Erzeugung des Datenrahmens verwendetes periodisches Signal ist.
  9. Prüfgenerator nach Anspruch 7 oder Anspruch 8, wobei der Datenrahmengenerator ferner Folgendes umfasst: eine Impulslängenwarteschlange mit mehreren Speicherorten, die jeweils mehreren Impulsen in dem Datenrahmen zugeordnet sind; wobei der Prüfgenerator dafür programmiert ist, vor dem Erzeugen eines Datenrahmens eine Länge jedes der mehreren Impulse in einen jeweiligen Speicherort zu laden.
  10. Prüfgenerator nach einem der Ansprüche 7 bis 9, wobei der Datenrahmengenerator ferner einen Zähler mit einem Takteingang und einem Taktausgang umfasst; wobei der Zählertakt durch den Tickgenerator angesteuert wird; und eine Länge eines Impulses durch Vergleichen der Ausgabe des Zählers mit der in der Impulslängenwarteschlange gespeicherten Länge des Impulses bestimmt wird.
  11. Prüfgenerator nach einem der Ansprüche 8 bis 10, wobei der Computer ferner programmiert ist zum Zwingen eines niedrigen Rauschimpulses oder eines hohen Rauschimpulses in den Datenrahmen, wobei eine Länge des erzwungenen Rauschimpulses eine Dauer von weniger als einer Periode zwischen zwei aufeinanderfolgenden Ticks aufweist.
  12. Verfahren, umfassend: Empfangen mindestens einer Eingabe durch einen Prüfgenerator, die eine Nachricht und einen Fehlerbefehl umfasst, der einen oder mehrere Fehler spezifiziert; Erzeugen eines gemäß einem Single-Edge-Nibble-Transmission-Protokoll formatierten Datenrahmens, wobei der Datenrahmen die Nachricht und den spezifizierten einen oder die spezifizierten mehreren Fehler umfasst; und Senden des Datenrahmens.
  13. Verfahren nach Anspruch 12, wobei die Eingabe über einen Fahrzeugkommunikationsbus empfangen wird.
  14. Verfahren nach Anspruch 12 oder Anspruch 13, ferner umfassend: Empfangen einer Auswahl einer Single-Edge-Transmission-Protokoll-Ausgangssequenz; und Erzeugen des Datenrahmens gemäß der ausgewählten Ausgangssequenz.
  15. Verfahren nach einem der Ansprüche 12 bis 14, wobei der ausgewählte Ausgangstyp eine der folgenden Alternativen umfasst: a) einen ersten Kanal mit drei Nibbles und einen zweiten Kanal mit drei Nibbles; b) einen ersten Kanal mit vier Nibbles und einen zweiten Kanal mit zwei Nibbles; c) einen ersten Kanal mit drei Nibbles, einen zweiten Kanal mit zwei Nibbles und ein Nibble mit einer Invertierung eines höchstwertigen Nibbles des ersten Kanals; und d) einen ersten Kanal mit drei Nibbles, einen zweiten Kanal mit zwei Nibbles und ein auf einen Wert 00 (hex) gesetztes Nibble.
  16. Verfahren nach Anspruch 14 oder Anspruch 15, wobei die Auswahl der Ausgangssequenz aus einer Schnittstelle des Prüfgenerators empfangen wird.
  17. Verfahren nach einem der Ansprüche 12 bis 16, wobei der angeforderte Fehler mindestens eine der folgenden Alternativen umfasst: ein oder mehrere niedrige Zustände zu kurz, ein oder mehrere niedrige Zustände zu lang, ein oder mehrere hohe Zustände zu kurz, ein oder mehrere hohe Zustände zu lang, ein oder mehrere Datenimpulse zu kurz, ein oder mehrere Datenimpulse zu lang, ein Pausenimpuls zu kurz, ein Pausenimpuls zu lang, ein Kalibrationsimpuls zu kurz, ein Kalibrationsimpuls zu lang, zu wenige Impulse im Datenrahmen und zu viele Impulse im Datenrahmen.
  18. Verfahren nach einem der Ansprüche 12 bis 17, ferner umfassend: Erzeugen von Zwischendaten zum Programmieren eines Datenrahmengenerators auf der Basis der empfangenen mindestens einen Eingangsanweisung; Laden der Zwischendaten in den Datenrahmengenerator; und Erzeugen des Datenrahmens in dem Datenrahmengenerator auf der Basis der Zwischendaten.
  19. Verfahren nach Anspruch 18, ferner umfassend: Erzeugen eines periodischen Ticks durch einen in dem Datenrahmengenerator enthaltenen Tickgenerator; und Verwenden des periodischen Ticks als Zeitbasis zum Erzeugen des Datenrahmens.
  20. Verfahren nach Anspruch 19, ferner umfassend: Zwingen eines niedrigen Rauschimpulses oder eines hohen Rauschimpulses in den Datenrahmen, wobei eine Länge des erzwungenen Rauschimpulses eine Dauer von weniger als einer Periode zwischen zwei aufeinanderfolgenden Ticks aufweist.
DE102016110961.4A 2015-06-17 2016-06-15 SENT-Fehlergenerator Pending DE102016110961A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/741,560 US10204024B2 (en) 2015-06-17 2015-06-17 Sent error generator
US14/741,560 2015-06-17

Publications (1)

Publication Number Publication Date
DE102016110961A1 true DE102016110961A1 (de) 2016-12-22

Family

ID=57466825

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016110961.4A Pending DE102016110961A1 (de) 2015-06-17 2016-06-15 SENT-Fehlergenerator

Country Status (5)

Country Link
US (1) US10204024B2 (de)
CN (1) CN106257854B (de)
DE (1) DE102016110961A1 (de)
MX (1) MX2016007907A (de)
RU (1) RU2708791C1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2531748A (en) * 2014-10-29 2016-05-04 Melexis Technologies Nv Flexible SENT device configuration
DE102016125044B4 (de) * 2016-12-20 2018-11-15 Infineon Technologies Ag Sensorsteuerung, Sensorsignalempfänger und Sensorsystem
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
CN109522262B (zh) * 2018-10-10 2022-12-13 上海亚明照明有限公司 适用于不定长数据帧的接收方法、系统、电子终端及存储介质
CN111800380A (zh) * 2020-05-27 2020-10-20 苏州国方汽车电子有限公司 一种基于J2716协议的Sent信号模拟解析平台
US11811569B2 (en) * 2020-09-01 2023-11-07 Allegro Microsystems, Llc Sensor integrated circuits having a single edge nibble transmission (SENT) output

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6631481B1 (en) * 2000-02-16 2003-10-07 International Business Machines Corporation Method and apparatus for injecting an error into a waveform sent over a data link
JP2006303863A (ja) * 2005-04-20 2006-11-02 Fujitsu Ltd パルス信号生成装置
JP4497077B2 (ja) 2005-10-17 2010-07-07 株式会社デンソー 発電異常監視システム
US7877179B2 (en) * 2006-09-12 2011-01-25 GM Global Technology Operations LLC Mechanical and electrical locking coordination security strategy for an active front steer system
US7584742B2 (en) 2007-05-14 2009-09-08 Gm Global Technology Operations, Inc. Electronic throttle control remedial action desensitization
EP2114054A1 (de) * 2008-05-03 2009-11-04 GM Global Technology Operations, Inc. Verfahren zur Überwachung des Betriebs von Aktuatoren in Verbrennungsmotoren
US8250911B2 (en) * 2010-08-13 2012-08-28 GM Global Technology Operations LLC Control module response testing systems and methods
RU2459373C1 (ru) * 2010-12-15 2012-08-20 Государственное казенное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) Способ определения длины кадра передачи кодеков речевых сигналов на основе линейного предсказания в сетях с пакетной коммутацией на основе ip-протокола
US8645020B2 (en) 2012-06-21 2014-02-04 Freescale Semiconductor, Inc. Channel diagnostic system for sent receiver
US9753830B2 (en) * 2013-03-08 2017-09-05 Microchip Technology Incorporated Dynamic pause period calculation for serial data transmission
DE102014114877B4 (de) * 2014-10-14 2017-07-06 Infineon Technologies Ag Eine Vorrichtung und ein Verfahren zum Bereitstellen eines Ausgangsparameters und eines Sensorbauelements
GB2531748A (en) * 2014-10-29 2016-05-04 Melexis Technologies Nv Flexible SENT device configuration
CN204228309U (zh) * 2014-11-13 2015-03-25 上海采埃孚转向系统有限公司 一种用于扭矩传感器的数字量测试的sent信号通信电路

Also Published As

Publication number Publication date
US20160371164A1 (en) 2016-12-22
RU2708791C1 (ru) 2019-12-11
CN106257854B (zh) 2021-08-27
RU2016123593A (ru) 2017-12-18
US10204024B2 (en) 2019-02-12
MX2016007907A (es) 2017-01-09
CN106257854A (zh) 2016-12-28

Similar Documents

Publication Publication Date Title
DE102016110961A1 (de) SENT-Fehlergenerator
DE10116380B4 (de) Halbleiterprüfsystem
DE102014114509B4 (de) Fahrzeugnetz-Betriebsfähigkeitsbewertung
DE2340547B2 (de) Schaltungsanordnung zum testen logischer schaltungen
DE19700513C2 (de) Mit CAD-Daten verknüpftes Halbleiterprüfsystem
DE602005002931T2 (de) Prüfung eines Testobjekts mit Abtastung vom Taktsignal und vom Datensignal
EP4128539A1 (de) Verfahren zur zeitlich synchronisierten eingabe und/oder ausgabe von signalen mit wählbarer abtastrate
DE102016119750B4 (de) Vorrichtungen und Verfahren zur Mehrkanalabtastung
EP1315337B1 (de) Bus-Interface
WO2018086943A1 (de) ZEIT-DIGITALWANDLEREINRICHTUNG, LiDAR-SYSTEM UND VORRICHTUNG
DE102015105887A1 (de) Verfahren zum automatischen Hinzu- oder Wegschalten eines Kommunikationswiderstandes eines HART-Gerätes
DE102011009583A1 (de) Einfaches Erzeugen einer Fernsteuersequenz für Messgeräte
EP2343611A1 (de) Verfahren zur rechnergestützten Erzeugung eines ausführbaren Steuerungsprogramms und diesbezügliche Konfigurationseinrichtung
WO2019135132A1 (de) Spannungsdiagnoseschaltung
EP3622403A2 (de) Verfahren zur computergestützten, automatisierten überprüfung von anforderungen
EP4029185B1 (de) Vorrichtung und verfahren zur synchron-seriellen datenübertragung
EP3701276B1 (de) Integrierte schaltung und asic
DE102017101700A1 (de) Verfahren zur zeitlich synchronisierten Ausgabe und/oder zeitlich synchronisierten Verarbeitung von Signalen
EP2618114B1 (de) Abrufen von messwerten, diagnoseinformationen oder geräteparametern
DE102012203252A1 (de) Vorrichtung und Verfahren zum Testen von elektronischen Geräten mit einer räumlich getrennten Steuereinrichtung
DE102012216848A1 (de) Steuergerät für stromgesteuerten Bus
WO1993003434A1 (de) Verfahren zur prüfung von integrierten schaltkreisen mit mindestens einer logikschaltung und prüfbarer integrierter schaltkreis
DE102017208170A1 (de) Verfahren zur Überwachung eines Betriebs einer binären Schnittstelle und entsprechende binäre Schnittstelle
DE19740543C1 (de) Verfahren zum Testen eines integrierten Schaltkreises sowie Verfahren und Datenverarbeitungsanlage zum Erzeugen von Testdaten
EP2996002A1 (de) Verfahren zur Konfiguration einer drahtlosen Verbindung

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012260000

Ipc: H04L0043000000

R012 Request for examination validly filed