EP0944974B1 - Asynchronous full duplex communications over a single channel - Google Patents

Asynchronous full duplex communications over a single channel Download PDF

Info

Publication number
EP0944974B1
EP0944974B1 EP97948157A EP97948157A EP0944974B1 EP 0944974 B1 EP0944974 B1 EP 0944974B1 EP 97948157 A EP97948157 A EP 97948157A EP 97948157 A EP97948157 A EP 97948157A EP 0944974 B1 EP0944974 B1 EP 0944974B1
Authority
EP
European Patent Office
Prior art keywords
transmit
receive
transceiver
bit period
transceivers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
EP97948157A
Other languages
German (de)
French (fr)
Other versions
EP0944974A2 (en
Inventor
Carlos Eduardo Vidales
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ericsson Inc
Original Assignee
Ericsson Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ericsson Inc filed Critical Ericsson Inc
Publication of EP0944974A2 publication Critical patent/EP0944974A2/en
Application granted granted Critical
Publication of EP0944974B1 publication Critical patent/EP0944974B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/427Loop networks with decentralised control
    • H04L12/433Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/11Arrangements specific to free-space transmission, i.e. transmission through air or vacuum
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • H04L5/1469Two-way operation using the same type of signal, i.e. duplex using time-sharing
    • H04L5/1476Two-way operation using the same type of signal, i.e. duplex using time-sharing operating bitwise

Definitions

  • the present invention relates to the transmission of data in a communications system and more particularly to a method to implement full duplex asynchronous serial data communication links through a single channel or physical data pipe where only half duplex data exchanges are otherwise possible.
  • a common way to asynchronously transmit data over serial links is by impressing a stream of "bits" onto a medium.
  • the set of bits are transmitted least significant bit (LSB) first and is preceded by a start bit.
  • a '1' is represented by a mark or positive level and a '0' is represented by a space.
  • the serial stream is recovered with the help of a pacing clock at the receiver end.
  • the marks and spaces occupy the entire bit period and separate paths are required for full duplex data exchanges.
  • the serial bitstream may appear as illustrated in Figure 2.
  • a '1' is represented by the absence of light and a '0' by a short light pulse falling within a given time window.
  • a clock at the receiver is used to recover and stretch the bits so that the recovered bitstream appears like the bitstream illustrated in Figure 1.
  • the transceiver since the transmit and receive paths are the same medium, i.e., free space, the transceiver typically shuts down its receiver when transmitting full blocks of bits and refrains from transmitting when receiving blocks of bits.
  • the system is half duplex since the data communication devices must take turns to transmit through the medium. Bandwidth used by one device is unavailable to the other. It would thus be advantageous to provide a method and a system for full duplex communication where only half duplex communication was originally possible.
  • U.S. Patent No. 3,721,763 illustrates two separate unipolar transmitters which transmit pulses of the same polarity are utilized with a two-wire connecting system. Inverting transformers are interposed between the transmitter and the receiver at each end so that the received pulses are inverted for recognition and to avoid interference with positive pulses being simultaneously transmitted at the same end.
  • a ground connection is also shown and can be inferred as being a three-wire connection between the transmitter and receiver and this ground connection introduces the possibility of ground loop interference which is most undesirable.
  • U.S. Patent No. 4,326,287 discloses placing a phase locked loop at each receiver to extract the clocking information from the transmitted signals for synchronizing the return transmission to avoid overlap of pulses and for determining whether a received bit is a 1 or a 0.
  • phase locked loops are relatively complex and expensive. The phase locked loop is usually timed to a particular frequency and requires retuning when changing baud rates.
  • Still other patents such as Great Britain Patent No. GB1401436, utilize full duplex asynchronous communication between two transceivers of transmit and receive bit streams.
  • these systems use pulse transmission for synchronization purposes, which require a separate pulse signal, as well as phase locked loops, for synchronization.
  • a method that enables asynchronous full duplex communication within the same physical medium is disclosed.
  • half of the baud period is assigned for transmit pulses while the other half of the baud period is assigned to receive pulses.
  • a method for providing full duplex asynchronous communication between two transceivers in a communication system is disclosed. First each bit period is divided in half creating a transmit half bit period and a receive half bit period wherein each transceiver can transmit data during the transmit half bit periods and can receive data during the receive half bit periods. The bit periods of the two transceivers are synchronized so that the transmit half bit periods of each transceiver are aligned with the receive half bit periods of the other transceiver.
  • a communication system which allows full duplex asynchronous communication between two devices.
  • each device has a transceiver and a communication link is provided between the two devices over which data is transmitted in bitstreams which have a bit rate.
  • Means is provided for dividing each bit period in half to create a transmit half bit period and a receive half bit period, wherein each transceiver can transmit during the transmit half bit period and can receive during the receive half bit period.
  • Synchronizing means is provided to synchronize the bit periods of the two transceivers so that the transmit half bit periods of each transceiver is aligned with the receive half bit periods of the other transceiver.
  • the full duplex method described below effectively doubles the data throughput that would otherwise be obtained using a half duplex technique. It will be understood by one skilled in the art that the technique is useful in a variety of applications wherein the transmission medium can be free space, optical fiber, or wired serial links but is not limited thereto.
  • Figure 3 shows the relative timing between transmitted and received bitstreams as seen by either of the communicating devices (transceivers).
  • Figure 3 illustrates a device which is transmitting the bitstream "010001" and receiving the bitstream "00010".
  • the bit period is divided into two halves: one being used for transmission and the other being used for reception.
  • the device is allowed to transmit during a transmit window (W Tx ) whose width is one-half of the bit period and the device looks to receive bits during a receive window (W Rx ) which has a width of half of the bit period.
  • the present invention provides the mechanism to properly synchronize the transmission of bits by either device.
  • the proposed mechanism is a state machine which is implemented by a processor in at least one of the transceivers (Universal Asynchronous Receiver/Transmitter) wherein the state machine is paced by a clock at least eight times faster than the baud or bit rate of the transmission.
  • the present invention will now be described wherein the state machine is paced by a clock which is eight times faster than the baud rate, but the present invention is not limited thereto.
  • the bit period can be divided into eight segments, 4 segments in the transmit window and 4 segments in the receive window.
  • the width of transmitted pulses are expected to be more than one period and less than three periods of the pacing clock. As a result, the transmitted pulse will remain within the transmit window and the received pulse will remain within the receive window.
  • the state machine maintains synchronization by observing the received bitstream and advancing or delaying the transmission of its own bit depending on the exact moment when the leading edge of the received bit is detected.
  • the preferred embodiment of the invention is a state machine built within at least one of the UARTs.
  • the state machine's diagram is shown in Figure 4.
  • the diagram describes a state machine that assumes a pacing clock which is eight times faster that the nominal baud rate (bits-per-second) of the transmission.
  • the diagram can easily be extended to describe a state machine which uses a pacing clock whose speed is any number of times higher than eight times the nominal baud rate. All state machine states may occur within the same baud period.
  • the state machine is paced by the transceiver's own clock, with the machine's state changing depending on the machine's current state and events derived from two separate inputs, i.e., whether a SYNC command has been issued by the UART's master controller and whether the receiver has detected a '0' bit or a '1' bit.
  • the events are listed and described in the following table: Event Description Rx State E0 No Sync command & receiver detected a '0' bit 0 E1 No Sync command & receiver detected a '1' bit 1 EX Don't care about inputs.
  • the state machine with a pacing clock eight times the baud rate has 11 possible states described below: State Description Responds to these events S0 First period within Tx window. Transceiver may not transmit. EX S1 Second period within Tx window. Transceiver may transmit. EX S2 Third period within Tx window. Transceiver may not transmit. EX S3 Four period within Tx window. Transceiver may not transmit. Begin looking for Rx pulse at end of period. E0, E1 S4 First period within Rx window. Look for Rx pulse. E0, E1 S50 Second period within Rx window. Rx pulse not yet detected. Keep looking for Rx pulse. E0, E1 S51 Second period within Rx window. Rx pulse previously detected.
  • EX S60 Third period within Rx window. Rx pulse not yet detected. Keep looking for Rx pulse. However, Sync command has precedence. E0, E1, ES S61 Third period within Rx window. Rx pulse previously detected. EX S70 Fourth period within Rx window. Rx pulse not yet detected. Keep looking for Rx pulse. E0, E1 S71 Fourth period within Rx window. Rx pulse previously detected. EX
  • the state machine examines its inputs during each state's period and changes state at the next pacing clock signal.
  • the state that the machine assumes is based both on its current state and the event detected, as shown in Figure 4.
  • the machine ignores its inputs (event Ex) and simply proceeds to the next state as the pacing clock tick occurs. If there is a bit to transmit, the UART that implements the machine may transmit during state S1. The transceiver may continue transmitting during state S2, but the transceiver can not begin transmitting during state S2. The transceiver may not transmit during any other states.
  • states Sx1 a pulse has already been detected and the machine may be assumed to have successfully synchronized with its peer. If a pulse is received by the end of period S3, the machine skips to S51 to re-synchronize with its peer (i.e., a state is skipped).
  • State S60 is a special case in that it is the only time when a SYNC command is acted upon.
  • the UART which is communicating first becomes active At this time, it is possible that instead of having its own transmit windows in phase with the peer's receive window, that each UART's transmit window is perfectly in phase with the other's transmit window. Since a UART is expected to ignore received inputs during its transmit window, an upper layer protocol must supervise the UART's operation to initially synchronize their transmissions.
  • the upper layer protocol can initiate a conversation by, for example, commanding its own transceiver to produce a BREAK.
  • a BREAK causes the UART to transmit a series of pulses, one per baud period, during the baud's period transmit window.
  • the upper layer protocol of the peer UART if the UART is able to detect the BREAK, is expected to acknowledge the BREAK by means prescribed for the particular protocol (i.e., start of normal communications or another BREAK). If the UART that initiated the conversation does not receive a response, its upper layer protocol may assume that the Tx/Rx windows are not properly synchronized.
  • the upper layer protocol issues a SYNC command to its UART and re-transmits the BREAK.
  • the UART responds to the SYNC command when its state machine enters state S60, at which time it forcibly jumps to state S50, in essence moving its own Rx window two baud periods (90 degrees) further in time. If receive pulses are at least one pacing clock period wide as proposed above, the peer UARTs will synchronize with each other within one baud period. Synchronization can also be obtained by transmitting almost any string of bits provided the peer device responds. The state machine ensures synchronization as long as 2 or more consecutive bits are detected.
  • the BREAK proposed to synchronize the receive and transmit windows can also be used to perform an autobaud function, which is not feasible in a normal asynchronous environment.
  • a BREAK results in a logic '0' level being maintained by the transmitter to continuously stimulate the receiving UART.
  • a BREAK results in a stream of pulses equally spaced in time, since a BREAK contains no stop bits.
  • the receiving UART can then adjust its baud rate, in a known manner, to the stable rate detected from the incoming stream.
  • FIG. 5 shows a single ended system, such as could be implemented with RS-232 transceivers.
  • a transceiver 50 has a transmitter 51 and a receiver 52 which are connected via a link to the transmitter 54 and the receiver 55 of the transceiver 53.
  • at least one of the transceivers 50 or 53 is equipped with means for synchronizing the transmit/receive windows as described above.
  • the transmitter requires that the UART disables its output during its own receive window, something not normally done in RS-232 communications.
  • FIG. 6 shows a differential system such as could be implemented with RS-422 transceivers.
  • a transceiver 60 has a transmitter 61 and a receiver 62 which are connected via a link to the transmitter 64 and the receiver 65 of the transceiver 63.
  • at least one of the transceivers 60 or 63 is equipped with means for synchronizing the transmit/receive windows as described above. Since these devices are normally used in multi-drop configurations, the transmitters are likely to include an input to disable their outputs during the UART's receive window.
  • FIG. 7 shows an infrared system such as could be assembled using infrared components.
  • two transceiver 72 and 74 are aligned to face each other but it will be understood by one skilled in the art that the transceiver can be placed in other configurations so long as the light from each transceiver is directed to the other transceiver.
  • Each transceiver has an infrared transmitter 76 and 78, respectively, and an infrared receiver 80 and 82, respectively.
  • at least one of the transceivers is equipped with means for synchronizing the transmit/receive windows as described above.
  • An opaque barrier 84 is placed between each transmitter and its own receiver.
  • the opaque barrier 84 is required because an infrared transmitter in the proximity of its own receiver will saturate its receiver when transmitting. The intensity of the light emitted is so great that the system is required to implement a "turn around time" to allow a receiver to fall out of saturation before being required to receive information.
  • the infrared components are normally built without an opaque barrier between transmitter and receiver elements, to lower the transceiver's manufacturing cost. It may appear at first that simply placing a barrier between the elements enables the infrared components to operate in the full duplex mode, but this is not the case because objects near or in the path of the transmitted light beam may reflect the light back to the receiver.
  • the reflected light is relatively weak and unlikely to saturate the receiver, however it may still be strong enough to generate a received signal at the UART input.
  • the multiplexing of the transmit/receive windows within the baud period was not implemented as prdposed herein, full duplex communications would still not be possible in an infrared system.

Abstract

A method and apparatus for providing full duplex asynchronous communication between two transceivers in a communication system is disclosed. First each bit period is divided in half creating a transmit half bit period and a receive half bit period wherein each transceiver can transmit data during the transmit half bit periods and can receive data during the receive half bit periods. The bit periods of the two transceivers are synchronized so that the transmit half bit periods of each transceiver are aligned with the receive half bit periods of the other transceiver.

Description

    FIELD OF THE INVENTION
  • The present invention relates to the transmission of data in a communications system and more particularly to a method to implement full duplex asynchronous serial data communication links through a single channel or physical data pipe where only half duplex data exchanges are otherwise possible.
  • BACKGROUND OF THE INVENTION
  • A common way to asynchronously transmit data over serial links is by impressing a stream of "bits" onto a medium. A character like the letter "A", which is represented by the set of bits "01000001" in the ASCII table, is transmitted as shown in Figure 1. The set of bits are transmitted least significant bit (LSB) first and is preceded by a start bit. A '1' is represented by a mark or positive level and a '0' is represented by a space. The serial stream is recovered with the help of a pacing clock at the receiver end. The marks and spaces occupy the entire bit period and separate paths are required for full duplex data exchanges.
  • When the medium is free space and light pulses are used to transmit data, the serial bitstream may appear as illustrated in Figure 2. In this system, a '1' is represented by the absence of light and a '0' by a short light pulse falling within a given time window. As before, a clock at the receiver is used to recover and stretch the bits so that the recovered bitstream appears like the bitstream illustrated in Figure 1. For the case illustrated in Figure 2, since the transmit and receive paths are the same medium, i.e., free space, the transceiver typically shuts down its receiver when transmitting full blocks of bits and refrains from transmitting when receiving blocks of bits. Thus, the system is half duplex since the data communication devices must take turns to transmit through the medium. Bandwidth used by one device is unavailable to the other. It would thus be advantageous to provide a method and a system for full duplex communication where only half duplex communication was originally possible.
  • Simultaneous bi-directional communication systems are known in the art. U.S. Patent No. 3,721,763 illustrates two separate unipolar transmitters which transmit pulses of the same polarity are utilized with a two-wire connecting system. Inverting transformers are interposed between the transmitter and the receiver at each end so that the received pulses are inverted for recognition and to avoid interference with positive pulses being simultaneously transmitted at the same end. However, a ground connection is also shown and can be inferred as being a three-wire connection between the transmitter and receiver and this ground connection introduces the possibility of ground loop interference which is most undesirable.
  • Other illustrative patents showing two-wire simultaneous bi-directional communication are U.S. Patent Nos. 4,012,590, 4,112,253, and 4,117,277. These patents show alternative approaches to the basic problem but utilize other communication techniques in which the current or voltage levels are compared or differentiated or in which special encoding and decoding operations are conducted to accommodate the bi-directional simultaneous communication.
  • One of the problems with these systems is the need to provide proper synchronization between transmitting and receiving. U.S. Patent No. 4,326,287 discloses placing a phase locked loop at each receiver to extract the clocking information from the transmitted signals for synchronizing the return transmission to avoid overlap of pulses and for determining whether a received bit is a 1 or a 0. One problem with phase locked loops is they are relatively complex and expensive. The phase locked loop is usually timed to a particular frequency and requires retuning when changing baud rates.
  • Still other patents, such as Great Britain Patent No. GB1401436, utilize full duplex asynchronous communication between two transceivers of transmit and receive bit streams. However, these systems use pulse transmission for synchronization purposes, which require a separate pulse signal, as well as phase locked loops, for synchronization.
  • SUMMARY OF THE INVENTION
  • It is an object of the present invention to provide an asynchronous full duplex communication which maintains synchronization between the transmit window and the receive window which does not require the use of a phase lock loop to synchronize the receiver frequency to the frequency of the transmitter.
  • This object is achieved by a method according to Claim 1 and a system according to Claims 5 and 13.
  • According to one embodiment of the present invention, a method that enables asynchronous full duplex communication within the same physical medium is disclosed. According to one embodiment of the present invention, half of the baud period is assigned for transmit pulses while the other half of the baud period is assigned to receive pulses.
  • According to one embodiment of the present invention, a method for providing full duplex asynchronous communication between two transceivers in a communication system is disclosed. First each bit period is divided in half creating a transmit half bit period and a receive half bit period wherein each transceiver can transmit data during the transmit half bit periods and can receive data during the receive half bit periods. The bit periods of the two transceivers are synchronized so that the transmit half bit periods of each transceiver are aligned with the receive half bit periods of the other transceiver.
  • According to another embodiment of the present invention, a communication system which allows full duplex asynchronous communication between two devices is disclosed. In the system, each device has a transceiver and a communication link is provided between the two devices over which data is transmitted in bitstreams which have a bit rate. Means is provided for dividing each bit period in half to create a transmit half bit period and a receive half bit period, wherein each transceiver can transmit during the transmit half bit period and can receive during the receive half bit period. Synchronizing means is provided to synchronize the bit periods of the two transceivers so that the transmit half bit periods of each transceiver is aligned with the receive half bit periods of the other transceiver.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • These and other features and advantages of the invention will be readily apparent to one of ordinary skill in the art from the following written description, used in conjunction with the drawings, in which:
  • Figure 1 illustrates an asynchronous serial character transmission;
  • Figure 2 illustrates an asynchronous infrared serial stream;
  • Figure 3 illustrates transmit/receive bit interleaving according to one embodiment of the present invention;
  • Figure 4 illustrates a state machine according to one embodiment of the present invention;
  • Figure 5 illustrates a single ended system according to one embodiment of the present invention;
  • Figure 6 illustrates a differential system according to one embodiment of the present invention; and
  • Figure 7 illustrates an infrared system according to one embodiment of the present invention.
  • DETAILED DESCRIPTION
  • The full duplex method described below effectively doubles the data throughput that would otherwise be obtained using a half duplex technique. It will be understood by one skilled in the art that the technique is useful in a variety of applications wherein the transmission medium can be free space, optical fiber, or wired serial links but is not limited thereto.
  • The inventive full duplex method builds on the idea of representing bits as pulses, and takes advantage of the time window between transmitted bits and received bits. Figure 3 shows the relative timing between transmitted and received bitstreams as seen by either of the communicating devices (transceivers). Figure 3 illustrates a device which is transmitting the bitstream "010001..." and receiving the bitstream "00010...". According to the present invention, the bit period is divided into two halves: one being used for transmission and the other being used for reception. Thus, the device is allowed to transmit during a transmit window (WTx) whose width is one-half of the bit period and the device looks to receive bits during a receive window (WRx) which has a width of half of the bit period.
  • Since each data communication device runs on a different clock and since these clocks can be expected to run at slightly different speeds, the phase relationship between transmit pulses and receive pulses cannot be expected to be maintained, or even attained unless a suitable mechanism to synchronize bit generation is provided. The present invention provides the mechanism to properly synchronize the transmission of bits by either device. The proposed mechanism is a state machine which is implemented by a processor in at least one of the transceivers (Universal Asynchronous Receiver/Transmitter) wherein the state machine is paced by a clock at least eight times faster than the baud or bit rate of the transmission. The present invention will now be described wherein the state machine is paced by a clock which is eight times faster than the baud rate, but the present invention is not limited thereto. With a clock eight times faster than the baud rate, the bit period can be divided into eight segments, 4 segments in the transmit window and 4 segments in the receive window. The width of transmitted pulses are expected to be more than one period and less than three periods of the pacing clock. As a result, the transmitted pulse will remain within the transmit window and the received pulse will remain within the receive window. The state machine maintains synchronization by observing the received bitstream and advancing or delaying the transmission of its own bit depending on the exact moment when the leading edge of the received bit is detected.
  • The preferred embodiment of the invention is a state machine built within at least one of the UARTs. The state machine's diagram is shown in Figure 4. The diagram describes a state machine that assumes a pacing clock which is eight times faster that the nominal baud rate (bits-per-second) of the transmission. However, the diagram can easily be extended to describe a state machine which uses a pacing clock whose speed is any number of times higher than eight times the nominal baud rate. All state machine states may occur within the same baud period.
  • The state machine is paced by the transceiver's own clock, with the machine's state changing depending on the machine's current state and events derived from two separate inputs, i.e., whether a SYNC command has been issued by the UART's master controller and whether the receiver has detected a '0' bit or a '1' bit. The events are listed and described in the following table:
    Event Description Rx State
    E0 No Sync command & receiver detected a '0' bit 0
    E1 No Sync command & receiver detected a '1' bit 1
    EX Don't care about inputs. X
    ES Sync Command issued & ignore inputs. X
  • The state machine with a pacing clock eight times the baud rate has 11 possible states described below:
    State Description Responds to these events
    S0 First period within Tx window. Transceiver may not transmit. EX
    S1 Second period within Tx window. Transceiver may transmit. EX
    S2 Third period within Tx window. Transceiver may not transmit. EX
    S3 Four period within Tx window. Transceiver may not transmit. Begin looking for Rx pulse at end of period. E0, E1
    S4 First period within Rx window. Look for Rx pulse. E0, E1
    S50 Second period within Rx window. Rx pulse not yet detected. Keep looking for Rx pulse. E0, E1
    S51 Second period within Rx window. Rx pulse previously detected. EX
    S60 Third period within Rx window. Rx pulse not yet detected. Keep looking for Rx pulse. However, Sync command has precedence. E0, E1, ES
    S61 Third period within Rx window. Rx pulse previously detected. EX
    S70 Fourth period within Rx window. Rx pulse not yet detected. Keep looking for Rx pulse. E0, E1
    S71 Fourth period within Rx window. Rx pulse previously detected. EX
  • The state machine examines its inputs during each state's period and changes state at the next pacing clock signal. The state that the machine assumes is based both on its current state and the event detected, as shown in Figure 4.
  • As illustrated in Figure 4, during states S0, S1 and S2 the machine ignores its inputs (event Ex) and simply proceeds to the next state as the pacing clock tick occurs. If there is a bit to transmit, the UART that implements the machine may transmit during state S1. The transceiver may continue transmitting during state S2, but the transceiver can not begin transmitting during state S2. The transceiver may not transmit during any other states. During states Sx1, a pulse has already been detected and the machine may be assumed to have successfully synchronized with its peer. If a pulse is received by the end of period S3, the machine skips to S51 to re-synchronize with its peer (i.e., a state is skipped). When the UART peers are synchronized, reception of a pulse by the end of period S4 is expected. If a pulse is detected during any Sx0 state, the machine does not advance; instead it moves to state S51 to re-synchronize its receive window (which is assumed to lag) with its peer's transmit window.
  • When the UARTs transmit and receive time windows are properly synchronized but their pacing clocks are, as expected, slightly different, given a long enough period of time, their Tx/Rx windows will drift in time by one pacing clock period (or 12.5% of the baud period in this example). If their pacing clocks are off by 0.01%, a typical value, they will drift a pacing clock period in 1250 seconds or approximately 20 minutes. However, under normal circumstances, the state machine of the UART paced by the faster clock will skip from state S3 (or S50) to S51 once every 20 minutes causing the state machine to re-synchronize with its peer. As a result, the UARTs will easily be able to maintain an uninterrupted full duplex conversation.
  • State S60 is a special case in that it is the only time when a SYNC command is acted upon. Consider the possible initial condition when the UART which is communicating first becomes active. At this time, it is possible that instead of having its own transmit windows in phase with the peer's receive window, that each UART's transmit window is perfectly in phase with the other's transmit window. Since a UART is expected to ignore received inputs during its transmit window, an upper layer protocol must supervise the UART's operation to initially synchronize their transmissions.
  • If not already in sync, the upper layer protocol can initiate a conversation by, for example, commanding its own transceiver to produce a BREAK. A BREAK causes the UART to transmit a series of pulses, one per baud period, during the baud's period transmit window. The upper layer protocol of the peer UART, if the UART is able to detect the BREAK, is expected to acknowledge the BREAK by means prescribed for the particular protocol (i.e., start of normal communications or another BREAK). If the UART that initiated the conversation does not receive a response, its upper layer protocol may assume that the Tx/Rx windows are not properly synchronized. As a result, the upper layer protocol issues a SYNC command to its UART and re-transmits the BREAK. The UART responds to the SYNC command when its state machine enters state S60, at which time it forcibly jumps to state S50, in essence moving its own Rx window two baud periods (90 degrees) further in time. If receive pulses are at least one pacing clock period wide as proposed above, the peer UARTs will synchronize with each other within one baud period. Synchronization can also be obtained by transmitting almost any string of bits provided the peer device responds. The state machine ensures synchronization as long as 2 or more consecutive bits are detected.
  • The BREAK proposed to synchronize the receive and transmit windows can also be used to perform an autobaud function, which is not feasible in a normal asynchronous environment. In a normal environment, a BREAK results in a logic '0' level being maintained by the transmitter to continuously stimulate the receiving UART. However, using the pulsed, reversed logic proposed above, a BREAK results in a stream of pulses equally spaced in time, since a BREAK contains no stop bits. The receiving UART can then adjust its baud rate, in a known manner, to the stable rate detected from the incoming stream.
  • The following figures illustrate the type of asynchronous transceiver systems where the invention could be used. In each of the cases, the state machine required to synchronize the Tx/Rx windows is contained within the UARTs.
  • Figure 5 shows a single ended system, such as could be implemented with RS-232 transceivers. In Figure 5, a transceiver 50 has a transmitter 51 and a receiver 52 which are connected via a link to the transmitter 54 and the receiver 55 of the transceiver 53. In accordance with the present invention, at least one of the transceivers 50 or 53 is equipped with means for synchronizing the transmit/receive windows as described above. According to the present invention, the transmitter requires that the UART disables its output during its own receive window, something not normally done in RS-232 communications.
  • Figure 6 shows a differential system such as could be implemented with RS-422 transceivers. In Figure 6, a transceiver 60 has a transmitter 61 and a receiver 62 which are connected via a link to the transmitter 64 and the receiver 65 of the transceiver 63. In accordance with the present invention, at least one of the transceivers 60 or 63 is equipped with means for synchronizing the transmit/receive windows as described above. Since these devices are normally used in multi-drop configurations, the transmitters are likely to include an input to disable their outputs during the UART's receive window.
  • Figure 7 shows an infrared system such as could be assembled using infrared components. In Figure 7, two transceiver 72 and 74 are aligned to face each other but it will be understood by one skilled in the art that the transceiver can be placed in other configurations so long as the light from each transceiver is directed to the other transceiver. Each transceiver has an infrared transmitter 76 and 78, respectively, and an infrared receiver 80 and 82, respectively. Furthermore, at least one of the transceivers is equipped with means for synchronizing the transmit/receive windows as described above. An opaque barrier 84 is placed between each transmitter and its own receiver. The opaque barrier 84 is required because an infrared transmitter in the proximity of its own receiver will saturate its receiver when transmitting. The intensity of the light emitted is so great that the system is required to implement a "turn around time" to allow a receiver to fall out of saturation before being required to receive information. The infrared components are normally built without an opaque barrier between transmitter and receiver elements, to lower the transceiver's manufacturing cost. It may appear at first that simply placing a barrier between the elements enables the infrared components to operate in the full duplex mode, but this is not the case because objects near or in the path of the transmitted light beam may reflect the light back to the receiver. The reflected light is relatively weak and unlikely to saturate the receiver, however it may still be strong enough to generate a received signal at the UART input. Thus, if the multiplexing of the transmit/receive windows within the baud period was not implemented as prdposed herein, full duplex communications would still not be possible in an infrared system.
  • It will be appreciated by those of ordinary skill in the art that the present invention can be embodied in other specific forms. The presently disclosed embodiments are therefore considered in all respects to be illustrative and not restrictive. The scope of the invention is indicated by the appended claims.

Claims (18)

  1. A method for providing full duplex asynchronous communication between two transceivers (50, 53 or 60, 63) of transmit and receive bitstreams having baud rates with corresponding bit periods, comprising the steps of:
    dividing each bit period in half creating a transmit half bit period and a receive half bit period, wherein during each bit period, each transceiver (50, 53, 60, 63) can transmit data-during the transmit half bit period and can receive data during the receive half bit period;
    synchronizing the bit periods of the transmit and receive bitstreams so that the transmit half bit periods of one transceiver (50, 53 or 60, 63) of the two transceivers (50, 53 or 60, 63) are aligned with the receive half bit periods of the other transceiver (50, 53 or 60, 63), being characterized in that a synchronization is maintained by advancing or delaying the transmission of a bit depending on when an edge transition of a received bit is detected at at least one of the transceivers (50, 53, 60, 63).
  2. A method according to claim 1, wherein an initial synchronization between the two transceivers (50, 53 or 60, 63) is obtained by having an initiating transceiver (50, 53 or 60, 63) issue a break command, wherein if a response to the break command is not received, the initiating transceiver (50, 53, or 60, 63) shifts a transmit window forward.
  3. A method according to claim 1, wherein the baud rates of the two transceivers (50, 53 or 60, 63) can be initially determined by issuing a break command and adjusting the baud rate of the transmit bitstream to the baud rate detected from the receive bitstream.
  4. A method according to claim 1, wherein an initial synchronization between the two transceivers (50, 53 or 60, 63) is obtained by transmitting a stream of bits from one of the two transceivers (50, 53 or 60, 63) to the other transceiver (50, 53 or 60, 63) so long as the other transceiver (50, 53 or 60, 63) responds to the stream of bits.
  5. A communication system which allows full duplex asynchronous communication between two devices of transmit and receive bitstreams having baud rates with corresponding bit periods, comprising:
    a transceiver (50, 53, 60, 63) located in each of said devices;
    a communication link between said two devices over which the transmit and receive bitstream are communicated;
    means for dividing each bit period in half to create a transmit half bit period and a receive half bit period, wherein each transceiver (50, 53, 60, 63) can transmit during the transmit half bit period and can receive during the receive half bit period;
    means for synchronizing the bit periods so that during each bit period, the transmit half bit period of one of the two transceivers (50, 53 or 60, 63) is aligned with the receive half bit period of the other transceiver (50, 53 or 60, 63), characterized in that said synchronizing means is adapted to maintain synchronization by advancing or delaying the transmission of a bit depending on when an edge transition of a received bit is detected at at least one of the transceivers (50, 53, 60, 63).
  6. A communication system according to claim 5, wherein said synchronizing means is a processor which is adapted to implement a state machine (Fig. 4).
  7. A communication system according to claim 6, further comprising means for providing a pacing clock for the state machine, the pacing clock being a predefined number of times faster than the baud rate of the transmit bitstream.
  8. A communication system according to claim 5, further comprising an initiating device adapted to issue a break command, said break command providing an initial synchronization between the two devices, wherein if a response to the break command is not received, the initiating device is adapted to issue a synchronization command to its own transceiver (50, 53, 60, 63), wherein said synchronization command is adapted to cause the transceiver (50, 53, 60, 63) to shift a transmit window forward.
  9. A communication system according to claim 5, comprising means for initially determining the baud rates of the transmit and receive bitstream by issuing a break command and adjusting the baud rate of the transmit bitstream to the baud rate detected from the receive bitstream.
  10. A communication system according to claim 5, comprising means for obtaining an initial synchronization between the two devices by transmitting a stream of bits from one device to the other device so long as said other device responds to said stream of bits.
  11. A communication system according to claim 5, wherein the transceiver (50, 53 or 60, 63) is adapted to disable its output during a receive window.
  12. A communication system according to claim 5, wherein the at least one transceiver (50, 53 or 60, 63) has an input which is adapted to disable the transceivers (50, 53 or 60, 63) output during a receive window.
  13. An infrared communications system which allows full duplex asynchronous communication between two infrared device of transmit and receive bitstream having baud rates with corresponding bit periods, comprising:
    a transceiver (72, 74) located in each device, each transceiver (72, 74) comprising a transmitter (76, 78) and a receiver (80, 82) and an opaque barrier (84) placed between each transmitter (76, 78) and receiver (80, 82) so as to shield the receiver (80, 82) from the transmitter (76, 78), wherein the transceivers (72, 74) are arranged so as to receive light pulses from each other;
    means for dividing each bit period in half to create a transmit half bit period and a receive half bit period, wherein each transceiver (72, 74) can transmit during the transmit half bit period and can receive during the receive half bit period;
    means for synchronizing the bit periods so that during each bit period, the transmit half bit period of one of the two transceivers (72 or 74) is aligned with the receive half bit period of the other transceiver (72, 74), being characterized in that said synchronizing means is adapted to maintain synchronization by advancing or delaying the transmission of a bit depending on when an edge transition of a received bit is detected at least one of the transceivers (72, 74).
  14. An infrared communications system according to claim 13, wherein said synchronizing means is a circuit which is adapted to implement a state machine.
  15. An infrared communications system according to claim 14, further comprising means for providing a pacing clock for the state machine, the pacing clock being a predefined number of times faster than the baud rate of the transmit bitstream.
  16. An infrared communications system according to claim 13, comprising an initiating device, and means for obtaining an initial synchronization between the two devices by controlling the initiating device to issue a break command and, if a response to the break command is not received, to issue a synchronization command to its own transceiver (72, 74), wherein said synchronization command causes the transceiver (72, 74) to skip to a next window.
  17. An infrared communications system according to claim 13, comprising means for initially determining the baud rates of the transmit and receive bitstreams by issuing a break command and adjusting the baud rate of the transmit bitstream to the baud rate detected from the receive bitstream.
  18. An infrared communication system according to claim 13, wherein the system is adapted to transmit a stream of bits from one device to the other, said transmitted stream of bits being adapted to provide an initial synchronization between the two devices, so long as said other device responds to said stream of bits.
EP97948157A 1996-12-09 1997-11-20 Asynchronous full duplex communications over a single channel Expired - Lifetime EP0944974B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/762,459 US5905716A (en) 1996-12-09 1996-12-09 Asynchronous full duplex communications over a single channel
US762459 1996-12-09
PCT/US1997/019988 WO1998026532A2 (en) 1996-12-09 1997-11-20 Bitwise full duplex communication

Publications (2)

Publication Number Publication Date
EP0944974A2 EP0944974A2 (en) 1999-09-29
EP0944974B1 true EP0944974B1 (en) 2003-02-05

Family

ID=25065107

Family Applications (1)

Application Number Title Priority Date Filing Date
EP97948157A Expired - Lifetime EP0944974B1 (en) 1996-12-09 1997-11-20 Asynchronous full duplex communications over a single channel

Country Status (13)

Country Link
US (1) US5905716A (en)
EP (1) EP0944974B1 (en)
JP (1) JP2001506083A (en)
KR (1) KR100487471B1 (en)
CN (1) CN1126316C (en)
AR (1) AR010683A1 (en)
AU (1) AU727494B2 (en)
BR (1) BR9713880A (en)
CO (1) CO4771138A1 (en)
EE (1) EE9900229A (en)
HK (1) HK1023010A1 (en)
MY (1) MY124131A (en)
WO (1) WO1998026532A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019112754A1 (en) * 2017-12-05 2019-06-13 Qualcomm Incorporated Bit-interleaved bi-directional transmissions on a multi-drop bus for time-critical data exchange

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100235842B1 (en) * 1997-08-28 1999-12-15 윤종용 Data transmission/receipt circuit and method thereof
US6625206B1 (en) * 1998-11-25 2003-09-23 Sun Microsystems, Inc. Simultaneous bidirectional data transmission system and method
JP3366277B2 (en) * 1999-03-25 2003-01-14 日本電気株式会社 AT command receiving circuit
EP1161048A3 (en) * 2000-05-19 2005-02-16 Attachmate Corporation System and method for secure duplex browser communication over disparate networks
PL1641178T3 (en) * 2004-09-27 2007-04-30 Bft Spa Method and system for transmission in a home network
JP4756340B2 (en) * 2005-10-13 2011-08-24 株式会社デンソー Communication system and method, and distributed control system and method
US8070003B2 (en) 2009-04-27 2011-12-06 Johnson & Johnson Consumer Companies, Inc. Package feature
CN102412953B (en) * 2011-11-03 2015-01-07 北京邮电大学 Visible light local area network duplex communication method
CN102624511B (en) * 2012-03-05 2015-01-21 福建星网锐捷网络有限公司 Channel building method, exchanger and communication system
CN103326848A (en) * 2013-06-26 2013-09-25 深圳市科曼医疗设备有限公司 Method and system for achieving full duplex for infrared communication
US10289600B2 (en) 2013-08-08 2019-05-14 Qualcomm Incorporated Reducing transmitter encoding jitter in a C-PHY interface using multiple clock phases to launch symbols
US9276731B2 (en) 2013-08-08 2016-03-01 Qualcomm Incorporated N-phase signal transition alignment
CN103577378B (en) * 2013-11-15 2016-09-07 哈尔滨工业大学深圳研究生院 A kind of full duplex asynchronous serial communication method
CN105277578B (en) * 2014-06-09 2018-06-12 北京君和信达科技有限公司 A kind of method and system for improving dual-energy radiation system material recognition capability
GB2536309B (en) 2015-03-09 2017-08-02 Cirrus Logic Int Semiconductor Ltd Low power bidirectional bus
KR102424434B1 (en) 2015-10-30 2022-07-25 삼성디스플레이 주식회사 Display device having timing controller and full duplex communication method of timing controller
CN111181641B (en) * 2020-01-07 2021-02-26 深圳市杰纳瑞医疗仪器股份有限公司 Infrared communication system of full duplex communication

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3721763A (en) * 1971-07-29 1973-03-20 Us Navy Single line bi-directional data transmission system
GB1401436A (en) * 1971-10-14 1975-07-16 Gen Electric Co Ltd Pulse transmission systems
JPS5321963B2 (en) * 1973-11-12 1978-07-06
DE2451913B2 (en) * 1974-10-31 1976-11-18 Siemens AG, 1000 Berlin und 8000 München CIRCUIT ARRANGEMENT FOR TWO WIRE FULL DUPLEY DATA TRANSFER OVER TWO LINES
NL170688C (en) * 1976-06-28 1982-12-01 Philips Nv DEVICE FOR SIMULTANEOUS TWO WAY DATA TRANSMISSION ON TWO WIRE CONNECTIONS.
DE2633066C2 (en) * 1976-07-22 1978-06-08 Siemens Ag, 1000 Berlin Und 8000 Muenchen Device for the transmission of push-pull signals over a two-wire line in duplex mode
US4399563A (en) * 1978-04-18 1983-08-16 Honeywell Information Systems Inc. Fiber optics high speed modem
US4326287A (en) * 1980-06-30 1982-04-20 International Business Machines Corp. Two wire bi-directional digital telephone link
JPS6148250A (en) * 1984-08-15 1986-03-08 Toshiba Corp Space light transmission system
WO1988004498A1 (en) * 1986-12-01 1988-06-16 British Telecommunications Public Limited Company Duplex data transmission
US5253095A (en) * 1987-12-14 1993-10-12 H. M. Electronics, Inc. Full duplex communication system and method of using same
US5216667A (en) * 1991-05-24 1993-06-01 International Business Machines Corporation Simultaneous bidirectional transceiver
DE4125105A1 (en) * 1991-07-27 1993-01-28 Krone Ag BIDIRECTIONAL DATA TRANSFER ON A FOCUS
US5517492A (en) * 1992-01-17 1996-05-14 Motorola, Inc. Increased speech interleave with reduced delay
US5359594A (en) * 1992-05-15 1994-10-25 International Business Machines Corporation Power-saving full duplex nodal communications systems
CH686465A5 (en) * 1993-01-26 1996-03-29 Royale Consultants Ltd Method and apparatus for bidirectional Informationsuebertragung (full duplex).
JPH06311068A (en) * 1993-04-20 1994-11-04 Hitachi Denshi Ltd Transmission reception switching system for radio equipment
US5434905A (en) * 1993-11-30 1995-07-18 Uniden Corporation Digital cordless telephone set operated under burst synchronization
EP0714573B1 (en) * 1994-03-23 2001-08-08 Koninklijke Philips Electronics N.V. Transmission of tuning data of broadcasting transmitters to a receiver
US5631757A (en) * 1995-06-07 1997-05-20 Lucent Technologies Inc. Full-duplex data communication system using different transmit and receive data symbol lengths
US5579308A (en) * 1995-11-22 1996-11-26 Samsung Electronics, Ltd. Crossbar/hub arrangement for multimedia network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019112754A1 (en) * 2017-12-05 2019-06-13 Qualcomm Incorporated Bit-interleaved bi-directional transmissions on a multi-drop bus for time-critical data exchange
US10838898B2 (en) 2017-12-05 2020-11-17 Qualcomm Incorporated Bit-interleaved bi-directional transmissions on a multi-drop bus for time-critical data exchange

Also Published As

Publication number Publication date
WO1998026532A3 (en) 1998-08-20
AR010683A1 (en) 2000-06-28
CN1245605A (en) 2000-02-23
BR9713880A (en) 2000-06-13
EE9900229A (en) 1999-12-15
US5905716A (en) 1999-05-18
EP0944974A2 (en) 1999-09-29
KR100487471B1 (en) 2005-05-09
MY124131A (en) 2006-06-30
KR20000069379A (en) 2000-11-25
HK1023010A1 (en) 2000-08-25
CN1126316C (en) 2003-10-29
AU727494B2 (en) 2000-12-14
CO4771138A1 (en) 1999-04-30
JP2001506083A (en) 2001-05-08
WO1998026532A2 (en) 1998-06-18
AU5428198A (en) 1998-07-03

Similar Documents

Publication Publication Date Title
EP0944974B1 (en) Asynchronous full duplex communications over a single channel
US4972410A (en) Method and apparatus for controlling signal coherency in simulcast systems
WO2001093446A3 (en) Ultrawide bandwidth communication system and method for fast synchronisation
US4320515A (en) Bit synchronizer
KR910700581A (en) Telecommunication systems
CA1227845A (en) Multipoint data communications
KR20010006128A (en) Closed-loop synchronisation arrangement for data transmission system
EP0597719B1 (en) TDM/TDMA telecommunications system and method
SG142166A1 (en) Communication system
US5654978A (en) Pulse position modulation with spread spectrum
US7061938B2 (en) Parallel data bus integrated clocking and control
KR920017404A (en) Transceiver stations and ring bus systems suitable for connecting to digital data ring buses
AU5756696A (en) Method for reducing the effect of demodulator transients on signal tracking loops
US4782484A (en) Encoding and decoding signals for transmission over a multi-access medium
JPH0653955A (en) Parallel bit synchronization system
AU2003246869A1 (en) Method for protected transmission on a wavelength division multiplexing network
SU987830A1 (en) Information transmitting and receiving device
JPS6231229A (en) Repeater
SU1254591A1 (en) Device for reception of bipulse signal
JPS61293048A (en) Loop type communication system
JPS6158348A (en) Frame synchronization system
JPS6238634A (en) Scramble processing system
JPS6152043A (en) Synchronizing system of digital multiplex transmission system
JPS63274239A (en) Optical ppm synchronizing signal
JPS63184465A (en) Bit synchronizing system for facsimile

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19990705

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): ES GB IT SE

17Q First examination report despatched

Effective date: 20000615

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Designated state(s): ES GB IT SE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRE;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.SCRIBED TIME-LIMIT

Effective date: 20030205

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20030505

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20030828

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

RAP2 Party data changed (patent owner data changed or rights of a patent transferred)

Owner name: ERICSSON INC.

26N No opposition filed

Effective date: 20031106

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20081128

Year of fee payment: 12

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20091120

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20091120