DE112007001991T5 - Verfahren und System zum Validieren eines Schreibvorgangs für eine Baugruppe auf einem seriellen Bus - Google Patents
Verfahren und System zum Validieren eines Schreibvorgangs für eine Baugruppe auf einem seriellen Bus Download PDFInfo
- Publication number
- DE112007001991T5 DE112007001991T5 DE112007001991T DE112007001991T DE112007001991T5 DE 112007001991 T5 DE112007001991 T5 DE 112007001991T5 DE 112007001991 T DE112007001991 T DE 112007001991T DE 112007001991 T DE112007001991 T DE 112007001991T DE 112007001991 T5 DE112007001991 T5 DE 112007001991T5
- Authority
- DE
- Germany
- Prior art keywords
- message
- byte
- checksum
- client
- sender
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0094—Bus
Abstract
Verfahren, das aufweist:
Berechnen eines ersten Prüfsummenbytes durch einen Absender einer Nachricht;
Anhängen des ersten Prüfsummenbytes an eine Nachricht;
Senden der Nachricht von dem Absender an einen Client über einen seriellen Eindraht-Bus;
Bestimmen, durch den Client, einer Gültigkeit der Nachricht von dem Absender, indem das erste Prüfsummenbyte mit einer zweiten Prüfsumme, die von dem Client berechnet wird, verglichen wird.
Berechnen eines ersten Prüfsummenbytes durch einen Absender einer Nachricht;
Anhängen des ersten Prüfsummenbytes an eine Nachricht;
Senden der Nachricht von dem Absender an einen Client über einen seriellen Eindraht-Bus;
Bestimmen, durch den Client, einer Gültigkeit der Nachricht von dem Absender, indem das erste Prüfsummenbyte mit einer zweiten Prüfsumme, die von dem Client berechnet wird, verglichen wird.
Description
- HINTERGRUND
- Ein Eindraht-Bus kann verwendet werden, um Daten zwischen Host- und Client-Baugruppen zu kommunizieren. Befehle, die zwischen den Host- und den Client-Baugruppen kommuniziert werden, können in manchen Fällen einen wesentlichen betrieblichen Einfluss auf den Host, die Client-Baugruppen und zugeordnete Baugruppen, Systeme, Plattformen und Betriebsumgebungen haben. Im Allgemeinen können Daten zwischen den Host- und den Client-Baugruppen geschrieben und gelesen werden. In manchen Fällen kann eine Nachricht, die einen Befehl enthält, von dem Host an eine oder mehrere der Client-Baugruppen gesendet werden, um eine Tätigkeit durch die Client-Baugruppen aufzurufen. Aufgrund von Fehlern in der Kommunikation kann es sein, dass eine Nachricht, die über den Eindraht-Bus verschickt wird, nicht richtig von einer Client-Baugruppe erhalten wird, und/oder Daten, die von der Client-Baugruppe zurückgegeben werden, können unrichtig sein.
- Gemäß einigen Schreib-Lese-Protokollen kann ein Absender einer Nachricht (z. B. ein Host) eine Angabe erhalten, dass eine ins Ziel gefasste Client-Baugruppe die Nachricht richtig empfangen hat und Daten, die von der Client-Baugruppe zurückgegeben werden, richtig sind. Jedoch kann die Client-Baugruppe weiterhin eine ungültige Nachricht akzeptieren und nach ihr handeln, basierend auf einem Kommunikationsfehler, den die Client-Baugruppe selbst nicht erfassen kann.
- KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist eine beispielhafte Veranschaulichung eines Systems gemäß einigen Ausführungsformen hierin; -
2 ist eine beispielhafte Veranschaulichung einer Nachricht in Bezug auf einige Ausführungsformen hierin; -
3 ist ein Ablaufdiagramm eines Prozesses gemäß einigen Ausführungsform hierin; -
4 ist eine beispielhafte Veranschaulichung einer Nachricht, die sich auf einige Ausführungsformen hierin bezieht; -
5 ist ein Ablaufdiagramm eines Prozesses gemäß einigen Ausführungsformen hierin; und -
6 ist eine beispielhafte Veranschaulichung eines Systems gemäß einigen Ausführungsformen hierin - GENAUE BESCHREIBUNG
- Die verschiedenen Ausführungsformen, die hierin beschrieben sind, dienen lediglich dem Zweck der Veranschaulichung. Ausführungsformen können jedwede gegenwärtig verfügbaren oder hiernach bekannten Versionen der Elemente, die hierin beschrieben sind, umfassen. Daher werden Fachleute aus dieser Beschreibung erkennen, dass andere Ausführungsformen mit verschiedenen Modifikationen und Abänderungen in die Praxis umgesetzt werden können.
- Mit Bezug auf
1 ist dort ein beispielhaftes schematisches Schaubild eines Kommunikationssystems100 gemäß einigen Ausführungsformen hierin mit einem Eindraht-Bus gezeigt. Bei manchen Ausführungsformen kann ein Bus130 einen seriellen Eindraht-Bus umfassen. Ein Host105 ist mit dem Bus130 verbunden. Eine Vielzahl von Client-Baugruppen110 ,115 ,120 und125 ist ebenfalls mit dem Bus130 verbunden. Der Host105 und die Client-Baugruppen110 ,115 ,120 und125 können digitale Daten zwischen dem Host und den Client-Baugruppen über den Bus130 transportieren. Eine oder mehrere Client-Baugruppen, so wie zum Beispiel die Client-Baugruppen110 und115 , können feste Adressen haben. Eine oder mehrere Client-Baugruppen, so wie zum Beispiel die Client-Baugruppen120 und125 , können dynamisch zugewiesene Adressen haben. Somit können manche Ausführungsformen des Systems100 eine Kombination von Client-Baugruppen mit festen und dynamisch zugeordneten Adressen umfassen. - Obwohl das System mit einem Eindraht-Bus, das in der
1 gezeigt ist, einen Host und mehrere Client-Baugruppen umfasst, können einige Ausführungsformen eines Systems100 einen Host und eine Client-Baugruppe umfassen. Bei manchen Ausführungsformen kann das System100 einen Absender von Nachrichten umfassen und bei anderen Ausführungsformen kann das System100 mehrere Absender von Nachrichten umfassen. - Bei manchen Ausführungsformen entspricht eine Nachricht für den Bus
130 des Systems100 einem Protokoll, das einen Nachrichtenkopf und Daten umfasst. Das Nachrichtenprotokoll kann die Datengeschwindigkeit der Nachricht einstellen, Information im Hinblick auf die Nachricht zur Verfügung stellen und die Datenintegrität sicherstellen. Zum Beispiel kann eine Zeitverhandlung verwendet werden, um eine Bitrate für die Nachricht einzurichten, eine Adresse einer Ziel-Client-Baugruppe kann festgelegt werden und weitere Eigenschaften der Nachrichten können in dem Nachrichtenkopf der Nachricht zur Verfügung gestellt werden. -
2 zeigt ein beispielhaftes Schreib-Lese-Protokoll200 gemäß einigen Ausführungsformen hierin. Insbesondere sorgt das Schreib-Lese-Protokoll200 für den Nachrichtentransport zwischen den Baugruppen auf dem Bus130 . Das Schreib-Lese-Protokoll200 schreibt zunächst Daten zwischen einem Absender einer Nachricht (z. B. dem Host105 ) und einem Ziel-Client (z. B. einem oder mehreren der Clients110 ,115 ,120 und125 ). - Entsprechend dem Schreib-Lese-Protokoll
200 umfasst eine Nachricht einen Nachrichtenkopf und Datenkomponenten. Der Nachrichtenkopf umfasst Zeitverhandlungs(TN – Timing Negotiation)-Bits205 für die Adresse, die die Bitrate für den Adressteil der Nachricht einstellen (2 Bit); eine Ziel-Adresse210 , die die Adresse der Zielbaugruppe festlegt (8 Bit); ein Nachrichtenzeit(MT – Message Timing)-Verhandlungsbit215 , das verwendet wird, um die Zeitplanung zwischen dem Absender der Nachricht und den ins Ziel gefassten (z. B. adressierten) Client-Baugruppe(n) für den verbleibenden Teil der Nachricht zu behandeln (1 Bit); eine Schreiblänge220 , das N Bytes der Daten festlegt, die der Absender plant abzusenden (8 Bit); und eine Leselänge225 , die M Bytes aus Daten festlegt, die der Absender erwartet zu empfangen (8 Bit). Die N Bytes der Schreibdaten230 –240 sollen in die Ziel-Baugruppe geschrieben werden und die M Bytes der Lesedaten250 –255 sollen von dem Ziel-Client zurückgelesen werden. - Bei manchen Ausführungsformen kann sowohl die Schreiblänge als auch die Leselänge Null sein. In einem solchen Fall wird die Nachricht als eine Nullnachricht bezeichnet und definiert einen Baugruppen-'Ping', der von allen Baugruppen unterstützt wird, die mit dem Bus
130 verbunden sind. - Die Schreibdaten, die N Bytes mit Daten aufweisen, können als Option einen Befehl enthalten. Bei manchen Ausführungsformen ist der Befehl das erste Byte
230 der Schreibdaten. - Bei manchen Ausführungsformen erfordert jede Nachricht wenigstens ein Prüfsummenbyte für einen Frame. Das Prüfsummenbyte stellt einen Mechanismus zur Verfügung, um ein zuverlässiges Austauschen von Daten zwischen dem Absender und dem/den ins Ziel gefassten Client(s) sicherzustellen. Der Absender der Nachricht und die Client-Baugruppe(n) führen beide Prüfsummenberechnungen durch. Bei manchen Ausführungsformen können die Prüfsummenbytes hierin als ein Ergebnis einer Frame-Prüfsequenz (FCS – Frame Check Sequence) in einer zyklischen Redundanzprüfung (CRC – Cyclic Redundancy Check) für 8 Bit bei jedem Datenblock, die der CRC vorangeht, erhalten werden.
- Bei manchen Ausführungsformen kann die zyklische Redundanzprüfung für 8 Bit, die von der Schreib-FCS und der Lese-FCS verwendet wird, hierin durch das Polynom C(x) = x8 + x2 + x + 1 dargestellt werden. Es sollte verstanden werden, dass die CRC, die bei der Berechnung der Prüfsummen hierin verwendet wird, andere CRCs als das Polynom CRC-8 enthalten kann.
- Die Schreib-FSC in der Nachricht schließt bei manchen Ausführungsformen die TN-Bits
205 oder die MT-Bits215 nicht ein. Die Schreib-FCS245 schließt jedoch das Adressbyte210 , ein Schreiblängenbyte220 und ein Leselängenbyte225 bei ihrer Berechnung ein. - Bei manchen Ausführungsformen wird ein Byte
245 für die Schreib-FCS an den Absender105 der Nachricht von dem ins Ziel gefassten Client zurückgegeben, nachdem der Nachrichtenkopf und die N Datenbytes (z. B.230 –240 ) geschrieben sind. Das Schreiblängenbyte in dem Nachrichtenkopf wird von dem ins Ziel gefassten Client verwendet, um zu bestimmen, wann der ins Ziel gefasste Client die Schreib-FCS zurückgeben sollte. Der ins Ziel gefasste Client (z. B. der Client110 ) ist aufgefordert, die Schreib-FCS über den Nachrichtenkopf zurückzugeben, selbst wenn das Schreiblängenfeld Null ist (d. h. keine zusätzlichen Datenbytes geschrieben sind). - Wenn Daten von dem/den Ziel-Client(s) gelesen werden, folgt den gelesenen Daten (z. B. den Bytes
250 –255 ) eine Lese-FCS260 . Das Byte260 der Lese-FCS wird von dem Ziel-Client getrieben. Das Byte225 für die Leselänge wird von dem Ziel-Client verwendet, um die Anzahl der Datenbytes zu bestimmen, die der Client an den Absender der Nachricht liefern muss, bevor die Lese-FCS260 über diese Daten zurückgegeben wird. Die Schreib-FCS245 und die Lese-FCS260 sind nicht als ein Teil der Leselänge enthalten. - Die Schreib-FCS
245 und die Lese-FCS260 werden von dem/den Ziel-Client(s) geliefert und getrieben. Diese FCSs, die von dem Ziel-Client an den Absender geliefert werden, versorgen den Absender105 mit Mechanismen, um festzustellen, ob ein Schreibvorgang erfolgreich ist und ob Lesedaten richtig empfangen worden sind. - Bei manchen Ausführungsformen hierin wird eine Prüfsumme
240 über ein gesichertes Schreiben (AW – Assured Write) der FCS an den Nachrichtenkopf und die Schreibdaten angehängt. Die Prüfsumme240 kann von dem Ziel-Client verwendet werden, um die Inhalte der Nachricht zu validieren, der Ziel-Client kann somit die AW FCS240 verwenden, um Inhalte der Nachricht zu verifizieren, bevor die Client-Baugruppe aufgrund der Nachricht tätig wird. - Bei manchen Ausführungsformen ist die AW (Assured Write) FCS
240 das Ergebnis einer zyklischen Redundanzprüfung (CRC) für 8 Bit. Bei manchen Ausführungsformen kann die AW FCS240 dasselbe Polynom C(x) = x8 + x2 + x + 1 bei der zyklische Redundanzprüfung für 8 Bit verwenden, das bei der Berechnung der Schreib-FCS245 und der Lese-FCS260 verwendet wurde. - Es wird angemerkt, dass die CRC, die bei der Berechnung der AW FCS
240 verwendet wird, andere CRCs als das Polynom CRC-8 verwendet kann. Es wird auch angemerkt, dass das Anhängen einer CRC-8 und dann das Neuberechnen einer CRC-8 eine Tautologie ist, die, in dem Fall, dass ein einziger CRC-Generator in der Client-Baugruppe verwendet wird, immer zu einer Null führt. Bei manchen Ausführungsformen hierin kann die Client-Baugruppe zum Beispiel für Zwecke der einfachen Implementierung und/oder von Kostenbeschränkungen einen CRC-Generator enthalten. Bei manchen beispielhaften Fällen kann eine Nachricht von dem Absender105 der Ziel-Baugruppe für die Nachricht befehlen, eine Tätigkeit auszuführen, so wie zum Beispiel das Konfigurieren des Ziel-Client, über eine Zeitdauer abzuschalten. Ohne irgendein Verfahren, einen Mechanismus oder ein System, um die Inhalte der Nachricht zu verifizieren, kann der Ziel-Client irreversible oder möglicherweise schädliche Tätigkeiten als Antwort auf nicht korrekte oder ungültige Nachrichten ausführen. Die AW FCS240 vereinfacht es dem Ziel-Client, die Gültigkeit der Nachricht zu verfizieren, bevor der Ziel-Client auf die Nachricht reagiert. Auf diese Weise kann der Ziel-Client des vorangegangenen Beispiels zum Beispiel vermeiden, dass er sich fälschlich selbst vom Bus nimmt. - Noch mit Bezug auf die
2 ist die AW FCS240 in der Nachricht als das Nte Schreibdatenbyte innerhalb der Schreibdaten enthalten. Bei manchen Ausführungsformen wird nach der FCS-Berechnung des (N – 1)ten Schreibdatenbytes eine vorläufige FCS-Berechnung der AW FCS von dem Absender modifiziert. Die vorläufige FCS-Berechnung der AW FCS wird so modifiziert, dass die Schreib-FCS245 , die von der Ziel-Client-Baugruppe in dem nächsten Byte zurückgegeben wird, von Null verschieden ist. Bei Ausführungsformen wird dieselbe CRC-Berechnung sowohl für die AW FCS als auch für die Schreib-FCS verwendet, wobei die Schreib-FCS245 , die von der Ziel-Client-Baugruppe zurückgegeben wird, immer Null sein würde (z. B. 0x00). - Bei manchen Ausführungsformen wird die Modifikation der vorläufigen FCS bewerkstelligt, indem das höchstwertige Bit, msb (most significant bit), der FCS-Berechnung des (N – 1)ten Schreibdatenbytes invertiert wird. Auf diese Weise würde, wenn die FCS-Berechnung des (N – 1)ten Datenbytes 0xc4 ist, dann dessen invertiertes msb eine AW FCS gleich 0x44 liefern.
- Bei manchen Ausführungsformen vermeidet die Verwendung unterschiedlicher CRC-8 Algorithmen, um die AW FCS- und die Schreib-FCS-Werte bei dem Client zu berechnen, das Problem, dass eine Prüfsumme modifiziert werden müsste, um einen anschließenden Prüfsummenwert von Null zu vermeiden. Das heißt, bei manchen Ausführungsformen kann der Client zwei CRC-Generatoren haben, die unterschiedliche CRC-Algorithmen verwenden.
- Als ein Beispiel kann eine Nachricht mit einem Befehls/Datensatz aus 3 Bytes, 0x(10 e2 39) eine daran angehängte AW FCS haben, um eine vollständige geschriebene Sequenz 0x(20 04 00 10 e2 39 50) zu erhalten, wobei 0x(20 04 00) den Nachrichtenkopf der Nachricht aufweist. Die Ziel-Client-Baugruppe antwortet mit einem Schreib-FCS-Byte 0x89. Die AW FCS erhöht die Schreiblänge der Nachricht um 1, und die AW FCS wird als die CRC-8 des vorigen Bytes (0xd0) hinzugefügt, wobei das msb invertiert wird, so dass sich 0x50 ergibt.
-
3 veranschaulicht ein beispielhaftes Ablaufdiagramm eines Verfahrens300 gemäß einigen Ausführungsformen hierin. Im Arbeitsschritt305 wird ein erstes Prüfsummenbyte von einem Absender einer Nachricht berechnet. Die erste Prüfsumme entspricht der AW FCS240 , die in der2 veranschaulicht ist. Die erste Prüfsumme wird im Arbeitsschritt310 an eine Nachricht von dem Absender der Nachricht angehängt. Die Nachricht, einschließlich der ersten Prüfsumme, kann dem Nachrichtenprotokoll entsprechen, das hierin mit Bezug auf die2 gezeigt und diskutiert worden ist. - Im Arbeitsschritt
315 wird die Nachricht von dem Absender an einen Client über einen seriellen Eindraht-Bus verschickt. Der Bus sorgt für die Kommunikation zwischen dem Absender und dem Client. Die Nachricht umfasst einen Nachrichtenkopf und Daten. Bei manchen Ausführungsformen umfassen die Daten N Bytes Schreibdaten, wobei das Nte Schreibdatenbyte die erste Prüfsumme ist. - Bei manchen Ausführungsformen kann eine vorläufige Prüfsummenberechnung in einem Prozess des Berechnens der ersten Prüfsumme modifiziert werden. Die Modifikation kann vorgenommen werden, um für eine unmittelbar nachfolgende Prüfsummenberechnung einen von Null verschiedenen Wert zu erhalten. Der Modifikationsprozess kann als ein Teil von oder getrennt von anderen Arbeitsschritten des Prozesses
300 vorgenommen werden, einschließlich des Arbeitsschrittes305 . - Im Arbeitsschritt
320 kann eine Feststellung von dem Client im Hinblick auf die Gültigkeit der Nachricht von dem Absender getroffen werden. Die Feststellung kann auf einem Vergleich der ersten Prüfsumme und einer zweiten Prüfsumme, die intern von dem Client erzeugt worden ist, basieren. Eine Übereinstimmung zwischen der ersten Prüfsumme und der zweiten Prüfsumme, die intern von dem Client erzeugt worden ist, kann angeben, dass die Inhalte der Nachricht gültig sind, während eine Nichtübereinstimmung zwischen der ersten Prüfsumme und der zweiten Prüfsumme, die von dem Client erzeugt worden ist, angeben kann, dass die Inhalte der Nachricht ungültig sind. In dem Fall, dass für die Nachricht von dem Client festgestellt wird, dass sie ungültig ist, wobei die erste Prüfsumme verwendet wird, kann der Client antworten, indem er nicht auf die Nachricht hin handelt. - Die Verwendung der AW FCS in dem Schreibprotokoll der Nachricht sorgt für einen Mechanismus für den Ziel-Client der Nachricht, ein Maß der Sicherheit zu haben, dass die Daten, die von dem Ziel-Client erhalten worden sind, korrekt/gültig sind, bevor er sich verpflichtet, die Daten zu verwenden.
-
4 zeigt ein beispielhaftes Schreib-Lese-Protokoll400 gemäß einigen Ausführungsformen hierin. Insbesondere kann das Schreib-Lese-Protokoll400 einen Mechanismus zur Verfügung stellen, durch den ein Client folgern kann, ob eine Nachricht nicht korrekt/ungültig ist, basierend auf einem Verhalten des Absenders der Nachricht in einem System mit einem Eindraht-Bus. Das Schreib-Lese-Protokoll400 kann zunächst Daten zwischen dem Absender einer Nachricht (z. B. dem Host105 ) und einem Ziel-Client (z. B. den Clients110 ,115 ,120 und125 ) schreiben. - Gemäß dem Schreib-Lese-Protokoll
400 umfasst eine Nachricht einen Nachrichtenkopf und Datenkomponenten. Der Nachrichtenkopf umfasst TN-Bits405 , eine Zieladresse410 , ein MT-Verhandlungsbit415 , eine Schreiblänge420 , die N Bytes der Daten festlegt, die der Absender zu senden plant; und eine Leselänge425 , die die M Bits der Daten festlegt, die der Absender zu empfangen erwartet. Die N Bytes der Schreibdaten430 –440 sollen an die Ziel-Baugruppe geschrieben werden, und die M Bytes der Lesedaten450 –455 sollen von der Ziel-Baugruppe zurückgelesen werden. - Bei manchen Ausführungsformen, die dem Schreib-Lese-Protokoll
400 entsprechen, kann die Schreiblänge Null sein, jedoch ist die Leselänge wenigstens ein Byte lang. - Aspekte des Nachrichtenkopfes und der Datenkomponenten des Nachrichtenprotokolls
400 können ähnlich dem Nachrichtenkopf und den Datenkomponenten sein, die hierin mit Bezug auf die2 diskutiert worden sind. Demgemäß wird eine Diskussion von ähnlichen Aspekten des Protokolls400 , die bereits an andere Stelle hierin mit Bezug auf die2 diskutiert worden sind, nicht wieder in Einzelheiten geführt werden. Ein Bezug wird stattdessen hergestellt, indem auf die2 verwiesen wird. - Bei manchen Ausführungsformen, wie sie in dem beispielhaften Ablaufdiagramm
500 der5 veranschaulicht sind, kann eine Nachricht, die dem Schreib-Lese-Protokoll400 anhaftet, im Arbeitsschritt505 von dem Absender an einen Client über einen Eindraht-Bus geschickt werden. Im Arbeitsschritt510 kann der Absender105 eine Rückgabe eines nicht gültigen Prüfsummenbytes von dem Client in Erwiderung auf das Abschicken der Nachricht von dem Absender erfassen. Bei manchen Ausführungsformen entspricht die zurückgegebene Prüfsumme der Schreib-Bus FCS340 . - Ein gefordertes Verhalten für den Absender beim Empfang einer ungültigen zurückgegebenen Prüfsumme (d. h. der Schreib-FCS) kann sein, eine Master-Abbruchoperation aufzurufen, mit der die Nachricht abgebrochen wird. Weitere Anforderungen können diktieren, dass der Abbruch innerhalb einer vorbestimmten Zeitdauer geschieht. Bei manchen Ausführungsformen entspricht die vorbestimmte Zeitdauer einem unmittelbar nächsten Bytezyklus. Das Abbruchverhalten des Absenders, der mit dem Bus verbunden ist, kann von einem Client, der mit dem Bus verbunden ist, verwendet werden, um daraus zu schließen, dass die Nachricht nicht korrekt/ungültig ist. Umgekehrt kann das Fehlen der Abbruchoperation so ausgelegt werden, dass die Nachricht von dem Absender richtig oder gültig ist.
- Die vorbestimmte Dauer, während der der Absender feststellen muss, ob die zurückgegebene Prüfsumme (d. h. die Schreib-FCS) gültig ist und die Abbruchoperation aufrufen muss, kann einem Lesebytezyklus entsprechen. Demgemäß wird eine Nachricht von dem Absender versendet und die Prüfsumme wird von der Ziel-Client-Baugruppe zurückgegeben. Während des Lesens des ersten Lese-Datenbytes
345 bestimmt der Absender, ob die zurückgegebene Prüfsumme gültig ist, und ruft die Abbruchoperation auf, wenn sie nicht gültig ist. Somit ist ge zeigt worden, warum bei manchen Ausführungsformen die Schreiblänge wenigstens ein Byte beträgt. -
5 veranschaulicht ein beispielhaftes Ablaufdiagramm eines Verfahrens500 gemäß einigen Ausführungsformen hierin. Im Arbeitsschritt505 wird eine Nachricht von einem Absender der Nachricht an einen Client über einen seriellen Eindraht-Bus geschickt. Im Arbeitsschritt510 erfasst der Absender ein ungültiges Prüfsummenbyte (z. B. die Schreib-FCS), das von dem Client in Erwiderung auf die Nachricht, die von dem Absender verschickt worden ist, zurückgegeben worden ist. - Nach dem Bestimmen, dass die zurückgegebene Prüfsumme ungültig oder ansonsten nicht richtig ist, bricht der Absender die Nachricht im Arbeitsschritt
515 ab. Der Absender trifft die Feststellung, dass die Nachricht abzubrechen ist, innerhalb einer vorbestimmten Zeitdauer. Basierend auf den Abbruchtätigkeiten für die Nachricht durch den Absender kann die Client-Baugruppe schließen, ob die Schreib-FCS gültig oder ungültig war. -
6 ist ein beispielhaftes schematisches Schaubild eines Kommunikationssystems600 mit einem seriellen Eindraht-Bus gemäß einigen Ausführungsformen hierin. Ein Host605 ist mit einem Bus630 verbunden. Eine Vielzahl von Client-Baugruppen610 ,615 ,620 und625 ist ebenfalls mit dem Bus630 verbunden. Der Host605 und die Client-Baugruppen610 ,615 ,620 und625 übermitteln Daten zwischen dem Host und den Client-Baugruppen über den Bus630 . Die Client-Baugruppen des Systems600 können feste oder dynamische Adressen haben. Das System600 kann in vieler Hinsicht dem System100 ähnlich sein. Jedoch umfasst das System600 ein Speichermodul675 , das mit dem Bus630 verbunden ist. Der Bus630 kann verwendet werden, um Konfigurationsinformation in das Speichermodul675 zu schreiben, nicht als ein primärer Kanal zum Lesen/Schreiben von Daten aus/in den Speicher. Das Speichermodul675 kann zum Beispiel Daten umfassen, aufgrund derer gearbeitet werden kann, in Abhängigkeit von den Tätigkeiten des Host und des Client, und/oder die in einer Nachricht von dem Absender enthalten sind. - Bei manchen Ausführungsformen kann das System
600 mit den hierin offenbarten Schreib/Lese-Protokollen kompatibel sein, einschließlich denjenigen, die im Hinblick auf die2 und4 diskutiert worden sind. - Obwohl das System mit Eindraht-Bus, das in der
1 gezeigt ist, einen Host und mehrere Client-Baugruppen umfasst, können einige Ausführungsformen eines Systems mit Eindraht-Bus hierin einen Host und eine Client-Baugruppe umfassen. Bei manchen Ausführungsformen kann ein System mit Eindraht-Bus einen Absender einer Nachricht umfassen und bei anderen Ausführungsformen kann ein System mit einem Eindraht-Bus mehrere Absender von Nachrichten umfassen. - Die voranstehende Offenbarung ist mit Bezug auf bestimmte beispielhafte Ausführungsformen beschrieben worden. Es wird jedoch offensichtlich sein, dass verschiedene Modifikationen und Änderungen daran vorgenommen werden können, ohne dass man sich von dem breiteren Gedanken und Umfang entfernt, der in den angefügten Ansprüchen definiert ist.
- ZUSAMMENFASSUNG
- Verfahren und System, wobei das Verfahren bei manchen Ausführungsformen das Berechnen eines ersten Prüfsummenbytes durch einen Absender einer Nachricht, das Anhängen des ersten Prüfsummenbytes an die Nachricht, das Senden der Nachricht von dem Absender an einen Client über einen eindrahtigen seriellen Bus und das Feststellen, durch den Client, einer Gültigkeit der Nachricht von dem Absender durch Vergleichen des ersten Prüfsummenbytes mit einer zweiten Prüfsumme, die von dem Client berechnet worden ist.
Claims (24)
- Verfahren, das aufweist: Berechnen eines ersten Prüfsummenbytes durch einen Absender einer Nachricht; Anhängen des ersten Prüfsummenbytes an eine Nachricht; Senden der Nachricht von dem Absender an einen Client über einen seriellen Eindraht-Bus; Bestimmen, durch den Client, einer Gültigkeit der Nachricht von dem Absender, indem das erste Prüfsummenbyte mit einer zweiten Prüfsumme, die von dem Client berechnet wird, verglichen wird.
- Verfahren nach Anspruch 1, bei dem der Client feststellt, dass die Nachricht gültig ist, wenn das erste Prüfsummenbyte gleich dem zweiten Prüfsummenbyte ist, und dass die Nachricht ungültig ist, wenn das erste Prüfsummenbyte nicht gleich dem zweiten Byte ist.
- Verfahren nach Anspruch 1, bei dem das erste Prüfsummenbyte und das zweite Prüfsummenbyte eine Frame-Prüfsequenz (FCS – Frame Check Sequence) einer zyklischen Redundanzprüfung (CRC – Cyclic Redundancy Check) für 8 Bit von jedem von wenigstens einem Datenbyte, aufweist, die den jeweiligen Prüfsummen vorangeht.
- Verfahren nach Anspruch 1, bei dem die Nachricht N Byte Schreibdaten aufweist, in denen das erste Prüfsummenbyte enthalten ist.
- Verfahren nach Anspruch 4, bei dem die Nachricht weiter eine Adresse, eine Leselänge und eine Schreiblänge aufweist.
- Verfahren nach Anspruch 4, bei dem das erste Prüfsummenbyte berechnet wird, indem ein Ergebnis einer Berechnung des Prüfsummenbytes nach dem (N – 1)ten Schreibdaten byte abgeändert wird und an die Nachricht als das Nte Schreibdatenbyte angehängt wird.
- Verfahren nach Anspruch 6, bei dem das Abändern das Invertieren eines höchstwertigen Bits des Ergebnisses der Berechnung der Prüfsummenbytes nach dem (N – 1)ten Schreibbyte aufweist.
- Verfahren nach Anspruch 6, bei dem das Modifizieren sicherstellt, dass ein erstes Prüfsummenbyte, das von dem Client an den Absender unmittelbar nach dem Senden der ersten Prüfsumme zurückgegeben wird, einen von Null verschiedenen Wert hat.
- Verfahren, das aufweist: Schicken einer Nachricht von einem Absender einer Nachricht an einen Client über einen seriellen Eindraht-Bus; Erfassen, durch den Absender, eines ungültigen Prüfsummenbytes, das von dem Client in Erwiderung auf die Nachricht, die von dem Absender verschickt worden ist, zurückgegeben wird; Abbrechen, durch den Absender, der Nachricht innerhalb eines vorbestimmten Zeitrahmens; und Feststellen, durch den Client, dass die Nachricht ungültig ist, basierend auf dem Abbruch der Nachricht durch den Absender innerhalb des vorbestimmten Zeitrahmens.
- Verfahren nach Anspruch 9, bei dem das Prüfsummenbyte eine Frame-Prüfsequenz (FCS) einer zyklischen Redundanzprüfung (CRC) für 8 Bit für jedes aus wenigstens einem Datenbyte, die dem Prüfsummenbyte vorangeht, aufweist.
- Verfahren nach Anspruch 9, bei dem die vorbestimmte Zeit eine innerhalb eines ersten Lesedatenbytes ist.
- System, das aufweist: einen seriellen Eindraht-Bus; eine Absender-Baugruppe für eine Nachricht, die mit dem Bus verbunden ist, wobei der Absender ein erstes Prüfsummenbyte berechnet, das erste Prüfsummenbyte an eine Nachricht anhängt und die Nachricht von dem Absender an einen Client über den Bus verschickt; und eine Client-Baugruppe, die mit dem Bus verbunden ist, wobei die Client-Baugruppe die Nachricht von dem Absender über den Bus empfangt und eine Gültigkeit der Nachricht von dem Absender feststellt, indem das erste Prüfsummenbyte mit einer zweiten Prüfsumme, die von dem Client berechnet wird, verglichen wird.
- System nach Anspruch 11, bei dem der Client feststellt, dass die Nachricht gültig ist, wenn das erste Prüfsummenbyte gleich dem zweiten Prüfsummenbyte ist, und dass die Nachricht ungültig ist, wenn das erste Prüfsummenbyte nicht gleich dem zweiten Prüfsummenbyte ist.
- System nach Anspruch 12, bei dem das erste Byte und das zweite Byte eine zyklische Redundanzprüfung (CRC) mit 8 Bit von jedem von wenigstens einem Datenbyte aufweist, die den jeweiligen Prüfsummen vorangeht, aufweist.
- System nach Anspruch 12, bei dem die Nachricht N Byte Schreibdaten aufweist, in denen das erste Prüfsummenbyte enthalten ist.
- System nach Anspruch 15, bei dem die Nachricht weiter eine Adresse, eine Leselänge und eine Schreiblänge aufweist.
- System nach Anspruch 15, bei dem das erste Prüfsummenbyte berechnet wird, indem ein Ergebnis einer Berechnung des Prüfsummenbytes nach dem (N – 1)ten Schreibdatenbyte abgeändert wird und an die Nachricht als das Nte Schreibdatenbyte angehängt wird.
- System nach Anspruch 17, bei dem das Abändern das Invertieren eines höchstwertigen Bits des Ergebnisses der Berechnung des Prüfsummenbytes nach dem (N – 1)ten Schreibbyte aufweist.
- System nach Anspruch 17, bei dem das Abändern sicherstellt, dass ein erstes Prüfsummenbyte, das von dem Client an den Absender unmittelbar nach dem Senden der Prüfsumme zurückgegeben wird, einen von Null verschiedenen Wert hat.
- System, das aufweist: einen seriellen Eindraht-Bus; einen Client, der mit dem Bus verbunden ist; und einen Absender einer Nachricht, der mit dem Bus verbunden ist, wobei der Absender eine Nachricht an einen Client über den Bus sendet und die Nachricht innerhalb eines vorbestimmten Zeitrahmens nach dem Erfassen, dass ein ungültiges Prüfsummenbyte von dem Client in Erwiderung auf die Nachricht, die von dem Absender verschickt worden ist, zurückgegeben wird, abbricht, und wobei der Client basierend auf dem Abbruch der Nachricht durch den Absender innerhalb des vorbestimmten Zeitrahmens feststellt, dass die Nachricht ungültig ist.
- System nach Anspruch 20, bei dem das Prüfsummenbyte eine Frame-Prüfsequenz (FCS) in einer zyklischen Redundanzprüfung (CRC) für 8 Bit von jedem von wenigstens einem Datenbyte aufweist, die dem Prüfsummenbyte vorangeht.
- System nach Anspruch 20, bei dem die vorbestimmte Zeit innerhalb eines ersten Lesedatenbytes liegt.
- System, das aufweist: einen seriellen Eindraht-Bus; eine Absender-Baugruppe für eine Nachricht, die mit dem Bus verbunden ist, wobei der Absender ein erstes Prüfsummenbyte berechnet, das erste Prüfsummenbyte an eine Nachricht anhängt und die Nachricht von dem Absender an einen Client über den Bus verschickt; eine Client-Baugruppe, die mit dem Bus verbunden ist, wobei die Client-Baugruppe die Nachricht von dem Absender über den Bus empfängt und eine Gültigkeit der Nachricht von dem Absender feststellt, indem das erste Prüfsummenbyte mit einer zweiten Prüfsumme, die von dem Client berechnet wird, verglichen wird; und ein Speichermodul in Verbindung mit der Client-Baugruppe.
- System nach Anspruch 23, bei dem der Client feststellt, dass die Nachricht gültig ist, wenn das erste Prüfsummenbyte gleich dem zweiten Prüfsummenbyte ist, und dass die Nachricht ungültig ist, wenn das erste Prüfsummenbyte nicht gleich dem zweiten Prüfsummenbyte ist.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/540,837 | 2006-09-29 | ||
US11/540,837 US8165160B2 (en) | 2006-09-29 | 2006-09-29 | Method and system to validate a write for a device on a serial bus |
PCT/US2007/079987 WO2008042808A1 (en) | 2006-09-29 | 2007-09-28 | Method and system to validate a write for a device on a serial bus |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112007001991T5 true DE112007001991T5 (de) | 2009-06-10 |
Family
ID=39262227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112007001991T Withdrawn DE112007001991T5 (de) | 2006-09-29 | 2007-09-28 | Verfahren und System zum Validieren eines Schreibvorgangs für eine Baugruppe auf einem seriellen Bus |
Country Status (5)
Country | Link |
---|---|
US (1) | US8165160B2 (de) |
CN (1) | CN101512990B (de) |
DE (1) | DE112007001991T5 (de) |
GB (1) | GB2454439B (de) |
WO (1) | WO2008042808A1 (de) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103176970B (zh) * | 2011-12-20 | 2018-05-29 | 深圳市世纪光速信息技术有限公司 | 一种检索方法及检索系统 |
DE102013208730A1 (de) * | 2013-05-13 | 2014-11-13 | Robert Bosch Gmbh | Gesicherte Übertragung einer Folge von zu übertragenden Daten |
US20170269841A1 (en) * | 2013-12-20 | 2017-09-21 | Empire Technology Development Llc | Data storage in degraded solid state memory |
US9513990B2 (en) * | 2014-09-23 | 2016-12-06 | Empire Technology Development Llc | Memory controller with read unit length module |
DE102016212816A1 (de) * | 2016-07-13 | 2018-01-18 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Betreiben eines Bussystems |
CN108573007A (zh) * | 2017-06-08 | 2018-09-25 | 北京金山云网络技术有限公司 | 检测数据一致性的方法、装置、电子设备及存储介质 |
CN109525363B (zh) * | 2018-09-29 | 2021-07-06 | 深圳市元征科技股份有限公司 | 数据传输方法及装置 |
CN115189971B (zh) * | 2022-09-13 | 2022-12-20 | 中科物栖(北京)科技有限责任公司 | 数据传输加密方法 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4835731A (en) * | 1987-08-14 | 1989-05-30 | General Electric Company | Processor-to-processor communications protocol for a public service trunking system |
AU695562B2 (en) * | 1994-07-28 | 1998-08-13 | Koninklijke Philips Electronics N.V. | Method of and system for communicating messages |
US5710756A (en) * | 1995-02-13 | 1998-01-20 | Netro Corporation | Burst-error resistant ATM microwave link and network |
US5964845A (en) * | 1995-04-18 | 1999-10-12 | International Business Machines Corporation | Processing system having improved bi-directional serial clock communication circuitry |
US6385210B1 (en) * | 1998-04-17 | 2002-05-07 | Ford Global Technologies, Inc. | Method for detecting and resolving data corruption in a UART based communication network |
US6327688B1 (en) | 1998-08-07 | 2001-12-04 | Analog Devices, Inc. | Data bus with automatic data integrity verification and verification method |
KR20010011471A (ko) | 1999-07-28 | 2001-02-15 | 서평원 | 암호화 장비에서의 대국 상태 점검 방법 |
US6460163B1 (en) | 2000-04-05 | 2002-10-01 | International Business Machines Corporation | Software and method for digital content vending and transport |
US20020080416A1 (en) * | 2000-12-27 | 2002-06-27 | Quine Douglas B. | Appparatus for verifying a facsimile document via the internet |
US7383490B2 (en) * | 2005-04-14 | 2008-06-03 | International Business Machines Corporation | Methods and apparatus using commutative error detection values for fault isolation in multiple node computers |
CN1328663C (zh) * | 2003-06-20 | 2007-07-25 | 佛山市顺德区顺达电脑厂有限公司 | 自动检测校验和的系统及方法 |
US7558954B2 (en) * | 2003-10-31 | 2009-07-07 | Hewlett-Packard Development Company, L.P. | Method and apparatus for ensuring the integrity of data |
GB2410161B (en) | 2004-01-16 | 2008-09-03 | Btg Int Ltd | Method and system for calculating and verifying the integrity of data in data transmission system |
US20050257117A1 (en) | 2004-05-12 | 2005-11-17 | Weirong Chiang | Method and circuit for determining an ending of an ethernet frame |
JP2005348338A (ja) | 2004-06-07 | 2005-12-15 | Alps Electric Co Ltd | 混信判定方法及び端末装置 |
US7607070B2 (en) | 2004-09-13 | 2009-10-20 | National Instruments Corporation | System and method for in-line consistency checking of packetized data |
US7653681B2 (en) * | 2005-01-14 | 2010-01-26 | International Business Machines Corporation | Software architecture for managing a system of heterogenous network processors and for developing portable network processor applications |
US7626935B2 (en) | 2005-05-02 | 2009-12-01 | Analog Devices, Inc. | Data bus with client-aborted message handling method |
US7587662B2 (en) * | 2005-09-29 | 2009-09-08 | Fisher-Rosemount Systems, Inc. | Detection of noise within an operating frequency on a network |
US7636767B2 (en) * | 2005-11-29 | 2009-12-22 | Cisco Technology, Inc. | Method and apparatus for reducing network traffic over low bandwidth links |
US7836220B2 (en) * | 2006-08-17 | 2010-11-16 | Apple Inc. | Network direct memory access |
-
2006
- 2006-09-29 US US11/540,837 patent/US8165160B2/en not_active Expired - Fee Related
-
2007
- 2007-09-28 CN CN2007800318690A patent/CN101512990B/zh not_active Expired - Fee Related
- 2007-09-28 GB GB0904298A patent/GB2454439B/en not_active Expired - Fee Related
- 2007-09-28 WO PCT/US2007/079987 patent/WO2008042808A1/en active Application Filing
- 2007-09-28 DE DE112007001991T patent/DE112007001991T5/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20080082544A1 (en) | 2008-04-03 |
GB2454439A (en) | 2009-05-06 |
GB2454439A8 (en) | 2009-05-06 |
CN101512990B (zh) | 2013-02-13 |
GB2454439B (en) | 2011-05-18 |
CN101512990A (zh) | 2009-08-19 |
WO2008042808A1 (en) | 2008-04-10 |
GB0904298D0 (en) | 2009-04-22 |
US8165160B2 (en) | 2012-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112007001991T5 (de) | Verfahren und System zum Validieren eines Schreibvorgangs für eine Baugruppe auf einem seriellen Bus | |
DE69433098T2 (de) | Vorrichtung zur Übertragung von Daten | |
DE2342009C2 (de) | Prüfsystem | |
EP2160857B1 (de) | Prüfverfahren und elektronische schaltung zur sicheren seriellen übertragung von daten | |
EP2028797B1 (de) | Verfahren zur Datenübertragung | |
EP3977682B1 (de) | Fehlererkennung-testeinrichtung für eine teilnehmerstation eines seriellen bussystems und verfahren zum testen von mechanismen zur fehlererkennung bei einer kommunikation in einem seriellen bussystem | |
DE3736550A1 (de) | Verfahren und vorrichtung zum simultanen datenverkehr | |
DE102005053103A1 (de) | Verfahren sowie System zur Übertragung von zyklischen und azyklischen Daten | |
EP1574004A2 (de) | Verfahren zur übertragung von daten auf einem bus | |
EP1469625B1 (de) | Verfahren und Vorrichtung zum Paket-orientierten Übertragen sicherheitsrelevanter Daten | |
DE112021001452T5 (de) | Kommunikationssystem | |
EP1357707B1 (de) | Verfahren zur Übertragung von Nachrichten auf einem Bussystem | |
EP2567485A1 (de) | Verfahren und vorrichtung zur absicherung von über eine schnittstelle zu übertragenden datenpaketen | |
EP0985305A1 (de) | Verfahren und vorrichting zur übertragung eines kontinuierlichen datenstroms in paketierter form | |
DE102012110712A1 (de) | Verfahren und System zur Funktionsprüfung einer Fehlererkennungseinheit einer CAN-Bus-Controllereinheit | |
EP1609266B1 (de) | Verfahren und messgerät zum ermitteln einer fehlerrate ohne inkrementale redundanz | |
DE69900971T2 (de) | Unidirektionale Prüfung von bus-basiertem System | |
DE10243319B4 (de) | Sichere Datenübertragung | |
DE69836937T2 (de) | Verfahren zur Störungsbeseitigung und Kommunikationssystem | |
EP1400063A2 (de) | Fehlertoleranter verbindungstest | |
EP3917048B1 (de) | Verfahren sowie vorrichtungen zum übertragen von daten | |
EP3987697B1 (de) | Verfahren zum betreiben eines kommunikationsnetzwerks, kommunikationsnetzwerk und teilnehmer für ein kommunikationsnetzwerk | |
DE10252109B4 (de) | Verfahren zur Parametrierung | |
EP0642078A2 (de) | Verfahren und Vorrichtung zur Fehlerprüfung und zur Fehlerkorrektur in Speicherbausteinen | |
DE10347381B4 (de) | Verfahren und Vorrichtung zur fehlerabgesicherten Übertragung von Nutzdaten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R016 | Response to examination communication | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0012560000 Ipc: H04L0012700000 |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0012560000 Ipc: H04L0012700000 Effective date: 20121120 |
|
R016 | Response to examination communication | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |