WO2020229509A1 - Technik zur korrektur eines zeitparameters - Google Patents

Technik zur korrektur eines zeitparameters Download PDF

Info

Publication number
WO2020229509A1
WO2020229509A1 PCT/EP2020/063268 EP2020063268W WO2020229509A1 WO 2020229509 A1 WO2020229509 A1 WO 2020229509A1 EP 2020063268 W EP2020063268 W EP 2020063268W WO 2020229509 A1 WO2020229509 A1 WO 2020229509A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
telegram
unit
clock
clocks
Prior art date
Application number
PCT/EP2020/063268
Other languages
English (en)
French (fr)
Inventor
Martin Striewe
Magazinik VJACESLAV
Original Assignee
Phoenix Contact Gmbh & Co. Kg
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 Phoenix Contact Gmbh & Co. Kg filed Critical Phoenix Contact Gmbh & Co. Kg
Priority to CN202080035936.1A priority Critical patent/CN113826087A/zh
Priority to US17/610,173 priority patent/US11907006B2/en
Publication of WO2020229509A1 publication Critical patent/WO2020229509A1/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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/426Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using an embedded synchronisation, e.g. Firewire bus, Fibre Channel bus, SSA bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals

Definitions

  • the invention relates to the correction of a time parameter in a connected node.
  • the invention relates to a device and a method for correcting a time parameter in a first node in accordance with a second node.
  • IP Internet Protocol
  • LoT Internet of Things
  • the physical layer of communication between the nodes can include asynchronous data transmission without clock lines, for example for a simple installation or to use existing 2-wire lines.
  • the asynchronous data transfer enables a fieldbus. This enables sensors and actuators in switch boxes, production systems and vehicles to be networked. Fieldbuses for this are the Interbus and the bus of a so-called "Controller Area Network” (CAN bus).
  • CAN bus Controller Area Network
  • Application examples are industrial production under the name "Industry 4.0" or autonomous driving.
  • Asynchronous data transmission also enables field buses to network consumption meters or heating systems in residential buildings for remote reading and home automation. For the latter, the measuring bus (also: “Metering Bus” or M-Bus) of the EN 13757 series of standards is established.
  • asynchronous refers to the format of the data transmission, for example by means of a start bit.
  • the directly networked nodes must be "synchronous" with one another in the sense of an externally uniform system symbol rate. The latter is referred to herein as synchronism in order to avoid confusing the terms with asynchronous data transmission.
  • every node In order to maintain the synchronization with asynchronous data transmission starting from the start bit at least during the transmission of a character, every node must conventionally have a sufficiently precise and stable clock generator. This is described in document US Pat. No. 3,452,330 A, for example. However, such a clock, for example a crystal oscillator, increases the production costs and the power consumption of each node.
  • Stuffing bits are sent in a CAN bus to maintain the synchronization of the nodes when clocked by means of low-power oscillating circuits.
  • these reduce the protocol efficiency and increase the complexity of the signal processing in each node.
  • the device comprises a clock unit which is designed to provide periodic clocks in the first node.
  • the device further comprises a peripheral unit which is designed to decode symbols of an asynchronously transmitted telegram from the second node and to measure a number of clocks during the transmission of a symbol sequence of successive symbols of the telegram.
  • the device further comprises a correction unit which is designed to correct the time parameter as a function of the ratio of the measured number of clocks and the number of consecutive symbols in the symbol sequence.
  • the time parameter can be a clock rate of the clock generator unit, a symbol rate of the decoding, a control parameter for controlling the clock rate and / or a control parameter for controlling the symbol rate.
  • Embodiments of the device can prevent an error and / or a termination of the decoding in the event of a (for example temperature-dependent) drift of the clock of the clock unit.
  • a first deviation in the clock rate of the clock unit and / or the symbol rate of the decoding which does not yet prevent the decoding, can be determined by measuring the ratio and corrected or compensated for by the correction unit depending on the measured ratio.
  • the correction of the time parameter can correct the deviation in the clock rate and / or the symbol rate directly or (for example, completely or at least partially) compensate for it.
  • the same or further exemplary embodiments of the device can, based on the time parameter corrected in response to the first deviation, enable further decoding and / or further inventive correction in the event of a second deviation that is greater than the first deviation.
  • An error or abortion of the decoding can be prevented.
  • the second deviation can be so large that, without correcting the time parameter in response to the first deviation, decoding would fail as a result of the second deviation, whereas according to the invention, decoding succeeds, for example because a deviation that interferes with decoding is due to the difference between the second deviation and the first deviation is limited.
  • Detection (for example, sampling) of the telegram transmitted by the second node and / or the decoding of the symbols of the telegram can be clocked by the clock unit and / or configured by the time parameter.
  • the detection and / or the decoding can take place according to the corrected time parameter.
  • a first telegram or a first character within the telegram can be the basis for the correction of the time parameter by the correction unit. That is, the successive symbols in the symbol sequence can be symbols of the first telegram or the first character.
  • the corrected time parameter can be used when capturing and / or decoding a second telegram (sent from the second node is transmitted indirectly after the first telegram) or a second character of the first telegram can be used.
  • the same or further exemplary embodiments of the device can correct the time parameters implicitly only on the basis of the asynchronous transmission from the second node to the first node and / or without a control line between the first node and the second node.
  • the time parameter can (for example directly or indirectly) control or influence the decoding.
  • the time parameter can be a time parameter of the decoding (decoding parameter).
  • the time parameter can include a clock rate of the first node, a symbol rate of the first node and / or a ratio of clock rate and symbol rate (also: divider) of the first node.
  • the time parameter can comprise a divisor (for example an integer).
  • the symbol rate can be determined from the clock rate (i.e., based on the clock of the clock unit) according to the divider. For example, there is only one clock unit in the first node for measuring the number of clocks as well as for decoding. According to the divider, the symbol rate can be an integer fraction of the clock rate.
  • the device can comprise a frequency divider which generates the symbol rate from the clock rate according to the divider.
  • a signal of the telegram received by the second node can be sampled or undersampled by the first node according to the clock rate of the clock generator unit.
  • the received signal can be divided into the symbols of the telegram according to the symbol rate.
  • sampled values of the received signal can be divided into the symbols of the telegram according to the divider.
  • the symbol sequence can be shorter than one character within the telegram.
  • the conventional use of stuffing bits to maintain synchronization during the transmission of a character can thus be avoided.
  • the protocol efficiency can be improved, since stuffing bits do not correspond to a symbol for the transmission of data (neither control data nor user data).
  • a sampling of the telegram transmitted by the second node or the decoding of the symbols of the telegram is clocked by the clock unit and / or is controlled by the time parameter.
  • the first node can be a node (in particular a slave node) in a communication chain.
  • the first node can be arranged within or at the end of the communication chain.
  • the communication chain can comprise several nodes that are connected in a row for asynchronous data transmission.
  • the communication chain can be a so-called daisy chain.
  • the second node can be a master node and / or a node connected upstream of the first node in the communication chain.
  • the third node can be a further node (in particular a further slave node) and / or a node connected downstream of the first node in the communication chain.
  • the peripheral unit can comprise a first (for example serial) interface for asynchronous transmission of the telegram from the second node and / or a second (for example serial) interface for asynchronous transmission of a telegram to a third node. Both the first interface and the second interface can be clocked by the clock unit and / or controlled by the corrected time parameter.
  • the peripheral unit can comprise an encoder and / or a decoder for each interface.
  • the respective encoder and / or decoder can be designed to encode or decode the symbols of a character of a transmitted or received telegram as a function of the time parameter.
  • the time parameter can include a clock rate of the clock generator unit.
  • the correction unit can be designed to correct the clock rate of the clock generator unit depending on the ratio of the measured number of clocks and the number of successive symbols in the symbol sequence.
  • the corrected clock rate can be corrected with respect to an actual clock rate of the clock generator unit by the quotient of a predetermined number of clocks per symbol and the measured ratio.
  • the predetermined number of clocks per symbol can correspond to the quotient of the corrected clock rate (or the target clock rate) of the clock generator unit and the system symbol rate.
  • the time parameter can include a symbol rate (also: baud rate) of the peripheral unit.
  • the correction unit can be designed to correct the symbol rate of the peripheral unit as a function of the ratio of the measured number of clocks and the number of consecutive symbols in the symbol sequence.
  • the corrected symbol rate can be corrected with respect to a predetermined system symbol rate by the quotient of the measured ratio and a predetermined number of clocks per symbol.
  • the signal of a character of the telegram from the second node can be divided into the symbols of the telegram according to the symbol rate.
  • a small error in the symbol rate for example a deviation in the symbol rate by less than half a symbol per character, can be corrected using a start symbol and a stop symbol (or several stop symbols) of the symbol.
  • the signal of the respective character can be between the start symbol and the
  • Stop symbol can be divided into symbols of equal length.
  • the time parameter can comprise a divider for a symbol rate of the peripheral unit relative to a clock rate of the clock generator unit.
  • the correction unit can be designed to correct the divider as a function of the ratio of the measured number of clocks and the number of consecutive symbols in the symbol sequence.
  • the corrected divisor can be equal to or proportional to the measured ratio.
  • the symbol sequence of successive symbols of the telegram can extend from a first falling (or first rising) edge to a later, first rising (or first falling) edge of the transmission of the telegram.
  • the device can be implemented by means of a microcontroller.
  • a processing unit for example the microcontroller, can implement the correction unit.
  • the microcontroller can comprise the clock generator unit, the peripheral unit and / or the correction unit.
  • the microcontroller can furthermore comprise a capture compare unit (CC unit) to which a received signal of the telegram from the second node is applied.
  • the CC unit can be designed to measure the number of clocks during the transmission of the symbol sequence.
  • the symbol sequence of the telegram can only include symbols for the transmission of useful data.
  • the symbol sequence of the telegram on which the measurement of the number of clocks is based can immediately follow a start bit and contain only symbols for user data.
  • the symbol sequence of the telegram can be shorter than one character in the telegram. Alternatively or additionally, the symbol sequence of the telegram can be part of the first character of the telegram.
  • the peripheral unit can also be designed to measure a number of clocks during the transmission of a predetermined synchronization character of the telegram.
  • the correction unit can also be designed to correct the time parameter depending on the ratio of the measured number of clocks and a predetermined number of symbols in the synchronization symbol and / or depending on a quotient of the measured number of clocks and a predetermined target value of the number of clocks during the transmission of the synchronization character.
  • the synchronization character can be transmitted at the beginning of the telegram.
  • the correction based on the synchronization character can always be carried out at the beginning of the transmission of the telegram and / or if decoding of the symbols in the telegram is not possible due to the error or the deviation of the time parameter.
  • the time parameter can be corrected using the synchronization character at the beginning of the transmission of the telegram.
  • the time parameter can be corrected depending on the ratio of the measured number of cycles and the number of successive, decoded symbols in the symbol sequence.
  • an arrangement of nodes connected in series (for example topologically linear) for asynchronous data transmission comprises a first node which is connected to a second node for asynchronous data transmission and which comprises an exemplary embodiment of the device for correcting a time parameter in the first node in accordance with the second node in accordance with the device aspect.
  • the arrangement includes the second node as the master node of the arrangement.
  • the arrangement also includes a third node, which is connected to the first node for asynchronous data transmission, and which is another exemplary embodiment of the device. device for correcting a time parameter in the third node in accordance with the first node according to the device aspect.
  • a method for correcting a time parameter in a first node in accordance with a second node comprises or initiates a step of providing periodic clocks (for example a step of clocking) in the first node.
  • the method further comprises or initiates a step of decoding symbols of an asynchronously transmitted telegram from the second node and measuring a number of clocks during the transmission of a symbol sequence of successive symbols of the telegram.
  • the method further comprises or initiates a step of correcting the time parameter as a function of the ratio of the measured number of clocks and the number of consecutive symbols in the symbol sequence.
  • the method may further include each step and feature disclosed in the context of the device aspect, and vice versa.
  • Fig. 1 is a schematic representation of an embodiment of a Vorrich device for correcting a time parameter in a first node in accordance with a second node;
  • FIG. 2 shows a flow diagram of an exemplary embodiment of a method for
  • FIG. 3 shows a schematic representation of an exemplary arrangement of a plurality of nodes connected in series which can at least partially embody the device of FIG. 1; and 4 shows a schematic representation of an exemplary telegram which can be transmitted from or to one of the nodes.
  • Fig. 1 shows a schematic block diagram of an embodiment of a generally designated by reference numeral 100 device for correcting a time parameter in a first node in accordance with a second node.
  • the device 100 comprises a clock unit 110, which provides periodic clocks in the first node.
  • the device 100 further comprises a peripheral unit 120 which decodes symbols of a telegram transmitted asynchronously by the second node and uses a counter 124 to measure a number of clocks during the transmission of a symbol sequence of successive symbols of the telegram.
  • the device 100 further comprises a correction unit 130 which corrects the time parameter as a function of the ratio of the measured number of clocks and the number of successive symbols in the symbol sequence 406.
  • the time parameter can include a clock rate 115 of the provided clocks or a control parameter of the clock generator unit for controlling the clock rate.
  • the time parameter can include a symbol rate 125 of the peripheral unit 120 or a control parameter of the peripheral unit for controlling the symbol rate 125. At least the latter example of the time parameter can, as shown schematically in FIG. 1, be written into a register of the peripheral unit 120.
  • the control parameter for controlling the symbol rate can be a divisor of the clock rate.
  • the symbol rate can be the clock rate 1 15 divided by the divider.
  • the symbol rate 125 can be a function of the time parameter.
  • the symbol rate can be the quotient of the clock rate 115 and the divider, the clock rate 115 and the divider each being examples of the time parameter.
  • the symbol sequence can be determined by the successive symbols.
  • the symbol sequence can start from a first falling (or rising) Edge to a first rising (or falling) edge in a signal of the telegram received by the peripheral unit 120.
  • the number of clocks during the symbol sequence can be written into the counter 124.
  • the counter 124 can be set to zero, for example, at the beginning of the telegram and / or at the beginning of the symbol sequence.
  • the counter 124 can be incremented by one at each cycle of the clock generator unit 110.
  • the correction unit 130 can read out the measured number of clocks at the end of the symbol sequence from the counter 124, for example as the denominator of the ratio of the number of clocks to the number of symbols in the symbol sequence.
  • the peripheral unit 120 further includes a decoder 122 which decodes the telegram received from the second node.
  • the decoder 122 can output the number of consecutive symbols which belong to the symbol sequence to the correction unit 130.
  • the correction unit can use the symbols output by the decoder 122 to determine a start and / or an end of the symbol sequence and / or the number of symbols in the symbol sequence.
  • the device 100 or the first node is optionally designed for bidirectional communication with the second node.
  • the device 100 or the first node can comprise a first interface 121, which comprises the decoder 122 and furthermore an encoder 123.
  • the encoder 123 is designed to generate the symbols for a telegram that is sent via the first interface 121 to the second node.
  • the device 100 or the first node can be in asynchronous data exchange with a third node via a second interface 126.
  • the device 100 or the first node can include the second interface 126.
  • the second interface 126 can comprise a decoder 127 and an encoder 128 for receiving and sending telegrams from or to the third node.
  • the second node can be a master node or a slave node (for example higher-ranking compared to the first node) which specifies a system symbol rate for the first node solely on the basis of the asynchronous data transmission.
  • the first node can be a slave node with respect to the second node.
  • the third knot can be a slave node (for example lower-ranking compared to the first node).
  • the same symbol rate 125 can be applied to both interfaces 121 and 126.
  • the correction unit 130 can correct the time parameter as a function of the ratio measured at the first interface 121.
  • compliance with the symbol rate 125 can also be achieved at the second interface 126, for example.
  • the symbol rate specified at the first interface (for example on the input side, i.e. when an asynchronously transmitted telegram is received) (for example on the output side, i.e. by sending an asynchronously transmitted telegram) can be passed on to the second interface.
  • the master node can thus specify a uniform system symbol rate via several slave nodes connected in series for asynchronous data transmission.
  • Each of the two interfaces 121 and 126 of the first node can be a so-called “Universal Asynchronous Receiver Transmitter” interface (UART interface).
  • FIG. 2 shows a flowchart of an exemplary embodiment of a method, generally designated by reference numeral 200, for correcting a time parameter in a first node in accordance with a second node.
  • a step 210 periodic clocks are provided in the first node. Symbols of an asynchronously transmitted telegram from the second node are decoded in a step 220. Furthermore, in step 220, a number of clocks is measured during the transmission of a symbol sequence of successive symbols of the telegram. In a step 230, the time parameter is corrected as a function of the ratio of the measured number of clocks and the number of consecutive symbols in the symbol sequence (in short: measured ratio).
  • the number of consecutive symbols in the symbol sequence can be determined on the basis of the decoding.
  • the number of successive symbols in the symbol sequence can be determined as the number of decoded symbols which are to be assigned to the symbol sequence over time.
  • the telegram can contain a large number of characters.
  • the characters can also be referred to as bytes.
  • the symbol rate can also be referred to as the baud rate.
  • the data to be transmitted can correspond to a sequence of characters.
  • the data to be transmitted can include user data and / or control data. Each character can contain a certain number of bits, for example 4, 7, 8, 10 or 12 bits.
  • Each character can be encoded (ie output as a transmitted signal on a transmission line) or decoded (ie, detected from a received signal on a reception line) according to a coding method.
  • Each symbol can correspond to one or more bits, for example depending on the coding method.
  • each bit corresponds to a symbol.
  • the temperature drift of the clock unit 110 i.e. the clock-generating components
  • Embodiments of the invention can make it possible to dispense with a crystal in the subordinate nodes (i.e. the slave nodes).
  • Measuring 220 the ratio of clocks per decoded symbol and / or correcting 230 depending on the measured ratio can be carried out by device 100 in the first node (for example in one of the slave nodes) for all X received telegrams, where X is a predetermined integer.
  • the correction unit can measure the symbol sequence as part of the first byte of the received telegram.
  • the measured ratio i.e. the number of cycles per bit (in short: cycles / bit) is determined from the number of bits and the measured cycles.
  • the measured ratio can also be referred to as actual cycles per bit (short: actual cycles / bit).
  • a number of target cycles per bit (short: target cycles / bit) is predetermined.
  • the correction unit 130 In order to correct the baud rate 125 in the first node (i.e. in the slave node), the correction unit 130 assumes the previous baud rate. This can numerically correspond to the system baud rate, however, due to a deviation of the clock rate 115, it can deviate from the system baud rate accordingly.
  • the numerical value of the system baud rate is in the register "slave baud rate" before the correction. After correcting this register value as an example for the time parameter, the value is in the "Slave baud rate" register
  • the correction factor or the correction rate is a function of the deviation. For example is
  • Correction factor (deviation) deviation / [target cycles / bit].
  • the next slave node in the linear topology can adjust its baud rate to the baud rate of the adapt the previous master or slave node (e.g. the second node).
  • an internal adaptation is implemented through which the baud rate of the respective slave node observable from outside (for example at the second interface 126) increases with its temperature at the defined (preferably solely through the asynchronous data transmission from Master node) system baud rate remains.
  • a first node of the arrangement can, as master node 310, specify the system baud rate for the entire arrangement 300 in that each slave node 320 connected downstream of the master node 310 comprises an exemplary embodiment of the device 100.
  • the master node 310 (preferably as the only node of the arrangement 300) comprises a quartz oscillator 312. By means of the quartz oscillator 312, the master node generates a sequence of symbols when the telegram is sent, the symbol rate of which specifies the system symbol rate.
  • the first interface 121 is in each case connected to the neighboring node (i.e. the so-called second node) which is topologically closer to the master node 310 than the respective node (i.e. the so-called first node).
  • the second interface 126 is in each case connected to the neighboring node (i.e. the so-called third node) which is topologically further away from the master node 310 than the respective node (i.e. the first node).
  • Such an arrangement 300 can also be referred to as a daisy chain.
  • a telegram which (for example, starting from the master node 310) passes through the arrangement 300 from slave node 320 to slave node 320 can also be referred to as a daisy chain telegram.
  • exemplary embodiments of the device can prevent the baud rate from drifting when heated in the slave nodes 320 and thus save more expensive oscillating crystals in the slave nodes.
  • a preferred embodiment implements the device 100 by means of a microcontroller (which is referred to for short as "pC” in FIG. 3).
  • a so-called capture compare unit (CC unit) in the microcontroller can implement the counter 124 in order to measure the clock / bit ratio, to determine the nominal baud rate of the system from the daisy chain telegram and thus a Compensate for temperature drift of the internal oscillator.
  • a signal input 322 of the CC unit is acted upon by the signal of the telegram from the second node, for example by a receiving line (which is labeled "Rx" in FIG. 3) of the first interface 121 is connected to the signal input 322.
  • FIG. 4 schematically shows the beginning of a signal of a telegram 400.
  • the time increases from left to right.
  • a voltage level of the signal is shown schematically in the vertical direction.
  • the telegram comprises several characters (ie, bytes) 402 and 404.
  • the symbol sequence 406 measured by the peripheral unit 120 is part of the first character 402. In other words, the measured symbol sequence 406 ends with or before the last symbol ( preferably the last data symbol) of the first character 402.
  • the beginning of the measured symbol sequence 406 is defined by the first falling edge 408 in the first character 402 of the telegram 400, and the end of the measured symbol sequence 406 is defined by the first rising edge 410 after the first falling edge 408.
  • the first falling edge 408 can correspond to a start bit.
  • the first rising edge 410 after the falling edge 408 can be before a stop bit 412 (or before several stop bits) of the first character 412.
  • Each character 402 and 404 can be framed by start and stop bits, respectively.
  • An implementation of the method 200 can measure all X received telegrams 400 (i.e., after each X received telegrams 400) the number of clocks in the symbol sequence 406 according to step 220, for example by activating the CC unit in slave node 320.
  • the CC unit in the slave node 320 measures the clocks from the falling edge 408 to the rising edge 410 of the first received byte 402.
  • the peripheral unit 120 of the slave node 320 decodes the symbols (ie, the bits) of the first byte 402 in accordance with step 220.
  • the slave node 320 evaluates the first byte 402 arriving on its receiving line and determines how many symbols (ie, Bits) were included in the symbol sequence 406 (ie, from the CC measurement in step 220).
  • the ratio of the CC clocks per bit can be calculated from the number of bits and the measured number of clocks (also: CC clocks). This ratio is the measured ratio or actual ratio (in short: actual cycles / bit).
  • the symbol rate 125 of the slave node 320 is controlled by the divider with respect to the clock rate 115.
  • the divider is an example of the time parameter.
  • the measured ratio can be set as the corrected divisor, for example by writing the measured ratio into the corresponding register for controlling the symbol rate 125.
  • the number of target cycles per bit (short: target cycles / bit), ie the target value of the ratio, is specified as a constant in the correction unit 130 of the slave node 320.
  • the target value of the ratio can be calculated from the quotient of a target clock rate (for example CC_Clock) and the system baud rate. A numerical example of this is:
  • Takt_pro_Bit_Differenz target cycles / bit - actual cycles / bit, i.e. the deviation in cycles per bit.
  • the correction unit 130 corrects the numerical baud rate 125 in the slave node 320 as an example of the time parameter.
  • the numerical baud rate 125 for example the value "Slave_Baud" in the corresponding register of the interfaces 121 and 126, is equal to the system baud rate.
  • the corrected numerical baud rate is
  • the next slave node i.e. the third node
  • the next slave node can adapt its baud rate to the baud rate of the previous slave node (i.e. the first node).
  • the baud rate of the slave node remains at the defined system baud rate, which can be observed from the outside, as its temperature rises.
  • the device 100 can be implemented in any system (in particular in any arrangement 300) that has a defined system symbol rate (i.e., a target baud rate).
  • a defined system symbol rate i.e., a target baud rate.
  • a numerical example of the system symbol rate is
  • the number of clocks within the symbol sequence 406 can preferably be measured in each slave node by means of a capture compare unit, which measures, for example, the number of clocks between edge changes of the signal of the received telegram.
  • a first implementation option dispenses with the quartz oscillator 312 in the master node 310.
  • the technology can be implemented with a master node which itself can be integrated into a higher-level system as a slave.
  • the master node 310 is optionally equipped with an exemplary embodiment of the device 100 which adapts the symbol rate of the master node to the higher-level system, for example without the higher-level system supporting a master-slave mechanism.
  • the described implementation of the method 200 evaluates the content of the received byte 402 (ie the byte 402 is decoded) for measuring the number of clocks in the symbol sequence 406 by means of the counter 124 (for example by means of the capture compare unit). This assumes that this byte 402 can still be decoded (that is, can be received), that is, the deviation (or the existing error) in the symbol rate that has occurred up to that point is still below a decoding error threshold (that is, a threshold of non-receivability ).
  • a second implementation option avoids this restriction (for example a restriction on the volatility of the clock rate 1 15) by transmitting a synchronization character 402 (for example a synchronization byte prescribed in the communication protocol) at the beginning of the telegram 400, so that the measured ratio is not sufficient the decoded symbols of the received useful data must be determined, and thus the successful reception (that is, the successful decoding) of a symbol sequence 406 is independent.
  • a volatility of the clock rate 1 15 for example, a sudden deviation in the clock rate 1 15
  • a drift range of the clock rate 1 15 which still allows the synchronization for the asynchronous data transmission to be increased further.
  • An increase in the telegram length by the synchronization character can be accepted for this.
  • the number of clocks during the transmission of the predetermined synchronization ons Marsh of the telegram 400 can be measured by means of the CC unit 124 who the.
  • the ratio of the measured number 124 of clocks and a predetermined number of symbols in the synchronization symbol results in the measured ratio which is the basis for the correction of the time parameter, for example without symbols of the synchronization symbol being decoded or being decodable.
  • a quotient is determined from the measured number 124 of clocks and a predetermined target value for the number of clocks during the transmission of the synchronization character.
  • the numerical symbol rate 125 or the corresponding divisor can be corrected by this quotient.
  • the clock rate 115 can be corrected by the reciprocal of this quotient.
  • a third implementation possibility can correct (i.e. calibrate) the internal clock generation by means of the clock unit 110.
  • the clock rate 115 (as another example of the time parameter) can be corrected.
  • the measuring 220 of the number of clocks in the symbol sequence 406 can be triggered and ended by the falling and rising edges.
  • the edge change can trigger a flardware interrupt, which starts or ends a corresponding measurement routine.
  • a clock for example a CC timer
  • the peripheral unit 120 for example the CC unit
  • the clock being a counter 124 which is incremented with each clock pulse of the clock unit 110.
  • a fourth implementation option implements the measuring 220 of the number of clocks in the symbol sequence 406 by interrogating or sampling the received signal at the first interface 121, e.g. by a cyclical query, i.e. by a so-called pole ling.
  • the counter 124 can be started or stopped.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

Eine Technik zum Korrigieren eines Zeitparameters (115; 125) in einem ersten Knoten nach Maßgabe eines zweiten Knotens wird beschrieben. Ein Vorrichtungsaspekt der Technik umfasst eine Taktgebereinheit (110), die periodische Takte im ersten Knoten bereitstellt. Eine Peripherieeinheit (120) dekodiert Symbole eines asynchron übertragenen Telegramms vom zweiten Knoten und misst eine Anzahl (124) der Takte während der Übertragung einer Symbolfolge aufeinanderfolgender Symbole des Telegramms. Eine Korrektureinheit (130) korrigiert den Zeitparameter (115; 125) abhängig vom Verhältnis der gemessenen Anzahl (124) der Takte und der Anzahl aufeinanderfolgender Symbole in der Symbolfolge.

Description

Technik zur Korrektur eines Zeitparameters
Technisches Gebiet
Die Erfindung betrifft die Korrektur eines Zeitparameters in einem verbundenen Kno ten. Insbesondere betrifft die Erfindung eine Vorrichtung und ein Verfahren zum Kor rigieren eines Zeitparameters in einem ersten Knoten nach Maßgabe eines zweiten Knotens.
Stand der Technik
Die Zahl vernetzter Geräte nimmt in vielen Bereichen rasant zu. Beispielsweise wer den zunehmend Geräte vernetzt, die selbst keine Benutzerschnittstelle aufweisen. Vernetzte Geräte, die zur Kommunikation auf einer höheren Schicht das Internet- Protokoll (IP) nutzen, werden auch als Internet der Dinge (loT) bezeichnet. Unab hängig von der Anwendung, dem Vorhandensein einer Benutzerschnittstelle oder der Anbindung an einen Cloud-Dienst werden vernetzte Geräte hierin als Knoten be zeichnet.
Die physikalische Schicht der Kommunikation zwischen den Knoten kann eine asyn chrone Datenübertragung ohne Taktleitungen umfassen, beispielsweise für eine ein fache Installation oder um bestehende 2-adrige Leitungen zu nutzen. Die asynchrone Datenübertragung ermöglicht einen Feldbus. Dadurch können Sensoren und Aktua toren in Schaltkästen, Fertigungsanlagen und Fahrzeugen vernetzt werden. Feldbus se hierfür sind der Interbus und der Bus eines sogenannten "Controller Area Net work" (CAN-Bus). Anwendungsbeispiele sind die industrielle Produktion unter der Bezeichnung "Industrie 4.0" bzw. das autonome Fahren. Die asynchrone Datenüber tragung ermöglicht auch Feldbusse zur Vernetzung von Verbrauchszählern oder Heizungsanlagen in Wohnhäusern zur Fernablesung und Heimautomatisierung. Für Letzteres ist der Mess-Bus (auch: "Metering Bus" oder M-Bus) der Normenreihe EN 13757 etabliert.
Der Begriff "asynchron" bezieht sich dabei auf das Format der Datenübertragung, beispielsweise mittels eines Startbits. Die direkt vernetzten Knoten müssen unterei nander "synchron" sein im Sinne einer nach außen einheitlichen System-Symbolrate. Letzteres wird hierin als Gleichgang bezeichnet, um eine begriffliche Verwechslung mit der asynchronen Datenübertragung zu vermeiden. Um den Gleichgang bei asynchroner Datenübertragung ausgehend vom Startbit zu mindest während der Übertragung eines Zeichens aufrechtzuerhalten, muss her kömmlicherweise jeder Knoten einen hinreichend genauen und stabilen Taktgeber aufweisen. Dies ist beispielsweise im Dokument US 3452330 A beschrieben. Ein solcher Taktgeber, beispielsweise ein Quarzoszillator, erhöht jedoch die Herstel lungskosten und den Stromverbrauch jedes Knotens.
Um den Gleichgang der Knoten bei einer Taktung mittels leistungsärmeren Schwing kreisen aufrechtzuerhalten, werden in einem CAN-Bus Stopfbits gesendet. Diese reduzieren jedoch die Protokolleffizienz und erhöhen die Komplexität der Signalver arbeitung in jedem Knoten.
Zusammenfassung der Erfindung
Somit besteht eine Aufgabe der vorliegenden Erfindung darin, eine effizientere Tech nik zum Gleichgang von Knoten, die asynchron Daten übertragen, anzugeben.
Diese Aufgabe wird durch eine Vorrichtung und ein Verfahren mit den Merkmalen der unabhängigen Ansprüche gelöst. Vorteilhafte Ausführungsformen und Anwendungen der Erfindung sind Gegenstand der abhängigen Ansprüche und werden in der fol genden Beschreibung unter teilweiser Bezugnahme auf die Figuren näher erläutert.
Gemäß einem Aspekt der Erfindung ist eine Vorrichtung zum Korrigieren eines Zeit parameters in einem ersten Knoten nach Maßgabe eines zweiten Knotens
bereitgestellt. Die Vorrichtung umfasst eine Taktgebereinheit, die dazu ausgebildet ist, periodische Takte im ersten Knoten bereitzustellen. Die Vorrichtung umfasst fer ner eine Peripherieeinheit, die dazu ausgebildet ist, Symbole eines asynchron über tragenen Telegramms vom zweiten Knoten zu dekodieren und eine Anzahl der Takte während der Übertragung einer Symbolfolge aufeinanderfolgender Symbole des Te legramms zu messen. Die Vorrichtung umfasst ferner eine Korrektureinheit, die dazu ausgebildet ist, den Zeitparameter abhängig vom Verhältnis der gemessenen Anzahl der Takte und der Anzahl aufeinanderfolgender Symbole in der Symbolfolge zu kor rigieren. Der Zeitparameter kann eine Taktrate der Taktgebereinheit, eine Symbolrate des Dekodierens, ein Steuerparameter zur Steuerung der Taktrate und/oder ein Steuer parameter zur Steuerung der Symbolrate sein.
Ausführungsbeispiele der Vorrichtung können einen Fehler und/oder einen Abbruch des Dekodierens bei einer (beispielsweise temperaturabhängigen) Drift des Takts der Taktgebereinheit verhindern. Beispielsweise kann eine erste Abweichung der Taktrate der Taktgebereinheit und/oder der Symbolrate des Dekodierens, die das Dekodieren noch nicht verhindert, durch das Messen des Verhältnisses bestimmt und durch die Korrektureinheit abhängig vom gemessenen Verhältnis korrigiert oder kompensiert werden. Insbesondere kann das Korrigieren des Zeitparameters die Abweichung der Taktrate und/oder der Symbolrate direkt korrigieren oder (beispiels weise vollständig oder zumindest teilweise) kompensieren.
Dieselben oder weitere Ausführungsbeispiele der Vorrichtung können aufgrund des in Reaktion auf die erste Abweichung korrigierten Zeitparameters bei einer zweiten Abweichung, die größer als die erste Abweichung ist, das weitere Dekodieren und/oder das weitere erfindungsgemäße Korrigieren ermöglichen. Ein Fehler oder Abbruch des Dekodierens kann verhindert werden. Beispielsweise kann die zweite Abweichung so groß sein, dass ohne das Korrigieren des Zeitparameters in Reaktion auf die erste Abweichung das Dekodieren in Folge der zweiten Abweichung schei tern würde, wohingegen erfindungsgemäß das Dekodieren gelingt, beispielsweise da eine das Dekodieren störende Abweichung auf die Differenz zwischen der zweiten Abweichung und der ersten Abweichung begrenzt ist.
Ein Erfassen (beispielsweise ein Abtasten) des vom zweiten Knoten übertragenen Telegramms und/oder das Dekodieren der Symbole des Telegramms (beispielsweise aufgrund von Abtastwerten des Abtastens) kann von der Taktgebereinheit getaktet sein und/oder vom Zeitparameter konfiguriert sein. Sobald der Zeitparameter von der Korrektureinheit korrigiert ist, kann das Erfassen und/oder das Dekodieren gemäß dem korrigierten Zeitparameter erfolgen. Beispielsweise kann ein erstes Telegramm oder ein erstes Zeichen innerhalb des Telegramms Grundlage für das Korrigieren des Zeitparameters durch die Korrektureinheit sein. Das heißt, die aufeinanderfol genden Symbole in der Symbolfolge können Symbole des ersten Telegramms bzw. des ersten Zeichens sein. Der korrigierte Zeitparameter kann beim Erfassen und/oder beim Dekodieren eines zweiten Telegramms (das vom zweiten Knoten un- mittelbar nach dem ersten Telegramm übertragen wird) oder eines zweiten Zeichens des ersten Telegramms angewendet werden.
Dieselben oder weitere Ausführungsbeispiele der Vorrichtung können den Zeitpara meter implizit nur aufgrund der asynchronen Übertragung vom zweiten Knoten zum ersten Knoten und/oder ohne eine Steuerleitung zwischen dem ersten Knoten und dem zweiten Knoten korrigieren.
Der Zeitparameter kann (beispielsweise direkt oder indirekt) das Dekodieren steuern oder beeinflussen. Der Zeitparameter kann ein zeitlicher Parameter des Dekodierens (Dekodierparameter) sein.
Der Zeitparameter kann eine Taktrate des ersten Knotens, eine Symbolrate des ers ten Knotens und/oder ein Verhältnis aus Taktrate und Symbolrate (auch: Teiler) des ersten Knotens umfassen. Der Zeitparameter kann einen (beispielsweise ganzzahli gen) Teiler umfassen. Die Symbolrate kann aus der Taktrate (d.h., ausgehend vom Takt der Taktgebereinheit) gemäß dem Teiler bestimmt sein. Beispielsweise gibt es im ersten Knoten nur eine Taktgebereinheit sowohl für das Messen der Anzahl der Takte als auch für das Dekodieren. Die Symbolrate kann gemäß dem Teiler ein ganzzahliger Bruchteil der Taktrate sein. Beispielsweise kann die Vorrichtung einen Frequenzteiler umfassen, der die Symbolrate aus der Taktrate gemäß dem Teiler erzeugt.
Beispielsweise kann ein vom zweiten Knoten empfangenes Signal des Telegramms gemäß dem Takt der Taktgebereinheit vom ersten Knoten abgetastet oder unterab- getastet werden. Alternativ oder ergänzend kann das empfangene Signal gemäß der Symbolrate in die Symbole des Telegramms unterteilt werden. Alternativ oder ergän zend können Abtastwerte des empfangenen Signals gemäß dem Teiler in die Sym bole des Telegramms unterteilt werden.
Die Symbolfolge kann kürzer als ein Zeichen innerhalb des Telegramms sein. Die herkömmliche Verwendung von Stopfbits zur Aufrechterhaltung des Gleichgangs während der Übertragung eines Zeichens kann so vermieden werden. Insbesondere kann die Protokolleffizienz verbessert werden, da Stopfbits keinem Symbol zur Über tragung von Daten (weder Steuerdaten noch Nutzdaten) entsprechen. ein Abtasten des vom zweiten Knoten übertragenen Telegramms oder das Dekodie ren der Symbole des Telegramms von der Taktgebereinheit getaktet ist und/oder vom Zeitparameter gesteuert ist.
Der erste Knoten kann ein Knoten (insbesondere ein Slaveknoten) in einer Kommu nikationskette sein. Der erste Knoten kann innerhalb oder am Ende der Kommunika tionskette angeordnet sein. Die Kommunikationskette kann mehrere Knoten umfas sen, die in einer Reihe zur asynchronen Datenübertragung verbunden sind. Die Kommunikationskette kann eine sogenannte Daisy Chain sein. Der zweite Knoten kann ein Masterknoten und/oder ein dem ersten Knoten in der Kommunikationskette vorgeschalteter Knoten sein. Der dritte Knoten kann ein weiterer Knoten (insbeson dere ein weiterer Slaveknoten) und/oder ein dem ersten Knoten in der Kommunikati onskette nachgeschalteter Knoten sein.
Die Peripherieeinheit kann eine erste (beispielsweise serielle) Schnittstelle zur asyn chronen Übertragung des Telegramms vom zweiten Knoten und/oder eine zweite (beispielsweise serielle) Schnittstelle zur asynchronen Übertragung eines Tele gramms zu einem dritten Knoten umfassen. Sowohl die erste Schnittstelle als auch die zweite Schnittstelle können von der Taktgebereinheit getaktet sein und/oder vom korrigierten Zeitparameter gesteuert sein.
Die Peripherieeinheit kann für jede Schnittstelle jeweils einen Kodierer und/oder ei nen Dekodierer umfassen. Der jeweilige Kodierer und/oder Dekodierer kann dazu ausgebildet sein, die Symbole eines Zeichens eines gesendeten bzw. des empfan genen Telegramms abhängig vom Zeitparameter zu kodieren bzw. zu dekodieren.
Der Zeitparameter kann eine Taktrate der Taktgebereinheit umfassen. Die Korrektur einheit kann dazu ausgebildet sein, die Taktrate der Taktgebereinheit abhängig vom Verhältnis der gemessenen Anzahl der Takte und der Anzahl aufeinanderfolgender Symbole in der Symbolfolge zu korrigieren. Die korrigierte Taktrate kann gegenüber einer Ist-Taktrate der Taktgebereinheit um den Quotienten aus einer vorbestimmten Anzahl der Takte pro Symbol und dem gemessenen Verhältnis korrigiert sein. Die vorbestimmte Anzahl der Takte pro Symbol kann dem Quotient aus der korrigierten Taktrate (oder der Soll-Taktrate) der Taktgebereinheit und der System-Symbolrate entsprechen. Alternativ oder zusätzlich kann der Zeitparameter eine Symbolrate (auch: Baudrate) der Peripherieeinheit umfassen. Die Korrektureinheit kann dazu ausgebildet sein, die Symbolrate der Peripherieeinheit abhängig vom Verhältnis der gemessenen Anzahl der Takte und der Anzahl aufeinanderfolgender Symbole in der Symbolfolge zu kor rigieren. Die korrigierte Symbolrate kann gegenüber einer vorbestimmten System- Symbolrate um den Quotienten aus dem gemessenen Verhältnis und einer vorbe stimmten Anzahl der Takte pro Symbol korrigiert sein.
Das Signal eines Zeichens des Telegramms vom zweiten Knoten kann gemäß der Symbolrate in die Symbole des Telegramms unterteilt werden. Ein kleiner Fehler der Symbolrate, beispielsweise eine Abweichung der Symbolrate um weniger als ein halbes Symbol pro Zeichen, kann anhand eines Startsymbols und eines Stoppsym bols (oder mehrerer Stoppsymbole) des Zeichens korrigiert werden. Beispielsweise kann das Signal des jeweiligen Zeichens zwischen dem Startsymbol und dem
Stoppsymbol in gleichlange Symbole unterteilt werden.
Alternativ oder zusätzlich kann der Zeitparameter einen Teiler für eine Symbolrate der Peripherieeinheit relativ zu einer Taktrate der Taktgebereinheit umfassen. Die Korrektureinheit kann dazu ausgebildet sein, den Teiler abhängig vom Verhältnis der gemessenen Anzahl der Takte und der Anzahl aufeinanderfolgender Symbole in der Symbolfolge zu korrigieren. Der korrigierte Teiler kann gleich oder proportional dem gemessen Verhältnis sein.
Die Symbolfolge aufeinanderfolgender Symbole des Telegramms kann sich von ei ner ersten fallenden (oder ersten steigenden) Flanke zu einer späteren, ersten stei genden (oder ersten fallenden) Flanke der Übertragung des Telegramms erstreckt.
Die Vorrichtung kann mittels eines Mikrocontrollers realisiert sein. Eine Prozesso reinheit, beispielsweise des Mikrocontrollers, kann die Korrektureinheit implementie ren.
Der Mikrocontroller kann die Taktgebereinheit, die Peripherieeinheit und/oder die Korrektureinheit umfassen. Der Mikrocontroller kann ferner eine Capture-Compare- Einheit (CC-Einheit) umfassen, die mit einem empfangenen Signal des Telegramms vom zweiten Knoten beaufschlagt ist. Die CC-Einheit kann dazu ausgebildet sein, die Anzahl der Takte während der Übertragung der Symbolfolge zu messen. Beispielsweise kann die Symbolfolge des Telegramms ausschließlich Symbole zur Übertragung von Nutzdaten umfassen. Die der Messung der Anzahl der Takte zu grundeliegende Symbolfolge des Telegramms kann sich unmittelbar an ein Startbit anschließen und ausschließlich Symbole zu Nutzdaten umfassen.
Die Symbolfolge des Telegramms kann kürzer als ein Zeichen des Telegramms sein. Alternativ oder zusätzlich kann die Symbolfolge des Telegramms ein Teil des ersten Zeichens des Telegramms sein.
Die Peripherieeinheit kann ferner dazu ausgebildet sein, eine Anzahl der Takte wäh rend der Übertragung eines vorbestimmten Synchronisationszeichens des Tele gramms zu messen. Die Korrektureinheit kann ferner dazu ausgebildet sein, den Zeitparameter zu korrigieren abhängig vom Verhältnis der gemessenen Anzahl der Takte und einer vorbestimmten Anzahl von Symbolen im Synchronisationszeichen und/oder abhängig von einem Quotienten der gemessenen Anzahl der Takte und einem vorbestimmten Soll-Wert der Anzahl der Takte während der Übertragung des Synchronisationszeichens. Das Synchronisationszeichen kann am Anfang des Tele gramms übertragen werden.
Die Korrektur auf Grundlage des Synchronisationszeichens kann immer am Anfang der Übertragung des Telegramms durchgeführt werden und/oder falls ein Dekodieren der Symbole im Telegramm aufgrund des Fehlers oder der Abweichung des Zeitpa rameters nicht möglich ist. Beispielsweise kann am Anfang der Übertragung des Te legramms der Zeitparameter mittels des Synchronisationszeichens korrigiert werden. Während der Übertragung des Telegramms kann der Zeitparameter korrigiert werden abhängig vom Verhältnis der gemessenen Anzahl der Takte und der Anzahl aufei nanderfolgender, dekodierter Symbole in der Symbolfolge.
Gemäß einem weiteren Aspekt ist eine Anordnung von zur asynchronen Datenüber tragung in Reihe (z.B. topologisch linear) verbundenen Knoten bereitgestellt. Die An ordnung umfasst einen ersten Knoten, der zur asynchronen Datenübertragung mit einem zweiten Knoten verbunden ist, und der ein Ausführungsbeispiel der Vorrich tung zum Korrigieren eines Zeitparameters im ersten Knoten nach Maßgabe des zweiten Knotens gemäß dem Vorrichtungsaspekt umfasst. Optional umfasst die An ordnung den zweiten Knoten als Masterknoten der Anordnung. Die Anordnung um fasst ferner einen dritten Knoten, der zur asynchronen Datenübertragung mit dem ersten Knoten verbunden ist, und der ein weiteres Ausführungsbeispiel der Vorrich- tung zum Korrigieren eines Zeitparameters im dritten Knoten nach Maßgabe des ers ten Knotens gemäß dem Vorrichtungsaspekts umfasst.
Gemäß noch einem weiteren Aspekt der Erfindung ist ein Verfahren zum Korrigieren eines Zeitparameters in einem ersten Knoten nach Maßgabe eines zweiten Knotens bereitgestellt. Das Verfahren umfasst oder initiiert einen Schritt des Bereitstellens periodischer Takte (beispielsweise einen Schritt des Taktens) im ersten Knoten. Das Verfahren umfasst oder initiiert ferner einen Schritt des Dekodierens von Symbolen eines asynchron übertragenen Telegramms vom zweiten Knoten und des Messens einer Anzahl der Takte während der Übertragung einer Symbolfolge aufeinanderfol gender Symbole des Telegramms. Das Verfahren umfasst oder initiiert ferner einen Schritt des Korrigierens des Zeitparameters abhängig vom Verhältnis der gemesse nen Anzahl der Takte und der Anzahl aufeinanderfolgender Symbole in der Symbol folge.
Das Verfahren kann ferner einen jeden Schritt und ein jedes Merkmal umfassen, der bzw. das im Kontext des Vorrichtungsaspekts offenbart ist, und umgekehrt.
Kurze Beschreibung der Figuren
Die zuvor beschriebenen bevorzugten Ausführungsformen, Merkmale und Verfah rensschritte der Erfindung sind beliebig miteinander kombinierbar. Weitere Einzelhei ten und Vorteile der Erfindung werden im Folgenden unter Bezug auf die beigefügten Zeichnungen beschrieben. Es zeigen:
Fig. 1 eine schematische Darstellung eines Ausführungsbeispiels einer Vorrich tung zum Korrigieren eines Zeitparameters in einem ersten Knoten nach Maßgabe eines zweiten Knotens;
Fig. 2 ein Flussdiagramm eines Ausführungsbeispiels eines Verfahrens zum
Korrigieren eines Zeitparameters in einem ersten Knoten nach Maßgabe eines zweiten Knotens, das mittels der Vorrichtung der Fig. 1 ausführbar sein kann;
Fig. 3 eine schematische Darstellung einer beispielhaften Anordnung mehrerer in Reihe verbundener Knoten, die zumindest teilweise die Vorrichtung der Fig. 1 verkörpern können; und Fig. 4 eine schematische Wiedergabe eines beispielhaften Telegramms, das von oder zu einem der Knoten übertragbar sein kann.
Ausführliche Beschreibung
Fig. 1 zeigt ein schematisches Blockschaltbild eines Ausführungsbeispiels einer all gemein mit Bezugszeichen 100 bezeichneten Vorrichtung zum Korrigieren eines Zeitparameters in einem ersten Knoten nach Maßgabe eines zweiten Knotens.
Die Vorrichtung 100 umfasst eine Taktgebereinheit 1 10, die periodische Takte im ersten Knoten bereitstellt. Die Vorrichtung 100 umfasst ferner eine Peripherieeinheit 120, die Symbole eines vom zweiten Knoten asynchron übertragenen Telegramms dekodieren und mittels eines Zählers 124 eine Anzahl der Takte während der Über tragung einer Symbolfolge aufeinanderfolgender Symbole des Telegramms misst.
Die Vorrichtung 100 umfasst ferner eine Korrektureinheit 130, die den Zeitparameter abhängig vom Verhältnis der gemessenen Anzahl der Takte und der Anzahl aufei nanderfolgender Symbole in der Symbolfolge 406 korrigiert.
Der Zeitparameter kann eine Taktrate 1 15 der bereitgestellten Takte oder einen Steuerparameter der Taktgebereinheit zur Steuerung der Taktrate umfassen. Alter nativ oder zusätzlich kann der Zeitparameter eine Symbolrate 125 der Peripherieein heit 120 oder einen Steuerparameter der Peripherieeinheit zur Steuerung der Sym bolrate 125 umfassen. Zumindest letzteres Beispiel des Zeitparameters kann, wie in Fig. 1 schematisch dargestellt, in ein Register der Peripherieeinheit 120 geschrieben sein.
Der Steuerparameter zur Steuerung der Symbolrate kann ein Teiler der Taktrate sein. Beispielsweise kann die Symbolrate die Taktrate 1 15 geteilt durch den Teiler sein.
Die Symbolrate 125 kann eine Funktion des Zeitparameters sein. Beispielsweise kann die Symbolrate der Quotient aus der Taktrate 1 15 und dem Teiler sein, wobei die Taktrate 1 15 und der Teiler jeweils Beispiele für den Zeitparameter sind.
Die Symbolfolge kann durch die aufeinanderfolgenden Symbole bestimmt sein. Bei spielsweise kann sich die Symbolfolge von einer ersten fallenden (oder steigenden) Flanke zu einer ersten steigenden (bzw. fallenden) Flanke in einem von der Peri pherieeinheit 120 empfangenen Signal des Telegramms erstrecken.
Die Anzahl der Takte während der Symbolfolge kann in den Zähler 124 geschrieben werden. Der Zähler 124 kann beispielsweise zu Beginn des Telegramms und/oder zu Beginn der Symbolfolge auf Null gesetzt werden. Bei jedem Takt der Taktgeberein heit 110 kann der Zähler 124 um Eins inkrementiert werden. Die Korrektureinheit 130 kann die gemessene Anzahl der Takte am Ende der Symbolfolge aus dem Zähler 124 auslesen, beispielsweise als Nenner des Verhältnisses aus der Anzahl der Takte zu der Anzahl der Symbole in der Symbolfolge.
Die Peripherieeinheit 120 umfasst ferner einen Dekodierer 122, der das Dekodieren des vom zweiten Knoten empfangenen Telegramms ausführt. Der Dekodierer 122 kann die Anzahl der aufeinanderfolgenden Symbole, die zur Symbolfolge gehören, an die Korrektureinheit 130 ausgeben. Alternativ oder zusätzlich kann die Korrektur einheit anhand der vom Dekodier 122 ausgegebenen Symbole einen Anfang und/oder ein Ende der Symbolfolge und/oder die Anzahl der Symbole in der Symbol folge bestimmen.
Optional ist die Vorrichtung 100 oder der erste Knoten zur bidirektionalen Kommuni kation mit dem zweiten Knoten ausgebildet. Flierzu kann die Vorrichtung 100 oder der erste Knoten eine erste Schnittstelle 121 umfassen, die den Dekodierer 122 und ferner einen Kodierer 123 umfasst. Der Kodierer 123 ist dazu ausgebildet, die Sym bole für ein Telegramm zu erzeugen, das über die erste Schnittstelle 121 an den zweiten Knoten gesendet wird.
Ferner kann die Vorrichtung 100 oder der erste Knoten über eine zweite Schnittstelle 126 mit einem dritten Knoten in asynchronem Datenaustausch stehen. Hierzu kann die Vorrichtung 100 oder der erste Knoten die zweite Schnittstelle 126 umfassen. Die zweite Schnittstellen 126 kann einen Dekodierer 127 und einen Kodierer 128 umfas sen zum Empfangen bzw. Senden von Telegrammen vom bzw. an den dritten Kno ten.
Der zweite Knoten kann ein Masterknoten oder ein (beispielsweise im Vergleich zum ersten Knoten höherrangiger) Slaveknoten sein, der eine System-Symbolrate allein aufgrund der asynchronen Datenübertragung dem ersten Knoten vorgibt. Der erste Knoten kann bezüglich dem zweiten Knoten ein Slaveknoten sein. Der dritte Knoten kann ein (beispielsweise im Vergleich zum ersten Knoten niederrangiger) Slavekno ten sein.
Dieselbe Symbolrate 125 kann auf beide Schnittstellen 121 und 126 angewendet werden. Beispielsweise kann die Korrektureinheit 130 den Zeitparameter abhängig vom an der ersten Schnittstelle 121 gemessenen Verhältnis korrigieren. Dadurch kann beispielsweise die Einhaltung der Symbolrate 125 auch an der zweiten Schnitt stelle 126 erreicht werden. Insbesondere kann die an der ersten Schnittstelle (bei spielsweise eingangsseitig, d.h. , im Wege des Empfangene eines asynchron über tragenen Telegramms) vorgegebene Symbolrate (beispielsweise ausgangsseitig, d.h., im Wege des Sendens eines asynchron übertragenen Telegramms) an der zweiten Schnittstelle weitergegeben werden. So kann der Masterknoten über mehre re in Reihe zur asynchronen Datenübertragung verbundene Slaveknoten eine ein heitliche System-Symbolrate vorgeben.
Jede der beiden Schnittstellen 121 und 126 des ersten Knotens kann eine sogenann te "Universal Asynchronous Receiver Transmitter' -Schnittstelle (UART-Schnittstelle) sein.
Fig. 2 zeigt ein Ablaufdiagramm eines Ausführungsbeispiels eines allgemein mit Be zugszeichen 200 bezeichneten Verfahrens zum Korrigieren eines Zeitparameters in einem ersten Knoten nach Maßgabe eines zweiten Knotens.
In einem Schritt 210 werden periodische Takte im ersten Knoten bereitgestellt. Sym bole eines asynchron übertragenen Telegramms vom zweiten Knoten werden in ei nem Schritt 220 dekodiert. Ferner wird im Schritt 220 eine Anzahl der Takte während der Übertragung einer Symbolfolge aufeinanderfolgender Symbole des Telegramms gemessen. In einem Schritt 230 wird der Zeitparameter abhängig vom Verhältnis der gemessenen Anzahl der Takte und der Anzahl aufeinanderfolgender Symbole in der Symbolfolge (kurz: gemessenes Verhältnis) korrigiert.
In jedem Aspekt der Erfindung kann die Anzahl der aufeinanderfolgenden Symbole in der Symbolfolge auf Grundlage des Dekodierens bestimmt werden. Beispielsweise kann die Anzahl der aufeinanderfolgenden Symbole in der Symbolfolge als die An zahl der dekodierten Symbole, welche der Symbolfolge zeitlich zuzuordnen sind, be stimmt werden. Das Telegramm kann eine Vielzahl von Zeichen umfassen. Die Zeichen können auch als Bytes bezeichnet werden. Die Symbolrate kann auch als Baudrate bezeichnet werden. Die zu übertragenden Daten können einer Zeichenfolge aufeinanderfolgen der Zeichen entsprechen. Die zu übertragenden Daten können Nutzdaten und/oder Steuerdaten umfassen. Jedes Zeichen kann eine bestimmte Anzahl von Bits umfas sen, beispielsweise 4, 7, 8, 10 oder 12 Bits. Jedes Zeichen kann gemäß einem Ko dierverfahren kodiert (d.h., als ein gesendetes Signal auf einer Sendeleitung ausge geben) bzw. dekodiert (d.h., aus einem empfangenen Signal auf einer Empfangslei tung erfasst) werden. Jedes Symbol kann einem oder mehreren Bits entsprechen, beispielsweise abhängig vom Kodierverfahren.
Zur Vereinfachung wird im Folgenden ohne Beschränkung der Allgemeinheit ange nommen, dass jedes Bit einem Symbol entspricht.
Bei der herkömmlichen asynchronen Datenübertragung kann es durch Tempera turdrift der Taktgebereinheit 110, d.h., der takterzeugenden Komponenten, zu Baud ratenfehlern kommen, welche ab einer gewissen Abweichung zu Kommunikations- abbrüchen führen. Um dies zu verhindern ist man herkömmlicherweise gezwungen zur Takterzeugung teure Quarze einzusetzen. Ausführungsbeispiele der Erfindung können ermöglichen, auf ein Quarz in den untergeordneten Knoten (d.h., den Slave knoten) zu verzichten.
Das Messen 220 des Verhältnisses aus Takten pro dekodiertem Symbol und/oder das Korrigieren 230 abhängig vom gemessenen Verhältnis kann von der Vorrichtung 100 im ersten Knoten (beispielsweise in einem der Slaveknoten) alle X empfangenen Telegramme ausgeführt werden, wobei X eine vorbestimmte Ganzzahl ist.
Die Korrektureinheit kann die Symbolfolge als Teil des ersten Bytes des empfange nen Telegramms messen. Aus der Anzahl der Bits und der gemessenen Takte wird das gemessene Verhältnis, d.h., die Anzahl der Takte pro Bit (kurz: Takte/Bit) ermit telt. Das gemessene Verhältnis kann auch als Ist-Takte pro Bit (kurz: Ist-Takte/Bit) bezeichnet werden.
In einem Ausführungsbeispiel ist eine Anzahl der Soll-Takte pro Bit (kurz: Soll- Takte/Bit) vorbestimmt. Die Korrektureinheit 130 berechnet die Differenz zwischen den Soll-Takten und Ist-Takten pro Bit, d.h. Abweichung = Soll-Takte/Bit - Ist-Takte/Bit.
Dies ist die Abweichung in Takten pro Bit.
Um die Baudrate 125 im ersten Knoten (d.h. , im Slaveknoten) zu korrigieren, geht die Korrektureinheit 130 von der bisherigen Baudrate aus. Diese kann numerisch der System-Baudrate entsprechen, jedoch aufgrund einer Abweichung der Taktrate 115 entsprechend von der System-Baudrate abweichen. Als numerischer Wert steht so mit im Register "Slave-Baudrate" vor der Korrektur der Wert der System-Baudrate. Nach der Korrektur dieses Register- Wertes als Beispiel für den Zeitparameter steht im Register "Slave-Baudrate" der Wert
Korrigierte Baudrate = System baudrate [ 1 ± Korrekturfaktor( Abweichung) ]
= System baudrate ± Korrekturrate(Abweichung)
Der Korrekturfaktor bzw. die Korrekturrate ist eine Funktion der Abweichung. Bei spielsweise ist
Korrekturfaktor(Abweichung) = Abweichung / [Soll-Takte/Bit].
Durch die Korrektur der Baudraten für beide Schnittstellen 121 und 126 des Slave knotens (als Beispiel des ersten Knotens) kann der in der linearen Topologie nächste Slaveknoten (beispielsweise der erste Knoten als der nächste niederrangige Knoten nach dem zweiten Knoten) seine Baudrate an die Baudrate des vorherigen Master oder Slaveknoten (beispielsweise des zweiten Knotens) anpassen.
Durch die Korrektur der Baudrate 125 als Beispiel des Zeitparameters ist eine interne Anpassung realisiert, durch welche die von außen (beispielsweise an der zweiten Schnittstelle 126) beobachtbare Baudrate des jeweiligen Slaveknoten mit Anstieg seiner Temperatur bei der definierten (vorzugsweise allein durch die asynchrone Da tenübertragung vom Masterknoten vorgegebenen) System-Baudrate bleibt.
Fig. 3 zeigt schematisch eine Anordnung 300 (auch: System) mehrerer Knoten, die zur asynchronen Datenübertragung in Reihe (d.h. topologisch linear) verbunden sind. Ein erster Knoten der Anordnung kann als Masterknoten 310 die System-Baudrate für die gesamte Anordnung 300 vorgeben, indem jeder dem Masterknoten 310 nach geschalteter Slaveknoten 320 ein Ausführungsbeispiel der Vorrichtung 100 umfasst. Beispielsweise umfasst der Masterknoten 310 (vorzugsweise als einziger Knoten der Anordnung 300) einen Schwingquarz 312. Mittels des Schwingquarzes 312 erzeugt der Masterknoten eine Folge von Symbolen beim Senden des Telegramms, deren Symbolrate die System-Symbolrate vorgibt.
Insbesondere ist jeweils die erste Schnittstelle 121 mit dem benachbarten Knoten (d.h. dem sogenannter zweiten Knoten) verbunden, der topologisch näher am Mas terknoten 310 ist als der jeweilige Knoten (d.h. der sogenannte erste Knoten). Die zweite Schnittstelle 126 ist jeweils mit dem benachbarten Knoten (d.h. dem soge nannten dritten Knoten) verbunden, der topologisch weiter entfernt vom Masterkno ten 310 ist als der jeweilige Knoten (d.h. der erste Knoten).
Eine solche Anordnung 300 kann auch als Daisy-Chain bezeichnet werden. Ein Te legramm, das (beispielsweise ausgehend vom Masterknoten 310) Anordnung 300 von Slaveknoten 320 zu Slaveknoten 320 durchläuft, kann auch als Daisy-Chain- Telegramm bezeichnet werden.
Während kostengünstigere interne Oszillator stark temperaturabhängig sind, können Ausführungsbeispiele der Vorrichtung eine Drift der Baudrate bei Erwärmung in den Slaveknoten 320 verhindern und somit teurere Schwingquarze in den Slaveknoten einsparen.
Ein bevorzugtes Ausführungsbeispiel implementiert die Vorrichtung 100 mittels eines Mikrocontrollers (der in Fig. 3 kurz als "pC" bezeichnet ist). Eine sogenannte Cap- ture-Compare-Einheit (CC-Einheit) im Mikrocontroller kann den Zähler 124 imple mentieren, um das Verhältnis Takte/Bit zu messen, die Soll-Baudrate des Systems aus dem Daisy-Chain-Telegramm zu ermitteln und damit eine Temperaturdrift des internen Oszillators auszugleichen. Flierzu ist ein Signaleingang 322 der CC-Einheit mit dem Signal des Telegramms vom zweiten Knoten beaufschlagt, beispielsweise indem eine Empfangsleitung (die in Fig. 3 mit "Rx" bezeichnet ist) der ersten Schnitt stelle 121 mit dem Signaleingang 322 verbunden ist.
Fig. 4 zeigt schematisch den Anfang eines Signals eines Telegramms 400. Die Zeit nimmt in der schematischen Darstellung der Fig. 4 von links nach rechts zu. In verti kaler Richtung ist ein Spannungspegel des Signals schematisch gezeigt. Das Telegramm umfasst mehrere Zeichen (d.h., Bytes) 402 und 404. Die von der Peripherieeinheit 120 (beispielsweise der CC-Einheit) gemessene Symbolfolge 406 ist Teil des ersten Zeichens 402. D.h., die gemessene Symbolfolge 406 endet mit oder vor dem letzten Symbol (vorzugsweise dem letzten Datensymbol) des ersten Zeichens 402.
Beispielsweise ist der Anfang der gemessenen Symbolfolge 406 durch die erste fal lende Flanke 408 im ersten Zeichen 402 des Teegramms 400 definiert, und das En de der gemessenen Symbolfolge 406 ist durch die erste steigende Flanke 410 nach der ersten fallenden Flanke 408 definiert. Die erste fallende Flanke 408 kann einem Startbit entsprechen. Alternativ oder zusätzlich kann die erste steigende Flanke 410 nach der fallenden Flanke 408 vor einem Stoppbit 412 (oder vor mehreren Stoppbits) des ersten Zeichens 412 sein. Jedes Zeichen 402 und 404 kann jeweils durch Start- und Stoppbits eingerahmt sein.
Eine Implementierung des Verfahrens 200 kann alle X empfangenen Telegramme 400 (d.h., nach jeweils X empfangenen Telegrammen 400) die Anzahl der Takte in der Symbolfolge 406 gemäß dem Schritt 220 messen, beispielsweise indem die CC- Einheit im Slaveknoten 320 aktivieren wird. Die CC-Einheit im Slaveknoten 320 misst die Takte von fallender Flanke 408 bis zur steigenden Flanke 410 des ersten emp fangenen Bytes 402.
Die Peripherieeinheit 120 des Slaveknotens 320 dekodiert gemäß dem Schritt 220 die Symbole (d.h., die Bits) des ersten Bytes 402. Mit anderen Worten, der Slavekno ten 320 wertet das erste auf seiner Empfangsleitung eingetroffene Byte 402 aus und ermittelt wie viele Symbole (d.h., Bits) von der Symbolfolge 406 (d.h., von der CC- Messung im Schritt 220) umfasst wurden. Aus der Anzahl der Bits und der gemesse nen Anzahl der Takte (auch: CC-Takte) kann das Verhältnis der CC-Takte pro Bit (auch: CC-Takte/Bit) berechnet werden. Dieses Verhältnis ist das gemessene Ver hältnis oder Ist-Verhältnis (kurz: Ist-Takte/Bit).
In einer ersten Variante des Ausführungsbeispiels wird die Symbolrate 125 des Sla veknoten 320 durch den Teiler bezüglich der Taktrate 1 15 gesteuert. Der Teiler ist ein Beispiel des Zeitparameters. In der ersten Variante kann das gemessene Ver hältnis als der korrigierte Teiler gesetzt werden, beispielsweise indem das gemesse ne Verhältnis in das entsprechende Register zur Steuerung der Symbolrate 125 ge schrieben wird. In einer zweiten Variante des Ausführungsbeispiels ist in der Korrektureinheit 130 des Slaveknoten 320 die Anzahl der Soll-Takte pro Bit (kurz: Soll-Takte/Bit), d.h., der Soll-Wert des Verhältnisses, als eine Konstante vorgegeben. Der Soll-Wert des Ver hältnisses kann aus dem Quotienten einer Soll-Taktrate (beispielsweise CC_Clock) und der System-Baudrate berechnet werden. Ein numerisches Beispiel hierfür ist:
CC_Clock/Baudrate = 48.000.000 Takte / 312,5 kBd = 153,6 Takte/Bit.
Die Abweichung des im Schritt 220 gemessenen Verhältnisses vom vorgegebenen Soll-Wert des Verhältnisses wird als Takt_pro_Bit_Differenz berechnet:
Takt_pro_Bit_Differenz = Soll-Takte/Bit - Ist-Takte/Bit, d.h., die Abweichung in Takten pro Bit.
Die Korrektureinheit 130 korrigiert im Schritt 230 die numerische Baudrate 125 im Slaveknoten 320 als Beispiel des Zeitparameters. Vor der Korrektur ist die numeri sche Baudrate 125, beispielsweise der Wert "Slave_Baud" im entsprechenden Re gister der Schnittstellen 121 und 126, gleich der System-Baudrate. Die korrigierte numerische Baudrate ist
Slave_Baud = System baudrate ± Korrekturfaktor(Takt_pro_Bit_Differenz)
Durch die Korrektur der Baudraten, für beide Slave-UARTs 121 und 126, kann der nächste Slaveknoten (d.h., der dritte Knoten) seine Baudrate an die Baudrate des vorherigen Slaveknotens (d.h., des ersten Knotens) anpassen.
Durch die interne Anpassung bleibt die Baudrate des Slaveknotens mit Anstieg sei ner Temperatur auf der definierten System-Baudrate, die von außen beobachtbar ist.
Wie anhand vorstehender Ausführungsbeispiele und deren Varianten aufgezeigt, kann die Vorrichtung 100 in jedem System (insbesondere in jeder Anordnung 300) implementiert werden, das eine definierte System-Symbolrate (d.h., eine Soll- Baudrate) aufweist. Ein numerisches Beispiel für die System-Symbolrate ist
312,5 kBd = 312.500 Bd, wobei Bd für die Einheit Baud steht, also Symbole pro Se kunde (beispielsweise Bit pro Sekunde). Vorzugsweise kann im Schritt 220 das Messen der Anzahl der Takte innerhalb der Symbolfolge 406 in jedem Slaveknoten mittels einer Capture-Compare-Einheit aus geführt werden, die beispielsweise die Anzahl der Takte zwischen Flankenwechseln des Signals des empfangenen Telegramms misst.
Alternativ oder ergänzend zu jedem Ausführungsbeispiel und jeder Variante kann mindestens eine der folgenden Möglichkeiten umgesetzt sein. Eine erste Umset zungsmöglichkeit verzichtet auf den Schwingquarz 312 im Masterknoten 310. Bei spielsweise kann die Technik umgesetzt werden mit einem Masterknoten, der sei nerseits als Slave in ein übergeordnetes System einbindbar ist. Hierzu ist der Mas terknoten 310 optional mit einem Ausführungsbeispiel der Vorrichtung 100 ausge stattet, das die Symbolrate des Masterknotens an das übergeordnete System an passt, beispielsweise ohne dass das übergeordnete System einen Master-Slave- Mechanismus unterstützt.
Die beschriebene Implementierung des Verfahrens 200 wertet für das Messen der Anzahl der Takte in der Symbolfolge 406 mittels des Zählers 124 (beispielsweise mit tels der Capture-Compare-Einheit) den Inhalt des empfangenen Bytes 402 aus (d.h., das Byte 402 wird dekodiert). Dies setzt voraus, dass dieses Byte 402 noch deko dierbar (d.h., empfangbar) ist, d.h., die bis dahin entstandene Abweichung (oder der bestehende Fehler) der Symbolrate liegt noch unter einer Schwelle eines Dekodier fehlers (d.h., einer Schwelle der Nicht-Empfangbarkeit). Alternativ oder ergänzend vermeidet eine zweite Umsetzungsmöglichkeit diese Einschränkung (beispielsweise eine Einschränkung an die Volatilität der Taktrate 1 15), indem ein Synchronisations zeichens 402 (beispielsweise ein im Kommunikationsprotokoll vorgeschriebenes Synchronisationsbyte) am Anfang des Telegramms 400 übertragen wird, so dass das gemessene Verhältnis nicht aus den dekodierten Symbolen der empfangenen Nutz daten ermittelt werden muss, und damit vom erfolgreichen Empfang (d.h., dem er folgreichen Dekodieren) einer Symbolfolge 406 unabhängig ist. Damit kann eine Volatilität der Taktrate 1 15 (beispielsweise eine sprunghafte Abweichung der Taktra te 1 15) oder ein Driftbereich der Taktrate 1 15, welche bzw. welcher weiterhin die Auf rechterhaltung des Gleichgangs für die asynchrone Datenübertragung gestattet, wei ter vergrößert werden. Hierfür kann eine Vergrößerung der Telegrammlänge um das Synchronisationszeichen in Kauf genommen werden. Die Anzahl der Takte während der Übertragung des vorbestimmten Synchronisati onszeichens des Telegramms 400 kann mittels der CC-Einheit 124 gemessen wer den. Das Verhältnis der gemessenen Anzahl 124 der Takte und einer vorbestimmten Anzahl von Symbolen im Synchronisationszeichen ergibt das gemessene Verhältnis, das Grundlage für die Korrektur des Zeitparameters ist, beispielsweise ohne dass Symbole des Synchronisationszeichens dekodiert werden oder dekodierbar sind. In einer Variante der zweiten Umsetzungsmöglichkeit wird ein Quotienten aus der ge messenen Anzahl 124 der Takte und einem vorbestimmten Soll-Wert der Anzahl der Takte während der Übertragung des Synchronisationszeichens bestimmt. Die nume rische Symbolrate 125 oder der entsprechende Teiler können um diesen Quotienten korrigiert werden. Alternativ kann die Taktrate 115 um den Kehrwert dieses Quotien ten korrigiert werden.
Eine dritte Umsetzungsmöglichkeit kann alternativ oder zusätzlich zur Korrektur der numerischen Baudrate 125 oder des entsprechenden Teilers (als Beispiele des Zeit parameters) die interne Takterzeugung mittels der Taktgebereinheit 110 korrigieren (d.h. kalibrieren). Mit anderen Worten, die Taktrate 115 (als weiteres Beispiel des Zeitparameters) kann korrigiert werden.
Das Messen 220 der Anzahl der Takte in der Symbolfolge 406 kann durch die fallen den und steigenden Flanken ausgelöst und beendet werden. Beispielsweise kann die Flankenänderung einen Flardwareinterrupt auslösen, der eine entsprechende Mess routine startet bzw. beendet. Beispielsweise wird eine Uhr (beispielsweise ein CC- Timer) der Peripherieeinheit 120 (beispielsweise der CC-Einheit) durch die Signal- Beaufschlagung 322 gestartet bzw. gestoppt, wobei die Uhr ein Zähler 124 ist, der mit jedem Takt der Taktgebereinheit 110 inkrementiert wird. Eine vierte Umset zungsmöglichkeit implementiert das Messen 220 der Anzahl der Takte in der Sym bolfolge 406 durch Abfragen oder Abtasten des empfangenen Signals an der ersten Schnittstelle 121 , z.B. durch eine zyklische Abfrage, d.h., durch ein sogenanntes Pol ling. Bei Erfassung einer entsprechenden Flankenänderung in der zyklischen Abfra ge kann der Zähler 124 gestartet bzw. gestoppt werden.
Obwohl die Erfindung in Bezug auf exemplarische Ausführungsbeispiele beschrieben worden ist, ist es für einen Fachmann ersichtlich, dass verschiedene Änderungen vorgenommen werden können und Äquivalente als Ersatz verwendet werden kön nen. Ferner können viele Modifikationen vorgenommen werden, um eine bestimmte Situation, eine bestimmte Topologie der asynchronen Datenübertragung und/oder ein bestimmtes Kommunikationsprotokoll an die Lehre der Erfindung anzupassen. Folglich ist die Erfindung nicht auf die offenbarten Ausführungsbeispiele beschränkt, sondern umfasst alle Ausführungsbeispiele, die in den Bereich der beigefügten Pa tentansprüche fallen.
Bezugszeichenliste
100 Vorrichtung zum Korrigieren eines Zeitparameters
110 T aktgebereinheit
115 Zeitparameter der Taktgebereinheit,
insbesondere Taktrate oder Steuerparameter der Taktrate
120 Peripherieeinheit
121 Erste serielle Schnittstelle
122 Dekodierer der ersten Schnittstelle
123 Kodierer der ersten Schnittstelle
124 Zähler, insbesondere Capture-Compare-Einheit
125 Zeitparameter der Peripherieeinheit,
insbesondere Register für Symbolrate oder Steuerparameter der Symbolrate
126 Zweite serielle Schnittstelle
127 Dekodierer der zweiten Schnittstelle
128 Kodierer der zweiten Schnittstelle
130 Korrektureinheit
200 Verfahren zum Korrigieren eines Zeitparameters
210 Schritt des Taktens
220 Schritt des Dekodierens und Messens
230 Schritt des Korrigierens
300 Anordnung in Reihe verbundener Knoten
310 Masterknoten
312 Oszillator, insbesondere Quarzoszillator mit einem Schwingquarz
320 Slaveknoten
322 Signal-Beaufschlagung einer Capture-Compare-Einheit
400 Telegramm
402 Erstes Zeichen des Telegramms
404 Zweites Zeichen des Telegramms
406 Symbolfolge
408 Erste fallende Flanke des Telegrams,
beispielsweise Startbit des ersten Zeichens des Telegramms
410 Erste steigende Flanke des Telegrams
412 Stoppbit des ersten Zeichens des Telegramms

Claims

Patentansprüche
1. Vorrichtung (100) zum Korrigieren eines Zeitparameters (115; 125) in einem ersten Knoten (320) nach Maßgabe eines zweiten Knotens (310; 320), umfassend: eine Taktgebereinheit (110), die dazu ausgebildet ist, periodische Takte im ersten Knoten (320) bereitzustellen;
eine Peripherieeinheit (120), die dazu ausgebildet ist, Symbole eines asynchron übertragenen Telegramms (400) vom zweiten Knoten (310; 320) zu dekodieren und eine Anzahl (124) der Takte während der Übertragung einer
Symbolfolge (406) aufeinanderfolgender Symbole des Telegramms (400) zu messen; und
eine Korrektureinheit (130), die dazu ausgebildet ist, den Zeitparameter (115; 125) abhängig vom Verhältnis der gemessenen Anzahl (124) der Takte und der Anzahl aufeinanderfolgender Symbole in der Symbolfolge (406) zu korrigieren.
2. Vorrichtung nach Anspruch 1 , wobei der Zeitparameter (115; 125) eine
Taktrate (115) der Taktgebereinheit (110), eine Symbolrate (125) des Dekodierens, ein Parameter zur Steuerung der Taktrate (115) oder ein Parameter zur Steuerung der Symbolrate (125) umfasst.
3. Vorrichtung nach Anspruch 1 oder 2, wobei ein Abtasten des vom zweiten Knoten übertragenen Telegramms (400) oder das Dekodieren der Symbole des Telegramms (400) von der Taktgebereinheit (110) getaktet ist und/oder vom
Zeitparameter gesteuert ist.
4. Vorrichtung nach einem der Ansprüche 1 bis 3, wobei die Peripherieeinheit (120) eine erste serielle Schnittstelle (121 ) zur asynchronen Übertragung des
Telegramms (400) vom zweiten Knoten (310; 320) und eine zweite serielle
Schnittstelle (126) zur asynchronen Übertragung eines Telegramms (400) zu einem dritten Knoten (310; 320) umfasst, und wobei sowohl die erste Schnittstelle (121 ) als auch die zweite Schnittstelle (126) von der Taktgebereinheit (110) getaktet ist und/oder vom korrigierten Zeitparameter (115; 125) gesteuert ist.
5. Vorrichtung nach einem der Ansprüche 1 bis 4, wobei der Zeitparameter (115; 125) eine Taktrate (115) der Taktgebereinheit (110) umfasst, und die Korrektureinheit (130) dazu ausgebildet ist, die Taktrate (115) der Taktgebereinheit (110) abhängig vom Verhältnis der gemessenen Anzahl (124) der Takte und der Anzahl
aufeinanderfolgender Symbole in der Symbolfolge (406) zu korrigieren.
6. Vorrichtung nach Anspruch 5, wobei die korrigierte Taktrate (115) gegenüber einer Ist-Taktrate der Taktgebereinheit (110) um den Quotienten aus einer vorbestimmten Anzahl der Takte pro Symbol und dem gemessenen Verhältnis korrigiert ist.
7. Vorrichtung nach einem der Ansprüche 1 bis 6, wobei der Zeitparameter (115; 125) eine Symbolrate (125) der Peripherieeinheit (120) umfasst, und die
Korrektureinheit (130) dazu ausgebildet ist, die Symbolrate (125) der
Peripherieeinheit (120) abhängig vom Verhältnis der gemessenen Anzahl (124) der Takte und der Anzahl aufeinanderfolgender Symbole in der Symbolfolge zu korrigieren.
8. Vorrichtung nach Anspruch 7, wobei die korrigierte Symbolrate (125) gegenüber einer vorbestimmten System-Symbolrate um den Quotienten aus dem gemessenen Verhältnis und einer vorbestimmten Anzahl der Takte pro Symbol korrigiert ist.
9. Vorrichtung nach einem der Ansprüche 1 bis 8, wobei der Zeitparameter (115; 125) einen Teiler für eine Symbolrate (125) der Peripherieeinheit (120) relativ zu einer Taktrate (115) der Taktgebereinheit (110) umfasst, und die Korrektureinheit (130) dazu ausgebildet ist, den Teiler (125) abhängig vom Verhältnis der
gemessenen Anzahl (124) der Takte und der Anzahl aufeinanderfolgender Symbole in der Symbolfolge zu korrigieren.
10. Vorrichtung nach Anspruch 9, wobei der korrigierte Teiler gleich oder proportional zu dem gemessen Verhältnis ist.
11. Vorrichtung nach einem der Ansprüche 1 bis 10, wobei sich die Symbolfolge (406) aufeinanderfolgender Symbole des Telegramms (400) von einer ersten fallenden Flanke zu einer ersten steigenden Flanke der Übertragung des
Telegramms (400) erstreckt.
12. Vorrichtung nach einem der Ansprüche 1 bis 11 , wobei ein Mikrocontroller die Taktgebereinheit (110), die Peripherieeinheit (120) und die Korrektureinheit (130) umfasst, und wobei der Mikrocontroller ferner eine Capture-Compare-Einheit umfasst, die mit einem empfangenen Signal des Telegramms (400) vom zweiten Knoten (310; 320) beaufschlagt ist und die dazu ausgebildet ist, die Anzahl (124) der Takte während der Übertragung der Symbolfolge (406) zu messen.
13. Vorrichtung nach einem der Ansprüche 1 bis 12, wobei die Symbolfolge (406) des Telegramms (400) ausschließlich Symbole zur Übertragung von Nutzdaten umfasst.
14. Vorrichtung nach einem der Ansprüche 1 bis 13, wobei die Symbolfolge (406) des Telegramms (400) kürzer als ein Zeichen (402; 404) des Telegramms (400) ist und/oder Teil des ersten Zeichens (402) des Telegramms (400) ist.
15. Vorrichtung nach einem der Ansprüche 1 bis 14, wobei die Peripherieeinheit (120) ferner dazu ausgebildet ist, eine Anzahl (124) der Takte während der
Übertragung eines vorbestimmten Synchronisationszeichens des Telegramms (400) zu messen, und wobei die Korrektureinheit (130) ferner dazu ausgebildet ist, den Zeitparameter (115; 125) zu korrigieren abhängig vom Verhältnis der gemessenen Anzahl (124) der Takte und einer vorbestimmten Anzahl von Symbolen im
Synchronisationszeichen und/oder abhängig von einem Quotienten der gemessenen Anzahl (124) der Takte und einem vorbestimmten Soll-Wert der Anzahl der Takte während der Übertragung des Synchronisationszeichens.
16. Verfahren (200) zum Korrigieren eines Zeitparameters (115; 125) in einem ersten Knoten (320) nach Maßgabe eines zweiten Knotens (310; 320), wobei das Verfahren (200) die folgenden Schritte umfasst oder initiiert:
Bereitstellen (210) periodischer Takte im ersten Knoten (320);
Dekodieren (220) von Symbolen eines asynchron übertragenen Telegramms (400) vom zweiten Knoten (310; 320) und Messen einer Anzahl (124) der Takte während der Übertragung einer Symbolfolge (406) aufeinanderfolgender Symbole des Telegramms (400); und
Korrigieren (230) des Zeitparameters (115; 125) abhängig vom Verhältnis der gemessenen Anzahl (124) der Takte und der Anzahl aufeinanderfolgender Symbole in der Symbolfolge (406).
PCT/EP2020/063268 2019-05-15 2020-05-13 Technik zur korrektur eines zeitparameters WO2020229509A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202080035936.1A CN113826087A (zh) 2019-05-15 2020-05-13 用于修正时间参数的技术
US17/610,173 US11907006B2 (en) 2019-05-15 2020-05-13 Technique for correcting a time parameter

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
LU101216A LU101216B1 (de) 2019-05-15 2019-05-15 Technik zur Korrektur eiines Zeitparameters
LULU101216 2019-05-15

Publications (1)

Publication Number Publication Date
WO2020229509A1 true WO2020229509A1 (de) 2020-11-19

Family

ID=67303489

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2020/063268 WO2020229509A1 (de) 2019-05-15 2020-05-13 Technik zur korrektur eines zeitparameters

Country Status (4)

Country Link
US (1) US11907006B2 (de)
CN (1) CN113826087A (de)
LU (1) LU101216B1 (de)
WO (1) WO2020229509A1 (de)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3452330A (en) 1967-07-25 1969-06-24 Bell Telephone Labor Inc Asynchronous data transmission system with error detection and retransmission
US20050251701A1 (en) * 2002-01-07 2005-11-10 Lars-Berno Fredriksson Distributed control and monitoring system
DE102004039219B3 (de) * 2004-08-12 2006-02-09 Infineon Technologies Ag Schaltungsanordnung mit Mikrocontroller und integriertem Schaltkreis sowie Verfahren zum Betrieb einer derartigen Schaltungsanordnung
DE102007011684A1 (de) * 2007-03-09 2008-09-11 Robert Bosch Gmbh Verfahren, CAN-Bus-Treiber und CAN-Bus-System zur Rückgewinnung einer Taktfrequenz eines CAN-Busses
DE102011115965A1 (de) * 2011-10-13 2013-04-18 Abb Technology Ag Verfahren zur Baudratenerkennung für Feldgeräte
US10277385B1 (en) * 2018-05-27 2019-04-30 Nxp B.V. Slave node for CAN bus network

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334219B1 (en) * 1994-09-26 2001-12-25 Adc Telecommunications Inc. Channel selection for a hybrid fiber coax network
DE10046920C2 (de) * 2000-09-21 2003-08-14 Siemens Ag Verfahren zum gesteuerten Einsynchronisieren auf ein nicht stabiles Taktsystem und hiermit korrespondierende Empfangseinheit
AT501510B1 (de) * 2004-07-19 2009-05-15 Univ Wien Tech Dezentrale fehlertolerante taktgenerierung in vlsi chips
US9459960B2 (en) * 2005-06-03 2016-10-04 Rambus Inc. Controller device for use with electrically erasable programmable memory chip with error detection and retry modes of operation
CN100479361C (zh) * 2005-12-15 2009-04-15 中国人民解放军国防科学技术大学 同步媒介访问控制器
CN102035639B (zh) * 2009-09-30 2014-09-17 华为技术有限公司 时间同步方法、装置和系统
JP5426326B2 (ja) * 2009-11-09 2014-02-26 ルネサスエレクトロニクス株式会社 データ受信装置、データ受信方法、及びプログラム
DE102011087472B4 (de) * 2011-11-30 2016-10-20 Continental Automotive Gmbh Verfahren zur Synchronisation von Uhren in Knoten eines Fahrzeugnetzes und zur Durchführung des Verfahrens eingerichteter Knoten
EP2645638A1 (de) 2012-03-29 2013-10-02 Robert Bosch Gmbh Kommunikationssystem mit Ketten- oder Ringtopologie
CN103684678A (zh) * 2012-11-01 2014-03-26 国网电力科学研究院 一种用于uart的波特率自适应方法、装置及uart
US9419737B2 (en) * 2013-03-15 2016-08-16 Concio Holdings LLC High speed embedded protocol for distributed control systems
CN109379603A (zh) * 2013-04-07 2019-02-22 杜比国际公司 用信号通知输出层集的改变
EP2800315B1 (de) * 2013-04-29 2018-07-04 Siemens Aktiengesellschaft Verfahren zur zeitsynchronisation in einem kommunikationsnetz
US10108578B2 (en) 2013-09-11 2018-10-23 Texas Instruments Incorporated Single wire communications interface and protocol
WO2015045062A1 (ja) * 2013-09-26 2015-04-02 三菱電機株式会社 通信システム、待機装置、通信方法及び待機プログラム
EP3404873B1 (de) * 2017-05-18 2019-10-02 Melexis Technologies NV Niedrigenergie-datenbusempfänger
DE102018121389B4 (de) * 2018-09-03 2021-09-16 WAGO Verwaltungsgesellschaft mit beschränkter Haftung Bussystem
EP3700137B1 (de) * 2019-02-22 2023-08-02 Volvo Car Corporation Überwachung von can-knoten
US11283535B2 (en) * 2019-03-20 2022-03-22 Arris Enterprises Llc Method of remotely monitoring the timing performance of a PTP slave
WO2021221946A1 (en) * 2020-04-28 2021-11-04 Arris Enterprises Llc System for jitter recovery from a transcoder
US10924260B1 (en) * 2020-05-15 2021-02-16 Rohde & Schwarz Gmbh & Co. Kg Signal analysis method and signal processing module

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3452330A (en) 1967-07-25 1969-06-24 Bell Telephone Labor Inc Asynchronous data transmission system with error detection and retransmission
US20050251701A1 (en) * 2002-01-07 2005-11-10 Lars-Berno Fredriksson Distributed control and monitoring system
DE102004039219B3 (de) * 2004-08-12 2006-02-09 Infineon Technologies Ag Schaltungsanordnung mit Mikrocontroller und integriertem Schaltkreis sowie Verfahren zum Betrieb einer derartigen Schaltungsanordnung
DE102007011684A1 (de) * 2007-03-09 2008-09-11 Robert Bosch Gmbh Verfahren, CAN-Bus-Treiber und CAN-Bus-System zur Rückgewinnung einer Taktfrequenz eines CAN-Busses
DE102011115965A1 (de) * 2011-10-13 2013-04-18 Abb Technology Ag Verfahren zur Baudratenerkennung für Feldgeräte
US10277385B1 (en) * 2018-05-27 2019-04-30 Nxp B.V. Slave node for CAN bus network

Also Published As

Publication number Publication date
US20220221894A1 (en) 2022-07-14
US11907006B2 (en) 2024-02-20
LU101216B1 (de) 2020-11-16
CN113826087A (zh) 2021-12-21

Similar Documents

Publication Publication Date Title
EP2751956B1 (de) Verfahren und vorrichtung zur prüfung der korrekten funktion einer seriellen datenübertragung
DE102011008227B4 (de) Verfahren und Systeme zum Messen von Datenimpulsen
DE102008000562A1 (de) Kommunikationssystem umfassend einen Datenbus und mehrere daran angeschlossene Teilnehmerknoten sowie Verfahren zum Betreiben eines solchen Kommunikationssystems
EP3977682B1 (de) Fehlererkennung-testeinrichtung für eine teilnehmerstation eines seriellen bussystems und verfahren zum testen von mechanismen zur fehlererkennung bei einer kommunikation in einem seriellen bussystem
EP2289201B1 (de) Vorrichtung und verfahren zur seriellen datenübertragung zwischen einem positionsmessgerät und einer steuerungseinheit
DE102010037221A1 (de) Verfahren und Geräte zum Angleichen einer Regelkreiszeiteinstellung in einem Prozessregelsystem
WO2007017491A1 (de) Verfahren und vorrichtung zum dekodieren eines signals
EP1878166A1 (de) Verfahren und vorrichtung zum dekodieren eines signals
EP1564925B1 (de) Verfahren und Vorrichtung zum Synchronisieren einer Funktionseinheit auf eine vorgegebene Taktfrequenz
DE102014219512A1 (de) Verfahren und Vorrichtung zur seriellen Datenübertragung über einen bidirektionalen Datenübertragungskanal
EP3864780B1 (de) Verfahren zum betreiben eines netzwerkteilnehmers in einem automatisierungskommunikationsnetzwerk
EP1629331B1 (de) Variables feldgerät für die prozessautomatisierungstechnik
EP2960737B1 (de) Vorrichtung und verfahren zum erzeugen eines triggersignals in einer positionsmesseinrichtung und positionsmesseinrichtung hierzu
EP1639758B1 (de) Verfahren und vorrichtung zum austausch von daten über ein bussystem
EP2701018B1 (de) Verfahren zur sicheren Parametrierung eines Feldgeräts
WO2019162292A1 (de) Vorrichtung und verfahren für eine sende-/empfangseinrichtung eines bussystems
DE102019112699B4 (de) Technik zur Korrektur eines Zeitparameters
WO2020229509A1 (de) Technik zur korrektur eines zeitparameters
DE112020006988B4 (de) Zeitkorrekturvorrichtung, zeitkorrekturverfahren, und zeitkorrekturprogramm
EP1307989B1 (de) Kommunikationsverfahren
EP2299614B1 (de) Vorrichtung und Verfahren zur Zeitsynchronisation in einem Kommunikationsnetz
DE10325263B4 (de) Sicherstellung von maximalen Reaktionszeiten in komplexen oder verteilten sicheren und/oder nicht sicheren Systemen
EP1421335B1 (de) Verfahren zur korrektur einer oszillatorfrequenz
WO2021028269A1 (de) Konfliktdetektor für eine teilnehmerstation eines seriellen bussystems und verfahren zur kommunikation in einem seriellen bussystem
DE102019121506A1 (de) Filter und Verfahren zum Verarbeiten eines Eingangssignals

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: 20724842

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20724842

Country of ref document: EP

Kind code of ref document: A1