DE102020105794A1 - Vorrichtung, Steuerung für eine Vorrichtung und Verfahren zur Kommunikation - Google Patents

Vorrichtung, Steuerung für eine Vorrichtung und Verfahren zur Kommunikation Download PDF

Info

Publication number
DE102020105794A1
DE102020105794A1 DE102020105794.6A DE102020105794A DE102020105794A1 DE 102020105794 A1 DE102020105794 A1 DE 102020105794A1 DE 102020105794 A DE102020105794 A DE 102020105794A DE 102020105794 A1 DE102020105794 A1 DE 102020105794A1
Authority
DE
Germany
Prior art keywords
data
redundancy code
controller
interface
designed
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.)
Granted
Application number
DE102020105794.6A
Other languages
English (en)
Other versions
DE102020105794B4 (de
Inventor
Stephan Leisenheimer
Catalina-Petruta Juglan
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
Priority to DE102020105794.6A priority Critical patent/DE102020105794B4/de
Priority to US17/188,075 priority patent/US11709728B2/en
Priority to CN202110238402.5A priority patent/CN113364555A/zh
Publication of DE102020105794A1 publication Critical patent/DE102020105794A1/de
Application granted granted Critical
Publication of DE102020105794B4 publication Critical patent/DE102020105794B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)

Abstract

Eine Vorrichtung (100) umfasst eine Schnittstelle (104), die ausgebildet ist, um mit einem Kommunikationslink zu verbinden. Eine Steuerung (102) der Vorrichtung ist ausgebildet, um einen Redundanz-Code (164) unter Verwendung von ersten Daten (160) und zweiten Daten (162) zu erzeugen und den Redundanz-Code (164) zusammen mit den ersten Daten (160) an die Schnittstelle zu übertragen.

Description

  • Gebiet
  • Beispiele beziehen sich auf Vorrichtungen, Steuerungen und Verfahren zur Kommunikation zwischen Vorrichtungen und Steuerungen.
  • Hintergrund
  • Die Datenübertragung oder Kommunikation zwischen zwei Vorrichtungen kann mit einer Prüfsumme oder einem Redundanz-Code geschützt werden. Während die Sicherheit, z. B. die Fähigkeit, unter Verwendung des Redundanz-Codes auf einen Übertragungsfehler zu schließen, ein wichtiger Aspekt der Kommunikation ist, ist die Geschwindigkeit ein anderer. Je schneller die Datenübertragung ist, desto besser ist die Performance eines Kommunikationssystems.
  • Um die Geschwindigkeit der Datenübertragung zu erhöhen, während die Sicherheit beibehalten wird, ist ein gängiger Ansatz, die Übertragungsfrequenz zu erhöhen. Eine steigende Übertragungsfrequenz geht jedoch mit EMC-Herausforderungen einher, zum Beispiel wenn die Datenübertragung über lange drahtgebundene Verbindungen ausgeführt wird. Zum Beispiel werden Sensoren oft von der Elektronik, die die Sensordaten auswertet, beabstandet platziert, was lange drahtgebundene Verbindungen zwischen dem Sensor und seiner Steuerung verursachen kann. Bei solchen und ähnlichen Einstellungen ist eine Erhöhung der Taktfrequenz möglicherweise keine Option.
  • Somit besteht ein Bedarf, die Geschwindigkeit der Datenübertragung durch alternative Mittel zu erhöhen.
  • Zusammenfassung
  • Gemäß einem Ausführungsbeispiel umfasst eine Vorrichtung eine Schnittstelle, die ausgebildet ist, um mit einem Kommunikationslink zu verbinden. Die Vorrichtung umfasst ferner eine Steuerung, die ausgebildet ist, um einen Redundanz-Code unter Verwendung von ersten Daten und zweiten Daten zu erzeugen und um den Redundanz-Code zusammen mit den ersten Daten an die Schnittstelle zu übertragen. Während die Steuerung den Redundanz-Code sowohl für die ersten Daten als auch für die zweiten Daten erzeugt, werden die zweiten Daten möglicherweise nicht über die Schnittstelle übertragen. Dies kann die durch die zweiten Daten verbrauchte Bandbreite im Vergleich zu einem Ansatz, bei dem sowohl die ersten Daten als auch die zweiten Daten zusammen mit dem Redundanz-Code übertragen werden, einsparen und somit zu einer effektiven Erhöhung der Übertragungsgeschwindigkeit führen, ohne die physikalischen Parameter des Kommunikationslinks zu ändern.
  • Ein Ausführungsbeispiel einer Steuerung für eine Vorrichtung umfasst eine Schnittstelle, die ausgebildet ist, um mit einem Kommunikationslink zu verbinden und um einen Redundanz-Code zusammen mit ersten Daten über den Kommunikationslink zu empfangen. Die Steuerung umfasst ferner eine Schaltung, die ausgebildet ist, um zweite Daten basierend auf einem erwarteten Zustand der Vorrichtung zu erzeugen, um einen erwarteten Redundanz-Code unter Verwendung der ersten Daten und der zweiten Daten zu berechnen und um einen unerwarteten Zustand der Vorrichtung zu bestimmen, wenn der Redundanz-Code und der erwartete Redundanz-Code unterschiedlich sind. Die Steuerung kann so auf den Zustand der Vorrichtung schließen, obwohl die zweiten Daten, die vorgesehen sein können, Steuerdaten zu enthalten, die Informationen über den Zustand der Vorrichtung aufweisen, nicht übertragen werden müssen.
  • Figurenliste
  • Nachfolgend werden einige Beispiele von Vorrichtungen und/oder Verfahren ausschließlich beispielhaft und Bezug nehmend auf die beiliegenden Figuren beschrieben, in denen gilt:
    • 1 stellt ein Beispiel einer Vorrichtung und einer Steuerung für die Vorrichtung dar, die miteinander kommunizieren;
    • 2 stellt ein Beispiel für Daten dar, die in der Kommunikation zwischen den in 1 dargestellten Vorrichtungen verwendet werden können;
    • 3 stellt ein Flussdiagramm eines Beispiels eines Verfahrens zur Kommunikation dar; und
    • 4 stellt ein Flussdiagramm eines weiteren Beispiels eines Verfahrens zur Kommunikation dar.
  • Detaillierte Beschreibung
  • Verschiedene Beispiele werden nun ausführlicher Bezug nehmend auf die beiliegenden Zeichnungen beschrieben, in denen einige Beispiele dargestellt sind.
  • Diese detaillierte Beschreibung beschränkt weitere Beispiele nicht auf die beschriebenen bestimmten Formen. Weitere Beispiele können alle Modifikationen, Entsprechungen und Alternativen abdecken, die in den Schutzbereich der Offenbarung fallen. Gleiche oder ähnliche Bezugszeichen beziehen sich in der gesamten Beschreibung der Figuren auf gleiche oder ähnliche Elemente, die bei einem Vergleich miteinander identisch oder in modifizierter Form implementiert sein können, während sie die gleiche oder eine ähnliche Funktionalität bereitstellen.
  • Es versteht sich, dass, wenn ein Element als mit einem anderen Element „verbunden“ oder „gekoppelt“ bezeichnet wird, die Elemente direkt oder über ein oder mehrere Zwischenelemente verbunden oder gekoppelt sein können. Wenn zwei Elemente A und B unter Verwendung eines „oder“ kombiniert werden, ist dies so zu verstehen, dass alle möglichen Kombinationen offenbart sind, d. h. nur A, nur B sowie A und B, sofern nicht explizit oder implizit anders definiert. Eine alternative Formulierung für die gleichen Kombinationen ist „zumindest eines von A und B“ oder „A und/oder B“. Das Gleiche gilt für Kombinationen von mehr als zwei Elementen.
  • Die Terminologie, die hierin zum Beschreiben bestimmter Beispiele verwendet wird, soll nicht begrenzend für weitere Beispiele sein. Wenn eine Singularform, z. B. „ein, eine“ und „der, die, das“ verwendet wird und die Verwendung nur eines einzelnen Elements weder explizit noch implizit als verpflichtend definiert ist, können weitere Beispiele auch Pluralelemente verwenden, um die gleiche Funktion zu implementieren. Ebenso, wenn eine Funktionalität nachfolgend als unter Verwendung mehrerer Elemente implementiert beschrieben ist, können weitere Beispiele die gleiche Funktion unter Verwendung eines einzelnen Elements oder einer einzelnen Verarbeitungsentität implementieren. Es versteht sich weiterhin, dass die Begriffe „umfasst“, „umfassend“, „aufweist“ und/oder „aufweisend“ bei Gebrauch das Vorhandensein der angegebenen Merkmale, Ganzzahlen, Schritte, Operationen, Prozesse, Handlungen, Elemente und/oder Komponenten präzisieren, aber nicht das Vorhandensein oder das Hinzufügen eines oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Operationen, Prozesse, Handlungen, Elemente, Komponenten und/oder einer Gruppe derselben ausschließen.
  • 1 stellt schematisch ein Beispiel einer Vorrichtung 100 und ein Beispiel einer Steuerung 200 für die Vorrichtung dar, die miteinander kommunizieren können, wenn sie durch einen Kommunikationslink 150 verbunden sind. 2 stellt ein bestimmtes Beispiel für erste Daten 160, zweite Daten 162 und einen Redundanz-Code 164 dar, die durch die Vorrichtung 100 erzeugt werden können und die in einer Kommunikation zwischen der Vorrichtung 100 und der Steuerung 200 teilweise an die Steuerung 200 übertragen werden können.
  • Die Vorrichtung umfasst eine Schnittstelle 102, die ausgebildet ist, um mit dem Kommunikationslink 150 zu verbinden. In ähnlicher Weise umfasst die Steuerung 200 eine Schnittstelle 202, die ausgebildet ist, um mit dem Kommunikationslink 150 zu verbinden. Die Vorrichtung umfasst ferner eine Steuerung 104, die ausgebildet ist zum Erzeugen des Redundanz-Codes 164 unter Verwendung zuerst der Daten 160 und der zweiten Daten 162 und zum Übertragen des Redundanz-Codes 164 zusammen mit den ersten Daten 160 an die Schnittstelle 102. Während die Steuerung den Redundanz-Code 164 sowohl für die ersten Daten 160 als auch für die zweiten Daten 162 erzeugt, werden die zweiten Daten anschließend nicht über die Schnittstelle 102 übertragen. Dies kann die durch die zweiten Daten 162 verbrauchte Bandbreite im Vergleich zu einem Ansatz, bei dem sowohl die ersten Daten 160 als auch die zweiten Daten 162 zusammen mit dem Redundanz-Code 164 übertragen werden, einsparen.
  • Ein Redundanz-Code 164 sind Daten, die gemäß einem vorbestimmten Algorithmus basierend auf zu übertragenden Nutzdaten berechnet werden. Der Redundanz-Code 164 erlaubt es darauf zu schließen, ob die Nutzdaten während der Übertragung verfälscht wurden. Zu diesem Zweck wird innerhalb der Steuerung der empfangene Redundanz-Code mit einem erwarteten Redundanz-Code verglichen, der unter Verwendung des gleichen vorbestimmten Algorithmus auf den empfangenen Nutzdaten berechnet wird. Wenn der empfangene Redundanz-Code und der berechnete Redundanz-Code identisch sind, kann man daraus schließen, dass die Daten während der Übertragung nicht verändert wurden. Wenn die zwei Redundanz-Codes nicht gleich sind, kann man daraus schließen, dass die empfangenen Daten nicht gültig sind, und versuchen, nicht verfälschte Daten zu erzeugen, indem man z. B. eine erneute Übertragung anfragt. Im Vergleich zu einem Fehlerkorrekturcode erlaubt ein Redundanz-Code möglicherweise nicht, einen Fehler innerhalb der empfangenen Daten zu korrigieren. Der Redundanz-Code verbraucht jedoch weniger Bandbreite als ein Fehlerkorrekturcode. Dennoch können weitere Ausführungsbeispiele auch auf der Übertragung eines Fehlerkorrekturcodes basieren.
  • Obwohl die Steuerung 200 die zweiten Daten 162 nicht empfängt, ist sie in der Lage, zweite Daten basierend auf einem erwarteten Zustand der Vorrichtung zu erzeugen, wobei die erzeugten zweiten Daten als Ersatz für die innerhalb der Vorrichtung 100 erzeugten zweiten Daten dienen. Anders ausgedrückt können es einige Implementierungen erlauben, den Inhalt der zweiten Daten durch die Steuerung 200 zu antizipieren, sodass, obwohl die zweiten Daten 162 nicht übertragen werden, die Steuerung 200 einen erwarteten Redundanz-Code basierend auf den empfangenen ersten Daten 160 und den antizipierten zweiten Daten berechnen kann. Wenn der so erzeugte erwartete Redundanz-Code gleich dem empfangenen Redundanz-Code ist, kann die Steuerung 200 ebenso schlussfolgern, dass die von der Vorrichtung 100 empfangenen Daten nicht verfälscht sind und dass die antizipierten zweiten Daten den innerhalb der Vorrichtung 100 erzeugten zweiten Daten entsprechen.
  • Anwendungen, bei denen eine Steuerung 200 die zweiten Daten 162 antizipieren kann, sind zahlreich. Einige Implementierungen können beispielsweise immer Steuerdaten als die zweiten Daten 162 zusammen mit variablen Nutzdaten, die in den ersten Daten 160 umfasst sind, übermitteln. Beispielsweise kann ein Zustand oder eine Konfiguration der Vorrichtung innerhalb der zweiten Daten 162 signalisiert werden, von dem/der erwartet wird, dass er/sie konstant bleibt, sobald die Vorrichtung 100 konfiguriert wurde. Daher kann eine einzelne Übertragung der zweiten Daten 162 ausreichend sein, um es der Steuerung 200 zu ermöglichen, den Inhalt der zweiten Daten in weiteren Übertragungen zu antizipieren. Andere Protokolle können zum Beispiel einen aufsteigenden Zähler verwenden, um nachfolgende Datenübertragungen eindeutig zu identifizieren, sodass die Steuerung die zweiten Daten 162 antizipieren kann, indem sie einen unabhängigen inkrementierenden Zähler laufen lässt, um den Inhalt der zweiten Daten 162 zu antizipieren.
  • Ein weiteres Beispiel sind Anwendungen, bei denen die Vorrichtung 100 unter Verwendung eines Protokolls kommuniziert, wobei variable Nutzdaten innerhalb der ersten Daten 160 übertragen werden, während Konfigurationsdaten und/oder Diagnosedaten, umfassend Informationen über einen Funktionszustand der Vorrichtung, mittels der zweiten Daten 162 übertragen werden. Wenn es Diagnosedaten sind, die in den zweiten Daten 162 umfasst sind, kann die Steuerung 200 beispielsweise antizipieren, dass die Diagnosedaten, die einer vollständig funktionsfähigen Vorrichtung 100 entsprechen, als die zweiten Daten 162 übermittelt werden, um den erwarteten Redundanz-Code zu berechnen. Wenn bei einem solchen Szenario der erwartete Redundanz-Code nicht mit dem empfangenen Redundanz-Code übereinstimmt, kann die Steuerung 200 daraus schließen, dass entweder die als die ersten Daten 160 übermittelten Daten während der Übertragung verfälscht wurden oder dass sich die Vorrichtung in einem unerwarteten Zustand befindet. Der unerwartete Zustand ist als ein Zustand charakterisiert, der verursacht, dass die Vorrichtung 100 Diagnosedaten übermittelt, die von den Diagnosen abweichen, die übermittelt werden, wenn die Vorrichtung ordnungsgemäß arbeitet. Da die Steuerung 200 die Diagnosedaten für eine ordnungsgemäß arbeitende Vorrichtung antizipiert, unterscheiden sich der empfangene Redundanz-Code und der berechnete erwartete Redundanz-Code und somit wäre sich die Steuerung 200 bewusst, dass entweder die ersten Daten 160 oder die Vorrichtung 100 verfälscht sind, obwohl die zweiten Daten 162, die den Funktionszustand der Vorrichtung anzeigen, nicht einmal übertragen werden. Gleichzeitig wird die Übertragungsbandbreite, die für die zweiten Daten 162 verbraucht werden würde, eingespart.
  • Die vorangehenden Überlegungen gelten zum Beispiel, wenn die Vorrichtung 100 ausgebildet ist, um variable Nutzdaten in die ersten Daten 160 zu umfassen und um Steuerdaten in die zweiten Daten 162 zu umfassen. Die Steuerdaten können zumindest eine Information über einen Funktionszustand der Vorrichtung umfassen.
  • Bei weiteren Ausführungsbeispielen können die Steuerdaten alternativ oder zusätzlich zumindest eine Information über eine Konfiguration der Vorrichtung umfassen, wobei die Konfiguration der Vorrichtung durch die Steuerung 200 antizipiert wird. Dies kann insbesondere der Fall sein, wenn die Steuerung 200 die Konfiguration der Vorrichtung 100 selbst einstellt, z. B. während der Inbetriebnahme des Systems. Letzteres kann zum Beispiel bei Anwendungen der Fall sein, bei denen die Vorrichtung 100 einem Sensor entspricht, der durch die Steuerung 200 gesteuert wird und der mittels der Steuerung 200 konfiguriert/eingestellt wird. Beispielsweise kann die Steuerung 200 bei Inbetriebnahme der Vorrichtung 100 eine bestimmte durch die Vorrichtung 100 oder den Sensor zu verwendende Konfiguration signalisieren, sodass die Steuerung im Voraus weiß, welche Konfiguration die Vorrichtung 100 mittels der zweiten Daten 162 übertragen soll, wenn die Vorrichtung wie erwartet arbeitet.
  • Während die Konfiguration für die Vorrichtung 100 extern eingestellt werden kann und während die Diagnoseinformationen aus einem Register gelesen werden können oder innerhalb der Vorrichtung 100 berechnet werden können, können weitere Ausführungsbeispiele der Vorrichtung 100 ferner eine zusätzliche Schaltung zum Erzeugen variabler erster Daten 160 umfassen. Bei variablen Daten umfassen nachfolgende Übertragungen von ersten Daten 160 einen unterschiedlichen Inhalt, wenn die Vorrichtung ordnungsgemäß arbeitet. Im Gegensatz zu den zweiten Daten 162 gibt es keine Mittel, die variablen Daten zu antizipieren.
  • Eine bestimmte Anwendung ist die Verwendung der beschriebenen Ausführungsbeispiele innerhalb eines Sensors zur Erfassung einer physikalischen Größe, wobei der Sensor mittels einer externen Steuerung 200 gesteuert wird. Sensoren dieser Art werden oft in Automobil- oder anderen industriellen Anwendungen verwendet und die variablen Daten, die die erfasste physikalische Größe beschreiben, werden mittels der ersten Daten 160 kommuniziert.
  • Um als ein Sensor zu arbeiten, umfasst die Vorrichtung 100 zumindest ein Sensorelement zur Erfassung einer physikalischen Größe, und die Steuerung 104 ist ausgebildet, um eine digitale Darstellung der physikalischen Größe in die ersten Daten 160 zu umfassen. Es können zum Beispiel Sensoren verwendet werden, die ausgebildet sind, um eine Magnetfeldstärke, das Vorliegen eines Magnetfelds über einer bestimmten Schwelle, Temperatur, Druck, Lichtintensitäten oder Ähnliches zu bestimmen.
  • Weitere Ausführungsbeispiele können innerhalb eines Speichers implementiert sein, sodass eine Schaltung innerhalb der Vorrichtung 100 zumindest ein Speicherelement umfasst und die Steuerung 104 ausgebildet ist, um eine digitale Darstellung einer in dem Speicherelement gespeicherten Information in die ersten Daten 160 zu umfassen. Unter Verwendung eines Ausführungsbeispiels wie vorangehend beschrieben mit einem Speicher kann eine Übertragungsbandbreite beim Zugriff auf den Speicher in dem Maße erhöht werden, wie die zweiten Daten 162 normalerweise übertragen werden würden. Die Erhöhung der Übertragungsgeschwindigkeit kann signifikant sein.
  • Wenn man zum Beispiel annimmt, dass ein Protokoll sieben Bits für variable Daten, ein Bit für den Redundanz-Code und drei Bits für Diagnose- und/oder Konfigurationsdaten verwendet, kann die Verwendung der zuvor beschriebenen Ausführungsbeispiele die Übertragungsbandbreite um etwa 30 % (3/11) erhöhen.
  • Die zuvor beschriebenen Ausführungsbeispiele können sogar innerhalb bereits bestehender Anwendungen verwendet werden, vorausgesetzt, man kann die Einstellungen der Vorrichtung 100 und/oder der Steuerung 200 modifizieren, sodass die Übermittlung der zweiten Daten 162 absichtlich deaktiviert werden kann, obwohl sie in dem ursprünglichen Entwurf erforderlich ist. Bei einigen Protokollen, wie beispielsweise bei dem Zwischenintegrierte-Schaltung- (I2C; Inter-Integrated Circuit) Protokoll, steuert die Steuerung 200 die Menge der aus der Vorrichtung 100 gelesenen Daten durch die Anzahl der Taktzyklen, die auf einem Einzeldrahtbus erzeugt werden. Bei jedem Taktzyklus überträgt die Vorrichtung 100 ein einzelnes Bit oder das Bit eines einzelnen Registers wird ausgelesen. Das heißt, die Steuerung 200 kann selbst die Menge der übertragenen Daten steuern, indem sie die Anzahl der Taktzyklen anpasst. Die Übertragung von einzelnen Bits ist nur ein Beispiel. Oft werden die übertragenen Daten in Bytes oder Wörter gespalten. Nachdem jedes neue Byte/Wort empfangen wird, kann die Steuerung 200 entscheiden, weitere 8/16 Taktzyklen zu senden, um ein anderes Byte/Wort zu lesen. Bei solchen Anwendungen kann die Datenkommunikation gemäß den hierin beschriebenen Prinzipien sogar in bestehenden Aufbauten angewendet werden, indem die Firmware oder Software der Steuerung aktualisiert wird, um die Datenübertragungsgeschwindigkeit zu erhöhen, ohne die Fähigkeit zu verlieren, zu bestimmen, ob die Komponenten des Systems zuverlässig arbeiten oder nicht.
  • Bei Verwendung der vorangehend beschriebenen Ausführungsbeispiele auf einem I2C-Bus ist die Schnittstelle 102 ausgebildet, um mit einem I2C-konformen Kommunikationslink 150 zu verbinden. Weitere Ausführungsbeispiele können auch unterschiedliche Bussysteme verwenden. Beispielsweise können die Schnittstellen der Vorrichtung 100 und der Steuerung 200 ebenso ausgebildet sein, um mit einer seriellen Peripherie-Schnittstelle (SPI; Serial Peripheral Interface) oder mit einer synchronen seriellen Kommunikation (SSC; Synchronous Serial Communication) zu verbinden.
  • Zusammenfassend und wie bereits detailliert erläutert, ist die Schaltung 204 der Steuerung 200 ausgebildet, um zweite Daten basierend auf einem erwarteten Zustand der Vorrichtung zu erzeugen, um einen erwarteten Redundanz-Code unter Verwendung der ersten Daten und der zweiten Daten zu berechnen und um einen unerwarteten Zustand der Vorrichtung 100 zu bestimmen, wenn der Redundanz-Code 164 und der erwartete Redundanz-Code unterschiedlich sind. Die Steuerung 200 kann durch verschiedene unterschiedliche Mittel auf den erwarteten Zustand der Vorrichtung 100 aufmerksam gemacht werden. Die Steuerung 200 selbst kann zum Beispiel verwendet werden, um eine Konfiguration der Vorrichtung 100 einzustellen. Ebenso kann die Steuerung 200 den erwarteten Zustand der Vorrichtung 100 von einer dritten Entität oder zum Beispiel von der Vorrichtung 100 selbst während der Inbetriebnahme des Systems empfangen.
  • Sobald sich die Steuerung 200 bewusst ist, dass sich die Vorrichtung 100 möglicherweise in einem unerwarteten Zustand befindet, kann die Steuerung 200 verschiedene Maßnahmen implementieren, um auf die Art des Fehlers zu schließen oder um ein System in einen sicheren Betriebsmodus zu bringen. Gemäß einigen Ausführungsbeispielen kann die Steuerung 200 zum Beispiel eine vollständige Übertragung der ersten Daten 160, der zweiten Daten 162 und des Redundanz-Codes 164 in einem nachfolgenden Kommunikationszyklus verursachen, um zu unterscheiden, ob es die zweiten Daten 162 sind, die verursacht haben, dass der erwartete Redundanz-Code von dem empfangenen Redundanz-Code 164 abweicht, oder ob es ein Übertragungsfehler ist, der die ersten Daten 160 oder den Redundanz-Code 164 verfälscht. Das heißt, die Schnittstelle 202 der Steuerung 200 kann einen weiteren Redundanz-Code zusammen mit weiteren ersten Daten und mit weiteren zweiten Daten über den Kommunikationslink empfangen, wenn ein unerwarteter Zustand bestimmt wird. Wenn die vollständige Übertragung der ersten Daten 160, der zweiten Daten 162 und des Redundanz-Codes 164 zweite Daten 162 enthält, die von der/dem erwarteten Konfiguration und/oder Zustand der Vorrichtung 100 abweichen, kann die Steuerung 200 der Vorrichtung 100 geeignete Maßnahmen ergreifen, wie beispielsweise die durch die Vorrichtung 100 gelieferten ersten Daten 160 zu ignorieren oder die Vorrichtung 100 zurückzusetzen oder neu zu konfigurieren, um sie wieder in einen erwarteten Zustand zu bringen, in dem die durch die Vorrichtung bereitgestellten ersten Daten 160 zuverlässig verwendet werden können.
  • Um die Vorrichtung 100 dazu zu veranlassen, den vollständigen Datensatz zu übermitteln, kann die Steuerung 200 zum Beispiel eine Anfrage über die Schnittstelle 202 übertragen, wobei die Anfrage verursacht, dass die Vorrichtung den weiteren Redundanz-Code unter Verwendung der weiteren ersten Daten und der weiteren zweiten Daten erzeugt und den weiteren Redundanz-Code, die weiteren ersten Daten und die weiteren zweiten Daten über den Kommunikationslink überträgt.
  • Wie vorangehend bereits weiter ausgeführt wurde, kann bei einer Bestimmung, dass die Vorrichtung 100 sich in einem unerwarteten Zustand befindet, die Schaltung 204 ferner ausgebildet sein, um die Steuerung 200 von einem ersten Betriebsmodus, der für eine Vorrichtung 100 in dem erwarteten Zustand verwendet wird, in einen zweiten Betriebsmodus zu schalten, der für eine Vorrichtung 100 in dem unerwarteten Zustand verwendet wird. Der erste und zweite Betriebsmodus können sich zum Beispiel darin unterscheiden, dass in dem zweiten Betriebsmodus die Daten von der Vorrichtung 100 nicht beachtet werden oder dass die von der Vorrichtung 100 empfangenen Daten durch vorbestimmte Daten ersetzt werden.
  • 2 zeigt ein bestimmtes Beispiel eines Protokolls, das zum Auslesen von variablen Daten, die von einem Sensor über ein Eindraht-Protokoll (I2C) geliefert werden, verwendet wird. Bei dem dargestellten Beispiel umfassen die ersten Daten 160 sieben Bits (oder alternativ Wörter oder Bytes) variabler Daten, die aus sieben Registern des Sensors ausgelesen werden. Ein einzelnes Bit (oder Wort) eines Redundanz-Codes 164 wird unter Verwendung der ersten Daten 160 und der zweiten Daten 162, die aus drei Bits (Wörtern) von Steuerdaten bestehen, berechnet. Während der Redundanz-Code 164 für die ersten Daten 160 und für die zweiten Daten 162 berechnet wird, werden die zweiten Daten 162 nicht übertragen, wodurch die drei Bits eingespart werden, die andernfalls durch die zweiten Daten 162 verbraucht werden würden. Bei dem vorliegenden Aufbau wird die Übertragungsgeschwindigkeit um 3/11 erhöht, wenn Ausführungsbeispiele wie vorangehend beschrieben verwendet werden, während die Fähigkeit, Fehler in der Übertragung oder in der Vorrichtung zu bestimmen, unverändert bleibt.
  • Abgesehen von einem Erhöhen der Übertragungsgeschwindigkeit kann auch die Sicherheitsintegrationszeit (oder die Fehlertoleranzzeit) verbessert werden, wenn eine Kommunikation gemäß den hierin beschriebenen Ausführungsbeispielen ausgeführt wird. Die Sicherheitsintegrationszeit ist die Zeit zwischen dem Auftreten einer Störung, bis die Störung außer Kontrolle gerät. Da die zweiten Daten 162 nicht übertragen werden, wird die vollständige Übertragung der ersten Daten 160 und des Redundanz-Codes 164 (letzterer ermöglicht es der Steuerung 200, auf das Vorliegen einer Störung oder eines Fehlers zu schließen) um fast 30 % schneller abgeschlossen als die vollständige Übertragung. Das heißt, ein System, das in der Lage ist, einen Fehler zu bestimmen, gewinnt 30 % der Übertragungszeit, um Gegenmaßnahmen auszuführen, um zu verhindern, dass ein Fehler ein System, das basierend auf den ersten Daten 160 der Vorrichtung 100 arbeitet, außer Kontrolle bringt.
  • Zusammenfassend zeigen die 3 und 4 nachfolgend Flussdiagramme von Verfahren zur Kommunikation, wie sie in der Vorrichtung 100 oder in der Steuerung 200 ausgeführt werden können. Da die Details der Kommunikation und somit die Schritte der Verfahren zur Kommunikation bereits ausführlich im Hinblick auf die 1 und 2 beschrieben wurden, wird eine redundante Beschreibung der einzelnen Schritte des Verfahrens der Kürze halber nicht wiederholt.
  • 3 stellt ein Flussdiagramm eines Beispiels eines Verfahrens zur Kommunikation dar, wie es innerhalb der Vorrichtung 100 ausgeführt werden kann. Das Verfahren umfasst ein Erzeugen eines Redundanz-Codes 302 unter Verwendung von ersten Daten und zweiten Daten und ein Übertragen 304 des Redundanz-Codes zusammen mit den ersten Daten.
  • Einige Ausführungsbeispiele des Verfahrens können ferner ein Umfassen von variablen Nutzdaten in die ersten Daten und ein Umfassen von Steuerdaten in die zweiten Daten umfassen.
  • 4 zeigt ein Flussdiagramm eines Beispiels eines anderen Verfahrens zur Kommunikation, wie es z. B. innerhalb einer Steuerung 200 ausgeführt werden kann.
  • Das Verfahren umfasst ein Empfangen eines Redundanz-Codes zusammen mit ersten Daten 402 über einen Kommunikationslink und ein Erzeugen von zweiten Daten 404 basierend auf einem erwarteten Zustand einer Vorrichtung.
  • Das Verfahren umfasst ferner ein Berechnen eines erwarteten Redundanz-Codes 406 unter Verwendung der ersten Daten und der zweiten Daten. Ferner umfasst das Verfahren ein Bestimmen eines unerwarteten Zustands der Vorrichtung 410, wenn der Redundanz-Code und der erwartete Redundanz-Code unterschiedlich sind.
  • Zu diesem Zweck kann das Verfahren wiederum optional ein Vergleichen 408 des Redundanz-Codes mit dem erwarteten Redundanz-Code umfassen.
  • Die Aspekte und Merkmale, die zusammen mit einem oder mehreren der vorher detaillierten Beispiele und Figuren erwähnt und beschrieben sind, können auch mit einem oder mehreren der anderen Beispiele kombiniert werden, um ein gleiches Merkmal des anderen Beispiels zu ersetzen oder um das Merkmal in das andere Beispiel zusätzlich einzuführen.
  • Beispiele können weiterhin ein Computerprogramm, das einen Programmcode zum Ausführen eines oder mehrerer der vorangehenden Verfahren aufweist, sein oder sich auf ein solches beziehen, wenn das Computerprogramm auf einem Computer oder Prozessor ausgeführt wird. Schritte, Operationen oder Prozesse von verschiedenen, oben beschriebenen Verfahren können durch programmierte Computer oder Prozessoren ausgeführt werden. Beispiele können auch Programmspeichervorrichtungen, wie beispielsweise Digitaldatenspeichermedien, abdecken, die maschinen-, prozessor- oder computerlesbar sind und maschinenausführbare, prozessorausführbare oder computerausführbare Programme von Anweisungen codieren. Die Anweisungen führen einige oder alle der Schritte der vorangehend beschriebenen Verfahren aus oder verursachen deren Ausführung. Die Programmspeichervorrichtungen können z. B. Digitalspeicher, magnetische Speichermedien wie beispielsweise Magnetplatten und Magnetbänder, Festplattenlaufwerke oder optisch lesbare Digitaldatenspeichermedien umfassen oder sein. Weitere Beispiele können auch Computer, Prozessoren oder Steuereinheiten, die zum Ausführen der Schritte der vorangehend beschriebenen Verfahren programmiert sind, oder (feld-)programmierbare Logik-Arrays ((F)PLAs; (Field) Programmable Logic Arrays) oder (feld-)programmierbare Gate-Arrays ((F)PGAs; (Field) Programmable Gate Arrays), die zum Ausführen der Schritte der vorangehend beschriebenen Verfahren programmiert sind, abdecken.
  • Durch die Beschreibung und Zeichnungen werden nur die Grundsätze der Offenbarung dargestellt. Weiterhin sollen alle hier aufgeführten Beispiele grundsätzlich ausdrücklich nur darstellenden Zwecken dienen, um den Leser bei dem Verständnis der Grundsätze der Offenbarung und der durch den (die) Erfinder beigetragenen Konzepte zur Weiterentwicklung der Technik zu unterstützen. Alle Aussagen hierin über Grundsätze, Aspekte und Beispiele der Offenbarung sowie konkrete Beispiele derselben sollen deren Entsprechungen umfassen.
  • Ein Blockdiagramm innerhalb der Beschreibung kann zum Beispiel ein detailliertes Schaltungsdiagramm darstellen, das die Grundsätze der Offenbarung implementiert. Auf ähnliche Weise können ein Flussdiagramm, ein Ablaufdiagramm, ein Zustandsübergangsdiagramm, ein Pseudocode und dergleichen verschiedene Prozesse, Operationen oder Schritte repräsentieren, die zum Beispiel im Wesentlichen in einem computerlesbaren Medium dargestellt und so durch einen Computer oder Prozessor ausgeführt werden können, ungeachtet dessen, ob ein solcher Computer oder Prozessor explizit gezeigt ist oder nicht. In der Beschreibung oder in den Patentansprüchen offenbarte Verfahren können durch eine Vorrichtung implementiert werden, die Mittel zum Ausführen eines jeden der jeweiligen Schritte dieser Verfahren aufweist.
  • Es versteht sich, dass die Offenbarung mehrerer, in der Beschreibung oder den Ansprüchen offenbarter Handlungen, Prozesse, Operationen, Schritte oder Funktionen nicht als in der bestimmten Reihenfolge befindlich ausgelegt werden soll, sofern dies nicht explizit oder implizit anderweitig, zum Beispiel aus technischen Gründen, angegeben ist. Daher werden diese durch die Offenbarung von mehreren Schritten oder Funktionen nicht auf eine bestimmte Reihenfolge begrenzt, es sei denn, dass diese Schritte oder Funktionen aus technischen Gründen nicht austauschbar sind. Ferner kann bei einigen Beispielen eine einzelne Handlung, Funktion, Prozess, Operation oder Schritt jeweils mehrere Teilhandlungen, - funktionen, -prozesse, -operationen oder -schritte einschließen und/oder in dieselben aufgebrochen werden. Solche Teilschritte können eingeschlossen sein und Teil der Offenbarung dieses Einzelschritts sein, sofern sie nicht explizit ausgeschlossen sind.
  • Weiterhin sind die folgenden Ansprüche hiermit in die detaillierte Beschreibung aufgenommen, wo jeder Anspruch als getrenntes Beispiel für sich stehen kann. Obwohl jeder Anspruch als getrenntes Beispiel für sich stehen kann, ist zu beachten, dass - obwohl ein abhängiger Anspruch sich in den Ansprüchen auf eine bestimmte Kombination mit einem oder mehreren anderen Ansprüchen beziehen kann - andere Beispiele auch eine Kombination des abhängigen Anspruchs mit dem Gegenstand jedes anderen abhängigen oder unabhängigen Anspruchs umfassen können. Solche Kombinationen werden hier explizit vorgeschlagen, sofern nicht angegeben ist, dass eine bestimmte Kombination nicht beabsichtigt ist. Ferner sollen auch Merkmale eines Anspruchs für jeden anderen unabhängigen Anspruch eingeschlossen sein, selbst wenn dieser Anspruch nicht direkt abhängig von dem unabhängigen Anspruch gemacht ist.

Claims (21)

  1. Eine Vorrichtung (100), umfassend: eine Schnittstelle (104), ausgebildet zum Verbinden mit einem Kommunikationslink; eine Steuerung (102), ausgebildet zum Erzeugen eines Redundanz-Codes unter Verwendung von ersten Daten und zweiten Daten; und Übertragen des Redundanz-Codes zusammen mit den ersten Daten an die Schnittstelle.
  2. Die Vorrichtung (100) gemäß Anspruch 1, wobei die Steuerung (102) ausgebildet ist zum: Umfassen von variablen Nutzdaten in die ersten Daten; und Umfassen von Steuerdaten in die zweiten Daten.
  3. Die Vorrichtung (100) gemäß Anspruch 2, wobei die Steuerdaten zumindest eine Information über einen Funktionszustand der Vorrichtung umfassen.
  4. Die Vorrichtung (100) gemäß Anspruch 2 oder 3, wobei die Steuerdaten zumindest eine Information über eine Konfiguration der Vorrichtung umfassen.
  5. Die Vorrichtung (100) gemäß einem der Ansprüche 1 bis 4, ferner umfassend: eine Schaltung, ausgebildet zum Erzeugen der ersten Daten.
  6. Die Vorrichtung (100) gemäß Anspruch 5, wobei die Schaltung zumindest ein Sensorelement zum Erfassen einer physikalischen Größe umfasst und wobei die Steuerung ausgebildet ist, um eine digitale Darstellung der physikalischen Größe in die ersten Daten zu umfassen.
  7. Die Vorrichtung (100) gemäß Anspruch 5 oder 6, wobei die Schaltung zumindest ein Speicherelement umfasst, und wobei die Steuerung ausgebildet ist, um eine digitale Darstellung einer Information, die in dem Speicherelement gespeichert ist, in die ersten Daten zu umfassen.
  8. Die Vorrichtung (100) gemäß einem der Ansprüche 1 bis 7, wobei die Schnittstelle (104) ausgebildet ist, um mit einem Kommunikationslink zu verbinden, der mit einer von einer zwischenintegrierten Schaltung, I2C, einer seriellen Peripherie-Schnittstelle, SPI, oder einer synchronen seriellen Kommunikation, SSC, konform ist.
  9. Eine Steuerung (200) für eine Vorrichtung (100), umfassend: eine Schnittstelle (202), ausgebildet zum Verbinden mit einem Kommunikationslink (150) und zum Empfangen eines Redundanz-Codes (164) zusammen mit ersten Daten (160) über den Kommunikationslink; eine Steuerung (204), ausgebildet zum Erzeugen von zweiten Daten basierend auf einem erwarteten Zustand der Vorrichtung (100); Berechnen eines erwarteten Redundanz-Codes unter Verwendung der ersten Daten (160) und der zweiten Daten; und Bestimmen eines unerwarteten Zustands der Vorrichtung, wenn der Redundanz-Code (164) und der erwartete Redundanz-Code unterschiedlich sind.
  10. Die Steuerung (100) gemäß Anspruch 9, wobei die Schnittstelle (202) ferner ausgebildet ist zum Empfangen eines weiteren Redundanz-Codes zusammen mit weiteren ersten Daten und mit weiteren zweiten Daten über den Kommunikationslink, wenn ein unerwarteter Zustand bestimmt wird.
  11. Die Steuerung (200) gemäß Anspruch 10, wobei die Schaltung (204) ferner ausgebildet ist zum: Übertragen einer Anfrage über die Schnittstelle, wobei die Anfrage verursacht, dass die Vorrichtung den weiteren Redundanz-Code unter Verwendung der weiteren ersten Daten und der weiteren zweiten Daten erzeugt und den weiteren Redundanz-Code, die weiteren ersten Daten und die weiteren zweiten Daten über den Kommunikationslink überträgt.
  12. Die Steuerung (200) gemäß einem der Ansprüche 9 bis 11, wobei die Schaltung (204) ferner ausgebildet ist, um die Steuerung von einem ersten Betriebsmodus, der für eine Vorrichtung in dem erwarteten Zustand verwendet wird, in einen zweiten Betriebsmodus, der für eine Vorrichtung in dem unerwarteten Zustand verwendet wird, zu schalten.
  13. Die Steuerung (200) gemäß einem der Ansprüche 9 bis 12, wobei die Schaltung (204) ferner ausgebildet ist, um eine Zurücksetzen-Anfrage über die Schnittstelle zu übertragen, wenn der unerwartete Zustand der Vorrichtung bestimmt wird, wobei die Zurücksetzen-Anfrage verursacht, dass die Vorrichtung zurücksetzt oder eine bestimmte Vorrichtungskonfiguration verwendet.
  14. Die Steuerung (200) gemäß einem der Ansprüche 9 bis 13, wobei die Schnittstelle (202) ausgebildet ist, um mit einem Kommunikationslink zu verbinden, der mit einer von einer zwischenintegrierten Schaltung, I2C, einer seriellen Peripherie-Schnittstelle, SPI, oder einer synchronen seriellen Kommunikation, SSC, konform ist.
  15. Ein Verfahren zur Kommunikation, umfassend: Erzeugen eines Redundanz-Codes (302) unter Verwendung von ersten Daten und zweiten Daten; und Übertragen (304) des Redundanz-Codes zusammen mit den ersten Daten.
  16. Das Verfahren gemäß Anspruch 15, ferner umfassend: Umfassen von variablen Nutzdaten in die ersten Daten; und Umfassen von Steuerdaten in die zweiten Daten.
  17. Das Verfahren gemäß Anspruch 16, wobei die Steuerdaten zumindest eine Information über einen Funktionszustand einer Vorrichtung umfassen.
  18. Das Verfahren gemäß Anspruch 16 oder 17, wobei die Steuerdaten zumindest eine Information über eine Konfiguration einer Vorrichtung umfassen.
  19. Ein Verfahren zur Kommunikation, umfassend: Empfangen eines Redundanz-Codes zusammen mit ersten Daten über einen Kommunikationslink (402); Erzeugen von zweiten Daten (404) basierend auf einem erwarteten Zustand einer Vorrichtung; Berechnen eines erwarteten Redundanz-Codes (406) unter Verwendung der ersten Daten und der zweiten Daten; und Bestimmen eines unerwarteten Zustands der Vorrichtung (410), wenn der Redundanz-Code und der erwartete Redundanz-Code unterschiedlich sind.
  20. Das Verfahren gemäß Anspruch 19, ferner umfassend: Empfangen eines weiteren Redundanz-Codes zusammen mit weiteren ersten Daten und mit weiteren zweiten Daten über die Kommunikationsschnittstelle, wenn ein unerwarteter Zustand bestimmt wird.
  21. Ein Computerprogramm, das einen Programmcode aufweist, der ausgebildet ist, um ein Ausführen eines Verfahrens gemäß einem der Ansprüche 15 bis 20 zu verursachen, wenn das Computerprogramm durch eine programmierbare Hardware-Komponente ausgeführt wird.
DE102020105794.6A 2020-03-04 2020-03-04 Vorrichtung, Steuerung für eine Vorrichtung und Verfahren zur Kommunikation Active DE102020105794B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102020105794.6A DE102020105794B4 (de) 2020-03-04 2020-03-04 Vorrichtung, Steuerung für eine Vorrichtung und Verfahren zur Kommunikation
US17/188,075 US11709728B2 (en) 2020-03-04 2021-03-01 Device, controller for a device and method of communicating
CN202110238402.5A CN113364555A (zh) 2020-03-04 2021-03-04 设备、用于设备的控制器和通信的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020105794.6A DE102020105794B4 (de) 2020-03-04 2020-03-04 Vorrichtung, Steuerung für eine Vorrichtung und Verfahren zur Kommunikation

Publications (2)

Publication Number Publication Date
DE102020105794A1 true DE102020105794A1 (de) 2021-09-09
DE102020105794B4 DE102020105794B4 (de) 2022-02-03

Family

ID=77388867

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020105794.6A Active DE102020105794B4 (de) 2020-03-04 2020-03-04 Vorrichtung, Steuerung für eine Vorrichtung und Verfahren zur Kommunikation

Country Status (3)

Country Link
US (1) US11709728B2 (de)
CN (1) CN113364555A (de)
DE (1) DE102020105794B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11860730B2 (en) 2021-12-06 2024-01-02 Waymo Llc Low-overhead, bidirectional error checking for a serial peripheral interface

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917840A (en) 1992-03-13 1999-06-29 Foxboro Company Protection against communications crosstalk in a factory process control system

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0993133B1 (de) * 1998-10-07 2005-12-21 Siemens Aktiengesellschaft Datenkommunikationsverfahren und Vorrichtung
US20070058530A1 (en) * 2005-09-14 2007-03-15 Sbc Knowledge Ventures, L.P. Apparatus, computer readable medium and method for redundant data stream control
US20080082747A1 (en) * 2006-09-28 2008-04-03 Shah Mohammad Rezaul Islam Apparatus and method for providing data path redundancy in a storage subsystem having a single controller
US8571021B2 (en) * 2009-06-10 2013-10-29 Microchip Technology Incorporated Packet based data transmission with reduced data size
CN101938331B (zh) * 2010-09-03 2013-06-26 北京全路通信信号研究设计院有限公司 数据通信方法、装置及系统
CN102790669B (zh) * 2011-05-19 2016-06-29 中国移动通信集团公司 一种控制信息传输方法及其装置
KR101896385B1 (ko) * 2011-08-11 2018-09-11 삼성전자주식회사 디바이스 간 직접 통신 서비스를 지원하기 위한 장치 및 방법
GB201208389D0 (en) 2012-05-10 2012-06-27 Samsung Electronics Co Ltd Integrated circuit, communication unit, wireless communication system and methods therefor
US8914699B2 (en) * 2012-04-30 2014-12-16 Motorola Solutions, Inc. Method and apparatus for restricting radio access to a system
EP2723010B1 (de) * 2012-10-22 2016-05-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Sender und Verfahren zum Senden von Blöcken von Benutzerdaten über einen Kanal mit variabler Kapazität
US9312988B2 (en) * 2013-02-28 2016-04-12 Apple Inc. Redundant transmission of real time data
CN104880575B (zh) 2014-02-28 2019-03-05 北京谊安医疗系统股份有限公司 流速传感器的检测方法及装置
WO2016152676A1 (ja) 2015-03-20 2016-09-29 株式会社Nttドコモ ユーザ装置及び基地局
US11774944B2 (en) * 2016-05-09 2023-10-03 Strong Force Iot Portfolio 2016, Llc Methods and systems for the industrial internet of things
CN106209974B (zh) * 2016-06-21 2019-03-12 浪潮电子信息产业股份有限公司 一种数据同步方法、设备及系统
KR20190006786A (ko) * 2017-07-11 2019-01-21 한국전자통신연구원 무선 통신 시스템에서 미리 정의된 식별자와 부호화된 비-직교 다중화방식을 이용하여 제어 신호를 전송하는 방법 및 장치
US10459785B2 (en) 2017-09-27 2019-10-29 Western Digital Technologies, Inc. Error detection for training non-volatile memories
US10630315B2 (en) * 2017-09-29 2020-04-21 Intel Corporation Technologies for applying a redundancy encoding scheme to segmented network packets
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
US10771194B2 (en) * 2018-05-25 2020-09-08 Arm Limited Interconnection network for integrated circuit
DE102018112584A1 (de) * 2018-05-25 2019-11-28 Valeo Schalter Und Sensoren Gmbh Konfigurierbare Sensorvorrichtung und Verfahren zur Überwachung ihrer Konfiguration
US10841039B2 (en) * 2018-10-30 2020-11-17 Infineon Technologies Ag System and method for transferring data and a data check field
WO2020204990A1 (en) * 2019-04-01 2020-10-08 Fisher Controls International Llc Methods and apparatus to control communication data rates of low-energy devices
CN110789569B (zh) * 2019-10-17 2022-04-22 北京全路通信信号研究设计院集团有限公司 一种列控dmi数据冗余控制方法和系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917840A (en) 1992-03-13 1999-06-29 Foxboro Company Protection against communications crosstalk in a factory process control system

Also Published As

Publication number Publication date
US20210279125A1 (en) 2021-09-09
DE102020105794B4 (de) 2022-02-03
CN113364555A (zh) 2021-09-07
US11709728B2 (en) 2023-07-25

Similar Documents

Publication Publication Date Title
DE602004007209T2 (de) Sicherheitssteuerung zur Bereitstellung einer schnellen Wiederherstellung von Sicherheitsprogrammdaten
WO2005064424A2 (de) Prozessmessgerät mit erweiterter hardwarefehlererkennung
WO2013072425A1 (de) Verfahren, computerprogramm, computerlesbares medium und recheneinheit zur bedienung von feldgeräten
EP3607405B1 (de) Verfahren zum parametrieren eines feldgeräts sowie parametrierbares feldgerät
DE102011088236A1 (de) Verfahren zum sicheren Betreiben eines Feldgerätes der Prozessautomatisierungstechnik
EP3271856B1 (de) Verfahren und vorrichtung zum verarbeiten und übertragen von daten innerhalb eines funktional sicheren elektrischen, elektronischen und/oder programmierbar elektronischen systems
DE102020105794B4 (de) Vorrichtung, Steuerung für eine Vorrichtung und Verfahren zur Kommunikation
EP1686732A1 (de) Verfahren und System zur Übertragung von Telegrammen
DE102012016406B4 (de) Verfahren zur Parametrierung eines Feldgerätes und entsprechendes System zur Parametrierung
DE102019118703A1 (de) System und Verfahren zum kontinuierlichen Verifizieren der Bauelementzustandsintegrität
DE102018219878B3 (de) Steuereinheit für eine medizinische Bildgebungsanlage mit einem Prozessor und einem Logikgatter; Bildgebungsanlage sowie Verfahren zum Steuern einer medizinischen Bildgebungsanlage
WO2014016076A1 (de) Verfahren zur aufrechterhaltung der funktionsfähigkeit eines feldgerätes
DE102016106572A1 (de) Verfahren zum betreiben eines steuergeräts für ein fahrzeug, steuergerät, betriebssystem, kraftfahrzeug
WO2016087149A1 (de) Verfahren zum überschreiben eines nicht-flüchtigen speichers eines feldgerätes
WO2007071590A1 (de) Verfahren zur erkennung einer versorgungsunterbrechung in einem datenspeicher und zur wiederherstellung des datenspeichers
EP3550748A1 (de) Verfahren zur erkennung von datenverfälschungen bei einer datenübertragung über eine fehlersichere kommunikationsverbindung
DE102006036384A1 (de) Mikroprozessorsystem zur Steuerung bzw. Regelung von zumindest zum Teil sicherheitskritischen Prozessen
DE102018206109B4 (de) Elektrisches Steuergerät und Steuergerätesystem
DE102018103152A1 (de) Vorrichtung und verfahren zum überwachen einer digitalen steuereinheit hinsichtlich funktionaler sicherheit sowie steuergerät
DE102017102417A1 (de) Sensorbauelemente und verfahren zum übertragen von sensordaten und verfahren zum steuern eines sensorbauelements, vorrichtung und verfahren zum decodieren eines sensorsignals
EP3813309B1 (de) Verfahren und vorrichtung zur einstellung eines betriebsverhaltens mindestens einer funktionseinheit und system
DE102019215115B4 (de) Verfahren zur sicheren Kommunikation zwischen einem Master und einem Slave eines Bussystems
EP2461253B1 (de) Mikroprozessmodul, insbesondere Chipkarten-Mikroprozessormodul
DE10148157B4 (de) Programmgesteuerte Einheit
DE102007054810A1 (de) Verfahren zum Erkennen unterschiedlicher Kommunikationsprotokolle in einem Steuergerät

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative
R084 Declaration of willingness to licence