The present disclosure relates to a bidirectional communication circuit for bidirectional communication between a first differential wired network and a second differential wired network and a related method of operating the bidirectional communication circuit. In particular, the present disclosure relates to a bidirectional communication circuit designed to prevent timing glitches and simultaneous transmission of data from the first network to the second network and from the second network to the first network.
|
1. A bidirectional communication circuit for bidirectional communication between a first differential wired communication network and a second differential wired communication network, the bidirectional communication circuit comprising:
a transceiver unit configured to receive and transmit data to and from each said network;
an idle state detection unit configured to determine an idle state of each said network; and
a data flow control unit coupled to the transceiver unit and to the idle state detection unit, and configured to control a direction of communication flow between the first network and the second network; wherein
the data flow control unit comprises an asynchronous finite state machine having feedback; and
the data flow control unit is further configured to prevent data being simultaneously transmitted from the first network to the second network and from the second network to the first network.
18. A bidirectional communication circuit for bidirectional transmission of data in a multipoint differential wired communication system, wherein the bidirectional communication circuit is configured to prevent bus contention between networks in a bidirectional communication, in the multipoint differential wired communication system, the bidirectional communication circuit comprising:
a transceiver unit configured to receive and transmit data to and from each network;
an idle state detection unit configured to determine an idle state of each network; and
a data flow control unit coupled to the transceiver unit and to the idle state detection unit, and configured to control a direction of communication flow between the first network and the second network; wherein
the data flow control unit comprises an asynchronous finite state machine having feedback; and
the data flow control unit is further configured to prevent data being simultaneously transmitted from the first network to the second network and from the second network to the first network.
19. A method for controlling bidirectional communication between a first differential wired communication network and a second differential wired communication network, the method comprising:
receiving a first signal indicative of an idle state of the first network and a second signal indicative of an idle state of the second network;
receiving a first feedback signal indicative of a current transmission state of the first network and a second feedback signal indicative of a current transmission state of the second network;
comparing the first signal indicative of the idle state of the first network and the first feedback signal indicative of the current transmission state of the first network;
comparing the second signal indicative of the idle state of the second network and the second feedback signal indicative of the current transmission state of the second network;
generating a first control signal for controlling the next transmission state of the first network based on the said comparison of the second signal indicative of the idle state of the second network and the second feedback signal indicative of the current transmission state of the second network; and
generating a second control signal for controlling the next transmission state of the second network based on the said comparison of the first signal indicative of the idle state of the first network and the first feedback signal indicative of the current transmission state of the first network.
2. A bidirectional communication circuit according to
3. A bidirectional communication circuit according to
wherein the said feedback comprises the first output signal and the second output signal.
4. A bidirectional communication circuit according to any of
a first receiver coupled with reverse polarity to the receiver of the first transceiver circuit of the transceiver unit;
a second receiver coupled with reverse polarity to the receiver of the second transceiver circuit of the transceiver unit, and
wherein the idle state detection unit is configured to compare the output of first receiver of the idle state detection unit and the output of the receiver of the first transceiver circuit of the transceiver unit to determine if the first network is in an idle state, and
wherein the idle state detection unit is further configured to compare the output of the second receiver of the idle state detection unit with the output of the receiver of the second transceiver circuit of the transceiver unit to determine if the second network is in an idle state.
5. A bidirectional communication circuit according to
6. A bidirectional communication circuit according to
7. A bidirectional communication circuit according to
8. A bidirectional communication circuit according to
9. A bidirectional communication circuit according to
10. A bidirectional communication circuit according to
11. A bidirectional communication circuit according to
12. A bidirectional communication circuit according to
13. A bidirectional communication circuit according to
14. A bidirectional communication circuit according to
15. A bidirectional communication circuit according to
16. A bidirectional communication system comprising:
a first differential wired network;
a second differential wired network;
a bidirectional communication circuit according to
17. A bidirectional communication system according to
a motor control system for controlling a motor, wherein the first differential wired network comprises a motor driver for controlling, using bidirectional communication, a plurality of devices of the motor control system, and
wherein the second differential wired network comprises a position encoder for monitoring a shaft position of the motor.
20. A method for controlling bidirectional communication according to
(i) if the first feedback signal indicates a transition from a transmission state to an idle state for the first network, delaying the first feedback signal indicative of the current transmission state of the first network before said comparison of the first signal with the first feedback signal;
(ii) if the second feedback signal indicates a transition from a transmission state to an idle state for the second network, delaying the second feedback signal indicative of the current transmission state of the second network before said comparison of the second signal with the second feedback signal.
|
The present disclosure relates to a bidirectional communication circuit for bidirectional communication between a first differential wired network and a second differential wired network and a related method of operating the bidirectional communication circuit. In particular, the present disclosure relates to a bidirectional communication circuit designed to prevent timing glitches and simultaneous transmission of data from the first network to the second network and from the second network to the first network.
Differential wired data transmission is implemented in several industrial and instrumentation applications. A key benefit of differential wired communication is that it enables bidirectional communication over a single pair of twisted cables. Furthermore, differential data transmission has the advantage of improved noise immunity and enables multiple drivers and receivers to be connected on the same bus. RS-485 is an example of a commonly used differential wired communication standard. A typical application of the RS-485 standard is for data transmission between a master device and multiple devices of a system, for example data transmission between a motor driver and different units in a motor control system. Conventionally the RS-485 communication standard, with data rates of up to 50 Mbps, meets the signal requirements for most applications. However, next generation applications may implement signals with data rates higher than 50 Mbps. For this purpose it may be desirable to use a differential wired communication standard with a higher data rate such as, for example, an M-LVDS standard, for some or all of the devices in a system, in bidirectional communication with each other. For example, in a motor application, a master device or driver may be operating under the RS-485 communication standard and another device, in a bidirectional communication with the master device, such as a position encoder for monitoring a shaft position of a motor, may be required to operate under the M-LVDS communication standard due to signal requirements with respect to a higher data rate. In this case, a bidirectional communication circuit may be required for converting between the RS-485 and M-LVDS communication standards. In another example application, a bidirectional communication circuit may be required to function as a repeater between two devices operating under the same communication standard. The design of a bidirectional communication circuit, for use as a repeater or converter, needs to account for data integrity during communication between two devices or networks in bidirectional communication with each other. It may also be desirable for the design of such a circuit to be flexible and cost-effective for easy integration into hardware that is already implemented in consumer products.
The present disclosure relates to a bidirectional communication circuit for bidirectional communication between a first differential wired network and a second differential wired network and a related method of operating the bidirectional communication circuit. In particular, the present disclosure relates to a bidirectional communication circuit designed to prevent timing glitches and simultaneous transmission of data from the first network to the second network and from the second network to the first network.
The proposed design of the bidirectional communication circuit has the advantage of being a flexible, cost-effective design for improving data integrity. The proposed design for the bidirectional communication circuit comprises a transceiver unit, an idle state detection unit configured to determine an idle state of each network and a data flow control circuit coupled to the transceiver unit and the idle state detection unit. The data flow control circuit comprises an asynchronous finite state machine (FSM). The inventors have recognised that an asynchronous FSM, that is an FSM which operates without requiring a clock, can be used with feedback together with an idle state detection unit to control the transmission of each network to prevent bus contention. In the context of this disclosure, bus contention refers to the simultaneous transmission of data from the first network to the second network and from the second network to the first network. The inventors have evaluated the practical implementation of the proposed design and further improved it to reduce timing glitches that were observed during the implementation. The inventors have also recognised that an asymmetric delay may be implemented in the feedback to the asynchronous FSM to prevent timing hazards which may occur when the bidirectional communication circuit is used for data conversion at high data rates (50 Mbps). The inventors have also recognised that a glitch filter may be coupled to the output of the idle state detection circuit to remove any unwanted glitches which may occur due to pulse skew induced by the transceiver units coupled to the input of the idle state detection circuit.
The proposed bidirectional communication circuit may be used as a repeater or a converter circuit between two differential wired networks. An additional advantage of one of the implementations of the proposed bidirectional communication circuit is that the design of the bidirectional communication circuit can be easily adapted to include galvanic digital isolation to prevent the occurrence of ground loops and further improve the noise immunity of the proposed bidirectional communication circuit.
According to a first aspect of this disclosure, there is provided a bidirectional communication circuit for bidirectional communication between a first differential wired communication network and a second differential wired communication network, the bidirectional communication circuit comprising: a transceiver unit configured to receive and transmit data to and from each network; an idle state detection unit configured to determine an idle state of each network; and a data flow control unit coupled to the transceiver unit and to the idle state detection unit, wherein the data flow control unit is configured to control a direction of communication flow between the first network and the second network, wherein the data flow control unit comprises an asynchronous finite state machine having feedback, and wherein the data flow control unit is configured to prevent data being simultaneously transmitted from the first network to the second network and from the second network to the first network.
According to a second aspect of this disclosure there is provided a bidirectional communication system comprising: a first differential wired network; a second differential wired network; and a bidirectional communication circuit according to the above-mentioned first aspect of the disclosure, wherein the first differential wired network is coupled to the second differential wired network via the said bidirectional communication circuit.
According to third aspect of this disclosure, there is provided a method for bidirectional communication between a first differential wired communication network and a second differential wired communication network, the method comprising: receiving a first signal indicative of an idle state of the first network and a second signal indicative of an idle state of the second network; receiving a first feedback signal indicative of a current transmission state of the first network and a second feedback signal indicative of a current transmission state of the second network; comparing the first signal indicative of the idle state of the first network and the first feedback signal indicative of the current transmission state of the first network; comparing the second signal indicative of the idle state of the second network and the second feedback signal indicative of the current transmission state of the second network; generating a first control signal for controlling the next transmission state of the first network based on the said comparison of the second signal indicative of the idle state of the second network and the second feedback signal indicative of the current transmission state of the second network; and generating a second control signal for controlling the next transmission state of the second network based on the said comparison of the first signal indicative of the idle state of the first network and the first feedback signal indicative of the current transmission state of the first network.
According to a further aspect of this disclosure there is provided a bidirectional communication circuit for bidirectional transmission of data in a multipoint differential wired communication system, wherein the bidirectional communication circuit is configured to prevent bus contention between networks in a bidirectional communication, in the multipoint differential wired communication system.
Further features of the disclosure are defined in the appended claims.
The teachings of this disclosure will be discussed, by way of non-limiting examples, with reference to the accompanying drawings, in which:
The present disclosure provides a bidirectional communication circuit for use as a repeater or converter node between a first differential wired network in bidirectional communication with a second differential wired network. For example, the proposed bidirectional communication circuit may be used as a converter between an RS-485 network and an M-LVDS network. The present disclosure also provides a related method for operating the bidirectional communication circuit.
The proposed bidirectional communication circuit comprises an idle state detection circuit and a data flow control circuit. The bidirectional communication circuit may also comprise a transceiver unit comprising a primary transceiver for each network, where the primary transceiver for a given network is configured to receive and transmit data to and from the respective network.
The idle state detection circuit is configured for detecting an idle state of each of the networks. The data flow control circuit is coupled to the idle state detection circuit and is configured to control a direction of communication flow between the first network and the second network. That is, the data flow control unit controls the operation of the transmitters in the primary transceivers of the each network.
The proposed data flow control circuit of the bidirectional communication circuit advantageously prevents bus contention arising due to simultaneous transmission of data from the first network to the second network and from the second network to the first network. A key feature of the proposed data flow control circuit is that it operates asynchronously, that is, without requiring a clock. The proposed data flow control circuit is further configured to avoid timing glitches in the communication between the two networks.
The bidirectional communication system further comprises a bidirectional communication circuit 105 configured to control data flow between the two differential wired networks 101 and 102. The bidirectional communication circuit comprises idle state detection circuit 106 and data flow control circuit 109.
For ease of representation,
The idle state detection circuit 106 comprises circuit 107 configured to generate a signal indicative of an idle state of the first network 101 and circuit 108 configured to generate a signal indicative of an idle state of the second network 102. The idle state is defined as the state in which a network is not active, that is, the network is not transmitting or receiving any data. Details of an example implementation of the idle state detection circuit will be explained later in this description, using
The data flow control circuit 109 is configured to take as inputs the signals generated by the idle state detection circuit 106, indicative of the idle state of each network, and generate based on these signals, control signals for controlling the transmitters in the transceivers 103, 104 of the respective networks 101, 102.
One of the key issues that needs to be addressed when designing a data flow control circuit 109 is the avoidance of bus contention during communication between the networks. Bus contention occurs when the bus, or the shared channel for data transmission between the two networks, is being driven by the respective transmitters of the two networks at the same time. Bus contention is undesirable as it results in data corruption and incorrect operation of the bidirectional communication circuit.
The issue of bus contention will now be explained in detail using the data flow control circuit 109 as shown in
The present invention provides a solution to this problem of bus contention by providing a modified data flow control circuit 209 as seen in
The data flow control circuit 209 of the present invention can be implemented as part of a bidirectional communication circuit 205 for a bidirectional communication system 200, as shown in
Details of the data flow control circuit 209, according to an embodiment of this disclosure, will now be discussed with reference to
As seen in
A more detailed explanation of how each of the control signals, 201_En and 202_En, is generated will be provided below with reference to a detailed circuit-level schematic of FSM 209 with reference to
In
FSM 209 further comprises a second inverter logic gate 209b configured to receive the input signal 202_Id, where 202_Id, as explained above, is indicative of the idle state of the second network 202. The output of the logic gate 209b is fed as a first input 209b(i) into an AND logic gate 209d. The AND logic gate 209d is configured to compare, that is perform the logical AND operation, on signals 209b(i) and FB2, where FB2 is the second feedback signal which, in this case, is the inverted logic signal of the present or current output signal 202_En. In FIG. 3c, the inversion of the present or current output signal 202_En is performed by logic gate 209e. As explained above, signal 202_En is indicative of whether the transmitter 204 of the second network 202 is in an enabled state, that is, signal 202_En is indicative of whether the second network 202 is currently transmitting data. The resultant output of the AND gate 209d sets the next logic state of the control signals, 201_En, for the primary transmitter in the transceivers 203 of the first network 201.
By way of the implementation in
However, the inventors also recognised that a practical implementation of the proposed FSM 209 in a bidirectional communication system 200 (see
However, the inventors further recognised, upon evaluating the modified circuit in
Therefore, the circuit level implementation of the data flow control circuit 209 in
The detailed circuit level implementation of the bidirectional communication circuit 205 will now be discussed with reference to circuit-level implementations of the idle state detection circuit 206 and the optimised data flow control circuit 209
As seen in
The receiver 207a is compatible for use with the communication standard of network 201. For example if transceiver 203 is a RS-485 transceiver then receiver 207a is also a RS-485 receiver. The differential input (A,B) of the receiver 207a is inversely coupled to the differential input (A,B) of the transceiver 203. That is, the receiver 207a is coupled with reverse polarity to the primary receiver of the transceiver 203 of the first network 201. As a result of the reversed polarity coupling of the additional receiver 207a to the primary receiver of transceiver 203, any data received by the additional receiver 207a is configured to be the inverse of the data received by the corresponding primary receiver of transceivers 203.
The circuit 207 is further configured to compare the output 203RO of the primary receiver (not shown) of the transceiver 203 and the output 207aRO of the receiver 207a, for example, by gating the outputs to an AND gate 207b (see
In one example, when the corresponding network 201 is idle, the failsafe output of the respective primary receiver of transceiver 203 and the additional receiver 207a is configured to be equal. In this case, the logic gate 207b which may be, for example an AND gate as shown in
If the receiver devices are configured to failsafe to a logical 0, then the logic gate 207b may be an OR logic gate. If the receiver devices are configured to failsafe to a logical 1, then the logic gate 207b may be a NAND gate.
As seen in
While the example in
Although the transceivers 203, 204 in every embodiment of the proposed bidirectional communication circuit 205 are shown to be separate units to the circuit 205, in other embodiments, the bidirectional communication circuit 205 may also comprise the transceivers 203 and 204 as part of the circuit. The use of the term ‘coupled’ throughout the description, particularly in relation to the embodiments describing the bidirectional communication circuit, is to be interpreted to mean a direct or indirect connection between units or components in the bidirectional communication circuit. For example, two units being described as coupled to each other can mean that they are directly connected by a conductor or indirectly connected via another component or unit in between the two units.
Although this invention has been described in terms of certain embodiments, the embodiments can be combined to provide further embodiments. In addition, certain features shown in the context of one embodiment can be incorporated into other embodiments as well.
Watterson, Conal, Quinn, Neil Anthony
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
10310994, | Feb 28 2017 | University of Utah Research Foundation | Asynchronous finite state machines |
5455912, | Jun 18 1993 | VTECH INDUSTRIES, INC | High speed/low overhead bus arbitration apparatus and method for arbitrating a system bus |
6023476, | Jan 31 1997 | Advanced Micro Devices, INC | Signal delays in a logical repeater set |
6958627, | Oct 23 2000 | Trustees of Columbia University in the City of New York | Asynchronous pipeline with latch controllers |
8362802, | Jul 14 2008 | The Trustees of Columbia University in the City of New York | Asynchronous digital circuits including arbitration and routing primitives for asynchronous and mixed-timing networks |
8990466, | May 29 2012 | Infineon Technologies Austria AG | Arbiter for asynchronous state machines |
9753486, | Jun 15 2015 | University of Utah Research Foundation | Clock gating with an asynchronous wrapper cell |
20130259146, | |||
20150227489, | |||
20180101495, | |||
20190330047, | |||
CN101800535, | |||
CN104320341, | |||
DE102005013328, | |||
EP1620968, | |||
WO2002058330, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Sep 17 2020 | Analog Devices International Unlimited Company | (assignment on the face of the patent) | / | |||
Oct 01 2020 | QUINN, NEIL ANTHONY | Analog Devices International Unlimited Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 054459 | /0345 | |
Oct 01 2020 | WATTERSON, CONAL | Analog Devices International Unlimited Company | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 054459 | /0345 |
Date | Maintenance Fee Events |
Sep 17 2020 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Date | Maintenance Schedule |
Oct 11 2025 | 4 years fee payment window open |
Apr 11 2026 | 6 months grace period start (w surcharge) |
Oct 11 2026 | patent expiry (for year 4) |
Oct 11 2028 | 2 years to revive unintentionally abandoned end. (for year 4) |
Oct 11 2029 | 8 years fee payment window open |
Apr 11 2030 | 6 months grace period start (w surcharge) |
Oct 11 2030 | patent expiry (for year 8) |
Oct 11 2032 | 2 years to revive unintentionally abandoned end. (for year 8) |
Oct 11 2033 | 12 years fee payment window open |
Apr 11 2034 | 6 months grace period start (w surcharge) |
Oct 11 2034 | patent expiry (for year 12) |
Oct 11 2036 | 2 years to revive unintentionally abandoned end. (for year 12) |