Physical layer and interface and method for arbitration over serial bus using digital line state signals

Abstract: A physical layer interface for a serial bus includes a controller for producing parallel data representing a near-end line state of the serial bus. A line transmitter is connected to the controller for converting the parallel data therefrom into serial data and transmitting the serial data to the serial bus. A line receiver is connected to the serial bus for receiving therefrom serial data and converting the received serial data into parallel data representing a far-end line state of the serial bus. A differential line state of the serial bus is detected from the parallel data of the controller and the parallel data of the line receiver. The detected differential line state is the input to the controller. In a modified embodiment, a far-end line state of the serial bus is detected from the near-end line state of the serial bus and a far-end differential signal received by the line receiver and directly supplied to the controller. A differential line state of the serial bus is then detected using the near-end line state and the detected far-end line state and serial data representing the detected differential line state is sent through the line transmitter.

Description: The present invention relates to generally to high speed data transmission on serial buses, and more specifically to a physical layer interface than can extend the maximum length of IEEE 1394 serial bus between adjacent nodes. A high speed serial bus for transfer of both asynchronous and isochronous data between a computer and peripheral devices (or nodes) is standardized by the IEEE in 1995 as "IEEE Standard for a High Performance Serial Bus". Differential signaling is used to detect line state of the serial bus by driving steady state line voltage from the opposite ends of two pairs of twisted wire. At each end of the serial bus, data/strobe signaling is used to drive a first line state voltage on one pair of twisted wire and a second line state voltage on the other pair. The combination of the first and second line state voltages represent a particular line state at each end of the serial bus. Using a set of such steady state combinations, arbitration signaling determines which node will gain ownership of the serial bus. However, since the steady state differential signaling is sensitive to cable transmission loss, the maximum length of the inter-nodal cable is currently limited to 4.5 meters. Therefore, a need arises to extend the maximum length of the inter-nodal cable. One solution is to convert the digital arbitration signals generated within the arbitration logic circuitry into a codeword and transmit it in serial form, instead of the steady state arbitration signals. However, it is impossible to create a recognizable digital differential line state similar to the steady state differential line state as specified by the IEEE 1394 standard. It is therefore an object of the present invention to provide an physical layer interface which uses serial digital signals for two-way transmission over a serial bus and line state detection circuitry for synthesizing a steady state differential line state. The object of the present invention is achieved with the physical layer interface of claim 1 and the arbitration methods of independent claims 8 and 9. Further preferred embodiments of the invention are recited in the dependent claims. According to one aspect of the present invention, there is provided a physical layer interface for a serial bus comprising a controller for producing parallel data representing a near-end line state of the serial bus, a line transmitter connected to the controller for converting the parallel data therefrom into serial data and transmitting it to the serial bus, and a line receiver connected to the serial bus for receiving therefrom serial data and converting it into parallel data representing a far-end line state of the serial bus. Differential line state detection circuitry is provided for detecting a differential line state of the serial bus from the parallel data of the controller and the parallel data of the line receiver and applying the detected differential line state to the controller. According to a second aspect, the present invention provides a physical layer interface for a serial bus which comprises a controller for producing parallel data representing a near-end line state of the serial bus and receiving parallel data representing a differential far end line state of the serial bus, a line receiver connected to the serial bus for receiving therefrom serial data and producing therefrom parallel data representing the differential far-end line state of the serial bus. Far-end line state detection circuitry is provided for detecting a far-end line state of the serial bus from the parallel data of the controller and the parallel data of the line receiver and producing parallel data representing the detected far-end line state of the serial bus. Differential line state detection circuitry detects a differential line state of the serial bus from the parallel data of the controller and the parallel data of the far-end line state detection circuitry and produces parallel data representing the detected differential line state of the serial bus. A line transmitter converts the parallel data of the differential line state detection circuitry into serial data and transmits the serial data to the serial bus. Preferably, the line transmitter comprises an encoder for converting the parallel data into a parallel line code, and a parallel-to-serial converter for converting the parallel line code into serial form for transmission, and the line receiver comprises a serial-to-parallel converter for receiving a serial line code from the serial bus and converting the received line code into a parallel line code, and a decoder for decoding the parallel line code into parallel data for application to the differential line state detection circuitry. According to a third aspect, the present invention provides a method of arbitration between nodes over a serial bus, comprising the steps of producing parallel data representing a near-end line state of the serial bus, converting the parallel data into serial data and transmitting the serial data to the serial bus, receiving serial data from the serial bus and converting the received serial data to parallel data representing a far-end line state of the serial bus, converting the parallel data representing the near-end line state and the parallel data representing the far-end line state to parallel data representing a differential line state of the serial bus, and making a decision on the parallel data representing the differential line state. According to a fourth aspect, the present invention provides a method of arbitration between nodes over a serial bus, comprising the steps of producing parallel data representing a near-end line state of the serial bus, receiving serial data from the serial bus and converting the received serial data to parallel data representing a far-end differential line state of the serial bus, making a decision on the parallel data representing the far-end differential line state, converting the parallel data representing the near-end line state and the parallel data representing the far-end differential line state to parallel data representing a far-end line state of the serial bus, converting the parallel data representing the near-end line state and the parallel data representing the far-end line state to parallel data representing a near-end differential line state of the serial bus, and converting the parallel data representing the near-end differential line state into serial data and transmitting the serial data to the serial bus. The present invention will be described in further detail with reference to the accompanying drawings, in which: Fig. 1 is a block diagram of a physical layer interface of an IEEE 1394 serial-bus node according to one embodiment of the present invention; Fig. 2 is an illustration of relationships between analog line state voltages of the conventional data-strobe signaling and corresponding digital line states of the present invention; Fig. 3 is an illustration of input/output relationships of the differential line state detectors of Fig. 1 along with corresponding analog line state voltages of the data-strobe signaling; Fig. 4 is a block diagram of a physical layer interface of a modified embodiment of the present invention; Fig. 5 is an illustration of input/output relationships of the far-end line state detectors of Fig. 4 along with corresponding analog line state voltages of the data-strobe signaling; and Fig. 6 is an illustration of input/output relationships of the differential line state detectors of Fig. 4 along with corresponding analog line state voltages of the data-strobe signaling. Referring to Fig. 1, there is shown a physical layer interface of an IEEE 1394 serial-bus node according to one embodiment of the present invention. The IEEE-1394 physical layer interface has an arbitration controller 10 and multiple ports for interfacing to respective serial buses. One of the ports is shown including a line transmitter 11, a line receiver 12 and a pair of differential line state detectors 14 and 15 of identical construction. Arbitration controller 10 is connected to the IEEE-1394 link layer of a computer system, not shown. Controller 10 has a state machine logic that drives a near-end line state on a serial bus and causes it to change according to a differential line state of the serial bus detected by the line state detectors 14, 15 from the near-end line state and a far-end line state signaled from an adjacent node. Line transmitter 11 and line receiver 12 are respectively connected to a target node over optical links 19 and 20 of plastic optical fiber for full duplex operation. Each node of the system is identically constructed and the optical links of each node are crosswired along the bus so that signals from the line transmitter 11 of a node are received by the line receiver 12 at the other node. In order to allow the local node to repeat bus traffic between other nodes, a port repeater (not shown) is connected to the arbitration controller 10. Arbitration controller 10 automatically performs bus configuration during initial power-up of the system or when a node is attached or detached from the bus. Bus configuration begins with Reset and proceeds to the tree identification (Tree ID) and self identification (Self ID) stages. All nodes participate in bus configuration. Once bus configuration has completed, nodes arbitrate for access to the bus and begin normal bus transfers. Conventional signaling for bus configuration, arbitration and packet transmission is based on differential signaling of line states signaled from the opposite ends of two twisted pairs TPA and TPB. The line state is represented by analog voltages (1, 0, Z) and a set of resultant voltages, or collision states is recognized by adjacent nodes as a particular signaling state. In the present invention, digital line states are signaled from the opposite ends of the optical links. Actually, no differential condition can occur on the optical bus. For this reason, the present invention is to synthesize a differential line state of the bus at each end of the cable by translating digital line state signals signaled on the cable in opposite directions. Differential line state detectors 14 and 15 translate the digital line state signals to synthesize the differential line state. Instead of using the steady state data-strobe format in which parallel multibit data from the arbitration controller 10 are converted to data and strobe pulses for separate transmission over TPA and TPB, the parallel multibit data from the arbitration controller 10 is converted to a codeword by an "mB/nB" encoder 16 of the line transmitter 11 so that the m-bit parallel data is converted to an n-bit codeword (where n > m) and converted to a serial bit stream in a parallel-to-serial converter 17 and then transformed to an optical signal by an optical transmitter 18 for transmission over the optical link 19. An optical serial bit stream of mB/nB format from the other node is transmitted via link 20 and received by the line receiver 12 where it is transformed to an electrical signal by an optical receiver 21 and converted to parallel form in a serial-to-parallel converter 22. A decoder 23 performs data conversion on the received n-bit codeword to recover original m-bit parallel data. The m-bit arbitration signal produced by the controller 10 is divided into higher- and lower-bit data blocks Tx_Arb of equal length and the m-bit arbitration signal from the line receiver 12 is likewise divided into higher and lower significant bits Rx_Arb of equal length. For purposes of explanation, the multi-bit data is represented by four bits and each data block by two bits. Each two-bit data block represents one of the analog line states "Z", "0" and "1". As shown in Fig. 2, data blocks "01", "00" and "11" represent "Z", "0" and "1", respectively. Since conventional twisted pairs TPA and TPB are driven at one of analog voltages 1, 0, Z and a combination of two analog voltages is used to represent a particular line state, correspondence is established between paired combinations of the analog voltages 1, 0, Z signaled on actual twisted pairs TPA and TPB and paired combinations of the data blocks signaled on the optical link 19. The lower significant bits and higher significant bits are signaled on equivalent twisted pairs TPA and TPB, respectively. Differential line state detector 14 receives the lower-bit data block Tx_Arb [1:0] of a four-bit transmit arbitration signal from the arbitration controller 10 and the higher-bit data block Rx_Arb [3:2] of a four-bit arbitration signal from the line receiver 12 to produce a lower-bit data block Tx_Dif [1:0] of a four-bit pseudo-differential signal. On the other hand, the differential line state detector 15 receives the higher-bit data block Tx_Arb [3:2] of the arbitration signal and the lower-bit data block Rx_Arb [1:0] of the received arbitration signal to produce a higher-bit data block Tx_Dif [3:2] of the pseudo-differential signal. As illustrated, the differential line state detector 14 includes an exclusive-OR gate 30 to which the lower two bits of the transmit arbitration signal are applied. The output of the exclusive-OR gate 30 is inverted to produce a signal for enabling a transmit driver 31 which is driven by the least significant bit Tx_Arb [0]. The higher two bits of the arbitration signal received by the line receiver 12 are supplied to an exclusive-OR gate 32 whose output is inverted for enabling a receive driver 33 which is driven by the second most significant bit Rx_Arb [2] of the received arbitration signal. The output of driver 31 represents the near-end line state of the serial bus and the output of driver 33 represents the far-end line state of the serial bus. The outputs of drivers 31 and 33 are connected together to a common circuit node 36 where a differential voltage of the near-end line state and the far-end line state is developed to synthesize a differential steady state line state as specified by the IEEE 1394 standard. The potential at the circuit node 36 is compared with a reference voltage R by comparators 34 and 35. It will be seen that when the inputs of one of the exclusive-OR gates 30 and 32 are either "00" or "11", the corresponding driver is enabled and the common circuit node 36 is biased to a low voltage level if the inputs of the gates 30, 32 are "00", causing the comparators 34, 35 to produce lower significant bits "01", or biased to a high voltage level if the inputs of the gates 30, 32 are "11", causing the comparators 34, 35 to produce lower significant bits "10". If the inputs of both exclusive-OR gates 30, 32 are "01", the comparators 34, 35 produce lower significant bits "00". Fig. 3 illustrates a map for establishing relationships between transmitted line states, received line states and detected pseudo-differential states, and corresponding voltage levels currently used by the data-strobe signaling. The operation of the present invention will be better understood with the description of a normal arbitration process between nodes A and B which occurs immediately prior to packet transmission. During the arbitration process, if node A wishes to obtain ownership of the bus, it sends a four-bit request code (00 01) to node B, this code corresponding to a combination of analog line states Z and 0 respectively signaled on TPA and TPB from node A. If node B is idle at this moment, it is sending an idle code (00 00) corresponding to the analog idle state (Z, Z) and its state machine will change to a grant state in response to the request code and returns a four-bit grant code (00 01) to node A, this code corresponding to the analog grant state (Z = TPA, 0 = TPB). Upon receipt of the higher significant data block "00" of the request code from the arbitration controller 10 and the lower significant data block "01" of the grant code from the line receiver 12, the differential line state detector 15 produces a higher significant data block "01" of a pseudo-differential code. Differential line state detector 14, on the other hand, responds to the lower significant data block "01" of the request code from the arbitration controller 10 and the higher significant data block "00" of the grant code from the line receiver 12 by producing a lower significant data block "01" of the pseudo-differential code. Thus, the differential line state code is "0101" which is presented to the arbitration controller 10. In response, the state machine of the arbitration controller changes from request state to transmit state, completing the arbitration process. Once arbitration completes, the winning node initiates packet transmission which begins with "data prefix" signaling and ends with "data end" signaling. A modified embodiment of this invention is illustrated in Fig. 4 in which parts corresponding in significance to those of Fig. 1 are marked with the same numerals, the description thereof being omitted for simplicity. In this modification, far-end line state detectors 40 and 41 of identical structure are additionally provided to convert a received differential signal (Rx_Dif) according to the map of Fig. 5 to far-end arbitration signals (Rx_Arb) which must have been sent from the other node. The far-end arbitration signals (Rx_Arb) are supplied to the differential line state detectors 14 and 15 which use the map of Fig. 6 to convert the detected far-end arbitration signal (Rx_Arb) from the far-end line state detectors 40, 41 and the near-end arbitration signal (Tx_Arb) from the controller 10 to a near-end differential signal (Tx_Dif) for transmission to the other node, instead of the near-end arbitration signal of the previous embodiment. More specifically, the far-end line state detector 40 receives the higher significant bits Rx_Dif [3:2] of a received differential signal from the line receiver 12 and the lower significant bits Tx_Arb [1:0] of a near-end arbitration signal from the arbitration controller 10 and produces higher significant bits Rx_Arb [3:2] of a far-end arbitration signal which the other node is sending. Far-end line state detector 41 receives the lower significant bits Rx_Dif [1:0] of the received differential signal from the line receiver 12 and the higher significant bits Tx_Arb [3:2] of the near-end arbitration signal from the arbitration controller 10 and produces lower significant bits Rx_Arb [1:0] of the far-end arbitration signal. Differential line state detector 14 receives the lower significant bits Tx_Arb [1:0] of the near-end arbitration signal from the arbitration controller 10 and the higher significant bits Rx_Arb [3:2] of the far-end arbitration signal from the far-end line state detector 40 and produces higher significant bits Tx_Dif [3:2] of a near-end line state differential signal. On the other hand, the differential line state detector 15 receives the higher significant bits Tx_Arb [3:2] of the near-end arbitration signal from the arbitration controller 10 and the lower significant bits Rx_Arb [1:0] of the far-end arbitration signal from the far-end line state detector 41 and produces lower significant bits Tx_Dif [1:0] of the near-end line state differential signal. In the differential line state detector 15, the exclusive-OR gate 30 receives the higher two bits of the transmit arbitration signal and the driver 31 is driven by the second most significant bit Tx_Arb [2] of the transmit arbitration signal. The lower two significant bits of the output of far-end line state detector 41 are supplied to the exclusive-OR gate 32 and the driver 33 is driven by the least significant bit Rx_Arb [0] of the output of far-end line state detector 41. The outputs of comparators 34 and 35 are supplied to the line transmitter 11 as the lower significant bits of the near-end differential signal Tx_Dif [1:0]. The operation of the modified embodiment will be understood with the description of a normal arbitration process between nodes A and B. During the arbitration process, if node A wishes to obtain ownership of the bus, the arbitration controller 10 applies the higher significant bits "00" of a four-bit request code (00 01) to the far-end line state detector 40 as well as to the differential line state detector 15 and the lower significant bits "01" of the request code to the far-end line state detector 41 as well as to the differential line state detector 14 (this request code corresponds to the analog line state (Z=TPA, 0=TPB)). If node B is idle, it is sending an idle code (00 00). Therefore, the far-end line state detectors 40 and 41 are in receipt of the code (00 00) from the line receiver 12. Far-end line state detector 40 thus produces "01" as lower significant bits of a far-end arbitration code as indicated by broken-line rectangle 50 in Fig. 5, while the far-end line state detector 41 produces "01" as higher significant bits of the far-end arbitration code as indicated by broken-line rectangle 51 in Fig. 5. This far-end arbitration code (01 01) is the code which the arbitration controller 10 of node B must be producing. Differential line state detector 15 of node A thus produces higher significant bits "01" of a near-end differential code as indicated by broken-line rectangle 52, while the differential line state detector 14 produces lower significant bits "00" of the near-end differential code. Thus, the near-end differential code is (00 01) which is presented to the line transmitter 11 and transmitted to node B which will recognize it as a request code. In response to the pseudo-differential code (00 01) from node A, the arbitration controller 10 of node B will change from the idle state to a grant state and supplies its far-end line state detectors 40, 41 and differential line state detectors 14, 15 with a grant code (00 01) which corresponds to the analog grant state (Z, 0) as described in the previous embodiment. With the grant code (00 01) and the differential code (00 01) being supplied from the arbitration controller 10 and the line receiver 12, the far-end line state detectors 40 and 41 of node B produce a far-end line state (00 01), recognizing that node A is sending a request code. Using the grant code (00 01) and the estimated receive code (00 01), the differential line state detectors 14 and 1 5 of node B produce a near-end differential code (01 01) which is transmitted to node A. Node A recognizes this signal as a grant code and changes from request state to transmit state, completing the arbitration process.

Claims: A physical layer interface for a serial bus comprising: a controller (10) adapted to produce parallel data representing a near-end line state of the serial bus; characterised by a line transmitter (11) connected to the controller (10) adapted to convert the parallel data therefrom into serial data and transmit the serial data to said serial bus; a line receiver (12) connected to the serial bus adapted to receive therefrom serial data and converte the received serial data into parallel data representing a far-end line state of the serial bus; and differential line state detection circuitry (15) adapted to detect a differential line state of said serial bus from the parallel data of the controller (10) and the parallel data of the line receiver (12) and apply the detected differential line state to said controller (10). The physical layer interface of claim 1, wherein said serial bus comprises an optical transmission medium (18). The physical layer interface of claim 1 or 2, wherein said line transmitter (11) comprises: an encoder (16) for converting the parallel data of the controller (10) into a parallel codeword; and a parallel-to-serial converter (17) for converting the parallel codeword into serial form for transmission, and wherein said line receiver (12) comprises: a serial-to-parallel converter (22) for receiving a serial form of codeword from the serial bus and converting the received serial form of codeword into a parallel codeword; and a decoder (23) for decoding the said parallel codeword into parallel data for application to said differential line state detection circuitry (15). The physical layer interface of any of claims 1 to 3, wherein said differential line state detection circuitry (15) includes a map for mapping the parallel data representing the near-end line state and the parallel data representing the far-end line state to the parallel data representing the differential line state of said serial bus. The physical layer interface of any of claims 1 to 4, wherein said differential line state detection circuitry (15) comprises: a first circuit responsive to parallel data from the controller for producing a first line state voltage at a common circuit node; a second circuit responsive to parallel data from the line receiver for producing a second line state voltage at said common circuit node; and a comparator circuit for comparing a differential line state voltage developed at said common circuit node with a reference potential and producing a signal representative of the differential line state of said serial bus. The physical layer interface of any of claims 1 to 5, wherein said differential line state detection circuitry comprises: a first differential line state detector including: a first circuit responsive to lower significant bits of the parallel data of the controller for producing a first line state voltage at a first common circuit node; a second circuit responsive to higher significant bits of the parallel data from the line receiver for producing a second line state voltage at the first common circuit node; and a first comparator circuit for comparing a differential line state voltage developed at said first common circuit node with a reference potential and producing lower significant bits of parallel data representative of the differential line state of the serial bus; and a second differential line state detector including: a third circuit responsive to higher significant bits of the parallel data from the controller for producing a third line state voltage at a second common circuit node; a fourth circuit responsive to lower significant bits of the parallel data from the line receiver for producing a fourth line state voltage at the second common circuit node; and a second comparator circuit for comparing a differential line state voltage developed at the second common circuit node with a reference potential and producing higher significant bits of the parallel data representative of the differential line state of the serial bus. The physical layer interface of any of claims 1 to 6, wherein said controller (10) further receives parallel data representing said far-end differential line state of the serial bus; wherein said line receiver (12) further converts the received serial data to parallel data representing said far-end differential line state said interface further comprising far-end line state detection circuitry (40) for detecting said far-end line state of the serial bus from the parallel data received by the controller (10) and the parallel data received by the line receiver (12) and producing parallel data representing the detected far-end line state of the serial bus; wherein said differential line state detection circuitry (14, 15), detects said near-end differential line state of said serial bus from the parallel data produced by the controller (10) and the parallel data produced by the far-end line state detection circuitry (40) and produces parallel data representing the detected near-end differential line state of the serial bus; and wherein said line transmitter (11) further converts the parallel data of the differential line state detection circuitry into serial data and transmits the serial data to said serial bus. A method of arbitration between nodes over a serial bus, comprising the steps of: a) producing parallel data representing a near-end line state of the serial bus; characterised by b) converting said parallel data into serial data and transmitting the serial data to said serial bus; c) receiving serial data from said serial bus and converting the received serial data to parallel data representing a far-end line state of the serial bus; d) converting the parallel data of step a) and the parallel data of step c) to parallel data representing a differential line state of the serial bus; and e) making a decision on the parallel data representing the differential line state. A method of arbitration between nodes over a serial bus, comprising the steps of: a) producing parallel data representing a near-end line state of the serial bus; characterised by b) receiving serial data from the serial bus and converting the received serial data to parallel data representing a far-end differential line state of the serial bus; c) making a decision on the parallel data representing the far-end differential line state; d) converting the parallel data of step a) and the parallel data of step b) to parallel data representing a far-end line state of the serial bus; e) converting the parallel data of step a) and the parallel data of step d) to parallel data representing a near-end differential line state of the serial bus; and f) converting the parallel data of step e) into serial data and transmitting the serial data to said serial bus.

Inventors: NYU TAKAYUKI, NYU, TAKAYUKI, Nyu, Takayuki c/o NEC Corporation
Applicants: NIPPON ELECTRIC CO, NEC CORPORATION
Application year: 1998
Main classification: H04L29
IPC codes: G06F13, H04L12, H04L29