-
Die Erfindung betrifft eine bidirektionale elektronische Buskommunikationsschaltung gemäß Oberbegriff von Anspruch 1 sowie deren Verwendung.
-
Die Kommunikation zwischen elektronischen Steuergeräten oder Mikrocontrollern erfolgt nicht nur in der Kraftfahrzeugtechnik häufig über eine serielle, synchrone SPI-Schnittstelle (SPI: ”Serial Peripheral Interface”). Eine solche SPI-Buskommunikationsschaltung geht beispielsweise aus der
DE 103 58 974 A1 hervor.
-
Eine Absicherung von mittels SPI übertragenen Daten nach der CRC-Methode (CRC: Cyclic Redundancy Check) wird bereits auf dem Gebiet der elektronischen Speicherkarten vorgenommen. Bei der Datenabsicherung nach dem CRC-Verfahren werden nach Maßgabe eines Generatorpolynoms CRC-Prüfsummen berechnet und den Daten angefügt. Die CRC-Absicherung von Daten ist unter anderem aus der
DE 41 30 907 A1 , der
EP 1 763 168 A1 , der
DE 33 35 397 A1 oder der
WO 2006/058050 A2 an sich bekannt. Bei den erwähnten seriellen SPI-Übertragungsvorgängen erfolgt die CRC-Absicherung der Daten in der Regel mittels in die SPI-Schaltung integrierter Hardwareelemente, was gegenüber einer Software-Absicherung erhebliche Geschwindigkeitsvorteile hat. Je nach Sicherheitsanforderung einer Datenübertragung kann die CRC-Absicherung an oder abgeschaltet werden. Es ist allgemein üblich, dass das Generatorpolynom in der Hardware der SPI-Schaltung fest verankert ist.
-
Dennoch sind auch einfacherere Schaltungen für SPI-Busteilnehmer verbreitet, welche weniger sichere (zum Beispiel nur Paritätsbit-Prüfung) oder gar keine Datenabsicherungsmethoden zur Verfügung stellen. Es kann also zum Beispiel der Fall eintreten, dass ein untergeordneter Busteilnehmer (SPI-Slave) lediglich eine Einrichtung für eine Paritätsabsicherung besitzt, während ein mit dem Slave verbundener SPI-Master die sicherere CRC-Absicherung verwendet. Wenn beide Busteilnehmer nicht für eine alternative Paritätsabsicherungsmethode geeignet sind, kann die Datenübertragung nur ganz ohne eine Datenabsicherung durchgeführt werden.
-
Aus der
WO 02/091593 A1 ist ein Verfahren bekannt, bei dem eine CRC-Hardware die Daten eines Bitstroms mit Prüfdaten absichert. Die Erzeugung der Prüfbits erfolgt dabei seriell. Daher sind zur Bearbeitung eines Datenblocks eine Vielzahl von Taktzyklen notwendig. Die Prüfdatenbildungshardware kann durch Programmierung eines Registers dynamisch konfiguriert werden. In Abhängigkeit der zur Auswahl stehenden CRC-Generatorpolynome werden verschiedene Rückkopplungspfade ausgehend von verschiedenen Stellen eines Schieberegisters vorgesehen. Die Konfiguration wird durch die Auswahl des Rückkoppelungspfades und die Aktivierung von einer Untermenge der vorhandenen XOR-Gatter verwirklicht. Hierdurch wird erreicht, dass die Datenkommunikation nicht nur auf einen bestimmten CRC-Standard (z. B. ein bestimmtes Generatorpolynom) festgelegt ist. Eine Kombination mit anderen Fehlererkennungsverfahren, wie Paritätsprüfung, oder fehlerkorrigierende Verfahren – im allgemein spricht man von ”Error-Correction-Code”(ECC)-Verfahren –, zum Beispiel das ”Single Error Correction Double Error Detection”(SECDEC)-Verfahren, ist allerdings nicht beschrieben.
-
Die gattungsbildende Druckschrift
US 2005/0172199 A1 beschreibt ein System mit den Merkmalen des Oberbegriffs des Anspruchs 1. Weitere artverwandte Systeme bzw. Vorrichtungen sind in den Schriften
US 6,044,485 A sowie
US 4,908,823 A beschrieben. Die
DE 102 16 564 A1 ein Verfahren zum Datenaustausch über einen Power Line Carrier(PLC)-Datenbus.
-
Die Aufgabe der vorliegenden Erfindung besteht nun darin, eine bidirektionale elektronische Buskommunikationsschaltung (z. B. einen SPI-Baustein) mit seriellen Datenübertragungsmitteln anzugeben, welche eine flexible und sich dynamisch anpassende Datenabsicherung der übertragenen seriellen Daten ermöglicht.
-
Diese Aufgabe wird erfindungsgemäß gelöst durch die Buskommunikationsschaltung gemäß Anspruch 1.
-
Die Erfindung beschreibt eine bidirektionale elektronische Buskommunikationsschaltung mit seriellen Datenübertragungsmitteln und eine Chipselektierleitung oder mehrere Chipselektierleitungen, wobei neben den Datenübertragungsmitteln Datenabsicherungsmittel vorhanden sind, mit denen beim Senden Prüfdaten für die zu übertragenden Daten erstellt und mit den Daten übertragen werden und beim Empfangen die Prüfdaten zur Erkennung von Fehlern bei der Datenübertragung herangezogen werden, und wobei eine Anpassung der Datenabsicherungsmittel erfolgen kann. Die erfindungsgemäße Schaltung umfasst dabei zwei alternative oder mehrere alternative Hardware-Datenabsicherungsmittel, die unterschiedliche Absicherungsmethoden zur Datenabsicherung auf dem Bus bereitstellen. Außerdem ist mindestens ein Konfigurationsregister zum Konfigurieren des Datenabsicherungsmittels vorhanden, wobei in Abhängigkeit vom Zustand der einen Chipselektierleitung oder der mehreren Chipselektierleitungen die in dem mindestens einen Konfigurationsregister enthaltenen Konfigurationsdaten dynamisch zur Konfiguration der Absicherungsmethode verwendet werden. Die über den Bus übertragenen Daten werden daher beispielsweise in Abhängigkeit einer Konfiguration der Kommunikationsschaltung entweder entsprechend einem an sich bekannten Absicherungsverfahren abgesichert übertragen oder, wenn die Konfiguration dies festlegt, unabgesichert übertragen. Das Absicherungsverfahren kann zum Beispiel dem CRC-Verfahren entsprechen oder einem anderen an sich bekannten Absicherungsverfahren, wie zum Beispiel der Paritätsprüfung. Das Absicherungsverfahren kann jedoch auch zum Beispiel ein ECC-Verfahren sein, welches neben einer Datenabsicherung auch eine Korrektur der Daten erlaubt.
-
Die bidirektionale elektronische Buskommunikationsschaltung nach der Erfindung ist bevorzugt für den Betrieb einer SPI-Übertragung ausgelegt und umfasst daher insbesondere zumindest vier Signalleitungen, wovon eine Leitung zum Senden von Daten und eine Leitung zum Empfangen von Daten verwendet wird. Die beiden übrigen Leitungen sind Steuerleitungen.
-
Dabei werden, wenn die Absicherung konfiguriert ist, vorzugsweise die Daten mittels Prüfdaten abgesichert und über den seriellen Datenbus vom Sender zum Empfänger übertragen. Im Empfänger werden die Daten dann je nach Absicherungsmethode zumindest teilweise aufbereitet und mit den übertragenen Prüfdaten zur Erkennung von Übertragungsfehlern verglichen. Dabei werden im Sender bei der Erzeugung der Prüfdaten und im Empfänger bei der Aufbereitung der Daten die gleiche Prüfdatenbildungsmethode zu Grunde gelegt. Es ist weiterhin bevorzugt, dass die Prüfdatenbildung/-aufbereitung mittels Hardwaremitteln erfolgt.
-
Bevorzugt erfolgt durch die oben erwähnten Hardwaremittel eine Bildung der Prüfdaten parallel, insbesondere taktsynchron. Durch die parallele Bildung der Prüfdaten liegen somit die Prüfbits für alle Datenbits im wesentlichen gleichzeitig vor. Hierdurch ergibt sich eine gegenüber einer seriellen Prüfdatenbildung beschleunigte Verarbeitung und einfachere Steuerung der Prüfdatenhardware.
-
Bevorzugt umfasst die Schaltung nach der Erfindung ein Konfigurationsmittel. Damit kann eine flexiblere Anpassung der Datenübertragungssicherheit zum Beispiel bei einer SPI-Datenübertragung erreicht werden. Dabei wird jedoch nicht, wie aus der
WO 02/091593 A1 bekannt, lediglich eine Modifikation der CRC-Generatorpolynome vorgenommen, sondern es kann darüberhinaus, falls überhaupt eine Absicherung erfolgen soll, zwischen zwei oder mehreren alternativen Hardware-Datenabsicherungsmittel umgeschaltet werden. Wie bereits weiter oben erwähnt, schließt dies nicht aus, dass die Schaltung auch so konfiguriert werden kann, dass keine Datenabsicherung aktiviert ist. Somit ergibt sich eine serielle Kommunikationsschaltung, deren Datenabsicherung ausgesprochen flexibel ist.
-
Die erfindungsgemäße Lösung besitzt den Vorteil, dass zusätzliche Fehlererkennungsmechanismen wie Paritätsprüfung oder fehlerkorrigierende Verfahren wie SECDED (Single Error Correction Double Error Detection) ohne großen Hardware-Aufwand ebenfalls neben einer CRC-Absicherung von der Kommunikationsschaltung gehandhabt werden können. Ferner besitzt die Einfachheit der Schaltung nach der Erfindung den Vorteil, dass sich diese gegenüber komplexeren Schaltungen verhältnismäßig einfach auf Fehler der Hardware hin überwachen lässt.
-
Vorzugsweise umfasst die Schaltung nach der Erfindung zusätzliche Hardwareüberwachungsmittel zum Überwachen eines Fehlers der Datenabsicherungshardwaremittel.
-
Die Schaltung ist bevorzugt so ausgeführt, dass die Datenabsicherungsmethoden auch abgeschaltet werden können, so dass sich auch Daten ohne eine Absicherung übertragen lassen.
-
Gemäß einer bevorzugten Ausführungsform der Kommunikationsschaltung sind mehrere Speicherplätze oder Register zur Konfiguration der Datenabsicherung für mehrere Busteilnehmer vorhanden. Die Speicherplätze bilden dabei eine logische Matrix mit einer bestimmten Anzahl von Zeilen und einer bestimmten Anzahl von Spalten. Dabei ist die für das fehlererkennende und -korrigierende ECC-Verfahren verwendete Matrix bezüglich Inhalt und/oder Größe vorzugsweise variabel. Auf diese Weise kann beispielsweise ein SPI-Master-Baustein geschaffen werden, welcher im Wechsel Daten mit SPI-Slaves austauschen kann, welche unterschiedliche oder keine Datenabsicherungsmethode unterstützen. Dabei wird die Methode der Datenabsicherung bevorzugt dynamisch in Abhängigkeit des Busteilnehmers umgeschaltet. Auf diese Weise ist es möglich, die Sicherheitsfunktionalität seitens des SPI-Masters so flexibel zu gestalten, dass beliebige Sicherheitsstufen für die einzelnen SPI-Übertragungspfade realisierbar sind. Hierfür richtet sich die im SPI-Master dynamisch durchzuführende Konfiguration nach der Sicherheitsanforderung des betrachteten SPI-Übertragungspfades sowie nach der Ausgestaltung des betroffenen SPI-Slave aus. Während der Konfiguration wird zuerst die Art der Sicherheitsfunktion bestimmt. Hierbei stellt die Wiederverwendung der gleichen Architektur für die Realisierung verschiedener Arten von Sicherheitsfunktionen einen besonderen Vorteil der vorliegenden Erfindung dar. Je nach Bedarf können die Sicherheitsfunktionen immer noch nach der Anfertigung von integrierten Schaltkreisen angepasst werden. Folgende Arten von Sicherheitsfunktionen stehen in der Konfiguration beispielsweise zur Auswahl:
- – Gerade oder ungerade Paritätsprüfung,
- – CRC-Prüfung mit beliebigem Polynom und
- – ECC-Prüfung (Error Correction Code) wie zum Beispiel Hamming- oder Odd-Weight-Code mit beliebiger Codierungsmatrix.
-
Nachdem die Art der Sicherheitsfunktion ausgewählt ist, werden die Konfigurationsregister der zu realisierenden Funktion entsprechend aufgefüllt. Für jedes anzufügende Prüfbit wird bevorzugt ein Konfigurationsregister verwendet. Jedem Konfigurationsregister entspricht dann insbesondere die Anzahl der Bits der Länge des Nutzdatentelegramms der betrachteten SPI-Datenübertragung. Falls P Prüfbits beispielsweise zu einem R Bits langen SPI Datentelegram angefügt werden, lassen sich die Prüfbits
x
1 (1 ≤ i ≤ P)
ausgehend von den Datenbits
D
j (1 ≤ j ≤ R) und den Konfigurationsbits
C
ij (1 ≤ i ≤ P und 1 ≤ j ≤ R)
beispielsweise wie folgt berechnen:
-
Die Konfigurationsbits Cij, welche eine Matrix bilden, nehmen dabei entweder den logischen Wert ”0” oder ”1” an, je nach ausgewählter Sicherheitsfunktion. Während ein SPI-Master abwechselnd verschiedene SPI-Slaves bedient, werden die Konfigurationsbit synchron zu den zu sendenden Datenbits angepasst.
-
Gemäß einer bevorzugten Ausführung richtet sich die Anpassung von Konfigurationsbit nach der Auswahl der SPI-Selektierleitungen (CS: Chip Select).
-
Nach einer weiteren bevorzugten Ausführungsform wird die Konfigurationsmatrix (zum Beispiel die oben erwähnten Register oder Speicherplätze für die Konfiguration) auch zur Absicherung der SPI-Selektierleitungen genutzt. Dabei muss die Konfigurationsmatrix nicht notwendigerweise zweidimensional sein. Die Absicherung der SPI-Selektierleitungen wird insbesondere dadurch erreicht, dass verschiedene Absicherungsschemata (zum Beispiel unterschiedliche CRC-Polynome und/oder unterschiedliche ECC-Matrizen) für vorhandene SPI-Slaves verwendet werden. Hierdurch kann erreicht werden, dass im wesentlichen alle auftretenden Fehler bei der Auswahl der SPI-Selektierleitungen erkannt werden. Falls das gleiche CRC-Polynom für zwei oder mehrere SPI-Slaves eingesetzt wird, sollten zweckmäßigerweise zumindest die Anfangswerte unterschiedlich sein. Eine geeignete Auswahl von Absicherungsschemata sorgt dafür, dass Prüfbits auch bei gleichen Sequenzen von Nutzbits Unterschiede je nach selektiertem SPI-Slave aufweisen.
-
Gemäß einer alternativ bevorzugten Ausführungsform zur Absicherung von SPI-Selektierleitungen wird vorgeschlagen, eine Zuordnung von Kennungen (ID) zu den SPI-Slaves vorzunehmen.
-
Dabei ist vorgesehen, dass für jede SPI-Übertragung die Kennung dem SPI-Master und dem betroffenen SPI-Salve bekannt ist. Die Kennung wird dabei insbesondere in die Berechnung von Prüfbits einbezogen. Besonders bevorzugt wird diese aber nicht übertragen, um eine Reduzierung der effektiven Datenrate zu vermeiden. Für eine zum Beispiel aus drei Bits bestehende Kennung bei 8-bit langen SPI Telegrammen werden die Prüfbits für die folgende Sequenz beispielsweise nach folgendem Muster berechnet:
K0 K1 K2 D0 D1 D2 D3 D4 D5 D6 D7,
wobei K0 bis K2 Kennungsbits sind und D0 bis D7 die zu sendenden Nutzbits darstellen.
-
Gesendet wird nach diesem Beispiel die Sequenz:
D0 D1 D2 D3 D4 D5 D6 D7 C0 C1...CP,
wobei die C0 bis CP die Prüfbits darstellen. Bei gleichen Sequenzen von Nutzbits und gleichem Absicherungsschema werden die Prüfbits unterschiedlich je nach ausgewähltem SPI-Slave sein, da verschiedene Kennungen implizit in die Berechnung von Prüfbits eingegangen sind.
-
Die Erfindung bezieht sich schließlich auch auf die Verwendung der Buskommunikationsschaltung in Kraftfahrzeugsteuergeräten, insbesondere in elektronischen Kraftfahrzeugbremssystemen oder elektronischen Kraftfahrzeugssicherheitssystemen.
-
Weitere bevorzugte Ausführungsformen ergeben sich aus den Unteransprüchen und der nachfolgenden Beschreibung von weiteren Ausführungsbeispielen an Hand der Figuren.
-
Es zeigen
-
1 eine schematische Darstellung zweier kommunizierender SPI-Busteilnehmer,
-
2 eine Darstellung der Signalleitungen bei einer Zusammenschaltung eines Busmasters mit vier untergeordneten Busteilnehmern (Slaves),
-
3 eine schematische Darstellung eines SPI-Masters mit Konfigurationsmitteln,
-
4 eine weitere schematische Darstellung eines SPI-Masters mit einer Überwachung der Datenabsicherungsschaltung,
-
5 einen SPI-Master mit zusammengefasster Überwachungsschaltung,
-
6 logische Verknüpfungen der Konfigurationsbits mit den zu sendenden Bits eines SPI-Datentelegramms,
-
7 eine beispielhafte Darstellung der binären Inhalte von Konfigurationsregistern für 8-Bit lange SPI-Datentelegramme mit einem vorgegebenen CRC-Polynom,
-
8 eine Darstellung der binären Inhalte von Konfigurationsregistern für SPI-Datentelegramme mit einer Länge von 8 Bit, die mit einem SECDED(13,8)-Code geschützt sind und
-
9, 10 Beispiele für das Anfügen von Quittungsbits.
-
1 zeigt ein schematisches Blockschaltbild eines Bus-Masters 101 (SPI-master), der mit einem untergeordneten Busteilnehmer 102 (SPI-slave) über einen seriellen synchronen Bus 103 (SPI) zum Austausch von Daten verbunden ist. SPI-Master 101 kann Teil eines Mikrocontrollers (μC) 100 sein.
-
Die Busanordnung in 2 zeigt einen Bus-Master 101, der mit mehreren (im Beispiel vier) untergeordneten Busteilnehmern 102 verbunden ist. Bei einer SPI-Datenübertragung erfolgt der Datenaustausch über vier Leitungen (CS, MOSI, MISO und SCLK). Der Datentransfer in der Richtung von Master 101 zu Slave 102 (”Senden”) erfolgt über Leitung MOSI (Master-Out, Slave-In). Die von Slave 102 erzeugten Daten werden über Leitung MISO (Master-In, Slave-Out) an Master 101 übertragen (”Empfangen”). Die untergeordneten Busteilnehmer 102 können über separate Auswahlleitungen CS (Chip Select) ausgewählt werden. Das Taktsignal wird vom SPI-Master über Leitung SCLK bereitgestellt. Synchron zum Taktsignal werden SPI-Datentelegramme an den Datenleitungen MOSI und MISO ausgegeben. Der SPI-Takt wird in der Regel vom Takt des SPI-Masters mittels eines Teilers 104 abgeleitet. Der bidirektionale Bus ist so angebunden, dass die Schieberegister 105 gleichzeitig Datenbits ausgeben und ankommende Datenbit annehmen. Somit liegen die empfangenen Datenbits nach dem Datentransfer im gleichen Register wie die zuletzt gesendeten Datenbits. Die SPI-Datenübertragung zwischen Master und Slave lässt sich flexibel konfigurieren. So können beispielsweise die Länge eines Datentelegrammes, die Übertragungsgeschwindigkeit oder die Polarität des Taktsignals individuell eingestellt werden.
-
In 3 ist eine modifizierte SPI-Kommunikationsschaltung schematisch dargestellt. Register 203 umfasst drei Datenbereiche. In Bereich 200 sind die über den SPI Bus zu sendenden Bits eingetragen. Bereich 201 enthält Steuerungsbits zur Konfiguration, welche beispielsweise vom μC 100 gesetzt werden können. Bereich 202 enthält die über den SPI-Bus empfangenen Bits. In Abhängigkeit der Konfiguration der Bits in Bereich 201 erfolgt eine Auswahl der Datenabsicherungshardware durch Schaltungsblock 205 (z. B. Multiplexer). In Block 205 befindet sich auch ein Controller, der die Steuerleitungen 216, 217 und 217 treibt. Je nach Konfiguration erfolgt die Datenaufbereitung durch ECC-, CRC- oder Paritätsberechnung in Schaltkreis 204. In Block 208 werden die so erzeugten Prüfdaten oder Prüfbits den zu sendenden Bits angefügt. Danach werden die zu sendenden Daten in das Ausgangsschiebregister 209 eingetragen, welches mit Leitungen MOSI und MISO verbunden ist. Beim Empfang von Daten erfolgt analog eine Prüfung der empfangenen Daten in Block 207 unter Zuhilfenahme der Paritäts- oder Prüfdateninformation. In Block 215 werden Paritäts- oder Prüfdateninformation entfernt. Die empfangenen Daten werden durch Block 215 in Registerbereich 202 eingetragen.
-
Die SPI-Kommunikationsschaltung in 4 ist gegenüber der Schaltung in 3 mit einer Überwachungseinrichtung 220 erweitert. Überwachungseinrichtung 220 überwacht die korrekte Funktion der Datenabsicherungsschaltung 207 auf dem Empfangspfad. In der Schaltung gemäß 3 kann Block 207 stets überprüfen, ob Block 204 auf der Sendeseite fehlerfrei Paritäts- oder Prüfdateninformationen erzeugt. Auf diese Weise lässt sich ein Fehler in der Datenabsicherungsschaltung 204 bereits im sendenden Knoten erkennen. Die Überwachungseinrichtung 220 ist zweckmäßigerweise im Bereich von Block 204 angeordnet. Darüber hinaus lassen sich mit Block 220 auch die Nutzdaten prüfen. Insbesondere für eine Datenabsicherung mittels SECDED ist dies von Vorteil. Bekanntlich können SECDED-Verfahren Einzelbitfehler erkennen und korrigieren. Außerdem erlaubt dieses Verfahren in der Regel auch die Erkennung von Zweibitfehlern und eine gerade Anzahl von Bitfehlern. Bei einer ungeraden Anzahl von Bitfehlern (größer als zwei) kann es in seltenen Fällen vorkommen, dass das SECDED-Verfahren diesen als einen Einzelbitfehler interpretiert und dann fälschlicherweise korrigiert. In diesem Fall kann Block 220 die falsche Korrektur erkennen und somit die Sicherheit der Übertragung wesentlich erhöhen. Hierzu umfasst die Schaltung in 4 bevorzugt redundante Sätze von Konfigurationsregistern in Block 205. Dadurch wird eine Unabhängigkeit zwischen den Konfigurationsbits der zwei Prüfungspfade gewährleistet.
-
Für manche Anwendungen kann bereits eine niedrigere Überwachungsstufe ausreichend sein. In diesem Fall kann die Implementierung des vorstehend beschriebenen Prinzips, wie in 5 gezeigt, vereinfacht durchgeführt werden, indem die im wesentlichen die gleiche Datenabsicherungsschaltung sowohl für den Sende-, als auch für den Empfangspfad vorgesehen wird. Hierzu wird die Generierung der Paritäts- oder Prüfdateninformationen während eines Sendevorgangs und das Erzeugen des Fehlersignals 231 nach dem Empfang von Daten in einer gemeinsamen Datenabsicherungsschaltung 230 zusammengefasst.
-
In 6 ist schematisch ein Speicherbereich 205 mit Konfigurationsregistern 251 der Anzahl N dargestellt. Ein Register hat eine Breite von M Bits. Auf diese Weise ergibt sich eine Bitmatrix mit N Zeilen und M Spalten. Die in den Registern 251 enthaltenen Bits werden durch die logischen Hardware-Operatoren 255 mit den zu sendenden Bits in Register 200 je nach Konfiguration durch Verwendung unterschiedlicher logischer Operationen (z. B. UND, XODER, etc.) verknüpft. Dabei wird für jedes Prüfbit ein Konfigurationsregister 251 mit einem bestimmten Inhalt beschrieben, der aus dem CRC-Polynom, aus der zu erzielenden Parität oder aus den logischen ECC-Gleichungen oder der ECC-Matrix ermittelt wird. Je nach Konfiguration der Register werden also die zum Einsatz kommenden logischen Hardware-Operatoren dynamisch ausgewählt.
-
Aus 7 ist der Inhalt des logischen Inhalts eines Konfigurationsregisters 251 am Beispiel eines 8-bit langen SPI-Datentelegramms dargestellt, wenn dabei das CRC-Polynom X3 + X + 1 mit einem binären Anfangswert von ”000” verwendet wird. In Block 209 stellen die Bits D0 bis D7 die zu sendenden Bits und C0, C1 bis C2 die CRC-Prüfbits dar.
-
In 8 ist ein Beispiel für die logischen Inhalte der Konfigurationsregister 251 dargestellt, wenn ein 8-bit SPI-Telegramm verwendet wird, das mit einem SECDED (13,8) ”Odd-Weight Column”-Code geschützt ist. Der Vorteil einer Prüfdatenkodierung mit SECDED besteht in der höheren Verfügbarkeit der übertragenen Daten, wenn eine hohe Anzahl von Einzelbitfehlern vorliegt.
-
9 und 10 erläutern das erfindungsgemäß vorgeschlagene Anfügen von Quittungsbits („Acknowledge Bit”) an die übertragenen SPI-Telegramme. Hierdurch kann ein erkannter Übertragungsfehler dem sendenden Knoten (SPI Master oder Slave) mitgeteilt werden, wodurch sich eine verbesserte Übertragungssicherheit erzielen lässt. Im Beispiel gemäß 9 wird das Quittungsbit direkt nach den übertragenen Prüfbits angefügt. Dabei wird bevorzugt eine Selektiermöglichkeit vorgesehen, die das wahlweise Anfügen von Quittungsbits erlaubt. Dies erfolgt durch Ansteuerung der Multiplexer 402 und 404. Für den Senderpfad wird das Fehlersignal 206, 221 oder 231 in das ”MOSI Ack”-Register 403 eingespeist. Der Ausgang dieses Register teilt dem aktiven SPI-Slave mit, ob die gerade über MISO Leitung empfangenen Datenbits fehlerfrei übertragen worden sind. Über den Inhalt von ”MISO Ack” Register 401 erfährt der SPI-Master am Ende einer SPI-Übertragung auf ähnliche Weise, ob die zuvor gesendeten Daten fehlerfrei vom aktiven SPI Slave empfangen worden sind. Dementsprechend kann der sendende Knoten frühzeitig auf Mitteilungen von Übertragungsfehlern reagieren. Hierbei kann beispielsweise eine Übertragung von Daten wiederholt werden.
-
In 10 ist der zeitliche Verlauf der Signale auf den Leitungen ”SCLK”, ”CS”, ”MOSI” und ”MISO” bei der SPI-Übertragung mit Quittungsbits dargestellt. SPI-Master und Slave teilen sich dabei gleichzeitig mit, ob die gerade abgeschlossene Datenübertragung fehlerfrei abgewickelt wurde. Das Bit ”MOSI Ack” 451 wird auf Leitung ”MOSI” gesendet und bezeichnet den Prüfzustand der Bits R0 bis R7 sowie S0 bis S4, die über Leitung ”MISO” gerade gesendet wurden. Analog wird das Bit ”MISO Ack” 453 auf Leitung ”MISO” gesendet. Bit ”MISO Ack” 453 bezeichnet den Zustand der Prüfung von Bits D0 bis D7 sowie C0 bis C4, welche über Leitung ”MOSI” übertragen wurden.