-
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.
-
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.
-
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.
-
In
einer bevorzugten Ausführungsform
erfolgt im Modus mit hoher Datenübertragungsrate
die Datenübertragung über sämtliche
im Bus zur Verfügung
stehenden Leitungen. Auf diese Weise werden auch Leitungen für die Datenübertragung
eingesetzt, die ansonsten nur Prüfdaten übertragen
würden.
-
Gemäß einer
Weiterbildung der Erfindung wird im Betriebsmodus der hohen Datenintegrität ein Teil
der Busleitung zum Übertragen
von Prüfdaten und
der andere Teil der Busleitungen zum Übertragen der zu den Nutzdaten
dazugehörigen
Prüfdaten eingesetzt.
Auf diese Weise sind keine zusätzlichen Leitungen
für das Übertragen
von Prüfdaten
erforderlich; es wird vorteilhafterweise ein Teil der Leitungen eines
bereits existierenden Busses dazu eingesetzt.
-
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
dem 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 Übertagungsmodus
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 Übertagungsmodus
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, welcher der drei Teilbusse unveränderte Daten aufweisen und
diese dann ü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 Übertra gung
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üfda tengenerator
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
zu sä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