-
Die vorliegende Erfindung betrifft eine Vorrichtung und ein Verfahren zur Datenübertragung, insbesondere in einem Fluggerät wie einem Flugzeug.
-
Dabei werden eine Vorrichtung und ein Verfahren zum sicheren Austausch von Informationen zwischen Computern offenbart, vorzugsweise mittels eines digitalen Datenbusses eines Luftfahrzeugs. Typischerweise werden für die im Flugbetrieb notwendigen Systeme unterschiedliche Computer und lokale Datenbusse verwendet. Solche Systeme umfassen beispielsweise das Flugsteuersystem, das Fahrwerksystem, das Betätigungssystem oder das Klimatisierungssystem eines Luftfahrzeugs.
-
In einer beispielhaften Ausführung werden die systemrelevanten Regelungs- und Überwachungsfunktionen in zentralen Recheneinheiten ausgeführt, welche häufig im Rumpf eines Flugzeugs in einer sogenannten „Avionics Bay“ untergebracht sind. Diese Zentralrechner übertragen typischerweise die zum Ansteuern notwendigen Signale mit Hilfe von Datenbussen an Fernelektronikeinheiten. Die Fernelektronikeinheiten, die auch Remote Electronic Unit (REU) genannt werden, führen lokal (zum Beispiel in einer Tragfläche eines Flugzeugs) die Steuerfunktionen der Aktuatoren aus. Eine Übertragung von fehlerhaften Daten, die zur Ansteuerung der Aktuatoren relevant sind, kann zu einer kritischen Flugsituation und im schlimmsten Fall zum Absturz des Luftfahrzeugs führen.
-
Aus diesem Grund muss eine sichere Erzeugung der zur Regelung, Steuerung und Überwachung notwendiger Informationen, eine sichere Datenübertragung zwischen den Zentralrechnern und den Fernelektronikeinheiten und eine sichere Weiterverarbeitung der verfügbaren Daten bis zur Ansteuerung der Aktuatoren gewährleistet werden. Dazu beschreibt die Erfindung eine Vorrichtung und eine Methode, die auf Flugzeugebene die Komplexität der Geräte und den Verkabelungsaufwand reduziert.
-
Als Stand der Technik gilt eine physisch getrennte Übertragung von Signalen oder Daten mit gleichem Bedeutungsgehalt für jede redundant ausgeführte Systemgruppe, um die Integrität sicher zu stellen. Dies wird auch deshalb derart realisiert, damit es zu keinen gleichförmigen Verfälschungen und somit unerkannten Fehlinterpretationen beim Empfänger der jeweiligen redundanten Systemgruppe kommt.
-
Durch das separate Vorsehen von getrennten physischen Datenübertragungen kann somit beim Empfänger kann über eine Abweichung der Inhalte das Auftreten eines Fehlers erkannt werden. Ein Fehler muss in vielen hochsicherheitskritischen Systemen wie in einem Luftfahrtsystem sicher detektiert werden können.
-
Üblicherweise wird zur Verbesserung der Erkennbarkeit bei jedem übertragenem Datenpaket für sich auf Protokollebene ein CRC-Code (Cyclic Redundancy Check) eingeführt. Um die Daten zeitlich zuordnen zu können werden zumindest zusammengehörenden, zeitlich aufeinanderfolgenden Datenpaketen Zählwerte (auch Zeitstempel genannt) angehängt, die sich entsprechend ihrer zeitlichen Reihenfolge ändern. Dies passiert auf Ebene der Applikation, so dass ein deterministisches Verhalten auch bei Anordnungen mit mehreren Empfängern unterstützt werden kann.
-
Nachdem über einen einfachen Berechnungs- und Übertragungsweg ein Datenfehler nicht sicher erkennbar ist, wird beim Stand der Technik dieselbe Information über mindestens zwei getrennte Datenerzeuger, Datenbusse und Empfänger, die sich in Hardware und Software unterscheiden, übertragen.
-
Wie der Fachmann weiß, kann die zyklische Redundanzprüfung bspw. keine Fehler empfangen, wenn das durch Fehler aufgeprägte Fehlerpolynom durch das Generatorpolynom der zyklischen Redundanzprüfung teilbar ist. Wenn also das Fehlerpolynom ungleich Null ist und durch das Generatorpolynom teilbar ist, wird der Fehler durch die CRC-Prüfung nicht erkannt
-
Um auch das Erkennen solcher Fehler zu ermöglichen, entsteht ein erheblicher Aufwand sowohl bei der Hardware und Software der Computer als auch bei der Flugzeugverkabelung (erhöhtes Kabelgewicht durch doppelte Signalführung, aufwändige Verlegung der Kabel im Flieger, mehr Steckverbinder).
-
Es ist das Ziel der Erfindung die Reduzierung des Kabelgewichts im Flugzeug und die Reduzierung des Hardwareaufwandes bei den Computern unter Gewährleistung der notwendigen Integrität der zu übertragenden Signale zu erreichen. Dies soll vorzugsweise mittels Verwendung einer physischen Übertragungsstrecke zwischen den kommunizierenden Computern erfolgen.
-
Um Kabelgewicht zu sparen, was bei Flugzeugen besonders vorteilhaft ist, ist es erstrebenswert, eine Möglichkeit zu finden, die Daten derart über nur eine physische Verbindung zu übertragen, dass dennoch die Integrität der Daten gewährleistet ist und eine Verfälschung sicher erkannt werden kann. Die in den Datenübertragungsprotokollen eingebauten CRC-Überprüfungen sind für eine sichere Erkennung, insbesondere wenn die Anforderungen an die funktionale Sicherheit sehr hoch sind, nicht ausreichend.
-
Die vorstehend aufgeführten Nachteile werden mit einer Vorrichtung nach Anspruch 1 bzw. einem Verfahren nach Anspruch 12 überwunden. Weitere vorteilhafte Ausgestaltungen sind in den abhängigen Ansprüchen beschrieben.
-
Danach ist gemäß dem Anspruch 1 eine Vorrichtung zur Datenübertragung vorgesehen, umfassend: eine erste Rechnereinheit mit einem ersten Modul und einem zweiten Modul, eine zweite Rechnereinheit ebenfalls mit einem ersten Modul und zweiten Modul, eine erste Datenübertragungsverbindung zwischen dem ersten Modul und zweiten Modul der ersten Rechnereinheit, eine zweite Datenübertragungsverbindung zwischen dem ersten Modul und zweiten Modul der zweiten Rechnereinheit, und eine dritte Datenübertragungsverbindung zwischen dem erstem Modul der ersten Rechnereinheit und dem ersten Modul der zweiten Rechnereinheit, wobei die Vorrichtung dazu ausgelegt ist, eine erste zeitliche Folge von Datenpaketen vom ersten Modul der ersten Rechnereinheit an das erste Modul der zweiten Rechnereinheit zu übertragen und zusätzlich eine zweite zeitliche Folge von Datenpaketen vom zweiten Modul der ersten Rechnereinheit an das zweite Modul der zweiten Rechnereinheit zu übertragen, das erste Modul der ersten Rechnereinheit dazu ausgelegt ist, jedes der mehreren Datenpakete (301) der ersten Folge mit einem ersten Zählwert zu ergänzen, der sich von Datenpaket zu Datenpaket jeweils um ein Inkrement unterscheidet, das zweite Modul der ersten Rechnereinheit dazu ausgelegt ist, jedes der mehreren Datenpakete der zweiten Folge mit einem CRC-Code zu ergänzen, der auf dem jeweiligen Datenpaket und einem daran angehängten zweiten Zählwert, der sich von Datenpaket zu Datenpaket der zweiten zeitlichen Folge jeweils um ein Inkrement unterscheidet, basiert, das zweite Modul der ersten Rechnereinheit ferner dazu ausgelegt ist, die jeweils um den zweiten Zählwert und den CRC-Code erweiterten Datenpakete vom zweiten Modul der ersten Rechnereinheit über die erste Datenübertragungsverbindung an das erste Modul der ersten Rechnereinheit zu übertragen, das erste Modul der ersten Rechnereinheit dazu ausgelegt ist, die jeweils um den ersten Zählwert und den CRC-Code erweiterten Datenpakete vom zweiten Modul entgegenzunehmen, um jeweils ein entsprechendes Datenpaket der entgegengenommenen erweiterten Datenpakete der zweiten Folge an ein zeitlich zusammengehörendes erweitertes Datenpaket der ersten Folge anzuhängen und die so gebildeten kombinierten Datenpakete gemeinsam an das erste Modul über die dritte Datenübertragungsverbindung an die zweite Rechnereinheit zu übertragen, das erste Modul der zweiten Rechnereinheit dazu ausgelegt ist, die kombinierten Datenpakete in die jeweiligen erweiterten Datenpakete der ersten Folge und in die jeweiligen erweiterten Datenpaketen der zweiten Folge zu trennen und die abgetrennten erweiterten Datenpakete der zweiten Folge über die zweite Datenübertragungsverbindung an das zweite Modul der zweiten Rechnereinheit zu übertragen, und das erste Modul der zweiten Rechnereinheit dazu ausgelegt ist, eine Überprüfung des CRC-Codes von zeitlich nachfolgend eintreffenden erweiterten Datenpaketen der zweiten Folge auszuführen.
-
Wie man erkennt, eignet sich die beschriebene Vorrichtung insbesondere zur Kommunikation zwischen Bestandteilen einer redundant ausgeführten Systemgruppe. Dabei werden die Bestandteile der redundant ausgeführten Systemgruppen nicht mit separaten physischen Verbindungsleitungen verbunden, wie es im Stand der Technik üblich ist, sondern mit einer gemeinsamen physischen Verbindung, nämlich der dritten Datenübertragungsverbindung versehen, die sämtliche redundant ausgeführten Systemgruppen verbindet. Die erforderliche Übertragungssicherheit in Bezug auf die Integrität der Daten wird durch eine CRC-Codierung erreicht, bei der zeitlich hintereinander angeordnete Datenpakete mit einem inkrementierenden Zählerwert versehen werden, so dass der auf dieser Grundlage gebildete CRC-Code statische Fehler über die Zeit zuverlässig erkennt.
-
Ein wie erfindungsgemäß vorgesehener in der Applikation ergänzter CRC-Code kann die Möglichkeit einer Fehlererkennung deutlich verbessern. Eine geschickte Wahl und eine ausreichend hohe Ordnung des Erzeugerpolynoms lassen es zu, den Grad der Erkennbarkeit der Fehler einzustellen. Wichtig bei dieser neuen Datenübertragung sind die Kombination der Mechanismen und die Einbeziehung eines Zählwerts mit in die CRC-Berechnung. Dadurch werden auch bei einem über die Zeit konstanten Datum (oder mehrere konstante Daten), also bei identischen Zeitstempeln, definiert abweichende CRCs erzeugt. Eine mehrfache CRC-Prüfung beim Empfänger von zeitlich nacheinander eintreffenden Daten sorgt dafür, dass eine vielfach höhere Sicherheit der Erkennung erzeugt wird.
-
Ein statischer Fehler, der zufällig zu einem richtigen CRC-Ergebnis führt, würde beim nächsten Datum mit neuer und aufgrund des veränderten Zählerwertes abweichender CRC-Berechnung mit höherer Wahrscheinlichkeit erkannt. Bei einem dritten geprüften Wert verstärkt sich der Effekt entsprechend.
-
Nach einer optionalen Fortbildung ist vorgesehen, dass die erste Datenübertragungsverbindung, die zweite Datenübertragungsverbindung und/oder die dritte Datenübertragungsverbindung eine physische Datenübertragungsverbindung, insbesondere eine drahtgebundene oder eine drahtlose Datenübertragungsverbindung ist, und/oder die dritte Datenübertragungsverbindung durch nur eine physische Verbindung umgesetzt ist und zwischen der ersten Rechnereinheit und der zweiten Rechnereinheit keine weitere physische Datenübertragungsverbindung existiert.
-
Damit wird ausgeschlossen, dass zwischen den beiden Rechnereinheiten eine weitere Datenübertagungsverbindung besteht, über die ein Datenaustausch stattfinden könnte.
-
Ferner kann das Ergänzen eines CRC-Codes, das Anhängen von Prüfbits an ein zu überprüfendes Datenpaket auf Grundlage einer zyklischen Redundanzprüfung darstellen. Das Konzept eines Erstellens eines CRC-Codes mit seinem Generatorpolynom ist dem Fachmann bekannt und wird daher vorliegend nicht erläutert. Die Bitfolge, welche mit einem CRC-Code versehen werden soll, wird dabei mit Prüfbits versehen, die typischerweise an die Bitfolge angehängt werden. Diese Prüfbits stellen den Rest einer Division der als Polynom gesehenen Prüfbits (multipliziert mit höchsten Polynomgrad des Generatorpolynoms) dar.
-
Nach einer weiteren optionalen Modifikation der Erfindung kann die erste Rechnereinheit dazu ausgelegt sein, die erste Folge von Datenpaketen ihrem ersten Modul zu erzeugen, und/oder die erste Rechnereinheit dazu ausgelegt sein, die zweite Folge von Datenpaketen in ihrem zweiten Modul zu erzeugen. Es werden die zu übertragenden Bits der Module der ersten Rechnereinheit, deren Aufgabe es ist, zueinander redundante Informationen zu erzeugen und zu übertragen, erzeugt und entsprechend dem erläuterten Vorgehen übertragen.
-
Dabei kann vorteilhafterweise vorgesehen sein, dass das erste Modul der ersten Rechnereinheit, das zweite Modul der ersten Rechnereinheit, das erste Modul der zweiten Rechnereinheit und/oder das zweite Modul der zweiten Rechnereinheit einen für sich eigenständigen Rechner darstellt, der vorzugsweise eine CPU und einen Arbeitsspeicher umfasst. In dem man die verschiedenen Rechnereinheiten auch strukturell voneinander trennt, kann ein hardwareseitiger Fehler nicht zu einem Gesamtausfalls der mehreren Module führen. Oftmals wird sogar der strukturelle Aufbau der Module, auch wenn sie voneinander strukturell getrennt sind, in unterschiedlichen Arten vorgenommen, um auch hiervon herrührende gleichzeitig auftretende Fehler auszuschließen.
-
Vorzugsweise stellen das erste Modul der ersten Rechnereinheit und das zweite Modul der ersten Rechnereinheit zueinander redundante Systeme dar, die vorzugsweise in ihrem fehlerfreien Regelbetrieb die gleiche Information in ihren Datenpaketen übertragen. Alternativ oder zusätzlich kann vorgesehen sein, dass das erste Modul der zweiten Rechnereinheit und das zweite Modul der zweiten Rechnereinheit zueinander redundante Systeme darstellen, die vorzugsweise im fehlerfreien Regelbetrieb die gleiche Information in ihren Datenpaketen verarbeiten.
-
Das erste und das zweite Modul der ersten Rechnereinheit und auch der zweiten Rechnereinheit können also jeweils zueinander redundante Funktionen ausführen. So kann sowohl mit dem ersten als auch dem zweiten Modul der ersten Rechnereinheit ein und dieselbe Information übertragen werden, die es mit Hilfe des ersten und zweiten Moduls auf Seiten der zweiten Rechnereinheit sicher und unverfälscht zu empfangen gilt.
-
Nach einer weiteren Fortbildung der Erfindung kann vorgesehen sein, dass das erste Modul der ersten Rechnereinheit und das erste Modul der zweiten Rechnereinheit eine Systemgruppe bilden, das zweite Modul der ersten Rechnereinheit und das zweite Modul der zweiten Rechnereinheit eine Systemgruppe bilden, und die beiden Systemgruppen zueinander redundante Systemgruppen darstellen und vorzugsweise in ihren fehlerfreien Regelbetrieben die gleichen Informationen in den übersandten Datenpaketen verarbeiten.
-
Vorzugsweise sind in dem kombinierten Datenpaket jeweils zeitlich zusammengehörende Datenpakete aus der ersten zeitlichen Folge von Datenpaketen und der zweiten zeitlichen Folge von Datenpaketen kombiniert, die im fehlerfreien Regelbetrieb die gleiche Information in sich tragen. Dabei entspring die erste Folge in der Regel dem ersten Modul und die zweite Folge dem zweiten Modul der ersten Rechnereinheit.
-
Nach einer weiteren Fortbildung der Erfindung kann vorgesehen sein, dass das erste Modul der ersten Rechnereinheit dazu ausgelegt ist, vor einem Übersenden an das das erste Modul der zweiten Rechnereinheit das kombinierte Datenpaket mit einem CRC-Code zu versehen, der auf dem kombinierten Datenpaket basiert, und das erste Modul der zweiten Rechnereinheit dazu ausgelegt ist, eine Überprüfung des CRC-Codes, welcher auf dem kombinierten Datenpaket basiert, auszuführen. Demnach gibt es also einen weiteren CRC-Code, der nun vom ersten Modul der ersten Rechnereinheit gebildet und vom ersten Modul der zweiten Rechnereinheit geprüft wird.
-
Vorzugsweise ist das erste Modul der ersten Rechnereinheit ferner wie das erste Modul der zweiten Rechnereinheit und umgekehrt ausgebildet, das zweite Modul der ersten Rechnereinheit ferner wie das zweite Modul der zweiten Rechnereinheit und umgekehrt ausgebildet, so dass eine bidirektionale Kommunikation zwischen erster Rechnereinheit und zweiter Rechnereinheit in gleicher Art und Weise möglich ist und erfolgen kann.
-
Ferner kann vorgesehen sein, dass das erste Modul der ersten Rechnereinheit, das zweite Modul der ersten Rechnereinheit, das erste Modul der zweiten Rechnereinheit und/oder das zweite Modul der zweiten Rechnereinheit durch einen Mikrocontroller und/oder einen FPGA umgesetzt sind, vorzugsweise so, dass eines der Module einer Rechnereinheit durch einen Mikrocontroller und ein anderes der Module derselben Rechnereinheit durch ein FPGA realisiert ist.
-
Von der Erfindung ist zudem ein Verfahren zur Datenübertragung mit einer Vorrichtung beschrieben, das eine erste Rechnereinheit mit einem ersten Modul und einem zweiten Modul, eine zweite Rechnereinheit ebenfalls mit einem ersten Modul und zweiten Modul, eine erste Datenübertragungsverbindung zwischen dem ersten Modul und zweiten Modul der ersten Rechnereinheit, eine zweite Datenübertragungsverbindung zwischen dem ersten Modul und zweiten Modul der zweiten Rechnereinheit, und eine dritte Datenübertragungsverbindung zwischen dem erstem Modul der ersten Rechnereinheit und dem ersten Modul der zweiten Rechnereinheit umfasst, wobei in dem Verfahren eine erste zeitliche Folge von Datenpaketen vom ersten Modul der ersten Rechnereinheit an das erste Modul der zweiten Rechnereinheit übertragen und zusätzlich eine zweite zeitliche Folge von Datenpaketen vom zweiten Modul der ersten Rechnereinheit an das zweite Modul der zweiten Rechnereinheit übertragen wird, jedes der mehreren Datenpakete der ersten Folge mit einem ersten Zählwert ergänzt wird, der sich von Datenpaket zu Datenpaket jeweils um ein Inkrement unterscheidet, jedes der mehreren Datenpakete der zweiten Folge mit einem CRC-Code ergänzt wird, der auf dem jeweiligen Datenpaket und einem daran angehängten zweiten Zählwert, der sich von Datenpaket zu Datenpaket der zweiten zeitlichen Folge jeweils um ein Inkrement unterscheidet, basiert, die jeweils um den zweiten Zählwert und den CRC-Code erweiterten Datenpakete vom zweiten Modul der ersten Rechnereinheit über die erste Datenübertragungsverbindung an das erste Modul der ersten Rechnereinheit übertragen werden, die jeweils um den ersten Zählwert und den CRC-Code erweiterten Datenpakete vom zweiten Modul entgegengenommen werden, um jeweils ein entsprechendes Datenpaket der entgegengenommenen erweiterten Datenpakete der zweiten Folge an ein zeitlich zusammengehörendes erweitertes Datenpaket der ersten Folge anzuhängen und die so gebildeten kombinierten Datenpakete gemeinsam an das erste Modul über die dritte Datenübertragungsverbindung an die zweite Rechnereinheit zu übertragen, die kombinierten Datenpakete in die jeweiligen erweiterten Datenpakete der ersten Folge und in die jeweiligen erweiterten Datenpaketen der zweiten Folge getrennt werden und die abgetrennten erweiterten Datenpakete der zweiten Folge über die zweite Datenübertragungsverbindung an das zweite Modul der zweiten Rechnereinheit übertragen werden, und eine Überprüfung des CRC-Codes von zeitlich nachfolgend eintreffenden erweiterten Datenpaketen der zweiten Folge ausgeführt wird.
-
Das Verfahren kann in vorteilhafter Art und Weise weitergebildet werden, in dem die dritte Datenübertragungsverbindung durch nur eine physische Verbindung umgesetzt ist und zwischen der ersten Rechnereinheit und der zweiten Rechnereinheit keine weitere physische Datenübertragungsverbindung existiert.
-
Die Erfindung betrifft ferner einen lokalen Datenbus in einem Fluggerät, insbesondere in einem Flugzeug, wobei der lokale Datenbus die Vorrichtung zur Datenübertragung nach einem der vorhergehend aufgeführten Varianten der Vorrichtung umfasst oder das Verfahren nach einer der vorstehenden Varianten verwendet.
-
Darüber hinaus betrifft die vorliegende Erfindung ein Fluggerät, insbesondere ein Flugzeug, wobei zur Kommunikation zwischen einem Zentralrechner und einer Fernelektronikeinheit, bspw. zum Steuern des Flugsteuersystem, des Fahrwerksystems, des Betätigungssystems oder des Klimatisierungssystems, auf den Datenbus nach einer der vorstehenden Varianten der Vorrichtung oder das Verfahren zurückgegriffen wird.
-
Weitere Einzelheiten, Merkmale und Vorteile der Erfindung werden anhand der nachfolgenden Figurenbeschreibung ersichtlich. Dabei zeigen:
- 1: eine schematische Darstellung einer Vorrichtung zur Datenübertragung nach dem Stand der Technik,
- 2: eine schematische Darstellung einer Vorrichtung zur Datenübertragung gemäß der Erfindung, und
- 3: schematische Darstellung des kombinierten Datenpakets, das über die Datenübertragungsverbindung der verschiedenen Rechnereinheiten gesendet wird.
-
1 zeigt eine Vorrichtung 100 zur Datenübertagung nach dem Stand der Technik, wie sie beispielsweise in einem Luftfahrzeug zum Einsatz kommt. Man erkennt eine erste Rechnereinheit 101 und eine dazu separate Rechnereinheit 102, zwischen denen Daten übertragen werden sollen. Um die Integrität der Datenübertragung sicher zu stellen, ist es Stand der Technik physisch getrennte Übertragungen von Signalen oder Daten mit gleichem Bedeutungsgehalt vorzusehen. So wird sichergestellt, dass es zu keinen gleichförmigen Verfälschungen und daraus resultierenden Fehlinterpretationen kommen kann. So kann bei der empfangenden Rechnereinheit 102 über eine Abweichung der Inhalte der redundant gesendeten Informationen das Auftreten eines Fehler erkannt werden.
-
Zum Erstellen der jeweils redundant zueinander wirkenden Information sind in der sendenden Rechnereinheit 101 ein erstes Modul 121 und ein zweites Modul 122 vorgesehen. Dabei ist jedes Modul 121, 122 der ersten Rechnereinheit 101 mit einem zugehörigen Modul 131, 132 der zweiten Rechnereinheit 102 über eine eigene physische Datenübertragungsverbindung 141, 142 verbunden. Die logische Verbindung 151 zwischen dem ersten Modul 121 der ersten Rechnereinheit 101 und dem ersten Modul 131 der zweiten Rechnereinheit 102 sowie die logische Verbindung 152 zwischen dem zweiten Modul 122 der ersten Rechnereinheit 101 und dem zweiten Modul 132 der zweiten Rechnereinheit 102 findet dabei über physisch voneinander getrennten Verbindungen 141, 142 statt. Die logischen Verbindungen 151, 152 teilen sich dabei an keinem Punkt eine gemeinsame physische Übertragungsplattform.
-
Für eine zeitliche Zuordnung der übertragenen Daten der getrennten redundanten Systeme können diese jeweils mit Zählwerten (auch Zeitstempel) versehen werden. Dies kann auch Applikationsebene oder auch auf Protokollebene geschehen. Damit kann ein deterministisches Verhalten auch bei Anordnungen mit mehreren Empfängern unterstützt werden.
-
Nachteilig an der dargestellten Umsetzung eines Systems nach 1 ist der erhebliche Aufwand hinsichtlich Hardware und Software, insbesondere die doppelt vorhandene Verkabelung, die ein erhöhtes Kabelgewicht, eine zusätzliche aufwändige Verlegung und eine sehr hohe Anzahl an Steckverbindern erfordert.
-
2 zeigt einen schematischen Aufbau einer erfindungsgemäßen Vorrichtung 200 zum Übertragen von Daten, die unter Beibehaltung der erforderlichen Integrität der zu übertragenden Signale das Kabelgewicht und die Anzahl der erforderlichen Steckverbindungen reduziert.
-
Dabei ist der Aufbau der ersten Rechnereinheit 201 und der zweiten Rechnereinheit 202 ähnlich zu dem aus 1. So weist die erste Rechnereinheit 201 ein erstes Modul 221 und ein zweites Modul 222 auf. Auch die zweite Rechnereinheit 202 weist ein erstes Modul 231 und ein zweites Modul 232 auf.
-
Anders als der Stand der Technik befindet sich zwischen dem ersten Modul 221 der ersten Rechnereinheit 201 und dem zweiten Modul 222 der ersten Rechnereinheit 201 eine Datenübertragungsverbindung. Auch zwischen dem ersten Modul 231 der zweiten Rechnereinheit 202 und dem zweiten Modul 232 der zweiten Rechnereinheit 202 ist eine Datenübertragungsverbindung vorgesehen. Zudem sind die beiden Rechnereinheiten 201, 202 über nur eine einzige physische Datenübertragungsverbindung 241 miteinander verbunden. Diese verläuft von dem ersten Modul 221 der ersten Rechnereinheit 201 zum ersten Modul 231 der zweiten Rechnereinheit 231.
-
Die zwischen den zweiten Modulen 222, 232 errichtete logische Verbindung 261 verläuft also über die ersten Module 221, 231 und teilt sich mit der logischen Verbindung 251 zwischen den ersten Modulen 221, 231 eine gemeinsame physische Datenübertragungsverbindung 241. Obwohl nicht in der 2 dargestellt, ist anstelle der unidirektionalen Kommunikation selbstverständliche eine bidirektionale Kommunikation zwischen den beiden Rechnereinheiten 201, 202 bzw. den jeweiligen Modulen möglich.
-
Um nun die Integrität der Daten trotz gemeinsamer physischer Übertragungsverbindung zu gewährleisten, sind die aus dem Stand der Technik vorgesehenen CRC-Verfahren nicht ausreichend. So kann ein, vorzugsweise auf Applikationsebene eingefügter, weiterer CRC die Möglichkeit einer Fehlererkennung derart verbessern, dass auch sehr hohe funktionale Anforderungen an die funktionale Sicherheit erreicht werden können. Dabei ist es von Vorteil, einen Zählwert in die CRC-Berechnung miteinzubeziehen. Dadurch führt ein über die Zeit konstantes Datum zu definiert abweichenden CRCs.
-
Eine mehrfache CRC-Prüfung beim Empfänger von zeitlich nacheinander eintreffenden Daten sorgt dafür, dass eine vielfach höhere Erkennung von Fehlern vorliegt. Ein statischer Fehler, der zufällig zu einem richtigen CRC führt, würde beim nächsten Datum mit neuer und aufgrund des veränderten Zählwerts abweichender CRC-Berechnung mit höherer Wahrscheinlichkeit erkannt. Bei einem dritten Wert verstärkt sich der Effekt entsprechend.
-
Nachfolgend wird die Funktionalität der in 2 dargestellten Vorrichtung 200 mit Hilfe der 3 erläutert. So wird die Information, die im zweiten Modul 222 der ersten Rechnereinheit 201 entsteht und die -im fehlerfreien Betriebbedeutungsgleich zu der Information ist, die im ersten Modul 221 der ersten Rechnereinheit 201 entsteht, in eine binäre Datenfolge gewandelt und als Datenpaket 302 zusammengefasst. In diesem Datenpaket 302 befinden sich also die Nutzdaten, so dass man auch von einem Nutzdatenpaket 302 sprechen könnte.
-
Durch das kontinuierliche bzw. fortwährende Anfallen von Informationen in dem Modul 222 gibt es eine zeitliche Reihenfolge der mehreren Datenpakete 302, so dass diese mit einem Zählwert 303 gekennzeichnet werden können. Zeitlich aufeinanderfolgende Datenpakete 302 werden dabei mit einem Zählwert 303 versehen, der sich jeweils um ein Inkrement unterscheidet. Dieser Zählwert 303 wird als binäre Folge dem Datenpaket 302 vorangestellt (nicht dargestellt) oder angehängt.
-
Als nächstes wird dabei die gemeinsame Bitfolge von Datenpaket 302 und Zählwert 303 einem CRC-Algorithmus unterzogen und der beim Teilen der gemeinsamen Bitfolge durch das Generatorpolynom anfallende Rest in der CRC-Bitfolge 304 der gemeinsamen Bitfolge vorangestellt (nicht dargestellt) oder angehängt. Die Länge der hierbei anzufügenden CRC-Bitfolge 304 entspricht dabei dem Grad des Generatorpolynoms. Die hierbei angefügte CRC-Bitfolge 304 basiert also nicht nur auf dem (Nutz-)Datenpaket 302 sondern auch auf dem Zählwert 303.
-
Nachdem nun das zweite Modul 222 der ersten Rechnereinheit 201 das Datenpaket 302 entsprechend bearbeitet hat, wird das so erweiterte Datenpaket 302, 303, 304 an das erste Modul 221 über die zwischen den Modulen 221, 222 bestehende Datenübertragungsverbindung weitergereicht.
-
Im ersten Modul 221 der ersten Rechnereinheit 201 wird dann das dort herrührende (Nutz-)Datenpaket 301 mit einem Zählwert 305 versehen, um auch hier die Reihenfolge der vom ersten Modul abgehenden Datenpakete 301 nachvollziehen zu können. Der Zählwert kann natürlich dem Datenpaket 301 des ersten Moduls 221 vorangestellt oder angehängt werden.
-
Das um den Zählwert 305 erweiterte Datenpaket 301 des ersten Moduls 221 wird mit dem erweiterten Datenpaket 302, 303, 304 vom zweiten Modul 222 kombiniert, indem es angehängt oder vorangestellt wird. Das so erhaltene kombinierte Datenpaket 301, 305, 302, 303, 304 wird dann von dem ersten Modul 221 der ersten Rechnereinheit 201 über die Datenübertagungsverbindung 241 an das erste Modul 231 der zweiten Rechnereinheit 202 gesendet, wo es empfangen und aufgeteilt wird.
-
Dabei wird das um den Zählwert 305 erweiterte (Nutz-)Datenpaket 301 des ersten Moduls 221 der ersten Rechnereinheit 201 von dem kombinierten Datenpaket 301, 305, 302, 303, 304 abgetrennt und im ersten Modul 231 der zweiten Rechnereinheit 202 verarbeitet.
-
Der andere Teil, also das um Zählwert 303 und CRC-Code 304 erweiterte (Nutz-)Datenpaket 302 des zweiten Moduls 231 der ersten Rechnereinheit 201 wird dann vom ersten Modul 231 der zweiten Rechnereinheit 202 an dessen zweites Modul 232 über die Datenübertragungsverbindung zwischen den beiden Modulen 231, 232 der zweiten Rechnereinheit 231 an das zweite Modul 232 weitergereicht.
-
Dort wird dann die CRC-Überprüfung ausgeführt, so dass ein Auftreten von Übertragungsfehlern erkannt wird. Insbesondere bei zeitlich aufeinanderfolgenden Überprüfungen ergibt sich durch den variierenden Zählwert bzw. der zeitlich unterschiedlichen und aufgrund des geänderten Zählwerts abweichenden CRC-Berechnung eine größere Wahrscheinlichkeit einen statischen Fehler zu erkennen. So kann nach einer bspw. das Generatorpolynom zur CRC-Berechnung in Abhängigkeit eines Zählwerts variiert werden.
-
Durch das Wissen des Zählerstands vom vorhergehend empfangenen Datenblock, muss der nun empfangene Datenblock sich in seinem Zählwert um genau ein Inkrement unterscheiden. Ist dies nicht der Fall, ist ein Übertragungsfehler vorhanden, der nicht durch den CRC erkannt worden ist, so dass entsprechende Maßnahmen eingeleitet werden können.
-
Die Module der verschiedenen Rechnereinheiten können dabei in ihrem strukturellen Aufbau identisch sein, sich hinsichtlich einer verbesserten Ausfallwahrscheinlichkeit aber auch untereinander unterscheiden.
-
So können bspw. die Module einer Rechnereinheit 201, 202 durch einen Mikrocontroller oder ein FPGA umgesetzt sein. Auch kann vorgesehen sein, dass die beiden Module einer Rechnereinheit 201, 202 unterschiedlich sind, also das erste Modul bspw. ein Mikrocontroller und das zweite Modul ein FPGA oder umgekehrt.