PatentDe  


Dokumentenidentifikation DE102004030602B4 19.04.2007
Titel Paralleler Datenbus und Verfahren zum Betreiben eines parallelen Datenbusses
Anmelder Infineon Technologies AG, 81669 München, DE
Erfinder Dirscherl, Gerd, 81543 München, DE;
Smola, Michael, 80636 München, DE;
Gammel, Berndt M., Dr., 85570 Markt Schwaben, DE
Vertreter Epping Hermann Fischer, Patentanwaltsgesellschaft mbH, 80339 München
DE-Anmeldedatum 24.06.2004
DE-Aktenzeichen 102004030602
Offenlegungstag 19.01.2006
Veröffentlichungstag der Patenterteilung 19.04.2007
Veröffentlichungstag im Patentblatt 19.04.2007
IPC-Hauptklasse G06F 13/38(2006.01)A, F, I, 20051017, B, H, DE
IPC-Nebenklasse G06F 21/24(2006.01)A, L, I, 20051017, B, H, DE   G06K 19/07(2006.01)A, L, I, 20051017, B, H, DE   

Beschreibung[de]

Die Erfindung betrifft einen parallelen Datenbus mit einer Busbetriebsmodi-Umschalteinrichtung und ein Verfahren zum Betreiben eines derartigen parallelen Datenbusses.

Bei der Übertragung von Daten über einen parallelen Bus ist es im allgemeinen notwendig, dass die Daten während der Übertragung vor Verfälschung geschützt sind. Verfälschungen können dabei aufgrund von Übertragungsfehlern oder bewusster Manipulation der Daten auftreten. Insbesondere bei Anwendungen mit hohen Datensicherheitsanforderungen, wie zum Beispiel Chipkarten, ist es absolut notwendig, dass die Datenintegrität gewährleistet ist. Die wesentliche Eigenschaft von Chipkarten besteht ja darin, dass sie eine sichere Umgebung für Daten und Programme bieten. Wäre es ohne größeren Aufwand möglich, Daten unbefugt aus Chipkarten auszulesen, würden sie sich nur mehr unwesentlich von einem Speichermedium unterscheiden.

Um sicherzustellen, dass Daten, die auf einem Chipkarten-Controller gespeichert bzw. bearbeitet werden, nicht manipuliert werden können, wird von den Chipkarten-Herstellern ein erheblicher Aufwand betrieben. Um Angriffe über die physikalische Ebene erkennen zu können, werden z.B. Sensoren in den Chipkarten-Controller eingebaut. Diese können Änderungen zum Beispiel in der Temperatur, der Versorgungsspannung, der Taktfrequenz oder einen Lichteinfall im Inneren eines Controllers detektieren. Als weitere Schutzmassnahme werden spezielle Chip-Abdeckungen, sogenannte Shields, als Schutzschichten eingesetzt, die bei einem Angriff beschädigt wer den. Die Beschädigung führt dabei zu einer Widerstands- oder Kapazitätsänderung, die erfasst und ausgewertet werden kann. Falls ein Angriff festgestellt wird, können so entsprechende Gegenmaßnahmen ergriffen werden, die zum Beispiel das Auslesen von sicherheitsrelevanten Daten, wie z.B. geheime Schlüssel, unmöglich machen.

Eine weitere Möglichkeit, die Datenintegrität zu gewährleisten, besteht darin, Fehlererkennungscodes (EDC Error Detection Code) zu benutzten. Um sehr empfindliche Dateninhalte, wie Programmcode, Schlüssel, Zugriffsbedingungen, Zeigerstrukturen und ähnliches gegenüber Veränderungen zu sichern wird den auf Bussen transportierten Daten eine Prüfsumme zugeordnet. Diese Prüfsumme wird zusammen mit den zu überwachenden Daten übertragen und nach der Übertragung mit der neuberechneten Prüfsumme der empfangenen Daten verglichen. Wurden die Daten während der Übertragung über dem Bus verändert, so unterscheiden sich im Idealfall die Prüfsummen und es kann ein Alarm ausgelöst werden oder die Daten verworfen und noch einmal übertragen werden.

Ein sehr einfaches und deshalb weitverbreitetes Prüfsummenverfahren ist die Paritätsprüfung (Parity Check). Bei diesen Verfahren wird zu jedem Wort ein Paritäts-Bit gebildet und mit übertragen. Das Paritäts-Bit wird so gesetzt, dass bei ungerader Parität immer eine ungerade Anzahl von Bits auf 1 gesetzt ist, und bei gerader Parität immer eine gerade Zahl von Bits.

Da eine gerade Anzahl von geänderten Bits durch die Paritätsprüfung nicht erkannt wird, benutzt man in der Praxis XOR-Prüfsummen, die durch die aufeinanderfolgende logische XOR-Verknüpfung aller Daten-Bytes berechnet werden und daher auch als Längssummenprüfung bekannt sind. Ein Vertauschen von zwei Bytes oder Mehrfachfehler an der gleichen Bit-Position sind jedoch nicht erkennbar.

Um diese Nachteile zu überwinden werden CRC-Prüfsummen (Cyclic Redundancy Check) eingesetzt. Die Prüfsumme wird durch ein rückgekoppeltes, zyklisches Schieberegister erzeugt und erlaubt auch die Fehlererkennung von Mehrfachfehlern.

Aus der Kryptologie sind auch komplexere Signaturen bekannt, wie zum Beispiel MAC (Message Authentification Code), die aber nur überprüft werden können, wenn man den geheimen Schlüssel dazu kennt.

Nachteilig bei dem Einsatz von Sensoren zur Gewährleistung der Datenintegrität ist, dass in der Regel ein hoher Entwicklungsaufwand bei der Pflege, Portierung und Weiterentwicklung der Sensoren innerhalb und außerhalb von Produktfamilien erforderlich ist. Bei analogen Sensoren besteht zusätzlich das Problem, diese so zu kalibrieren, dass die normale Funktion der Schaltung unter schwankenden Umgebungsbedingungen sichergestellt ist, Angriffe jedoch sicher erkannt werden. Will man zum Beispiel einen Angriff erkennen, der durch eine Unterspannung herbeigeführt wird, so muss man die Spannungsgrenze hoch genug wählen, dass diese Unterspannung sicher detektiert wird. Gleichzeitig darf diese Grenze nicht so hoch sein, dass die Schaltung aufgrund von verschmutzten Kontakten nicht mehr funktionsfähig ist. Das Festlegen der Ansprechschwelle von Sensoren wird zusätzlich durch Streuungen in der Fertigung und Technologie erschwert. Weiterhin benötigen derartige Sensoren auch eine nicht unerhebliche Fläche bei einer Integrierung auf einem Chip, wodurch sich die Chip-Kosten erhöhen.

Nachteilig beim Einsatz von Prüfsummen zur Sicherung der Datenintegrität ist, dass um die Prüfsummeninformation zu übertragen zusätzliche Leitungen erforderlich sind. Je nach Güte der Signaturen benötigt man eine nicht unerhebliche Zahl an Zusatz-Bits, was speziell im Fall von parallelen Bussen zu einer signifikanten Erhöhung des Flächenbedarfs und damit der Kosten führen kann. Das zusätzliche Übertragen eines Paritäts-Bits bei einem 8-Bit-Wort erfordert 12,5% mehr Fläche, während eine 8-Bit Signatur für einem 32-Bit Bus bereits mehr als 25% an zusätzlicher Chip-Fläche bedarf.

In der EP 0 962 868 A1 wird eine Schnittstelle beschrieben, mit der ein paralleler Datenbus an verschiedene Busbandbreiten von 1, 2, 4 oder 8 Datenbit angeschlossen werden kann. Durch die unterschiedlichen Busbandbreiten wird die Datenübertragungsrate einstellbar.

In der DE 100 47 930 A1 wird ein Datenverarbeitungssystem mit einstellbarer Adress- bzw. Adresskanalstruktur beschrieben. Vorhandene Datenleitung können flexibel für die Übertragung von Adressen, Daten und Signalen eingesetzt werden, so dass es möglich ist, die Daten- und Adressleitungen von Systemkomponenten wie CPU, Speicher und Peripherie, auf Anforderung flexibel miteinander zu verbinden.

In dem Buch „Computerschnittstellen und Bussysteme" von Klaus Dembowski, Hüthig GmbH Heidelberg, 1997, Seite 121–127, ISBN 3-7785-2526-3, wird die Anschlussbelegung eines 16-Bitweiten SCSI-Buses angegeben. Die Datenbusleitungen sind mit „data bus 0" ... „data bus 15" nummeriert und die Leitungen 10 und 28 sind mit „data bus parity 2" bzw. „data bus parity 1" bezeichnet. Die Leitung sind fest vorgegeben in Prüf- und Datenleitung aufgeteilt.

Der Erfindung liegt daher die Aufgabe zugrunde, einen parallelen Datenbus und ein Verfahren zum Betreiben eines parallelen Datenbusses anzugeben, mit dem die Integrität der zu übertragenden Daten mit minimalem Aufwand gewährleistet werden kann.

Die Aufgabe wird erfindungsgemäß dadurch gelöst, dass der parallele Datenbus eine Busbetriebsmodi-Umschalteinrichtung aufweist, die zwischen einer Datenübertragung mit hoher Datenübertragungsrate und einer Datenübertragung mit hoher Datenintegrität umschaltet. Im Busbetriebsmodus mit einer hohen Datenübertragungsrate erfolgt die Datenübertragung über sämtliche im Bus zur Verfügung stehenden Leitungen und im Busbetriebsmodus mit hoher Datenintegrität wird ein Teil der Busleitungen zum Übertragen von Nutzdaten und der andere Teil der Busleitungen zum Übertragen der zu den Nutzdaten dazugehörenden Prüfdaten eingesetzt. Die Aufteilung der Datenleitungen in Leitungen für Nutzdaten und Prüfdaten ist abhängig von dem zur Erzeugung der Prüfdaten eingesetzten Prüfverfahrens.

Dadurch, dass bereits existierende Leitungen eines parallelen Busses, je nach Busbetriebsmodus, sowohl zur Übertragung von Nutzdaten als auch von Prüfdaten genutzt werden können, ergibt sich bei Integrierung auf einen Chip eine äußerst effiziente Ausnutzung der für den Bus vorgesehenen Chip-Fläche. Bei Datenübertragungen mit hoher Datenrate und ohne hohe Sicherheitsanforderungen wird keine zusätzliche Chipfläche für ungenutzte Prüfleitungen benötigt. Bei Datenübertragungen mit hoher Datenintegrität und geringem Datenvolumen lassen sich vorteilhafterweise bereits vorhandene Busleitungen nutzen, so dass auch hier Kosten für zusätzliche Chipfläche vermieden werden.

Weitere Einzelheiten und Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.

Vorteilhafterweise sind beim Übertragen von Daten mit hoher Datenintegrität über den Bus Prüfdatengeneratoren zum Erzeugen von Prüfdaten aus den Nutzdaten vorgesehen. Die Prüfdatengeneratoren ermöglichen es, automatisch verschiedene Prüfdaten aus den Nutzdaten zu berechnen und so Veränderungen der Daten während der Übertragung über den Bus zu erkennen.

Gemäß einer Weiterbildung ist ein Prüfdatenvergleicher vorgesehen, der die übertragenen Prüfdaten mit den Prüfdaten der übertragenen Nutzdaten vergleicht. Auf diese Weise kann die Integrität der übertragenen Daten sofort bestimmt werden und gegebenenfalls die erforderlichen Maßnahmen ergriffen werden.

Vorteilhafterweise wird der Teil der Busleitungen, der für die Übertragung von Prüfdaten vorgesehen ist durch einen Prüfdatengenerator derartig mit Bits belegt, dass bei jeder Datenübertragung eines der Busbreite entsprechenden Wortes über den Bus, jedes Wort eine möglichst gleiche Anzahl von Bits mit High- und Low-Zuständen aufweist. Dadurch, dass in jedem Datenwort möglichst genau 16 Bits mit High- und Low-Zuständen übertragen werden, wird das Ausspähen von Daten durch Analyse eines Stromprofils zum Beispiel mit einer einfachen oder differentiellen Leistungsanalyse (Differential Power Analysis DPA) erschwert.

In einer vorteilhaften Ausführungsform weist der Datenbus eine flexible Aufteilung der Busleitungen für Prüf- und Nutzdaten auf. Dadurch existiert eine große Zahl von sinnvollen Kombinationsmöglichkeiten. Nutzdaten können zum Beispiel mit einer reduzierten Datenwortbreite von 24 Bit und einer 8-Bit breiten Signatur zusammen über einen 32-Bit-Bus transportiert werden.

Die Erfindung wird nachfolgend an einem Ausführungsbeispiel unter Zuhilfenahme der Zeichnungen näher erläutert.

In den Zeichnungen zeigen:

1 einen parallelen Datenbus mit einer Busbetriebsmodi-Umschalteinrichtung im Übertragungsmodus mit hoher Datenübertragungsrate,

2 einen parallelen Datenbus mit einer Busbetriebsmodi-Umschalteinrichtung im Übertragungsmodus mit hoher Datenintegrität,

3 einen parallelen Datenbus mit einer Busbetriebsmodi-Umschalteinrichtung im Übertragungsmodus mit hoher Datenintegrität mit Möglichkeit einer Fehlerkorrektur.

4 ein Realisierungsbeispiel eines parallelen Datenbusses mit einer Busbetriebsmodi-Umschalteinrichtung.

1 zeigt ein Ausführungsbeispiel eines parallelen Datenbusses im Übertragungsmodus mit hoher Datenübertragungsrate. Die zu übertragenden Daten sind über den Dateneingang 1 mit der Datenaufbereitungseinheit 5 verbunden. Die Daten werden anschließend über die Busleitungen 6 an die Datenrückgewinnungseinheit 7 übertragen und erscheinen am Datenausgang 2. Der Busbetriebsmodus wird über das Betriebsmodussignal 3 gewählt, eine Kontrolllogik 4 steuert die Datenaufbereitungseinheit 5 und die Datenrückgewinnungseinheit 7 entsprechend an.

In dem in 1 gezeigten Betriebsmodus werden die am Dateneingang 1 anfallenden Daten mit einer möglichst hohen Datenübertragungsrate über die Busleitungen 6 an den Datenausgang 2 übertragen. Es werden daher sämtliche der Busleitungen 6 zum Transport von Nutzdaten eingesetzt. Pro Transferzyklus wird jeweils ein ganzes Datenwort mit je einem Bit pro Busleitung transportiert. Da keine Prüfdaten übertragen werden, steht somit die gesamte Busübertragungskapazität für Nutzdaten zur Verfügung. Zum Datenschutz können die Daten vor der Übertragung über die Busleitungen 6 in der Datenaufbereitungseinheit 5 verschlüsselt und dann in der Datenrückgewinnungseinheit 7 wieder entschlüsselt werden. Ebenso möglich ist ein Scrambling der Busleitungen 6, so dass eine Zuordnung der Bits ohne Hintergrundinformation nicht mehr möglich ist. Die Anordnung der Busleitungen 6 kann dazu durch die Kontrolleinheit 4 in der Datenaufbereitungseinheit 5 und der Datenrückgewinnungseinheit 7 dynamisch oder statisch vertauscht werden. Eine Datenkompression in der Datenaufbereitungseinheit 5 mit einem gängigen Komprimierungsverfahren und anschließender Datendekompression in der Datenrückgewinnungseinheit 7 ist ebenfalls möglich. Zum Schutz der Daten vor Manipulation können weiter die in der Einleitung genannten Maßnahmen, wie Sensoren und Shields, eingesetzt werden.

Der Busbetriebsmodus mit hoher Datenübertragungsrate ist für die Übertragung von Daten mit großen Volumen und geringen bzw. keinen Anforderungen an die Datenintegrität geeignet. Beispiele für solche Daten wären z.B. mp3-Dateien oder Bilder einer digitalen Kamera. Für die Übertragung von Daten, bei denen die Anforderung an die Datenintegrität sehr hoch liegen, ist dieser Betriebsmodus jedoch ungeeignet. Über das Betriebsmodussignal 3 kann daher die Kontrolllogik 4 angewiesen werden, den parallelen Bus in den Modus der Datenübertragung mit hoher Datenintegrität umzuschalten. In diesem Modus können dann z.B. Passwörter oder Schlüssel sicher übertragen werden. Die geringere Datenübertragungsrate in diesem Busbetriebsmodus dürfte dabei keine große Einschränkung darstellen, da Passwörter und Schlüssel meistens kleine Datenvolumen aufweisen.

2 zeigt einen parallelen Datenbus im Übertragungsmodus mit hoher Datenintegrität. Die Anordnung ist der in 1 gezeigten ähnlich, gleiche Bezugszeichen bezeichnen daher gleiche Gegenstände. Der wesentliche Unterschied zu 1 besteht darin, dass die Busleitungen 6 aus 1 nun als Busleitungen für Nutzdaten 6a und Busleitungen für Prüfdaten 6b eingesetzt werden. Die vorhandenen Busleitungen übertragen nun nicht mehr ausschließlich Nutzdaten, sondern auch noch die zu den Nutzdaten gehörenden Prüfdaten.

Die Kontrolllogik 4 steuert die Datenaufbereitungseinheit 5 und die Datenrückgewinnungseinheit 7 so an, dass abhängig von den zu übertragenden Prüfdaten die Gesamtzahl der Leitungen auf Leitungen für Nutzdaten 6a und Leitungen für Prüfdaten 6b aufgeteilt wird. Wird beispielsweise für die Prüfdaten ein Paritätsbit gewählt, so können Nutzdaten bei einem 32-Bit breiten Bus über 31 Leitungen übertragen und eine Leitung für das Paritätsbit eingesetzt werden. Wird ein komplexeres Verfahren zum Berechnen der Prüfdaten eingesetzt und zum Beispiel eine CRC-Prüfsumme oder eine MAC-Signatur berechnet, so wird über die Kontrolllogik 4 eine größere, den zu übertragenden Prüfdaten angemessene, Anzahl von Leitungen für Prüfdaten zur Verfügung gestellt, so dass die Prüfdaten gleichzeitig mit den zugehörigen Nutzdaten übertragen werden können.

In einer weiteren Variante werden 32-Busleitungen in 16 Leitungen für Nutzdaten und 16 Leitungen für Prüfdaten aufgeteilt. Die Prüfdaten werden dabei so gewählt, dass in jedem Datenwort genau 16 Bits in einem High-Zustand und 16 Bit in einem Low-Zustand übertragen werden. Bestehen die Nutzdaten zum Beispiel aus 10 Bits im High-Zustand und 6 Bits im Low-Zustand, so werden die Prüfdaten so gewählt, dass sie 10 Bits im Low-Zustand und 6 Bits im High-Zustand beinhalten. Da jedes Mal eine gleiche Anzahl von Bits in High- und Low-Zuständen übertragen wird, wird es auf diese weise erschwert, anhand der Analyse eines Stromprofils die Daten zum Beispiel mittels DPA (Differential Power Analysis) auszuspähen.

Andere Aufteilungsmöglichkeiten der Busleitungen 6 in Leitungen für Nutz- und Prüfdaten sind selbstverständlich möglich. Wurden hier bisher die Prüfdaten gleichzeitig mit den Nutzdaten übertragen, so ist es auch möglich, diese sequentiell zu übertragen, das heißt, zuerst die Daten, z.B. blockweise, und anschließend die dazugehörigen Prüfdaten. Auch können die in der Beschreibung von 1 genannten Verfahren wie Verschlüsselung, Scrambling und sonstige Maßnahmen zur Sicherung der Daten zusätzlich oder in Kombination mit den Prüfdaten eingesetzt werden.

Bei der bisherigen Aufteilung der Busleitungen in Leitungen für Nutzdaten 6a und Prüfdaten 6b ist nur eine Fehlererkennung aber keine Fehlerkorrektur möglich. Wird eine Verfälschung oder ein Übertragungsfehler erkannt, so werden mit der in 2 beschriebenen Anordnung in der Regel die fehlerhaften Daten verworfen und eine neue Übertragung der Daten angefordert oder ein Alarm ausgelöst. Die flexible Aufteilung der Busleitungen 6 durch die Kontrolllogik 4, zusammen mit der Datenaufbereitungseinheit 5 und der Datenrückgewinnungseinheit 7 ermöglichen jedoch auch eine Fehlerkorrektur der zu übertragenden Daten, wie in 3 gezeigt. Dazu werden z.B. die Busleitungen 6 in drei parallele Busse 6x, 6y und 6z aufgeteilt und identische Daten über jeden der drei Teilbusse 6x, 6y und 6z übertragen. Mittels einer „2 aus 3"-Entscheidung lässt sich nicht nur mit hoher Wahrscheinlichkeit erkennen, auf welchem der drei Teilbusse 6x, 6y, 6z die Daten verändert wurden, sondern auch noch anschließend entscheiden, welche der drei Teilbusse unveränderte Daten aufweisen und diese dann zu übertragen.

In einer weiteren Variante werden die Daten nicht 3-fach sondern doppelt übertragen, jedoch jeweils zusammen mit Prüfdaten, wie in 2 beschrieben. Auch Fehlerkorrektur-Algorithmen, wie zum Beispiel das Reed-Solomon-Verfahren, können benutzt werden, um Fehler zu korrigieren.

In den 2 und 3 übernehmen die Datenaufbereitungseinheit 5 und die Datenrückgewinnungseinheit 7 mehrere Funktionen. Die am Dateneingang 1 anfallenden Daten werden in einem Register gespeichert und entsprechend der Nutzdaten-Wortbreite geteilt. Ein 32-Bit-Wort kann so zum Beispiel in zwei 16-Bit-Teilworte aufgeteilt werden, die dann sequentiell jeweils zusammen mit ihren Prüfdaten übertragen werden. Um aus den Teilworten Prüfdaten berechnen zu können, verfügt die Datenaufbereitungseinheit 5 über Multiplexer, mit denen ausgewählt werden kann, welche Teilworte an die ebenfalls in der Datenaufbereitungseinheit 5 enthaltenen Prüfdatengeneratoren weitergeleitet werden sollen. Der Prüfdatengenerator berechnet dann die gewünschten Prüfdaten, wie zum Beispiel das Paritätsbit, oder eine Signatur. Die Prüfdaten werden dann zusammen mit den Nutzdaten über einen Bustreiber parallel an die Busleitungen 6 übergeben.

In der Datenrückgewinnungseinheit 7 werden die Prüfdaten mit den aus den übertragenen Nutzdaten berechneten Prüfdaten verglichen. Sind diese identisch, so wurde kein Übertragungsfehler erkannt und die Teilworte werden wieder zu einem Wort zusammengesetzt und an den Datenausgang 2 weitergeleitet. Im Falle einer erkannten Verfälschung der übertragenen Daten kann ein Alarm ausgegeben werden, eine neue Datenübertragung angefordert, eine Operation abgebrochen oder Daten verworfen werden.

4 zeigt ein Realisierungsbeispiel bei dem die Datenaufbereitungseinheit 5 und die Datenrückgewinnungseinheit 7 im Detail gezeigt sind. In dem Beispiel wird ein 32-Bit breites Datenwort übertragen, wobei für Datenübertragung mit hoher Integrität 16 Bit für Nutzdaten und 16 Bit für Prüfdaten benutzt werden. Selbstverständlich können auch andere Datenwortbreiten und eine andere Aufteilung der Leitungen 6 zwischen Nutz- und Prüfdaten benutzt werden. Auch ist es ohne weiteres möglich, noch Elemente zur Verschlüsselung oder zum Scramblen der Busleitungen 6, beziehungsweise zur Datenkompression einzusetzen; der Übersicht halber sind diese jedoch ebenso wie die Kontrolllogik 4 nicht gezeigt.

Zunächst wird anhand 4 der Busbetriebsmodus mit hoher Datenübertragungsrate beschrieben. Ein 32-Bit-breites Wort wird in zwei 16-Bit-Teilworte D1 und D2 aufgeteilt und in Register R1 zwischengespeichert. Die Kontrolllogik 4 steuert dabei die Multiplexer M1 und M2 so an, dass das Teilwort D1 über M1 und das Teilwort D2 über M2 an den Bustreiber B übertragen wird. Das ursprüngliche 32-Bit-Datenwort wird so unverändert über die Busleitungen 6 an die Datenrückgewinnungseinheit 7 übertragen und dort in Register R2 zwischengespeichert. Über den Multiplexer M3 wird das Halbwort D2 an das Register R3 weitergeleitet und das ursprüngliche 32-Bit-Datenwort, bestehend aus den Teilworten D1 und D2, am Datenausgang 2 ausgegeben. Es findet keine Prüfdatenberechnung statt, Übertragungsfehler können somit nicht erkannt werden. Da jedoch alle Leitungen 6 zur Datenübertragung eingesetzt werden, ist eine hohe Datenübertragungsrate möglich.

Es wird nun die Datenübertragung im Busbetriebsmodus mit hoher Datenintegrität beschrieben. Das 32-Bit-Datenwort wird dabei wieder im Register R1 zwischengespeichert. Die Übertragung des linken Datenworts D1 zusammen mit den zugehörigen Prüfdaten und des rechten Datenworts D2 mit den zugehörigen Prüfdaten findet sequentiell statt. Sind die Daten bei der Übertragung über die Busleitungen 6 nicht durch Verfälschung oder Datenübertragungsfehler geändert worden, so werden die Halbworte D1 und D2 im Register R3 wieder zu einem 32-Bit-Wort zusammengesetzt und am Datenausgang 2 ausgegeben.

Die einzelnen Schritte der Datenübertragung im Busbetriebsmodus mit hoher Datenintegrität werden nun anhand 4 im Detail beschrieben. Zuerst wird das linke Datenwort D1 über dem Multiplexer M1 übertragen und eine Kopie davon an den Prüfdatengenerator S1 übermittelt. Über den Multiplexer M2 werden die berechneten Prüfdaten weitergeleitet, so dass in dem Bustreiber mit Register B das Halbdatenwort D1 und die zum Halbdatenwort D1 gehörigen Prüfdaten stehen. Nach der Übertragung über die Busleitungen 6 wird in der Datenrückgewinnungseinheit 7 erneut die Signatur des linken Halbwortes D1 in einem zweiten Prüfdatengenerator S2 berechnet und in einem Prüfdatenvergleicher S mit den übertragenen Prüfdaten verglichen. Unterscheiden sich die Prüfdaten, so wird ein Fehler ausgegeben oder ein Alarm ausgelöst. Über den Multiplexer M3 kann nun entweder das Halbwort D1 oder die dazugehörigen Prüfdaten in die rechte Hälfte des Registers R3 geschrieben werden. Was in der rechten Worthälfte des Registers R3 zu diesem Zeitpunkt gespeichert wird, ist unwichtig, da der Inhalt später überschrieben wird. Wichtig ist, dass in der linken Worthälfte von Registers R3 die ursprüngliche linke Worthälfte D1 gespeichert wird.

In einem zweiten Schritt wird die rechte Worthälfte D2 des ursprünglichen Datenwortes aus Register R1 über den Multiplexer M1 weitergeleitet. Eine Kopie wird wieder an den Prüfdatengenerator S1 geleitet und über den Multiplexer M2 an den Bustreiber B. Im Bustreiber B stehen nun die Daten D2 und die dazugehörigen Prüfdaten. Die Daten werden wieder über die Busleitungen 6 an die Datenrückgewinnungseinheit 7 übertragen und im Register R2 gespeichert. Aus dem linken Registerinhalt werden dann wieder die Prüfdaten in einem weiteren Prüfgenerator S2 erzeugt und mit den übertragenen Prüfdaten von D2 im Prüfdatenvergleicher S verglichen. Sind diese identisch, so werden sie weitergeleitet, anderenfalls wird eine Fehlermeldung ausgelöst.

Die linke Hälfte des Registers R3 ist für Schreibzugriffe gesperrt, da sie bereits die linke Worthälfte D1 der ursprünglichen Daten enthält. Die rechte Worthälfte D2 der ursprünglichen Daten wird über den Multiplexer M3 in der rechten Worthälfte des Registers R3 gespeichert, so dass nun im Register R3 die beiden Worthälften D1 und D2 stehen und an den Datenausgang 2 ausgegeben werden können. Anstelle die linke Hälfte des Registers R3 nach dem ersten Schritt für Schreibzugriffe zu sperren, kann auch das ursprüngliche linke Datenwort D1 in einem weiteren Speicher abgelegt und später mit dem rechten Halbwort D2 zu einem 32-Bit Datenwort zusammengesetzt werden.

Die nicht gezeigte Kontrolllogik 4 steuert die Register R1, R2 und R3, den Bustreiber B und die Multiplexer M1, M2 und M3 so an, dass je nach Busbetriebsmodus die Daten mit hoher Datenübertragungsrate oder mit hoher Datenintegrität übertragen werden. Die Aufteilung der Datenleitungen in Nutz- und Prüfdatenleitungen entspricht der Art der Prüfungsdaten, wie zum Beispiel keine Prüfdaten, Paritätsbit, CRC oder Signatur und wird durch das Betriebsmodussignal 3 vorgegeben und durch die Kontrolllogik 4 umgesetzt. Die Kontrolllogik 4 steuert zusätzlich die einzelnen der oben beschriebenen Schritte der Datenübertragung und legt deren zeitlichen Ablauf fest.

1
Dateneingang
2
Datenausgang
3
Betriebsmodussignal
4
Kontrolllogik
5
Datenaufbereitungseinheit
6
Busleitungen
6a
Nutzdaten
6b
Prüfdaten
6x, 6y, 6z
Daten für „2 aus 3"-Entscheidung
7
Datenrückgewinnungseinheit
B
Bustreiber mit Register
D1
linkes Datenwort
D2
rechtes Datenwort
M1, M2, M3
Multiplexer
R1, R2, R3
Register
S
Prüfdatenvergleicher
S1, S2
Prüfdatengenerator


Anspruch[de]
Paralleler Datenbus mit einer Anzahl von Datenleitungen und einer Busbetriebsmodi-Umschalteinrichtung, die zwischen einer Datenübertragung mit hoher Datenübertragungsrate und einer Datenübertragung mit hoher Datenintegrität umschaltet, wobei im Busbetriebsmodus mit einer hohen Datenübertragungsrate die Datenübertragung über sämtliche im Bus zur Verfügung stehenden Leitungen (6) erfolgt und im Busbetriebsmodus mit hoher Datenintegrität ein Teil der Busleitungen (6a) zum übertragen von Nutzdaten und der andere Teil der Busleitungen (6b) zum übertragen der zu den Nutzdaten dazugehörenden Prüfdaten eingesetzt werden, dadurch gekennzeichnet, dass die Aufteilung der Datenleitungen in Leitungen für Nutzdaten und Prüfdaten abhängig von dem zur Erzeugung der Prüfdaten eingesetzten Prüfverfahrens ist. Paralleler Datenbus nach Anspruch 1, dadurch gekennzeichnet, dass beim Übertragen von Daten mit hoher Datenintegrität über den Bus Prüfdatengeneratoren (S1, S2) zum Erzeugen von Prüfdaten aus den Nutzdaten vorgesehen sind. Paralleler Datenbus nach Anspruch 2, dadurch gekennzeichnet, dass ein Prüfdatenvergleicher (S) vorgesehen ist, der übertragene Prüfdaten mit den Prüfdaten der übertragenen Nutzdaten vergleicht. Paralleler Datenbus nach Anspruch 3, dadurch gekennzeichnet, dass die Prüfdaten eine Parität-Prüfsumme der Nutzdaten sind. Paralleler Datenbus nach Anspruch 3, dadurch gekennzeichnet, dass die Prüfdaten eine CRC-Prüfsumme der Nutzdaten sind. Paralleler Datenbus nach Anspruch 3, dadurch gekennzeichnet, dass die Prüfdaten eine Signatur der Nutzdaten sind. Paralleler Datenbus nach Anspruch 3, dadurch gekennzeichnet, dass die Prüfdaten eine oder mehrere Kopien der Nutzdaten sind. Paralleler Datenbus nach Anspruch 7, dadurch gekennzeichnet, dass anhand der Prüfdaten Fehler in den Nutzdaten korrigiert werden. Paralleler Datenbus nach Anspruch 3, dadurch gekennzeichnet, dass Busleitungen (6b), die für das Übertragen von Prüfdaten vorgesehen sind, durch einen Prüfdatengenerator (S1) derart mit Bits belegt werden, dass bei jeder Übertragung eines der Busbreite entsprechenden Wortes über den Bus, jedes Wort eine möglichst gleiche Anzahl von Bits mit High- und Low-Zuständen aufweist. Paralleler Datenbus nach einem der vorigen Ansprüche dadurch gekennzeichnet, dass die Datenleitungen gescrambled sind. Paralleler Datenbus nach einem der vorigen Ansprüche dadurch gekennzeichnet, dass die Daten verschlüsselt über den Datenbus übertragen werden. Paralleler Datenbus nach einem der vorigen Ansprüche dadurch gekennzeichnet, dass die Daten komprimiert über den Datenbus übertragen werden. Paralleler Datenbus nach einem der vorigen Ansprüche dadurch gekennzeichnet, dass die Nutzdaten und die zu den Nutzdaten gehörenden Prüfdaten gleichzeitig übertragen werden. Verfahren zum Betreiben eines parallelen Datenbuses,

bei dem nach Feststellen eines Busbetriebsmodus zwischen einer Datenübertragung mit hoher Datenübertragungsrate und einer Datenübertragung mit hoher Datenintegrität gewählt wird, wobei im Busbetriebsmodus zum Übertragen von Daten mit hoher Datenübertragungsrate alle Leitungen (6) des Busses zum Übertragen von Nutzdaten eingesetzt werden und im Busbetriebsmodus zum Übertragen von Daten mit hohen Datenintegrität ein Teil der Leitungen des Busses (6a) zum Übertragen von Nutzdaten eingesetzt wird, und der restliche Teil der Leitungen (6b) zum Übertragen von Prüfdaten, die aus den auf den anderen Leitungen übertragenen Daten gewonnen werden.

dadurch gekennzeichnet, dass

die Aufteilung der Datenleitungen in Leitungen für Nutzdaten und Prüfdaten abhängig von dem zur Erzeugung der Prüfdaten eingesetzten Prüfverfahrens ist.
Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass die Prüfdaten eine Parität-Prüfsumme der Nutzdaten sind. Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass die Prüfdaten eine CRC-Prüfsumme der Nutzdaten sind. Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass den Prüfdaten Signaturen der Nutzdaten entsprechen. Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass die Prüfdaten eine oder mehrere Kopien der Nutzdaten sind. Verfahren nach Anspruch 18, dadurch gekennzeichnet, dass anhand der Prüfdaten Fehler in den Nutzdaten korrigiert werden. Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass die Leitungen für Prüfdaten (6b) so mit Bits belegt werden, dass bei jeder Übertragung eines der Busbreite entsprechenden Worts über den Bus, jedes Wort eine gleiche Anzahl von Bits mit High- und Low-Zuständen aufweist. Verfahren nach einem der Ansprüche 14 bis 20, dadurch gekennzeichnet, dass die Datenleitungen gescrambled werden. Verfahren nach einem der Ansprüche 14 bis 21, dadurch gekennzeichnet, dass die Daten verschlüsselt über den Datenbus übertragen werden. Verfahren nach einem der Ansprüche 14 bis 22, dadurch gekennzeichnet, dass die Daten komprimiert über den Datenbus übertragen werden. Verfahren nach einem der Ansprüche 14 bis 23, dadurch gekennzeichnet, dass die Nutzdaten und die zu den Nutzdaten gehörenden Prüfdaten gleichzeitig übertragen werden.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

  Patente PDF

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com