The present invention relates to data communication and more particularly to acquiring data and clock signals associated with the data communication.
Communication systems often transmit data with a clock embedded in a data stream, rather than being sent as a separate signal. When the data stream is received, a clock and data recovery circuit (CDR) recovers the embedded clock and retimes the received data to the recovered clock. Oftentimes, a CDR is implemented in an integrated circuit along with additional components, such as a limit amplifier (LA) and other such components. The LA may receive a voltage signal from a transimpedance amplifier (TIA) or other amplifier, which amplifies an incoming converted optical signal. Instead of a LA, an automatic gain control (AGC) amplifier may be used.
The function of the limit amplifier is to produce a consistent waveform from the TIA output which can be used by the CDR, regardless of incoming optical energy. In addition to amplifying the input signal, the LA may provide an adjustable slicing level to compensate for an asymmetric noise characteristic present in the incoming data. A slicing level is the threshold voltage at which an incoming signal is determined to be either a “1” bit or a “0” bit. At low levels of optical energy (corresponding to a zero bit level for example), the noise current is low. At higher levels of optical energy (corresponding to a one bit), the noise current may be higher. An optimal slice level for an amplifier in a receive path can enhance receiver performance significantly, especially in long-haul applications. Thus an offset is typically inserted into the receive path, either at an input of an amplifier or at an output thereof.
Optical signals are single-ended in nature. That is, a logic one value provides light, while a logic zero signal is dark. There is asymmetry in “1” and “0” signals when they are converted into the electrical domain, creating an asymmetrical data eye pattern.
A front end of a receiver (RXFE) has its own noise and offset due to circuit non-idealities. The lower frequency component of such noise may be termed as VOS (offset voltage) when it is referred to the RXFE input. This VOS adds to the incoming signal and it is the combined signal that is amplified by the amplifier. It is difficult for the amplifier and a corresponding CDR to discern the circuit offset voltage (i.e., VOS) from a user-applied slice value. Furthermore, VOS can vary significantly over time due to temperature and process variations, supply characteristics, and aging of the part. Thus power-on calibration is not a viable solution, and a need exists to adjust slice level during operation to improve performance.
As a result, some systems simply input a slice level at an input of a receiver amplifier, such as a LA. However, such slice level control only works well when the circuit offset from the amplifier is much smaller than the target receiver sensitivity and where the offset from the LA is non-varying. Such an implementation is impractical for a complementary metal oxide semiconductor (CMOS) implementation, due to large and varying LA offsets, especially in high data rate applications.
Another approach used is to replicate LA gain stages in a separate slice path to match gains present within the LA, and apply an offset to the LA through a feedback loop, such that the offset at the output of the LA matches the desired input slice level times the gain of the replica gain stages in the slice path. This scheme allows a somewhat accurate input-referred slice. However, such a system suffers from drawbacks including extra chip real estate used by the replica circuitry and imperfect matching, as well as the additional power consumed thereby.
Accordingly a need exists to provide an improved manner of offset cancellation and slice level adjustment.
In certain embodiments, the present invention includes apparatus and methods to maintain a desired slice level for an amplifier in a receiver. In one such embodiment, the method includes removing a DC offset from a loop having an amplifier coupled to receive an input signal, applying a selected slice level to the loop, and measuring an offset slice level at the amplifier output based on the applied selected slice level. This measured level may then be used to maintain the desired slice level.
In another embodiment, a method to maintain a desired slice level may use a feedback loop coupled between an output and an input of an amplifier. In such a method, a DC offset from the amplifier output may be canceled. Furthermore, a selected slice level may be inserted into the feedback loop while it is opened, and a sensed offset of the amplifier while the feedback loop is opened may be captured. This captured value may then be used to maintain the desired slice level.
Embodiments of the present invention may be implemented in appropriate hardware, firmware, and software. To that end, one embodiment may be implemented in an integrated circuit having an amplifier and a feedback loop coupled to store a sensed offset of the amplifier for a selected slice level offset inserted into the amplifier. Still other embodiments may include a system including such an integrated circuit along with additional components, such as an additional amplifier used to convert incoming optical energy into voltage signals.
In various embodiments, a loop may be provided in a receive signal path to provide a slice level control and offset cancellation for a receiver front end. In certain embodiments, a slice level offset may be manually provided based on a user-specified input value. Such a manual slice adjustment may occur in different manners, including an average value or duty cycle slicing mode, a proportional to peak slicing mode, and an absolute slicing mode.
Referring now to
As shown in
Then, a desired slice level may be inserted into the loop (block 30) by adding it to the RXFE offset obtained earlier when the offset cancellation loop is closed. This slice level is applied while the loop is open, as will be discussed below. For example, for manual operation, a user-selected slice level, which may be a proportional or absolute slicing level, may be inserted into the loop. Next, the amplifier offset may be measured (block 40). Specifically, the output of the amplifier may be measured and the DC component thereof is the sensed offset of the amplifier output.
This sensed offset may then be stored (block 50). As an example, the offset may be digitized and stored for use within the feedback loop. In one embodiment, the digitized sensed offset may be stored in a register, and may be used to provide an appropriate offset level to the amplifier.
Finally, the loop is closed and the stored offset is applied to the loop (block 60). More specifically, the stored offset may be applied to accumulator circuitry to be added to or subtracted from the output of the LA. The resulting value may then be summed with the selected slice level adjustment, and the resulting sum is then provided to the input of the LA.
Referring now to
As shown in
Loop 100 further includes a summing block 140, where the accumulator output is summed with the selected slice value, which may be a manually-selected value or an automatically-selected slice value provided via a multiplexer 150. The resulting summed signal is coupled to a digital-to-analog converter (DAC) 145 for conversion back to an analog signal, which is then provided as the RXFE offset and slice level to summing block 105, where it is summed with the incoming data signal, DIN.
In operation, loop 100 may progress through multiple states. Specifically, in one embodiment a RXFE offset cancellation state may first occur with loop 100 closed, to cancel the undesired DC offset present at the LA output while the desired slice offset is temporarily set to zero. Then a selected slice level may be applied to loop 100 while it is opened. As discussed, the selected slice level may be a manually or automatically selected slice level. After the circuit settles from the slice input, a sensed offset of the LA may be captured. This captured offset may then be stored. Finally, using the stored offset, loop 100 may again be closed, and normal operation may occur in which the sensed offset is maintained so that the desired slice level is provided to the LA.
Referring now to
At the conclusion of offset cancellation at time T1, as shown in
Thereafter, steady state operation of the part may begin with respect to maintaining the selected slice level. In such steady state operation, the selected slice level may be maintained by applying the stored sensed offset value from register 123 into accumulator 130. This operation may be enabled by activating a slice loop control signal (manualSliceLoopActive) into comparison circuitry 125.
Depending on its value, this sensed offset value increments or decrements the digitized output of ADC 120 to account for RXFE offset. Thus the output of ADC 120 is integrated in accumulator 130 with the stored offset. The resulting output of accumulator 130 is then combined with the selected slice level at summing block 140, which is converted back to an analog value via DAC 145 and provided to summing block 105, which is usually implemented as part of the LA. In such manner, a selected slice level value is maintained that fully accounts for DC offsets and other circuit non-idealities.
As discussed above, in some embodiments, a proportional mode of manual slice selection may be implemented. Referring now to
In operation, circuit 200 may provide either an absolute slicing level or a proportional slicing level to multiplexer 150, based on a desired operation mode for slice level selection.
If an absolute slice level is selected, the slice level stored in a register 210 may be selected through a multiplexer 220 and a multiplier 230 to provide the selected slice level for use in the feedback loop.
If instead proportional slicing is desired, a loss of signal (LOS) path 240 may provide an input into a combined ADC/DAC 260, which in one embodiment may be a successive approximation register (SAR) ADC/DAC. LOS path 240 may include a peak detector and may provide a value representative of the peak signal of the incoming data. This peak signal may be converted in ADC 260 into a digital peak detect signal (dpkdet [9:0]) and provided to a low pass filter (LPF) 270, which provides a filtered value to multiplier 230. LPF 270 filtering corner can range from a few Hertz to a few kiloHertz, in some embodiments.
In a proportional mode of operation, multiplier 230 multiplies the selected slice level by the peak of the incoming signal to provide a proportional level for the selected slice level. For example, a user may select a proportional slice level of 25%. If LOS path 240 determines a peak signal of 100 mV exists, the output of multiplier 230 may report a slice level voltage of 25 mV. As discussed above, the output of multiplier 230 may be provided to multiplexer 150 of
As further shown in
In another embodiment, slicing may occur according to an average value or duty cycle slicing mode of operation. Feedback loop 100 of
Referring now to
The output of LA 410 is provided to CDR 420. In turn, CDR 420 may generate outputs including recovered data (DATA) as well as a recovered clock signal (CLK), along with a phase offset signal (pOffset) which may report on the signal quality.
While shown with the particular components present in
While various states of the feedback loop may be performed upon start up of a system including a CDR, in various embodiments such a process may be performed multiple times during system operation. For example, changes to a selected slicing level may occur over time, changes may occur due to different peak signals received by the receiver, or changes may occur due to temperature and process variations, vibrations on an optical fiber line, aging, and the like.
In some embodiments, the feedback loop may be controlled using software (or a combination of software, firmware and hardware) that may be executed within a system, such as a receiver, CDR, or other component. Such embodiments may include an article in the form of a machine-readable storage medium onto which there are stored instructions and data that form a software program to perform such methods of progressing through the different stages of the feedback loop, including the opening and closing of the loop to cancel a RXFE offset, apply a slice level and capture a sensed offset, and then to maintain the sensed offset.
While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention.