EP0830767A1 - Arbitrierungsverfahren zum zugreifen auf einen steuerungskanal in einem datenbussystem - Google Patents
Arbitrierungsverfahren zum zugreifen auf einen steuerungskanal in einem datenbussystemInfo
- Publication number
- EP0830767A1 EP0830767A1 EP96916642A EP96916642A EP0830767A1 EP 0830767 A1 EP0830767 A1 EP 0830767A1 EP 96916642 A EP96916642 A EP 96916642A EP 96916642 A EP96916642 A EP 96916642A EP 0830767 A1 EP0830767 A1 EP 0830767A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- node
- control channel
- state
- cbf
- cycle
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0602—Systems characterised by the synchronising information used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/427—Loop networks with decentralised control
- H04L12/43—Loop networks with decentralised control with synchronous transmission, e.g. time division multiplex [TDM], slotted rings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/604—Address structures or formats
Definitions
- the present invention relates to data bus systems and, in particular, to a ring bus data transfer system.
- Data transfer systems such as digital video signal processing systems, process data at high data rates and require correspondingly high bandwidth bus systems for data transfer.
- digital video data in MPEG format exhibits data rates of 4 to 8 Mbits per second.
- a bus system based on packetized data may provide sufficient bandwidth.
- hardware and software for implementing packetized systems may be costly, making it impractical for consumer electronic equipment.
- a packet bus may require excessive "overhead" such as packet processing delays that preclude providing the high data rates required for MPEG data transfer.
- a high data rate data transfer bus which may be constructed at a relatively low cost, and which does not require a high overhead, is desirable for interconnecting consumer electronic equipment.
- a data transfer bus termed the BeeBus (BBUS) transfers data in bus cycles, each including at least one bit of a control channel.
- the BBUS is a high data rate bus system which may be used for transfer of digital video data. More specifically, the BBUS system is a time division multiplexed (TDM) bus with a total capacity of 88 Mbits/sec. that is designed to transfer data transparently from a source node to a destination node on the bus.
- TDM time division multiplexed
- the BBUS operates by serially transmitting nine-bit words from node to node on the ring.
- the BBUS system includes a CEBUS-compatible control channel.
- One bit of the bus cycle synchronization word carries the data for the CEBUS-compatible control channel.
- the BBUS is designed to carry eight data channels, which can be grouped into blocks to provide the necessary capacity for any combination of number of channels and channel capacity as long as the total number of channels is eight or less, and the total assigned capacity is 88 Mbs or less.
- the CEBUS-compatible control bus included in the BBUS system has a message structure that does not involve arbitration on transmission.
- Each device has a preassigned control channel slot with a capacity well in excess of 10 kbs.
- Each device has the channel capability to receive messages from 31 other devices simultaneously. However, it is envisioned that the receiving device will process only one message at a time. Thus arbitration will be done by the receiving device, not the transmitting device.
- the receiving device will process messages in a round robin fashion, one message at a time. Because the message length is about 32 bytes, all control channel messages will be sent with this fixed length, and all messages will start with the same control cycle time slot.
- This slot is the basic operating system sync. It occurs every 32 control device slots x 32 message slots which is approximately 8 ms. as explained below. Thus a control channel message can be sent every 8 ms. (Sixteen device to device messages could be sent simultaneously.) This compares to about 25 ms. for a CEBUS control message.
- the BBUS transfers information on the CEBUS-compatible control channel one bit per bus cycle (consisting of 88 nine-bit words). This requires message rejection by the receiving device, and can cause possible grid lock and multiple message transmission. A control channel transmission method which obviates these problems is desirable.
- each node in such a data transfer system competes for access to the control channel according to the following method.
- an encoded preamble is generated, having a number of successive states, each state being one of a superior and an inferior state.
- the control channel bit in a bus cycle is set to a superior state, representing a first state of the encoded preamble.
- a control channel bit is received. If the preceding control channel bit was set to an inferior state, and the state of the received control channel bit is a superior state, then the node drops out of contention for the control channel and for the remainder of the arbitration cycle sets the control channel bit to the state of the received control channel bit.
- the node acquires access to the control channel. Otherwise, the next state of the encoded preamble is determined, and the control channel bit is set to the next state of the encoded preamble.
- Fig. 1 is a block diagram of a data bus system according to principles of the present invention
- Fig. 2 is a diagram illustrating the format of the data transmitted around the ring of nodes illustrated in Fig. 1;
- Fig. 3 is a block diagram of a prior art arrangement for interconnecting nodes in a ring structure
- Fig. 4 is a block diagram of a method of interconnecting nodes in a ring structure embodying the present invention
- Fig. 5 is a block diagram of the circuitry necessary for connecting a node with the input and output cables.
- Fig. 1 is a block diagram of a data bus system according to principles of the present invention.
- Five nodes, node A, node B, node C, node D and node E, are interconnected by a bus with a ring structure as shown in Fig. 1.
- Data is transferred from one node to the next in the ring in a format illustrated in Fig. 2.
- data words are represented by a series of rectangles at the top of the figure.
- the basic data word in the system contains nine bits. Eight bits (one byte) are payload and one bit is used for link level control. There are 88 nine-bit data words transmitted in a bus cycle. With a bit rate clock of 100 MHz (i.e. a period of 10 ns), each nine-bit word is 90 ns long. Thus, the fundamental bus cycle in the system is 7,920 ns, or 88 counts of nine 10 ns clock cycles.
- One sync word is transmitted by the bus cycle master every 7,920 ns. This provides a payload of 87 data words every 7,920 ns or 10,984,848 bytes/per sec.
- the maximum BBUS data rate is, therefore, 87,878,787.88 Mbits/sec.
- the data channels are protocol independent channels with constant delay and with jitter of less than 1 ⁇ s per 11 Mbs of capacity.
- the first nine-bit data word of a bus cycle is a synchronization word (SYNC). This is followed by a data word carrying data for channel 1 (CHI). This is followed by data words carrying data for channels 2 through 8 (CH2 through CH8). This cycle of data words for the respective channels is repeated for the remaining 87 time slots in the bus cycle.
- Fig. 3 is a block diagram of a prior art arrangement for interconnecting nodes in a ring structure. Each node in Fig.
- FIG. 3 includes an input connector, illustrated on the lower left of each node, and an output connector, illustrated on the lower right of each node.
- a first cable is connected between the output connector of node A to the input connector of node B.
- a cable are connected between the output connector of node B and the input connector of node C (not shown), and in general from the output connector of a node to the input connector of the succeeding node.
- the last node illustrated in Fig. 3 is node E. To complete the ring, a cable is connected from the output connector of node E to the input connector of node A.
- data in the return path can be time multiplexed with the forward path.
- a set of wires can be included in each cable for the reverse path. The latter approach is preferred because time multiplexing reverse and forward paths reduces the available capacity by half.
- Fig. 4 is a block diagram of a method of interconnecting nodes in a ring structure embodying the present invention.
- each cable includes the wires necessary for the forward path from a node to the succeeding node, and the wires for the return path from the output connector of the final node to the input connector of the first node.
- the BBUS cable of the illustrated embodiment requires eight wires, four in each direction.
- a ground/shield is included and a pin to indicate that a cable is connected to the port. This pin is wired to the ground/shield.
- the utilization circuitry (not shown) of the node is also coupled to an input terminal of an output parallel- to-serial shift register 50.
- An output terminal of the output register 50 is coupled to a first input terminal of a second switch circuit 60 and to an input terminal of an output connector 70.
- the output connector 70 receives a cable from the next succeeding node. This cable is terminated in a plug 90.
- the plug 90 also includes wires making up the forward path to the next succeeding node, and wires making up the reverse path from the last node to the first node.
- the output terminal of the output register 50 is coupled to the forward path through the output connector 70 and the plug 90.
- the reverse path wires are received at plug 90, and supplied to the output connector 70.
- the input wires from the reverse path are coupled to a second input terminal of the first switch 30, and to a second input terminal of the second switch 60.
- An output terminal of the second switch 60 is coupled to an output terminal for the reverse path at the input connector 20.
- the output terminal of the second switch 60 is then coupled to the reverse path through the input connector 20 and the plug 10.
- the input connector 20 and the output connector 70 also have a wire connected to a logic circuit 80.
- the pin on the input connector coupled to the grounded wire illustrated on the plug 10, and the pin on the output connector 70 coupled to the grounded wire illustrated on the plug 90 are coupled to the logic circuit 80. This wire will be pulled high in the input connector 20 and the output connector 70, and pulled down by the grounded terminal in the plug 10 or 90, respectively.
- Respective control output terminals of the logic circuit 80 are coupled to corresponding control input terminals of the first and second switches, 30 and 60.
- the logic circuit 80 will detect this by the ground potential at the input terminal corresponding to that input connector. This is used to route the input signal from the appropriate connector (20 or 70) to the input register and to route the output register 50 to the appropriate connector 20 or 50.
- the first node in the daisy chain will have no cable connected to its input connector 20, but will have a cable connected to its output connector 70.
- the logic circuit 80 detects this arrangement. It conditions the first switch 30 to couple the input wires from the reverse path at plug 90 to the input register 40.
- the output register 50 is coupled to the forward path at the output connector 70.
- This first device is also designated the bus master.
- the last device in the daisy chain will have a cable connected to its input connector 20, but not have a cable connected to its output connector 70.
- the logic circuit 80 detects this arrangement. It conditions the first switch 30 to couple the wires from the forward path at the input connector 20 to the input register 40. It also conditions the second switch 60 to couple the output register 50 to the wires of the reverse path at the input connector 20.
- Devices in the middle of the daisy chain have cables connected to both the input connector 20 and the output connector 70.
- the logic circuit 80 detects this arrangement. It conditions the first switch 30 to couple the wires from the forward path at the input connector 20 to the input register 40.
- the output register 50 is coupled to the wires of the forward path at the output connector 70.
- an RJ45 connector can be used.
- the presence or absence of a cable in a connector will be determined by sensing clocks on input wires and measuring current on output wires.
- such sensing circuitry will be connected between the input connector 20 and the logic circuit 80, and between the output connector 70 and the logic circuit 80, and will supply logic signals to the logic circuit 80 to indicate the presence or absence of a bus connection based on the results of that sensing.
- Use of an RJ45 connector permits using a relatively inexpensive cable and printed circuit board (PCB) connector which may be desirable in consumer electronics systems.
- the control channel protocol in the BBUS is similar to that used for CEBUS.
- the message structure and encoding are substantially the same as for CEBUS. This results in one message approximately every 25 ms.
- the control channel is described in more detail below.
- BBUS synchronization is addressed in the following manner.
- a problem with a daisy chain ring bus connected via a serial link is that one node must start an initialization process to cause all nodes to operate in sync and then handle other initialization operations such as node numbering. This process is greatly simplified if one node can become the undisputed master of the ring communication. This is accomplished by defining the bus master to be the one node that has no cable directly connected to its input connector 20, which may be determined as described above.
- the bus master will initiate the following operations (described in more detail below):
- the format of data words in the BBUS is as follows. Node to node communication is accomplished by bit serial transmission of a 9 bit word from one node to the next, as described above. The word is read into the node input shift register 40, transferred to the output shift register 50, (as indicated in phantom in Fig. 5) and then transmitted to the next node.
- One bit of the word e.g., the most significant bit
- An example of the control bit definition is:
- the synchronization word (SYNC) inserted into the data stream at the beginning of each bus cycle, indicated by the thick rectangle, includes nine bits, as indicated by the bit expansion below the data stream representation.
- the most significant bit, indicated by a thick rectangle in the bit expansion, is a logic '1' bit.
- the nine-bit data word carrying the second channel 1 word in this cycle has a most significant bit, also indicated by a thick rectangle, which is a logic '0' bit, as indicated in the bit expansion below the data stream representation.
- Word synchronization is achieved by the master node transmitting a sync code (described in more detail below) at its output connection 70 after power is initially applied to the system.
- the master node then begins to examine the data received at its input connection 20 for the return of the word sync code by examining its input register 40 (which in a preferred embodiment is a 19 bit register) until the word sync code is detected.
- the description below is based on the word sync code being a single nine-bit word. However, the word sync code may be a sequence of two or more code words. When the word sync code has been detected, word sync has been achieved.
- Delays in such a ring of nodes may be a non-integer number of nine-bit word times as a result, for example, of processing and cable- related delays.
- input shift register 40 can contain a number of bits greater than that needed to store one word of data.
- a preferred embodiment of input shift register 40 contains 19 bits.
- the data in input register 40 is examined at integer word times.
- the position of the nine-bit sync word in the 19-bit shift register indicates a delay relative to an integer word time. The delay is used to adjust the timing of subsequent words.
- the clock accompanies the data, and, thus, is delayed the same as the data so there is no timing delay apparent to the node. Since the master node has a reference clock, the delay through the complete ring is apparent to the master node. The extent of the delay is limited by cable length to less than one word, except for integer word delays at each node.
- the 19-bit input shift register 40 of each non-master node can be used to provide additional word delays as needed, in a manner to be described in more detail below. Timing signals in each node are provided as follows. Each node has two clocks.
- the input data from the input connector 20 to the input shift register 40 is shifted in by the clock derived from strobes from the immediately preceding node, as received at the input connection 20 (or output connection 70 for the master node).
- Each node also has its own internal crystal clock which it uses to drive its output shift register 50 and its internal logic. It is, thus, possible that the internal clock is either faster or slower than the input clock by a small amount and this must be corrected. In the case that the input clock is faster than the internal clock, the additional input clock cycle is absorbed by allowing the input word to be shifted an additional bit in the input shift register 40.
- the data input time cycle as defined by the internal clock is extended an extra clock cycle, while the input data is being shifted into the input shift register 40.
- the above has the cumulative effect of slowing the ring to the speed of the slowest node internal clock.
- Bus cycle counters within each node are synchronized by resetting all the cycle counters when a cycle sync word (described below) is read into a node at the end of the input cycle.
- each node goes through the same states as the previous node, delayed by one received word time plus cable propagation delay.
- the timing state of each node, except the master node is synchronized by the receipt of the cycle sync word to compensate for the delay. For example, if the total cable length is limited to 10 meters, then the total delay through the cable is on the order of 50 ns or five clock cycles for a 100 MHz clock. Thus, less than one word is stored in the cable.
- the cable length may be significantly longer when the return path is included, and the added length must be considered when designing a cable driver.
- node synchronization and node addressing several features must be provided. These features include word synchronization and bus cycle synchronization (both described above), message synchronization, node addressing and an indication that no data is present in a data slot (all described below). To this end, several special synchronizing and addressing words are provided and are identified by having a logic '1' as the most significant bit in the nine-bit data word. In the present embodiment, the system is limited to no more than 32 nodes. Thus, only 5 bits of a byte (e.g., bits 3 through 7 of a byte having bits designated 0 through 7) are needed to identify a destination node address.
- the identification of a source node address is implied by the time slot, although that information may be sent in an additional byte if desired.
- the remaining 3 bits of a byte (e.g., bits 0 through 2) are used to identify eight special synchronizing and addressing codes defining various functions as shown in Table 1.
- the first row in Table 1 shows a code 00H (i.e., 00 in hex) special synchronization word which is used to indicate that there is no data present for a particular time slot.
- This code is needed because time slots are always present in the data stream, and the destination receiving node will look at every time slot in the assigned channel. This word permits the source node to recognize that data was not available for a particular time slot.
- the second row in Table 1 shows the word synchronization code, described above. In this code bits 0 through 2 are equal to 111.
- the third row in Table 1 shows an addressing code word for specifying a destination address. This code is not needed when the CEBUS protocol is used to set up communications channels between nodes. In such a case, the destination address is already encoded in the control channel message as described in the industry standard EIA IS-60. Further, node address code zero is reserved for broadcast messages. The master node is node one. Thus, only 31 physical nodes are allowed in the system. When a message is broadcast, the sender assumes that it is received by all nodes. There is no acknowledgment, thus, reception is not certain.
- the fourth row in Table 1 shows a bus cycle synchronization word, as illustrated in Fig. 2.
- a bus cycle synchronization word bits 0- 2 equal to 110.
- the least significant bit of the bus cycle synchronization word carries a bit for the control channel, and is indicated by an X in Table 1, to indicate a 'don't care' condition.
- the modulo 88 channel counter 0
- the control channel has a slot. If the node counter and the message length counter in the master are zero, the master sends the cycle sync code.
- each node can reset its counters if it has lost sync. If a bus cycle synchronization word is not detected within a reasonable time, the node can assume the bus is broken.
- control channel may be assigned the job of node naming. In this case, there is no need to assign names or numbers to the nodes.
- the master node provides node numbering as a part of the initialization process. After word sync is accomplished as described above, the master sends the name command illustrated in the fifth row of Table 1, i.e., with bits 0-2 equal to 100 and with node address bits (bits 3-7) set to 00001. The n mber in the node address bits represents the node address of the transmitting node - the master node in this case.
- Each of bits 4 to 7 represents 2 adjacent data channels, e.g. bit 7 represents slots 0 and 1 for a total capacity of 22 Mbs; bit 6 represents slots 2 and 3, and so forth.
- the link level resource allocation request word be used for simple nodes that have no capability to use the control channel. When such a node requires access to a bus channel, it transmits to the bus a resource allocation request with one of the bits corresponding to a desired pair of channels indicated in bits 4 to 7, instead of a destination message address word. When a succeeding node receives a resource allocation request, it passes the request on unchanged to the next node if it has no conflict with the request.
- the node If the node is using the requested resource, it zeros the bit corresponding to the requested channel which is in use, and sends the modified word on to the next node. The source node then must remove the request from the ring. There is no other fairness rule or further arbitration. If the request returns without having the channels zeroed, the requesting node uses the channel. If the channel is unavailable, the requesting channel tries another of the four pairs of channels. If no channel is available, the process stops. The process could resume after a long random delay. This method of requesting use of data channels is envisioned for nodes which intend to use the channel for long sessions and for few simple nodes without control channel capability.
- the seventh row of Table 1 illustrates a ring delay adjustment word, in which bits 0-2 are equal to 011.
- each node must remove the messages it puts on the ring. To do this it must know the length of the delay on the ring in integer word times. This must be determined by the master node during the initialization process.
- the master node assumes the delay is at least the number of nodes in the system.
- the master counts the number of clock cycles required for the return of the name command (described above). This count is then rounded up to the next integer number of word cycles (of nine clock cycles) and is termed the ring delay.
- each node except the master node is corrected in time for the cable length from the previous node by the receipt of the word synchronization word.
- each node except the master node adds a delay of 1 word time.
- the master node sees the total delay of the loop and adjusts that delay to a multiple of eight word times, unless fewer than four nodes are connected in the loop. If fewer than four nodes are connected, the delay is adjusted to a multiple of four word times, and the system is configured to have four channels of 22 Mbs each.
- the ring delay is increased by using the ring delay adjustment word until the total ring delay is correct.
- the last row of Table 1 illustrates a payload data word.
- the most significant bit is a logic '0', and the remainder of the eight bits carry data to be transmitted from one node to another.
- Nodes do not remove data from the ring (except as noted) during the initialization process, except for the master node.
- the bus cycle sync command indicates the end of the initialization process.
- Each node removes its transmissions some modulo 8 (or modulo 4) number of words after the bus cycle sync command.
- modulo 4 An alternative is a modulo 4 implementation in which either each node must know that it is in a ring of delay 4 or only the first four slots are allowed to be used. The latter is relatively easy to implement and reasonable because with only four nodes, the need for channel capacity is not generally as great.
- the bus time slots should be a modulus of the total ring delay and the multiplexing frequency.
- One approach is to fix the modulus of the ring delay.
- Each node must have the capability to insert a delay of up to two 9 bit words in it's input shift register 40, in case it is the master. This delay can also be used to adjust the delay of the ring.
- each node can be configured to introduce a delay of either one or two words. For a ring including just two or three nodes, the ring can thereby be adjusted to have a delay of four. In all other cases the ring can be adjusted to have a delay which is a modulus of 8 word times.
- ring delay adjustment occurs as follows. After the total word delay around the ring is measured by the master node. If it is not a modulus 8 (or 4), a ring delay adjustment word is transmitted by the master to increase the delay. The first node to receive this word which has not already increased its delay, (i.e. it's delay is still one word) conditions itself to receive it's input word from the second nine bits of the input shift register 40 instead of the first nine bits. In this manner, that node introduces an extra word delay into the loop, and now has a delay of two words. This node then removes the word from the bus. This process is repeated until the correct number of word delays have been added to the ring and its word delay is modulo 8 (or modulo 4).
- the ring cable length should be limited to approximately 18 meters to avoid the case of cabling itself adding more than one word delay. With such a system, it is relatively simple to add the multiplexing constraint of 8 channels.
- the basic system (see Fig. 2) is 11 cycles of 8 slots of 9 bit words. Every 88 slots, one slot is used for a synchronization word containing a control channel bit.
- an arbitration could be initiated whenever a node desires access to the control channel.
- an arbitration could be initiated whenever multiple nodes simultaneously desire access to the control channel. If an arbitration is necessary, it may be triggered in a known manner by monitoring the activity on the control channel, and triggering the arbitration when the bus has been inactive for longer than some predetermined period of time.
- each node desiring access to the control channel computes an eight-bit preamble. In a preferred embodiment, this preamble is generated as a random number in each node and is different for each arbitration.
- each node could be preassigned a preamble representing the relative priority of each node.
- the preamble is used to arbitrate access to the control channel.
- the node that successfully arbitrates for the control channel completes transmission of its message. All other nodes must wait for the next available time interval (determined as described above) before attempting to arbitrate for the control channel.
- the preamble and message are encoded for transmission as an alternating sequence of superior and inferior states.
- a symbol is represented by a state in the control bit of the cycle synchronization word, or series of states in the control bits of successive cycle synchronization words. The value of the symbol is conveyed by the amount of time until the next state transition.
- any of the information bearing symbols (1, 0, EOF, EOP) may be represented by either a superior or inferior state signals, or series of consecutive superior or inferior state signals.
- a logic '1' signal is represented by a single superior state signal '1' or a single inferior state signal '0'.
- a logic '0' signal is represented by two consecutive superior state signals '11' or two consecutive inferior state signals '00', and so forth.
- the bits '0101' in the preamble may be represented by the control channel signals: 001001, i.e.
- the same bits in the preamble may be represented by the control channel signals: 110110. It is the time lapse between state transitions which determines the symbol value.
- CBF Control Bit Field
- a "Control Channel Cycle” begins when a node first places a superior state in the CBF and ends when an "End Of Packet” symbol (defined above) is transmitted by the node that wins the arbitration or there is a cycle time out.
- the "Write Node” is the first node to place a superior state in the CBF during the first control channel cycle. This begins the control channel arbitration cycle.
- Competing Nodes are all nodes that compete for the control channel located after the write node in the loop.
- Late Nodes are all nodes that compete for the control channel that are located before the write node in the loop and begin arbitration during the next bus synchronization cycle.
- node A is the master node for the bus and assume Node C is the "Write Node".
- Nodes D and E can be competing nodes on the same bus cycle.
- Nodes A and B can also be competing nodes but are referred to as "late nodes” because they began arbitration on the succeeding bus synchronization cycle.
- the master node A receives the CBF from node E once some node has initiated a Control Bus Cycle. Otherwise it sets CBF to the inferior state, 0.
- the arbitration rules are as follows: First, a node may compete for access to the CEBUS control channel, provided it has met all the control channel inactivity timing requirements of IS-60. These timing requirements shall begin from the last observed superior state in the CBF.
- the CBF output from a node must be a superior state if that node receives a CBF having the superior state. Exceptions to this rule are given below. Nodes which are not contending for access to the control channel pass the received CBF unchanged to the next node.
- this node shall set the CBF to the superior state, even if it receives a superior state.
- the first node to assert a superior state signal during the bus cycle after the control channel inactivity timing requirements are met is the write node.
- the CBF value may not be changed from the superior state except by the write node.
- all competing nodes may change the CBF from an inferior state to superior state.
- the designation of a node as the write node may be inherited by any node that changes the CBF from inferior to superior state. That is, if a node initially is not the write node, and that node receives an inferior state CBF, but changes it to a superior state based on its encoded preamble, that node becomes the write node.
- the write node status is lost by the node previously designated as the write node if that node receives a CBF other than the one it asserted on the control channel during the preceding bus cycle. In addition, that node drops out of contention for access to the control channel.
- arbitration begins at step 600.
- Step 605 determines whether a node is contending for access to the control channel, e.g., if the node has a control message to send.
- step 605 is followed by steps 660 and 665 which pass each received CBF state through the node unchanged until the end of arbitration.
- step 665 is followed by steps 635 at which arbitration ends and step 640 at which the node that contends for access and wins arbitration accesses the control channel.
- step 605 For a node that is contending for access to the control channel, step 605 is followed by step 610 at which a preamble is generated.
- a node that is contending for access to the control channel and that receives a CBF exhibiting an inferior state becomes a write node and initiates transmission of its preamble by setting CBF to a superior state at step 615.
- the next CBF is received at step 620.
- Step 620 is followed by step 625 which determines whether the prior CBF state was an inferior state while the received CBF is a superior state. If so ("YES" result at step 625), another node has changed the CBF to the superior state, i.e., another node has become the write node.
- step 625 is followed by step 660 at which the present node ceases contending for access to the control channel and, as described above, does not change subsequent CBF values, i.e., passes CBF values through the node.
- a "NO" result at step 625 indicates that the present node continues to be a "write” node resulting in the execution of step 630 after step 625.
- Step 630 determines whether the prior CBF state was both the last state of the preamble and the same state as the received CBF.
- a "YES" result at step 630 indicates that the node has successfully completed sending its preamble and, therefore, has won the arbitration.
- a "YES” result at step 630 is followed by step 635 which ends arbitration and step 640 at which the winning node accesses the control channel.
- a "NO" result at step 630 indicates that all preamble bits have not been sent and step 650 is executed.
- the next CBF state produced by the node is determined by the next preamble state and by the rules set forth above for changing the CBF state.
- Step 650 is followed by step 620 at which the next CBF state is received.
- the master node sets the Control Bit Field (CBF) in the bus cycle synchronization word to an inferior state signal '0'.
- CBF Control Bit Field
- Any node which desires control channel access begins to transmit its encoded preamble in the CBF by changing the CBF to the superior state 1, and that node becomes the write node.
- Subsequent nodes which are not competing for access to the control channel (termed non-competing nodes) take note of the superior state 1 of the received CBF and pass it to the next node, unchanged.
- Non-competing nodes must then wait for the next time when control channel inactivity times are met before they can compete for the control channel. From this point on in this arbitration cycle, the non-competing nodes will pass the CBF sent to them to the next node unchanged. Any node preceding the write node will not see the superior state 1 in the CBF during this first bus cycle in the arbitration cycle. The operation of such nodes will be described in more detail below.
- the first node will begin to transmit its encoded preamble by setting the CBF to the superior state.
- CBF(cycle#) state.
- the CBF value may not change from the superior state until it completes the loop (i.e. until it is received by the write node). As described above, all non-competing nodes pass the CBF as received and no longer compete for access to the control channel during this CC cycle.
- There may be a node between the master node and write node which desires control channel access, but did not observe CBF(l) 1 in the preceding bus cycle.
- the write node may change the state of the
- Each node which remains in contention for access to the control channel either sets the CBF to the next state in its encoded preamble, or drops out of contention for access to the bus.
- each node still in contention attempts to transmit the states of an end-of-field symbol, which, as described above, is three consecutive superior or inferior state signals.
- the first node to successfully transmit and receive its encoded preamble followed by the end-of-field symbol has won the arbitration and may begin to transmit its message in the CBF of the bus cycle synchronization words.
- the node that remains designated as the write node has successfully arbitrated for access to the node.
- the write node status is inherited by any node that changes the CBF from an inferior to a superior state.
- the write node status is lost when the write node receives back a CBF different than the one it placed on the control channel.
- Five examples of control bit field values follow. Each example is illustrated in a table. Each node is represented by a column in the table. The second row in the table shows the randomly generated preambles for the nodes contending for access to the control channel. The third row in the table shows the preambles encoded according to the rules given above.
- the first state for encoding the preambles is the superior state.
- the remaining rows show the states of the CBF as it is produced by each node in succeeding bus cycles.
- the fourth row is the zeroeth cycle and represents the last cycle of control channel inactivity before an arbitration cycle is initiated.
- node A is the master node
- node D initiates the arbitration cycle
- node B is a late node competing with node D for access to the control channel.
- the master node, node A maintains an inferior state 0 in the CBF in the time period preceding the arbitration cycle, as illustrated in cycle 0, and the first portion of bus cycle 1.
- node D initiates the arbitration cycle by asserting a superior state in the CBF as the first state of its encoded preamble.
- Node E and node A are not competing nodes, and pass this signal to node B in bus cycle 2.
- Node B is a late node, and passes the superior state to node C.
- Node C is also not a competing node, and passes the superior state back to node D.
- node B This is passed to node B in cycle 3 by nodes E and A.
- Node B receives a 0 in cycle 3, but changes it to a 1, as the next state of its encoded preamble.
- Node B now becomes the write node.
- the 1 is passed by node C to node D.
- Node D transmitted a 0 in cycle 2 but received a 1 in cycle 3.
- Node D therefore, drops from contention for access to the control channel.
- All nodes but node B now become passive and pass the received CBF to the next node unchanged.
- node B successfully transmits and receives its encoded preamble followed by an end-of-field symbol, and acquires access to the control channel. Cycles Node Node Node Node Node Node Node Node A B C D E
- node D initiates an arbitration cycle by setting
- CBF( 1 ) 1 as the first state of its encoded preamble, and is the write node.
- Nodes A, B and C are non-competing nodes, and pass received CBF values to the next node unchanged.
- Node D therefore knows it has lost the arbitration, and drops out of contention for access to the control channel.
- all nodes except node E are out of contention for access to the control channel, and pass the received CBF value to the next node unchanged.
- Node E eventually transmits its complete encoded preamble and following end- of-field symbol, and acquires access to the control channel. Cycles Node Node Node Node Node Node Node A B C D E
- Node E is a contending node, and passes
- the next state of its preamble is 0. Node E, therefore, drops out of contention for access to the control channel, and passes the received CBF to node A unchanged during the remainder of the arbitration cycle.
- node D successfully sends its encoded preamble followed by an end-of- field symbol, and acquires access to the control channel.
- Node D initiates an arbitration cycle in cycle 1 by setting
- CBF(l) 1.
- Nodes A, B and C are non-contending nodes which pass the received CBF to the next node unchanged.
- Example 5 is similar to example 4, except that node B is a late node.
- the preambles of both nodes B and D are identical.
- Nodes A, C and E are non-competing nodes, passing received CBF values to the next node unchanged.
- the encoded preambles of both nodes B and D are identical, and each remains in contention for access to the control channel through cycle 10. In cycle 10, node D begins to send an end-of-field symbol. In cycle 11, node B also begins to send an end-of- field symbol. Again, both nodes remain in contention for access to the control channel through cycle 12.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Bus Control (AREA)
- Small-Scale Networks (AREA)
- Information Transfer Systems (AREA)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB9511327.0A GB9511327D0 (en) | 1995-06-05 | 1995-06-05 | Cebus control channel in a time division multiplexed bus |
GB9511327 | 1995-06-05 | ||
PCT/US1996/007706 WO1996039767A1 (en) | 1995-06-05 | 1996-05-24 | A method for arbritrating for access to a control channel in a data bus system |
Publications (1)
Publication Number | Publication Date |
---|---|
EP0830767A1 true EP0830767A1 (de) | 1998-03-25 |
Family
ID=10775519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP96916642A Withdrawn EP0830767A1 (de) | 1995-06-05 | 1996-05-24 | Arbitrierungsverfahren zum zugreifen auf einen steuerungskanal in einem datenbussystem |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP0830767A1 (de) |
JP (1) | JPH11506879A (de) |
KR (1) | KR100363451B1 (de) |
CN (1) | CN1078029C (de) |
AU (1) | AU5932696A (de) |
GB (1) | GB9511327D0 (de) |
MX (1) | MX9709558A (de) |
WO (1) | WO1996039767A1 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113411403B (zh) * | 2021-06-23 | 2021-12-14 | 北京邮电大学 | 一种快速数据同步方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1204189A (en) * | 1984-05-09 | 1986-05-06 | Neil D. Gammage | Control mechanism for a ring communication system |
-
1995
- 1995-06-05 GB GBGB9511327.0A patent/GB9511327D0/en active Pending
-
1996
- 1996-05-24 KR KR1019970708786A patent/KR100363451B1/ko not_active IP Right Cessation
- 1996-05-24 WO PCT/US1996/007706 patent/WO1996039767A1/en not_active Application Discontinuation
- 1996-05-24 JP JP9500723A patent/JPH11506879A/ja not_active Ceased
- 1996-05-24 EP EP96916642A patent/EP0830767A1/de not_active Withdrawn
- 1996-05-24 MX MX9709558A patent/MX9709558A/es not_active IP Right Cessation
- 1996-05-24 AU AU59326/96A patent/AU5932696A/en not_active Abandoned
- 1996-05-24 CN CN96195817A patent/CN1078029C/zh not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
See references of WO9639767A1 * |
Also Published As
Publication number | Publication date |
---|---|
CN1191646A (zh) | 1998-08-26 |
JPH11506879A (ja) | 1999-06-15 |
MX9709558A (es) | 1998-03-31 |
WO1996039767A1 (en) | 1996-12-12 |
AU5932696A (en) | 1996-12-24 |
KR100363451B1 (ko) | 2003-04-11 |
KR19990082773A (ko) | 1999-11-25 |
CN1078029C (zh) | 2002-01-16 |
GB9511327D0 (en) | 1995-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6072804A (en) | Ring bus data transfer system | |
US6678282B2 (en) | System and method for communicating packetized data over a channel bank | |
US5659787A (en) | Data communication network with highly efficient polling procedure | |
US5295012A (en) | Ring-type communication network | |
US4922244A (en) | Queueing protocol | |
EP0100662B1 (de) | Digitales Übertragungssystem | |
JP2636642B2 (ja) | 通信交換装置に付随する伝送母線へのアクセスを裁定する方法及び装置 | |
JPH0748739B2 (ja) | 多重アクセス制御方法および該方法を実施する多重アクセス制御システム | |
EP0927474B1 (de) | Anordnung für media-zugriffe in einem netz mit universellen vielfachzugriffsknoten und kollisionerkennungsknoten | |
JPS59200554A (ja) | 複数個のデバイスの内の1つをエネイブルする装置 | |
JPH07295924A (ja) | コンピュータ・バスおよび仲裁方法 | |
US5621725A (en) | Communication system capable of preventing dropout of data block | |
EP0829152B1 (de) | Ringbusdatenübertragungssystem | |
US6044085A (en) | Method for arbitrating for access to a control channel in a data bus system | |
US5383186A (en) | Apparatus and method for synchronous traffic bandwidth on a token ring network | |
US4538261A (en) | Channel access system | |
EP0830767A1 (de) | Arbitrierungsverfahren zum zugreifen auf einen steuerungskanal in einem datenbussystem | |
MXPA97009060A (en) | An ani collecting bar data transfer system | |
AU711109C (en) | Data communication network with highly efficient polling procedure | |
JP3042822B2 (ja) | バス競合制御方式 | |
JPH0269041A (ja) | スロットを一つにした時分割多重通信方式 | |
JPH05173951A (ja) | データ転送システム | |
JPH02105740A (ja) | 競合制御方式 |
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: 19971129 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): DE FR GB IT |
|
17Q | First examination report despatched |
Effective date: 20030901 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20040113 |