TRANSMITTER CIRCUIT
20240120956 ยท 2024-04-11
Inventors
- Johannes Petrus Antonius Frambach (Nijmegen, NL)
- Cornelis Klaas Waardenburg (Zeeland, NL)
- Stefan Paul van den Hoek (Winssen, NL)
- Gerard Arie de Wit (Wijchen, NL)
Cpc classification
International classification
Abstract
A transmitter circuit including an impedance setting circuit having first and second legs, wherein each leg includes an adjustable pull-up resistance and an adjustable pull-down resistance connected in series between a supply terminal and a reference terminal. A first-leg-node, between the adjustable resistances of the first leg, is connected to a first bus terminal. A second-leg-node, between the adjustable resistances of the second leg, is connected to a second bus terminal. The controller detects a transition in a transmission data signal, and in response to a dominant to recessive transition the controller controls a voltage setting circuit to set the differential driver voltage on the bus to a recessive value; adjusts each of the adjustable pull-up resistances and the adjustable pull-down resistances with the same target impedance profile such that the transmitter circuit drives the bus with a target driver impedance for an active recessive period of a bit time.
Claims
1-15. (canceled)
16. A transmitter circuit, comprising: a first bus line terminal and a second bus line terminal for coupling to a bus; a controller, wherein the controller is configured to provide a transmission data signal for the bus; a voltage setting circuit configured to set a differential driver voltage on the bus; an impedance setting circuit that has a first leg and a second leg, wherein each leg comprises an adjustable pull-up resistance and an adjustable pull-down resistance connected in series with each other between a supply terminal and a reference terminal, wherein: a first-leg-node between the adjustable pull-up resistance and the adjustable pull-down resistance of the first leg is connected to one of the first bus line terminal or the second bus line terminal; and a second-leg-node between the adjustable pull-up resistance and the adjustable pull-down resistance of the second leg is connected to another one of the first bus line terminal or the second bus line terminal, and wherein the controller is configured to set the adjustable pull-up resistance and the adjustable pull-down resistance of the impedance setting circuit to adjust a driver impedance presented to the bus; and wherein the controller is configured to detect a transition in the transmission data signal, and in response to a dominant to recessive transition the controller is configured to: control the voltage setting circuit such that is sets the differential driver voltage on the bus to a recessive value; adjust each of the adjustable pull-up resistances and the adjustable pull-down resistances of the impedance setting circuit with the same target impedance profile such that the transmitter circuit drives the bus with a target driver impedance for an active recessive period of a bit time.
17. The transmitter circuit of claim 16, wherein, in response to the detected dominant to recessive transition, the controller is configured to: adjust each of the adjustable pull-up resistances and the adjustable pull-down resistances of the impedance setting circuit with the same target impedance profile such that the transmitter circuit drives the bus with the target driver impedance for a predefined subperiod the bit time; and adjust the adjustable pull-up resistances and the adjustable pull-down resistances of the impedance setting circuit such that the transmitter circuit drives the bus with a driver impedance that is high ohmic for a remaining subperiod of the bit time.
18. The transmitter circuit of claim 16, wherein the voltage setting circuit comprises: a first voltage source that is configured to set a first voltage at the first bus line terminal; and a second voltage source that is configured to set a second voltage at the second bus line terminal.
19. The transmitter circuit of claim 16, wherein the voltage setting circuit comprises: a first voltage-setting adjustable resistance connected in series between a supply terminal and the first bus line terminal; and a second voltage-setting adjustable resistance connected in series between the second bus line terminal and a reference terminal.
20. The transmitter circuit of claim 19, wherein the voltage setting circuit further comprises: a first diode connected in series with the first voltage-setting adjustable resistance between the supply terminal and the first bus line terminal; and a second diode connected in series with the second voltage-setting adjustable resistance between the second bus line terminal and the reference terminal.
21. The transmitter circuit of claim 19, wherein the controller is configured to: transition values of the voltage-setting adjustable resistances of the voltage setting circuit from a predetermined value to a high ohmic value in response to the dominant to recessive transition in the transmission data signal in order to set the differential driver voltage on the bus to the recessive value.
22. The transmitter circuit of claim 16, wherein the voltage setting circuit comprises: a first adjustable current source connected in series between a supply terminal and the first bus line terminal; and a second adjustable current source connected in series between the second bus line terminal and a reference terminal.
23. The transmitter circuit of claim 22, wherein the voltage setting circuit further comprises: a first diode connected in series with the first adjustable current source between the supply terminal and the first bus line terminal; and a second diode connected in series with the second adjustable current source between the second bus line terminal and the reference terminal.
24. The transmitter circuit of claim 16, wherein the impedance setting circuit further comprises: a first-leg-first-diode connected in series with the adjustable pull-up resistance of the first leg between: i) the supply terminal; and ii) the first-leg-node; a first-leg-second-diode connected in series with the adjustable pull-down resistance of the first leg between: i) the first-leg-node; and ii) the reference terminal; a second-leg-first-diode connected in series with the adjustable pull-up resistance of the first leg between: i) the supply terminal; and ii) the second-leg-node; a second-leg-second-diode connected in series with the adjustable pull-down resistance of the second leg between: i) the second-leg-node; and ii) the reference terminal.
25. The transmitter circuit of claim 16, wherein the controller comprises a shift register that stores a sequence of values that define the target impedance profile, and wherein the controller is configured to: adjust each of the adjustable pull-up resistances and the adjustable pull-down resistances of the impedance setting circuit according to the sequence of values that are stored in the shift register in response to the dominant to recessive transition.
26. The transmitter circuit of claim 17, wherein the target impedance profile comprises a first resistance transition and a second resistance transition, wherein: the first resistance transition represents a transition from a high ohmic value to a predetermined resistance value at the start of the predefined subperiod of the bit time; and the second resistance transition represents a transition from the predetermined resistance value to the high ohmic value at the end of the predefined subperiod of the bit time.
27. The transmitter circuit of claim 26, wherein the controller is configured to maintain the adjustable pull-up resistances and the adjustable pull-down resistances of the impedance setting circuit at the high ohmic value for the remaining subperiod of the bit time.
28. A CAN network comprising one or more transmitter circuits, wherein the one or more transmitted circuits each comprise: a first bus line terminal and a second bus line terminal for coupling to a bus; a controller, wherein the controller is configured to provide a transmission data signal for the bus; a voltage setting circuit configured to set a differential driver voltage on the bus; an impedance setting circuit that has a first leg and a second leg, wherein each leg comprises an adjustable pull-up resistance and an adjustable pull-down resistance connected in series with each other between the supply terminal and the reference terminal, wherein: a first-leg-node between the adjustable pull-up resistance and the adjustable pull-down resistance of the first leg is connected to one of the first bus line terminal or the second bus line terminal; and a second-leg-node between the adjustable pull-up resistance and the adjustable pull-down resistance of the second leg is connected to another one of the first bus line terminal or the second bus line terminal, and wherein the controller is configured to set the adjustable pull-up resistance and the adjustable pull-down resistance of the impedance setting circuit to adjust a driver impedance presented to the bus; and wherein the controller is configured to detect a transition in the transmission data signal, and in response to a dominant to recessive transition the controller is configured to: control the voltage setting circuit such that is sets the differential driver voltage on the bus to a recessive value; adjust each of the adjustable pull-up resistances and the adjustable pull-down resistances of the impedance setting circuit with the same target impedance profile such that the transmitter circuit drives the bus with a target driver impedance for an active recessive period of a bit time.
29. A method of operating a transmitter circuit, wherein the transmitter circuit comprises: a first bus line terminal and a second bus line terminal for coupling to a bus; an impedance setting circuit that has a first leg and a second leg, wherein each leg comprises an adjustable pull-up resistance and an adjustable pull-down resistance connected in series with each other between the supply terminal and the reference terminal, wherein: a first-leg-node between the adjustable pull-up resistance and the adjustable pull-down resistance of the first leg is connected to one of the first bus line terminal or the second bus line terminal; and a second-leg-node between the adjustable pull-up resistance and the adjustable pull-down resistance of the second leg is connected to another one of the first bus line terminal or the second bus line terminal, wherein the method comprises detecting a transition in a transmission data signal, and in response to a dominant to recessive transition in the transmission data signal: setting a differential driver voltage on the bus to a recessive value; and adjusting each of the adjustable pull-up resistances and the adjustable pull-down resistances of the impedance setting circuit with the same target impedance profile such that the transmitter circuit drives the bus with a target driver impedance for an active recessive period, of a bit time.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0061] One or more embodiments will now be described by way of example only with reference to the accompanying drawings in which:
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
DETAILED DESCRIPTION
[0075]
[0076] The network 100 comprises a plurality of nodes exemplified by a first node 101, a second node 102, a third node 103, an (n-1).sup.th node 104 and an n.sup.th node 105. The nodes 101 to 105 are coupled together for communication by a bus 110. Herein the bus is exemplified as a CAN bus 110, implemented in the form of a two-wire bus comprising a CANH wire 111 and a CANL wire 112. In this case, the wires 111 and 112 form a single twisted-pair cable having a nominal cable impedance. Each of the nodes 101 to 105 is coupled to the CANH 111 and CANL 112 wires via tap lines.
[0077] In this example the nominal cable impedance is 120?, which is typical of some automotive applications of the CAN bus. It will however be appreciated that embodiments are applicable to other line impedances and the present application should not be understood to be limited to a specific nominal cable impedance. It will also be appreciated that the exact impedance of the line may be affected by physical factors such as the cable and/or isolation material. While line impedance is assumed to be 120?, the actual line impedance may vary around this value and can be considered to be approximately 120?. Similarly, termination resistors may vary as to their exact value due to real-world implementations.
[0078] The first node 101 is a first end node of the bus 110 and has a termination resistance R.sub.Term 131 corresponding to the nominal cable impedance such as 120?. It will be appreciated that 120? is in accordance with this example of cable impedance. The second node 102 is a second end node and has a termination resistance R.sub.Term 132 corresponding to the nominal cable impedance such as 120?. The third, (n-1).sup.th node and n.sup.th node are intermediate nodes and are coupled to the CAN bus 110 via stubs or tap lines 140, 141 and 142. Such intermediate nodes may be unterminated or optionally applied with a high ohmic termination in the kilo-Ohms range in some systems. In some examples, high ohmic termination may provide limited ringing suppression at these quasi open ends of the cable, but the effectiveness is very limited due to the deviation from the nominal cable impedance.
[0079] Each of the nodes may be coupled to further circuity, such as sensors or microcontrollers, that may be configured to communicate with one or more of the other nodes using the CAN bus 110.
[0080]
[0081] Node 201 is coupled to the CAN bus 110 with a stub line 241 coupled to the CANH wire 111 and a stub line 242 coupled to the CANL wire 112. The stub lines 241, 242 are coupled to a CAN bus transceiver 210 of the node 201. It will be appreciated, that in the case where stubs are not needed, for example for an end node, the CAN bus transceiver will be coupled directly to the wires 111 and 112.
[0082] The CAN bus transceiver 210 is coupled to a CAN controller 220 via a transmit data connection (TXD) 251 and a receive data connection (RXD) 252.
[0083] The CAN controller 220 may form part of a microcontroller 230 of the node 201.
[0084] The microcontroller 230 may determine messages that are to be transmitted on the bus and provide these to the CAN controller 220. The microprocessor may receive messages from the bus from the CAN controller 220 and interpret them. The microcontroller 230 may be further connected to other entities, such as sensors or actuators and provide an interface between them and the CAN bus 110.
[0085] The CAN controller 220 may receive bits from the CAN bus 110 (via the bus transceiver 210) and reconstruct the bits into a message to be interpreted by the microcontroller 230. The CAN controller 220 may receive a message from the microcontroller 230 and provide it as serial bits to the bus via the CAN transceiver 210.
[0086] The CAN transceiver 210 may convert the digital data bits on the TXD connection 251 from the CAN controller 220 into analogue bus signals. The CAN transceiver 210 may further convert the analogue bus signals into digital bits to be provided via the RXD connection 252 to the CAN controller 220.
[0087] The implementation of the network 100 may be governed by certain parameters in order to reduce ringing and protect the integrity of the signalled data at higher data rates. For example, the CAN bus 110 may have a maximum length at which maximum data rates may be achieved. In another example, the stubs 140, 141 and 142 connecting the intermediate nodes 101 to 105 to the CAN bus 110 may be kept as short as possible to reduce reflections. In one case, the maximum length of the CAN bus may be restricted to 40 m and the stubs to less than 0.3 m, however it will be appreciated that this is by way of example.
[0088] Despite this requirement, the length of the bus and the stubs may be subject to other factors. For example, in an automotive application the implementation of the CAN bus network may be governed by the shape and size of a vehicle and position of the nodes. It may not always be possible to have stubs that are as short as desired. Furthermore, even in the case of the stubs being as short as is practical, ringing may still occur at higher data rates.
[0089] The ringing in the unterminated stub lines may corrupt the communication on the bus. This becomes more of a problem with new protocols, for example CAN FD, where the data rate is higher. One way to address ringing is to redesign network topology in order to improve termination, however this is time consuming and costly.
[0090] Embodiments of the present application provide a method of suppressing ringing that may be implemented on existing network topologies. Furthermore, embodiments may take into account the speed at which this suppression is implemented and mitigate the potential of glitches occurring in ringing suppression circuits.
[0091] The maximum bus length can be determined by, or rather can be a trade-off with, the selected signalling rate. A signalling rate decreases as transmission distance increases. While steady-state losses may become a factor at the longest transmission distances, the major factors limiting signalling rate as distance is increased are time varying. Cable bandwidth limitations, which degrade the signal transition time and introduce inter-symbol interference (ISI), are primary factors reducing the achievable signalling rate when transmission distance is increased. For a CAN bus, the signalling rate is also determined from the total system delaydown and back between the two most distant nodes of a system and the sum of the delays into and out of the nodes on a bus with the typical e.g. 5 ns/m propagation delay of a twisted-pair cable. Also, consideration must be given to the signal amplitude loss due to impedance of the cable and the input impedance of the transceivers. Under strict analysis, skin effects, proximity to other circuitry, dielectric loss, and radiation loss effects all act to influence the primary line parameters and degrade the signal.
[0092] Since stub-lines are unterminated, signal reflections can develop in a stub that drive signal levels back and forth across a receiver's input thresholds, creating errors. Bit-sampling occurs near the end of a bit, so it is mandatory that all signal reflections in a CAN stub-line be attenuated before or during the propagation delay segment to provide an adequate margin of safety. To minimize reflections, stub-line length should not exceed one-third (?) of the line's critical length. Beyond this stub-length, many variables come into play since the stub can no longer considered to be a lumped parameter. This is the maximum length that a stub remains invisible to a transmission line. The critical length of a bus line occurs at the point where the down-and-back propagation delay of a signal through a line equals the transition time of a signal (the greater of the rise or fall times). For instance, a typical CAN driver may have a 50 ns transition time, and when considering a typical twisted-pair transmission line propagation delay of 5 ns/m, the down-and-back delay for one meter becomes 10 ns/m. The critical length becomes 5 m (50 ns/10 ns/m=5 m), and the maximum un-terminated stub length for the network is ? of the critical length, or 1? m (?1.67 m).
[0093] Those skilled in the art immediately understand that existing network topologies developed for a (lower) target data transmission rate over the network may not be maintained in case the transmission rate is increased unless further measures are taken to suppress signal disturbances and to improve the signal quality.
[0094]
[0095] When for instance one of the nodes 1, 2, 3, 4, 7, 8 or 11 that are further away from the termination resistors at the nodes 5 and 10 (exemplary stub lengths are indicated in
[0096] Further, it should be considered that even with a well-terminated network, there may be a further major transmission rate limiting factor due to a high capacitance bus loading. In the case of a high number of nodes connected to the CAN bus network, the dominant to recessive transition becomes very slow. In recessive state the transmitter is high ohmic. When each connected node adds a capacitance (of, for instance, a maximum of 100 pF) to the CAN bus and the CAN bus impedance is fixed at 60?, the dominant to recessive transition will never be faster than approximately 100 ns in the case of a network to which ten nodes are connected. If the network is desired to have a transmission rate of 5 Mbit/s or higher, the bit time must be 200 ns or shorter.
[0097] Referring now to
[0098] The CAN bus has a load impedance represented by the equivalent bus impedance R.sub.BUS 380. Typically, the bus impedance R.sub.BUS 380 has an impedance of approximately 60? in accordance with the above described typical nominal cable impedance of 120? provided that the CAN bus is terminated with termination resistance R.sub.Term=120? at each end.
[0099] Further, diodes 350 to 353 are connected in series with each of the resistors 310 to 325 in order to prevent reverse currents flowing from the CAN bus into the common voltage supply rail 360 and the common ground rail 365 in case of a bus voltage higher than a supply voltage potential V.sub.CC on the common voltage supply rail 360 or lower than a ground potential on the common ground rail 365.
[0100]
[0101] Returning to
[0102] The impedance values of the push resistors R.sub.PUSH 310 and 320 and the pull resistors R.sub.PULL 315 and 325 are dynamically adjustable based on two parameters x and y. The domain of the parameter x may comprise the value range x=(0, 1), where x=(0, 1)={x ? R, 0<x<1}, and the domain of the parameter y may comprise the value range y=(0, 2], where y=(0, 2]={y ? R, 0<y?2}. The parameters x and y are independent of each other. The push impedance value R.sub.PUSH of the push resistors R.sub.PUSH 310 and 320 are adjustable as following:
[0103] The pull impedance value R.sub.PULL of the pull resistors R.sub.PULL 315 and 325 are adjustable as following:
[0104] The driver impedance Z.sub.DRIVE of the transmitter circuit 300 results in
which is a function on the parameter y.
[0105] This means that the driver impedance Z.sub.DRIVE of the transmitter circuit 300 can be dynamically adjusted to any impedance value between a low ohmic state, which is herein determined by a lowest driver impedance value Z.sub.DRIVE=R.sub.DOM, and a high ohmic state, which is herein represented by Z.sub.DRIVE=?. R.sub.DOM is the minimum drive impedance value of the transmitter circuit 300. For instance, the minimum drive impedance value may be R.sub.DOM=15?. It should be noted that the high ohmic state, referred herein by Z.sub.DRIVE=?, may comprise a maximum drive impedance value in the range of kilo Ohms or mega Ohms.
[0106] The differential driver voltage V.sub.DIFF, which is the potential difference between the voltages driven on CANH wire 111 and the CANL wire 112 (V.sub.CANH?V.sub.CANL) is also dynamically adjustable:
which is a function of the parameter x and the driver impedance value Z.sub.DRIVE. ?V.sub.Diode is the voltage drop of the diodes 350-353 connected in series with the push resistors R.sub.PUSH 310, 320 and the pull resistors R.sub.PULL 315, 325, respectively. V.sub.CC is the supply voltage potential provided at the common voltage supply rail 360 (with respect to the voltage potential of the ground rail 365). R.sub.BUS is the equivalent bus impedance, e.g. R.sub.BUS=60?. At a given driver impedance value Z.sub.DRIVE, the differential driver voltage V.sub.DIFF can be adjusted between V.sub.min
and V.SUB.max
[0107]
[0108] It should be noted that the minimum differential driver voltage V.sub.min and the maximum differential driver voltage V.sub.max are functions of the driver impedance value Z.sub.DRIVE, i.e. V.sub.min=V.sub.min(Z.sub.DRIVE) and V.sub.max=V.sub.max(Z.sub.DRIVE) For instance, assume that the driver impedance Z.sub.DRIVE (e.g. Z.sub.DRIVE=120?) substantially corresponds to the termination resistance R.sub.Term (e.g. R.sub.Term=120?), which means that equivalent bus impedance R.sub.BUS=? Z.sub.DRIVE (e.g. R.sub.BUS=60?). Hence, the maximum differential driver voltage V.sub.max results in
[0109] Further, the voltage potential V.sub.CC may be V.sub.CC=5 V and the voltage drop ?V.sub.Diode of the diodes 350-353 may be ?V.sub.Diode=1 V (a typical voltage drop ?V.sub.Diode of a diode is in the range of 0.5 V to 1 V). The maximum differential driver voltage V.sub.max results in V.sub.max=1 V. In order to drive a differential driver voltage V.sub.DIFF, the driver impedance Z.sub.DRIVE has to be adjusted to a lower impedance value.
[0110] More generally, the differential driver voltage V.sub.DIFF, which is the potential difference between the voltages driven on the CANH wire 111 and the CANL wire 112 (V.sub.CANH?V.sub.CANL), is dynamically adjustable
where V.sub.CC_eff relates to an effective supply voltage available to the voltage dividing push and pull resistors or each leg. In the example shown in
V.sub.CC_eff=V.sub.CC?2.Math.?V.sub.Diode
[0111] Those skilled in the art will understand that the legs may comprise further components, which may have to be considered in the effective supply voltage V.sub.CC_eff.
[0112] When the bus is in a passive recessive state, the impedance on the bus is determined by the termination resistance in the network. The equivalent bus impedance is for instance R.sub.BUS=60?, which corresponds to the termination resistance R.sub.Term=120?. When the bus is in an active recessive state or a dominant state, the impedance of the bus is determined by the dynamically adjustable driver impedance value Z.sub.DRIVE=Z.sub.DRIVE (y) of the transmitter circuit 300, which is a function of the parameter y.
[0113] Examples of the transmitter can be adjusted to different impedance states (wherein for the sake of explanation only it should be assumed that the lowest driver impedance value R.sub.DOM=15?, the voltage drop of the diodes ?V.sub.Diode=1 V, V.sub.CC=5 V is supplied to the voltage supply rail, the termination resistance is R.sub.Term=120?, and the equivalent bus impedance is R.sub.BUS=60?): [0114] CAN transmitter dominant with V.sub.DIFF=2 V:
[0119] The above examples illustrate that the transmitter circuit 300 of
[0120] Ringing can be prevented or suppressed in that an adequate or low impedance is used to drive the CAN bus during state transitions. For transitions from a recessive state to a dominant state, the driver impedance of the transmitter is low ohmic (e.g. about ?30?) to be able to drive a dominant voltage on the CAN bus. For transitions from a dominant state to a recessive state, the drive impedance of the transmitter is high ohmic in a classical CAN transmitter.
[0121] Referring now to
[0122] In particular,
[0123] In operation, the CAN bus controller 220 provides a serial bit stream to the CAN transceiver 210 for transmission on the bus. The edge detector 330 monitors edges on this bit stream. At time t.sub.1, the signal on TXD 251 transitions from low to high, which will cause a dominant to recessive transition of the differential driver voltage V.sub.DIFF on the CAN bus 110. It will be appreciated that the low to high transition of TXD 251 will not immediately cause a change on the CAN bus because there is a delay as the signal 251 is received by the CAN transceiver 210 and converted to a bus level for the CAN bus 110.
[0124] In the dominant state, the push resistors 310 and 320 are controlled to stay at R.sub.PUSH=R.sub.DOM=15? and the pull resistors 315 and 325 are controlled to stay high ohmic, which results in a low ohmic driver impedance Z.sub.DRIVE=30?.
[0125] In response to the detection of the dominant to recessive transition at time t.sub.1, the driver impedance Z.sub.DRIVE is adjusted from the starting driver impedance Z.sub.DRIVE=30?, representing the low ohmic driver impedance during Z.sub.DRIVE during dominant state, to a target driver impedance Z.sub.DRIVE=120?; the adjustment is preferably performed continuously over time and more preferably at a constant change rate. The driver impedance Z.sub.DRIVE is adjusted by controlling the push resistors 310 and 320 to increase their impedances from the starting push impedance R.sub.PUSH=15? to the target push impedance R.sub.PUSH=120?, the adjustment is preferably performed continuously over time and more preferably at a constant change rate. The pull resistors 315 and 325 are controlled to stay high ohmic (R.sub.PULL=??).
[0126] In response to the adjustment of the driver impedance Z.sub.DRIVE, the differential driver voltage V.sub.DIFF on the CAN bus is adjusted from a dominant differential voltage (e.g. V.sub.DIFF?2 V) to a recessive differential voltage (e.g. V.sub.DIFF?0 V). The R.sub.PUSH impedance increases while the R.sub.PULL impedance stays high ohmic (R.sub.PULL=??). At time t.sub.2, the driver impedance Z.sub.DRIVE is adjusted to the target driver impedance Z.sub.DRIVE=120?. The push resistors 310 and 320 have reached the push impedance R.sub.PUSH=60?. As a result thereof, the differential driver voltage V.sub.DIFF is equal to or smaller than the maximum differential driver voltage V.sub.max(Z.sub.DRIVE=120?). Hence, the driver impedance Z.sub.DRIVE is now independent from the differential driver voltage V.sub.DIFF and will stay constant at the reached target driver impedance Z.sub.DRIVE=120?. The push impedance R.sub.PUSH is further controlled to increase to the target push impedance R.sub.PUSH=120?, while at the same time the pull impedance P.sub.PULL is controlled to decrease to the target pull impedance R.sub.PULL=120?. The driver impedance Z.sub.DRIVE is maintained constant at the target driver impedance Z.sub.DRIVE=120? by the simultaneous adjustment of the push impedance R.sub.PUSH and pull impedance R.sub.PULL.
[0127] At time t.sub.3, the differential driver voltage V.sub.DIFF has reached the recessive differential voltage (V.sub.DIFF?0 V) of the recessive state. The R.sub.PUSH and R.sub.PULL impedance have reached the target impedance of 120?, which maintains the driver impedance Z.sub.DRIVE at the target driver impedance Z.sub.DRIVE=120?. Between time t.sub.3 and t.sub.4, ringing due to reflection from a poorly terminated network is suppressed because of the driver impedance Z.sub.DRIVE at the output stage of the transmitter.
[0128] At time t.sub.4, before the active recessive period T.sub.ACTREC lapses at time t.sub.5 (i.e. t.sub.4?t.sub.1<T.sub.ACTREC), the driver impedance Z.sub.DRIVE is adjusted from the target driver impedance Z.sub.DRIVE of the active recessive state to a target driver impedance Z.sub.DRIVE of the (passive) recessive state, which starts at time t.sub.5 (i.e. t.sub.5?t.sub.1=T.sub.ACTREC).
[0129] For instance, between time t.sub.4 and t.sub.5 the driver impedance Z.sub.DRIVE is adjusted from the target driver impedance Z.sub.DRIVE=120? of the active recessive state to high ohmic in the (passive) recessive state (Z.sub.DRIVE=??), which extends until end of the bit time T.sub.Bit at time t.sub.6 (t.sub.6?t.sub.1=T.sub.Bit). The push impedances R.sub.PUSH as well as the pull impedances R.sub.PULL are controlled to simultaneously increase from the target impedances R.sub.PUSH, R.sub.PULL=120? to high ohmic (R.sub.PUSH, R.sub.PULL=??) in order to keep the differential driver voltage V.sub.DIFF at the recessive differential voltage (V.sub.DIFF?0 V).
[0130] Between time t.sub.5 and t.sub.6, the driver impedance Z.sub.DRIVE stays high ohmic such that a transition from the recessive state to the dominant state may occur at time t.sub.6, where the bit time T.sub.Bit lapses (t.sub.6?t.sub.1=T.sub.Bit).
[0131] In the above case, the driver impedance Z.sub.DRIVE has been adjusted to 120? in the active recessive state in order to suppress potential reflections such that a well-terminated network is ensured by the driver impedance Z.sub.DRIVE=120? of the actively driving transmitter. In another example, the driver impedance Z.sub.DRIVE can be adjusted to a low ohmic impedance (e.g. R.sub.DOM=15?) in the active recessive state in order to dissipate the energy of potential reflections on the network. It should be noted that it depends on the real case network topology as to whether a target driver impedance Z.sub.DRIVE substantially at the termination resistance (described above with reference to
[0132] A large number of nodes connected to the CAN bus network such as that exemplified with reference to
[0133] The CAN standard (such as ISO 11898-2:2016) has no requirement on the length of the dominant to recessive edge. However in some applications, the maximum delay from detection of a dominant to recessive transition in the data stream on TXD to a drop of the differential driver voltage V.sub.DIFF=0.5 V may not exceed a predefined maximum delay such as e.g. a maximum delay of 140 ns. In order to ascertain the compliance with such a predefined maximum delay, which will be referred to also as predefined delay T.sub.TXD-BUS, may be applied as a maximum duration required for the transmitter to drive high-ohmic the bus starting from the detection of the transition from dominant to recessive.
[0134] Referring now to
[0135] In operation, the CAN bus controller 220 provides a serial bit stream to the CAN transceiver 210 for transmission on the bus 110. The edge detector 330 monitors edges on this bit stream. At time t.sub.1, the signal on TXD 251 transitions from low to high, which will cause a dominant to recessive transition of the differential driver voltage V.sub.DIFF on the CAN bus 110.
[0136] In the dominant state, the push resistors 310 and 320 are controlled to stay at R.sub.PUSH=R.sub.DOM=15? and the pull resistors 315 and 325 are controlled to stay high ohmic, which results in a low ohmic driver impedance Z.sub.DRIVE=30?.
[0137] In response to the detection of the dominant to recessive transition at time t.sub.1, the push resistors 310 and 320 are controlled to increase their impedances from the starting push impedance R.sub.PUSH=15? to a target push impedance R.sub.PUSH=30?, the adjustment is performed continuously over time at a constant change rate in this example. At the same time, the pull resistors 315 and 325 are controlled to decrease their impedances from the starting high ohmic (R.sub.PULL=??) to a target pull impedance R.sub.PULL=30?, the adjustment is performed continuously at a constant change rate in this example. The impedances of the push resistors 310 and 320 and the pull resistors 315 and 325 are simultaneously adjusted such that the driver impedance Z.sub.DRIVE stays at the driver impedance Z.sub.DRIVE=30?, which is the driver impedance Z.sub.DRIVE in dominant state.
[0138] The differential driver voltage V.sub.DIFF drops for dominant differential voltage (V.sub.DIFF?2 V) to the recessive differential voltage (V.sub.DIFF?0 V) during impedance adjustment of the push resistors 310 and 320 and the pull resistors 315 and 325.
[0139] At time t.sub.2, the impedances of the pull resistors 315 and 325 have reached the target push impedance R.sub.PUSH=30? and the differential driver voltage V.sub.DIFF is dropped to the recessive differential voltage (V.sub.DIFF?0 V).
[0140] Starting from the time t.sub.2 to a time t.sub.3, which corresponds to the end of the predefined delay T.sub.TXD-BUS (T.sub.3?t.sub.1=T.sub.TXD-BUS), the impedances of the push resistors 310 and 320 and the pull resistors 315 and 325 are controlled to increase from the current push/pull impedance R.sub.PUSH, R.sub.PULL=30? to high ohmic driver impedance Z.sub.DRIVE of the (passive) recessive state, which starts at time t.sub.3. The adjustment is performed continuously over time and at a constant change rate in this example.
[0141] The driver impedance Z.sub.DRIVE increases, starting from the driver impedance Z.sub.DRIVE=30? to high ohmic driver impedance Z.sub.DRIVE of the (passive) recessive state (Z.sub.DRIVE=??), in response to the impedance adjustment of the push resistors 310, 320 and the pull resistors 315 and 325.
[0142] Maintaining the driver impedance Z.sub.DRIVE low ohmic and driving the bus low ohmic during a sub-period t.sub.2?t.sub.1 of the predefined maximum delay T.sub.TXD-BUS enables a fast discharge of the loaded charge on a high capacitive bus. Accordingly, a drop of the differential driver voltage V.sub.DIFF to a predefined threshold value in response to the detection of a dominant to recessive transition can be ascertained.
[0143] The maximum communication speed in practical CAN FD networks can be limited by the differential mode ringing caused by (multiple) reflections bouncing backwards and forwards along the network just after the dominant-to-recessive transition. The recessive state impedance of the transceiver is typically not matched to the characteristic impedance of the cable harness used by original equipment manufacturers (OEMs), such as car makers. The impedance mismatch causes a non-zero reflection coefficient, that gives rise to signals bouncing backwards and forwards around the network until finally a steady state is reached, usually several 100 ns later. To prevent communication errors, all the reflections must have subsided well before the data sample point; no later than 70% of the bit time T.sub.bit. Hence, there is a direct link between the network topology of the cable harness and the maximum operating bit rate.
[0144] The circuit of
[0145]
[0146] The transmitter circuit 860 includes a first bus line terminal, CANH, 861 and a second bus line terminal, CANL, 862, for coupling to a bus such as the CAN bus that is described in detail above. The transmitter circuit 860 also includes a controller (not shown in
[0147] As will now be described, the transmitter circuit 860 of
[0148] The voltage setting circuit in this implementation includes a first voltage-setting adjustable resistance 863 and a second voltage-setting adjustable resistance 864. The first voltage-setting adjustable resistance 863 is connected in series between a supply terminal, Vcc, 865 and the first bus line terminal, CANH, 861. The second voltage-setting adjustable resistance 864 is connected in series between a reference terminal, GND, 866 and the second bus line terminal, CANL, 862. As will be described with reference to the signalling diagrams of
[0149] The impedance setting circuit has a first leg and a second leg. Each leg has an adjustable pull-up resistance 867, 868 and an adjustable pull-down resistance 869, 870 connected in series with each other between the supply terminal, Vcc, 865 and the reference terminal, GND, 866. The first leg has a first adjustable pull-up resistance 867 and a first adjustable pull-down resistance 869 connected in series with each other between the supply terminal, Vcc, 865 and the reference terminal, GND, 866. The second leg has a second adjustable pull-up resistance 868 and a second adjustable pull-down resistance 870 connected in series with each other between the supply terminal, Vcc, 865 and the reference terminal, GND, 866. A first-leg-node 871 between the first adjustable pull-up resistance 867 and the first adjustable pull-down resistance 869 of the first leg is connected to one of the two bus terminals (in this example the first bus terminal, CANH, 861). A second-leg-node 872 between the second adjustable pull-up resistance 868 and the second adjustable pull-down resistance 870 of the second leg is connected to the other one of the two bus terminals (in this example the second bus terminal, CANL, 862). As will be described with reference to the signal diagrams of
[0150]
[0151]
[0152] The following signals are shown in
[0158] Each of the adjustable resistances 863, 864 of the voltage setting circuit are controlled such that they have the same resistance value. Similarly, each of the adjustable resistances 867, 868, 869, 870 of the impedance setting circuit are controlled such that they have the same resistance value.
[0159] Referring first to
[0160] The target impedance profile is shown in
[0161] The controller then adjusts the adjustable pull-up resistances 867, 868 and the adjustable pull-down resistances 869, 870 of the impedance setting circuit such that the transmitter circuit drives the bus high ohmic for a remaining subperiod of the bit time, T.sub.Bit. This is shown in
[0162] In some examples, the controller can include a shift register that stores a sequence of values that define the target impedance profile. The controller can then adjust each of the adjustable pull-up resistances 867, 868 and the adjustable pull-down resistances 869, 870 of the impedance setting circuit according to the sequence of values that are stored in the shift register in response to the dominant to recessive transition at the TXD input 251 (signal 973).
[0163] Since both the adjustable pull-up resistances 867, 868 and the adjustable pull-down resistances 869, 870 are changed in the same way at the same time, this does not cause a significant change in the differential driver voltage, V.sub.DIFF, on the bus (if any). This is because the change in the resistance values of the adjustable resistances 867, 868, 869, 870 of the impedance setting circuit will be common mode and not result in an (observable) differential mode voltage excitation on the CAN bus. Although the transceiver circuit of
[0164] Turning now to
[0165] As shown in
[0166] Returning to
[0167] The first diode 878 is connected in series with the first voltage-setting adjustable resistance 863 between the supply terminal, Vcc, 865 and the first bus line terminal, CANH, 861. More particularly, the anode of the first diode 878 is connected, either directly or indirectly, to the supply terminal, Vcc, 865. The cathode of the first diode 878 is connected, either directly or indirectly, to the first bus line terminal, CANH, 861.
[0168] The second diode 883 is connected in series with the second voltage-setting adjustable resistance 864 between the second bus line terminal, CANL, 862, and the reference terminal, GND, 866. The anode of the second diode 883 is connected, either directly or indirectly, to the second bus line terminal, CANL, 862. The cathode of the second diode 883 is connected, either directly or indirectly, to the reference terminal, GND, 866.
[0169] The impedance setting circuit further comprises: a first-leg-first-diode 879; a first-leg-second-diode 881; a second-leg-first-diode 880; and a second-leg-second-diode 882.
[0170] The first-leg-first-diode 879 is connected in series with the adjustable pull-up resistance 867 of the first leg between: i) the supply terminal, Vcc, 865; and ii) the first-leg-node 871. The anode of the first-leg-first-diode 879 is connected, either directly or indirectly, to the supply terminal, Vcc, 865. The cathode of the first-leg-first-diode 879 is connected, either directly or indirectly, to the first-leg-node 871.
[0171] The first-leg-second-diode 881 is connected in series with the adjustable pull-down resistance 869 of the first leg between: i) the first-leg-node 871; and ii) the reference terminal, GND, 866. The anode of the first-leg-second-diode 879 is connected, either directly or indirectly, to the first-leg-node 871. The cathode of the first-leg-second-diode 881 is connected, either directly or indirectly, to the reference terminal, GND, 866.
[0172] The second-leg-first-diode 880 is connected in series with the adjustable pull-up resistance 868 of the first leg between: i) the supply terminal, Vcc, 865; and ii) the second-leg-node 872. The anode of the second-leg-first-diode 880 is connected, either directly or indirectly, to the supply terminal, Vcc, 865. The cathode of the second-leg-first-diode 880 is connected, either directly or indirectly, to the second-leg-node 872.
[0173] The second-leg-second-diode 882 is connected in series with the adjustable pull-down resistance 870 of the second leg between: i) the second-leg-node 872; and ii) the reference terminal, GND, 866. The anode of the second-leg-second-diode 882 is connected, either directly or indirectly, to the second-leg-node 872. The cathode of the second-leg-second-diode 882 is connected, either directly or indirectly, to the reference terminal, GND, 866.
[0174] As indicated above, in response to detecting a dominant to recessive transition in the transmission data signal 973 the controller sets the adjustable resistances 863, 864 of the voltage setting circuit to set the differential driver voltage V.sub.DIFF, on the bus 974 to a recessive value. This is illustrated in
[0175] In this way, using the principle of superposition, simultaneous control of the differential driver voltage V.sub.DIFF (output voltage) and the driver impedance Z.sub.DRIVE (output impedance) can be obtained with two independent circuits. Although the transmitter circuit of
[0176] This independence between the voltage control and the impedance control can open up the possibility for SoC (system on a chip) integrators to use the transmitter circuit of
[0179]
[0180] In this example, the voltage setting circuit includes a first voltage source 893 and a second voltage source 894. The first voltage source 893 is configured to set a first voltage at the first bus line terminal, CANH, 861. The second voltage source 864 is configured to set a second voltage at the second bus line terminal, CANL, 862. In
[0181] In the same way as
[0182] A controller (not shown) can control the first and second voltage sources 893, 894 in order to set the differential driver voltage V.sub.DIFF, on the bus in the same way that is illustrated in
[0183]
[0184] In this example, the voltage setting circuit includes a first adjustable current source 895 and a second adjustable current source 896. The first and second adjustable current sources 895, 896 source current through the bus impedance R.sub.BUS in order to set the differential driver voltage, V.sub.DIFF, on the bus. In
[0185] In the same way as
[0186] A controller (not shown) can control the first and second adjustable current sources 895, 896 in order to set the differential driver voltage V.sub.DIFF, on the bus in the same way that is illustrated in
[0187] This ability of the transmitter circuits of
[0188]
[0189] The method comprises the following steps that are performed in response to detecting a dominant to recessive transition: [0190] step 1090setting a differential driver voltage, V.sub.DIFF, on the bus 30 to a recessive value. This step can be performed by controlling any of the voltage setting circuits disclosed herein; and [0191] step 1091adjusting each of the adjustable pull-up resistances and the adjustable pull-down resistances of the impedance setting circuit with the same target impedance profile such that the transmitter circuit drives the bus with a target driver impedance, Z.sub.DRIVE, for an active recessive period T.sub.ACTREC, of a bit time, T.sub.Bit.
[0192]
[0193] The instructions and/or flowchart steps in the above figures can be executed in any order, unless a specific order is explicitly stated. Also, those skilled in the art will recognize that while one example set of instructions/method has been discussed, the material in this specification can be combined in a variety of ways to yield other examples as well, and are to be understood within a context provided by this detailed description.
[0194] In some example embodiments the set of instructions/method steps described above are implemented as functional and software instructions embodied as a set of executable instructions which are effected on a computer or machine which is programmed with and controlled by said executable instructions. Such instructions are loaded for execution on a processor (such as one or more CPUs). The term processor includes microprocessors, microcontrollers, processor modules or subsystems (including one or more microprocessors or microcontrollers), or other control or computing devices. A processor can refer to a single component or to plural components.
[0195] In other examples, the set of instructions/methods illustrated herein and data and instructions associated therewith are stored in respective storage devices, which are implemented as one or more non-transient machine or computer-readable or computer-usable storage media or mediums. Such computer-readable or computer usable storage medium or media is (are) considered to be part of an article (or article of manufacture). An article or article of manufacture can refer to any manufactured single component or multiple components. The non-transient machine or computer usable media or mediums as defined herein excludes signals, but such media or mediums may be capable of receiving and processing information from signals and/or other transient mediums.
[0196] Example embodiments of the material discussed in this specification can be implemented in whole or in part through network, computer, or data based devices and/or services. These may include cloud, internet, intranet, mobile, desktop, processor, look-up table, microcontroller, consumer equipment, infrastructure, or other enabling devices and services. As may be used herein and in the claims, the following non-exclusive definitions are provided.
[0197] In one example, one or more instructions or steps discussed herein are automated. The terms automated or automatically (and like variations thereof) mean controlled operation of an apparatus, system, and/or process using computers and/or mechanical/electrical devices without the necessity of human intervention, observation, effort and/or decision.
[0198] It will be appreciated that any components said to be coupled may be coupled or connected either directly or indirectly. In the case of indirect coupling, additional components may be located between the two components that are said to be coupled.
[0199] In this specification, example embodiments have been presented in terms of a selected set of details. However, a person of ordinary skill in the art would understand that many other example embodiments may be practiced which include a different selected set of these details. It is intended that the following claims cover all possible example embodiments.