WO2013045323A1 - Verfahren zum betreiben einer kommunikationsanordnung - Google Patents

Verfahren zum betreiben einer kommunikationsanordnung Download PDF

Info

Publication number
WO2013045323A1
WO2013045323A1 PCT/EP2012/068412 EP2012068412W WO2013045323A1 WO 2013045323 A1 WO2013045323 A1 WO 2013045323A1 EP 2012068412 W EP2012068412 W EP 2012068412W WO 2013045323 A1 WO2013045323 A1 WO 2013045323A1
Authority
WO
WIPO (PCT)
Prior art keywords
interrupt
frame
slave
master
bit
Prior art date
Application number
PCT/EP2012/068412
Other languages
English (en)
French (fr)
Inventor
Andreas-Juergen Rohatschek
Dieter Thoss
Stoyan Todorov
Thorsten Huck
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 CN201280047034.5A priority Critical patent/CN103814550B/zh
Priority to US14/347,890 priority patent/US9529746B2/en
Priority to JP2014532320A priority patent/JP5814474B2/ja
Publication of WO2013045323A1 publication Critical patent/WO2013045323A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • 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/42Loop networks
    • H04L12/423Loop networks with centralised control, e.g. polling

Definitions

  • the invention relates to a method for operating a communication arrangement and to a communication arrangement.
  • serial interfaces for example SPI, peripheral peripheral interface
  • logic components which, for example, can be designed as integrated circuits (IC, integrated circuit).
  • An SPI interface describes a bidirectional, synchronous and serial data transmission between a block designed as a master and various blocks designed as slaves.
  • an interface comprises at least three lines between the master and a slave, as a rule these are two data lines and one clock line. With several slaves, each of these blocks requires an additional selection or select line from the master.
  • the SPI interface enables the establishment of a daisy-chain or bus topology.
  • the SPI interface is not suitable for the transmission of time-critical drive signals to meet the real-time requirements of today's safety-critical applications. Often an SPI only exchanges diagnostic and status information. Time-critical control signals are usually transmitted with the use of timer units and / or proprietary interfaces with great effort to the drive modules of the actuators and / or of the evaluation circuits of the sensors.
  • a so-called three-way handshake method is used for lossless data transmission between two instances.
  • the participating instances need a way to ensure that the instance contacted by them has received the message.
  • a sending entity wants a confirmation response when the message arrives.
  • a first participant sends a message to a second participant.
  • the sending first subscriber eg the master
  • the sending first subscriber can now read back his sent message and compare whether a transmission error has occurred, but the first subscriber can not distinguish whether the original message has already arrived disturbed at the second subscriber or whether this arrived correctly at the second participant and was falsified on the way back.
  • the second subscriber for example the slave, must be sure that his message, for example the confirmation, has been correctly transmitted to the first subscriber in order then to be able to occupy the memory space with new data, for example.
  • the invention includes a protocol and a data structure for a method for transmitting data between subscribers in a communication system.
  • Onsanowski provided, wherein the participants are connected to each other in series and the communication arrangement has a usually ring-shaped structure in ring topology.
  • transmission of the data is ensured by special segments in the protocol for transmission and / or in the data structure. As such segments, interrupt bits are used in interrupt registers of the subscribers and toggle bits in interrupt requests.
  • an interrupt bit is assigned to a slave, wherein the respective slave signals by setting the interrupt bit assigned to it in an empty frame to the master whether this slave can provide data to the master or not. If the slave can provide data to the master, it asks the master with the set interrupt bit to send it a data frame into which the slave can insert the data.
  • Each frame which may be formed as an empty frame or data frame, has a toggle bit for all the subscribers. By a value of the toggle bit is displayed whether a transmission of the previous frame has been done without interference or not, that must be repeated.
  • ASIC Application Specific integrated circuit
  • the Master and at least one other subscriber is designed as a slave.
  • an autonomous repetition of a data request without interaction of the software can take place in one embodiment of the invention.
  • the described communication arrangement enables a synchronization of the connected subscribers to a uniform time domain and supports commands for singlecast, multicast or broadcast transmission of data, allowing the master to address multiple slaves simultaneously.
  • ASICs application-specific integrated circuits
  • the master sends a continuous data stream, which passes through the slaves one after the other.
  • a uniform protocol with associated data structure is provided in an embodiment of the invention.
  • a transmission of data between participants of a serial, annular communication arrangement, for example. A so-called. Ring bus, in which the participants are connected to each other in series, possible.
  • a data packet can be transmitted from a subscriber trained as master to other subscribers who are designed as slaves, the data packet being transmitted from slave to slave.
  • subscriber-to-subscriber data transmission may occur with a delay of at least one bit duration, whereby data packets that may contain messages may be transmitted between the subscribers with very little latency.
  • the communication arrangement according to the invention is designed to carry out all the steps of the presented method.
  • individual steps of this method can also be carried out by individual components of the communication arrangement.
  • functions of the communication arrangement or functions of individual components of the communication arrangement can be implemented as steps of the method.
  • steps of the method can be implemented as functions of at least one component of the communication arrangement or the entire communication arrangement.
  • Figure 1 shows, in diagrammatic form, examples of interframe symbols with Miller / MFM coding used in one embodiment of a method according to the invention.
  • Figure 2 shows a schematic representation of a structure of a frame formed as a data frame, which is used in another embodiment of the method according to the invention.
  • FIG. 3 shows a schematic representation of a structure of a frame designed as an empty frame which is used in a further embodiment of the method according to the invention.
  • Figure 4 shows a schematic representation of an embodiment of the communication arrangement according to the invention, with which in one embodiment of the method according to the invention, a soft interrupt request is triggered.
  • FIG. 5 shows a schematic representation of an example of a sequence control for the secure transmission of an interrupt request when a further embodiment of the method according to the invention is carried out.
  • FIG. 6 shows, in a schematic representation, an example of the use of a toggle bit for self-sufficient re-transmission of messages when carrying out another embodiment of the method according to the invention.
  • FIG. 1 shows examples of intermediate frame symbols 2, 4, 6, 8, 10, 12 which, in one embodiment of the method according to the invention, are used as components of data packets which are transmitted between subscribers of a communication arrangement according to the invention.
  • one of the shown intermediate frame symbols 2, 4, 6, 8, 10, 12 is followed by a frame 14, which may be formed either as a data frame or an empty frame.
  • Interframe symbols 2, 4, 6, 8, 10, 12 for data packets of a data stream.
  • each interframe symbol 2, 4, 6, 8, 10, 12 a characteristic waveform 16, 18, 20, 22, 24, 26 with an associated period on.
  • the waveform 16, 18, 20, 22, 24, 26 of each interframe symbol 2, 4, 6, 8, 10, 12 has due to the Millerkod ist used in an initialization of participants, illegal period of 2.5 or 3 bits, the differs from a conventional period used in sending data.
  • the signal waveforms 16, 18 of the first two intermediate frame symbols 2, 4 have a period of 3 bits, whereas the signal waveforms 20, 22, 24, 26 of the further intermediate frame symbols 6, 8, 10, 12 each have a period of 2.5 bits.
  • the intermediate frame symbols 2, 4, 6, 8, 10, 12 with invalid periods are denoted by a Coding violation generated.
  • the intermediate symbols 2, 4, 6, 8, 10, 12 correspond to invalid data signals, which, however, are recognized by the subscribers.
  • each slave of the communication arrangement receives a sequence of alternating short and long periods between two consecutive edge transitions represented by the waveforms 16, 18, 20, 22 , 24, 26 are defined.
  • An interframe symbol 2, 4, 6, 8, 10, 12 (IFS, interframe symbol), which functionally corresponds to a Start of Package and / or End of Package of a data packet, is inserted into the data stream to be transmitted so that the messages can be recognized and extracted by the subscribers in the continuous data stream.
  • An interframe symbol (IFS) 2, 4, 6, 8, 10, 12 can also be designed as a preamble, with which the participants trained as slaves can synchronize to the subsequent messages.
  • the interframe symbol 2, 4, 6, 8, 10, 12 is thus used for the synchronization of frames, which may be formed as data frames or empty frames.
  • FIG. 2 shows a schematic representation of an example of a structure of a frame of a data packet designed as a data frame 28, which can be sent between subscribers of a communication arrangement according to the invention.
  • This data frame 28 includes an identity field 30, an address field 34, a data field 36, and an optional cyclic redundancy check CRC field 38.
  • FIG. 2 respectively shows an intermediate frame symbol 40 immediately before and immediately after the data frame 28.
  • FIG. 4 An example of a structure of a frame formed as an empty frame 42, which can be exchanged in an embodiment of the method according to the invention between participants of a communication arrangement according to the invention, is shown schematically in FIG.
  • This empty frame 42 also includes an identity field 30 and an optional empty field 42 and thus not necessarily required address field 34.
  • the empty frame 42 includes an IRQ field 44 for an interrupt request (IRQ, interrupt request).
  • the dummy frame 42 may also include an optional cyclic redundancy check CRC field 38.
  • the empty frame 42 between two intermediate frame symbols 40 is also arranged immediately before and immediately after the empty frame 42.
  • the identity field 30 follows with a sequence of frame identity bits (frame ID bits). These signals to the subscriber what kind of message it is in the subsequent data stream.
  • frame ID bits frame identity bits
  • one frame identity bit and four address bits may be provided, respectively.
  • an increase or decrease of the bits of a header comprising the identity field 30 and the address field 34 is also possible.
  • the address field 34 and the identity field 30 of the frame of a data packet are provided with a parity bit, whereby erroneous addressing is prevented.
  • a cyclic redundancy check CRC
  • CRC cyclic redundancy check
  • the identity bits in an identity field 30 of a frame are configured by the master such that the attached
  • Slaves can interpret the message as a data frame 28.
  • the data content of the message may thus only be processed by the addressed user.
  • This type of message corresponds to the data content of a serial peripheral interface (SPI).
  • a frame has address fields 34 with address bits.
  • an addressing of a subscriber can be carried out by setting and / or changing an address value and thus the address bit in the address field 34, whereby an address information of the address field 34 of the frame is set.
  • the ring topology is used in such a way that each subscriber, usually a slave, subtracts 0x01 from a current address, which is defined, for example, by the address, whereby the address 0x00 with the corresponding address value is the desired address Subscriber is addressed.
  • the implementation is usually carried out by a 1-bit subtractor by the address of a first least significant bit (LSB-First) is transmitted.
  • the further identity bits in the identity field 30 of the frame can be used, for example, for transmission commands (single, multi and / or broadcast commands).
  • a write (broadcast write) and / or a read (broadcast read) can be performed.
  • a transfer command for writing and / or reading a subsequent address value is no longer interpreted as address information but as a transmission identity (broadcast ID) and not changed by the slaves. Consequently, thus many different transmissions (broadcasts) of addresses, so z. 16 addresses in the case of an address header with a length of 4 bits.
  • a transmission (broadcast application) sends the master as a participant z.
  • a command to set the system clocks to the slaves participating in the communication plus an individual offset corresponding to the delay in the ring-shaped communication arrangement and known to the master can send multiple slaves a single frame with a known time offset.
  • a time offset from the master to a first slave is x bits + number of data bits since the slave can not set its clock until it has received the entire frame. This time, however, is fixed and predictable. Successive slaves provide their clocks with only a further time offset and thus only a further clock skew, since the delay per subscriber in embodiment of the invention is only one bit.
  • the master sends a command for outputting / setting the angle clocks of the connected slaves.
  • the first slave in the annular network arrangement recognizes a transmit command to output its value of the angle clock. It changes the frame formed in the identity field 30 of the frame usually formed as a data frame 28 by an identity stored in the identity bit in such a way that the subsequent slaves read the data content and fill the data part of the frame left empty by the master with the value of the angle clock.
  • the following slaves now use this transmission in a manner similar to the first application for setting the values of their angle clocks taking into account the clock offset by one bit. If, in addition, an actual rate of change is transmitted, taking into account that a frame can be of any length, the slaves can be held with sufficient accuracy in terms of angle synchronization. It is provided in an embodiment of the invention that each IRQ field 44 of a
  • Leerahmens 42 for each participating slave has an interrupt bit that is uniquely assigned to a respective slave.
  • each slave can transmit an interrupt request to the master and thus signal that the master is to perform a special action, for example this slave. sends data frame 28 into which the slave can insert data for the master.
  • Triggering and resetting an interrupt request in a possible embodiment of the method according to the invention is shown by way of example in FIG.
  • FIG. 4 shows a schematic representation of an example of a communication arrangement 50 according to the invention in three temporally successive operating situations in one embodiment of the method according to the invention.
  • the here annular communication arrangement 50 has as a subscriber to a master 52 and slaves 54, 56, 58, 60, which are connected to each other in the communication arrangement 50 serially and annularly.
  • a first slave 54 is connected to the master 52 via a data connection.
  • All slaves 54, 56, 58, 60 are connected in series and also connected to each other via data links.
  • a last slave 60 of the communication arrangement is in turn connected to the master 52.
  • the master 52 comprises two interrupt registers 64, 66, each of these two interrupt registers 64, 66 of the master having 52 y fields, wherein a value of an x-th field of an interrupt register 64, 66 is a value and / or a State of an interrupt of an x-th slave 54, 56, 58, 60 is assigned.
  • a first interrupt register 64 of the master 52 indicates a data content of an interrupt bit of a previous k-1-th dummy frame.
  • a second interrupt register 66 indicates the data content of a current interrupt bit of a k-th dummy frame.
  • a second area of the second time 72 and a third time 76 is limited, to which an ⁇ + 1 -th empty frame is sent by the master 52 to the slaves 54, 56, 58, 60, indicates a trigger 78 of an interrupt. After the third time 76, a reset 80 of the interrupt is performed.
  • the interrupt bit in an interrupt register 62 of one of the slaves 54, 56, 58, 60 is not reset, but a value of an x th field for an interrupt of the second interrupt register 66 into the first interrupt register 64 of the master 52.
  • the value of the interrupt bit in the interrupt register 62 of the slave 54, 56, 58, 60 remains unchanged. If the slave 54, 56, 58, 60 now wants to transmit a new interrupt request to the master 52, the state of the interrupt bit in the interrupt register 62 of the slave 54, 56, 58, 60 is inverted, which the master 52 after transmission by an empty frame by means of comparison of the first interrupt register 64 with the second interrupt register 66 according to the method described above.
  • the initialization 74 of the communication device 50 is provided in the described embodiment of the invention that all interrupt bits for all slaves 54, 56, 58, 60 are set to 0.
  • triggering 78 of the interrupt is provided that here a third slave 58, the triggering 78 of the interrupt marked by switching the interrupt bit in its interrupt register 62, which in turn by the master 52 after receiving the interrupt fields of the individual slaves 54 , 56, 58, 60 are registered in its second interrupt register 66 by setting one value in the third field of this second interrupt register 66 to 1 and the values of the other fields are 0.
  • the interrupt bits are set to 1 in the initialization 74 and a slave 54, 56, 58, 60 sets the value of the associated interrupt bit to 0, if this slave 54, 56, 58, 60 can provide data to the master 52.
  • a slave 54, 56, 58, 60 can transmit a signal to the master , If one of the slaves 54, 56, 58, 60 provides an interrupt request, the respective slave 54, 56, 58, 60 releases it by setting the value of the interrupt Bits in its interrupt register 62 off.
  • each frame generally has x fields, wherein an x-th field is uniquely associated with a value of an interrupt bit of an x-th slave 54, 56, 58, 60.
  • the fields of the first interrupt register 64 of the master 52 may be updated, with a value of Interrupt bits from the x-th field of the received frame in the x-th field of the first, provided as a reference interrupt register 64 of the master 52 is transmitted.
  • the identity bits of a frame are configured by the master 52 so that the connected slaves 54, 56, 58, 60 can interpret the frame received as a message as a dummy frame.
  • a definition of a frame as an empty frame is to be made according to a protocol used, wherein an empty frame is defined by setting the fields and / or bits of a frame provided for this purpose.
  • An empty frame serves to synchronize the subscribers when the communication arrangement 50 is idle, but also to be able to transmit interrupt requests, so-called soft interrupts, from the slaves 54, 56, 58, 60 to the master 52.
  • a slave 54, 56, 58, 60 can signal to the master 52 via such an interrupt request, for example, a new data packet which the master 52 can pick up with a read request.
  • Each slave 54, 56, 58, 60 is in a frame that may be formed as a data frame or empty frame, at least one interrupt bit assigned, which can be modified by him. The prioritization of the processing of the interrupt requests can now by the master 52, z. B. microcontroller, performed.
  • an interrupt request (soft interrupt) of a slave 54, 56, 58, 60 is correctly answered in the case of an overlapping addressing by the master 52, ie the master 52 speaks the slave 54, 56, 58, 60 even before the interrupt request of the slave 54, 56, 58, 60 is processed and / or reset.
  • a command for resetting (reset) to the slave 54, 56, 58, 60 issued, but the latency of the communication assembly 50 only at a time in the slave 54, 56, 58 , 60 can be executed after there is already a new interrupt request.
  • the interrupt requests still occurring in the slave 54, 56, 58, 60 in the period after receipt of the last empty frame until execution of the reset command to the interrupt request are accidentally deleted.
  • each slave 54, 56, 58, 60 has the interrupt register 62 and thus a register for interrupt requests.
  • a value of the interrupt register 62 in the slave 54, 56, 58, 60 is inverted upon the occurrence and / or initiation 78 of an interrupt request.
  • a current status of the interrupt register 60 is inserted into the dummy frame by each subscriber and transmitted to the master 52.
  • the master 52 contains and / or already comprises an image of the status information of an interrupt register 64 from the previous circulation and can now decide by comparing the current status with the previous status of interrupt bits to interrupt requests, which at least one as slave 54, 56, 58, 60 trained participants in a performance of a soft interrupt service routine and thus a program for providing an interrupt request is to be processed, wherein the at least one slave 54, 56, 58, 60 possibly processed in accordance with its priority assigned ,
  • FIG. 5 shows, for a further embodiment of the method according to the invention, a diagram with a first time axis 82 on the side of a master and a second time axis 84 on the side of a slave, wherein along these two time axes 82, 84 events are recorded that are displayed during a process. tion for the secure transmission of an interrupt request and thus a request for an interrupt request.
  • an empty frame is sent from the master to at least one slave 86 at a first time 86, and an interrupt bit is set by the at least one slave at a second time 88 if new data is present in the slave. If an interrupt is sent from the at least one slave to the master, this is received at a third time 90 and performed by the master processing of this interrupt. Furthermore, a first read command and / or write command is issued by the master to the at least one slave and received by the at least one slave at a fourth time 92, wherein the at least one slave continues to read a register content, for example via a time stamp.
  • a fault 94 of the communication occurs. Due to this fault 94, there is a transmission error in the data stream. However, this transfer error is detected by the master at a fifth time 96 by evaluation of a cyclic redundancy sum (CRC). Due to this, the read command is repeated, whereupon the master sends a second read command and / or write command to the at least one slave and receives it from the at least one slave at a sixth point in time 98. Furthermore, the at least one slave repeats the previous (first) read command and / or write command. Thereafter, data is transmitted from the at least one slave to the master and received by the master at a seventh time 100. After receiving the data, a transfer of this data takes place in a memory, such as a RAM, the master. Thereafter, an empty frame can again be sent from the master to the at least one slave, which is received by the at least one slave at an eighth time 102.
  • CRC cyclic redundancy sum
  • FIG. 6 shows a schematic representation of an example of a frame formed here as a data frame 104 in a data stream between subscribers of a communication arrangement according to the invention in the time course of an embodiment of the method according to the invention.
  • this data frame 104 is preceded by an intermediate frame symbol 106. It also includes the data frame 104, an identity field 108, which here has a toggle bit 1 10 and a bit bit and an identity bit 1 12, and an address field 1 14, a data field 1 16 and a CRC field 1 18 for a cyclic redundancy check.
  • each frame regardless of whether it is formed as a data frame 104 or as an empty frame, a toggle bit and thus a toggle for all participants, usually all slaves on.
  • a value of the changeover bit signals whether a transmission of the frame has been carried out correctly or whether a fault has occurred and thus an error in the previous circulation of a data or empty frame.
  • 1 16 also has interrupt bits, each slave an interrupt bit is uniquely assigned.
  • the identity bit 1 12 of the data frame 104 shown here has the value 0 at all times, which identifies the frame as a data frame 104. Alternatively, if the identity bit had the value 1, the frame would be an empty frame.
  • a first transmission of a k-1-th message takes place in the data field 16, wherein it is further provided that the toggle bit 1 10 has the value 1.
  • the toggle bit 1 10 is switched to the value 0 and a first transmission of a k-th message in the data field 1 16 is made.
  • a transmission error 124 occurs here during the first transmission after the second time 122.
  • Failure to comply with this rule may result in the loss of interrupt requests, but ensures that there are never too many interrupt requests, which may be achieved by providing a minimum interval time interval between two interrupt requests from a first to a second subscriber which may, for example, depend on the number of users of the communication arrangement and / or a length of frames.
  • the empty frames are used to configure the slaves during ongoing operation of the communication arrangement.
  • CRC cyclic redundancy check
  • cyclic redundancy check can take place, for example, as a data frame
  • an address header and therefore for a data head of an address of a frame can also be used to carry out a CRC calculation, whereby a checksum is calculated for the address header, where by a participant whose address is used.
  • each subscriber usually each slave, is assigned an address via an empty frame.
  • the master sends the empty frame with an address field, which is assigned an address value 0x00.
  • Each slave subtracts the value 0x01 from the address value and negates the received address.
  • the slave receives information about its position in the ring.
  • the position of a receiving slave is typically dependent on the respective address value in the address field, which provides information about how many
  • Data packets are configured by the master such that one of the identity bits is interpreted as a so-called toggle bit by the slaves.
  • the toggle bit is described by the second identity bit FD1 of the frame.
  • the master can request a data packet again in the event of a transmission error.
  • a detection of a transmission error is performed on the basis of an evaluation of a checksum of a cyclic redundancy check.
  • a return (re-transmit) of the erroneously transmitted data packet and / or a corresponding incorrectly transmitted message is thereby initiated autonomously in the master, d. H.
  • the slave After resending a previously sent, previous data packet by the master, the slave identifies whether it is a repeat of the previous request or already a new message with similar content. For this purpose, the switchover bit FD1 is modified accordingly by the master. If the toggle bit of an incoming message has not changed for the previous circulation, it is provided that the slave retransmits the previous data packet. In the opposite case, if the switching bit FD1 is modified by switching, the slave processes the current data packet and at the same time receives an acknowledgment for the successful transmission of the previous data packet to the master with this current data packet.
  • CPU central processing unit
  • each subscriber has at least one interrupt register 62, 64, 66 on.
  • a field of the at least one interrupt register 62, 64, 66 is associated with an interrupt request and comprises a value for an interrupt bit.
  • an interrupt request is sent to the master 52 by a slave 54, 56, 58, 60 in a frame, which is normally designed as an empty frame 42, which interrupt the interruption.
  • Bit includes, transmitted. It may be provided in an embodiment of the method that in the empty frame 42 each slave 54, 56, 58, 60 such an interrupt bit is uniquely assigned.
  • frames formed as data frames 28, 16 may have an interrupt bit for each of the slaves 54, 56, 58, 60.
  • the dummy frame 42 but also each data frame 28, 16 and thus typically each frame may further comprise a toggle bit for all slaves 54, 56, 58, 60 indicating a state of the transmitted frame and thus also an interrupt request communicated in a dummy frame 42.
  • it can be signaled by a value of the Umschaltbits, whether the previous frame has been transmitted without error or whether it came during the transfer, for example, due to a fault to an error.
  • each slave 54, 56, 58, 60 has an interrupt register 62, and a value of an interrupt bit of the interrupt register 62 is inverted by the slave 54, 56, 58, 60 upon the occurrence of an interrupt request.
  • a current value of the field of the interrupt register 62 can be inserted by the slave 54, 56, 58, 60 into the frame, which is usually designed as an empty frame 42 or optionally as a data frame 28, 104, and transmitted to the master 52.
  • an x-th slave 54, 56, 58, 60 transmits the value of its interrupt bit in an x-th field of the frame, which is the x-th slave 54, 56, 58, 60 uniquely assigned.
  • the master 52 prefferably has two interrupt registers 64, 66, wherein an x th field of a first interrupt register 64 is an interrupt bit for indicating the presence or absence of an interrupt request of an x th slave 54 , 56, 58, 60 of a previous round trip, and wherein an xth field of a second interrupt register 66 is an interrupt bit for indicating the presence or absence of an interrupt request of the xth slave 54, 56, 58, 60 of a current circulation.
  • the presence of an interrupt request can be determined by the master 52 by analyzing or comparing the two interrupt registers 64, 66, with priority being given to processing interrupt requests from the master 52.
  • the master 52 with the empty frame 42 which comprises the interrupt request, is signaled by the at least one slave 54, 56, 58, 60 that a data packet is picked up by the slave 54, 56, 58, 60 with a frame formed as a data frame 28 is.
  • an xth slave 54, 56, 58, 60 has triggered such an interrupt request is signaled to the master by a value of the interrupt bit in the xth field of the idle frame.
  • the presence of an interrupt request depending on the definition by the value 1 or 0 of the interrupt bit of the x-th slave 54, 56, 58, 60 are displayed.
  • the toggle bit in the frame which is typically formed as an empty frame 42 and / or as a data frame 28, 104, is inverted by the master 52 in error-free transmission, maintaining a value of the toggle bit in the frame in the event of a disturbance in the previous transmission, and wherein Slave 54, 56, 58, 60 a previously formed as a data frame 28, 104 and / or empty frame 42 frame containing data to be transmitted or a message to be transmitted is transmitted again in an unchanged switching bit.
  • each frame generally has only one such switching bit for all subscribers, which documents a state of a transmission of the respective frame.
  • interrupt requests in the slave 54, 56, 58, 60 occur more slowly than interrupt requests are fetched into empty frames 42.
  • An interrupt request can be transmitted unidirectionally.

Abstract

Die Erfindung betrifft ein Verfahren zum Übertragen von Rahmen, die Daten aufweisen, zwischen Teilnehmern einer ringförmigen Kommunikationsanordnung (50), die als Teilnehmer einen Master (52) und mindestens einen Slave (54, 56, 58, 60) aufweist, wobei jeder Teilnehmer mindestens ein Interrupt-Register (62, 64, 66) aufweist, wobei ein Feld des mindestens einen Interrupt-Registers (62, 64, 66) einer Unterbrechungsanfrage zugeordnet ist und einen Wert für ein Interrupt-Bit umfasst, wobei dem Master (52) von einem Slave (54, 56, 58, 60) in einem als Leerrahmen ausgebildeten Rahmen eine Unterbrechungsanfrage, die das Interrupt-Bit umfasst, übermittelt wird, wobei der Leerrahmen weiterhin ein Umschaltbit für alle Slaves (54, 56, 58, 60) aufweist, das einen Zustand einer Unterbrechungsanfrage angibt.

Description

Beschreibung
Titel
Verfahren zum Betreiben einer Kommunikationsanordnung Die Erfindung betrifft ein Verfahren zum Betreiben einer Kommunikationsanordnung sowie eine Kommunikationsanordnung.
Stand der Technik Im Bereich der Kraftfahrzeugtechnik werden zur Datenübertragung zwischen logischen Bausteinen, die bspw. als integrierte Schaltkreise (IC, Integrated Circuit) ausgebildet sein können, in Steuergeräten serielle Schnittstellen, bspw. SPI, Se- rial Peripheral Interface, eingesetzt. Eine SPI-Schnittstelle beschreibt eine bidirektionale, synchrone und serielle Datenübertragung zwischen einem als Master ausgebildeten Baustein und verschiedenen als Slaves ausgebildeten Bausteinen.
Dabei umfasst eine Schnittstelle mindestens drei Leitungen zwischen dem Master und einem Slave, in der Regel sind dies zwei Datenleitungen und eine Taktleitung. Bei mehreren Slaves benötigt jeder dieser Bausteine eine zusätzliche Auswahl- bzw. Selektleitung vom Master. Die SPI-Schnittstelle ermöglicht den Auf- bau einer Daisy-Chain- oder Bustopologie.
In einigen Fällen ist die SPI-Schnittstelle nicht für die Übertragung zeitkritischer Ansteuersignale geeignet, um den Echtzeitanforderungen heutiger sicherheitskritischer Applikationen gerecht zu werden. Häufig erfolgt mit einer SPI nur ein Aus- tausch von Diagnose- und Statusinformationen. Zeitkritische Ansteuersignale werden in der Regel unter der Nutzung von Timer-Einheiten und/oder proprietären Schnittstellen mit hohem Aufwand an die Ansteuerbausteine der Aktoren und/oder von den Auswerteschaltungen der Sensoren übertragen.
In der Anwendung der SPI-Schnittstelle in Form einer Bustopologie ergeben sich bei höheren Datenraten zunehmend verschlechterte Signalintegritäten und hohe Störbeeinflussungen aufgrund schlechter EMV-Eigenschaften. Weiter wird nur das Sendesignal mit dem Taktsignal synchron übertragen, wohingegen sich die phasensynchrone Übertragung des Empfangssignals durch die internen Verzögerungszeiten im Slave bei hohen Datenraten zunehmend schwieriger gestaltet. So können bei einer Anwendung der SPI-Schnittstelle in einer Daisy-Chain-
Topologie, d. h. in einer Ringtopologie, sehr hohe Latenzzeiten entstehen, weshalb eine derartige Kommunikationsanordnung nicht effizient in Kfz- Steuergeräten genutzt werden kann.
Im Stand der Technik wird basierend auf einer physikalischen Übertragungsschicht, bspw. SPI, zur verlustfreien Datenübertragung zwischen zwei Instanzen ein sogenanntes Drei-Wege-Handschlag (tree-way-handshake) Verfahren eingesetzt. Beim Transport von Nachrichten benötigen die teilnehmenden Instanzen eine Möglichkeit, sicherzustellen, dass die von ihnen kontaktierte Instanz die Nachricht erhalten hat. Eine sendende Instanz möchte also eine Bestätigungsantwort, wenn die Nachricht angekommen ist. So sendet ein erster Teilnehmer eine Nachricht an einen zweiten Teilnehmer. Auf Basis einer Ringtopologie kann der sendende erste Teilnehmer, bspw. der Master, nun seine gesendete Botschaft zurücklesen und vergleichen, ob ein Übertragungsfehler aufgetreten ist, jedoch kann der erste Teilnehmer nicht unterscheiden, ob die ursprüngliche Nachricht bei dem zweiten Teilnehmer schon gestört angekommen ist oder ob diese korrekt bei dem zweiten Teilnehmer ankam und auf dem Rückweg verfälscht wurde. Des Weiteren muss der zweite Teilnehmer, bspw. der Slave, sicher sein, dass seine Botschaft, bspw. die Bestätigung, korrekt an den ersten Teilnehmer übertragen wurde, um danach bspw. den Speicherplatz mit neuen Daten belegen zu können.
Offenbarung der Erfindung Vor diesem Hintergrund werden ein Verfahren und eine Kommunikationsanordnung mit den Merkmalen der unabhängigen Patentansprüche vorgestellt. Weitere Ausgestaltungen der Erfindung ergeben sich aus den abhängigen Patentansprüchen und der Beschreibung. Mit der Erfindung werden u. a. ein Protokoll und eine Datenstruktur für ein Verfahren zum Übertragen von Daten zwischen Teilnehmern in einer Kommunikati- onsanordnung bereitgestellt, wobei die Teilnehmer mit einander seriell verbunden sind und die Kommunikationsanordnung eine üblicherweise ringförmige Struktur in Ring-Topologie aufweist. Hierbei ist in Ausgestaltung vorgesehen, dass durch spezielle Segmente in dem Protokoll zur Übertragung und/oder in der Datenstruktur eine Übertragung der Daten abgesichert wird. Als derartige Segmente werden Interrup-Bits in Interrupt-Registern der Teilnehmer und Umschaltbits in Unterbrechungsanfragen verwendet. Dabei ist jeweils einem Slave ein Interrupt-Bit zugeordnet, wobei der jeweilige Slave durch Einstellen des ihm zugeordneten Interrupt-Bits in einem Leerrahmen dem Master signalisiert, ob dieser Slave dem Master Daten bereitstellen kann oder nicht. Falls der Slave dem Master Daten bereitstellen kann, bittet er den Master mit dem eingestellten Interrupt- Bit darum, ihm einen Datenrahmen zu senden, in den der Slave die Daten einfügen kann. Jeder Rahmen, der als Leerahmen oder Datenrahmen ausgebildet sein kann, weist ein Umschaltbit für sämtliche Teilnehmer auf. Durch einen Wert des Umschaltbits wird angezeigt, ob eine Übertragung des vorigen Rahmens störungsfrei erfolgt ist oder nicht, d. h. wiederholt werden muss.
Damit kann eine einfache und kostengünstige Implementierung von Teilnehmern auf Logikbausteinen der Kommunikationsanordnung, mit bspw. mindestens ei- nem Mikrocontroller mindestens einer anwendungsspezifischen integrierten
Schaltung (ASIC) bis hin zu hohen Datenraten erfolgen. Das Verfahren ermöglicht eine fehlerfreie Übertragung von Daten zwischen den Teilnehmern zur Anwendung in sicherheitskritischen Anwendungen. Bei einer möglichen Anwendung werden üblicherweise benötigte Absicherungen seitens der Software minimiert. Somit reduziert sich der Bedarf einer Interaktion zwischen einem Rechnerkern und einem Schnittstellenmodul eines Teilnehmers, das als serielle Schnittstelle ausgebildet sein kann. Die Kommunikationsanordnung unterstützt demnach eine abgesicherte Übertragung von Botschaften zwi- sehen Teilnehmern, wobei ein Teilnehmer der Kommunikationsanordnung als
Master und mindestens ein weiterer Teilnehmer als Slave ausgebildet ist. Bei einem Übertragungsfehler kann in einer Ausgestaltung der Erfindung eine autarke Wiederholung einer Datenanforderung ohne Interaktion der Software erfolgen. Ferner ermöglicht die beschriebene Kommunikationsanordnung eine Synchroni- sation der angeschlossenen Teilnehmer auf eine einheitliche Zeitdomäne und unterstützt Befehle zur Singlecast-, Multicast- oder Broadcast-Übertragung von Daten, wodurch der Master gleichzeitig mehrere Slaves ansprechen kann.
In der Kommunikationsanordnung, die eine Ring-Topologie aufweist, sind die Teilnehmer durch Punkt-zu-Punkt-Verbindungen mit geringster Pinanzahl verbunden. Einer der Teilnehmer, z. B. ein Mikrocontroller, agiert dabei als Master, wodurch keine Busarbitrierung erforderlich wird. Die Slaves können verschiedenartig ausgebildet sein. So kann ein diskreter Baustein mehrere Slaves oder lediglich einen Slave aufweisen. Diskrete Bausteine mit jeweils zumindest einem Sla- ve können als ASICs (anwendungsspezifische integrierte Schaltungen) ausgebildet sein, wobei mindestens ein Baustein, in dem zumindest ein Slave integriert ist, von einer Logik, z. B. einem Mikrocontroller oder einem anderen ASIC, als Master gesteuert werden kann. Der Master sendet in der Regel einen kontinuierlichen Datenstrom, der die Slaves nacheinander durchläuft. Durch die Möglich- keit der kontinuierlichen Synchronisation benötigen die Slaves auch keinen weiteren Takt. Damit ein Datenaustausch unter den Teilnehmern erfolgen kann, ist in Ausgestaltung der Erfindung ein einheitliches Protokoll mit zugehöriger Datenstruktur vorgesehen. In weiterer Ausgestaltung der Erfindung ist eine Übertragung von Daten zwischen Teilnehmern einer seriellen, ringförmigen Kommunikationsanordnung, bspw. einem sog. Ringbus, in der die Teilnehmer miteinander seriell verbunden sind, möglich. Dabei kann ein Datenpaket von einem als Master ausgebildeten Teilnehmer an weitere Teilnehmer, die als Slaves ausgebildet sind, übermittelt werden, wobei das Datenpaket von Slave zu Slave übermittelt wird. Außerdem kann eine Datenübertragung von Teilnehmer zu Teilnehmer mit einer Verzögerung von mindestens einer Bitdauer erfolgen, wodurch Datenpakete, die Nachrichten enthalten können, zwischen den Teilnehmern mit sehr geringer Latenz übertragen werden können.
Die erfindungsgemäße Kommunikationsanordnung ist dazu ausgebildet, sämtliche Schritte des vorgestellten Verfahrens durchzuführen. Dabei können einzelne Schritte dieses Verfahrens auch von einzelnen Komponenten der Kommunikationsanordnung durchgeführt werden. Weiterhin können Funktionen der Kommu- nikationsanordnung oder Funktionen von einzelnen Komponenten der Kommunikationsanordnung als Schritte des Verfahrens umgesetzt werden. Außerdem ist es möglich, dass Schritte des Verfahrens als Funktionen wenigstens einer Komponente der Kommunikationsanordnung oder der gesamten Kommunikationsanordnung realisiert werden. Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und den beiliegenden Zeichnungen.
Es versteht sich, dass die voranstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, son- dem auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
Kurze Beschreibung der Zeichnungen Figur 1 zeigt in schematischer Darstellung Beispiele für Zwischenrahmensymbole mit einer Miller-/MFM-Kodierung, die bei einer Ausführungsform eines erfindungsgemäßen Verfahrens verwendet werden.
Figur 2 zeigt in schematischer Darstellung eine Struktur eines als Datenrahmen ausgebildeten Rahmens, der bei einer anderen Ausführungsform des erfindungsgemäßen Verfahrens verwendet wird.
Figur 3 zeigt in schematischer Darstellung eine Struktur eines als Leerrahmen ausgebildeten Rahmens, der bei einer weiteren Ausführungsform des er- findungsgemäßen Verfahrens verwendet wird.
Figur 4 zeigt in schematischer Darstellung eine Ausführungsform der erfindungsgemäßen Kommunikationsanordnung, mit der bei einer Ausführungsform des erfindungsgemäßen Verfahrens eine Soft-Interrupt- Anforderung ausgelöst wird.
Figur 5 zeigt in schematischer Darstellung ein Beispiel für eine Ablaufsteuerung zur sicheren Übertragung einer Interrupt-Anforderung bei Durchführung einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens. Figur 6 zeigt in schematischer Darstellung ein Beispiel für einen Einsatz eines Umschaltbits (Toggle-Bits) zur autarken Rücksendung (Re-Transmit) von Botschaften bei Durchführung einer anderen Ausführungsform des erfindungsgemäßen Verfahrens.
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und den beiliegenden Zeichnungen.
Es versteht sich, dass die voranstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
Figur 1 zeigt Beispiele für Zwischenrahmensymbole 2, 4, 6, 8, 10, 12, die bei einer Ausführung des erfindungsgemäßen Verfahrens als Komponenten von Datenpaketen verwendet werden, die zwischen Teilnehmern einer erfindungsgemäßen Kommunikationsanordnung übermittelt werden. In einem derartigen Datenpaket folgt auf eines der gezeigten Zwischenrahmensymbole 2, 4, 6, 8, 10, 12 ein Rahmen 14, der entweder als Datenrahmen oder Leerrahmen ausgebildet sein kann.
Im Falle einer MFM- und somit Millerkodierung, die bei einer Ausgestaltung des erfindungsgemäßen Verfahrens zum Kodieren von Datenpaketen verwendet wird, ergeben sich u. a. die in Figur 1 dargestellten Beispiele für
Zwischenrahmensymole 2, 4, 6, 8, 10, 12 für Datenpakete eines Datenstroms. Dabei weist jedes Zwischenrahmensymbol 2, 4, 6, 8, 10, 12 einen charakteristischen Signalverlauf 16, 18, 20, 22, 24, 26 mit einer zugeordneten Periodendauer auf. Der Signalverlauf 16, 18, 20, 22, 24, 26 jedes Zwischenrahmensymbols 2, 4, 6, 8, 10, 12 weist aufgrund der Millerkodierung eine bei einer Initialisierung der Teilnehmer verwendete, unzulässige Periodendauer von 2,5 oder 3 Bit auf, die von einer herkömmlichen Periodendauer, die beim Versenden von Daten verwendet wird, abweicht. Die Signalverläufe 16, 18 der beiden ersten Zwischenrahmensymbole 2, 4 weisen eine Periodendauer von 3 Bit auf, wohingegen die Signalverläufe 20, 22, 24, 26 der weiteren Zwischenrahmensymbole 6, 8, 10, 12 jeweils eine Periodendauer von 2,5 Bit aufweisen. Die Zwischenrahmensymbole 2, 4, 6, 8, 10, 12 mit unzulässigen Periodendauern werden durch eine Kodierverletzung erzeugt. Die Zwischensymbole 2, 4, 6, 8, 10, 12 entsprechen ungültigen Datensignalen, die jedoch von den Teilnehmern erkannt werden.
Durch das wiederholte Senden eines derartigen Zwischenrahmensymbols 2, 4, 6, 8, 10, 12 während der Initialisierung erhält jeder Slave der Kommunikationsanordnung eine Folge von abwechselnd kurzen und langen Periodendauern zwischen zwei aufeinanderfolgenden Flankenwechsel, die durch die Signalverläufe 16, 18, 20, 22, 24, 26 definiert sind.
Ein Zwischenrahmensymbol 2, 4, 6, 8, 10, 12 (IFS, Interframe-Symbol), das funktionell einem Paketanfang (Start of Package) und/oder einem Paketende (End of Package) eines Datenpakets entspricht, wird in den zu übertragenden Datenstrom eingefügt, damit die Botschaften von den Teilnehmern in dem kontinuierlichen Datenstrom erkannt und extrahiert werden können. Ein Zwischenrahmensymbol (IFS) 2, 4, 6, 8, 10, 12 kann auch als Preamble ausgebildet sein, womit sich die als Slaves ausgebildeten Teilnehmer auf die nachfolgenden Botschaften synchronisieren können. Das Zwischenrahmensymbol 2, 4, 6, 8, 10, 12 wird somit zur Synchronisation von Rahmen verwendet, die als Datenrahmen oder Leerrahmen ausgebildet sein können.
Um zu gewährleisten, dass ein Zwischenrahmensymbol 2, 4, 6, 8, 10, 12 sicher erkannt wird, ist auszuschließen, dass eine identische Bitfolge im Datenstrom auftritt. Dies kann beispielsweise durch eine geeignete Kodierung oder
Kodierverletzung sichergestellt werden. Zur Erzeugung eines speziellen Zwischenrahmensymbols 2, 4, 6, 8, 10, 12, das als Synchronisationssymbol verwendet werden kann, können die Regeln der angewandten Leitungskodierung, z. B. Miller-Kodierung ausgenutzt werden, die nach einer bestimmten Anzahl an Nullen oder Einsen in dem Datenstrom immer einen Flankenwechsel vorsieht. Sofern in dem Datenstrom je nach Ausführung des Verfahrens eine minimale oder maximale Zeitdauer ohne Flankenwechsel überschritten wird, wird eine ungültige Kodierung bereitgestellt. Da eine Unterschreitung der minimalen Periodendauer ohne Flankenwechsel die Bandbreitenanforderung der Kommunikationsanordnung erhöht, wird alternativ eine ungültige Erhöhung der maximal zulässigen Periodendauer ohne Flankenwechsel gewählt. Figur 2 zeigt in schematischer Darstellung ein Beispiel für einen Aufbau eines als Datenrahmen 28 ausgebildeten Rahmens eines Datenpakets, der zwischen Teilnehmern einer erfindungsgemäßen Kommunikationsanordnung versendet werden kann. Dieser Datenrahmen 28 umfasst ein Identitätsfeld 30, ein Adressfeld 34, ein Datenfeld 36 sowie ein optionales CRC-Feld 38 für eine zyklische Redundanzprüfung. Außerdem zeigt Figur 2 jeweils ein Zwischenrahmensymbol 40 unmittelbar vor sowie unmittelbar nach dem Datenrahmen 28.
Ein Beispiel für eine Struktur eines als Leerrahmen 42 ausgebildeten Rahmens, der bei einer Ausführungsform des erfindungsgemäßen Verfahrens zwischen Teilnehmern einer erfindungsgemäßen Kommunikationsanordnung ausgetauscht werden kann, ist in Figur 3 schematisch dargestellt. Dieser Leerrahmen 42 umfasst ebenfalls ein Identitätsfeld 30 sowie ein bei dem Leerrahmen 42 optionales und somit nicht zwingend erforderliches Adressfeld 34. Weiterhin umfasst der Leerrahmen 42 ein IRQ-Feld 44 für eine Unterbrechungsanfrage (IRQ, Interrupt Request). Der Leerrahmen 42 kann ebenfalls ein optionales CRC-Feld 38 für eine zyklische Redundanzprüfung aufweisen. In einem versendeten Datenstrom ist auch der Leerrahmen 42 zwischen zwei Zwischenrahmensymbolen 40 unmittelbar vor und unmittelbar nach dem Leerrahmen 42 angeordnet.
Entsprechend der Datenstruktur der in den Figuren 2 und 3 vorgestellten Rahmen folgt nach einem Zwischenrahmensymbol 40 das Identitätsfeld 30 mit einer Folge von Rahmenidentitäts-Bits (Frame-ID-Bits). Diese signalisieren dem Teilnehmer, um welche Art von Botschaft es sich im nachfolgenden Datenstrom handelt. In einer beispielhaften Konfiguration können jeweils ein Rahmenidenti- täts-Bit und vier Address-Bits vorgesehen sein. In alternativen Ausführungen ist auch eine Erhöhung oder Verkleinerung der Bits eines Headers, der das Identitätsfeld 30 sowie das Adressfeld 34 umfasst, möglich. In Ausgestaltung der Erfindung werden das Adressfeld 34 sowie das Identitätsfeld 30 des Rahmens eines Datenpakets mit einem Paritäts-Bit versehen, womit eine fehlerhafte Adressierung verhindert wird. Alternativ oder ergänzend kann auch über den gesamten Rahmen, üblicherweise den gesamten Datenrahmen, eine zyklische Redundanzprüfung (cyclic redundancy check, CRC) durchgeführt und dabei eine Prüf- bzw. Checksumme berechnet werden. Eine Berechnung der
Prüfsumme über den kompletten Rahmen erhöht die Identifikation eines Übertra- gungsfehlers und ermöglicht daher auch den Einsatz in einer sicherheitskritischen Einrichtung, bspw. in einem Steuergerät eines Kraftfahrzeugs.
In einer weiteren Anwendung werden die Identitäts-Bits in einem Identitätsfeld 30 eines Rahmens durch den Master derart konfiguriert, dass die angeschlossenen
Slaves die Botschaft als einen Datenrahmen 28 interpretieren können. In einer beispielhaften Konfiguration wird ein Datenrahmen 28 dadurch gekennzeichnet, dass ein erstes Identitäts-Bit FDO in dem Identitätsfeld 30 des Datenrahmens 28 nicht gesetzt wird: FD0= 0. Der Dateninhalt der Botschaft darf somit nur von dem adressierten Teilnehmer verarbeitet werden. Diese Art der Botschaft (Datenrahmen 28) entspricht dem Dateninhalt einer seriellen periphären Schnittstelle (SPI).
Neben dem Identitätsfeld 30 mit den Identitäts-Bits weist ein Rahmen Adressfelder 34 mit Adressbits auf. Dabei kann eine Adressierung eines Teilnehmer durch Einstellung und/oder Änderung eines Adresswerts und somit des Adressbits in dem Adressfeld 34 durchgeführt werden, wodurch eines Adressinformation des Adressfelds 34 des Rahmens eingestellt wird. Bei der Adressierung eines Teilnehmers wird die Ring-Topologie dahingehend genutzt, dass jeder Teilnehmer, üblicherweise ein Slave, von einer aktuellen Adresse, die bspw. durch den Ad- resswert definiert ist, 0x01 subtrahiert, wodurch bei der Adresse 0x00 mit entsprechendem Adresswert der gewünschte Teilnehmer adressiert ist. Die Realisierung erfolgt üblicherweise durch einen 1 -Bit-Subtrahierer, indem die Adresse eines ersten geringwertigsten Bits (least significant bit, LSB-First) übertragen wird.
Außerdem können die weiteren Identitäts-Bits im Identitätsfeld 30 des Rahmens beispielsweise für Übertragungsbefehle (Single-, Multi- und/oder Broadcast- Befehle) genutzt werden. Durch eine entsprechende Konfiguration, kann bei der Übertragung eines Datenrahmens 28 ein Schreiben (broadcast write) und/oder ein Lesen (broadcast read) durchgeführt werden. Im Falle eines solchen Übertragungsbefehls zum Schreiben und/oder zum Lesen wird ein nachfolgender Adresswert nicht mehr als Adressinformation sondern als Übertragungsidentität (Broadcast-ID) interpretiert und von den Slaves nicht verändert. Folglich können somit viele verschiedene Übertragungen (Broadcasts) von Adressen, also z. B. 16 Adressen im Falle eines Address-Headers mit einer Länge von 4 Bit, durchgeführt werden. In einer ersten Anwendung einer Übertragung (Broadcast-Anwendung) sendet der Master als Teilnehmer z. B. einen Befehl zum Stellen der Systemuhren an die Slaves, die an der Kommunikation teilnehmen, zuzüglich eines individuellen Offsets (Versatzes), der der Verzögerung in der ringförmigen Kommunikationsanordnung entspricht und der dem Master bekannt ist. Sonst kann der Master mehreren Slaves einen einzigen Rahmen mit bekanntem Zeitversatz senden. Ein Zeitversatz von dem Master zu einem ersten Slave ist x Bit + Anzahl der Datenbits, da der Slave seine Uhr erst stellen kann, nachdem er den gesamten Rah- men empfangen hat. Diese Zeit ist jedoch fix und berechenbar. Aufeinanderfolgende Slaves stellen ihre Uhren mit nur einem weiteren Zeitversatz und somit nur einem weiteren Taktversatz, da die Verzögerung pro Teilnehmer in Ausgestaltung der Erfindung nur ein Bit beträgt. In einer zweiten Anwendung einer Übertragung sendet der Master einen Befehl zum Ausgeben/Stellen der Winkeluhren der angeschlossenen Slaves. In einer beispielhaften Anwendung erkennt der erste Slave in der ringförmigen Netzwerkanordnung einen Übertragungs-Befehl zum Ausgeben seines Werts der Winkeluhr. Er ändert die im Identitätsfeld 30 des üblicherweise als Datenrahmen 28 ausgebildeten Rahmens durch eine im Identitäts-Bit hinterlegte Identität dahingehend, dass die nachfolgenden Slaves lesend auf den Dateninhalt zugreifen und den vom Master leer gelassenen Datenteil des Rahmens mit dem Wert der Winkeluhr füllen. Die nachfolgenden Slaves nutzen nun diese Übertragung in ähnlicher Weise wie bei der ersten Anwendung zum Setzen der Werte ihrer Win- keluhren unter Berücksichtigung des Taktversatzes um ein Bit. Wenn zusätzlich noch eine aktuelle Änderungsgeschwindigkeit übertragen wird, wobei berücksichtigt wird, dass ein Rahmen beliebig lang sein kann, können die Slaves ausreichend genau winkelsynchron gehalten werden. Es ist in Ausgestaltung der Erfindung vorgesehen, dass jedes IRQ-Feld 44 eines
Leerahmens 42 für jeden teilnehmenden Slave ein Interrupt-Bit aufweist, das einem jeweiligen Slave eindeutig zugeordnet ist. Jeder Slave kann durch Setzen und/oder Einstellen des ihm zugeordneten Interrupt-Bits, entweder auf 1 oder O, dem Master eine Unterbrechungsanfrage übermitteln und somit signalisieren, dass der Master eine besondere Aktion durchführen soll, bspw. diesem Slave ei- nen Datenrahmen 28 zusendet, in den der Slave Daten für den Master einfügen kann.
Ein Auslösen und ein Rücksetzen einer Unterbrechungsanfrage bei einer möglichen Ausgestaltung des erfindungsgemäßen Verfahrens ist in Figur 4 beispielhaft dargestellt.
Figur 4 zeigt in schematischer Darstellung ein Beispiel für eine erfindungsgemäße Kommunikationsanordnung 50 in drei zeitlich aufeinander folgenden Betriebssituationen bei einer Ausführungsform des erfindungsgemäßen Verfahrens. Die hier ringförmige Kommunikationsanordnung 50 weist als Teilnehmer einen Master 52 sowie Slaves 54, 56, 58, 60 auf, die in der Kommunikationsanordnung 50 miteinander seriell und ringförmig verbunden sind. Dabei ist ein erster Slave 54 über eine Datenverbindung mit dem Master 52 verbunden. Sämtliche Slaves 54, 56, 58, 60 sind in Reihe geschaltet und ebenfalls über Datenverbindungen miteinander verbunden. Ein letzter Slave 60 der Kommunikationsanordnung ist wiederum mit dem Master 52 verbunden.
Weiterhin ist in Figur 4 für jeden Slave 54, 56, 58, 60 ein Interrupt-Register 62 mit einem Feld dargestellt, das einen Zustand eines Interrupt-Bits und somit eines Bits für eine Unterbrechungsanfrage, das entweder den Zustand 0 oder 1 aufweist, anzeigt. Der Master 52 umfasst zwei Interrupt-Register 64, 66, wobei jedes dieser beiden Interrupt-Register 64, 66 des Masters 52 y Felder aufweist, wobei ein Wert eines x-ten Felds eines Interrupts-Registers 64, 66 einem Wert und /oder einem Zustand eines Interrupts eines x-ten Slaves 54, 56, 58, 60 zugeordnet ist. Ein erstes Interrupt-Register 64 des Masters 52 zeigt einen Dateninhalt eines Interrupt-Bits eines vorhergehenden k-1 -ten Leerrahmens an. Ein zweites Interrupt-Register 66 zeigt den Dateninhalt eines aktuellen Interrupts-Bits eines k-ten Leerrahmens an.
Eine in Figur 4 ebenfalls dargestellte Zeitachse 68 ist in drei Bereiche unterteilt, wobei ein erster Bereich durch einen ersten Zeitpunkt 70 t = 0 und einen zweiten Zeitpunkt 72, zu dem von dem Master 52 an die Slaves 54, 56, 58, 60 ein n-ter Leerrahmen verschickt wird, begrenzt ist, wobei zwischen diesen beiden Zeitpunkten 70, 72 eine Initialisierung 74 der Kommunikationsanordnung 50 durchgeführt wird. Ein zweiter Bereich der durch den zweiten Zeitpunkt 72 und einen dritten Zeitpunkt 76 begrenzt ist, zu dem durch den Master 52 an die Slaves 54, 56, 58, 60 ein η+1 -ter Leerrahmen versendet wird, kennzeichnet ein Auslösen 78 eines Interrupts. Nach dem dritten Zeitpunkt 76 wird ein Zurücksetzen 80 des Interrupts durchgeführt. Bei dem Zurücksetzen 80 des Interrupts und somit der Unterbrechungsanfrage wird nicht das Interrupt-Bit in einem Interrupt-Register 62 eines der Slaves 54, 56, 58, 60 zurückgesetzt, sondern es erfolgt eine Übernahme eines Werts eines x-ten Felds für ein Interrupt des zweiten Interrupt-Registers 66 in das erste Interrupt-Register 64 des Masters 52. Damit bleibt der Wert des Interrupt-Bits im Interrupt-Register 62 des Slaves 54, 56, 58, 60 unverändert. Sofern der Slave 54, 56, 58, 60 nun dem Master 52 eine neue Unterbrechungsanfrage übermitteln möchte, wird der Zustand des Interrupt-Bits im Interrupt- Register 62 des Slaves 54, 56, 58, 60 invertiert, welches der Master 52 nach der Übertragung durch einen Leerrahmen mittels Vergleich des ersten Interrupt- Registers 64 mit dem zweiten Interrupt-Register 66 entsprechend dem obig beschriebenen Verfahren erkennt.
Bei der Initialisierung 74 der Kommunikationsanordnung 50 ist in der beschriebenen Ausführungsform der Erfindung vorgesehen, dass alle Interrupt-Bits für alle Slaves 54, 56, 58, 60 auf 0 gesetzt werden. Bei dem Auslösen 78 des Interrupts ist vorgesehen, dass hier ein dritter Slave 58 das Auslösen 78 des Interrupts durch Umschalten des Interrupt-Bits in seinem Interrupt-Register 62 markiert, was wiederum durch den Master 52 nach Empfang der Interrupt-Felder der einzelnen Slaves 54, 56, 58, 60 in seinem zweiten Interrupt-Register 66 dadurch registriert wird, dass ein Wert im dritten Feld dieses zweiten Interrupt-Registers 66 auf 1 gesetzt ist und die Werte der anderen Felder 0 sind.
Alternativ ist es möglich, dass die Interrupt-Bits bei der Initialisierung 74 auf 1 gesetzt sind und ein Slave 54, 56, 58, 60 den Wert des ihm zugeordneten Interrupt- Bits auf 0 setzt, sofern dieser Slave 54, 56, 58, 60 dem Master 52 Daten bereitstellen kann. Durch geeignetes Setzen und/oder Einstellen des Interrupt-Bits, was je nach Definition bedeuten kann, dass das Interrupt-Bit auf 0 oder 1 gesetzt und/oder gestellt wird, kann ein Slave 54, 56, 58, 60 dem Master ein Signal übermitteln. Falls einer der Slaves 54, 56, 58, 60 eine Unterbrechungsanfrage vorsieht, löst der jeweilige Slave 54, 56, 58, 60 diese durch Einstellen des Werts des Interrupt- Bits in seinem Interrupt-Register 62 aus. Außerdem wird der aktuelle Wert des Interrupt-Bits, unabhängig davon, ob der jeweilige Slave 54, 56, 58, 60 nun eine Unterbrechungsanfrage auslöst oder nicht, in einen Rahmen, üblicherweise einen Leerahmen übertragen, der in der Kommunikationsanordnung 50 von Teilnehmer zu Teilnehmer, d. h. ausgehend von dem Master 52 von Slave 54, 56, 58, 60 zu Slave 54, 56, 58, 60 und letztendlich wieder zu dem Master 52 übertragen wird. Dabei weist jeder Rahmen in der Regel x Felder auf, wobei ein x-tes Feld einem Wert eines Interrupt-Bits eines x-ten Slaves 54, 56, 58, 60 eindeutig zugeordnet ist. Sobald der Master 52 den Rahmen nach einem Umlauf von Slave 54, 56, 58, 60 zu Slave 54, 56, 58, 60 wieder empfangen hat, können die Felder des ersten Interrupt-Registers 64 des Masters 52 aktualisiert werden, wobei ein Wert des Interrupt-Bits aus dem x-ten Feld des empfangenen Rahmens in das x- te Feld des ersten, als Referenz vorgesehenen Interrupt-Registers 64 des Masters 52 übertragen wird.
In einer weiteren Anwendung werden die Identitäts-Bits eines Rahmens durch den Master 52 derart konfiguriert, dass die angeschlossenen Slaves 54, 56, 58, 60 den als Botschaft empfangenen Rahmen als einen Leerrahmen interpretieren können. In einer beispielhaften Konfiguration wird ein Leerrahmen dadurch gekennzeichnet, dass zumindest das erste Identitäts-Bit FD0 im Identitätsfeld geeignet gesetzt und somit definiert wird, wobei das erste Identitäts-Bit bspw. FD0= 1 gesetzt wird. Eine Definition eines Rahmens als Leerrahmen ist entsprechend eines verwendeten Protokolls vorzunehmen, wobei ein Leerrahmen durch Setzen der hierfür vorgesehenen Felder und/oder Bits eines Rahmens als ein solcher definiert wird. Ein Leerahmen dient der Synchronisation der Teilnehmer im Leerlauf der Kommunikationsanordnung 50 aber auch um Unterbrechungsanfragen, sog. Soft-Interrupts, von den Slaves 54, 56, 58, 60 an den Master 52 übermitteln zu können. Ein Slave 54, 56, 58, 60 kann über eine derartige Unterbrechungsanfrage dem Master 52 beispielsweise ein neues Datenpaket signalisieren, das der Master 52 mit einer Leseanforderung abholen kann. Jedem Slave 54, 56, 58, 60 ist in einem Rahmen, der als Datenrahmen oder Leerrahmen ausgebildet sein kann, zumindest ein Interrupt-Bit fest zugeordnet, das von ihm modifiziert werden kann. Die Priorisierung der Abarbeitung der Unterbrechungsanfragen kann nun vom Master 52, z. B. MikroController, durchgeführt werden. In einem verwendeten Protokoll ist vorgesehen, dass eine Unterbrechungsanfrage (Soft-Interrupt) eines Slaves 54, 56, 58, 60 bei einer überschneidenden Adressierung durch den Master 52 korrekt beantwortet wird, d. h. der Master 52 spricht den Slave 54, 56, 58, 60 an, noch bevor die Unterbrechungsanfrage des Slaves 54, 56, 58, 60 verarbeitet und/oder rückgesetzt wird. Beispielsweise kann nach erfolgreicher Abarbeitung der Unterbrechungsanfrage durch den Master 52 ein Befehl zum Rücksetzen (Reset) an den Slave 54, 56, 58, 60 abgesetzt werden, der jedoch durch die Latenz der Kommunikationsanordnung 50 erst zu einem Zeitpunkt im Slave 54, 56, 58, 60 ausgeführt werden kann, nachdem bereits eine neue Unterbrechungsanfrage vorliegt. Somit ist es möglich, dass die im Zeitraum nach dem Empfang des letzten Leerrahmens bis zur Ausführung des Rücksetz-Befehls zu der Unterbrechungsanfrage weiterhin auftretenden Unterbrechungsanfragen im Slave 54, 56, 58, 60 versehentlich gelöscht werden.
Um dies zu verhindern, ist in Ausgestaltung der beschriebenen Kommunikationsanordnung eine unidirektionale Übertragung von einer Information zu einer Unterbrechungsanfrage vorgesehen. In dieser Ausgestaltung weist jeder Slave 54, 56, 58, 60 das Interrupt-Register 62 und somit ein Register für Unterbrechungsanfragen auf. Ein Wert des Interrupts-Register 62 im Slave 54, 56, 58, 60 wird mit dem Auftreten und/oder Auslösen 78 einer Unterbrechungsanfrage invertiert. Ein aktueller Status des Interrupt-Registers 60 wird von jedem Teilnehmer in den Leerrahmen eingefügt und an den Master 52 übertragen. Der Master 52 enthält und/oder umfasst bereits ein Abbild der Statusinformation eines Interrupt-Registers 64 aus dem vorigen Umlauf und kann nun durch einen Vergleich des aktuellen Status mit dem vorigen Status von Interrupt-Bits zu Unterbrechungsanfragen entscheiden, welcher mindestens eine als Slave 54, 56, 58, 60 ausgebildete Teilnehmer bei einer Durchführung einer Soft-Interrupt-Service- Routine und somit eines Programms zur Bereitstellung einer Unterbrechungsanfrage abgearbeitet werden soll, wobei der mindestens eine Slave 54, 56, 58, 60 möglicherweise entsprechend der ihm zugeordneten Priorität abgearbeitet wird.
Figur 5 zeigt für eine weitere Ausführungsform des erfindungsgemäßen Verfahrens ein Diagramm mit einer ersten Zeitachse 82 auf der Seite eines Masters und eine zweite Zeitachse 84 auf der Seite eines Slaves, wobei entlang dieser beiden Zeitachsen 82, 84 Ereignisse dokumentiert sind, die während einer Ablaufsteue- rung zur sicheren Übertragung einer Interrupt-Anforderung und somit einer Anforderung für eine Unterbrechungsanfrage stattfinden.
Dabei wird zu einem ersten Zeitpunkt 86 von dem Master an mindestens einen Slave ein Leerrahmen geschickt und von dem mindestens einen Slave zu einem zweiten Zeitpunkt 88 ein Interrupt-Bit gesetzt, sofern in dem Slave neue Daten vorliegen. Falls von dem mindestens einen Slave ein Interrupt an den Master gesendet wird, wird dieser zu einem dritten Zeitpunkt 90 empfangen und von dem Master eine Abarbeitung dieses Interrupts durchgeführt. Weiterhin wird von dem Master an den mindestens einen Slave ein erster Lesebefehl und/oder Schreibbefehl abgesetzt und von dem mindestens einen Slave zu einem vierten Zeitpunkt 92 empfangen, wobei von dem mindestens einen Slave weiterhin ein Registerinhalt, beispielsweise über einen Zeitstempel, ausgelesen wird.
Bei einer nachfolgenden Antwort des mindestens einen Slaves an den Master ist nunmehr vorgesehen, dass eine Störung 94 der Kommunikation auftritt. Aufgrund dieser Störung 94 kommt es zu einem Übertragungsfehler im Datenstrom. Allerdings wird dieser Übertragungsfehler von dem Master zu einem fünften Zeitpunkt 96 durch Auswertung einer zyklischen Redundanzsumme (CRC) nachgewiesen. Aufgrund dessen erfolgt eine Wiederholung des Lesebefehls, worauf von dem Master an den mindestens einen Slave ein zweiter Lesebefehl und/oder Schreibbefehl gesendet und von dem mindestens einen Slave zu einem sechsten Zeitpunkt 98 empfangen wird. Weiterhin wird durch den mindestens einen Slave eine Wiederholung des vorherigen (ersten) Lesebefehls und/oder Schreibbefehls durchgeführt. Danach werden von dem mindestens einen Slave an den Master Daten übermittelt und von dem Master zu einem siebten Zeitpunkt 100 empfangen. Nach Empfang der Daten erfolgt ein Transfer dieser Daten in einen Speicher, beispielsweise einem RAM, des Masters. Danach kann von dem Master an den mindestens einen Slave erneut ein Leerrahmen gesendet werden, der von dem mindestens einen Slave zu einem achten Zeitpunkt 102 empfangen wird.
Figur 6 zeigt in schematischer Darstellung ein Beispiel für einen hier als Datenrahmen 104 ausgebildeten Rahmen in einem Datenstrom zwischen Teilnehmern einer erfindungsgemäßen Kommunikationsanordnung im zeitlichen Verlauf einer Ausführungsform des erfindungsgemäßen Verfahrens. Dabei ist diesem Datenrahmen 104 ein Zwischenrahmensymbol 106 vorangestellt. Außerdem umfasst der Datenrahmen 104 ein Identitätsfeld 108, das hier ein Toggle-Bit 1 10 bzw. Umschaltbit sowie ein Identitäts-Bit 1 12 aufweist, sowie ein Adressfeld 1 14, ein Datenfeld 1 16 und ein CRC-Feld 1 18 für eine zyklische Redundanzprüfung. Üblicherweise weist jeder Rahmen, unabhängig davon, ob dieser als Datenrahmen 104 oder als Leerrahmen ausgebildet ist, ein Toggle-Bit und somit ein Umschaltbit für sämtliche Teilnehmer, in der Regel sämtliche Slaves auf. Durch einen Wert des Umschaltbits wird signalisiert, ob eine Übertragung des Rahmens korrekt durchgeführt wurde oder ob dabei eine Störung und somit ein Fehler im vorigen Umlauf eines Daten- oder Leerrahmens aufgetreten ist. Das Datenfeld
1 16 weist weiterhin Interrupt-Bits auf, wobei jedem Slave ein Interrupt-Bit eindeutig zugeordnet ist.
Es ist vorgesehen, dass das Identitäts-Bit 1 12 des hier dargestellten Datenrahmens 104 zu allen Zeitpunkten den Wert 0 aufweist, was den Rahmen als Datenrahmen 104 identifiziert. Falls das Identitäts-Bit alternativ den Wert 1 aufweisen würde, würde es sich bei dem Rahmen um einen Leerrahmen handeln. Zu einem ersten Zeitpunkt 120 erfolgt eine erste Übertragung einer k-1 -ten Botschaft im Datenfeld 1 16, wobei weiterhin vorgesehen ist, dass das Toggle-Bit 1 10 den Wert 1 aufweist. Zu einem zweiten Zeitpunkt 122 wird das Toggle-Bit 1 10 auf den Wert 0 umgeschaltet und eine erste Übertragung einer k-ten Botschaft im Datenfeld 1 16 vorgenommen. Allerdings ereignet sich hier während der ersten Übertragung nach dem zweiten Zeitpunkt 122 ein Übertragungsfehler 124. Dadurch ergibt sich bei einem nachfolgenden dritten Zeitpunkt 126, dass das Toggle-Bit 1 10 durch den Master nicht invertiert wird, so dass es im vorliegenden Beispiel den Wert 0 beibehält. Dadurch ergibt sich weiterhin, dass der Slave die vorherige, hier k-te Botschaft wiederholt, so dass diese k-te Botschaft zu einem zweiten Mal übertragen wird. Dabei ist jedoch zu berücksichtigen, dass eine Anzahl von Wiederholungsversuchen begrenzt sein kann. Zu einem vierten Zeitpunkt 128 wird das Toggle-Bit 1 10 wieder auf 1 invertiert und im Datenfeld 1 16 eine k+1 -te Botschaft erstmals übertragen.
Bei einer Auslegung der Kommunikationsanordnung, mit der u. a. auch berücksichtigt wird, mit welcher Geschwindigkeit unterschiedliche Funktionen und somit bspw. Programme und/oder Befehle von Teilnehmern der Kommunikationsanordnung durchgeführt und/oder umgesetzt werden, ist weiterhin vorgesehen, dass das Auftreten der Unterbrechungsanfragen in einem Slave langsamer erfolgt, als diese durch einen Leerrahmen abgeholt werden. Ansonsten wird durch ein zweimaliges Toggeln, d. h. Um- oder Hin- und Herschalten, des Interrupt- Registers wieder der Ausgangzustand hergestellt, wodurch das Interrupt- Register durch ein Vergleich der Statusinformation im Master nicht identifiziert werden kann. Bei einer Nicht-Beachtung dieser Regel können Unterbrechungsanfragen verloren gehen, jedoch ist sichergestellt dass niemals zu viele Unterbrechungsanfragen auftreten, was in Ausgestaltung dadurch erreicht werden kann, dass zwischen zwei Unterbrechungsanfragen von einem ersten an einen zweiten Teilnehmer ein Zeitintervall mit einer festzusetzenden minimalen Länge vorgesehen ist, die bspw. von der Anzahl der Teilnehmer der Kommunikationsanordnung und/oder einer Länge von Rahmen abhängig sein kann.
Neben der Übertragung von Unterbrechungsanfragen werden die Leerrahmen zur Konfiguration der Slaves im laufenden Betrieb der Kommunikationsanordnung genutzt. Wie bereits erwähnt, kann bei sicherheitskritischen Anwendungen eine Kodierung mit einer und/oder über eine zyklischen Redundanzprüfung (CRC, cyclic redundancy check) über die bspw. als Datenrahmen
ausgebildetdeten Rahmen durchgeführt werden. Um eine fehlerhafte Adressie- rung der Teilnehmer durch einen Übertragungsfehler zu verhindern, kann ein Ad- ress-Header und demnach für einen Datenkopf einer Adresse eines Rahmens ebenfalls eine CRC-Berechnung durchgeführt werden, wobei für den Adress- Header eine Prüfsumme berechnet wird, wobei von einem Teilnehmer dessen Adresse verwendet wird.
In Ausgestaltung wird jedem Teilnehmer, üblicherweise jedem Slave, über einen Leerrahmen dessen Adresse zugewiesen. Dies hat aber zur Folge, dass jeder Teilnehmer in der ringförmigen Kommunikationsanordnung die Kenntnis über seine absolute Adresse hat und diese für die CRC-Berechnung verwenden kann. Hierzu sendet der Master den Leerrahmen mit einem Adressfeld, dem ein Adresswert 0x00 zugeordnet ist. Jeder Slave subtrahiert den Wert 0x01 von dem Adresswert und negiert die empfangene Adresse. Somit erhält der Slave mit jedem Empfang eines Leerrahmens eine Information über seine Position im Ring. Dabei ist die Position eines empfangenden Slaves typischerweise von dem je- weiligen Adresswert im Adressfeld abhängig, der darüber Auskunft gibt, wie viele
Substraktionen des Adresswert bereits durchgeführt worden sind, wobei die An- zahl an Subtraktionen der Anzahl Slaves, die in der Kommunikationsanordnung dem empfangenden Slave voranstehend, d. h. nach dem Master und vor dem empfangenden Slave angeordnet sind. In einer weiteren Anwendung werden die Identitäts-Bits eines Rahmens eines
Datenpakets durch den Master derart konfiguriert, dass eines der Identitäts-Bits als sogenanntes Umschaltbit (Toggle-Bit) durch die Slaves interpretiert wird. In einer beispielhaften Konfiguration wird das Umschaltbit durch das zweite Identitäts-Bit FD1 des Rahmens beschrieben. Mit Hilfe des als Umschaltbit definierten zweiten Identitäts-Bits FD1 des Rahmens kann der Master im Falle eines Übertragungsfehlers ein Datenpaket erneut anfordern. Dabei ist in der Regel vorgesehen, dass eine Detektion eines Übertragungsfehlers anhand einer Auswertung einer Prüfsumme einer zyklischen Redundanzprüfung durchgeführt wird. Eine Rücksendung (Re-Transmit) des fehlerhaft übertragenen Datenpakets und/oder einer entsprechend fehlerhaft übertragenen Botschaft wird dabei im Master autark initiiert, d. h. ohne Interaktion mit einer zentralen Recheneinheit (central pro- cessing unit, CPU) durchgeführt. Nach dem erneuten Versenden eines zuvor bereits versendeten, vorigen Datenpakets durch den Master, identifiziert der Slave, ob es sich um eine Wiederholung der vorigen Anfrage oder bereits eine neue Botschaft mit vergleichbarem Inhalt handelt. Hierzu wird das Umschaltbit FD1 entsprechend durch den Master modifiziert. Sofern sich das Umschaltbit einer eingehenden Botschaft zum vorigen Umlauf nicht geändert hat, ist vorgesehen, dass der Slave das vorige Datenpaket nochmals überträgt. Im umgekehrten Fall, falls das Umschaltbit FD1 durch Umschalten modifiziert wird, verarbeitet der Sla- ve das aktuelle Datenpaket und erhält mit diesem aktuellen Datenpaket zugleich eine Bestätigung (acknowledge) für die erfolgreiche Übertragung des vorigen Datenpakets an den Master.
Bei dem Verfahren zum Übertragen von Rahmen, die Daten aufweisen, zwischen Teilnehmern einer ringförmigen Kommunikationsanordnung 50, die als Teilnehmer einen Master 52 und mindestens einen Slave 54, 56, 58, 60 aufweist, weist jeder Teilnehmer mindestens ein Interrupt-Register 62, 64, 66 auf. Dabei ist ein Feld des mindestens einen Interrupt-Registers 62, 64, 66 einer Unterbrechungsanfrage zugeordnet und umfasst einen Wert für ein Interrupt-Bit. Dabei wird dem Master 52 von einem Slave 54, 56, 58, 60 in einem üblicherweise als Leerrahmen 42 ausgebildeten Rahmen eine Unterbrechungsanfrage, die das Interrupt- Bit umfasst, übermittelt. Es kann in Ausgestaltung des Verfahrens vorgesehen sein, dass in dem Leerrahmen 42 jedem Slave 54, 56, 58, 60 ein derartiges Interrupt-Bit eindeutig zugeordnet ist. Es ist auch möglich, dass Rahmen, die als Datenrahmen 28, 1 16 ausgebildet sind, für jeden der Slaves 54, 56, 58, 60 ein Interrupt-Bit aufweist. Der Leerrahmen 42 aber auch jeder Datenrahmen 28, 1 16 und somit typischerweise jeder Rahmen kann weiterhin ein Umschaltbit für alle Slaves 54, 56, 58, 60 aufweisen, das einen Zustand des übertragenen Rahmens und somit auch einer in einem Leerrahmen 42 übermittelten Unterbrechungsanfrage angibt. Üblicherweise kann durch einen Wert des Umschaltbits signalisiert werden, ob der vorige Rahmen fehlerfrei übertragen wurde oder ob es bei der Übertragung bspw. wegen einer Störung zu einem Fehler kam.
In der Regel weist jeder Slave 54, 56, 58, 60 ein Interrupt-Register 62 auf, wobei ein Wert eines Interrupt-Bits des Interrupt-Registers 62 von dem Slave 54, 56, 58, 60 bei Auftreten einer Unterbrechungsanfrage invertiert wird. Dabei kann ein aktueller Wert des Felds des Interrupt-Registers 62 von dem Slave 54, 56, 58, 60 in den üblicherweise als Leerrahmen 42 oder ggf. als Datenrahmen 28, 104 ausgebildeten Rahmen eingefügt und an den Master 52 übertragen werden. Hierbei überträgt ein x-ter Slave 54, 56, 58, 60 den Wert seines Interrupt-Bits in ein x-tes Feld des Rahmens, das dem x-ten Slave 54, 56, 58, 60 eindeutig zugeordnet ist. Sobald der Master 52 einen Rahmen mit aktualisierten Feldern für Werte von Interrupt-Bits empfängt, können diese in das erste Interrupt-Register 64 des Masters 52 übertragen werden.
Es ist ferner möglich, dass der Master 52 zwei Interrupt-Register 64, 66 aufweist, wobei ein x-tes Feld eines ersten Interrupt-Registers 64 ein Interrupt-Bit zur Angabe eines Vorliegens oder Nicht-Vorliegens einer Unterbrechungsanfrage eines x-ten Slaves 54, 56, 58, 60 eines vorherigen Umlaufs umfasst und wobei ein x- tes Feld eines zweiten Interrupt-Registers 66 ein Interrupt-Bit zur Angabe eines Vorliegens oder Nicht-Vorliegens einer Unterbrechungsanfrage des x-ten Slaves 54, 56, 58, 60 eines aktuellen Umlaufs umfasst. Das Vorliegen einer Unterbrechungsanfrage kann durch Analyse bzw. Vergleich der beiden Interrupt-Register 64, 66 von dem Master 52 festgestellt werden, wobei eine Abarbeitung von Unterbrechungsanfragen von dem Master 52 priorisiert wird. Weiterhin wird dem Master 52 mit dem Leerrahmen 42, der die Unterbrechungsanfrage umfasst, von dem mindestens einen Slave 54, 56, 58, 60 signalisiert, dass von dem Slave 54, 56, 58, 60 mit einem als Datenrahmen 28 ausgebildeten Rahmen ein Datenpaket abzuholen ist. Ob ein x-ter Slave 54, 56, 58, 60 eine derartige Unterbrechungsanfrage ausgelöst hat oder nicht, wird dem Master durch einen Wert des Interrupt-Bits in dem x-ten Feld des Leerrahmens signalisiert. Das Vorliegen einer Unterbrechungsanfrage kann je nach Definition durch den Wert 1 oder 0 des Interrupt-Bits des x-ten Slaves 54, 56, 58, 60 angezeigt werden.
Das Umschaltbit in dem üblicherweise als Leerrahmen 42 und/oder als Datenrahmen 28, 104 ausgebildeten Rahmen wird von dem Master 52 bei einer fehlerfreien Übertragung invertiert, wobei ein Wert des Umschaltbits in dem Rahmen bei einer Störung der vorigen Übertragung beibehalten wird, und wobei von dem Slave 54, 56, 58, 60 ein vorheriger als Datenrahmen 28, 104 und/oder als Leerrahmen 42 ausgebildeter Rahmen, der zu übertragende Daten oder eine zu übertragende Botschaft umfasst, bei einem unveränderten Umschaltbit nochmal übertragen wird. Dabei weist jeder Rahmen in der Regel lediglich ein derartiges Umschaltbit für sämtliche Teilnehmer aus, das einen Zustand einer Übertragung des jeweiligen Rahmens dokumentiert.
Üblicherweise treten Unterbrechungsanfragen im Slave 54, 56, 58, 60 langsamer auf, als dass Unterbrechungsanfragen in Leerrahmen 42 abgeholt werden. Eine Unterbrechungsanfrage kann unidirektional übermittelt werden.

Claims

Ansprüche
1 . Verfahren zum Übertragen von Rahmen, die Daten aufweisen, zwischen Teilnehmern einer ringförmigen Kommunikationsanordnung (50), die als Teilnehmer einen Master (52) und mindestens einen Slave (54, 56, 58, 60) aufweist, wobei jeder Teilnehmer mindestens ein Interrupt-Register (62, 64, 66) aufweist, wobei ein Feld des mindestens einen Interrupt-Registers (62, 64, 66) einer Unterbrechungsanfrage zugeordnet ist und einen Wert für ein Interrupt-Bit umfasst, wobei dem Master (52) von einem Slave (54, 56, 58, 60) in einem als Leerrahmen (42) ausgebildeten Rahmen eine Unterbrechungsanfrage, die das Interrupt-Bit umfasst, übermittelt wird, wobei der Leerrahmen weiterhin ein Umschaltbit für alle Slaves (54, 56, 58, 60) aufweist, das einen Zustand einer Unterbrechungsanfrage angibt.
2. Verfahren nach einem der voranstehenden Ansprüche, bei dem jeder Slave (54, 56, 58, 60) ein Interrupt-Register (62) aufweist, wobei ein Wert eines Interrupt-Bits des Interrupt-Registers (62) von einem Slave (54, 56, 58, 60) bei Auftreten einer Unterbrechungsanfrage invertiert wird.
3. Verfahren nach Anspruch 2, bei dem ein aktueller Wert des Felds des Interrupt-Registers (62) von dem Slave (54, 56, 58, 60) in den Leerrahmen (42) eingefügt und an den Master (52) übertragen wird.
4. Verfahren nach einem der voranstehenden Ansprüche, bei dem der Master (52) zwei Interrupt-Register (64, 66) aufweist, wobei ein x-tes Feld eines ersten Interrupt-Registers (64) ein Interrupt-Bit zur Angabe eines Vorliegens einer Unterbrechungsanfrage eines x-ten Slaves (54, 56, 58, 60) eines vorherigen Umlaufs umfasst und wobei ein x-tes Feld eines zweiten Interrupt- Registers (66) ein Interrupt-Bit zur Angabe eines Vorliegens einer Unterbrechungsanfrage des x-ten Slaves (54, 56, 58, 60) eines aktuellen Umlaufs umfasst. Verfahren nach Anspruch 4, bei dem das Vorliegen der Unterbrechungsanfragen durch Analyse der beiden Interrupt-Register (64, 66) von dem Master (52) festgestellt wird, wobei eine Abarbeitung von Unterbrechungsanfragen von dem Master (52) priorisiert wird.
Verfahren nach einem der voranstehenden Ansprüche, bei dem dem Master (52) mit dem Leerrahmen (42), der die Unterbrechungsanfrage umfasst, von dem mindestens einen Slave (54, 56, 58, 60) durch Einstellung eines Interrupt-Bits, das in dem Leerrahmen dem mindestens einen Slave (54, 56, 58, 60) zugeordnet ist, signalisiert wird, dass von dem Slave (54, 56, 58, 60) mit einem als Datenrahmen (28) ausgebildeten Rahmen ein Datenpaket abzuholen ist.
Verfahren nach einem der voranstehenden Ansprüche, bei dem das Umschaltbit in dem Leerrahmen (42) oder in einem Datenrahmen (28, 1 16) von dem Master (52) bei einer fehlerfreien Übertragung invertiert wird, und bei dem ein Wert des Umschaltbits in dem Leerrahmen (42) oder in dem Datenrahmen (28, 1 16) bei einer Störung der Übertragung beibehalten wird, wobei von dem Slave (54, 56, 58, 60) ein vorheriger Leerrahmen (42) oder Datenrahmen (28, 1 16), der eine Botschaft umfasst, bei einem unveränderten Umschaltbit nochmal übertragen wird.
Verfahren nach einem der voranstehenden Ansprüche, bei dem eine Unterbrechungsanfrage unidirektional übermittelt wird und dabei nach der Abarbeitung durch den Master (52) das Umschaltbit im Slave (54, 56, 58, 60) nicht zurückgesetzt wird.
Ringförmige Kommunikationsanordnung (50), die als Teilnehmer einen Master (52) und mindestens einen Slave (54, 56, 58, 60) aufweist, wobei die Teilnehmer untereinander Rahmen, die Daten aufweisen, übertragen, wobei jeder Teilnehmer mindestens ein Interrupt-Register (62, 64, 66) aufweist, wobei ein Feld des mindestens einen Interrupt-Registers (62, 64, 66) einer Unterbrechungsanfrage zugeordnet ist und einen Wert für ein Interrupt-Bit umfasst, wobei ein Slave (54, 56, 58, 60) dem Master (52) in einem als Leerrahmen (42) ausgebildeten Rahmen eine Unterbrechungsanfrage, die das Interrupt-Bit umfasst, übermittelt, wobei der Leerrahmen weiterhin ein Um- schaltbit für alle Slaves (54, 56, 58, 60) aufweist, das einen Zustand einer Unterbrechungsanfrage angibt.
PCT/EP2012/068412 2011-09-27 2012-09-19 Verfahren zum betreiben einer kommunikationsanordnung WO2013045323A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201280047034.5A CN103814550B (zh) 2011-09-27 2012-09-19 用于运行通信装置的方法以及相应的通信装置
US14/347,890 US9529746B2 (en) 2011-09-27 2012-09-19 Method for operating a communication system
JP2014532320A JP5814474B2 (ja) 2011-09-27 2012-09-19 通信システムを駆動する方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102011083474.5 2011-09-27
DE102011083474A DE102011083474A1 (de) 2011-09-27 2011-09-27 Verfahren zum Betreiben einer Kommunikationsanordnung

Publications (1)

Publication Number Publication Date
WO2013045323A1 true WO2013045323A1 (de) 2013-04-04

Family

ID=46940466

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2012/068412 WO2013045323A1 (de) 2011-09-27 2012-09-19 Verfahren zum betreiben einer kommunikationsanordnung

Country Status (6)

Country Link
US (1) US9529746B2 (de)
JP (1) JP5814474B2 (de)
CN (1) CN103814550B (de)
DE (1) DE102011083474A1 (de)
TW (1) TWI572166B (de)
WO (1) WO2013045323A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3026515B1 (fr) * 2014-09-26 2017-12-01 Valeo Systemes Thermiques Transmission de donnees synchrones par l'intermediaire d'un bus de donnees serie, notamment un bus spi
CN107258076B (zh) * 2015-02-26 2020-12-25 西门子公司 通信网络中的数据传输
US10185671B1 (en) * 2015-12-29 2019-01-22 Amazon Technologies, Inc. Broadcasting writes to multiple modules
US10180919B1 (en) 2015-12-29 2019-01-15 Amazon Technologies, Inc. Broadcasting reads to multiple modules
US10066906B2 (en) * 2016-08-10 2018-09-04 Axon Enterprise, Inc. Methods and apparatus for a conducted electrical weapon
DE102016216066A1 (de) * 2016-08-26 2018-03-01 Robert Bosch Gmbh Teilnehmer für ein digitales Kommunikationssystem und zugehöriges Kommunikationssystem
EP3644193A4 (de) * 2018-08-23 2020-11-25 Shenzhen Goodix Technology Co., Ltd. Unterbrechungsverarbeitungsverfahren, masterchip, slavechip und multichipsystem
CN109726163B (zh) * 2018-12-30 2020-12-11 广东大普通信技术有限公司 一种基于spi的通信系统、方法、设备和储存介质
DE102019203352A1 (de) * 2019-03-12 2020-09-17 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Kommunikationssystems
CN113572674A (zh) * 2021-09-26 2021-10-29 北京芯格诺微电子有限公司 一种单线总线的链式连接通讯方法
CN117118777B (zh) * 2023-10-23 2024-01-02 合肥为国半导体有限公司 一种通信系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4389721A (en) * 1981-06-30 1983-06-21 Harris Corporation Time-division multiplex serial loop

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0685529B2 (ja) * 1986-09-05 1994-10-26 株式会社日立製作所 デ−タ伝送方法および装置
JPH10254507A (ja) 1997-03-10 1998-09-25 Matsushita Electric Ind Co Ltd 光通信制御装置
EP1237090A1 (de) * 2001-02-28 2002-09-04 Alcatel Serielles Peripherieschnittstellenmastergerät, serielles Peripherieschnittstellenslavegerät und serielle Peripherieschnittstelle
JP4697924B2 (ja) * 2004-06-07 2011-06-08 キヤノン株式会社 データ転送方法
DE102010041427A1 (de) * 2010-09-27 2012-03-29 Robert Bosch Gmbh Verfahren zum Übertragen von Daten
CN102231143A (zh) * 2011-07-04 2011-11-02 浙江大学 一种安全可复用spi外围接口电路

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4389721A (en) * 1981-06-30 1983-06-21 Harris Corporation Time-division multiplex serial loop

Also Published As

Publication number Publication date
CN103814550A (zh) 2014-05-21
US20140317322A1 (en) 2014-10-23
CN103814550B (zh) 2017-05-31
US9529746B2 (en) 2016-12-27
TW201322689A (zh) 2013-06-01
TWI572166B (zh) 2017-02-21
JP2014531844A (ja) 2014-11-27
DE102011083474A1 (de) 2013-03-28
JP5814474B2 (ja) 2015-11-17

Similar Documents

Publication Publication Date Title
WO2013045323A1 (de) Verfahren zum betreiben einer kommunikationsanordnung
EP2936747B1 (de) Datenübertragung unter nutzung eines protokollausnahmezustands
EP2434695B1 (de) Serielle ringförmige Kommunikationsanordnung und dementsprechendes Verfahren, wobei für die Übermittlung von einem Datenpaket von jedem Slave eine Adressinformation des Datenpakets geändert wird
EP2700017B1 (de) Verfahren und vorrichtung zur seriellen datenübertragung mit umschaltbarer datencodierung
EP2619947B1 (de) Verfahren und vorrichtung zur seriellen datenübertragung mit umschaltbarer datenrate
EP2028797B1 (de) Verfahren zur Datenübertragung
EP2090031B1 (de) Verfahren und anordnung zur kommunikation auf einem lin-bus
EP3881499A1 (de) Fehlerrahmenabschirmeinheit für eine teilnehmerstation eines seriellen bussystems und verfahren zur kommunikation in einem seriellen bussystem
EP2936746A1 (de) Datenübertragungsprotokoll mit protokollausnahmezustand
DE102019201230A1 (de) Teilnehmerstation für ein serielles Bussystem und Verfahren zum Senden einer Nachricht in einem seriellen Bussystem
EP1509005B1 (de) Verfahren und Vorrichtung zur Übertragung von Daten über ein Busnetz mittels Broadcast
EP3895384B1 (de) Überlagerungserfassungseinheit für eine teilnehmerstation eines seriellen bussystems und verfahren zur kommunikation in einem seriellen bussystem
EP0509114A1 (de) Verfahren zum Übertragen von Daten an mehrere Datenstationen
DE19935490C2 (de) Verfahren sowie Steuer- und Datenübertragungsanlage zur Bereitstellung einer Komunikation zwischen mehreren Teilnehmern
WO2020035392A1 (de) Rahmenabschirmeinheit, teilnehmerstation für ein serielles bussystem und verfahren zur kommunikation in einem seriellen bussystem
EP0965924B1 (de) Anordung und Verfahren zum Übertragen von Adress-, Befehls- und/oder Datentelegrammen
DE102015014210B4 (de) Netzwerkmanagement für ein zweikanaliges FlexRay-Netzwerk
WO2020088999A1 (de) Teilnehmerstation für ein serielles bussystem und verfahren zum senden einer nachricht in einem seriellen bussystem
EP1329057B1 (de) Verfahren für den Zugriff aauf einen Datenbus zwischen kommunizierenden elektronischen einheiten
DE10201319B4 (de) Verfahren zur Datenübertragung und serielles Bussystem
EP1162786B1 (de) Verfahren zur Datenkommunikation zwischen mehreren MAC-Steuereinheiten
DE19753288A1 (de) Effizientes Quittungsverfahren in einem verteilten zeitgesteuerten Echtzeitsystem
DD248206A1 (de) Verfahren und schaltungsanordnung zur dezentralen steuerung des mastertransfers in ringfoermig strukturierten mehrrechnersystemen
DE102013212016A1 (de) Verfahren zum Betreiben einer Kommunikationsanordnung
DE10035986A1 (de) Kommunikationsverfahren für zwei miteinander verbundenen Kommunikationspartner

Legal Events

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

Ref document number: 12766411

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014532320

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14347890

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 12766411

Country of ref document: EP

Kind code of ref document: A1