Abstract:
A method for establishing data transmission between a two devices by performing de-emphasis training is disclosed. While a retry count does not exceed a predetermined threshold: a training pattern with a signal strength is sent from a first device to a second device. If a negative acknowledgement is received from the second device within enough time to determine that the send training pattern was unacceptable to the second device, the retry count is incremented, the signal strength for the training pattern is attenuated and the training pattern is resent.

Description:
FIELD 
     The present invention relates broadly to data transmission between devices. Specifically, the present invention relates to adaptive de-emphasis training of devices to facilitate data transmission between the devices. 
     BACKGROUND 
     The IEEE 1394b serial bus protocol provides protocols and arbitration mechanisms for transmission speeds up to “S3200,” which translates to 4 GBaud over a connecting cable due to 8B10B encoding. 
     However, the IEEE 1394b standard does not provide the details for the electrical signaling, due to lack of sufficient experience/evidence etc at the time the standard was prepared. 
     The electrical specifications for the IEEE 1394 family of protocols need to use some form of “de-emphasis” to overcome issues of intersymbol interference (ISI). ISI describes the degradation of signal quality on a transmission line due to frequency-dependent attenuation within the transmission line—typically higher frequencies are attenuated more than lower frequencies. This phenomenon is similar to an instance where bass notes from a loud in-car entertainment system can be heard as the car passes by, but no other music accompanying the bass can be heard. Typically in digital transmission a sequence of bits of the same value generates, in effect, a lower frequency signal that affects the following bit if this is a single bit, which generates a higher frequency signal. The results are typically measured at the receiver by means of an eye diagram that overlays a large number of received signals, aligned such that the center of the bit time for each signal is coincident. If there is no signal degradation, at the center time all the signals will be high or low (depending on whether a “1” bit or a “0” bit is being transmitted), resulting in a wide-open “eye.” If signal degradation occurs, then at the center of the bit time some of the signals will not be so high or low and the eye will be less open. If the eye is fully closed, then it is impossible to determine whether the transmitted bits are 1 or 0 without at least some contextual information. 
     De-emphasis is a technique in which a PHY&#39;s transmitter modifies the amplitude of the signal for various runlengths of multiple identical bits so that the signal as received at the receiver is free of apparent ISI. Essentially, the transmitter pre-compensates for the ISI that is introduced as the signal traverses the cable. There is an alternative technique of equalization in the receiver that applies to DSP techniques for extracting contextual information, but for various technical reasons, the technique is less favored. 
     The amount of de-emphasis to apply in any particular case is likely to depend on the attenuation properties of the particular cable being used. With very short cables, there may be little or no de-emphasis required, whereas with long cables a considerable amount of de-emphasis may be appropriate. The consequence is that it is necessary to perform some form of training of the transmitter when a connection is established. Such training enables the transmitter to determine how much de-emphasis to apply for the actual cable being used in the connection. The use of de-emphasis determined as the result of analysis of the particular connection is generally known as adaptive de-emphasis. 
     At relatively low transmission rates, de-emphasis is not required. At somewhat faster transmission rates, fixed de-emphasis is adequate. But for higher performance, a connection requires some form of adaptive de-emphasis. Furthermore, a connection is clearly much more robust with some form of adaptive de-emphasis. However, there are no effective adaptive de-emphasis methods because training has proven to be difficult and complex, and this was one reason why there was no specification included in 1394b for signaling at the S3200 rate. A prior approach has been to utilize the existing connection negotiation signaling in 1394b. In such an approach, a receiving node analyzes the signal (referred to as connection tones) to determine the amount of desired de-emphasis. However, this approach suffers significant shortcomings. Each tone comprises a relatively low frequency signal. Hence the bit patterns sent during existing connection negotiation signaling are not suitable for analysis to determine the amount of high frequency attenuation inherent in the transmission line (and hence the amount of de-emphasis to be applied), as they are of too low frequency, and even if such analysis could be performed by the receiver, there is no way to communicate the result of any such analysis to the transmitter. Thus, there is a heartfelt need for a de-emphasis training mechanism that works effectively. 
     SUMMARY OF THE INVENTION 
     The present invention solves the problems discussed above by providing adaptive de-emphasis training between a transmitting node and a receiving node. In one aspect, the invention provides a method for establishing data transmission between a two devices by performing de-emphasis training, the method comprising: while a retry count does not exceed a predetermined threshold: sending with a signal strength a training pattern from a first device to a second device; receiving negative acknowledgement from the second device within enough time to determine that the send training pattern was unacceptable to the second device; incrementing a retry count; and attenuating the signal strength; and if the retry count exceeds the predetermined threshold, then perform remedial action to improve data transmission between the first and second devices. 
     In another aspect, the present invention provides a method for establishing data transmission between two devices by performing de-emphasis training, the method comprising: while a training pattern counter does not exceed a predetermined threshold: sending a training pattern from a first device to a second device; verifying the absence of a negative acknowledgement sent from the second device; incrementing a training pattern counter; and modifying the training pattern. 
     In yet another aspect, the present invention provides a method for establishing data transmission between two devices by performing de-emphasis training, the method comprising: while a training pattern counter does not exceed a predetermined threshold: sending a training pattern from a first device to a second device; verifying the absence of a negative acknowledgement sent from the second device; incrementing a training pattern counter; and modifying the training pattern. 
     In still yet another aspect, the present invention provides a method of establishing data transmission between two devices by performing de-emphasis training, the method comprising: a) performing speed negotiation between a first device and a second device; b) synchronizing the first and second devices; c) selecting a de-emphasis training pattern and de-emphasis level; d) until all de-emphasis training patterns to be sent from the first device to the second device are sent: 1) until all de-emphasis levels to be tried for a given training pattern have not been sent from the first device to the second device: i) transmitting the de-emphasis pattern from the first device to the second device at the selected de-emphasis level; ii) analyzing an incoming bit stream to determine signal quality; iii) changing de-emphasis level for the training pattern; and iv) resending the training pattern with the changed de-emphasis level; 2) changing the de-emphasis pattern to be sent; e) setting an acceptable de-emphasis level based on the analyzed bit streams; and f) transmitting symbols from the first device to the second device using the acceptable de-emphasis level. 
     In another aspect, the present invention provides a method of establishing data transmission between two devices by performing de-emphasis training, the method comprising: a) performing speed negotiation between a first device and a second device; b) synchronizing the first and second devices; c) selecting a de-emphasis training pattern and de-emphasis level; d) until all de-emphasis training patterns to be sent from the first device to the second device are sent: 1) until all de-emphasis levels to be tried for a given training pattern have not been sent from the first device to the second device: i) transmitting the de-emphasis pattern from the first device to the second device at the selected de-emphasis level; ii) analyzing an incoming bit stream to determine signal quality; iii) unless the analysis identifies an acceptable de-emphasis level, changing de-emphasis level for the training pattern and resending the training pattern with the changed de-emphasis level; 2) resetting the de-emphasis level changing the de-emphasis pattern to be sent; e) setting an acceptable de-emphasis level based on the analyzed bit streams; and f) transmitting symbols from the first device to the second device using the acceptable de-emphasis level. 
     In various embodiments, the methods of the present invention are implemented on devices that are operable on a wide variety of serial or parallel point-to-point electrical connections. Other features and advantages of the present invention will become apparent to one skilled in the art upon reading the detailed description below, when considered in conjunctions with the accompanying drawings, in which: 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  illustrates an exemplary network of node devices utilized in embodiments of the present invention; 
         FIG. 2  illustrates in greater detail a node device depicted in  FIG. 1 ; 
         FIGS. 3A-3C  illustrate various sequences of acts executed in accordance with embodiments of the present invention where signal deterioration is asymmetric; and 
         FIGS. 4A and 4B  illustrate sequences of acts executed in accordance with embodiments of the present invention where signal deterioration is substantially symmetric. 
     
    
    
     DETAILED DESCRIPTION 
     In an embodiment, the present invention provides a set of training bit patterns and a protocol that allows a receiving node to communicate to a transmitting node the quality of the signal is which it is currently receiving. The transmitting node varies the amount of de-emphasis that it applies, and selects an optimal amount according to the feedback received from the receiver. 
     Techniques utilized by the present invention are suitable for a wide variety of serial or parallel point-to-point electrical connections. Within the subset of serial connections, the IEEE 1394b standard is discussed below for exemplary purposes. In this standard, communication between a port on one device and a port on another device takes place in both directions simultaneously and independently. It is necessary to achieve reliable communications in both directions, and training in both directions proceeds simultaneously (when a new connection is made, or after the second of the two ports is powered on or otherwise enabled). 
     Referring to  FIG. 1 , an IEEE 1394 network  50  comprises one or more “nodes,” node  1 -node  7 . A node represents an electronic device(s) with an IEEE 1394 bus interface. A node device may comprise a computer, a digital camera, a digital video recorder, a DVD player, or another type of device having a suitable bus interface. Each node couples to at least one other node. As shown in the exemplary architecture of  FIG. 2 , node  1  couples both to nodes  2  and  3 . Node  3 , in turn, couples to nodes  4 , and  5  and node  5  also couples to nodes  6  and  7 . In general, each node can transmit data to any other node in the network. For example, node  7  can transmit data to node  2 , but the transmitted data will pass from node  7  to node  5  to node  3  to node  1  and then, to node  2 . 
     Referring to  FIG. 2 , node  100  generally comprises three layers: transaction layer  102 , link layer  104  and physical layer  106  (referred to as a “PHY  106 ”). Transaction layer  102  implements the request-response protocol required to conform to the IEEE 1394 standard in accordance with known techniques. Link layer  104  supplies an acknowledgment to the transaction layer. Link layer  104  handles all packet transmission and reception responsibilities as well as the provision of cycle control for isochronous channels. The PHY  106  generally provides the initialization and arbitration services necessary to assure that only one node at a time is sending data and to translate the serial bus data stream and signal levels to those required by the link layer logic  104 . PHY  106  also implements the arbitration scheme of the preferred embodiment of the invention. 
     Feedback training is utilized in embodiments of the present invention where signal deterioration is asymmetric, i.e. the signal degradation in one direction is different from the signal degradation in the opposite direction. In this case, the amount of de-emphasis to be applied at the transmitter for communication in one direction will be different from the de-emphasis to be applied at the transmitter for the opposite direction. Directing attention to  FIG. 3A , according to an embodiment of the present invention, a node transmits a particular training pattern for an arbitrary number (n) of symbols (act  300 ), but the receiving node, if it decides the eye is insufficient, interrupts its transmission of a training pattern and transmits a small number of bytes of negative acknowledgement (NACK). In a preferred embodiment, the NACK appears as a series of alternating bits. In preferred embodiments, between approximately two and four symbols are sufficient for this NACK. IN accordance with various embodiments, the NACK symbol is chosen so that it is recognizable as such, despite the maximum amount of ISI to be tolerated and can always be distinguished from the ISI training patterns. This is not to say that it has to be received correctly, but rather the NACK symbol is capable of being distinguished from other patterns used for training received across the range of ISI to be tolerated. Possible choices include 10101010, or a pattern with no high frequency content, such as 11110000, or 1111111111 followed by 0000000000. It should be noted that it is important to maintain DC balance to avoid excessive baseline wander, thus the NACK should have the same number of 1&#39;s as 0&#39;s. 
     If the interrupt is received within a predetermined amount of time (decision act  302 ), control proceeds to act  304 , where a retry count is incremented. In an embodiment, the receiving node sends the interrupt before approximately half of the n symbols are received, so that the transmitting node will receive this feedback before it completes the transmission of the entire set of n symbols. The lack of any such feedback within this time allows the transmitting node to assume that the correct amount of de-emphasis is being applied. In another embodiment, a value based on round trip time, determined by an extension to this protocol which first sends a test signal and measures the time for a response plus a few clocks, can be substituted for the value represented by half of the n symbols to allow enough time for the transmitter to receive the feedback. The receiving node then resumes transmitting the training pattern it was previously transmitting to allow training to be continued in the opposite direction. 
     At decision act  306 , if the retry counter value is less than a predetermined threshold, control transitions to act  308 , where the transmitting changes its de-emphasis attenuation of the training pattern. Control returns to act  300 , where the training pattern is sent again. In an embodiment utilizing the S3200 speed mode of the IEEE 1394b serial bus protocol, three pre-determined levels of de-emphasis cover all possible amounts of signal attenuation from compliant cables, and so the transmitter picks a value as yet untried. In other embodiments, more preset values may be appropriate. Control loops through acts  300 - 308  until the retry counter value exceeds a threshold value, at which time control transitions to act  310 , where the connection is deemed unreliable and remedial action is taken. Remedial action can include lowering the transmission speed, reporting failure to management software, triggering a timeout interval, and the like. 
     Directing attention to  FIG. 3B , in another embodiment, if the node transmitting a particular training pattern does not receive a NACK by the time it has completed transmitting n symbols (decision act  302 ), then it increments a training pattern counter at act  312 . If the training pattern counter does not exceed a predetermined threshold value (decision act  314 ) the length of the training pattern is increased (act  316 ) and control returns to act  300 , where the longer training pattern is transmitted. Control loops through acts  300 - 314  until the training pattern counter value exceeds the threshold value, at which time training is complete. The transmitting node then begins transmission of normal 1394b symbols. In an embodiment, training continues until the transmitting node decides that the receiving node has also trained its transmitter. This determination is made because the incoming signal is deemed acceptable and the receiving node has not had to send a NACK. In this embodiment, feedback is provided in two directions and can be different for each direction. In an embodiment, after interrupting a particular training pattern with a NACK, the training pattern is restarted, so the receiving node has a complete contiguous set of symbols on which to examine the eye. In another embodiment, the methods illustrated in  FIGS. 3A and 3B  can also be combined as illustrated in  FIG. 3C . 
     Directing attention to  FIG. 4A , in another embodiment of the present invention, where signal deterioration is symmetric, de-emphasis training can be achieved through the following acts. At act  400 , two 1394b PHYs speed negotiate and discover that they are both capable of a common data rate, i.e. S3200. At act  402 , the two PHYs transmit synchronization training patterns to synchronize their respective receivers to the incoming bit patterns. In an embodiment, the phase locked loop (PLL) is locked into the received clock signal in order to recover the clock being used at the peer transmitter. This ensures that bits are received correctly. The two PHYs may start transmitting their respective clocks at a time interval up to 42 msec apart, due to the asynchronous nature of the preceding speed negotiation algorithm. After starting to send the clock training pattern, each PHY waits until a clock training pattern is received correctly from the other PHY. Each PHY then waits an additional 500 microseconds to ensure that its PLL is stable, At act  404 , the de-emphasis training pattern is selected with a de-emphasis level to be tried. In an embodiment, a “bit  2 ” de-emphasis training sequence of alternating pairs of identical bits, such as 11001100, is selected as the first de-emphasis training pattern to be tried. In an embodiment, the “bit  2 ” sequence for is sent for approximately 512 to approximately 1024 bit times. Additional training patterns can include larger numbers of repeating bits, such as 111000111000 or 1111000011110000, and the like. These additional training patterns can be selected so that the number of repeating bits increases incrementally with each iteration of acts illustrated in  FIGS. 4A and 4B . In an embodiment, the selected training pattern can be sent initially with no de-emphasis. 
     At act  406 , the de-emphasis training pattern is sent with the selected level of de-emphasis. The incoming bit stream is analyzed at act  408 . In an embodiment, the eye opening on the incoming bit stream is analyzed, and a determination is made as to whether the tried de-emphasis level is acceptable. In an embodiment, an acceptable level of de-emphasis can be determined from the receipt or absence of a NACK from the other PHY during the training pattern receipt period. In additional embodiments, analysis can include various digital and/or analog techniques, such as applying an extra margin on the PHY&#39;s receiver before evaluating received signal quality. At decision act  416 , if all de-emphasis levels for the selected training pattern have not been tried, control transitions to act  418 , where a different de-emphasis level is selected for the training pattern. In an embodiment, the amount of de-emphasis to be applied to the transmitter can be determined by analysis of the received signal, as it is known what training symbol the receiver is transmitting due to the symmetric nature of the algorithm (both ports send the same training sequence). Control then loops back to act  406 , where the training pattern is again tried, this time with a different de-emphasis level. Returning to decision act  416 , if all de-emphasis levels have been tried for the training pattern, control continues to decision act  412 . If all patterns have not been sent, the different training pattern is selected and the de-emphasis level reset to its initial level at act  414 . Control returns to act  406 , where the new training pattern is sent at the reset de-emphasis level. Returning to decision act  412 , if all training patterns have been sent, control transitions to act  420  where an acceptable de-emphasis is selected, and normal 1394-compliant symbols are transmitted using the acceptable de-emphasis level at act  422 . 
     In an alternative embodiment ( FIG. 4B ), a decision act  410  can be added to streamline the de-emphasis training process. In this embodiment, all training patterns are still sent, but a determination (decision act  410 ) is made as to whether a tried de-emphasis level is acceptable, and preempts further testing of the particular training pattern at additional de-emphasis levels. 
     In an embodiment, failure can be recognized at the end of the de-emphasis training methods illustrated in  FIGS. 4A and 4B . This determination can be made from analyzing the eye pattern in act  408  and determining that all de-emphasis levels tried for the training patterns are unacceptable. As a result of this determination, a slower transmission speed, such as S1600 can be selected and the de-emphasis training methods described above can be repeated at this slower speed. 
     In an embodiment, the present invention provides calculations for cable length and resulting round trip delays. For example, while the 1394b cable/connector specification for the IEEE 1394b standard supports an inexpensive 4.5 m cable, users desire longer cables with a different construction that still meet the same cable budget parameters. Allowing for a 10 m cable delay, where a signal travels at a rate of 5 ns per meter, the end-to end delay is of the order of 50 ns in each direction. Thus, by this example, 200 bits at S3200 can be in flight on the cable at any given time. The time allowed in the 1394b spec for phase lock loop (PLL) synchronization, plus other negotiation, is approximately 1 ms. The speed negotiation algorithm operates at 25 Hz, and is asynchronous. Thus, one node can decide to start sending training symbols some 42 msec before the peer port starts sending its training symbols, and analyzing the incoming training symbols. 
     The PHY&#39;s receiver always knows what the transmitter is transmitting at any given moment in time to within a degree of accuracy defined by round trip delay. This is partly a property of what is determined from analyzing the incoming stream (the actual pattern of 1&#39;s and 0&#39;s), and partly (the de-emphasis applied) inferred from what the receiving node is receiving. 
     While various embodiments of de-emphasis training methods in accordance with the present invention have been illustrated and described above, it is to be understood that many modifications can be made to specific embodiments of the present invention without departing from the spirit thereof.