DE102011122802A1 - Method and device for increasing the data transmission capacity in a serial bus system - Google Patents
Method and device for increasing the data transmission capacity in a serial bus system Download PDFInfo
- Publication number
- DE102011122802A1 DE102011122802A1 DE201110122802 DE102011122802A DE102011122802A1 DE 102011122802 A1 DE102011122802 A1 DE 102011122802A1 DE 201110122802 DE201110122802 DE 201110122802 DE 102011122802 A DE102011122802 A DE 102011122802A DE 102011122802 A1 DE102011122802 A1 DE 102011122802A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- field
- crc
- bits
- length code
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
Es wird ein Verfahren zur seriellen Datenübertragung in einem Bussystem mit mindestens zwei teilnehmenden Datenverarbeitungseinheiten beschrieben, wobei die Datenverarbeitungseinheiten über den Bus Nachrichten austauschen, wobei die gesendeten Nachrichten einen logischen Aufbau gemäß der CAN-Norm ISO 11898-1 aufweisen, wobei der logische Aufbau ein Start-of-Frame-Bit, ein Arbitration Field, ein Control Field, ein Data Field, ein CRC Field, ein Acknowledge Field und eine End-of-Frame Sequenz umfasst, wobei das Control Field einen Data Length Code umfasst, der eine Information über die Länge des Data Fields enthält, wobei das Datenfeld von übertragenen Nachrichten abweichend von der CAN-Norm ISO 11898-1 mehr als acht Bytes umfassen kann, und wobei zur Feststellung der Größe des Datenfeldes die Werte des Data Length Codes zumindest teilweise abweichend von der CAN-Norm ISO 11898-1 interpretiert werden.The invention relates to a method for serial data transmission in a bus system having at least two participating data processing units, wherein the data processing units exchange messages via the bus, wherein the transmitted messages have a logical structure according to the CAN standard ISO 11898-1, wherein the logical structure is a start -of-frame-bit, an arbitration field, a control field, a data field, a CRC field, an acknowledge field and an end-of-frame sequence, wherein the control field comprises a data length code containing information about contains the length of the data field, wherein the data field of transmitted messages other than the CAN standard ISO 11898-1 may comprise more than eight bytes, and to determine the size of the data field, the values of the data length code at least partially different from the CAN -Normal ISO 11898-1 be interpreted.
Description
Stand der TechnikState of the art
Die Erfindung betrifft ein Verfahren sowie eine Vorrichtung zur Erhöhung der Datenübertragungskapazität zwischen wenigstens zwei Teilnehmern in einem seriellen Bussystem.The invention relates to a method and a device for increasing the data transmission capacity between at least two subscribers in a serial bus system.
Beispielsweise aus den Normen der Familie ISO 11898-1 bis -5 ist das Controller Area Network (CAN) sowie eine als „Time Triggered CAN” (TTCAN) bezeichnete Erweiterung des CAN bekannt, im Folgenden auch als Norm CAN bezeichnet. Das beim CAN verwendete Medienzugriffssteuerverfahren beruht auf einer bitweisen Arbitrierung. Bei der bitweisen Arbitrierung können mehrere Teilnehmerstationen gleichzeitig Daten über den Kanal des Bussystems übertragen, ohne dass hierdurch die Datenübertragung gestört wird. Die Teilnehmerstationen können weiterhin beim Senden eines Bits über den Kanal den logischen Zustand (4 oder 1) des Kanals ermitteln. Entspricht ein Wert des gesendeten Bits nicht dem ermittelten logischen Zustand des Kanals, dann beendet die Teilnehmerstation den Zugriff auf den Kanal. Bei CAN wird die bitweise Arbitrierung üblicherweise anhand eines Identifiers innerhalb einer über den Kanal zu übertragenden Nachricht vorgenommen. Nachdem eine Teilnehmerstation den Identifier vollständig an den Kanal gesendet hat, weiß sie, dass sie exklusiven Zugriff auf den Kanal hat. Somit entspricht das Ende der Übertragung des Identifiers einem Beginn eines Freigabeintervalls, innerhalb dessen die Teilnehmerstation den Kanal exklusiv nutzen kann. Gemäß der Protokollspezifikation des CAN dürfen andere Teilnehmerstationen so lange nicht auf den Kanal zugreifen, das heißt Daten an den Kanal senden, bis die sendende Teilnehmerstation ein Prüfsummenfeld (CRC Field) der Nachricht übertragen hat. Somit entspricht ein Endzeitpunkt der Übertragung des CRC Fields einem Ende des Freigabeintervalls.For example, from the standards of the family ISO 11898-1 to -5, the Controller Area Network (CAN) and an extension of the CAN called "Time Triggered CAN" (TTCAN) is known, hereinafter also referred to as CAN standard. The media access control method used in the CAN is based on bitwise arbitration. In the bitwise arbitration several subscriber stations can simultaneously transmit data via the channel of the bus system, without this disrupting the data transfer. The subscriber stations may further determine the logical state (4 or 1) of the channel when transmitting a bit over the channel. If a value of the transmitted bit does not correspond to the determined logical state of the channel, then the subscriber station terminates the access to the channel. In CAN, the bitwise arbitration is usually done on the basis of an identifier within a message to be transmitted over the channel. After a subscriber station has completely sent the identifier to the channel, it knows that it has exclusive access to the channel. Thus, the end of transmission of the identifier corresponds to a beginning of a release interval within which the subscriber station can exclusively use the channel. According to the protocol specification of the CAN, other subscriber stations may not access the channel, that is, send data to the channel until the transmitting subscriber station has transmitted a check-sum field (CRC field) of the message. Thus, an end time of transmission of the CRC field corresponds to an end of the enable interval.
Durch die bitweise Arbitrierung wird also eine zerstörungsfreie Übertragung derjenigen Nachrichten über den Kanal erreicht, die das Arbitrierungsverfahren gewonnen hat. Die Protokolle des CAN eignen sich besonders zum Übertragen kurzer Meldungen unter Echtzeitbedingungen, wobei durch geeignete Zuweisung der Identifier sichergestellt werden kann, dass besonders wichtige Nachrichten nahezu immer die Arbitrierung gewinnen und erfolgreich gesendet werden.The bitwise arbitration thus achieves non-destructive transmission of those messages over the channel which the arbitration method has obtained. The protocols of the CAN are particularly suitable for transmitting short messages under real-time conditions, whereby it can be ensured by suitable assignment of the identifier that particularly important messages almost always win the arbitration and are sent successfully.
Mit der zunehmenden Vernetzung moderner Fahrzeuge und dem Einzug zusätzlicher Systeme zur Verbesserung beispielsweise der Fahrsicherheit oder des Fahrkomforts wachsen die Anforderungen an die zu übertragenden Datenmengen und die bei der Übertragung zulässigen Latenzzeiten. Beispiele sind Fahrdynamikregelsysteme wie z. B. das elektronische Stabilitätsprogramm ESP, Fahrerassistenzsysteme wie z. B. die automatische Abstandsregelung ACC, oder Fahrerinformationssysteme wie z. B. die Verkehrszeichenerkennung (vgl. beispielsweise Beschreibungen in
Es zeigt sich, dass der Stand der Technik nicht in jeder Hinsicht befriedigende Ergebnisse liefert.It turns out that the state of the art does not provide satisfactory results in every respect.
Offenbarung der ErfindungDisclosure of the invention
Im Folgenden wird die Erfindung mit ihren Vorteilen anhand von Zeichnungen und Ausführungsbeispielen beschrieben. Der Gegenstand der Erfindung ist nicht auf die dargestellten und geschilderten Ausführungsbeispiele beschränkt.In the following the invention will be described with its advantages with reference to drawings and exemplary embodiments. The object of the invention is not limited to the illustrated and described embodiments.
Vorteile der ErfindungAdvantages of the invention
Die vorliegende Erfindung erzielt durch die Bereitstellung einer Möglichkeit zur Vergößerung des Datenfeldes einer übertragenen Nachricht den Effekt, dass gegenüber einer normgemäßen CAN Nachricht eine größere Menge an Daten mit einer einzigen Nachricht über den Bus übermittelt werden kann. Somit steigt in vorteilhafter Weise das Verhältnis von Datenmenge zu Kontrollinformation in einer Nachricht, und somit auch die mittlere Datenübertragungsrate über das Bussystem.By providing a way of enlarging the data field of a transmitted message, the present invention achieves the effect that, compared to a standard CAN message, a larger amount of data can be transmitted via the bus with a single message. Thus, advantageously, the ratio of data amount to control information in a message increases, and thus also the average data transmission rate via the bus system.
Durch das Aufstellen einer eindeutigen Zuordnung zwischen dem Inhalt des Data Length Code und der Länge des Datenfeldes wird in vorteilhafter Weise eine hohe Flexibilität bezüglich der darstellbaren Größe des Datenfeldes erreicht.By establishing a clear association between the content of the data length code and the length of the data field, a high degree of flexibility is achieved in terms of the displayable size of the data field in an advantageous manner.
Es ist weiterhin von Vorteil, dass für die im Norm CAN üblicherweise genutzten Werte 0b0001 bis 0b1000 des Data Length Code die dem Norm CAN entsprechenden Größen des Datenfeldes, also 1 Byte bis 8 Byte zugeordnet werden. It is furthermore advantageous that the values of the data field corresponding to the standard CAN,
In einer vorteilhaften Ausprägung des Verfahrens erfolgt die Vergrößerung des Datenfeldes und die Anpassung der Interpretation des Inhaltes des Data Length Code in Abhängigkeit von einer ersten Umschaltbedingung, so dass bei Vorliegen der ersten Umschaltbedingung das erfindungsgemäße Verfahren zur Anwendung kommt, während sonst die Datenübertragung gemäß dem normalen CAN Standard erfolgt. Dadurch können erfindungsgemäßen Vorrichtungen sowohl in Standard CAN Bussystemen eingesetzt werden, als auch in neuen, erfindungsgemäßen Bussystemen mit potenziell größeren Datenfeldern.In an advantageous embodiment of the method, the enlargement of the data field and the adaptation of the interpretation of the content of the data length code in response to a first switching condition, so that in the presence of the first switching condition, the inventive method is used, while otherwise the data transmission according to the normal CAN standard is done. As a result, devices according to the invention can be used both in standard CAN bus systems, as well as in new, inventive bus systems with potentially larger data fields.
Weiterhin ist es möglich, im Falle, dass das Datenfeld erfindungsgemäß vergrößert ist, ein geändertes Polynom zur Berechnung der Checksumme heranzuziehen und im CRC Feld zu übertragen. Dies hat den Vorteil, dass die Sicherheit der Fehlererkennung auch für größere übertragene Datenmengen erhalten bleibt. In einer besonders vorteilhaften Ausführungsform werden parallel mehrere Berechnungen von Checksummen gestartet und es wird abhängig vom Vorliegen einer Umschaltbedingung und oder dem Inhalt des Data Length Code entschieden weiches Ergebnis einer dieser Berechnungen im CRC Feld übertragen wird.Furthermore, it is possible, in the event that the data field is enlarged according to the invention, to use a modified polynomial for calculating the checksum and to transmit it in the CRC field. This has the advantage that the security of error detection is maintained even for larger amounts of data transferred. In a particularly advantageous embodiment, a plurality of checksum calculations are started in parallel and, depending on the presence of a switching condition and or the content of the data length code, a decidedly soft result of one of these calculations is transmitted in the CRC field.
Es ist weiter von Vorteil, dass eventuell vorhandene Stuff-Bits, welche vor dem CRC Feld in der Nachricht auftreten, in die Berechnung der Checksumme mit aufgenommen werden.It is also advantageous that possibly existing stuff bits, which occur before the CRC field in the message, are included in the calculation of the checksum.
Kombiniert man das Verfahren mit einem Umschalten der Bitlänge beispielsweise für die Bits des Datenfeldes und des CRC Feldes, so erzielt man den weiteren Vorteil, dass eine größere Menge an Daten beschleunigt übertragen wird, als dies bei einer Begrenzung des Datenfeldes auf 8 Byte der Fall ist. Dadurch wird die mittlere Datenübertragungsrate des Bussystems weiter gesteigert.Combining the method with switching the bit length for example for the bits of the data field and the CRC field, one obtains the further advantage that a larger amount of data is transmitted faster than is the case with a limitation of the data field to 8 bytes , As a result, the average data transmission rate of the bus system is further increased.
Das Verfahren ist vorteilhaft einsetzbar im normalen Betrieb eines Kraftfahrzeuges zur Übertragung von Daten zwischen wenigstens zwei Steuergeräten des Kraftfahrzeuges, welche über einen geeigneten Datenbus verbunden sind. Es ist aber gleichermaßen vorteilhaft einsetzbar während der Fertigung oder Wartung eines Kraftfahrzeuges zur Übertragung von Daten zwischen einer zum Zwecke der Programmierung mit einem geeigneten Datenbus verbundenen Programmierungseinheit und wenigstens einem Steuergerät des Kraftfahrzeuges, welches mit dem Datenbus verbunden ist.The method can be used advantageously in the normal operation of a motor vehicle for the transmission of data between at least two control devices of the motor vehicle, which are connected via a suitable data bus. However, it can equally advantageously be used during the manufacture or maintenance of a motor vehicle for the transmission of data between a programming unit connected to a suitable data bus for the purpose of programming and at least one control unit of the motor vehicle which is connected to the data bus.
Ein weiterer Vorteil ist, dass ein Norm-CAN Controller nur minimal geändert werden muss, um erfindungsgemäß arbeiten zu können. Ein erfindungsgemäßer Kommunikationscontroller, der auch als Norm-CAN Controller arbeiten kann, ist nur unwesentlich größer als ein herkömmlicher Norm-CAN Controller. Das zugehörige Anwendungs-Programm muss nicht geändert werden, und schon dann werden Vorteile in der Geschwindigkeit der Datenübertragung erzielt.A further advantage is that a standard CAN controller only has to be changed minimally in order to be able to work according to the invention. An inventive communication controller, which can also work as a standard CAN controller, is only slightly larger than a conventional standard CAN controller. The associated application program does not need to be changed, and even then advantages in the speed of data transmission are achieved.
Es können in vorteilhafter Weise erhebliche Teile des CAN-Conformance-Tests (
Zeichnungendrawings
Die Erfindung wird im Weiteren anhand der Zeichnungen näher erläutert.The invention will be explained in more detail with reference to the drawings.
Beschreibung der AusführungsbeispieleDescription of the embodiments
In
Die Nachricht beginnt mit einem „Start of Frame”(SOF)-Bit, das den Beginn der Nachricht signalisiert. Es schließt sich ein Abschnitt an, der in erster Linie zur Identifizierung der Nachricht dient, und anhand dessen die Teilnehmer des Bussystems entscheiden, ob sie die Nachricht empfangen oder nicht. Dieser Abschnitt wird mit „Arbitration Field” bezeichnet und enthält den Identifier. Es folgt ein „Control Field”, das unter anderem den Data Length Code enthält. Der Data Length Code enthält Informationen über die Größe des Datenfeldes der Nachricht. Hieran schließt sich das eigentliche Datenfeld „Data Field” an, das die zwischen den Teilnehmern des Bussystems auszutauschenden Daten enthält. Es folgt das „CRC Field” mit der 15 Bit umfassenden Checksumme und einem Delimiter, und anschließend zwei „Acknowledge”(ACK)-Bits, die dazu dienen, den erfolgreichen Empfang einer Nachricht an den Sender zu signalisieren. Abgeschlossen wird die Nachricht durch eine „End of Frame”(EOF)-Sequenz. The message begins with a "Start of Frame" (SOF) bit signaling the beginning of the message. This is followed by a section which serves primarily to identify the message, and on the basis of which the users of the bus system decide whether they receive the message or not. This section is called "Arbitration Field" and contains the identifier. This is followed by a "Control Field" which, among other things, contains the Data Length Code. The data length code contains information about the size of the data field of the message. This is followed by the actual data field "Data Field", which contains the data to be exchanged between the subscribers of the bus system. This is followed by the "CRC Field" with the 15-bit check sum and a delimiter, followed by two "Acknowledge" (ACK) bits, which serve to signal the successful receipt of a message to the sender. The message is completed by an "End of Frame" (EOF) sequence.
Bei dem CAN Übertragungsverfahren nach der Norm darf das Datenfeld maximal 8 Byte, also 64 Bit an Daten enthalten. Der Data Length Code umfasst gemäß der Norm vier Bits, kann also 16 verschiedene Werte annehmen. Benutzt werden aus diesem Wertebereich in heutigen Bussystemen lediglich acht verschiedene Werte für die unterschiedlichen Großen des Datenfeldes von 1 Byte bis zu 8 Byte. Ein Datenfeld von 0 Byte ist im Norm CAN nicht empfohlen, Größen oberhalb von 8 Byte sind nicht zulässig. Die Zuordnung der Werte des Data Length Code zu den Größen des Datenfeldes ist in
In
Bei dem erfindungsgemäß modifizierten Übertragungsverfahren darf das Datenfeld auch mehr als 8 Byte enthalten, nämlich in der dargestellten Ausprägung bis zu K Byte. Anders als im Norm CAN werden weitere Werte, die der Data Length Code einnehmen kann, ausgenutzt, um größere Datenfelder zu kennzeichnen. Beispielsweise können die vier Bits des Data Length Code benutzt werden, um die Werte von null bis 15 Byte darzustellen. Es können aber auch andere Zuordnungen getroffen werden, beispielsweise ist es eine Möglichkeit, den in heutigen CAN-Nachrichten üblicherweise nicht genutzten Wert des Data Length Code DLC = 0b0000 für eine weitere mögliche Größe des Datenfeldes zu benutzen, beispielsweise für die Größe 16 Byte. Diese beiden Möglichkeiten sind in
Eine weitere Möglichkeit ist es, dass für die Werte des Data Length Code größer 0b1000 und bis 0b1111 die zugehörigen Größen des Datenfeldes um beispielsweise jeweils 2 Byte anwachsen. Dieser Fall ist in der Tabelle als DLC 3 dargestellt. Die Maximalgröße des Datenfeldes K erreicht in dieser Variante den Wert 24. Durch Wahl eines größeren Inkrements, beispielsweise 4 Byte, wären entsprechend größere Datenfelder erreichbar.Another possibility is that for the values of the data length code greater than 0b1000 and up to 0b1111, the associated sizes of the data field increase by, for example, 2 bytes each. This case is shown in the table as
Im Beispiel DLC3 ist außerdem noch eine weitere Modifikation vorgenommen: der Wert DLC = 0b0000 wird in diesem Ausführungsbeispiel von Remote-Frames verwendet. Im Norm CAN ist es demgegenüber vorgesehen, dass ein Remote-Frame mit demselben Wert des DLC gesendet wird, welchen die als Reaktion auf den Remote-Frame versendete Nachricht aufweist. Durch die hier beschriebene Modifikation wird sichergestellt, dass nicht Remote-Frames mit unterschiedlicher DLC und gleichem Identifier versendet werden können, was (vgl.
In den Ausprägungen des Verfahrens, die in
Um zu gewährleisten, dass ein solcher Kommunikationscontroller feststellen kann, in welcher Art er die Inhalte des Data Length Code zu interpretieren hat, ist vorteilhaft, dass er selbständig erkennt, ob die Kommunikation des Bussystems nach Norm CAN oder dem erfindungsgemäßen Verfahren abläuft. Eine Möglichkeit hierzu besteht darin, ein reserviertes Bit innerhalb des Arbitration Field oder des Control Field zur Kennzeichnung heranzuziehen, so dass aus dieser Kennzeichnung der Kommunikationscontroller eine erste Umschaltbedingung ableiten kann, abhängig von der er das Übertragungsverfahren auswählt. Beispielsweise kann das in
Eine weitere Möglichkeit wäre, für das erfindungsgemäß modifizierte Übertragungsverfahren die Verwendung des Extended Formates vorzuschreiben. Nachrichten im Extended Format werden von den Busteilnehmern am Wert des IDE-Bits erkannt (vgl.
Das reservierte Bit kann aber auch, wie weiter unten ausgeführt, zur Ableitung einer zweiten Umschaltbedingung zur Umschaltung zwischen mehr als zwei verschiedenen Größen des Datenfeldes beziehungsweise Zuordnungen zwischen Werten des Data Length Code und Datenfeldgrößen genutzt werden.However, the reserved bit can also, as explained below, be used for deriving a second switching condition for switching between more than two different sizes of the data field or assignments between values of the data length code and data field sizes.
Es ist alternativ aber auch möglich, das Verfahren in dazu geeigneten Kommunikationscontrollern zur Anwendung zu bringen, die nicht auch zur normgemäßen CAN Kommunikation ausgelegt sind. In diesem Fall kann auch die Festlegung der genannten ersten Umschaltbedingung, beispielsweise abhängig von einer geeigneten Kennzeichnung der Nachrichten, entfallen. Die Kommunikationscontroller arbeiten in diesem Fall vielmehr ausschließlich gemäß einem der beschriebenen Verfahren und sind dementsprechend nur in Bussystemen einsetzbar, in welchen ausschließlich solche erfindungsgemäßen Kommunikationscontroller im Einsatz sind.Alternatively, it is also possible to use the method in suitable communication controllers, which are not also designed for standard CAN communication. In this case, the determination of said first switching condition, for example, depending on a suitable labeling of the messages omitted. Rather, the communication controllers operate in this case exclusively according to one of the methods described and accordingly can only be used in bus systems in which only such communication controllers according to the invention are used.
Wird, wie in der Erfindung vorgesehen, das Datenfeld von Nachrichten vergrößert, so kann es sinnvoll sein, auch das verwendete Verfahren zum Cyclic Redundancy Check (CRC) anzupassen, um eine ausreichende Fehlersicherheit zu erhalten. Insbesondere kann es vorteilhaft sein, ein anderes CRC-Polynom, beispielsweise mit höherer Ordnung, zu verwenden und entsprechend eine CRC Field abweichender Größe in den erfindungsgemäß modifizierten Nachrichten vorzusehen. Dies ist in
Die Verwendung eines modifizierten Verfahrens zur Berechnung der CRC Checksumme kann durch eine Kennzeichnung, welche eine dritte Umschaltbedingung darstellt, den Busteilnehmern signalisiert werden. Diese Kennzeichnung und die dritte Umschaltbedingung kann aber auch mit der ersten Kennzeichnung und/oder Umschaltbedingung übereinstimmen. Auch hier kann, wie weiter oben beschrieben, beispielsweise das reservierte Bit r0 aus
In den Norm CAN-Controllern wird der CRC-Code von zu sendenden CAN-Nachrichten mittels eines rückgekoppelten Schieberegisters erzeugt, in dessen Eingang die seriell gesendeten Bits der Nachricht sequenziell eingespeist werden. Die Breite des Schieberegisters entspricht der Ordnung des CRC-Polynoms. Die CRC-Codierung erfolgt durch eine Verknüpfung des Register-Inhalts mit dem CRC-Polynom während der Shift-Operationen. Wenn CAN-Nachrichten empfangen werden, werden entsprechend die seriell empfangenen Bits der Nachricht in das CRC-Schieberegister geschoben. Der CRC-Test ist erfolgreich, wenn am Ende des CRC-Feldes alle Bits des Schieberegisters auf Null stehen. Die CRC-Code-Generierung im Sendefall und der CRC-Test im Empfangsfall erfolgen beide in Hardware, ohne dass ein Eingriff der Software notwendig ist. Eine Modifikation der CRC-Codierung hat also keine Auswirkung auf die Anwendungs-Software.In the standard CAN controllers, the CRC code of CAN messages to be transmitted is generated by means of a feedback shift register, in whose input the serially transmitted bits of the message are sequentially fed. The width of the shift register corresponds to the order of the CRC polynomial. The CRC encoding is done by concatenating the register contents with the CRC polynomial during the shift operations. When CAN messages are received, the serially received bits of the message are correspondingly shifted into the CRC shift register. The CRC test succeeds if all the bits of the shift register are zero at the end of the CRC field. The CRC code generation in the send case and the CRC test in the receive case are both done in hardware, without any intervention of the software is necessary. A modification of the CRC coding thus has no effect on the application software.
Im Norm CAN-Protokoll werden die Stuff-Bits innerhalb des CAN-Nachrichten (vgl.
Im erfindungsgemäß modifizierten Übertragungsverfahren kann die CRC-Codierung demgegenüber so geändert werden, dass auch die Stuff-Bits innerhalb der Nachricht bei der Berechnung oder Prüfung des CRC-Codes miteinbezogen werden. Das heißt, es werden in dieser Ausführungsform die zum Arbitration Field, Control Field und Data Field gehörenden Stuff-Bits als Teil der durch den Cyclic Redundancy Check zu schützenden Daten behandelt. Die Stuff-Bits des CRC-Fields werden wie im Norm CAN ausgeblendet.In contrast, in the transmission method modified according to the invention, the CRC coding can be changed in such a way that the stuff bits within the message are also included in the calculation or checking of the CRC code. That is, in this embodiment, the stuff bits associated with the arbitration field, control field, and data field are treated as part of the data to be protected by the cyclic redundancy check. The stuff bits of the CRC field are hidden as in the CAN standard.
In einer möglichen Ausführungsform wird der Kommunikationscontroller so ausgelegt, dass er Kompatibilität zum Norm CAN aufweist, also in einem Norm CAN Bussystem normgemäß arbeitet, während er in einem erfindungsgemäß modifizierten Bussystem einerseits größere Datenfelder in den Nachrichten zulässt und andererseits auch die angepasste Berechnung und Prüfung des CRC-Code durchführt. In one possible embodiment, the communication controller is designed so that it has compatibility with the standard CAN, ie works in a standard CAN bus system according to standards, while allowing in a modified bus system according to the invention larger data fields in the news and on the other hand, the adapted calculation and testing of CRC code.
Da am Anfang des Empfanges einer Nachricht noch nicht feststeht, ob eine Norm-konforme CAN-Nachricht oder eine erfindungsgemäß modifizierte Nachricht empfangen wird, werden in einem erfindungsgemäßen Kommunikationscontroller zwei CRC-Schieberegister implementiert, die parallel arbeiten. Nach dem Empfang des CRC Delimiter, wenn der CRC-Code im Empfänger ausgewertet wird, steht aufgrund der erfindungsgemäßen Kennzeichnung beziehungsweise der beispielsweise aus der Kennzeichnung oder dem Inhalt des Data Length Code abgeleiteten dritten Umschaltbedingung auch fest, welches Übertragungsverfahren angewendet wurde, und es wird dann das diesem Übertragungsverfahren zugeordnete Schieberegister ausgewertet. Die dritte Umschaltbedingung kann, wie früher bereits dargestellt, mit der ersten Umschaltbedingung, die die Größe des Datenfeldes und die Interpretation des Data Length Code betrifft, übereinstimmen.Since it is not yet certain at the beginning of the reception of a message whether a standard-compliant CAN message or a message modified according to the invention is received, two CRC shift registers which operate in parallel are implemented in a communications controller according to the invention. After receiving the CRC delimiter, when the CRC code is evaluated in the receiver, it is also clear which transmission method was used due to the inventive marking or the third switching condition derived, for example, from the label or the content of the data length code, and then it is evaluated the shift register associated with this transmission method. The third switch condition may, as previously shown, match the first switch condition concerning the size of the data field and the interpretation of the data length code.
Am Anfang des Sendens einer Nachricht steht zwar für den Sender bereits fest, nach welchem Übertragungsverfahren gesendet werden soll. Da es jedoch vorkommen kann, dass die Arbitration um den Buszugriff verloren wird und die begonnene Nachricht nicht gesendet, sondern stattdessen eine andere Nachricht empfangen wird, werden auch hier beide CRC-Schieberegister parallel angesteuert.At the beginning of the transmission of a message, it is already clear to the sender which transmission method should be used. Since, however, it may happen that the arbitration is lost around the bus access and the message started is not sent, but instead another message is received, here both CRC shift registers are driven in parallel.
Die beschriebene Implementation zweier parallel arbeitender CRC-Schieberegister ermöglicht auch eine weitere Verbesserung: Das CRC-Polynom des Norm CAN-Protokolls (x15 + x14 + x10 + x8 + x7 + x4 + x3 + 1) ist für eine Nachrichten-Länge von weniger als 127 Bits ausgelegt. Wenn erfindungsgemäß übertragene Nachrichten auch längere Datenfelder verwenden, ist es sinnvoll, zur Aufrechterhaltung der Übertragungssicherheit ein anderes, insbesondere längeres CRC-Polynom zu verwenden. Die erfindungsgemäß übermittelten Nachrichten erhalten dementsprechend ein geändertes, insbesondere längeres CRC Field. Im laufenden Betrieb wechseln die Kommunikationscontroller dynamisch zwischen den beiden CRC-Schieberegistern, also dem Norm CAN-gemäßen und dem erfindungsgemäßen Schieberegister, um das jeweils passende Polynom zu verwenden.The described implementation of two CRC shift registers working in parallel also allows a further improvement: The CRC polynomial of the standard CAN protocol (x15 + x14 + x10 + x8 + x7 + x4 + x3 + 1) is for a message length of less than 127 bits designed. If messages transmitted according to the invention also use longer data fields, it makes sense to use another, in particular longer, CRC polynomial to maintain the transmission reliability. The messages transmitted according to the invention accordingly receive a modified, in particular longer CRC field. During operation, the communication controllers dynamically change between the two CRC shift registers, that is to say the CAN-compliant standard and the shift register according to the invention, in order to use the respectively appropriate polynomial.
Natürlich können auch mehr als zwei Schieberegister und dementsprechend mehr als zwei CRC-Polynome abgestuft in Abhängigkeit von der Länge des Datenfeldes oder der gewünschten Übertragungssicherheit zum Einsatz kommen. In diesem Fall muss, sofern eine Kompatibilität zum Norm CAN erhalten bleiben soll, die entsprechende Kennzeichnung und die damit verbundene Umschaltbedingung angepasst werden. Beispielsweise könnte durch das reservierte Bit r0 oder das SRR-Bit in
Es ist im übrigen auch möglich, dass die erste Umschaltbedingung, etwa durch das reservierte Bit r0 oder das SRR-Bit, auf die Möglichkeit längerer Datenfelder und die entsprechende Interpretation des Inhaltes des Data Length Code umschaltet, und dass Ermittlung der dritten Umschaltbedingung und damit einhergehend die Auswahl des für die CRC-Prüfung auszuwertenden CRC-Polynoms dann abhängig vom Inhalt des Data Length Code erfolgt. Die dritte Umschaltbedingung kann dementsprechend auch mehr als zwei Werte annehmen. Beispielsweise könnten die Datenfeldgrößen gemäß DLC 3 ausgewählt werden, also die Werte 0 (für Remote-Frames) 1, ..., 8, 10, 12, 14, 16, 18, 20 und 24 Byte annehmen, und es könnten dann drei CRC-Polynome parallel über geeignete Schieberegister gerechnet werden, zum Beispiel das Norm CRC-Polynom für Datenfelder bis zu 8 Byte, ein zweites CRC-Polynom für Datenfelder bis zu 16 Byte und ein drittes CRC-Polynom für Datenfelder bis zu 24 Byte.Incidentally, it is also possible that the first switching condition, such as the reserved bit r0 or the SRR bit, switches to the possibility of longer data fields and the corresponding interpretation of the content of the data length code, and that determination of the third switching condition and concomitantly the selection of the CRC polynomial to be evaluated for the CRC check then takes place depending on the content of the data length code. Accordingly, the third switching condition may also assume more than two values. For example, the data field sizes could be selected according to
Die Teilnehmerstation befindet sich zunächst in einem den Bus abtastenden Zustand, so lange auf dem Bus kein Kommunikationsverkehr herrscht. Die Abfrage
Sobald der Beginn einer neuen Nachricht festgestellt wurde beginnt im Block
Es werden anschließend ab dem Schritt
Liegt bei der Verzweigung
Liegt hingegen bei der Verzweigung
In
Bei dem derartig modifizierten Empfangsprozess gemäß
Der Übergang zwischen den Zuständen Fast-CAN-Arbitration und Fast-CAN-Data kann abhängig von einer vierten Umschaltbedingung erfolgen, welche mit einer Kennzeichnung der Nachrichten korrespondiert, die den Teilnehmern der Datenübertragung signalisiert, dass die verkürzte Bitlänge angewendet wird. In dem hier dargestellten Ausführungsbeispiel ist die gewählte Position dieser Kennzeichnung das „reserved bit” r0, das vor dem Data Length Code übertragen wird. Sie entspricht also einer möglichen Position der ersten Kennzeichnung, welche zur ersten Umschaltbedingung korrespondiert und die mögliche Verwendung längerer Datenfelder und einer geänderten Interpretation des Data Length Code kennzeichnet, und auch der dritten Kennzeichnung, welche zu einer geänderten CRC Berechnung korrespondiert.The transition between the states Fast-CAN-Arbitration and Fast-CAN-Data can be done depending on a fourth switching condition, which corresponds to an identification of the messages, which signals the participants of the data transmission that the shortened bit length is applied. In the embodiment shown here, the selected position of this tag is the "reserved bit" r0, which is transmitted before the data length code. It thus corresponds to a possible position of the first identifier, which corresponds to the first switching condition and identifies the possible use of longer data fields and a changed interpretation of the data length code, and also the third identifier, which corresponds to a modified CRC calculation.
In diesem Fall, in dem also die erste Umschaltbedingung mit der dritten und vierten Umschaltbedingung zusammenfällt, werden im erfindungsgemäßen Übertragungsverfahren Nachrichten übertragen, deren Bitlänge deutlich verkürzt, deren Datenfeldgröße auf Werte oberhalb 8 Byte ausdehnbar, und deren CRC an das größere Datenfeld angepasst und auf enthaltene Stuff-Bits ausgedehnt ist. Erhebliche Steigerung der Übertragungskapazität über das Bussystem bei gleichzeitig verbesserter Übertragungssicherheit werden so erreicht.In this case, in which the first switching condition coincides with the third and fourth switching condition, in the transmission method according to the invention messages are transmitted whose bit length is significantly shortened, whose data field size can be expanded to values above 8 bytes, and whose CRC is adapted to the larger data field and contained Stuff bits is stretched. Substantial increase of the transmission capacity over the bus system with at the same time improved transmission security are achieved in this way.
Den Nutzen des in
Es ergibt sich unter den gegebenen Randbedingungen eine effektive Übertragungsleistung von 293 Bit in 160 Mikrosekunden, was bei gleicher angenommener Busauslastung einer Datenübertragungsrate entspricht, die gegenüber der nicht modifizierten Norm CAN-Übertragung um einen Faktor 3,7 erhöht ist. Zusätzlich verschiebt sich das Verhältnis von Nutzdaten (Data Field) zu Protokoll-Overhead in vorteilhafter Weise.Under the given boundary conditions, this results in an effective transmission power of 293 bits in 160 microseconds, which, assuming the same assumed bus load, corresponds to a data transmission rate which is increased by a factor of 3.7 compared to the unmodified standard CAN transmission. In addition, the ratio of user data (data field) to protocol overhead shifts in an advantageous manner.
Das Verfahren eignet sich im normalen Betrieb eines Kraftfahrzeuges zur Übertragung von Daten zwischen wenigstens zwei Steuergeräten des Kraftfahrzeuges, welche über einen geeigneten Datenbus verbunden sind. Es ist aber gleichermaßen vorteilhaft einsetzbar während der Fertigung oder Wartung eines Kraftfahrzeuges zur Übertragung von Daten zwischen einer zum Zwecke der Programmierung mit einem geeigneten Datenbus verbundenen Programmierungseinheit und wenigstens einem Steuergerät des Kraftfahrzeuges, welches mit dem Datenbus verbunden ist.The method is suitable in the normal operation of a motor vehicle for the transmission of data between at least two control units of the motor vehicle, which are connected via a suitable data bus. However, it can equally advantageously be used during the manufacture or maintenance of a motor vehicle for the transmission of data between a programming unit connected to a suitable data bus for the purpose of programming and at least one control unit of the motor vehicle which is connected to the data bus.
Insgesamt stellt das Verfahren ein Übertragungsverfahren dar, welches sich dadurch auszeichnet, dass ein Norm-CAN Controller nur minimal geändert werden muss, um erfindungsgemäß arbeiten zu können. Ein erfindungsgemäßer Kommunikationscontroller, der auch als Norm-CAN Controller arbeiten kann, ist nur unwesentlich größer als ein herkömmlicher Norm-CAN Controller. Das zugehörige Anwendungs-Programm muss nicht geändert werden, und schon dann werden Vorteile in der Geschwindigkeit der Datenübertragung erzielt. Durch Verwendung der erweiterten Größe des Datenfeldes und der zugehörigen DLC und CRC kann die Geschwindigkeit der Datenübertragung weiter gesteigert werden, die Anpassungen in der Anwendungs-Software sind minimal. Es können weite Teile des CAN-Conformance-Tests (
Wo in der vorangegangenen Beschreibung der Erfindung auf ISO-Standards Bezug genommen wurde, ist jeweils die zum Anmeldezeitpunkt geltende Fassung des entsprechenden ISO-Standards als Stand der Technik zugrundezulegen.Where reference has been made to ISO standards in the foregoing description of the invention, the version of the corresponding ISO standard in force at the time of filing must be taken as the prior art.
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- DE 10311395 A1 [0005] DE 10311395 A1 [0005]
- DE 102007051657 A1 [0006] DE 102007051657 A1 [0006]
Zitierte Nicht-PatentliteraturCited non-patent literature
- „Bosch Kraftfahrtechnisches Handbuch”, 27. Auflage, 2011, Vieweg + Teubner [0004] "Bosch Automotive Handbook", 27th Edition, 2011, Vieweg + Teubner [0004]
- G. Cena und A. Valenzano behandeln in „Overclocking of controller area networks” (Electronics Letters, Vol. 35, No. 22 (1999), S. 1924) [0007] G. Cena and A. Valenzano discuss in "Overclocking of controller area networks" (Electronics Letters, Vol. 35, No. 22 (1999), p. 1924). [0007]
- ISO 16845 [0019] ISO 16845 [0019]
- ISO 11898-5 [0019] ISO 11898-5 [0019]
- CAN-Norm ISO 11898-1 [0021] CAN standard ISO 11898-1 [0021]
- CAN-Norm ISO 11898-1 [0022] CAN standard ISO 11898-1 [0022]
- ISO 11898-1, Kap. 10.8.8 [0032] ISO 11898-1, chap. 10.8.8 [0032]
- ISO 11898-1, Kap. 10.5 [0041] ISO 11898-1, chap. 10.5 [0041]
- ISO 11898-1, Kap. 10.4.2.6: „... the bit stream given by the destuffed bit sequence ...” [0041] ISO 11898-1, chap. 10.4.2.6: "... the bitstream given by the destuffed bit sequence ..." [0041]
- Unruh, Mathony und Kaiser: ”Error Detection Analysis of Automotive Communication Protocols”, SAE International Congress, Nr. 900699, Detroit, USA, 1990 [0041] Unruh, Mathony and Kaiser: "Error Detection Analysis of Automotive Communication Protocols", SAE International Congress, No. 900699, Detroit, USA, 1990 [0041]
- ISO 16845 [0063] ISO 16845 [0063]
- ISO 11898-5 [0063] ISO 11898-5 [0063]
Claims (22)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201110122802 DE102011122802A1 (en) | 2011-04-06 | 2011-04-06 | Method and device for increasing the data transmission capacity in a serial bus system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201110122802 DE102011122802A1 (en) | 2011-04-06 | 2011-04-06 | Method and device for increasing the data transmission capacity in a serial bus system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102011122802A1 true DE102011122802A1 (en) | 2015-04-02 |
Family
ID=52672746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE201110122802 Withdrawn DE102011122802A1 (en) | 2011-04-06 | 2011-04-06 | Method and device for increasing the data transmission capacity in a serial bus system |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102011122802A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10311395A1 (en) | 2003-03-13 | 2004-09-23 | Robert Bosch Gmbh | Communications device with asynchronous data transmission via symmetrical serial data exchange interface, has connecting device between CAN reception line, asynchronous serial interface reception line |
DE102007051657A1 (en) | 2007-10-26 | 2009-04-30 | Robert Bosch Gmbh | Communication system with a CAN bus and method for operating such a communication system |
-
2011
- 2011-04-06 DE DE201110122802 patent/DE102011122802A1/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10311395A1 (en) | 2003-03-13 | 2004-09-23 | Robert Bosch Gmbh | Communications device with asynchronous data transmission via symmetrical serial data exchange interface, has connecting device between CAN reception line, asynchronous serial interface reception line |
DE102007051657A1 (en) | 2007-10-26 | 2009-04-30 | Robert Bosch Gmbh | Communication system with a CAN bus and method for operating such a communication system |
Non-Patent Citations (9)
Title |
---|
"Bosch Kraftfahrtechnisches Handbuch", 27. Auflage, 2011, Vieweg + Teubner |
CAN-Norm ISO 11898-1 |
G. Cena und A. Valenzano behandeln in "Overclocking of controller area networks" (Electronics Letters, Vol. 35, No. 22 (1999), S. 1924) |
ISO 11898-1, Kap. 10.4.2.6: "... the bit stream given by the destuffed bit sequence ..." |
ISO 11898-1, Kap. 10.5 |
ISO 11898-1, Kap. 10.8.8 |
ISO 11898-5 |
ISO 16845 |
Unruh, Mathony und Kaiser: "Error Detection Analysis of Automotive Communication Protocols", SAE International Congress, Nr. 900699, Detroit, USA, 1990 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2695076B1 (en) | Method and device for increasing the data transmission capacity in a serial bus system | |
EP2695074B1 (en) | Method and apparatus for adapting the data transmission security in a serial bus system | |
EP2740042B1 (en) | Method and apparatus for improving the data transfer security in a serial data transfer with flexible message size | |
EP2727000B1 (en) | Method and device for serial data transmission having a flexible message size and a variable bit length | |
EP2702497B1 (en) | Method and device for serial data transmission which is adapted to memory sizes | |
EP2726999B1 (en) | Method and device for serial data transmission having a flexible message size and a variable bit length | |
EP2936747B1 (en) | Data transmission using a protocol exception state | |
EP3429136A1 (en) | Method for transmitting data via a serial communication bus, correspondingly designed bus interface and corresponding computer program | |
EP1298849A2 (en) | Method and device for transmitting information via a bus system and bus system | |
DE102012224031A1 (en) | Data transfer protocol with log exception state | |
DE10246793B4 (en) | Transmission control device using a CAN protocol | |
EP3152872B1 (en) | Transmission unit with checking function | |
DE102011006884A1 (en) | Method for transferring serial data in bus system, involves determining size of data field in presence of switching condition, so that values of four bits of data length code partially deviating from specific standard are interpreted | |
EP2726998B1 (en) | Method and device for serial data transmission having a flexible message size and a variable bit length | |
DE102011122843A1 (en) | Method for transferring serial data in bus system of motor vehicle, involves integrating information about error passive state of bus into frames by additional bit | |
DE102011122801A1 (en) | Method and device for adapting the data transmission security in a serial bus system | |
DE102011006875A1 (en) | Method for serial transmission of data between programming unit and control device, during manufacturing of motor vehicle, involves using check field of messages with number of bits or polynomial depending on value of condition | |
DE102011122845A1 (en) | Method for serial data transmission in bus system connected with control device of motor vehicle, involves providing marker by recessive bit and dominant bit following recessive bit of marker in all messages if marker is present | |
DE102011122802A1 (en) | Method and device for increasing the data transmission capacity in a serial bus system | |
DE102011017539A1 (en) | Method for serial data transmission between e.g. two control devices of motor vehicle during normal operation of motor vehicle, involves adapting retransmitted data quantity corresponding to size difference between data field and storage | |
DE102011122826A1 (en) | Method and device for memory data adapted serial data transmission | |
WO2017063996A1 (en) | Method for generating a secret in a network comprising at least two transmission channels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R129 | Divisional application from |
Ref document number: 102011006884 Country of ref document: DE |
|
R131 | Declaration of division deemed not made | ||
R409 | Internal rectification of the legal status completed | ||
R409 | Internal rectification of the legal status completed | ||
R005 | Application deemed withdrawn due to failure to request examination |