As a communication standard of a serial bus for connecting between a personal computer and its peripheral device, and between Audio/Visual devices, there is the IEEE 1394 high performance serial bus standard (hereinafter, referred to as the IEEE 1394 standard).
In the IEEE 1394 standard, data transmission is specified at 100 Mbps (98.304 Mbps), 200 Mbps (196.608 Mbps), and 400 Mbps (393.216 Mbps), and a 1394 port having an upper transfer rate is specified to maintain compatibility with a lower transfer rate. Numeric values in the parentheses show actual transfer rates.
This allows a network to have the data transfer rates of 100 Mbps, 200 Mbps, and 400 Mbps.
Further, in the IEEE 1394 standard, as shown in FIG. 7, transmission data are converted into two signals, which are a DATA and a STROBE, which is supplementary to the DATA. The IEEE 1394 standard employs a transmission format of a DS-Link (Data/Strobe Link) coding method, which can generate a CLOCK from obtaining an exclusive OR of the two signals.
An arbitration signal at the physical layer is expressed with two sets of twisted-pair lines, namely TPA/TPA* and TPB/TPB*.
TPA/TPA*, which is one of the sets of the twisted-pair lines sends a strobe signal (Strb_TX) and receives a data signal (Data_RX). On the other hand, another set of the twisted-pair lines, that is TPB/TPB*, sends a data signal (Data_TX) and receives a strobe signal (Strb_RX).
A Strb_Tx signal, a Data_Tx signal, a Strb_Enable signal and a Data_Enable signal are used for generating arbitration signals (Arb_A_Rx, Arb_B_Rx) from a control code.
Here, values and meanings of transmission arbitration signals are shown in FIG. 8, whereas values and meanings of receipt arbitration signals are shown in FIG. 9.
Furthermore, in the IEEE 1394 standard, two kinds of connecting methods can be used, which are a daisy-chain and a node branching. In the daisy-chain method, a device including the 1394 port can be connected up to 16 nodes, and a distance between the nodes can be up to 4.5 m. Further, when the daisy-chain method is used together with the node branching, a network can be structured, which can have up to 63 nodes (physical node addresses) for connection, the maximum in the standard.
Furthermore, in the IEEE 1394 standard, a cable can be plugged in or out while the device is operative, that is, while the power source is ON. When a node is added or deleted, a network is automatically reconstructed. At this time, a device connected to the node can be automatically recognized, and an ID or a location of the connected device is managed by an interface apparatus.
In data transmission between devices respectively including the interface apparatus that can respond to multiple transfer rates, speed negotiation, for example, is usually carried out as preparation of data transmission in a data transmission preparatory period. (Hereinafter, the devices are denoted as an own device and a counterpart device. The own device sends data to the counterpart device, and receives data from the counterpart device. The own device is provided with the interface apparatus discussed in the explanation, whereas the counterpart device is provided with the interface apparatus that corresponds to the discussed interface apparatus.)
As an example of the speed negotiation, there is a DAVIC (Digital Audio Visual Control) method. The speed negotiation method used in this method has a period for synchronizing bits and characters, a period for negotiating a communication speed, a period for confirming a termination of the speed negotiation, and a period for waiting for a constant time to retry the speed negotiation.
In the period for synchronizing bits and characters, first, a code having a large number of edges is sent in such a manner that the counterpart device that receives the code can easily synchronize bits, and then a PLL (Phase Locked Loop) in a receiving circuit synchronizes bits. After a predetermined period sufficient for a bit synchronization circuit to synchronize bits, a character synchronization circuit synchronizes characters. After synchronizing the characters, the period for negotiating the communication speed follows.
In the period for negotiating the communication speed, each of both devices between which the speed negotiation is performed respectively sends a code for indicating transmittable speeds of its own, and respectively receives a code for indicating a transmittable speed of the counterpart and thereby decides whether increase or maintain the transfer rate of its own at the present rate. After negotiation of the transfer rate is normally completed, the period for confirming the termination of the speed negotiation follows.
On the other hand, when the negotiation of the transfer rate is not completed within the predetermined constant time, the period for waiting for the predetermined constant time to retry the speed negotiation follows.
In the period for confirming the termination of the speed negotiation, the own device sends a code for indicating the termination of the speed negotiation and waits for receiving, from the counterpart device, a code for indicating the termination of the speed negotiation. When the own device receives the control code for indicating the termination of the speed negotiation, the speed negotiation is terminated, and then a period for data transmission follows.
During the period for waiting for the constant time to retry the speed negotiation, a serial signal is not sent. At this point, because the receiving circuit of the counterpart device no longer receives a receipt signal, the receiving circuit detects that abnormality has occurred in the speed negotiation, and then the period for synchronizing bits follows.
The own device in a state for waiting for the constant time to retry the speed negotiation, after the predetermined constant time, moves to the period for synchronizing bits and resumes the speed negotiation.
As described above, by carrying out the speed negotiation, the own device and the counterpart device that respectively include the interface apparatus that can respond to multiple transfer rates can obtain a best possible transfer rate at which the both devices can transmit data in a channel having a low error rate.
Moreover, the speed negotiation can be suspended and then resumed, even when the own device cannot normally receive the control code for indicating the transfer rate or the control code for indicating the termination of the speed negotiation, which is sent from the counterpart device, because a receiver of one device has abnormality or a channel has a high error rate.
By the way, a length of a metal cable in conformity to the IEEE 1394 is limited up to 4.5 m by reasons, such as transmission loss of a cable. At present, for long-distance transmission of a signal, an optical fiber, which has little transmission loss, is considered to be used in serial transmission, instead of the metal cable.
When a signal of the IEEE 1394 standard is transmitted by using the optical fiber, the speed negotiation, for example, is carried out, as preparation of the data transmission in the data transmission preparatory period, thereby determining a best possible transfer rate at which the both devices can transmit data.
In the data transmission preparatory period, a receipt arbitration signal from an optical port to a state machine in conformity to the IEEE 1394 is no use, and electric power consumed for generating the arbitration signal during the period is wasted.
Furthermore, during transition from the data transmission preparatory period to the data transmission period, the state machine in conformity to the IEEE 1394 may recognize an arbitration signal, which is being outputted into the state machine, as a valid arbitration signal depending on timing.
In such a case, a node which is not to be suspended may be unexpectedly suspended, causing a node state (a bus state) that is against user's intention, when the arbitration signal is an arbitration signal such as a SUSPEND or a DISABLE in conformity to IEEE 1394a-2000.