CA1222079A - Multiple access data communications controller for a time-division multiplex bus - Google Patents

Multiple access data communications controller for a time-division multiplex bus

Info

Publication number
CA1222079A
CA1222079A CA000458096A CA458096A CA1222079A CA 1222079 A CA1222079 A CA 1222079A CA 000458096 A CA000458096 A CA 000458096A CA 458096 A CA458096 A CA 458096A CA 1222079 A CA1222079 A CA 1222079A
Authority
CA
Canada
Prior art keywords
data
signal
time
nodes
slot
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
Application number
CA000458096A
Other languages
French (fr)
Inventor
Greg M. Townsend
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.)
Motorola Solutions Inc
Original Assignee
Motorola 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 Motorola Inc filed Critical Motorola Inc
Application granted granted Critical
Publication of CA1222079A publication Critical patent/CA1222079A/en
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/04Large scale networks; Deep hierarchical networks
    • H04W84/08Trunked mobile radio systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing

Abstract

Abstract Method and apparatus are provided for control of a dedicated data slot in a time-division multiplex system for both voice and data communications enabling equal access to the data slot, efficient data throughput and reliability.

Description

~Z~7~

MULTIPLE ACCESS DATA COMMUNICATIONS
CONTROLLER FOR ~ TIME-DIVISION
MULTIPLEX BUS

Background of the Invention This invention relates generally to communications controller and, more particularly, relates to a multiple access data communications controller for a time-division multiplex system for both voice and data communications.

Description of the Prior Art Time division multiplex systems are well known in the communications art. Such systems have alternately been employed in voice communications and in high speed multiple access data communications systems.
One known high speed data communications multiple access system employs what can be described as a contention approach to gain control of the data channel.
In this system, any of the nodes that wants to send data, send a few bits and then listens to determine if there was a data collision with another node. If not, then the node sends the data including a string of 1010 ..O bits to enable synchronizing with the receiving node. Thus, there is inefficiency in that overhead or wasted time is required for synchronization. In addition, the effective throughput of this system diminishes rapidly as traffic 0~79 density increases. There is also the substantial risk that a defective node may fail to observe the defined bus protocal and monopolize the data channel.
Problems with known multiple access data communica-tions controllers generally include efficiency, reliability and cost~

Summary of the Invention 7 r It is accordingly an object of the invention to provide a novel and improved high speed multiple access data communications controller for a time-division multiplex bus.
It is another object of the invention to provide t equal access to a dedicated data slot on the time-division multiplex bus to each of a plurality of nodes coupled to said bus.
It is a further object of the invention to provide efficient use of said dedicated data slot.
It is another object of the invention to provide fail-safe operation in the use of said dedicated data slot.
Briefly, the present invention provides a method of assigning a dedicated data slot on a time-division multiplex bus to one of a plurality of nodes such that each of the plurality of nodes has equal access to the dedicated data slot. The method comprises the steps of:
a) sequentially polling the plurality of nodes; b) receiving a requesting signal from a node; c) inhibiting the polling and simultaneously granting control of the dedicated data slot to said requesting node; and d) resuming sequential polling following said requesting node.
Apparatus is provided to enable performing said method of the invention.

7~3 Description of the Drawings Figure 1 is a generaliæed block diagram of a communications system including a time-division multiplex communications control center system;
Figure 2 is a block diagram illustrating a MUX
Common module as shown in Figure 1 according to the invention;
Figure 3 is a schematic diagram illustrating the Data Slot Arbiter and Busy Bus Generator as shown in Figure 2;
Fiyure 4 is a schematic diagram illustrating the TDM
Bus Slot Address Decoder and Data Slot Decoder as shown in Figure 2;
Figure 5 is a partly schematic block diagram illustrating the data channel access port according to the invention;
Figure 6 is a block diagram of the transmit/receive data FIFO as shown in Figure 5; and Figure 7 is a logic flow diagram for control of the data channel access port as shown in Figure 5.

Description of the Preferred Embodiment Referring to Figure 1, there is shown a time-division multiplex communications control center system wherein the subject invention can be employed and is designated generally by the reference character 20. A
plurality of sources including base stations number 1 through number N and designated generally by the reference character 22 and a plurality of operator consoles nu~ber 1 through number M and designated generally by the reference character 24 are connected for bidirectional audio and data transfer. The central control includes a plurality of nodes or transmit/receive modules number 1 through N corresponding to the number of 3'7C3 base stations 22~ The transmit/receive (T/R) modules 26 connect the base stations 22 to operator consoles 24 through a time-division multiplex bus 28 Additionally, a plurality of nodes, or operator multiplex ~MUX) interface modules number 1 through number M, designated generally by the reference character 30, are provided between the time-division multiplex bus 28 and each of the operator consoles 24. A multiplex (MUX) common module 34 is connected to the time-division multiplex bus 28 to provide all the timing and control signals ~ecessary for the operation of the system 20. A
redundant MUX common B module is shown as an optional element to provide increased system reliability in case of failure of the MUX ~ommon A module 34. MUX common modules A, B can be provided to share control of the communications system fif~y percent of the time, such that the possibility of an undetected failure in a standby module is avoided and a single failure of one module will not bring down the entire communications system 20.
Referring to Figure 2, there is shown a block diagram illustrating the MUX common module 3~ according to the invention. MUX common module 34 includes a guard tone generator 36 to provide a guard tone signal 38 to all T/R modules 26 and operator MUX interface modules 30.
The output signal 40 of guard tone generator 36 is coupled to a guard tone frequency check circuit 42 and an AND gate 44. Guard tone frequency check circuit 42 is provided to monitor the guard tone generator 36 ~or proper operation. Guard tone frequency check circuit 4~
generates an output signal 46 that is coupled to AND gate 44. Signal 46 is a logic high as long as guard tone generator 36 operates properly. The guard tone frequency check circuit can be provided by utilizing commercially available parts, such as D Flip/Flops Motorola MC14013 and divider, Motorola MC14569. If a failure occurs ~2~7'~

because of either a frequency or a phase error, the guard tone frequency check circuit switches the output signal 46 to a logic low which inhibits guard tone signal 38.
The alternate MUX common module 34 may be activated to take control.
A crystal oscillator 48 is employed to provide a clock output 50 to control the time-division multiplex bus and data bus. The frequency of crystal oscillator 48 is selected to provide an appropriate bit time for data and digital audio GOmmunications on time-division multiplex bus 28 and to T/R modules 26 and operator MUX
interface modules 30. Additionally, a 10Hz signal 54 is generated on the MUX common 34 to provide an additional real-time base clock signal to operator MUX interface modules 30. Crystal-based oscillator circuit 56 may be employed to generate the 1OHz output signal 54. In order to maintain the desired accuracy of the 10Hz signal 54, an AC line SYNC generator circuit 58 having a line frequency 50/60 Hz input signal 60 may be employed to provide a synchronizing signal 62 for the crystal-based oscillator circuit 56. Synchronizing signal 62 is employed to compensate for any skew in the crystal frequency and to maintain an accurate 1OHz signal 54.
Guard tone generator 36 and crystal oscillators 48, 56 can be provided with any standard type of crystal oscillator.
In a time-division multiplex bus 28, digital data are transmitted in binary-coded pulse groups during recurring time slots. The recurrence period of the group of time slots or frame may be defined to have a duration of 125 microseconds, with the frame including 32 slots, each having a duration of 3.9 microseconds. Each slot contains a group of 8 binary-coded pulses or bits, these 8 bits forming a word. Clock 50 may be approximately 2 Mhz giving a 64 Kbi~Sec data rate for the digital audio - and data communications~ The time-division multiplex bus 7~

can be, for example, three busses running in parallel for digital audio and one separate data bus. Each of the nodes 26, 30 is assigned to a predetermined slot on one of the three buses in the T~M bus 28 for audio communications. ~ach of the nodes 26, 30 share a dedicated data slot or slots on the data bus.
A time-division multiplex bus slot address generator 64 is provided on the MUX common 34 to enable transmitting and receiving data and digitized audio to the correct slot on TDM bus 28 corresponding to each of the nodes 26, 30. Clock signal 50 is input into TDM bus slot address generator 64 to enable counting the data bits in the frame. An output 68 and outputs 65 of slot address ~enerator 64 are connected to a data slot decode~r 70. Data slot decoder 70 outputs a start of frame (SF) signal 66 and a data clock signal 52. Data slot decoder 70 also provides an output signal 72 corresponding to the dedicated data slot on the data bus that is shared by all nodes 26, 30. Data slot signal 72 is coupled to a data slot arbiter circuit 74. The data slot arbiter circuit 74 provides equal access to the dedicated data slot for all the nodes 26, 30.
Data slot arbiter circuit 74 synchronously polls each of the possible data sources 26, 30 for a request for use of the data slot. A data request (DRDY) signal 76 is received by data slot arbiter circuit 74 and a data busy (DBSY) signal 78 is generated by arbiter circuit 74 in response to the data request.
The data slot arbiter circuit 74 grants control of the dedicated data slot or slots on the data bus in response to a data request signal 76 from one of the nodes 26, 30. Data slot arbiter circuit 74 provides a data busy (DBSY) signal 78 in response to data request signal 76. The inhihit signal 79 is input to an inhibit port of a busy bus generator 80, while the data slot is being used by one of the nodes.

'7~

Busy bus generator 80 provides for polling each of the time-division multiplex busses 28 such that each of the data sources 26, 30 have equal access to the data slot. Busy bus generator 80 provides output signals corresponding to the separate multipiex busses. For the example of three time-division multiplex busses for the digitized audio, busy bus generator 80 includes output signals 82, 84, 86 labeled BSYl, BSY2 and BS~3 corresponding to each of the three busses. The state of outputs 82, 84, 86 correspond to the multiplex bus that is being polled when the data slot is inactive, and sequentially change state for the duration of one data frame. When an inhibit signal 79 is received by busy bus generator 80, outputs 82, 84 and 86 are disabled to inhibit the polling process. The polling process is inhibited during the requesting node time slot and resumes with the next node following the requesting node after a predetermined number of frames, whereby each of the nodes 26, 30 are given equal access to transmit data.
Referring now to Figure 3 there is shown an embodi-ment of the data slot arbiter 74 and the busy bus generator 80 according to the invention.
The data slot arbiter 74 includes Flip/Flops 88, 90, 92, such as Motorola CMOS MC14013B, up counter 94, such as Motorola CMOS MCl4520B, and programmable divide-by-N
4-bit counter 96, such as Motorola CMOS-type MC14526B, and a NOR gate 9 8, s uch as Motorola MCl4001.
The data ready signal 76 is coupled to the clock input of Flip/Flop 88 and also is coupled to the reset input of Flip/Flop 90. The data input of Flip/Flop 90 is coupled to a positive voltage shown as +V for a high input state. The start of frame signal 66 is coupled to the clock input of Flip/Flop 90 and into one input of NOR
gate 98, and to the clock input of Flip/Flop 92. The Q output 100 of Flip/Flop 90 is coupled to the other 7~

input of NOR gate 98. rrhe output of NOR gate 98 is coupled to the set input of Flip/Flop 88. T~e Q output of Flip/Flop 88 is coupled to the data input of Flip/Flop 92, the reset input of up counter 94 and the busy bus generator 80. The Q output of Flip/Flop 88 is coupled to the busy bus generator 80.
The up counter 94 is used as a divide-by-2. The enable input of counter 94 is coupled a positive voltage shown as +V for a continuous high input enable. S0 - 1 signal 72 is a high pulse during the dedicated data slot time period and is coupled to the clock input of counter 94. The Q output of counter 94 is coupled to the C input of programmable counter 96. The master reset and inhibit inputs of presettable counter 96 are coupled to a logic ground. The CF input of counter 96 is coupled to a positive voltage for a logic high~ The Q output of Flip/Flop 88 is coupled to the preset enable input of counter 96. Output 0 of presettable counter 96 is coupled to the data input of Flip/Flop 88 and to the set input of Flip/Flop 92.
When the data slot is inactive the DRDY signal 76 remains at a logic low level. This removes the reset signal from D Flip/Flop 90. The SF signal 66 is a narrow, low going pulse which occurs at the start of every frame on the TDM bus 28. The trailing edge of this pulse clocks the D Flip/Flop 90 resulting in the Q output going high and the Q output going low. With the Q output low, one input of NOR gate 98 is enabled.
When the SF signal pulses low at the start of the next frame, the output of NOR gate 98 will pulse high. This high pulse sets D Flip/Flop 88 causing Q output thereof to go high.
The high Q output signal from D Flip/Flop 88 is coupled to the reset input of counter 94. With the reset input high the counter 94 sets its Q output low and ignores the clocking signal 72, S0-1. S0-1 ~z~

signal 72 is a signal which goes high for the duration of the data slot in each frame~ The high signal at the Q
output of Flip/Flop 88 is also coupled to the preset enable input, PE, of the counter 96. With the PE input high the down counter 96 presets to the binary value programmed on the DPO-DP3 inputs. The programming is selected to define the number of successive data slots required to transmit a data packet. The 0 output of the down counter 96 goes high only when the counter reaches zero. Since in the preset mode the counter is initialized to a value other than zero,the 0 output will be a logic low. This removes the se~ ~ondition from Flip/Flop 92.
The high signal at the Q output of Fl ip/Flop 88 is also coupled to the D input of D Flip/Flop 92. When the SF pulse 66 occurs,this high will be clocked into the Flip/Flop 92 causing the Q output 79 (DBSY) to go high and the Q output 78 (DBSY) to go low. Thus, the high signal at the Q output of D Fl ip/Flop 88 along with the low signal at the Q
output 102 is coupled additionally to the busy bus generator 80. The Data Slot Arbiter 74 is now initialized and ready to recognize any node in the system which requests to use the data slot.
When the polling means, comprised of the busy bus generator 80, identifies a node requesting to use the data slot, a high going pulse occurs on the DRDY input 76. This pulse occurs during the unique time slot associated with the particular requesting node and will continue to occur during that time slot in each successive frame for a predetermined number of frames.
The D~D'I pulse 76 clocks the low signal at the 0 output from down counter 96 into D Flip/Flop 88 causing Q output thereof to go low. This low signal from the Q output along with the high signal at the Q output of Flip/Flop 88 are routed to the busy bus generator 80 which, in response, immediately inhibits the polling process.
The low signal at the Q output of Flip/Flop 88 is clocked into Flip/Flop 92 on the next SF pulse 66 which causes the DBSY signal 79 to go low and the DBS~ signal 78 to go high lndicating that the data slot is busy or occupied. The DsSY signal 78 is routed to all other nodes 26, 30 to alert the associated microprocessors therewith that a data packet is being sent.
The low signal at the Q output of Flip/Flop 88 also removes the reset from the counter 94 and the preset from the down counter 96. The counter 94 now clocks on the SO-l signal 72 causing the Q0 output to change state t on each successive SO-l pulse. This effectively divides the SO-1 signal 72 by 2 and then couples it to the clock input of down counter 96. The first SO-l signal 72 will cause the QO output of counter 94 to go high which in turn will decrement the down counter 96. The second SO-l signal 72 will toggle the QO
output of counter 94 low, having no effect on the down counter 96. The next S0-1 signal 72 will toggle the QO output of 94 high which will decrement counter 95 once more. This process continues until, 2N-l SO-1 pulses have occurred, where N is equal to the binary value programmed at the down counter 96 inputs DPO-DP3. At this time the down counter will have decremented to zero and the O output will go high. This high will immediately set Flip/Flop 92, causing the DBSY output signal 79 to return high and the DBSY output signal 78 to return low~ This signifies that the transmission of the data packet is complete and the data slot is no longer busy.
When the next DRDY pul se 76 occurs, during the time slot corresponding to the requesting node, the high signal at the O output of down counter 96 will be clocked into Flip/Flop 88 causing the Q outp~t to again go high.

This immediately resets counter 94 and presets down counter 9~, returning both to the initialized condition.
The high signal at the Q output therefrom are routed to the busy bus generator 80 which then resumes polling with the next node in sequence following the requesting node.
The data slot arbiter 74 is now ready to recognize a new data request.
As was mentioned hereinbefore, the DRDY pulses 76 continue to be generated by the requesting node for a predetermined number of successive frames during the requesting nodes particular time slot. The number of frames is controlled by the programming of the down counter 96 and is equal to 2N-1. A potential failure mode exists whereby the DRDY pulses may cease before the~
predetermined number have been sent. If this were to occur, ~he circuitry described so far would latch up with the Q output of Flip/Flop 88 low. As a resultlbusy bus generator 80 would be inhibited from polling for an indefinite period of time thereby preventing any other node from transmitting a data packet. In order to guard against this potential failure mode,the circuit comprised of Flip/Flop 90 and NOR gate 98 are incorporated.
The NOR gate 98 output is normally low since the SF
signal 66 at one input thereof is normally high~ At the trailing edge of the SF signal 66,the Flip/Flop 90 is set causing its Q output 100 to go low. The signal 100 enables one input of NOR gate 98. Under normal operation,when the data slot is active,a DRDY pulse 76 will be received before the next SF signal 66.
The DRDY pulse will reset Flip/Flop 90 causing the Q output thereof to return high and disabling one input of NOR gate 98 with the signal 100. Therefore,when the next low going SF pulse occurs,the NOR gate 98 output will remain low. If the DRDY pulse fails to occur during a frame interval,then the Flip/Flop 90 will still be in a set mode, with the Q output low, when the next low ~ .9 going SF pulse occurs. As a result,the NOR gate 98 output will pulse high, settillg Flip/Flop 88 back to its idle state with the Q output high. ~n the manner, the consequences of the aforementioned potential failure mode is avoided.
~ he busy bus generator 80 includes a Johnson ring counter 104, Flip/Flips 106, 108, NOR gates 110, 112, AND
gates 114, 116, hex buffers 118 and hybrid bus drivers 120. A satisfactory busy bus generator 80 has been constructed utilizing the following commercially available CMOS integrated circuits;

Johnson ring counter 104 Motorola MC14017 Flip-Flops 106, 108 Motorola MC14013 NOR gates 110, 112 Motorola MC14001 NAND gates 114, 116 Motorola MC14081 Hex buffers 118 Motorola MC14503 The busy bus clock signal is coupled to NOR gate 110 and also to the data input of Flip/Flop 108. The clock signal 50 is coupled to the clock of Flip/Flop 1080 The set and reset input of F1 ip/Flop 108 are coupled to a logic ground. The Q output of Flip/Flop 108 is coupled to NOR gate 112. The other input to NOR gate 112 is coupled to the output of NOR gate 110. The output of NOR
gate 112 is coupled to AND gate 114. The Q output of Flip/Flop 106 is coupled to the other input of AND gate 114. The output of AND gate 114 is coupled to one input on each of AND gates 116 and the other input to each of the AND gates 116 is coupled to the outputs Qo, Q1 Q2~ Q3~ Q4, and Q5 of counter 104. The ~2 output of counter 104 is coupled to inverter 122. The output of inverter 122 is coupled to the reset input of counter 104 through the circuit formed of resistors 124, 128, and capacitor 126. The clock input (c) of counter 104 is connected to the SF signal 66 and the enable input 7~

(E) is connected to the Q output of Flip/Flop 88.
The busy bus clock signa:L 131 is output from the TDM
bus slot address generator 64 and is a square wave of approximately 500 KHZ. At this frequency,two complete cycles of the busy bus clock occur during each time slot on the TDM bus. The circuit comprised of Flip/Flop 108 and NOR gates 110 and 112 functions to generate a narrow pulse at the output of NOR gate 112 in response to each rising edge of the busy bus clock 131. Each pulse has a high going period equal to one CLOCK 50 period of approximately 500 ns. As discussed in the description of the data slot arbiter 74, the Q output of Flip/Flop 88 is high when the data slot is inactive. This high signal ~s clocked through Flip/Flop 106 to enable one input of AND
gate 114. When AND gate 114 is thereby enabled, the pulses at the output of NOR gate 112 are coupled through AND gate 114 to one input on each of the AND gates 116.
The Johnson ring counter 104 is shown configured for three bits corresponding to three time-division multiplex busses. In the 3-bit configuration, the counter 104 is reset by the falling edge of the Q2 output that is coupled through inverter 122 to the reset input.
Resistor 124 and capacitor 126 provide a filter for the input to the reset. Additionally, the resistor 128 is provided for input protection of the reset input of counter 104. The outputs of counter 104 Qo, Q1~ Q2 correspond to the time division busses No. 1, 2 and 3.
The outp~ts Q3, Q4, Q5 are optional for additional time-division multiplex busses. The start-of-frame SF
signal 66 is coupled to the clock input of counter 104.
During the polling process,the ~ output 102 of Flip/Flop 88 is low and is coupled to the clock enable bar input of counter 104 whereby the counter is enabled to count the SF signal 66. One of the outputs Qo ~ Q1 3'7~1 and Q2 alternately go high in response to each SF
signal 66.
When the QO output of Johnson ring counter 104 is high the Q1 and Q2 outputs are low. The AND gates 116 connected to Q1 and Q2 outputs of counter 104 are therefore disabled holding the BSY2 signal 84 and the BS~3 signal 86 at a log ic low level . The AND gate 116 coupled to the high QO
output of counter 104 is enabled and passes the high going pulses from the AND gate 114 through to the BSY1 bus ~2. These high going pulses on the BSYl bus, two of which occur during each time slot, effectively poll the 32 possible nodes 26, 30 associated with the first TDM bus. When the next~
SF signal occurs, the QO output of ring counter l04 goes low and the Ql output goes high. During this frame the 32 possible Nodes 26, 30 associated with the second TDM
bus are effectively being polled in a manner similar to that described for the QO case above. The process continues on the next SF pulse 66 for Q2 and the third TDM bus and then repeats.
When the polling process discovers a requesting node, the DRDY input 76 to the data slot arbiter will pulse high. As described earlier, thus causes the signal 102 from the data slot arbiter 74 to go high and the Q
output of Flip/Flop 88 to go low during the time slot associated with the requesting node~ The high signal 102 disables the Johnson ring counter 104 so that it no longer advances on the SF signal 66 and freezes it at its current state. At the same time"the low Q signal from Flip/Flop 88 is clocked through Flip/Flop 106 and disables AND gate 114 causing the output to go low. This low further disables one input on each of the AND gates 116 ensuring that all ~ outputs 82, 84, 86 are low~ This inhibits the polling process. Following the last DRDY pulse,the busy bus generator is re-enabled part of the way through the slot corresponding to the requesting node. One busy bus pul~e is sent on the corresponding BSY output during the aforementioned slot which removes control of the data slot from the requesting node, Normal polling then resumes with the next node in sequence.
Referring to Figure 4, there is shown a schematic diagram illustrating ~he time-division multiplex bus slot address generator 64 and data slot decoder 70 as shown in Figure 2. The`data slot decoder 70 provides a signal 72 (S0 ~ l) that is high corresponding to the dedicated data slots. The TDM bus slot address generator 64 t is coupled to the data slot decoder 70 by signal 68 and by the signals 135. The TDM bus slot address generator 64 includes an up counter 130 such as Motorola CMOS-type MC14520B, 4-input NAN~ gate 132, up counter 134, such as a Motorola CMOS-type MC14520B.
Counters 130, 134 are shown configured with the reset input coupled to a logic ground, and the system clock 50 coupled to the clock inputs of both counters.
The enable input cf clock 134 is shown coupled to a positive voltage for a constant logic high. The outputs 25 of counter 130 Qo, Q1~ Q2~ Q3 are coupled to the inputs of the 4-input AND gate 132. The output of AND
132 is coupled to the enable input of counter 134.
Outputs Qo, Q1~ Q2~ Q3 f counter 134 comprise the signals 135.
The data slot decoder 70 includes the 4-input NOR
gate 136, Flip/Flops 138, 140, NOR gate 142, Flip/Flop 144 and NAND gate 146. The system clock 50 is coupled to the clock inputs of Flip/Flops 138, 140. The Q0 output of counter 130 is labeled 68 and is coupled to the data 35 input of Flip/Flop 140. The signals 135 are connected to the inputs of the 4-input NOR gate 136. The output of NOR gate 136 is signal 72, SQ-1. The data input of Flip/Flop 138 is coupled to sign~l 72. The Q bar output of Fl ip/Flop 138, 140 are coupled to the inputs of NOR gate 142. The outpu~ of NOR gate 142 is coupled to the D2 input of Flip/Flop 144. Flip/Flop 144 can be a Motorola CMOS type MC14175. The Q bar output of Flip/Flop 138 is coupled to the D3 input of Flip/Flop 144 and the clock 50 being coupled to the clock input thereof. The Q2 output of Flip/Flop 144 provides the data clock signal 150 that is enabled when data is being sent. The Q3 output of Flip/Flop 144 is coupled to an input of NAND gate 146, and the Q output of Flip/Flop 138 is coupled to the NAND gate 146. The output of NAND 146, provides the start-of-frame signal 66.
The CLK signal 50 which is a square wave at the TDM
bus clock rate of approximately 2MHz is input to the four-bit binary counters 130 and 134. The application of AND gate 132 in conjunction with the counters 130 and 134 forms a synchronous 8-bit binary counter. The counter starts at 0; counts to 255 and then starts over at 0.
This corresponds to the frame rate on the TDM bus 28 and to the 256 bits in each frame. The signal 68 is tapped off of the Q0 output of counter 130 which has a frequency of lMHz; half the CLK 50 frequency. The signal 131 is generated at the Q1 output of counter 130 and has a frequency of 500 KHz, 1/4 that of CLK 50.
The four outputs of counter 134 are coupled to 4-input NOR gate 136. The output of NOR gate 136 will go high when all four of its inputs are low. The four outputs of counter 134 are the 4 most significant bits of the 8-bit counter~ therefore, NOR gate 136 will-be high for counts 0 through 15 of the frame. Since each slot is defined as 8 counts and slot 0 is defined to start a count zero, the NOR gate 136 output is high during both slot 0 and 1, hence the notation S0 - 1. The S0 ~ 1 time interval is defined to be the data slot in this embodiment of the invention.
The S0 ~ 1 signal 72 is applied to the rising 5 edge differentiator circuit formed by Flip/Flop 138, the D3 - Q3 section of Flip/Flop 144, and the NAND gate 146.
The SF signal 66 is generated at the output of gate 146 and consists c~ a one CLK period wide, high-going pulse, which occurs one CLK period after the rising edge of the 10 S0 ~ 1 signal 72. The SF signal 66, therefore, pulses high at the start of every frame and is used in conjunction with the CLK signal 50 by the nodes 26, 30 to synchronize to the TDM bus.
The DATA CLOCK signal 52 is generated by Flip/Flop 15 140, NOR gate 142, and the D2 - Q2 section of Flip/Flop 144. This signal consists of B clock pulses, which occur during the S0 ~ 1 time interval, at a rate of lMHz, whenever the data slot is being used ~i.e., DBSY is high).
Referring to Figure 5, there is showr. a partly schematic block diagram illustrating the data channel access port designated generally by the reference character 150. A data channel access port is provided with each of the nodes 26, 30 in the communications system. A microprocessing unit at the node provides a data request ~DR) signal 152 through inverter 154 to the clock input of Flip/Flop 156. The data input of Flip Flop 156 is coupled to a positive voltage for a logic high. The Q output of Flip/Flop 156 is coupled through a resistor to the input of tri-state buffer 15B.
The output of tri-state buffer 158 is coupled to the data input of a Flip/Flop 160. The Q output of Flip Flop 160 is coupled through a resistor capacitor network to the reset input of Flip/Flop 156, through a diode to the input of tri-state buffer 158, and to the input of tri-state buffer 162. The output of tri-state buffer 162 ~2~
1~ --is the data ready (DRDY) signal 7~. The clock input of Flip/Flop 160 is coupled to the busy bus generator output signal corresponding to the node for one of the time-division multiplex busses. A jumper is shown from BSY1 signal 82 eorresponding to TDM bus No. 1 in the illustration of Figure 5. A digital audio slot decoder 164 is synchronized with the time-division multiplex bus 28 with the signals SF 66 and CLK 50 and provides an output signal 166 that is high during the predetermined time slot in the time-division multiplex bus 28 for the particular node. Output signal 166 of slot decoder 164 is coupled to the enable inputs of tri-state buffers 158, 162.
A transmit/receive data first in/first out module 15 168 is provided between time-division multiplex bus 28 and the microprocessor unit at the node. The data busy signal 78 is coupled to an interrupt port of micro-processing unit from the data slot arbiter circuit 74 shown in Figure 3.
A satisfactory data channel access port has been constructed utilizing the following commercially available CMOS integrated circuits:

Hex Schmitt trigger 154 Motorola MC14584 Flip/Flop 156, 160 Motorola MC14013 - 25 Hex tri-state buffer 158, 162 Motorola MC14503 Digital audio slot decoder MOTOROLA (TSAC) MC14416 The MPU on the node outputs a low signal to the DR (data request) input 152 of inverter 154 when a data packet is ready for transmission. The output of 30 inverter 154 pulses high which clocks the Flip/Flop 156 and latches the Q output thereof low. The DG output from E`lip/Flop 160 is normally low which allows the low signal at the Q output of Flip/Flop 156 to be coupled to tri-state buffer 158. Tri-state buffer 158 is enabled during the particular time slot corresponding to node by the digital audio slot decoder 164. During this period the latched low signal from Flip/Flop 156 is coupled to the data input of Flip/Flop 160~ If the busy bus generator B0 is polling that particular node, then a high-going pulse will occur on BSY1 input 82 during this time slot. The BSY1 82 pulses will clock the low signal into Flip/Flop 160 causing the DG signal to go low and the DG signal (data grant) to go high. The rising edge of the DG signal is coupled through the resistor capacitor network to reset the data request latch Flip/Flop 156. This causes the Q output of the Flip/Flop 156 to return high, ready to accept another DR input 152~ ~
The tri-state buffer 162 is also enabled during this time slot so the high DG signal is coupled through to pulse the DRDY output 76. In recognition of the DRDY
pulse, the data slot arbiter 74 should immediately inhibit the busy bus generator before the second pulse occurs on BSY1 82 input. Therefore, the DG signal will remain high and the DG signal will remain low until the busy bus generator resumes its polling. During each time slot, corresponding to the requesting node, the tri-state buffer 162 is enabled to couple another pulse to the DRDY output 76.
When the busy bus generator 80 resumes the polling sequence, one pulse will occur by BSY1 82 during the requesting nodes time slot. Buffer 158 will be enabled and will couple the high supplied through the diode from the DG signal to ~he data input of Flip/Flop 160. The pulse on the BSY1 input 82 will clock this high into Flip/Flop 160 causing the DG
signal t~ return high and the DG (data grant) signal to return low. This indicates that the time allocated to the requesting node for use of the data slot is over which means for normal operation that the complete data packet has been transmitted through the data slot.
If the DRDY signal 76 is not recognized by the data slot arbiter following the initial pclling of the 5 requesting node, due to perhaps a faulty buffer 162, the second pulse will occur on BSYl 82. This second pulse will clock a high into Flip/Flop 160 causing DG to return low. This is another fail-safe feature which prevents a g iven node from assuming con~rol of the 10 data slot when it is not recognized by the data slot arbiter 74.
Referring now to Figure 6, there ls shown a block diagram illustrating the transmit/receive data FIFO 168 as shown in Figure 5. A decoder 170 such as a Motorola~
15 Schottlcy-type SN74LS138 is shown coupled to the micro-processing unit at the node. The microprocessing unit can be a Motorola-type MC6803. The data busy signal DBSY
78 and start-of-frame signal 66 are coupled to the MPU.
The MPU provides an address signal to decoder 170. A
20 serial to parallel 8-bit shift register 172 receives data from the data bus or data slot~ An 8-bit parallel to serial ~P/S) shift register 174 is provided to shift data to the data bus through a hex buffer 176. The shift registers 172, 174 can be Motorola Schottky-type 74LS299 25 and 74LS165, respectively. The hex buffer can be a tri-state Motorola CMOS-type MC14503. A microprocessor data bus 178 connects the MPU to shift registers 172, 74.
The decoder 170 provides a MUX data read signal 180 and is coupled to the OE input of shift register 172 30 to enable shifting data from register 172 to the bus 178.
Decoder 170 provides a MUX data write signal 182 coupled to the PL enable input of shift register 174 to enable shifting data to the data bus through tri-state buffer 176. The data clock signal 52 is input into shift 35 registers 172, 74 to enable shifting the data at the data clock rate~ The data grant signal DG controls the 07~

tri-state buffer 176 so that it is enabled only when the particular node has been granted the use of the data bus.
Referring to Figure 7, there is shown a logic flow diagram for control of the data channel access port as shown in Figure 5. A data packet 184 is illustrated as including thirteen 8 bit bytes with byte zero providing the start of text (STX), byte one indicating the source address SRC ADR and byte two indicating the destination address. Two variables, RCNT and TCNT, are referenced in the flow diagram. Both of ~he variables are set to zero during normal operation. When a data packe~ is being received,RCNT is incremented to indicate which byte in the 13 byte packet 184 is to be received next. ~imilarly, TCNT is incremented when a data packet is being transmitted to indicate which byte is to be transmitted next.
The Interrupt ~equest block 186 is called by one of two interrupting signals, DBSY 78 or SF 66. The DBSY
signal is connected to the non-maskable interrupt input of the MPU. Any time the DBSY signal 78 goes high, the MPU jumps to the Interrupt Request block 186. The SF
signal 66 is connected to a maskable interrupt input to the MPU. The MPU can controllably mask and unmask the SF
interrupt. If the SF interrupt is unmasked and the SF
pulse 66 occurs,the MPU will jump to the Interrupt Request block 186. Conversely,if the SF interrupt is masked,then no action will be taken in response to the SF
pulse 66. In normal operation,the MPU functions to unmask the SF interrupt when a data packet is ready for transmission and also when a data packet is being received. This allows the MP~ to synchronize with the data slot on the TDM bus 28.
An interrupt request block 186 receives the interrupt request and passes the signal to a read data port block 188. The read data port block 188 causes the MPU to read the data byte received from the data slot by shift register 172 and then passes the signal to a j~lmp RCNT block 190. From the ~ump RCNT block 190,the signal is passed to either the ~eceive By~e O block 192, the Receiver By~e 1 block 194 or the Receive Byte 2 through 12 block 196,depending on the current value of the variable RCNT. Received byte 0 block 192 passes the signal to a start-of-packet decision block 198~ This block determines if it is the start of a data packet by determining if the interrupt was caused by DBSY 78 rather than SF 66. Then the signal is passed to a turn on start-of frame interr~pt block 200 that unmasks the SF
interrupt and passes the signal to an increase receiYe .
count block 202. The signal is passed by block 202 to a decision block 204 that determines if the TCNT is equal to oneO If it is not equal ~o one, the signal is passed to a return from interrupt block 206. If the TCNT is equal to one, the signal is passed to a transmit source address block 208. Transmit source address b1Ock 208 passes the signal to a block 210 to set TCNT equal to two . Block 210 passes the signal to the return from interrupt block 206~
If decision block 198 determines it is not the start of the data packet, then the signal is passed to a jump 25 TCNT block 212. Block 212 passes the signal to blocks 214 or 216 depending on the value of variable TCNT.
Block 214 corresponds to byte 0 and 1. Block 216 corresponds to T count byte 3 through 12. Block 214 passes the signal to a turn-off start-of-frame interrupt block 218. Block 218 passes the signal to a decision block 220 that decides if there is data to transmit. If there is data to transmit, block 220 passes a signal to a send/start of text block 222. Block 222 writes the STX
byte of the data packet into the transmit shift register 174 for transmission into the data slot and then passes the signal to a set data request blo~k 224. Block 224 ~Z~37 23 ~

outputs the DR pulse 152 and then passes the signal to set TCNT equal to one at block 226. Block 226 passes the signal to the return from interrupt block 206.
If decision block 220 determines there is not data to transmit, the signal is passed to return from interrupt block 20 6 .
Receive byte 1 block 194 passes the signal to a decision block 228 that determines if the source address (SEC ADR) byte read from the data slot through shift register 172 corresponds to the particular node. If yes, block 228 passes the signal to block 230 to determine if TCNT is equal to 2. If it is not the correct bit corresponding to the destination address, the-signal is passed to a dump block 232. If TCNT is equal to 2r bloc~
230 passes the signal to block 234 that sets RCNT equal to zero. This indicates to the MPU that it now has control of the data slot. Block 234 passes the signal to block 236 where the TCNT is incremented. Block 236 passes the signal to block 238 to get the nex~ byte to be transmitted and send the byte. Block 238 passes the signal to a decision block 240 that determines if the last byte has been sent. If the last byte has not been sent, the signal is passed from block 240 to the return from interrupt 206. If the last byte has been received, block 240 passes the signal to a block 242 to clear the TCNT (i.e. set TCNT equal to zero). Block 242 passes the signal tG the return from interrupt block 206.
If decision block 228 determines that the source address does not correspond to that particular node, the signal is passed to an increment RCNT block 244.
Increment RCNT block 244 passes the signal to a receive byte block 246. Receive byte block 246 loads the byte read from ~he data port into a receive data packet queue and then passes the signal to a decision block 248 that determines if the last byte has been received. If the last byte has not been received, block 248 passes the t79 signal to the return from interrupt block 206. If the last byte has been received, block 248 passes the signal to block 250 to clear RCNT by setting it equal to zero.
Recieve byte 2 through 12 block 196 also passes the signal to increment RCNT block 244 and the signal flow proceeds as described above.
While a preferred embodiment of the invention has been described in detail, i~ should be understood that many modifications and variations are possible that may fall within the true spirit and scope of the invention as defined in the appended claims.

Claims (5)

C L A I M S
1. A multiple access data communications controller for unifying the operation of a plurality of synchronous communication nodes and a time-division multiplex bus comprising:
(a) means for sequentially polling each of a plurality of synchronous nodes;
(b) means for receiving a signal from a synchronous node;
(c) means for simultaneously granting control of a predetermined data slot on the time-division multiplex bus to said requesting node for a predetermined time and inhibiting said sequential polling means;
(d) means for resuming sequential polling at the node following said requesting node in the sequence, whereby each of said plurality of nodes is provided equal access to a predetermined data slot; and (e) timing means for synchronizing the operation of said synchronous nodes, said time-division multiplex bus and said multiple access data communications controller.
2. The apparatus as claimed in claim 1 further comprising means for relating each of said nodes to a predetermined time slot on the time-division multiplex bus.
3. A multiple access data communications controller for use in a communications system providing for bi-direction-al audio and data transfer between a plurality of nodes and including a time-division multiplex bus connecting the nodes with a unique one of the recurrent time slots defined by the time-division multiplex bus corresponding to each of the plurality of nodes and a dedicated recurrent data time slot, said controller providing equal access to the dedicated data slot to each of the nodes comprising:
timing means for enabling synchronous operation with the time division multiplex bus;
means for sequentially polling each of the plurality of nodes;
means for receiving a requesting signal from a requesting node;
means for simultaneously granting control of the data time slot to said requesting node and inhibiting said sequential polling means for a predetermined time;
means for enabling designated ones of the plurality of nodes to receive data; and means for resuming sequential polling at the node following said requesting node in the sequence.
4. The apparatus as claimed in claim 3 wherein said timing means for enabling synchronous operation with the time-division multiplex bus include a bit rate clock means, counter means coupled to said bit rate clock means for generating a start-of-frame signal and data clock means.
5. Method of assigning a dedicated data slot on a time-division multiplex bus to one of a plurality of nodes such that each of the plurality of nodes has equal access to the dedicated data slot, the method comprising the steps of:
(a) sequentially polling the plurality of nodes;
(b) receiving a requesting signal;
(c) inhibiting the polling and simultaneously granting control of the dedicated data slot to said requesting node for a predetermined time; and (d) resuming sequential polling following said requesting node.
CA000458096A 1983-07-07 1984-07-04 Multiple access data communications controller for a time-division multiplex bus Expired CA1222079A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/511,804 US4603418A (en) 1983-07-07 1983-07-07 Multiple access data communications controller for a time-division multiplex bus
US511,804 1983-07-07

Publications (1)

Publication Number Publication Date
CA1222079A true CA1222079A (en) 1987-05-19

Family

ID=24036522

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000458096A Expired CA1222079A (en) 1983-07-07 1984-07-04 Multiple access data communications controller for a time-division multiplex bus

Country Status (2)

Country Link
US (1) US4603418A (en)
CA (1) CA1222079A (en)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0160187B1 (en) * 1984-03-26 1987-12-23 BBC Brown Boveri AG Method for evaluating analogous output signals of current and voltage converters and arrangement for the realisation of this method
DE3424866C2 (en) * 1984-07-06 1986-04-30 Messerschmitt-Bölkow-Blohm GmbH, 8012 Ottobrunn Method and arrangement for the transmission of data, in particular in an aircraft
JP2761872B2 (en) * 1987-03-20 1998-06-04 株式会社日立製作所 Multiple information exchange method and apparatus therefor
JP2696509B2 (en) * 1987-05-13 1998-01-14 株式会社リコー Control system for data terminal equipment
US5159701A (en) * 1989-03-31 1992-10-27 E. F. Johnson Company Method and apparatus for a distributive wide area network for a land mobile transmission trunked communication system
JP3092135B2 (en) * 1990-03-13 2000-09-25 株式会社日立製作所 Application execution control method
US5287354A (en) * 1990-08-28 1994-02-15 Ericsson Ge Mobile Communications Inc. Data protocol and monitoring system for RF trunking multisite switch global serial channel
US5566388A (en) * 1990-08-28 1996-10-15 Ericsson Inc. RF trunking multisite switch configuration and diagnostics interface
US5276442A (en) * 1991-02-22 1994-01-04 Ericsson Ge Mobile Communications Inc. Dynamic address allocation within RF trunking multisite switch
US5384776A (en) * 1991-02-22 1995-01-24 Erricsson Ge Mobile Communications Inc. Audio routing within trunked radio frequency multisite switch
US5297142A (en) * 1991-07-18 1994-03-22 Motorola, Inc. Data transfer method and apparatus for communication between a peripheral and a master
US5237570A (en) * 1991-07-18 1993-08-17 Motorola, Inc. Prioritized data transfer method and apparatus for a radiotelephone peripheral
US5835535A (en) * 1992-11-23 1998-11-10 Motorola, Inc. Data bus interface apparatus which measures voltage potential on the uplink line of the data bus and removes an AC component
US5535212A (en) * 1992-12-21 1996-07-09 Otis Elevator Company Implicit token media access protocol without collision detection
US5436901A (en) * 1992-12-21 1995-07-25 Otis Elevator Company Synchronous time division multiplexing using jam-based frame synchronization
US5365512A (en) * 1993-07-02 1994-11-15 Ericsson Ge Mobile Communications Inc. Multisite trunked RF communication system with reliable control messaging network
US5542115A (en) * 1994-06-24 1996-07-30 Pioneer Tech Development Limited Paging method and apparatus
US6529486B1 (en) 1997-04-11 2003-03-04 Transcrypt International/E.F. Johnson Company Trunked radio repeater communication system
US6684080B1 (en) 1997-05-28 2004-01-27 Transcrypt International/E. F. Johnson Company Trunked radio repeater communication system including home channel aliasing and call grouping
US6374115B1 (en) 1997-05-28 2002-04-16 Transcrypt International/E.F. Johnson Method and apparatus for trunked radio repeater communications with backwards compatibility
US6927783B1 (en) * 1998-11-09 2005-08-09 Broadcom Corporation Graphics display system with anti-aliased text and graphics feature
US7653770B2 (en) * 2007-01-18 2010-01-26 Xerox Corporation Time multiplexed bidirectional bus

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2087175A5 (en) * 1970-05-08 1971-12-31 Peron Roger
US3633169A (en) * 1970-05-28 1972-01-04 Raytheon Co Demand access digital-communications system
JPS5141287B2 (en) * 1972-09-04 1976-11-09
US3816666A (en) * 1972-10-02 1974-06-11 Communications Satellite Corp System for changing the burst format in a tdma communication system
US3898387A (en) * 1973-08-21 1975-08-05 Charles P Fort Digital data switching system utilizing voice encoding and decoding circuitry
DE2455055C3 (en) * 1974-11-20 1978-11-23 Siemens Ag, 1000 Berlin Und 8000 Muenchen Arrangement for querying, transmitting and displaying signal states
CA1086397A (en) * 1976-09-14 1980-09-23 Charles G. Diefenderfer Polling an data communication system having a pulse position to binary address conversion circuit
US4100533A (en) * 1976-12-06 1978-07-11 Bell Telephone Laboratories, Incorporated Multipoint polling technique
US4100377A (en) * 1977-04-28 1978-07-11 Bell Telephone Laboratories, Incorporated Packet transmission of speech
FR2406916A1 (en) * 1977-10-18 1979-05-18 Ibm France DECENTRALIZED DATA TRANSMISSION SYSTEM
US4161786A (en) * 1978-02-27 1979-07-17 The Mitre Corporation Digital bus communications system
US4375097A (en) * 1978-06-02 1983-02-22 Texas Instruments Incorporated Transparent intelligent network for data and voice
US4251865A (en) * 1978-12-08 1981-02-17 Motorola, Inc. Polling system for a duplex communications link
US4251880A (en) * 1979-07-31 1981-02-17 Bell Telephone Laboratories, Incorporated Digital loop switch for controlling data information having differing transmission characteristics
US4313196A (en) * 1979-12-28 1982-01-26 International Business Machines Corp. Priority system with low speed request bus
US4322576A (en) * 1979-12-28 1982-03-30 Racal-Milgo, Inc. Message format for secure communication over data links
US4340961A (en) * 1980-03-06 1982-07-20 Atomic Energy Of Canada Limited Distributed multi-port communications system

Also Published As

Publication number Publication date
US4603418A (en) 1986-07-29

Similar Documents

Publication Publication Date Title
CA1222079A (en) Multiple access data communications controller for a time-division multiplex bus
KR880002197B1 (en) Circuitry for allocating acess to a demand-shared bus
JP4813665B2 (en) Data exchange method and apparatus
JPH0448010B2 (en)
US4156112A (en) Control system using time division multiplexing
US4463445A (en) Circuitry for allocating access to a demand-shared bus
FI75704B (en) ANORDNING FOER SYNKRONISERING VID OEVERFOERING AV INFORMATION PAO EN ENKELRIKTAD BUSS.
GB2117939A (en) Data communication network and method of communication
EP0274648A1 (en) Arbitration circuit
JP2991046B2 (en) Master-slave communication method
KR100208292B1 (en) Dual-bus clock monitoring circuit of ipc
US5086505A (en) Selective individual reset apparatus and method
US3629503A (en) Digital synchronization system
EP0183530A2 (en) Subscriber line interface modem
US7350002B2 (en) Round-robin bus protocol
EP0183549B1 (en) Subscriber line signalling device for use in a telecommunications system
JPS6045864A (en) Transferring of infromation between microcomputers in systememploying no central processing control
KR100293357B1 (en) Bus occupation control method design using modified round robin method
EP0130000A2 (en) Apparatus and method for controlling access by a plurality of units to a shared facility
SU1525903A1 (en) Variable distributor switchgear
SU805312A1 (en) Device for priority connection of processors to common line
SU1751759A1 (en) Priority multichannel device
SU1386993A1 (en) Multichannel priority device
SU1336024A1 (en) Device for controlling exchange of information in multiprocessor system
SU1322321A1 (en) Interface for linking peripheral device with digital computer

Legal Events

Date Code Title Description
MKEX Expiry
MKEX Expiry

Effective date: 20040704