Abstract:
A multiple-master, digital communication technique is provided which employs standard universal asynchronous receivers and transmitters (&#34;UARTs&#34;) linked to a common data transmission bus, and a hardware-based inter-station contention scheme utilizing a bus separate from that employed for data transmission. This communication technique effectively eliminates any window of collision for data transmitted on the bus, and greatly reduces the amount of software processing required to resolve contention between stations. In addition, the hardware required to support the dedicated contention bus scheme is comprised of inexpensive, commercially available logic gates.

Description:
TECHNICAL FIELD 
     The invention relates to digital transmission systems and, more particularly, to the transmission of digital information within a multiple-master communication system. 
     BACKGROUND OF THE INVENTION 
     Within multiple-master, digital communication systems any station linked to the system may transmit data over a common communication bus at anytime. Invariably, within such systems, a monitoring and control arrangement must be provided to detect simultaneous data transmissions by multiple stations over the common communication bus, and terminate the colliding transmissions until the common bus is clear. While numerous data collision avoidance and detection arrangements exist for multiple-master, digital communication systems, typically they all include a listen-while-talking (&#34;LWT&#34;) collision detection/avoidance scheme. 
     In a system employing an LWT scheme, each station monitors the common communication bus prior to transmitting, and if another transmission is determined to be already in progress, each monitoring station defers its transmission. Upon detecting that all other transmissions have ceased, and the common bus is clear, the station would then begin its own transmission while continuing to monitor the common bus (listening while talking). Unfortunately, one or more other stations which also deferred transmissions, and could begin transmitting at the moment the common bus clears. This would result in data collisions, which would be detected by all the transmitting stations (since each continues to monitor the common channel during transmission). Upon collision detection, each of the stations involved terminates transmission (referred to as &#34;backing off&#34;) and enters into a contention to gain control of the bus. This contention is performed via digital processing according to a prescribed algorithm tailored to the particular multiple-master, digital communication system. 
     Another drawback of an LWT collision detection scheme is a window of collision which exists with respect to inter-station communications. A signal transmitted on a common bus by one station will not reach other stations linked to that bus for a finite interval (the transmission time between stations). One of the other stations linked to the common bus may erroneously commence transmitting a second signal on the bus during this interval as the bus would appear to be clear. This second signal would of course collide with the first signal. The actual window of collision for a given system is an interval of time equal to the maximum transmission time between stations within the system, plus the processing time required for any given station to recognize that the bus is clear and that it is the apparent winner of the contention for control of the bus. Since station contention within existing multimaster systems is performed via processing of complex software algorithms, the duration of the actual window of collision is usually many times greater than the maximum transmission time within the systems. 
     SUMMARY OF THE INVENTION 
     In accordance with the principles of the invention, a multiple-master, digital communication technique is provided which employs standard universal asynchronous receivers and transmitters (&#34;UARTs&#34;) linked to a common data transmission bus, and a hardware-based inter-station contention scheme utilizing a bus separate from that employed for data transmission. This communication technique effectively eliminates any window of collision for data transmitted on the bus, and greatly reduces the amount of software processing required to resolve contention between stations. In addition, the hardware required to support the dedicated contention bus scheme is comprised of inexpensive, commercially available logic gates. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     In the drawing: 
     FIG. 1 shows, in simplified block diagram form, a multiple-master digital communication system incorporating a particular embodiment of invention; 
     FIG. 2 shows, in simplified block diagram form, a multiple-master digital communication system incorporating a second embodiment of the invention; 
     FIG. 3 shows, in simplified block diagram form, a multiple-master digital communication system incorporating a third embodiment of the invention. 
    
    
     DETAILED DESCRIPTION 
     FIG. 1 shows, in simplified form, a multiple-master digital communication system incorporating a particular embodiment of the invention. As shown, three stations (101, 102, and 103), common bidirectional communication bus 104, and contention bus 105 are included in the system. Each of the stations within the system contains a UART (106, 107, and 108), a processor (109, 110, and 111), a bidirectional interface (112, 113, and 114), and a NOR-gate (115, 116, and 117). The UARTs illustrated are configured to transmit data out of a Transmission Data (&#34;TD&#34;) port, and receive data via a Receive Data (&#34;RD&#34;) port. Each UART conforms to a common data protocol wherein data transmission may only take place after a Request To Send (&#34;RTS&#34;) port is asserted (i.e., brought to a logical value of &#34;1&#34;), and the signal evident at a Clear To Send (&#34;CTS&#34;) port is confined to be a logical &#34;1&#34;. Bidirectional interfaces 112, 113, and 114 each provide an interface between communication bus 104 and the TD and RD ports of the UARTS. 
     As shown, contention bus 105 includes three independent contention channels, 118, 119, and 120. Each of these contention channels is dedicated to carrying the RTS signal output by a particular UART. Contention channel 118 carries the RTS signal of UART 106, contention channel 119 carries the RTS signal of UART 107, and contention channel 120 carries the RTS signal of UART 108. 
     In practicing the invention, each station contends for control of communication bus 104 prior to transmitting any data from a UART TD port. All such contention is performed exclusively via the contention channels within contention bus 105. For example, if data were to be transmitted from station 101 via UART 106, processor 109 would obtain the status of the CTS port of UART 106, and if that port were found to be at a logical &#34;1&#34;, processor 109 would set the RTS port of UART 106, and thereby contention channel 118, to a logical &#34;1 &#34; value. This places the outputs of NOR-gates 116 and 117 in a logical &#34;0&#34; state, and ensures that the CTS ports of UARTs 107 and 108 remain at logical &#34;0&#34;. In this state, the initiation of data transmissions over communication bus 104 by stations 102 and 103 would be prohibited. After a fixed period T Delay , processor 109 interrogates the CTS port of UART 106 again. Only if that port is found to still be at a logical &#34;1 &#34; is data transmitted from the TD port of UART 106. The presence of a logical &#34;1 &#34; at the CTS port of UART 106 signifies that communication bus 104 is idle (i.e., both stations 102 and 103 are not presently transmitting, or requesting to transmit data). The period T Delay  is chosen to be equal to the maximum RTS signal transmission time between stations, plus the time required by a processor to interrogate a UART CTS port and set a UART RTS port to a logical &#34;1&#34; state. The data output by UART 106 is propagated along communication channel 104 via bidirectional interface 112. For the duration of any data transmission by UART 106, contention channel 118 is held in a logical &#34;1&#34; state, thereby maintaining the output of NOR-gates 116 and 117 in a logical &#34;0&#34; state. 
     The delay period, T Delay , is imposed by processor 109 to insure that inadvertent data collisions do not occur. If such a delay were not imposed, and stations immediately transmitted data along communication bus 104 after determining that a UART CTS port was at logical &#34;0&#34;, there would exist a limited window of collision within the system of FIG. 1. This window would be equal to the inter-station transit time of RTS signals along contention bus 105, plus the time required by a processor to interrogate CTS ports and set RTS ports. 
     The problem may be illustrated by examining the operation of a system similar to that of FIG. 1, but with a T Delay  of zero. In initiating a data transmission, station 101 would interrogate the CTS of UART 106, and if that CTS port was found to be at a logical &#34;1&#34;, assert the RTS port of UART 106 (i.e., set the RTS port to a logical &#34;1&#34;). Immediately thereafter station 101 would commence transmitting data on communication bus 104. In response, the CTS ports of UARTs 107 and 108 would change state from a logical &#34;1&#34; to a logical &#34;0&#34;. Naturally, these CTS ports would not change state instantaneously when the RTS port of UART 106 was asserted. A propagation delay would be introduced as the signal from the RTS port of UART 106 traveled along contention channel 118 to the input of NOR-gates 116 and 117, and further delay introduced as a result of the response times of NOR-gates 11 6 and 117. The window of collision for the T Delay  =0 system would be the aggregate of these transit and response times. During this window, the CTS ports of the UARTs within stations 102 and 103 would be at a logical &#34;1&#34; state, erroneously indicating that communication bus 104 was idle (even though station 101 had already initiated a data transmission). As a result of this erroneous indication, both station 102 and station 103 could immediately initiate a data transmission--resulting in a data collision with the transmission from station 101. Within the invention, however, since the processors are programmed to interrogate a UART CTS port, pause for a period T Delay , and then re-interrogate the UART CTS port, prior to initiating a transmission, any window of collision is eliminated. 
     Both stations 102 and 103 operate in manner similar to that of station 101, entering into contention for communication bus 104 prior to transmitting data. The CTS port of the UART within each station is linked to the output of a NOR-gate which monitors the state of the RTS ports of the other stations within the system. UART 107 of station 102 is linked to NOR-gate 116 (which monitors stations 101 and 103), and UART 108 of station 103 is linked to NOR-gate 117 (which monitors stations 101 and 102). 
     Another embodiment the invention is included within the digital communication system illustrated in FIG. 2. The configuration and operation of this system is similar to that of the system of FIG. 1, however an LED is coupled to each of the input leads of the NOR-gates within each station. These LEDs (labeled 201-206) provide a visual indication as to the particular station which is currently transmitting data, or requesting to transmit data, upon communication bus 104. For example, LEDs 203 and 205 (within stations 102 and 103, respectively) illuminate when contention channel 118 is asserted by UART 106 of station 101. Informing an individual at station 102 or 103 that station 101 was contending for control of communication bus 104. 
     The application of this invention to digital communication systems need not be limited to three station arrangements. Any of the above described systems could be expanded to accommodate any number of stations. A contention channel would have to be provided for each station, and a NOR-gate capable of accepting (n-1) input signals provided for each station (where n is the total number of stations in the system). 
     It will be understood that the particular techniques described are only illustrative of the principles of the present invention, and that various modifications could be made by those skilled in the art without departing from the scope and spirit of the present invention, which is limited only by the claims that follow. One such modification might include practicing the invention within a system having n stations and m contention channels; where 1&lt;m&lt;n. At least one of the m contention channels would be shared by one or more stations. Another modification of invention might include alternate signaling devices devices, such as tone generators (301, 302) or alphanumeric displays (303, 304) coupled to the inputs of a NOR-gate and/or inverter within a given station to provide an indication of contention bus status (see FIG. 3).