WO2009080524A1 - Verfahren zum übertragen von daten in einem zyklusbasierten kommunikationssystem - Google Patents

Verfahren zum übertragen von daten in einem zyklusbasierten kommunikationssystem Download PDF

Info

Publication number
WO2009080524A1
WO2009080524A1 PCT/EP2008/067226 EP2008067226W WO2009080524A1 WO 2009080524 A1 WO2009080524 A1 WO 2009080524A1 EP 2008067226 W EP2008067226 W EP 2008067226W WO 2009080524 A1 WO2009080524 A1 WO 2009080524A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
subscriber
messages
data blocks
transmitted
Prior art date
Application number
PCT/EP2008/067226
Other languages
English (en)
French (fr)
Inventor
Marc Schreier
Corina Weber
Original Assignee
Robert Bosch Gmbh
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch Gmbh filed Critical Robert Bosch Gmbh
Priority to US12/735,136 priority Critical patent/US20110022752A1/en
Priority to CN2008801219324A priority patent/CN101904137A/zh
Publication of WO2009080524A1 publication Critical patent/WO2009080524A1/de

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40241Flexray

Definitions

  • the present invention relates to a method for transmitting data from a transmitting subscriber of a communication system via a communication medium of the communication system to a receiving subscriber of the
  • the data is transmitted via the communication medium in messages comprising a plurality of data blocks in each case.
  • the receiving subscriber identifies the end of the data blocks in the received messages and then extracts the transmitted data from the identified data blocks.
  • the invention relates to a receiving subscriber of a cycle-based communication system.
  • the communication system comprises the subscriber, at least one further subscriber and at least one communication medium via which the subscribers are connected to one another for the purpose of data transmission.
  • the participant and the at least one other participant have means for
  • Transmission of the data via the communication medium in messages comprising in each case a plurality of data blocks.
  • the subscriber has first means for identifying the end of the data blocks in the received messages and second means for subsequently extracting the transmitted data from the identified data blocks.
  • the present invention also relates to a transmitting subscriber of a communication system.
  • the communication system comprises the subscriber, at least one further subscriber and at least one communication medium via which the subscribers are connected to one another for the purpose of data transmission.
  • the participant and the at least one other participant have means for
  • Transmission of the data via the communication medium in messages comprising in each case a plurality of data blocks.
  • the subscriber has means for inserting the to be transmitted Data in the data blocks for subsequent transfer of the data over the communication medium in the repeating messages.
  • the communication between different subscribers of such a data transmission system takes place more and more via a bus system.
  • the communication traffic on the bus system, access and reception mechanisms, as well as error handling are regulated by a protocol.
  • a well-known protocol is, for example, the FlexRay protocol, which is currently based on the FlexRay protocol specification v2.1.
  • FlexRay is a fast, deterministic and fault-tolerant bus system, especially for use in motor vehicles.
  • the FlexRay protocol operates according to the principle of Time Division Multiple Access (TDMA), whereby the participants or the messages to be transmitted are assigned fixed time slots in which they have exclusive access to the communication connection. The time slots are repeated in a fixed cycle, so that the time at which a message is transmitted over the bus, can be accurately predicted and the bus access is deterministic.
  • TDMA Time Division Multiple Access
  • FlexRay In order to get the most out of bandwidth for the transmission of messages on the bus system, FlexRay divides the messages into a static and a dynamic part. The fixed time slots are located in the static part at the beginning of a message. In the dynamic part, the time slots are specified dynamically. In this case, exclusive bus access is now only possible for a short time, for the duration of at least one so-called minislot. Only if a bus access occurs within a minislot, the time slot is extended by the required time. Thus, bandwidth is only consumed when it is actually needed. FlexRay communicates via one or two physically separate lines with a maximum data rate of 10 Mbit / sec. Of course, FlexRay can also be operated at lower data rates.
  • the two channels correspond to the physical layer, in particular the so-called OSI (Open System Architecture) layer model. These are mainly used for the redundant and thus fault-tolerant transmission of messages, however, they can also transmit different messages, which would double the data rate. It is also conceivable that the signal transmitted via the connecting lines results from the difference of signals transmitted via the two lines.
  • the physical layer is designed such that it enables electrical or optical transmission of the signal (s) via the line (s) or transmission by other means (eg radio, infrared, etc.).
  • the subscribers in the communication network need a common time base, the so-called global time.
  • synchronization messages are transmitted in the static part of the cycle, with the help of a special algorithm according to the FlexRay specification, the local time of a subscriber is corrected so that all local clocks run synchronously to a global clock.
  • Messages in a FlexRay communication system are also referred to as FlexRay frames.
  • the messages comprise several data blocks (so-called Protocol Data Unit, PDU) with the data to be transmitted.
  • the data blocks usually have a fixed length according to the FlexRay specification.
  • the length of the data blocks is specified as part of the configuration of the communication system. Messages with multiple blocks of variable length can not be realized in FlexRay at this time. However, for certain types of data transmission in a FlexRay communications system, it would be desirable to be able to transmit data in messages with multiple variable-length data blocks.
  • variable length data blocks are also conceivable.
  • a message comprises only a single block of data.
  • header the length of the message transmitted
  • the length of the message transmitted can be used to deduce the length of the single data block contained therein.
  • messages with only one variable length data block can not achieve the desired high data rates.
  • the data to be transmitted are divided according to the prior art in a transmitting FlexRay subscriber or in a communication controller of the subscriber to the data blocks of the messages and transmitted via the communication medium. Due to the configuration of the FlexRay communication system, the sending subscriber has knowledge about the fixed length of the data blocks, so that he can split the data to be sent accordingly to the data blocks. The receiving participant has also due to the configuration of the FlexRay
  • the present invention has the object, in a FlexRay communication system in a simple, inexpensive and robust way to allow data transmission in messages comprising a plurality of data blocks with variable length.
  • the receiving subscriber identifies the end of the data block in the received messages at least for the data blocks of variable length by transmitting information relating to the at least in the variable-length data blocks Length of the data block is read from the data block and evaluated or by at least one subsequent to the data blocks with variable Length in the messages transmitted information regarding the end of the data block is read and evaluated.
  • the idea underlying the present invention is to provide the receiving subscribers of the communication system with a means of identifying the length of the data blocks in the received messages.
  • two different possibilities are proposed according to the invention, but both allow a data transmission in messages comprising a plurality of data blocks with variable length in the simplest possible, cost-effective and robust manner.
  • information relating to the length of the data block is inserted in the message at least for the data blocks with variable length at the transmitting subscriber of the communication system.
  • this information can be transmitted by default for both the variable-length data blocks and the fixed-length data blocks.
  • the information can either be inserted in front of a data block and then contains the length for the subsequent data block or else the length information is inserted directly into the data block and is thus part of the data block.
  • the information can for example be inserted in a header (so-called header) of the data block and transmitted together with the data block in the message to the recipient or recipients.
  • the receiving subscriber receives information about the length of the received data blocks and can also with a variable length of the data blocks without large
  • Expenditure determine the end of the respective data blocks. This is a prerequisite for the receiving party to extract the correct data from the incoming message (ie the incoming bit stream). Often it is the case that the data blocks of an incoming message are intended for different recipients. For example, if the third data block of a message is destined for a particular receiver, it must know exactly where or when the previous second data block stops, that is, where the third data block begins and where or when the third data block stops. This is the only way for the recipient to extract exactly the data of the third data block intended for him from the message.
  • the transmitting subscriber of the communication system is informed of the end of the data blocks in inserted the messages.
  • this information can be transmitted by default for both the variable-length data blocks and the fixed-length data blocks.
  • the information may be a kind of tag which signals the end of each data block and is inserted into the message immediately following the data block.
  • the receiving party detects when receiving and evaluating the incoming message (that is, the incoming bit stream), for example, the information is a particular bit combination.
  • the receiving participant reads in the incoming data stream, evaluates it and recognizes - if available - the information contained therein with respect to the end of a data block.
  • the receiver learns from the information transmitted in the message regarding the end of the data blocks. For the data blocks of constant length, the receiver knows the end of the data blocks either via the configuration, or the receiver determines the end of the data blocks based on the transmitted information regarding the end of the data blocks.
  • the method according to the invention is used in a cycle-based communication system, wherein the data is transmitted via the communication medium in messages repeating in communication cycles.
  • cycle-based communication systems are the Interbus fieldbus system, the so-called “light control bus” (according to the DMX-512 protocol), TTCAN (Time Triggered CAN) and FlexRay.
  • the bit combination is uniquely identifiable, that is, it differs from the practically or theoretically transmitted or transferable bit combinations. It is particularly advantageous if the information consists of one or two bytes, the contents of which differ from the practically transmitted bytes and thus enables a unique identification of the end of a data block. Accordingly, according to an advantageous development of the invention, it is proposed that the content of the bytes of the data to be transmitted in the messages be determined at the transmitting subscriber and a bit combination is chosen as the information concerning the end of the data block which is not the content of the bytes in the messages to be transmitted data occurs.
  • the data in the communication system be transmitted according to a FlexRay protocol.
  • the present invention provides Significant advantages, since now for the first time in a simple, inexpensive and robust way, a data transmission in messages comprising a plurality of data blocks with variable length is possible.
  • the variable length data blocks are part of the static and / or dynamic segment of the Flex Ray messages.
  • the data transmission in messages comprising a plurality of data blocks of variable length is used in particular wherever high data transmission rates have to be achieved and where data transmission in real time is not absolutely necessary.
  • the selected tag can always be the same for all messages transmitted in the communication system. For example, you can choose a bit combination that is very rare. The marking should therefore be as independent as possible of the transmitted data.
  • the tag used may vary from message to message. It makes sense, therefore, in the message also one Transmit information regarding the tag used so that the receiving subscribers know which bit combination to look for in the received data (or bitstream).
  • the receiving subscriber has information regarding the minimum length of the data blocks and / or the maximum length of the data blocks and the receiving subscriber the information regarding the end of the data blocks not in the entire message, but only in the range of windows, which are limited by the minimum and the maximum length of the data blocks.
  • the receiver determines a window within which it searches the incoming data stream for the end-of-frame flags. Where or when the first data block begins is known to the receiver. Starting from the beginning of the first data block, the receiver sets the window within which it searches for the marking of the end of the first data block to the corresponding area of the incoming bit stream. Starting from the determined end of the first data block (corresponding to the beginning of the second data block), the receiver sets the window within which it searches for the marking of the end of the second data block to the corresponding area of the incoming bit stream and so on.
  • This development is particularly interesting if it is dispensed with to determine the contents of the bytes of the data to be transmitted in the messages at the sending party and to select as information regarding the end of the data block a bit combination that is not the content of the bytes of the messages to be transmitted data occurs.
  • Bitstreams where the markers of the end of the data blocks can not occur anyway are outside the windows and therefore outside the analyzed data. Even if there were included in these areas a bit combination corresponding to the bit combination of the tag, this would not trigger erroneous detection of the end of a data block, as this data area would not be searched and consequently the false tag would not be recognized.
  • the present invention requires a change in both the sending party and the receiving party.
  • the so-called COM layer or the driver software in particular the FlexRay driver software in the participants must be changed so that the sender information about the length of the data blocks or the information regarding the end of the data blocks in the Data blocks or in the messages can be stored, and that when Recipient the stolen information can be extracted from the messages. If the tag recognition were handled in the FlexRay driver, it would be transparent to the COM layer, which would then not need to be changed.
  • the configuration of the communication system must also be adapted to the data transmission according to the invention so that the participants have the additional information required for implementing the invention (eg minimum, maximum length of the data blocks, bit combination used for the marking).
  • a receiving subscriber according to claim 7 and a sending subscriber according to claim 9 are proposed.
  • 1 shows an embodiment of a communication system for implementing the present invention
  • 2 shows a first embodiment of a message for data transmission in a
  • Figure 4 shows a third embodiment of a message for data transmission in one
  • FIG. 5 shows a fourth embodiment of a message for data transmission in a communication system according to FIG. 1;
  • FIG. 6 shows a fifth embodiment of a message for data transmission in one
  • FIG. 7 shows a sixth embodiment of a message for data transmission in a communication system according to FIG. 1;
  • FIG. 8 shows a comparison of transmitted and received message according to a seventh embodiment of the invention;
  • FIG. 9 shows a comparison of transmitted and received message according to an eighth embodiment of the invention;
  • FIG. 10 shows a comparison of transmitted and received message according to a ninth embodiment of the invention.
  • Figure 11 is a known from the prior art message for data transmission in a communication system. Embodiments of the invention
  • a communication system for implementing the method according to the invention is indicated in its entirety in FIG. 1 by the reference numeral 1. It includes several, in the illustrated embodiment five, participants 2 and optionally one or more, in the illustrated embodiment, two, active star coupler 3.
  • the participants 2 include, for example, an engine control unit, a controller for indoor ventilation or other comfort function and / or an automatic transmission control unit.
  • the participants 2 and the star couplers 3 are connected to each other via a communication medium 4 (thick line) such that a kind of star topology of the system 1 results.
  • the active one is indicated in its entirety in FIG. 1 by the reference numeral 1. It includes several, in the illustrated embodiment five, participants 2 and optionally one or more, in the illustrated embodiment, two, active star coupler 3.
  • the participants 2 include, for example, an engine control unit, a controller for indoor ventilation or other comfort function and / or an automatic transmission control unit.
  • the participants 2 and the star couplers 3 are connected to each other via a communication medium 4 (thick line) such that a
  • Star couplers 3 is mainly a router and / or amplifier function.
  • the communication medium 4 is preferably formed as a data bus.
  • the communication system 1 is used to transfer data between the participants 2.
  • Receiving mechanisms on the part of the participants 2, as well as error handling are regulated by a protocol.
  • a well-known protocol is, for example, the FlexRay protocol, which is currently based on the FlexRay protocol specification v2.1.
  • FlexRay is a fast, deterministic and fault-tolerant communication system, especially for use in motor vehicles.
  • the FlexRay protocol operates on the principle of Time Division Multiple Access (TDMA), the participants 2 or the messages to be transmitted fixed time slots are assigned, in which they have exclusive access to the communication medium 4.
  • the time slots are repeated in a fixed cycle, so that the time at which a message is transmitted via the bus 4, can be accurately predicted and the bus access is deterministic.
  • TDMA Time Division Multiple Access
  • the invention is explained below by way of example for a FlexRay communication system.
  • the invention can also be used in other communication systems in which the data can be transmitted according to a message other than the FlexRay protocol that repeats itself in communication cycles comprising a plurality of data blocks of variable length.
  • the connection of the electrical units 5 to the participants 2 is preferably also via a bus system 6, in particular via a Controller Area Network (CAN) bus, a Media Oriented Systems Transport (MOST) bus, or a Local Interconnect Network (LIN) bus.
  • CAN Controller Area Network
  • MOST Media Oriented Systems Transport
  • LIN Local Interconnect Network
  • the data to be transmitted via the communication system 1 originate from the electrical units 5 or are generated in the transmitting subscribers 2 (possibly depending on variables which the electrical units 5 have transmitted to the transmitting subscribers 2).
  • the data transmitted via the communication system 1 are further processed in the receiving subscribers 2 and / or transmitted via the connection 6 to the electrical units 5 for further processing.
  • the message 10 is also called a FlexRay frame. It comprises a header (so-called header) 11 at the beginning of the message 10 and a tail portion (so-called trailer) 12 at the end of the message 10.
  • the user data (so-called payload) 13 are accommodated.
  • the payload data 13 comprises a plurality of data blocks (so-called Protocol Data Units, PDUs) 14, in the exemplary embodiment shown.
  • the PDUs 14 contain different data for different receivers.
  • PDU # 1 the engine speed is stored; the data stored in the PDU # 1 is transmitted from a particular subscriber 2 (e.g., engine control unit) to another subscriber 2 (e.g., automatic transmission control unit).
  • PDU # 2 for example, the engine temperature is stored; the data stored in PDU # 2 is transmitted from one particular subscriber 2 (e.g., the engine control unit) to another subscriber 2 (e.g., interior ventilation control unit).
  • the PDUs 14 of a message 10 have a constant length (static configuration with a constant data length).
  • a first possibility to detect the end of a PDU or the beginning of the subsequent PDU is to insert information about the length of the data block into the data block at least in the data blocks with variable length and to transmit them together with the data block.
  • the data block or the data contained therein is read in and the length of the data block is extracted.
  • the beginning of the first data block and the length of the data blocks of constant length are known to the users 2 via the configuration. Only the length and thus the end of the data blocks with variable length can not be announced to the participants 2 via the configuration. This missing information received by the receiving participants 2 now on the received data blocks themselves, since at least in the data blocks with variable length and the information regarding the length of the data blocks is transmitted and can be evaluated by the receiver.
  • a message in its entirety is designated by the reference numeral 20.
  • the illustrated message 20 comprises a header 11 and a trailer 12, as well as three PDUs 21, 22, of which two PDUs 21 have a dynamic length and a PDU 22 have a constant length.
  • End-of-PDU (EOP) -Marker 23 is inserted, which is an information regarding the end of a data block 21, which at the sending party 2 following a data block 21 with variable length is inserted into the message 20.
  • the marker 23 is preferably not manually attached by the application software of the sending party 2 to the PDU 21 to be sent, but by the communication driver of the sending party 2.
  • the driver attaches the EOP markers 23 to the PDUs 21 to be transmitted, if necessary this is transparent to the user layer.
  • the receiving subscriber 2 is given the opportunity to receive messages even with messages which have a plurality of data blocks 21 of variable length (PDUs 21 with dynamic length), to determine the end of a data block 21 or the beginning of the subsequent data block 22 and to read in the data blocks 21, 22 transmitted data. In this way, the available bandwidth of the communication medium 4 can be optimally utilized.
  • PDUs 21 with dynamic length variable length
  • EOP markers 23 two additional bytes having a specific bit pattern are preferably appended to the end of a PDU 21. In order for a reliable detection of the marker 23 is possible, the use of two bytes is recommended, as this is a higher probability that the bit pattern of the EOP marker 23 is not included in the transmitted data of the payload 13, the EOP marker 23 so contains a characteristic pattern.
  • a Flex Ray message contains a maximum of 254 bytes, that is, a maximum of 254 different bit patterns.
  • the probability that the bit pattern selected for the EOP marker 23 is also contained in the transmitted data of the payload 13 is therefore 1 to 256 and thus very low. In addition, measures are conceivable to reduce the probability of incorrect detection of a bit pattern of the payload 13 even further or even completely ruled out.
  • PDUs 21, 22 can be transmitted. These PDUs can be used by different applications, e.g. Network Management (NM), Transport Layer (TP) or other, to be assigned or used for the transmission of signals and messages (so-called messages) of the application software. Since the PDUs 21, 22 are used for different applications, their size may vary. For this reason, multiple combinations of dynamic or static PDUs 21, 22 in a message 20 may be considered:
  • NM Network Management
  • TP Transport Layer
  • the above list a) to e) initially only reflects the configuration of a message 20. It may happen that not all configured PDUs 21, 22 are transmitted in a message 20 at runtime. For example, a transport layer PDU may only be present in the message 20 as part of a diagnostic session.
  • the EOP marker 23 is inserted in the following embodiments only behind PDUs 21, which can assume a dynamic length. Since PDUs 22 of constant length, the length is already configured in advance and is not changed at runtime, the EOP marker 23 for constant data blocks 22 is not needed. Of course, it is possible, for example, to standardize the algorithms for inserting the EOP marker 23 at the sending party and to determine the end of the data blocks 21, 22 at the receiving
  • the recognition of the dynamic PDU 21 by the EOP marker 23 is very simple since it is already known at the configuration time that there is only one dynamic length PDU 21 in the frame 20 is located.
  • the remaining PDUs 22 in the frame 20 therefore have a constant length.
  • the EOP marker 23 could even be dispensed with, since it is not absolutely necessary for determining the length of the dynamic PDU 21; however, it may facilitate the determination of the length of the PDU 21. However, it is retained for consistency and to simplify a software solution. Otherwise, the following cases should be considered: If the dynamic PDU 21 is at the end of the frame 20, the determination of the start is very easy since the length of the previous static PDUs 22 is known by configuration.
  • the dynamic PDU 21 is at the beginning of the frame 20, its length can be calculated from the lengths of the statically configured PDUs 22.
  • the position and length can be calculated by the lengths of the "surrounding" PDUs 22.
  • FIG. 3 shows an example in which an EOP marker 23 is inserted at the end of the PDUs 21, 22.
  • a bit combination corresponding to the bit combination selected for the EOP marker 23 is included.
  • the EOP markers 23 are evaluated starting from the end of the frame 20. It becomes clear that the first occurring marker 23 must mark the end of the last PDU # 3; the next marker 23 thus the end of the second last PDU # 2. However, in the two bit combinations 24, 23 following in the order of the evaluation, it is not immediately apparent where the second last PDU # 2 starts and where the preceding PDU # 1 ends. Here you can reliably detect the end of the PDU 22 only by the introduction of a further configuration parameter and that the configuration of the minimum or maximum length of a PDU 21, 22. About a plausibility of both lengths and the position of the bit combinations 24, 23, the next detect valid markers 23 and determine the length and position of the second PDU # 2 and the first PDU # 1. The recognition of the EOP markers 23 can also be started from the beginning of the frame 20 or from any other arbitrary position.
  • FIG. 4 shows a sub-case of the case e) in which a dynamic length PDU 21 is located at the beginning of the frame 20 and is only followed by PDUs 22 of constant length. This sub-case can be treated analogously to the case c) explained above in more detail ("a dynamic length per PDU PDU").
  • the dynamic length PDU 21 is at the end of the frame 20, and before that only PDUs 22 of constant length are arranged.
  • the detection of the end of the dynamic PDU 21 is also facilitated by having only the last PDU # 3 having a dynamic length. If, within the payload 13 of the other (constant) PDUs 22, a bit combination 24 randomly matches that of the bit combination selected for the EOP marker 23, this bit combination 24 can be ignored.
  • FIG. 6 shows another case of the case e) in which a dynamic length PDU 21 is located between two PDUs 22 of constant length.
  • the position of the dynamic PDU 21 can be easily detected from the two constant PDUs.
  • the last PDU # 3 has a constant length, therefore the bit combination occurring first (viewed from the end of the message 20) must be the correct EOP marker 23. All other bit patterns occurring in the bit stream which correspond to the bit combination of the EOP marker 23 can be ignored.
  • the minimum and maximum lengths of the dynamic PDUs 21 are known and may not be identical - if there is a PDU 22 of constant length extending between the
  • PDUs 21 of dynamic length its length must be greater than or equal to the dynamic length of the PDUs 21, since within them false EOP markers (e.g., bit combination 24) can be ignored.
  • FIG. 8 shows an embodiment of the invention in which two invalid ones
  • Bit patterns 24 corresponding to the bit combination of the EOP marker 23 are present in a message 20. An unambiguous determination of the valid EOP markers 23 and thus the position and length of the PDUs 21, 22 contained in the frame 20 is possible.
  • FIG. 9 shows another embodiment of the invention in which several, in the example three, invalid bit patterns 24 which correspond to the bit combination of the EOP marker 23 are present in a message 20. Even if the conditions defined above are met, it is not possible to uniquely identify the valid EOP markers 23. An unambiguous determination of the position and length of the PDUs 21, 22 is thus not possible in this exceptional case.
  • a predefined EOP marker 23 is helpful for unambiguously identifying the PDUs 21, 22 of a message.
  • the described problems with a clear identification of the EOP markers 23 in a message can be prevented if, instead of an EOP marker 23 with predefined static content, an EOP marker 23 generated dynamically at runtime is used.
  • the bit combination of the EOP marker 23 is determined dynamically on the basis of the payload 13.
  • the payload 13 of the frame 20 is composed of the individual PDUs 21, 22 before sending the data, with placeholders 25 being maintained for the EOP markers.
  • the entire frame 20 is analyzed to find a byte with a unique bit sequence that does not occur within the payload 13. This sequence forms the new EOP marker 23 for this frame 20 and will be before the actual
  • the marker 23 may also comprise more than one byte.
  • the bit sequence used for the current frame 20 is recognized for the EOP marker 23 since the receiver knows that the bit sequence must be at the end of the last PDU. In this respect, it is not necessary for additional information regarding the bit sequence used to be transmitted from the transmitter to the receiver.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum übertragen von Daten von einem sendenden Teilnehmer (2) eines zyklusbasierten Kommunikationssystems (1) über ein Kommunikationsmedium (4) des Kommunikationssystems (1) an einen empfangenden Teilnehmer (2) des Kommunikationssystems (1). Die Daten werden über das Kommunikationsmedium (4) in sich in Kommunikationszyklen wiederholenden Botschaften (20) umfassend jeweils mehrere Datenblöcke (21; 22) übertragen. Der empfangende Teilnehmer (2) identifiziert in den empfangenen Botschaften (20) das Ende der Datenblöcke (21; 22) und entnimmt anschließend die übertragenen Daten aus den identifizierten Datenblöcken (21; 22).

Description

Beschreibung
Titel
Verfahren zum Übertragen von Daten in einem zyklusbasierten Kommunikationssystem,
Stand der Technik
Die vorliegende Erfindung betrifft ein Verfahren zum Übertragen von Daten von einem sendenden Teilnehmer eines Kommunikationssystems über ein Kommunikationsmedium des Kommunikationssystems an einen empfangenden Teilnehmer des
Kommunikationssystems. Die Daten werden über das Kommunikationsmedium in Botschaften umfassend jeweils mehrere Datenblöcke übertragen. Der empfangende Teilnehmer identifiziert in den empfangenen Botschaften das Ende der Datenblöcke und entnimmt anschließend die übertragenen Daten aus den identifizierten Datenblöcken.
Die Erfindung betrifft einen empfangenden Teilnehmer eines zyklusbasierten Kommunikationssystems. Das Kommunikationssystem umfasst den Teilnehmer, mindestens einen weiteren Teilnehmer und mindestens ein Kommunikationsmedium, über das die Teilnehmer zum Zwecke einer Datenübertragung miteinander in Verbindung stehen. Der Teilnehmer und der mindestens eine weitere Teilnehmer weisen Mittel zur
Übertragung der Daten über das Kommunikationsmedium in Botschaften umfassend jeweils mehrere Datenblöcke auf. Der Teilnehmer weist erste Mittel zum Identifizieren des Endes der Datenblöcke in den empfangenen Botschaften und zweite Mittel zur anschließenden Entnahme der übertragenen Daten aus den identifizierten Datenblöcken auf.
Schließlich betrifft die vorliegende Erfindung auch einen sendenden Teilnehmer eines Kommunikationssystems. Das Kommunikationssystem umfasst den Teilnehmer, mindestens einen weiteren Teilnehmer und mindestens ein Kommunikationsmedium, über das die Teilnehmer zum Zwecke einer Datenübertragung miteinander in Verbindung stehen. Der Teilnehmer und der mindestens eine weitere Teilnehmer weisen Mittel zur
Übertragung der Daten über das Kommunikationsmedium in Botschaften umfassend jeweils mehrere Datenblöcke auf. Der Teilnehmer weist Mittel zum Einfügen der zu übertragenden Daten in die Datenblöcke für die anschließende Übertragung der Daten über das Kommunikationsmedium in den sich wiederholenden Botschaften auf.
Die Vernetzung von Steuergeräten, Sensorik und Aktuatorik mit Hilfe eines Kommunikationssystems und einer Kommunikationsverbindung bspw. in Form eines Bussystems hat in den letzten Jahren sowohl beim Bau von modernen Kraftfahrzeugen oder auch im Maschinenbau, insbesondere im Werkzeugmaschinenbereich, als auch in der Automatisierung drastisch zugenommen. Synergieeffekte durch Verteilung von Funktionen auf mehrere Steuergeräte können dabei erzielt werden. Man spricht hierbei von verteilten Systemen.
Die Kommunikation zwischen verschiedenen Teilnehmern eines solchen Datenübertragungssystems findet mehr und mehr über ein Bussystem statt. Der Kommunikationsverkehr auf dem Bussystem, Zugriffs- und Empfangsmechanismen, sowie Fehlerbehandlung werden über ein Protokoll geregelt. Ein bekanntes Protokoll ist beispielsweise das FlexRay-Protokoll, wobei derzeit die FlexRay- Protokollspezifikation v2.1 zu Grunde liegt. Bei FlexRay handelt es sich um ein schnelles, deterministisches und fehlertolerantes Bussystem, insbesondere für den Einsatz in Kraftfahrzeugen. Das FlexRay- Protokoll arbeitet nach dem Prinzip des Time Division Multiple Access (TDMA), wobei den Teilnehmern bzw. den zu übertragenden Botschaften feste Zeitschlitze zugewiesen werden, in denen sie einen exklusiven Zugriff auf die Kommunikationsverbindung haben. Die Zeitschlitze wiederholen sich dabei in einem festgelegten Zyklus, so dass der Zeitpunkt, zu dem eine Botschaft über den Bus übertragen wird, exakt vorausgesagt werden kann und der Buszugriff deterministisch erfolgt.
Um die Bandbreite für die Übertragung von Botschaften auf dem Bussystem optimal zu nutzen, unterteilt FlexRay die Botschaften in einen statischen und einen dynamischen Teil. Die festen Zeitschlitze befinden sich dabei im statischen Teil am Anfang einer Botschaft. Im dynamischen Teil werden die Zeitschlitze dynamisch vorgegeben. Darin wird nun der exklusive Buszugriff jeweils nur für eine kurze Zeit, für die Dauer mindestens eines sogenannten Minislots, ermöglicht. Nur wenn innerhalb eines Minislots ein Buszugriff erfolgt, wird der Zeitschlitz um die benötigte Zeit verlängert. Damit wird Bandbreite also nur verbraucht, wenn sie auch tatsächlich benötigt wird. Dabei kommuniziert FlexRay über eine oder zwei physikalisch getrennte Leitungen mit einer Datenrate von jeweils maximal 10 Mbit/sec. Selbstverständlich kann FlexRay aber auch mit niedrigeren Datenraten betrieben werden. Die beiden Kanäle entsprechen dabei der physikalischen Schicht, insbesondere des sogenannten OSI (Open System Architecture) Schichtenmodells. Diese dienen hauptsächlich der redundanten und damit fehlertoleranten Übertragung von Botschaften, können jedoch auch unterschiedliche Botschaften übertragen, wodurch sich dann die Datenrate verdoppeln würde. Es ist auch denkbar, dass sich das über die Verbindungsleitungen übertragene Signal aus der Differenz von über die beiden Leitungen übertragenen Signalen ergibt. Die physikalische Schicht ist derart ausgestaltet, dass sie eine elektrische aber auch optische Übertragung des oder der Signale über die Leitung(en) oder eine Übertragung auf anderem Wege (z.B. Funk, Infrarot, etc.) ermöglicht.
Um synchrone Funktionen zu realisieren und die Bandbreite durch kleine Abstände zwischen zwei Botschaften zu optimieren, benötigen die Teilnehmer in dem Kommunikationsnetzwerk eine gemeinsame Zeitbasis, die sogenannte globale Zeit. Für die Uhrensynchronisation werden Synchronisationsnachrichten im statischen Teil des Zyklus übertragen, wobei mit Hilfe eines speziellen Algorithmus entsprechend der FlexRay- Spezifikation die lokale Uhrzeit eines Teilnehmers so korrigiert wird, dass alle lokalen Uhren zu einer globalen Uhr synchron laufen.
Botschaften in einem FlexRay- Kommunikationssystem werden auch als FlexRay- Frames bezeichnet. Die Botschaften umfassen mehrere Datenblöcke (sog. Protocol Data Unit, PDU) mit den zu übertragenden Daten. Die Datenblöcke haben gemäß FlexRay- Spezifikation üblicherweise eine fest vorgegebene Länge. Die Länge der Datenblöcke wird im Rahmen der Konfiguration des Kommunikationssystems fest vorgegeben. Botschaften mit mehreren Datenblöcken mit variabler Länge können deshalb in FlexRay derzeit nicht realisiert werden. Für bestimmte Arten der Datenübertragung in einem FlexRay- Kommunikationssystem wäre es jedoch wünschenswert, Daten in Botschaften mit mehreren Datenblöcken mit variabler Länge übertragen zu können. Dies wäre beispielsweise für die Übertragung neuer Software über das Kommunikationsmedium zur Umprogrammierung eines Steuergeräts (Teilnehmers) oder zur Übermittlung von Diagnoseinformationen von einem oder mehreren Steuergeräten (Teilnehmern) an eine an das Kommunikationssystem angeschlossene Testereinheit wünschenswert. Auch zur Übermittlung von Multimediadaten oder zur Übermittlung von Daten anderer sogenannter Infotainment- Funktionen wäre eine Datenübertragung in Botschaften mit mehreren Datenblöcken mit variabler Länge wünschenswert. Grundsätzlich wäre eine Datenübertragung in Botschaften mit mehreren Datenblöcken variabler Länger überall dort interessant, wo relativ hohe Bandbreiten erzielt werden müssen, und es auf eine Datenübertragung in Echtzeit nicht ankommt.
Theoretisch sind gemäß FlexRay-Spezifikation auch Datenblock mit variabler Länge denkbar. Allerdings umfasst in einem solchen Fall eine Botschaft lediglich einen einzigen Datenblock. Dies ist darin begründet, dass in einem Kopfteil (sog. Header) der Botschaft unter anderem auch die Länge der Botschaft abgelegt ist und zusammen mit den Datenblöcken übermittelt wird; die Länge der Datenblöcke ist jedoch nicht in der Botschaft enthalten und wird folglich auch nicht mit übermittelt. Über die Vereinfachung, dass jede Botschaft nur einen Datenblock umfasst, kann von der übermittelten Länge der Botschaft auf die Länge des darin enthaltenen einzigen Datenblocks geschlossen werden. Botschaften mit lediglich einem Datenblock variabler Länge können jedoch die gewünschten hohen Datenraten nicht erreichen.
Die zu übertragenden Daten werden nach dem Stand der Technik in einem sendenden FlexRay-Teilnehmer bzw. in einem Kommunikations-Controller des Teilnehmers auf die Datenblöcke der Botschaften aufgeteilt und über das Kommunikationsmedium übertragen. Der sendende Teilnehmer hat aufgrund der Konfiguration des FlexRay- Kommunikationssystems Kenntnisse über die feste Länge der Datenblöcke, so dass er die zu sendenden Daten dementsprechend auf die Datenblöcke aufteilen kann. Der empfangende Teilnehmer hat ebenfalls aufgrund der Konfiguration des FlexRay-
Kommunikationssystems Kenntnisse über die Länge der Datenblöcke, so dass er die gesendeten Daten dementsprechend aus den Datenblöcken entnehmen kann. Falls Datenblöcke mit variabler Länge eingesetzt werden, wird im empfangenden Teilnehmer aus der im Kopfteil der Botschaft übermittelten Information bezüglich der Länge der Botschaft auf die Länge des darin enthaltenen Datenblocks geschlossen und die gesendeten Daten können dem Datenblock entnommen werden. Im Stand der Technik werden also die Datenblöcke der Botschaften entweder über die Konfigurationsdaten oder über die mit übermittelte Länge der Botschaften identifiziert.
Ausgehend von dem beschriebenen Stand der Technik liegt der vorliegenden Erfindung die Aufgabe zugrunde, in einem FlexRay- Kommunikationssystem auf eine möglichst einfache, kostengünstige und robuste Weise eine Datenübertragung in Botschaften umfassend mehrere Datenblöcke mit variabler Länge zu ermöglichen.
Offenbarung der Erfindung
Zur Lösung dieser Aufgabe wird ausgehend von dem Verfahren der eingangs genannten Art vorgeschlagen, dass der empfangende Teilnehmer in den empfangenen Botschaften zumindest für die Datenblöcke mit variabler Länge jeweils das Ende des Datenblocks identifiziert, indem eine zumindest in den Datenblöcken mit variabler Länge übermittelte Information bezüglich der Länge des Datenblocks aus dem Datenblock eingelesen und ausgewertet wird oder indem eine zumindest im Anschluss an die Datenblöcke mit variabler Länge in den Botschaften übertragene Information bezüglich des Endes des Datenblocks eingelesen und ausgewertet wird.
Die der vorliegenden Erfindung zugrundeliegende Idee besteht im Wesentlichen darin, bei den empfangenden Teilnehmern des Kommunikationssystems eine Möglichkeit zu schaffen, die Länge der Datenblöcke in den empfangenen Botschaften zu identifizieren. Dazu werden erfindungsgemäß zwei verschiedene Möglichkeiten vorgeschlagen, die jedoch beide auf eine möglichst einfache, kostengünstige und robuste Weise eine Datenübertragung in Botschaften umfassend mehrere Datenblöcke mit variabler Länge ermöglichen.
Vorteile der Erfindung
Gemäß der ersten Möglichkeit wird beim sendenden Teilnehmer des Kommunikationssystem zumindest für die Datenblöcke mit variabler Länge eine Information bezüglich der Länge des Datenblocks in die Botschaft eingefügt. Selbstverständlich kann diese Information standardmäßig sowohl für die Datenblöcke mit variabler Länge als auch für die Datenblöcke mit fester Länge übermittelt werden. Die Information kann entweder jeweils vor einem Datenblock eingefügt werden und beinhaltet dann die Länge für den nachfolgenden Datenblock oder aber die Längeninformation wird direkt in den Datenblock eingefügt und ist somit Bestandteil des Datenblocks. Die Information kann beispielsweise in einen Kopfteil (sog. Header) des Datenblocks eingefügt und zusammen mit dem Datenblock in der Botschaft an den oder die Empfänger übermittelt werden. Auf diese Weise erhält der empfangende Teilnehmer Informationen über die Länge der empfangenen Datenblöcke und kann auch bei einer variablen Länge der Datenblöcke ohne großen
Aufwand das Ende der jeweiligen Datenblöcke ermitteln. Das ist Voraussetzung dafür, dass der empfangende Teilnehmer der eingehenden Botschaft (das heißt dem eingehenden Bitstrom) die richtigen Daten entnimmt. Oft ist es nämlich so, dass die Datenblöcke einer eingehenden Botschaft für unterschiedliche Empfänger bestimmt sind. Wenn beispielsweise der dritte Datenblock einer Botschaft für einen bestimmten Empfänger bestimmt ist, muss dieser genau wissen, wo bzw. wann der vorangegangene zweite Datenblock aufhört, das heißt wo der dritte Datenblock beginnt und wo bzw. wann der dritte Datenblock aufhört. Nur so kann der Empfänger die genau die für ihn bestimmten Daten des dritten Datenblock aus der Botschaft entnehmen.
Gemäß einer zweiten Möglichkeit der vorliegenden Erfindung wird beim sendenden Teilnehmer des Kommunikationssystem zumindest für die Datenblöcke mit variabler Länge im Anschluss an die Datenblöcke eine Information bezüglich des Endes der Datenblöcke in die Botschaften eingefügt. Selbstverständlich kann diese Information standardmäßig sowohl für die Datenblöcke mit variabler Länge als auch für die Datenblöcke mit fester Länge übermittelt werden. Die Information kann eine Art Markierung sein, welche das Ende eines jeden Datenblocks signalisiert und unmittelbar im Anschluss an den Datenblock in die Botschaft eingefügt wird. Der empfangende Teilnehmer detektiert beim Empfangen und Auswerten der eingehenden Botschaft (das heißt des eingehenden Bitstroms) Die Information ist beispielsweise eine bestimmte Bitkombination. Der empfangende Teilnehmer liest den eingehende Datenstrom ein, wertet ihn aus und erkennt - sofern vorhanden - die darin enthaltenen Informationen bezüglich des Endes eines Datenblocks. Wo bzw. wann der erste Datenblock einer Botschaft beginnt ist dem Empfänger durch die Konfiguration bekannt. Wo bzw. wann der erste Datenblock und alle weiteren Datenblöcke mit variabler Länge aufhören, erfährt der Empfänger anhand der in der Botschaft übertragenen Informationen bezüglich des Endes der Datenblöcke. Für die Datenblöcke mit konstanter Länge, kennt der Empfänger das Ende der Datenblöcke entweder über die Konfiguration, oder aber der Empfänger ermittelt das Ende der Datenblöcke anhand der übertragenen Informationen bezüglich des Endes der Datenblöcke.
Vorzugsweise wird das erfindungsgemäße Verfahren in einem zyklusbasierten Kommunikationssystem eingesetzt, wobei die Daten über das Kommunikationsmedium in sich in Kommunikationszyklen wiederholenden Botschaften übertragen werden. Beispiele für zyklusbasierte Kommunikationssysteme sind das Interbus Feldbussystem, der sog. „Lichtsteuerbus" (nach dem DMX-512 Protokoll), TTCAN (Time Triggered CAN) und FlexRay.
Vorzugsweise ist die Bitkombination eindeutig identifizierbar, das heißt sie unterscheidet sich von den praktisch oder theoretisch übertragenen bzw. übertragbaren Bitkombinationen. Besonders vorteilhaft ist es, wenn die Information aus einem oder zwei Bytes besteht, dessen bzw. deren Inhalt sich von den praktisch übertragenen Bytes unterscheidet und so eine eindeutige Identifikation des Endes eines Datenblocks ermöglicht. Dementsprechend wird gemäß einer vorteilhaften Weiterbildung der Erfindung vorgeschlagen, dass beim sendenden Teilnehmer der Inhalt der Bytes der in den Botschaften zu übertragenden Daten ermittelt wird und als Information bezüglich des Endes des Datenblocks eine Bitkombination gewählt wird, die nicht als Inhalt der Bytes der in den Botschaften zu übertragenden Daten vorkommt.
Gemäß einer bevorzugten Ausführungsform der Erfindung wird vorgeschlagen, dass die Daten in dem Kommunikationssystem nach einem FlexRay- Protokoll übertragen werden. Insbesondere für ein FlexRay-Kommunikationssystem bringt die vorliegende Erfindung erhebliche Vorteile, da nun erstmals auf eine möglichst einfache, kostengünstige und robuste Weise eine Datenübertragung in Botschaften umfassend mehrere Datenblöcke mit variabler Länge möglich ist. Die Datenblöcke mit variabler Länge sind Bestandteil des statischen und/oder des dynamischen Segments der Flex Ray- Botschaften. Die Datenübertragung in Botschaften umfassend mehrere Datenblöcke mit variabler Länge wird insbesondere überall dort eingesetzt, wo hohe Datenübertragungsraten erzielt werden müssen und wo eine Datenübertragung in Echtzeit nicht unbedingt erforderlich ist.
Vorteilhafterweise umfasst die Information bezüglich des Endes des Datenblocks höchstens zwei Byte. Wenn man von einer maximalen Länge einer FlexRay- Botschaft von 254 Bytes ausgeht, kann man mit einer zwei Byte (gleich 16 Bit) langen Information 216 = 65.536 mögliche Bitkombinationen (bzw. unterschiedliche Markierungen) realisieren. Dadurch ist die Wahrscheinlichkeit groß, dass man eine zwei Byte lange Bitkombination für die Markierung des Endes des Datenblocks auswählt, die in den übertragenen Daten (bzw. im übertragenen Bitstrom) nicht vorkommt. Die ausgewählte Markierung kann für alle in dem Kommunikationssystem übertragenen Botschaften stets die gleiche sein. Man kann bspw. eine Bitkombination wählen, die nur sehr selten vorkommt. Die Markierung sollte also möglichst unabhängig von den übertragenen Daten sein. Bei dieser Ausführungsform kann also darauf verzichtet werden, dass beim sendenden Teilnehmer der Inhalt der Bytes der in den Botschaften zu übertragenden Daten ermittelt wird und als Information bezüglich des Endes des Datenblocks eine Bitkombination gewählt wird, die nicht als Inhalt der Bytes der in den Botschaften zu übertragenden Daten vorkommt. Als Markierung kann also stets die gleiche Bitkombination genutzt werden. Diese kann den Teilnehmern des Kommunikationssystems bspw. im Rahmen der Konfiguration mitgeteilt werden, so dass die empfangenden Teilnehmer wissen, nach welcher Bitkombination sie in den empfangenen Daten (bzw. dem empfangenen Bitstrom) suchen müssen.
Wenn aber beim sendenden Teilnehmer der Inhalt der Bytes der in den Botschaften zu übertragenden Daten ermittelt wird und als Information bezüglich des Endes des Datenblocks eine Bitkombination gewählt wird, die nicht als Inhalt der Bytes der in den Botschaften zu übertragenden Daten vorkommt, kann die Markierung des Endes des Datenblöcke genau ein Byte umfassen. Wenn man von einer maximalen Länge einer FlexRay- Botschaft von 254 Bytes ausgeht, kann man mit einer ein Byte (gleich acht Bit) langen Information 28 = 256 mögliche Bitkombinationen (bzw. unterschiedliche Markierungen) realisieren. Es kann also immer eine Bitkombination für die Markierung gefunden werden, die in den übermittelten Daten (bzw. im übertragenen Bitstrom) nicht vorkommt. Allerdings kann bei dieser Ausführungsform die verwendete Markierung von Botschaft zu Botschaft variieren. Sinnvollerweise wird deshalb in der Botschaft auch eine Information bezüglich der verwendeten Markierung übertragen, damit die empfangenden Teilnehmer wissen, nach welcher Bitkombination sie in den empfangenen Daten (bzw. dem empfangenen Bitstrom) suchen müssen.
Gemäß einer anderen vorteilhaften Weiterbildung der Erfindung wird vorgeschlagen, dass der empfangende Teilnehmer über Informationen bezüglich der minimalen Länge der Datenblöcke und/oder der maximalen Länge der Datenblöcke verfügt und beim empfangenden Teilnehmer die Informationen bezüglich des Endes der Datenblöcke nicht in der gesamten Botschaft, sondern lediglich im Bereich von Fenstern gesucht werden, die durch die minimale und die maximale Länge der Datenblöcke begrenzt sind. Die
Informationen bezüglich der minimalen und maximalen Länge der Datenblöcke können den Teilnehmern des Kommunikationssystems durch die Konfiguration mitgeteilt werden. Aufgrund dieser Informationen bestimmt der Empfänger ein Fenster, innerhalb dem er den eingehenden Datenstrom nach den Markierungen des Endes der Datenblöcke durchsucht. Wo bzw. wann der erste Datenblock beginnt, ist dem Empfänger bekannt. Ausgehend von dem Beginn des ersten Datenblock, legt der Empfänger das Fenster, innerhalb dem er nach der Markierung des Endes des ersten Datenblocks sucht, auf den entsprechenden Bereich des eingehenden Bitstroms. Ausgehend von dem ermittelten Ende des ersten Datenblocks (entsprechend dem Beginn des zweiten Datenblocks), legt der Empfänger das Fenster, innerhalb dem er nach der Markierung des Endes des zweiten Datenblocks sucht, auf den entsprechenden Bereich des eingehenden Bitstroms und so weiter. Diese Weiterbildung ist besonders interessant, wenn darauf verzichtet wird, beim sendenden Teilnehmer den Inhalt der Bytes der in den Botschaften zu übertragenden Daten zu ermitteln und als Information bezüglich des Endes des Datenblocks eine Bitkombination zu wählen, die nicht als Inhalt der Bytes der in den Botschaften zu übertragenden Daten vorkommt. Die Bereiche des
Bitstroms, an denen die Markierungen des Endes der Datenblöcke sowieso nicht auftreten können, liegen außerhalb der Fenster und damit außerhalb der analysierten Daten. Selbst wenn in diesen Bereichen eine Bitkombination enthalten wäre, die der Bitkombination der Markierung entspricht, würde diese keine fehlerhafte Detektion des Endes eines Datenblocks auslösen, da dieser Datenbereich nicht durchsucht und die falsche Markierung folglich nicht erkannt würde.
Die vorliegenden Erfindung erfordert eine Veränderung bzw. Ergänzung sowohl im sendenden Teilnehmer als auch im empfangenden Teilnehmer. Insbesondere die sog. COM-Schicht oder die Treiber-Software, insbesondere die FlexRay-Treiber-Software, in den Teilnehmern muss so verändert werden, dass beim Sender die Informationen bezüglich der Länge der Datenblöcke bzw. die Informationen bezüglich des Endes der Datenblöcke in den Datenblöcken bzw. in den Botschaften abgelegt werden können, und dass beim Empfänger die abgelegten Informationen aus den Botschaften extrahiert werden können. Wenn die Erkennung der Markierung in dem FlexRay-Treiber abgehandelt würde, wäre dies transparent für die COM-Schicht, die dann nicht verändert werden müsste. Auch die Konfiguration des Kommunikationssystems muss an die erfindungsgemäße Datenübertragung angepasst werden, damit den Teilnehmern die für die Realisierung der Erfindung erforderlichen zusätzlichen Informationen (z.B. minimale, maximale Länge der Datenblöcke; für die Markierung verwendete Bitkombination) zur Verfügung gestellt werden. Insbesondere wird ein empfangender Teilnehmer gemäß Anspruch 7 und ein sendender Teilnehmer gemäß Anspruch 9 vorgeschlagen.
Kurze Beschreibung der Zeichnungen
Die Erfindung wird nachfolgend unter Bezugnahme auf die Figuren näher erläutert. Es zeigen:
Figur 1 eine Ausführungsform eines Kommunikationssystems zur Realisierung der vorliegenden Erfindung; Figur 2 eine erste Ausführungsform einer Botschaft zur Datenübertragung in einem
Kommunikationssystem gemäß Figur 1; Figur 3 eine zweite Ausführungsform einer Botschaft zur Datenübertragung in einem
Kommunikationssystem gemäß Figur 1; Figur 4 eine dritte Ausführungsform einer Botschaft zur Datenübertragung in einem
Kommunikationssystem gemäß Figur 1;
Figur 5 eine vierte Ausführungsform einer Botschaft zur Datenübertragung in einem Kommunikationssystem gemäß Figur 1;
Figur 6 eine fünfte Ausführungsform einer Botschaft zur Datenübertragung in einem
Kommunikationssystem gemäß Figur 1; Figur 7 eine sechste Ausführungsform einer Botschaft zur Datenübertragung in einem Kommunikationssystem gemäß Figur 1; Figur 8 einen Vergleich von gesendeter und empfangener Botschaft gemäß einer siebten Ausführungsform der Erfindung; Figur 9 einen Vergleich von gesendeter und empfangener Botschaft gemäß einer achten Ausführungsform der Erfindung;
Figur 10 einen Vergleich von gesendeter und empfangener Botschaft gemäß einer neunten Ausführungsform der Erfindung; und
Figur 11 eine aus dem Stand der Technik bekannte Botschaft zur Datenübertragung in einem Kommunikationssystem. Ausführungsformen der Erfindung
Ein Kommunikationssystems zur Realisierung des erfindungsgemäßen Verfahrens ist in seiner Gesamtheit in Figur 1 mit dem Bezugszeichen 1 bezeichnet. Es umfasst mehrere, im dargestellten Ausführungsbeispiel fünf, Teilnehmer 2 und wahlweise einen oder mehrere, im dargestellten Ausführungsbeispiel zwei, aktive Sternkoppler 3. Die Teilnehmer 2 umfassen bspw. ein Motorsteuergerät, ein Steuergerät für eine Innenraumlüftung oder eine andere Komfortfunktion und/oder ein Automatikgetriebe-Steuergerät. Die Teilnehmer 2 und die Sternkoppler 3 sind über ein Kommunikationsmedium 4 (dicke Linie) derart miteinander verbunden, dass sich eine Art Sterntopologie des Systems 1 ergibt. Den aktiven
Sternkopplern 3 kommt hauptsächlich eine Router- und/oder Verstärkerfunktion zu. Das Kommunikationsmedium 4 ist vorzugsweise als ein Datenbus ausgebildet.
Das Kommunikationssystem 1 dient zur Übertragung von Daten zwischen den Teilnehmern 2. Der Kommunikationsverkehr auf dem Bussystem 4, Zugriffs- und
Empfangsmechanismen auf Seiten der Teilnehmer 2, sowie Fehlerbehandlung werden über ein Protokoll geregelt. Ein bekanntes Protokoll ist beispielsweise das FlexRay-Protokoll, wobei derzeit die FlexRay-Protokollspezifikation v2.1 zu Grunde liegt. Bei FlexRay handelt es sich um ein schnelles, deterministisches und fehlertolerantes Kommunikationssystem, insbesondere für den Einsatz in Kraftfahrzeugen. Das FlexRay-Protokoll arbeitet nach dem Prinzip des Time Division Multiple Access (TDMA), wobei den Teilnehmern 2 bzw. den zu übertragenden Botschaften feste Zeitschlitze zugewiesen werden, in denen sie einen exklusiven Zugriff auf das Kommunikationsmedium 4 haben. Die Zeitschlitze wiederholen sich dabei in einem festgelegten Zyklus, so dass der Zeitpunkt, zu dem eine Botschaft über den Bus 4 übertragen wird, exakt vorausgesagt werden kann und der Buszugriff deterministisch erfolgt. Die Erfindung wird nachfolgend beispielhaft für ein FlexRay- Kommunikationssystem erläutert. Selbstverständlich kann die Erfindung auch in anderen Kommunikationssystemen Anwendung findet, in denen die Daten nach einem anderen als dem FlexRay-Protokoll in sich in Kommunikationszyklen wiederholenden Botschaften umfassend jeweils mehrere Datenblöcke variabler Länge übertragen werden können.
An die Teilnehmer 2 sind elektrische Einheiten 5, bspw. in Form von Raddrehzahlsensoren, Reifenluftdrucksensoren, Einspritzdrucksensoren, Motortemperatursensoren, Lenkwinkelsensoren, Elektromotoren für Komfortfunktionen (Sitzverstellung, Umluftklappe der Belüftung, elektrische Fensterheber, etc.), Gebläse für Komfortfunktionen
(Innenraumbelüftung, Sitzbelüftung, Sitzverstellung), Bildschirm, Navigationssystem, Multimediasystem und so weiter angeschlossen. Der Anschluss der elektrischen Einheiten 5 an die Teilnehmer 2 erfolgt vorzugsweise ebenfalls über ein Bussystem 6, insbesondere über einen CAN (Controller Area Network) -Bus, einen MOST (Media Oriented Systems Transport) -Bus oder einen LIN (Local Interconnect Network)-Bus. Die über das Kommunikationssystem 1 zu übertragenden Daten stammen von den elektrischen Einheiten 5 oder werden in den sendenden Teilnehmern 2 generiert (u.U. in Abhängigkeit von Größen, welche die elektrischen Einheiten 5 an die sendenden Teilnehmer 2 übermittelt haben). Die über das Kommunikationssystem 1 übertragenen Daten werden in den empfangenden Teilnehmern 2 weiter verarbeitet und/oder über die Verbindung 6 an die elektrischen Einheiten 5 zur Weiterverarbeitung übermittelt.
In Figur 11 ist ein Beispiel für eine aus dem Stand der Technik bekannte FlexRay-Boschaft in ihrer Gesamtheit mit dem Bezugszeichen 10 bezeichnet. Die Botschaft 10 wird auch als FlexRay- Frame bezeichnet. Sie umfasst einen Kopfteil (sog. Header) 11 am Anfang der Botschaft 10 sowie einen Schwanzteil (sog. Trailer) 12 am Ende der Botschaft 10. Dazwischen sind die Nutzdaten (sog. Payload) 13 untergebracht. Die Nutzdaten 13 umfassen mehrere, im dargestellten Ausführungsbeispiel drei, Datenblöcke (sog. Protocol Data Units; PDUs) 14. In den PDUs 14 sind verschiedene Daten für verschiedene Empfänger untergebracht. So ist bspw. in PDU#1 die Motordrehzahl abgelegt; die in der PDU#1 abgelegten Daten werden von einem bestimmten Teilnehmer 2 (z.B. Motorsteuergerät) an einen anderen Teilnehmer 2 (z.B. Automatikgetriebe-Steuergerät) übermittelt. In der PDU#2 ist bspw. die Motortemperatur abgelegt; die in der PDU#2 abgelegte Daten werden von einem bestimmten Teilnehmer 2 (z.B. dem Motorsteuergerät) an einen anderen Teilnehmer 2 (z.B. Steuergerät für die Innenraumlüftung) übermittelt. Nach dem Stand der Technik haben die PDUs 14 einer Botschaft 10 eine konstante Länge (statische Konfiguration mit konstanter Datenlänge). Lediglich in dem Fall, dass eine Botschaft 10 nur einen einzigen Datenblock 14 umfasst, ist es im Stand der Technik möglich, Daten in Botschaften mit einem Datenblock 14 variabler Länge zu übertragen, da in einem solchen Fall von der zusammen mit der Botschaft übermittelten Längeninformation der Botschaft auf die Länge des darin enthaltenen einzigen Datenblocks geschlossen werden kann.
Insbesondere bei einer Datenübertragung über das Kommunikationssystem, bei der eine große Übertragungsrate gefordert wird und eine Echtzeitübertragung jedoch nur eine untergeordnete Bedeutung hat, z.B. bei einer Umprogrammierung eines Steuergeräts (Datenübertragung von einem externen Programmiergerät an einen Teilnehmer 2 des Kommunikationssystems 1) oder beim Auslesen von Diagnoseinformationen
(Datenübertragung von einem Teilnehmer 2 des Kommunikationssystems 1 an einen externen Tester), wäre es wünschenswert, eine Möglichkeit zu schaffen, dass Daten auch in Botschaften übertragen werden können, die mehrere Datenblöcke umfassen, von denen mindestens zwei eine variable Länge aufweisen. Eine solche Möglichkeit wird mit Hilfe der vorliegenden Erfindung geschaffen.
Zur Extrahierung der PDUs 14 aus einer Botschaft 10 wird eine Möglichkeit benötigt, insbesondere bei PDUs mit variabler Länge das Ende einer PDU bzw. den Anfang der nachfolgenden PDU zu erkennen. Ein wesentlicher Teil der nachfolgenden Figurenbeschreibung ist deshalb auf die Erkennung einer dynamischen PDU innerhalb einer Botschaft gerichtet.
Eine erste Möglichkeit, das Ende einer PDU bzw. den Anfang der nachfolgenden PDU zu erkennen, besteht darin, zumindest in den Datenblöcken mit variabler Länge eine Information bezüglich der Länge des Datenblocks in den Datenblock einzufügen und zusammen mit dem Datenblock zu übertragen. Beim empfangenden Teilnehmer 2 wird der Datenblock bzw. werden die darin enthaltenen Daten eingelesen und die Länge des Datenblocks extrahiert. Der Beginn des ersten Datenblocks und die Länge der Datenblöcke mit konstanter Länge sind den Teilnehmern 2 über die Konfiguration bekannt. Lediglich die Länge und damit das Ende der Datenblöcke mit variabler Länge können den Teilnehmern 2 nicht über die Konfiguration bekannt gegeben werden. Diese fehlenden Informationen erhalten die empfangenden Teilnehmer 2 nun über die empfangenen Datenblöcke selbst, da zumindest in den Datenblöcken mit variabler Länge auch die Information bezüglich der Länge des Datenblöcke mit übertragen wird und vom Empfänger ausgewertet werden kann.
Eine weitere Möglichkeit, das Ende einer PDU bzw. den Anfang der nachfolgenden PDU zu erkennen, wird nachfolgend anhand der Figur 2 näher erläutert. Dort ist eine Botschaft in ihrer Gesamtheit mit dem Bezugszeichen 20 bezeichnet. Die dargestellte Botschaft 20 umfasst einen Header 11 und einen Trailer 12, sowie drei PDUs 21, 22, von denen zwei PDUs 21 eine dynamische Länge und ein PDU 22 eine konstante Länge aufweisen. Jeweils im Anschluss an die PDUs 21 ist ein sog. End-Of-PDU (EOP)-Marker 23 eingefügt, wobei es sich um eine Information bezüglich des Endes eines Datenblocks 21 handelt, der beim sendenden Teilnehmer 2 im Anschluss an einen Datenblock 21 mit variabler Länge in die Botschaft 20 eingefügt wird. Der Marker 23 wird vorzugsweise nicht manuell durch die Anwendungssoftware des sendenden Teilnehmers 2 an die zu sendende PDU 21 angehängt, sondern durch den Kommunikationstreiber des sendenden Teilnehmers 2. Der Treiber hängt den EOP-Marker 23 bei Bedarf an die zu übertragenden PDUs 21 an, damit dies für die Anwenderschicht transparent ist.
Durch den EOP-Marker 23 erhält der empfangende Teilnehmer 2 die Möglichkeit, selbst bei Botschaften, die mehrere Datenblöcke 21 variabler Länge aufweisen (PDUs 21 mit dynamischer Länge), das Ende eines Datenblocks 21 bzw. den Anfang des nachfolgenden Datenblocks 22 zu ermitteln und die in den Datenblöcken 21, 22 übertragenen Daten einzulesen. Auf diese Weise kann die zur Verfügung stehende Bandbreite des Kommunikationsmediums 4 optimal ausgenutzt werden.
Als EOP-Marker 23 werden vorzugsweise zwei zusätzliche Bytes, die ein spezifisches Bitmuster aufweisen, an das Ende einer PDU 21 angehängt. Damit eine zuverlässige Erkennung des Markers 23 möglich ist, ist die Verwendung von zwei Bytes empfehlenswert, da dadurch eine höhere Wahrscheinlichkeit besteht, dass das Bitmuster des EOP-Markers 23 nicht in den übertragenen Daten der Payload 13 enthalten ist, der EOP-Marker 23 also ein charakteristisches Muster enthält. Eine Flex Ray- Botschaft umfasst maximal 254 Bytes, das heißt maximal 254 verschiedene Bitmuster. Bei einer Verwendung von zwei Bytes für den Marker 23 ergeben sich 216 = 65.536 mögliche Bitmusterkombinationen. Die Wahrscheinlichkeit, dass das für den EOP-Marker 23 gewählte Bitmuster auch in den übertragenen Daten der Payload 13 enthalten ist, ist also 1 zu 256 und somit sehr gering. Zusätzlich sind Maßnahmen denkbar, um die Wahrscheinlichkeit einer fehlerhafte Detektion eines Bitmusters der Payload 13 noch weiter zu reduzieren oder gar ganz auszuschließen.
Alternativ ist es auch möglich, den Inhalt des EOP-Markers 23 dynamisch zur Laufzeit der Datenübertragung zu berechnen. Dazu wird der Inhalt der zu übertragenden Daten der Payload 13 bzw. die Bitmuster der Bytes der Botschaft 20, vor der Datenübertragung analysiert. Für den EOP-Marker 23 wird dann eine Bitkombination gewählt, die nicht in den übertragenen maximal 254 Bytes der Payload 13 enthalten ist. Bei dieser alternativen Ausführung reicht sogar ein Byte für den EOP-Marker 23, da sich dadurch insgesamt 28 = 256 mögliche Bitmusterkombinationen, also mehr als die maximal möglichen 254 verschiedenen Bitkombinationen der Bytes der Botschaft 20, für den Marker 23 ergeben.
In einer FlexRay- Botschaft können mehrere PDUs 21, 22 übertragen werden. Diese PDUs können verschiedenen Applikationen, z.B. Network Management (NM), Transport Layer (TP) oder anderen, zugeordnet sein bzw. zur Übertragung von Signalen und Nachrichten (sog. Messages) der Anwendersoftware verwendet werden. Da die PDUs 21, 22 für unterschiedliche Anwendungsfälle eingesetzt werden, kann ihre Größe variieren. Aus diesem Grund können mehrere Kombinationen von PDUs 21, 22 mit dynamischem oder statischem Inhalt in einer Botschaft 20 betrachtet werden:
a) eine PDU 22 konstanter Länge, b) mehrere PDUs konstanter Länge, c) eine PDU dynamischer Länge, d) mehrere PDUs 21 dynamischer Länge, und e) sowohl PDUs 22 mit konstanter als auch PDUs 21 mit dynamischer Länge.
Die obige Liste a) bis e) spiegelt zunächst nur die Konfiguration einer Botschaft 20 wider. Es kann vorkommen, dass zur Laufzeit nicht immer alle konfigurierten PDUs 21, 22 in einer Botschaft 20 übertragen werden. Zum Beispiel wird eine Transport Layer-PDU eventuell nur im Rahmen einer Diagnose-Session in der Botschaft 20 vorhanden sein.
Zur Reduzierung der benötigten Bandbreite, wird der EOP-Marker 23 in den nachfolgenden Ausführungsbeispielen nur hinter PDUs 21 eingefügt, die eine dynamische Länge annehmen können. Da bei PDUs 22 konstanter Länge die Länge bereits im Vorfeld konfiguriert ist und zur Laufzeit nicht geändert wird, wird der EOP-Marker 23 für konstante Datenblöcke 22 nicht benötigt. Selbstverständlich ist es aber möglich, bspw. zur Vereinheitlichung der Algorithmen zum Einfügen der EOP-Marker 23 beim sendenden Teilnehmer und zum Ermitteln des Endes der Datenblöcke 21, 22 beim empfangenden
Teilnehmer, auch im Anschluss an konstante Datenblöcke 22 einen EOP-Marker 23 in die Botschaft 20 einzufügen.
Zur Erkennung von dynamischen PDUs 21 müssen die oben unter a) bis e) aufgeführten möglichen Kombinationen von PDUs 21, 22 in einer Botschaft 20 betrachtet werden.
Im Fall a) ist kein Einfügen und keine Erkennung eines EOP-Markers 23 erforderlich, da bei PDUs 22 konstanter Länge die Länge bereits im Vorfeld aus der Konfiguration bekannt ist und während der Laufzeit nicht mehr geändert wird. Das gleiche gilt für mehrere konstante PDUs 22 pro Botschaft 20 im Fall b).
Bei einer Verwendung einer PDU 21 mit dynamischer Länge pro Botschaft 20 gemäß Fall c) ist die Erkennung der dynamischen PDU 21 durch den EOP-Marker 23 sehr einfach, da bereits zum Konfigurationszeitpunkt bekannt ist, dass sich lediglich eine PDU 21 mit dynamischer Länge im Frame 20 befindet. Die restlichen PDUs 22 im Frame 20 haben demnach eine konstante Länge. In diesem Fall könnte auf den EOP-Marker 23 sogar verzichtet werden, da er zur Bestimmung der Länge des dynamischen PDUs 21 nicht unbedingt erforderlich ist; er kann die Bestimmung der Länge des PDUs 21 aber erleichtern. Aus Konsistenzgründen und zur Vereinfachung einer Software- Lösung wird er jedoch beibehalten. Ansonsten sind folgende Fälle zu betrachten: Liegt die dynamische PDU 21 am Ende des Frames 20, ist die Bestimmung des Starts sehr einfach, da die Länge der vorangegangenen statischen PDUs 22 durch Konfiguration bekannt ist.
Liegt die dynamische PDU 21 am Anfang des Frames 20, kann deren Länge anhand der Längen der statisch konfigurierten PDUs 22 berechnet werden.
Liegt die dynamische PDU 21 zwischen statischen PDUs 22, kann die Position und Länge durch die Längen der „umgebenden" PDUs 22 berechnet werden.
Bei einer Verwendung mehrerer PDUs 21 mit dynamischer Länge pro Botschaft 20 gemäß Fall d) wird ein EOP-Marker 23 unbedingt benötigt, um das Ende der dynamischen PDUs 21 erkennen zu können. Es besteht eine - wenn auch sehr geringe - Gefahr, dass der EOP-Marker 23 auch als Teil der Payload 13 einer PDU 21, 22 in den übertragenen Daten auftaucht. In Figur 3 ist ein Beispiel dargestellt, bei dem am Ende der PDUs 21, 22 jeweils ein EOP-Marker 23 eingefügt ist. In dem PDU#2 mit konstanter Länge ist eine Bitkombination enthalten, die der für den EOP-Marker 23 gewählten Bitkombination entspricht. Somit besteht theoretisch die Gefahr, dass beim Empfänger nach dem Empfangen und Auswerten des Bitstroms die Bitkombination 24 fälschlicherweise als EOP- Marker identifiziert wird. Das kann durch den nachfolgend beschriebenen Algorithmus verhindert werden:
Die EOP-Marker 23 werden vom Ende des Frames 20 beginnend ausgewertet. Es wird deutlich, dass der erste auftretende Marker 23 das Ende des Letzten PDU#3 markieren muss; der nächste Marker 23 folglich das Ende der zweitletzten PDU#2. Bei den in der Reihenfolge der Auswertung folgenden beiden Bitkombinationen 24, 23 ist jedoch nicht unmittelbar erkennbar, wo die zweitletzte PDU#2 beginnt und wo die ihr vorausgehende PDU#1 endet. Hier kann man das Ende der PDU 22 nur durch die Einführung eines weiteren Konfigurationsparameters zuverlässig erkennen und zwar die Konfiguration der minimalen bzw. maximalen Länge einer PDU 21, 22. Über eine Plausibilisierung beider Längen sowie der Position der Bitkombinationen 24, 23, kann der nächste gültige Marker 23 entdeckt und damit die Länge und Position der zweiten PDU#2 und der ersten PDU#1 bestimmt werden. Die Erkennung der EOP-Marker 23 kann auch vom Anfang des Frames 20 oder von jeder anderen beliebigen Position aus gestartet werden.
Bei dem letzten oben angegebenen Fall e) handelt es sich um einen Spezialfall. Der Einfachheit halber werden die folgenden Fälle nur für beispielhaft drei PDUs 21, 22 beschrieben. Falls sich mehr PDUs im Frame 20 befinden, kann der korrekte Algorithmus zur Entdeckung der EOP-Marker 23 durch Kombination der unten beschriebenen Fälle sowie der vorgegangenen Ausführungen abgeleitet werden. In Figur 4 ist ein Unterfall des Falls e) dargestellt, bei dem sich eine PDU 21 mit dynamischer Länge am Anfang des Frames 20 befindet und nur noch von PDUs 22 mit konstanter Länge gefolgt wird. Dieser Unterfall kann analog zu dem oben näher erläuterten Fall c) („eine PDU dynamischer Länge pro Frame") behandelt werden.
Gemäß einem weiteren Unterfall des Falls e), der in Figur 5 dargestellt ist, befindet sich die PDU 21 mit dynamische Länge am Ende des Frames 20, und davor sind nur PDUs 22 mit konstanter Länge angeordnet. In diesem Unterfall ist die Erkennung des Endes der dynamischen PDU 21 ebenfalls dadurch erleichtert, dass nur die letzte PDU#3 eine dynamische Länge aufweist. Falls sich innerhalb der Payload 13 der anderen (konstanten) PDUs 22 zufällig eine Bitkombination 24 wiederfindet, die der für den EOP-Marker 23 gewählten Bitkombination entspricht, kann diese Bitkombination 24 ignoriert werden.
In Figur 6 ist ein weiterer Unterfall des Falls e) dargestellt, bei dem sich eine PDU 21 mit dynamischer Länge zwischen zwei PDUs 22 mit konstanter Länge befindet. Hier kann die Position der dynamischen PDU 21 anhand der beiden konstanten PDUs sehr leicht entdeckt werden. Die letzte PDU#3 hat eine konstante Länge, daher muss die zuerst (vom Ende der Botschaft 20 aus betrachtet) auftretende Bitkombination der korrekte EOP-Marker 23 sein. Alle übrigen in dem Bitstrom vorkommenden Bitmuster, die der Bitkombination des EOP-Markers 23 entsprechen, können ignoriert werden.
Gemäß noch einem weiteren Unterfall des Falls e), der in Figur 7 dargestellt ist, befindet sich eine PDU 22 mit konstanter Länge zwischen zwei PDUs 21 mit dynamischer Länge. Mit folgender Vereinfachung wird die Erkennung zweier dynamischer PDUs 21 grundsätzlich ermöglicht:
die minimale und die maximale Länge der dynamischen PDUs 21 ist bekannt und darf nicht identisch sein, - falls eine PDU 22 mit konstanter Länge vorhanden ist, die sich zwischen den
PDUs 21 mit dynamischer Länge befindet, muss dessen Länge größer oder gleich der dynamischen Länge der PDUs 21 sein, da innerhalb dieser falsche EOP-Marker (z.B. Bitkombination 24) ignoriert werden können.
In Figur 8 ist ein Ausführungsbeispiel der Erfindung dargestellt, bei dem zwei ungültige
Bitmuster 24, die der Bitkombination des EOP-Markers 23 entsprechen, in einer Botschaft 20 vorhanden sind. Eine eindeutige Bestimmung der gültigen EOP-Marker 23 und damit der Position und Länge der im Frame 20 enthaltenen PDUs 21, 22 ist möglich. In Figur 9 ist ein anderes Ausführungsbeispiel der Erfindung dargestellt, bei dem mehrere, in dem Beispiel drei, ungültige Bitmuster 24, die der Bitkombination des EOP-Markers 23 entsprechen, in einer Botschaft 20 vorhanden sind. Auch mit Einhaltung der oben definierten Voraussetzungen ist es nicht möglich, die gültigen EOP-Marker 23 eindeutig zu identifizieren. Eine eindeutige Bestimmung der Position und Länge der PDUs 21, 22 ist in diesem Ausnahmefall somit nicht möglich.
Anhand der oben angeführten Beispiele wird deutlich, dass ein vorab definierter EOP- Marker 23 hilfreich ist, um die PDUs 21, 22 einer Botschaft eindeutig zu erkennen. Die beschriebenen Probleme bei einer eindeutigen Identifikation der EOP-Marker 23 in einer Botschaft können verhindert werden, wenn statt eines EOP-Markers 23 mit vorab definiertem statischem Inhalt ein dynamisch zur Laufzeit generierter EOP-Marker 23 eingesetzt wird. Dies wird nachfolgend anhand der Figur 10 näher erläutert. Dabei wird die Bitkombination des EOP-Markers 23 dynamisch anhand der Payload 13 ermittelt. Dazu wird vor dem Senden der Daten die Payload 13 des Frames 20 aus den einzelnen PDUs 21, 22 zusammengesetzt, wobei Platzhalter 25 für die EOP-Marker vorgehalten werden. Anschließend wird der ganze Frame 20 analysiert, um ein Byte mit einer eindeutigen Bitsequenz zu finden, die innerhalb der Payload 13 nicht vorkommt. Diese Sequenz bildet den neuen EOP-Marker 23 für dieses Frame 20 und wird vor der eigentlichen
Datenübertragung an die Stelle der Platzhalter 25 eingesetzt. Die „falschen Marker im Frame" werden beim Empfänger nicht als solche erkannt, da es sich um ganz normale Bitfolgen der übermittelten Daten handelt, die mit der Bitsequenz der EOP-Marker 23 nichts zu tun haben.
Selbstverständlich kann der Marker 23 auch mehr als ein Byte umfassen. Auf Empfängerseite wird die für das aktuelle Frame 20 verwendete Bitsequenz für den EOP- Marker 23 erkannt, da der Empfänger weiß, dass die Bitsequenz am Ende der letzten PDU stehen muss. Insofern ist es nicht erforderlich, dass zusätzlich Informationen bezüglich der verwendeten Bitsequenz von dem Sender an die Empfänger übermittelt werden.

Claims

Ansprüche
1. Verfahren zum Übertragen von Daten von einem sendenden Teilnehmer (2) eines Kommunikationssystems (1) über ein Kommunikationsmedium (4) des Kommunikationssystems (1) an einen empfangenden Teilnehmer (2) des Kommunikationssystems (1), wobei die Daten über das Kommunikationsmedium (4) in Botschaften (20) umfassend jeweils mehrere Datenblöcke (21; 22) übertragen werden, und wobei der empfangende Teilnehmer (2) in den empfangenen Botschaften (20) das Ende der Datenblöcke (21; 22) identifiziert und anschließend die übertragenen Daten aus den identifizierten Datenblöcken (21; 22) entnimmt, dadurch gekennzeichnet, dass der empfangende Teilnehmer (2) in den empfangenen Botschaften (20) zumindest für die Datenblöcke (21) mit variabler Länge jeweils das Ende des Datenblocks (21) identifiziert, indem eine zumindest in den Datenblöcken (21) mit variabler Länge übermittelte Information bezüglich der Länge des Datenblocks (21) aus dem Datenblock (21) eingelesen und ausgewertet wird oder indem eine zumindest im Anschluss an die Datenblöcke (21) mit variabler Länge in den Botschaften (20) übertragene Information (23) bezüglich des Endes des Datenblocks (21) eingelesen und ausgewertet wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Verfahren in einem zyklusbasierten Kommunikationssystem (1) eingesetzt wird, wobei die Daten über das Kommunikationsmedium (4) in sich in Kommunikationszyklen wiederholenden Botschaften (20) übertragen werden.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass beim sendenden Teilnehmer (2) der Inhalt der Bytes der in den Botschaften (20) zu übertragenden Daten ermittelt wird und als Information (23) bezüglich des Endes des Datenblocks (21) eine Bitkombination gewählt wird, die nicht als Inhalt der Bytes der in den Botschaften (20) zu übertragenden Daten vorkommt.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Daten in dem Kommunikationssystem (1) nach einem FlexRay-Protokoll übertragen werden.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Information (23) bezüglich des Endes des Datenblocks (21) höchstens zwei Byte umfasst.
6. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die Information (23) bezüglich des Endes des Datenblocks (21) genau ein Byte umfasst.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass der empfangende Teilnehmer (2) über Informationen bezüglich der minimalen Länge der
Datenblöcke (21) und/oder der maximalen Länge der Datenblöcke (21) verfügt und beim empfangenden Teilnehmer (2) die Informationen bezüglich des Endes der Datenblöcke (21) nicht in der gesamten Botschaft (20), sondern lediglich im Bereich von Fenstern gesucht werden, die durch die minimale und die maximale Länge der Datenblöcke (21) begrenzt sind.
8. Teilnehmer (2) eines Kommunikationssystems (1) umfassend den Teilnehmer (2), mindestens einen weiteren Teilnehmer (2) und mindestens ein Kommunikationsmedium (4), über das die Teilnehmer (2) zum Zwecke einer Datenübertragung miteinander in Verbindung stehen, wobei der Teilnehmer (2) und der mindestens eine weitere Teilnehmer (2) Mittel zur Übertragung der Daten über das Kommunikationsmedium (4) in Botschaften
(20) umfassend jeweils mehrere Datenblöcke (21; 22) aufweisen, und wobei der Teilnehmer (2) erste Mittel zum Identifizieren des Endes der Datenblöcke (21; 22) in den empfangenen Botschaften (20) und zweite Mittel zur anschließenden Entnahme der übertragenen Daten aus den identifizierten Datenblöcken (21; 22) aufweist, dadurch gekennzeichnet, dass der Teilnehmer (2) in den empfangenen Botschaften (20) zumindest für die Datenblöcke (21) mit variabler Länge jeweils das Ende des Datenblocks (21) identifiziert, indem die ersten Mittel eine zumindest in den Datenblöcken (21) mit variabler Länge übermittelte Information bezüglich der Länge des Datenblocks (21) aus dem Datenblock (21) einlesen und auswerten oder indem die ersten Mittel eine zumindest im Anschluss an die Datenblöcke
(21) mit variabler Länge in den Botschaften (20) übertragene Information (23) bezüglich des Endes des Datenblocks (21) einlesen und auswerten.
9. Teilnehmer (2) nach Anspruch 8, dadurch gekennzeichnet, dass der Teilnehmer Teil eines zyklusbasierten Kommunikationssystems (1) ist, wobei der Teilnehmer (2) und der mindestens eine weitere Teilnehmer (2) Mittel zur Übertragung der Daten über das Kommunikationsmedium (4) in sich in Kommunikationszyklen wiederholenden Botschaften (20) aufweisen.
10. Teilnehmer (2) nach Anspruch 8 oder 9, dadurch gekennzeichnet, dass der Teilnehmer (2) über Informationen bezüglich der minimalen Länge der Datenblöcke (21) und/oder der maximalen Länge der Datenblöcke (21) verfügt und die Informationen bezüglich des Endes der Datenblöcke (21) nicht in der gesamten Botschaft (20), sondern lediglich im Bereich von Fenstern sucht, die durch die minimale und die maximale Länge der Datenblöcke (21) begrenzt sind.
11. Teilnehmer (2) eines Kommunikationssystems (1) umfassend den Teilnehmer (2), mindestens einen weiteren Teilnehmer (2) und mindestens ein Kommunikationsmedium (4), über das die Teilnehmer (2) zum Zwecke einer Datenübertragung miteinander in Verbindung stehen, wobei der Teilnehmer (2) und der mindestens eine weitere Teilnehmer (2) Mittel zur Übertragung der Daten über das Kommunikationsmedium (4) in Botschaften (20) umfassend jeweils mehrere Datenblöcke (21; 22) aufweisen, und wobei der Teilnehmer (2) Mittel zum Einfügen der zu übertragenden Daten in die Datenblöcke (21; 22) für die anschließende Übertragung der Daten über das Kommunikationsmedium (4) in den sich wiederholenden Botschaften (20) aufweist, dadurch gekennzeichnet, dass der Teilnehmer (2) weitere Mittel aufweist, welche zumindest in die Datenblöcke (21) mit variabler Länge eine Information bezüglich der Länge des Datenblocks (21) einfügen oder welche zumindest im Anschluss an die Datenblöcke (21) mit variabler Länge eine Information (23) bezüglich des Endes des Datenblocks (21) in die Botschaften (20) einfügen.
12. Teilnehmer (2) nach Anspruch 11, dadurch gekennzeichnet, dass der Teilnehmer Teil eines zyklusbasierten Kommunikationssystems (1) ist, wobei der Teilnehmer (2) und der mindestens eine weitere Teilnehmer (2) Mittel zur Übertragung der Daten über das
Kommunikationsmedium (4) in sich in Kommunikationszyklen wiederholenden Botschaften (20) aufweisen.
13. Teilnehmer (2) nach Anspruch 11 oder 12, dadurch gekennzeichnet, dass die weiteren Mittel den Inhalt der Bytes der in den Botschaften (20) zu übertragenden Daten ermitteln und als Information bezüglich des Endes des Datenblocks (21) eine Bitkombination wählen, die nicht als Inhalt der Bytes der in den Botschaften (20) zu übertragenden Daten vorkommt.
14. Teilnehmer (2) nach einem der Ansprüche 8 bis 13, dadurch gekennzeichnet, dass die Datenübertragung in dem Kommunikationssystem (1) nach einem FlexRay-Protokoll erfolgt.
15. Teilnehmer (2) nach einem der Ansprüche 8 bis 14, dadurch gekennzeichnet, dass die Information (23) bezüglich des Endes des Datenblocks (21) höchstens zwei Byte umfasst.
16. Teilnehmer (2) nach Anspruch 13, dadurch gekennzeichnet, dass die Information (23) bezüglich des Endes des Datenblocks (21) genau ein Byte umfasst.
PCT/EP2008/067226 2007-12-20 2008-12-10 Verfahren zum übertragen von daten in einem zyklusbasierten kommunikationssystem WO2009080524A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/735,136 US20110022752A1 (en) 2007-12-20 2008-12-10 Method for transmitting data in a cycle-based communication system
CN2008801219324A CN101904137A (zh) 2007-12-20 2008-12-10 用于在基于周期的通信系统中传输数据的方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102007061724A DE102007061724A1 (de) 2007-12-20 2007-12-20 Verfahren zum Übertragen von Daten in einem zyklusbasierten Kommunikationssystem
DE102007061724.2 2007-12-20

Publications (1)

Publication Number Publication Date
WO2009080524A1 true WO2009080524A1 (de) 2009-07-02

Family

ID=40445456

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2008/067226 WO2009080524A1 (de) 2007-12-20 2008-12-10 Verfahren zum übertragen von daten in einem zyklusbasierten kommunikationssystem

Country Status (4)

Country Link
US (1) US20110022752A1 (de)
CN (1) CN101904137A (de)
DE (1) DE102007061724A1 (de)
WO (1) WO2009080524A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5099156B2 (ja) 2010-03-15 2012-12-12 株式会社デンソー 通信ネットワークシステム、中継端末、マイクロコンピュータ、送受信装置
DE102012017386B4 (de) 2012-09-01 2020-10-15 Volkswagen Aktiengesellschaft Verfahren zum Überwachen einer mit einem Kommunikationskanal verbundenen Vorrichtung
KR101438978B1 (ko) * 2012-12-31 2014-09-11 현대자동차주식회사 리프로그래밍 방법 및 시스템
DE102014209600A1 (de) * 2014-05-20 2015-11-26 Robert Bosch Gmbh Sensorsystem mit einem Sensordatenpuffer
CN104184815B (zh) * 2014-08-28 2018-08-21 浙江吉利控股集团有限公司 一种拓扑网络
KR101573637B1 (ko) * 2014-11-03 2015-12-01 현대자동차주식회사 데이터량 증대로 통신속도 개선을 위한 can 통신 방법 및 데이터 프레임 구조
CN112363479B (zh) * 2020-12-09 2022-04-08 南昌航空大学 一种现场设备间的数字通信传输方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19842849A1 (de) * 1998-09-18 2000-03-23 Siemens Ag Verfahren und Anordnung zum Übertragen von digitalen Daten
US20050254518A1 (en) * 2004-05-12 2005-11-17 Nec Electronics Corporation Communication message conversion device, communication method and communication system
DE102005015912A1 (de) * 2004-04-14 2005-11-17 Audi Ag Betrieb eines Netzwerkes, Netzwerk und Netzwerkkomponenten und Verfahren zum Betrieb eines Netzwerkes sowie Netzwerkteilnehmer
DE102005059616A1 (de) * 2005-12-12 2007-06-14 Robert Bosch Gmbh Verfahren, Kommunikationssystem, Multimedia-Teilnehmer und Gateway zum Übertragen von im MPEG-Format vorliegenden Multimedia-Daten

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61223942A (ja) * 1985-03-29 1986-10-04 Hitachi Ltd 情報検索制御方式
US5818603A (en) * 1996-03-29 1998-10-06 Ricoh Company, Ltd. Method and system for controlling and communicating with machines using multiple communication formats
CA2050507C (en) * 1990-10-26 1999-07-13 Lane Jordon Abrams Message-oriented bank controller interface
US5436627A (en) * 1992-04-30 1995-07-25 Ricoh Company, Ltd. Method and system for processing mixed binary length encodings containing definite and indefinite length formats
US7379469B2 (en) * 2001-01-12 2008-05-27 Broadcom Corporation System and method for scheduling burst profile changes based on minislot count
DE10133934A1 (de) * 2001-07-12 2003-01-30 Infineon Technologies Ag Kodiereinrichtung und Dekodiereinrichtung
US7032045B2 (en) * 2001-09-18 2006-04-18 Invensys Systems, Inc. Multi-protocol bus device
DE10152508B4 (de) * 2001-10-24 2008-01-31 Robert Bosch Gmbh Verfahren zum Aktivieren eines Systems zur Steuerung und/oder Regelung von Betriebsabläufen in einem Kraftfahrzeug mit mehreren gleichberechtigten Steuergeräten
JP2004186978A (ja) * 2002-12-03 2004-07-02 Sanyo Electric Co Ltd データ書込方法、装置およびデジタルカメラ
EP1509046A1 (de) * 2003-08-22 2005-02-23 Alcatel Fehlerresistentes Übertragungsverfahren für Bild- und Videodaten mit Kodes variabler Länge (VLC)
US20060061577A1 (en) * 2004-09-22 2006-03-23 Vijay Subramaniam Efficient interface and assembler for a graphics processor
US7613190B2 (en) * 2004-10-18 2009-11-03 Temic Automotive Of North America, Inc. System and method for streaming sequential data through an automotive switch fabric
EP1938525B1 (de) * 2005-09-13 2012-03-07 Nxp B.V. Verfahren zur nachrichtenübertragung
SE531398C2 (sv) * 2007-02-16 2009-03-24 Scalado Ab Generering av en dataström och identifiering av positioner inuti en dataström
US7668977B2 (en) * 2007-09-12 2010-02-23 Infineon Technologies Austria Ag Method for exchanging information between devices connected via a communication link
TWI458309B (zh) * 2007-12-24 2014-10-21 Ind Tech Res Inst 多協定單一介質網路傳輸方法與裝置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19842849A1 (de) * 1998-09-18 2000-03-23 Siemens Ag Verfahren und Anordnung zum Übertragen von digitalen Daten
DE102005015912A1 (de) * 2004-04-14 2005-11-17 Audi Ag Betrieb eines Netzwerkes, Netzwerk und Netzwerkkomponenten und Verfahren zum Betrieb eines Netzwerkes sowie Netzwerkteilnehmer
US20050254518A1 (en) * 2004-05-12 2005-11-17 Nec Electronics Corporation Communication message conversion device, communication method and communication system
DE102005059616A1 (de) * 2005-12-12 2007-06-14 Robert Bosch Gmbh Verfahren, Kommunikationssystem, Multimedia-Teilnehmer und Gateway zum Übertragen von im MPEG-Format vorliegenden Multimedia-Daten

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
K. ETSCHBERGER, R. HOFMANN, J. STOLBERG, S. WEIHER, C. SCHLEGEL: "Controller-Area-Network Grundlagen, Protokolle, Bausteine, Anwendung", 2002, HANSER, HOLZKIRCHEN, GERMANY, ISBN: 3-446-21776-2, XP002520882 *

Also Published As

Publication number Publication date
US20110022752A1 (en) 2011-01-27
CN101904137A (zh) 2010-12-01
DE102007061724A1 (de) 2009-06-25

Similar Documents

Publication Publication Date Title
EP2700017B1 (de) Verfahren und vorrichtung zur seriellen datenübertragung mit umschaltbarer datencodierung
EP2702495B1 (de) Verfahren und vorrichtung zur an speichergrössen angepassten seriellen datenübertragung
EP1100230B1 (de) Datenübertragungssystem für Luftfahrzeuge
WO2009080524A1 (de) Verfahren zum übertragen von daten in einem zyklusbasierten kommunikationssystem
EP3900272B1 (de) Teilnehmerstation für ein serielles bussystem und verfahren zur kommunikation in einem seriellen bussystem
WO2020120555A1 (de) Teilnehmerstation für ein serielles bussystem und verfahren zur kommunikation in einem seriellen bussystem
EP3977683B1 (de) Einrichtung für eine teilnehmerstation eines seriellen bussystems und verfahren zur kommunikation in einem seriellen bussystem
DE102019204115A1 (de) Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
EP3900273B1 (de) Teilnehmerstation für ein serielles bussystem und verfahren zur kommunikation in einem seriellen bussystem
DE102018221957A1 (de) Einrichtung für eine Teilnehmerstation eines seriellen Bussystems und Verfahren zur Kommunikation in einem seriellen Bussystem
EP3970324A1 (de) Sende-/empfangseinrichtung und kommunikationssteuereinrichtung für eine teilnehmerstation eines seriellen bussystems und verfahren zur kommunikation in einem seriellen bussystem
WO2020035392A1 (de) Rahmenabschirmeinheit, teilnehmerstation für ein serielles bussystem und verfahren zur kommunikation in einem seriellen bussystem
DE102018221679A1 (de) Überlagerungserfassungseinheit für eine Teilnehmerstation eines seriellen Bussystems und Verfahren zur Kommunikation in einem seriellen Bussystem
WO2021047834A1 (de) Teilnehmerstation für ein serielles bussystem und verfahren zur kommunikation in einem seriellen bussystem
DE10127417A1 (de) Transport-Protokoll für die Gerätekommunikation
DE102018214967A1 (de) Teilnehmerstation für ein serielles Bussystem und Verfahren zur Übertragung von Daten in einem seriellen Bussystem
WO2021028271A1 (de) Teilnehmerstation für ein serielles bussystem und verfahren zur kommunikation in einem seriellen bussystem
WO2021148351A1 (de) Sende-/empfangseinrichtung und kommunikationssteuereinrichtung für eine teilnehmerstation eines seriellen bussystems und verfahren zur kommunikation in einem seriellen bussystem
DE102019211980A1 (de) Konfliktdetektor für eine Teilnehmerstation eines seriellen Bussystems und Verfahren zur Kommunikation in einem seriellen Bussystem
WO2020244986A1 (de) Teilnehmerstation für ein serielles bussystem und verfahren zur kommunikation in einem seriellen bussystem
DE102020200802A1 (de) Sende-/Empfangseinrichtung und Kommunikationssteuereinrichtung für eine Teilnehmerstation eines seriellen Bussystems und Verfahren zur Kommunikation in einem seriellen Bussystem
DE102020206412A1 (de) Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
WO2021148348A1 (de) Sende-/empfangseinrichtung für eine teilnehmerstation eines seriellen bussystems und verfahren zur kommunikation in einem seriellen bussystem
DE102018202882A1 (de) Teilnehmerstationen für ein Bussystem, Bussystem und Verfahren zur Datenübertragung in einem Bussystem
DE102019213926A1 (de) Einrichtung für eine Teilnehmerstation eines seriellen Bussystems und Verfahren zur Kommunikation in einem seriellen Bussystem

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880121932.4

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08864649

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12735136

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 08864649

Country of ref document: EP

Kind code of ref document: A1