[0001] The present invention relates to serial electrical connections for exchanging data
between systems, and more particularly the multiplexing of such connections.
[0002] The RS-422 connection is a point-to-point serial connection as specified by the American
National Standard Institute (ANSI) in the norm « standard ANSI/TIA/EIA-422-B Electrical
Characteristics of Balanced Voltage Differential Interface Circuits ».
[0003] The RS-422 connection comprises a driver, a bus and a listener, the bus connecting
the driver and the listener. The driver emits data by modifying the bus voltage while
the listener receives data by reading the bus voltage. In other words, the variations
of the bus voltage are linked to the messages sent by the driver and received by the
listener.
[0004] A message sent or received on an RS-422 connection is formed as a datagram comprising
a preset number of characters. A character is a collection of bits in a predefined
order. In an RS-422 connection, bits are signaled as negative or positive differential
voltage over a two-strands twisted pair wire forming the bus.
[0005] Depending on the application, there is a need for connecting several data generation
means through an RS-422 bus to the same listener (i.e. to achieve redundancy or improved
overall performance).
[0006] Figure 1 illustrates the main components of a RS-422 driver referenced 1.
[0007] An RS-422 driver 1 comprises an output 2a through which data can be transmitted as
messages and an input 2b through which messages can be received.
[0008] The output 2a is connected to a first receiver transmitter UART (acronym for "Universal
Asynchronous Receiver Transmitter") of the FIFO type (acronym for "First in first
out"), configured as a transmitter, referenced 5, connected itself to a data transmitter
3.
[0009] The input 2b is connected to a second receiver transmitter UART FIFO, configured
as a receiver, referenced 6, connected itself to a data receiver 4.
[0010] The RS-422 driver 1 is connected to data generation means 20 through the data transmitter
3 and the data receiver 4. Data generation means 20 can be processors, memories, and/or
sensors.
[0011] Once connected and powered, an RS-422 connection periodically exchanges messages
as its driver 1 is designed for continuous transmissions. This behavior makes connecting
multiple RS-422 drivers on the same bus impossible as the messages transmitted by
the drivers would be indistinguishable one from the other.
[0012] Figure 2 illustrates several data generation means 20a,20b,20c connected to a single
system 30 through different RS-422 drivers 1a, 1b, 1c and their respective buses 40a,40b,40c.
The system 30 is the listener of each RS-422 connection. Each data generation means
20a,20b,20c exchanges messages with the system 30 over its own RS-422 bus.
[0013] In some applications, it is not possible nor favorable to use multiple RS-422 connections,
either space-wise, cost-wise or CPU overhead-wise. The different data generation means
20a,20b,20c have to be connected to the system 30 through a single bus 40.
[0014] Since the RS-422 connection is not able to connect multiple listeners to a single
bus, other connection standards have been considered.
[0015] The RS-485 connection is a relatively newer serial connection, that is operable either
as a point-to-point connection or as a multipoint connection. It is specified by the
ANSI in the norm ANSI/TIA/EIA-485-A-1998.
[0016] Despite being an updated standard with enhanced abilities thanks to a multipoint
operation, the RS-485 connection differs structurally from RS-422. RS-422 drivers
are backward compatible with RS-485 but at the cost of multipoint capabilities. A
true multipoint operation then requires some structural modifications to be retrofitted
into existing or legacy applications. Furthermore, RS-422 connections are well-known
for their performances (stability, accuracy and robustness) and customers rely on
them for long term product-line in order to keep momentum, legacy and confidence.
Changing the RS-422 interface for a more recent one (RS-485 for instance) is not welcome
and would impact legacy products.
[0017] The same feedback has been received for retrofitting other connection standards with
multipoint capabilities into RS-422 products.
[0018] Consequently, the RS-422 connection has to be kept. It results from this situation
that the technical problem to be solved is how to connect several RS-422 drivers to
the same RS-422 listener over a single RS-422 bus while still being able to receive
and distinguish the datagrams received by the listener.
[0019] An aspect of the invention is a serial connection for connecting a listener to at
least two drivers through a single serial bus, wherein each driver is also connected
to the listener through a common connection carrying an external trigger signal, each
driver comprising:
- a first receiver transmitter of the FIFO type, connected in between the output and
a data transmitter connected to data generation means (20),
- a high impedance output control connected to the output of the first receiver transmitter,
configured to not allow data through unless a command is received from a toggle signal
transmitter,
- a timer connected between the toggle signal transmitter and the high impedance output
control, configured to allow the command from the toggle signal transmitter to go
through after lapsing of a predetermined duration starting as an external trigger
event happens, the external trigger event being based on the external trigger signal,
the predetermined duration being different for each driver,
- a data latch connected between the data transmitter and the first receiver transmitter,
configured to allow the data through upon detecting the external trigger event.
[0020] An external trigger event can be based on a voltage change of the external trigger
signal, in particular a rising edge of the voltage, a falling edge of the voltage
or a preset level of the voltage.
[0021] Each driver can be assigned a unique identification number, the predetermined duration
being determined as the identification number times a preset value.
[0022] The timer can be configured to allow the command from the toggle signal transmitter
to go through after a delay equal to the sum of the predetermined durations has lapsed
since the last external trigger event happened.
[0023] In order to avoid on overlap of two sequential transmissions, the delay between two
consecutive external trigger events can be set to a value at least greater than the
sum of the predetermined durations for all the drivers connected to the serial bus.
[0024] The serial bus can be a twisted pair of conductors.
[0025] The serial bus, drivers and listener can be setup according to the RS-422 standard.
[0026] Another aspect of the invention is an inertial measurement unit comprising a serial
connection as described above, wherein in data generation means are inertial measurement
units comprising gyroscopes and accelerometers.
[0027] The present invention will be better understood from studying the detailed description
of a number of embodiments considered by way of entirely non-limiting examples and
illustrated by the attached drawing in which:
- Figure 1 illustrates the main components of a RS-422 driver,
- Figure 2 illustrates several data generation means connected to a single system through
different RS-422 drivers and their respective buses,
- Figure 3 illustrates the main components of a driver according to the invention,
- Figure 4 illustrates a sequential transmission by three drivers connected to the same
RS-422 bus upon an external trigger event, and
- Figure 5 illustrates a chronogram of the different signals and the resulting datagrams
transmission, in a system with a listener, two drivers according to the invention,
each connected to data generation means, one serial bus and a common connection.
[0028] In order to resolve the technical problem identified above and enabling connecting
several RS-422 drivers to the same listener over the same bus, the different RS-422
drivers have to be disabled during their idle phase (i.e. when not transmitting),
an external trigger has to be set in order to enable transmission of all the RS-422
drivers connected to the bus and an individual delay has to be set so that there is
no overlap of the messages transmitted.
[0029] By disabling the RS-422 driver output when not transmitting, several drivers can
be connected to the same RS-422 bus, similar to the configuration of the RS-485 interface.
Disabling the RS-422 driver output can be achieved by being placed in a high-impedance
mode.
[0030] By introducing an individual delay to each driver and a common trigger-signal to
all drivers, a chain of sequential data transmissions can be obtained.
[0031] Figure 3 illustrates the main components of a driver 101 according to the invention.
[0032] The components in common with a regular RS-422 driver 1 as illustrated by Figure
1 bear the same references.
[0033] A driver 101 according to the invention comprises an output 2a through which data
can be transmitted as messages or datagrams, an input 2b through which messages or
datagrams can be received.
[0034] The output 2a is connected to a first receiver transmitter UART 5, configured as
a transmitter, connected itself to a data transmitter 3.
[0035] The input 2b is connected to a second receiver transmitter UART 6, configured as
a receiver, connected itself to a data receiver 4.
[0036] Both receiver transmitters 5,6 are of the FIFO type, which implies that data received
by the receiver transmitters 5,6 is transmitted in the order they are received. In
other words, the first data to arrive is the first data to be transmitted.
[0037] The driver 101 is connected to data generation means referenced 20 through the data
transmitter 3, the data receiver 4 and the toggle signal transmitter 7.
[0038] In the present application, the data generation means is an IMU (acronym for "inertial
measurement unit").
[0039] The driver 101 according to the invention comprises a high impedance output control
referenced 8 connected to the toggle signal transmitter referenced 7. The high impedance
output control 8 is connected between the output 2a and the first receiver transmitter
5. Upon receiving a command from the data generation means 20, the toggle signal transmitter
7 emits a toggle signal to the high impedance output control 8 so that messages from
the first receiver transmitter 5 are allowed through. When no command is received
from the toggle signal transmitter 7, the high impedance output control 8 does not
allow the messages from the first receiver transmitter 5 to go through.
[0040] In an embodiment, a high impedance output control 8 comprises a three-way switch
connected to the bus, to the driver and to a high impedance dipole. Unless a command
is received from the toggle signal transmitter 7, the three-way switch connects the
driver output to the high impedance, assuring that no signal is transmitted to the
listener. When a command is received, the three-way switch connects the driver output
to the bus allowing a signal to go through.
[0041] The driver 101 according to the invention further comprises a common connection 50
connected to an external trigger input 9, a timer 10 and a data latch 11.
[0042] The timer 10 is connected between the toggle signal transmitter 7 and the high impedance
output control 8.
[0043] The data latch 11 is connected in between the data transmitter 3 and the first receiver
transmitter 5.
[0044] Both the timer 10 and the data latch 11 are connected to the external trigger input
9.
[0045] Upon detecting an external trigger event, the data latch 11 allows the data transmitted
by the data transmitter 3 to go through and the timer 10 allows the command from the
toggle signal transmitter 7 to go through to the high impedance output control 8 after
a predetermined duration t
trans_dly has lapsed since the external trigger event.
[0046] The predetermined duration t
trans_dly is set to a different value for each of the drivers 101 connected to the same bus.
In an embodiment, each driver 101 is given a unique identification number ID comprised
between 0 and the total number of drivers connected to the same bus. The predetermined
duration t
trans_dly is then determined as the identification number ID times a preset value.

[0047] Where
ID is the identification number unique to each driver
BitRate is the receiver transmitter bit-rate in bits/s
CharLength is the character length in bits/byte
DatagramLength is the length of the transmitted datagram
MinDBD is the minimum delay between datagrams.
[0048] Suitable predetermined durations allow for sequential transmission of messages from
each driver connected to the same RS-422 bus upon a single external trigger event.
Figure 4 illustrates such a sequential transmission by three drivers 101a,101b,101c
connected to the same RS-422 bus 40 upon an external trigger event associated with
the external trigger signal transmitted by a listener 30 over a common connection
50.
[0049] Figure 5 illustrates a chronogram of different signals and the resulting datagrams
transmission, in a system with a listener, two drivers each connected to data generation
means, one serial bus and a common connection.
[0050] The first part of the chronogram illustrates the changes of the external trigger
signal versus time.
[0051] The second part of the chronogram concerns the first driver 101a bearing an identification
number ID equal to 0 and illustrates the change versus time of the data labelled DATA
TX received from the first data generation means 20a within the first driver 101a
and the change versus time of the data labelled TX let through for transmission based
depending of the external trigger signal.
[0052] The third part of the chronogram concerns the second driver 101b bearing an identification
number ID equal to 1 and illustrates the change versus time of the data labelled DATA
TX received from the second data generation means 20b within the second driver 101b
and the change versus time of the data labelled TX let through for transmission depending
of the external trigger signal.
[0053] The fourth part of the chronogram illustrates the data transmitted on the same bus
by the first driver 101a and the second driver 101b.
[0054] Each driver 101a,101b is configured to be triggered in transmission by an external
trigger event. Vertical dashed lines identify the external trigger events. In the
embodiment illustrated by Figure 5, an external trigger event happens with each falling
edge of the external trigger signal. Other conditions can be chosen, such as each
rising edge of the external trigger signal or a level of the external trigger signal.
[0055] Upon an external trigger event, the data latch 11 is triggered to allow the current
data DATA TX transmitted by the data transmitter 3 to go through. The current data
DATA TX allowed to go through the data latch 11 is then received by the first receiver
transmitter 5, which immediately starts transmitting datagrams corresponding to the
data received.
[0056] Upon an external trigger event, the timer 10 is also triggered so that the command
transmitted by the toggle signal transmitter 7 allowed through after the predetermined
duration t
trans_dly has lapsed. Counting the predetermined duration t
trans_dly is started as the external trigger event happens.
[0057] The toggle signal that is let through, is then received by the high impedance output
control 8 which toggles a switch within the high impedance output control 8 so that
datagrams transmitted by the first receiver transmitter 5 are allowed to go through.
[0058] It is to be noted that for the driver being affected the ID=0, the predetermined
duration t
trans_dly is equal to zero per application of equation Eq. 1. Consequently, no predetermined
duration t
trans_dly appears in the second part of the chronogram as illustrated on figure 5.
[0059] However, a predetermined duration t
trans_dly is illustrated in the third part of the chronogram as illustrated on figure 5 pertaining
to the driver being affected the ID=1. Indeed, for such an ID, the predetermined duration
t
trans_dly is different from zero per application of equation Eq. 1
[0060] It is to be noted that, the predetermined duration t
trans_dly steadily increases as the identification number ID increases since the identification
number ID contributes to the predetermined duration t
trans_dly as a first order contribution. Consequently, each driver emits its datagram sequentially
one after the other as their ID increases. This allows the listener to identify each
datagram with the ID affected to the driver it was transmitted by. The ID can also
be transmitted as part of the datagram from each driver.
[0061] In order to avoid on overlap of two sequential transmissions, the delay between two
consecutive external trigger events is to be set to a value at least greater than
the sum of the predetermined durations over all the drivers connected to the serial
bus.
[0062] The receiver transmitters 5,6 of the driver 101 according to the invention are the
same that are in a driver 1 according to the RS-422 standard. The driver 101, when
transmitting, is following the RS-422 standard and is fully compatible both with RS-422
buses and listeners.
[0063] However, due to the added components, multiple drivers can sequentially emit on a
single bus so that a RS-422 listener can read the data transmitted. A processing unit
linked to the RS-422 listener can emit the external trigger signal and then label
each data received in order to sort out which data is sent by which driver based on
their identification number ID.
[0064] The driver 101 according to the invention then solves the technical problem identified
in introduction.
Reference list:
[0065]
1,1a,1b,1c: driver according to the RS-422 standard
2a: output
2b: input
3: data transmitter
4: data receiver
5: first receiver transmitter
6: second receiver transmitter
7: toggle signal transmitter
8: high impedance output control 8
9: external trigger input
10: timer
11: data latch
20,20a,20b,20c: data generation means
30: listener according to the RS-422 standard
40, 40a,40b,40c: serial bus according to the RS-422 standard
50: common connection
101,101a,101b,101c: driver according to the invention
1. Serial connection for connecting a listener (30) to at least two drivers (101) through
a single serial bus (40), wherein each driver (101) is also connected to the listener
(30) through a common connection (50) carrying an external trigger signal, each driver
(101) comprising:
• a first receiver transmitter (5) of the FIFO type, connected in between the output
(2a) and a data transmitter (3) connected to data generation means (20),
• a high impedance output control (8) connected to the output of the first receiver
transmitter (5), configured to not allow data through unless a command is received
from a toggle signal transmitter (7),
• a timer (10) connected between the toggle signal transmitter (7) and the high impedance
output control (8), configured to allow the command from the toggle signal transmitter
(7) to go through after lapsing of a predetermined duration starting as an external
trigger event happens, the external trigger event being based on the external trigger
signal, the predetermined duration being different for each driver.
• a data latch (11) connected between the data transmitter (3) and the first receiver
transmitter (5), configured to allow the data through upon detecting the external
trigger event.
2. Serial connection according to claim 1, wherein an external trigger event is based
on a voltage change of the external trigger signal, in particular a rising edge of
the voltage, a falling edge of the voltage or a preset level of the voltage.
3. Serial connection according to any of claims 1 or 2, wherein each driver (101) is
assigned a unique identification number, the predetermined duration being determined
as the identification number times a preset value.
4. Serial connection according to any of claims 1 to 3, wherein the timer (10) is configured
to allow the command from the toggle signal transmitter (7) to go through after a
delay equal to the sum of the predetermined durations has lapsed since the last external
trigger event happened.
5. Serial connection according to any of claims 1 to 4, wherein, in order to avoid on
overlap of two sequential transmissions, the delay between two consecutive external
trigger events is to be set to a value at least greater than the sum of the predetermined
durations for all the drivers (101) connected to the serial bus (40).
6. Serial connection according to claim 1 to 5, wherein the serial bus (40) is a twisted
pair of conductors.
7. Serial connection according to any of claims 1 to 6, wherein the serial bus (40),
drivers (101) and listener (30) are setup according to the RS-422 standard.
8. Inertial measurement unit comprising a serial connection as claimed in any of the
claims 1 to 7, wherein in data generation means (20) are inertial measurement units
comprising gyroscopes and accelerometers.