1. Field
Example aspects of the present invention generally relate to the transmission of data in a communications network, and more particularly to performing clock and data recovery on a digital transmission.
2. Related Art
In the telecommunications industry, network service providers transmit multimedia information, including voice, video, and data information, to users of their networks via a local loop distribution network, one example of which is a passive optical network (PON). A PON can be classified according to the location where optical-electrical conversion of signals occurs. For instance, one PON classification is a fiber-to-the-node (FTTN) network, in which optical-to-electrical conversion typically occurs at nodes local to a number of subscribers, and the subscriber equipment connects to the nodes using traditional coaxial or twisted-pair electrical wiring. Similarly, in a fiber-to-the-premises (FTTP) network, which is another classification of PON, conversion typically occurs at a subscriber's premises. Other examples of PONs include fiber-to-the-business (FTTB), fiber-to-the-curb (FTTC) and fiber-to-the-home (FTTH) networks. These types of networks are herein referred to generally as “FTTx networks.”
A typical FTTx PON includes one or more optical line terminals (OLTs), which can be located at a service provider's central office and can include one or more PON cards. Various example configurations of a FTTx network are shown in
A communication made in a FTTx network can be processed such that the communication is suitable for transmission through the network. Pre-transmission processing of a communication may include, for example, the encoding of one or more clock signals and/or one or more data streams. Therefore, an encoded communication may need to be decoded when received by an element in the FTTx network. Such post-transmission decoding may involve recovery of the clock signal(s) and data stream(s). This procedure is generally referred to as clock and data recovery (CDR).
According to an example aspect of the invention, a method is provided; a system, apparatus, and computer program product that operate in accordance with the method also are provided. The method performs clock and data recovery (CDR) on a digital transmission, and includes oversampling the digital transmission into oversampled data, detecting a frequency component of the oversampled data, qualifying a decision logic to select a sample of the oversampled data, and selecting at least one sample of the oversampled data using the decision logic.
Further features and advantages, as well as the structure and operation, of various example embodiments of the present invention are described in detail below with reference to the accompanying drawings.
The features and advantages of the example embodiments of the invention presented herein will become more apparent from the detailed description set forth below when taken in conjunction with the drawings. Like reference numbers between two or more drawings indicate identical or functionally similar elements.
The following description and example embodiments are described in the context of a PON having ONTs as user nodes. However, this context has been chosen solely for the sake of simplicity; the invention is not limited for use only with ONTs, but can also be used in conjunction with other user nodes such as, for example, ONUs, RDTs, any other suitable types of nodes operable within a communication network, or any combination thereof. Moreover, upon reading of the following description it will be apparent to one with skill in the relevant arts how to practice alternative example embodiments within communication networks other than PONs.
In a typical PON, downstream digital communications, e.g., communications transmitted from an OLT to one or more ONTs, are transmitted over a single fiber optic channel operating in a continuous mode. Included in the downstream communications is a data stream, which contains timing information generated by the OLT that enables a receiving device, e.g., an ONT, to recover a clock signal, hereinafter referred to as a “downstream clock.” In order for a communication to be properly decoded by an ONT, the ONT first must lock to the downstream clock. Once the clock has been locked, the ONT can then use the clock to determine the proper alignment of bits within the bitstream of the downstream communication. This two-step procedure is generally referred to as clock and data recovery (CDR); CDR is also known as clock phase and data recovery. Devices such as, for example, ONTs typically perform CDR on downstream communications, i.e., continuous mode communications, through the use of phase-locked loop (PLL) circuitry and the like.
Similarly, upstream digital communications, i.e., communications transmitted from one or more ONTs to an OLT, are typically transmitted with timing information generated by the ONT (hereinafter referred to as an “upstream clock”). The ONT generates the upstream clock based on the downstream clock signal, which has been recovered by the ONT through CDR of one or more downstream communications; generally, the upstream clock is at the same frequency as the downstream clock. The OLT then performs its own CDR procedure on the upstream communication. In this manner, the OLT can receive (and perform CDR on) all upstream communications transmitted from the various ONTs in the PON.
In a typical PON, however, upstream communications are transmitted over a fiber optic channel operating in a burst mode; unlike downstream communications, where a single OLT sends communications to multiple ONTs, for upstream communications multiple ONTs must send communications to a single OLT. Because simultaneous upstream transmissions from multiple ONTs can interfere with one another, which can prevent proper data transmission and recovery, each ONT can only send a communication during a brief, individually-allocated time. Thus, upstream transmissions occur in bursts, where each burst can originate from a different ONT. In a GPON, an individual upstream burst is generally referred to as a transmission container (T-CONT), as described in International Telecommunications Union (ITU) publication ITU-T G.984.3. As used herein, “T-CONT” can refer to an upstream burst communication in any PON and/or other suitable communications network.
In order for an individual ONT to transmit a T-CONT at its proper allocated time, the downstream clock, which is sent by the OLT in a downstream transmission and recovered by the ONT during CDR of the downstream transmission together with a bandwidth map embedded in the downstream frames, can be used by the ONT to determine when to transmit its T-CONT. Although each ONT generates its upstream clock based upon the downstream clock signal sent by the OLT, because the ONTs in a typical PON are located at various distances from the OLT, there can be phase differences between the upstream clocks received from the various ONTs in the PON; the physical signals, e.g., optical and/or electrical, in which communications are encoded travel at finite speeds and require varying lengths of time to travel different distances. Thus, to receive and recover data from upstream communications, the OLT must lock on to a different upstream clock for each T-CONT prior to decoding the data encoded in an individual communication received from an ONT.
A typical structure of a T-CONT is as follows. Encoded at the start of the transmission is a preamble, an example waveform of which is described below in connection with
Encoded following the preamble is a delimiter, which can also be a byte pattern. An example use of a delimiter is for the performance of byte alignment, as described below in connection with byte aligner 540. Although ITU-T G.984.3 standardizes a GPON delimiter length to 16 or 20 bits, other delimiter lengths are possible (and can be standardized according to other network standards), including delimiter lengths of, for example, eight bits, 12 bits, and the like. An example 20-bit delimiter is 0xB5983, although other delimiters may be used in the transmission of upstream burst communications.
Following the delimiter is encoded data, which can be recovered through, for example, an oversampling CDR procedure. Between consecutive T-CONTs there can a gap during which no encoded information is sent. According to ITU-T G.984.3, a 32-bit gap is recommended between consecutive GPON T-CONTs (though other gap lengths are possible). Thus, by combining a 0xAA preamble pattern with a delimiter as described above, the start of T-CONT (including the preceding silent gap) can be printed in hexadecimal form as 00000000AAAAAAAAAAAB5983. The encoded data of the T-CONT can follow this starting pattern. The structure of an example T-CONT is further described below in connection with
Procedures for performing CDR on T-CONTs vary. PLL circuits, which typically are used for continuous downstream transmissions, may have limited effectiveness when used for upstream CDR applications because the time required for a PLL circuit to lock onto to a clock signal can be much longer than length of time occupied by the upstream clock, e.g., the preamble of a T-CONT; thus, PLLs may not be suitable for CDR on upstream communications sent at high data transmission rates. (High data transmission rate T-CONTs may occur in high-speed networks such as, for example, a broadband PON (BPON), an Ethernet PON (EPON), a gigabit PON (GPON), a wavelength division multiplexed PON (WDM-PON), and the like. Upstream data transmission rates in networks such as these may include, for example, 125 Mb/s, 622 Mb/s, 1.25 Gb/s, as well as other data rates.) Therefore, other procedures and/or implementations of CDR can be used to decode T-CONTs transmitted at high data rates. One such procedure is oversampling CDR, as described in U.S. patent application Ser. No. 11/972,775, the disclosure of which is hereby incorporated by reference herein in its entirety, as if fully set forth herein.
Even if a suitable CDR procedure (e.g., oversampling CDR) is performed on a high-speed transmission, however, other transmission effects can complicate the performance of CDR. For example, transmissions that travel long distances over optical fibers can become attenuated, resulting in weak signals received by the OLT. Although weak signals can be amplified by an optical module of an OLT, proper gain adjustments between T-CONTs of varying signal amplitudes can be difficult for the optical module to perform. Such a circumstance may occur when a weak-signal T-CONT (e.g., from an ONT located far from an OLT) is received following a strong-signal T-CONT (e.g., from an ONT located close to the OLT), or vice versa. Furthermore, because the optical module adjusts its gain during the preamble of a T-CONT, until a proper gain level is achieved, there can be no electrical output from the optical module even when portions of the preamble are received. Thus, the optical module can “blind” a CDR circuit to numerous bits of the preamble, which effectively shortens the length of the preamble and can make it difficult for the CDR circuit to properly lock to the T-CONT.
Another transmission effect that can complicate the performance of CDR of a T-CONT is variability in the length of the signal gap between consecutive T-CONTs. Because of the varying distances over which signals physically travel within a network such as, for example, a PON, the signal gap between consecutive T-CONTs can vary from a recommended or standardized length expected by the OLT (e.g., the 32-bit gap recommended by ITU-T G.984.3, as described above). Thus, a preamble for a T-CONT can begin earlier or later than an OLT expects. If such a drift occurs in the signal gap, i.e., the gap is variable, this can lessen the number of preamble bits available for a CDR procedure.
Yet another transmission effect that can complicate CDR is undesirable signal variations in the output of the optical module. These variations can include undesired changes in phase, amplitude, frequency, and the like in the output of the module, and can be introduced by the inherent operation of a given module. As shown below in connection with
As a whole, the transmission effects described above (and shown by example in
Those having skill in the relevant arts will recognize that the oversampling occurring at block 402 may not be aligned to the bit frequency of the incoming bitstream. However, though the OLT (or other receiving device) may not know the bit alignment, the OLT can correctly determine the data transmission rate because, as described above, when communicating upstream in a PON, an ONT uses a recovered downstream clock to transmit its upstream data. Thus, an OLT can use its own local clock to determine the bit rate and oversample the incoming transmission accordingly. As a result, the OLT can ensure that, on average, N samples are made per incoming bit.
In an example embodiment of the invention, the transmission oversampled at block 402 is a preamble of a T-CONT. As described above, a preamble transmitted by an ONT in a PON can be subject to variations in an optical module output and/or other transmission effects, as shown in
Following the oversampling of the incoming data transmission at block 402, a decision block can be entered at block 403. At this block it is determined whether or not a frequency component of the oversampled data is detected. As described above in connection with
The detection of a frequency component at block 403 need not involve a calculation or other determination of a magnitude of a frequency (e.g., 1 GHz). Rather, a frequency component can be detected by a comparison of the bits comprising the oversampled data. One example of such a comparison is the calculation of one or more pattern detection equations, as discussed below.
The detection of a frequency component at block 403 can indicate that, as oversampled, a received preamble has a well-defined byte pattern that is not overly distorted by any of the various transmission effects described above, i.e., at least some of the oversampled data exhibits periodicity. CDR locking onto oversampled data such as this generally will not result in false lock. Thus, oversampled data for which a frequency component is detected (i.e., having periodicity) can be suitable for CDR locking. For example, the detection of the one-half bit rate frequency corresponding to a 0xAA preamble can indicate that the pattern of alternating “1” and “0” bits has been received by an OLT. Thus the preamble is well-defined, i.e., not distorted by variations in an optical module output and/or other transmission effects. A well-defined preamble (e.g., the preamble shown in
On the other hand, if a frequency component is not detected at block 403, the absence of detection can indicate that the preamble being received is not well-defined. Such a preamble may be affected by transmission effects such as, for example, distortions at the start of and during the preamble, examples of which are described above in connection with (and shown by)
In an example embodiment of the invention, a frequency component can be detected at block 403 by a qualifying circuit such as, for example, qualifying circuits 600 and 700. As described below and also in connection with
In an example embodiment of the invention, a frequency component in the oversampled data can be detected via a calculation of one or more pattern detection equations. A pattern detection equation can determine if there is a pattern, i.e., a frequency component associated with a byte or bit pattern, in oversampled data; pattern detection can be performed by the use of, for example, combinatorial logic. A pattern detection equation (s) can be constructed to detect a frequency component over a predetermined bit width, which is hereinafter referred to as “W.” The value of W corresponds to the number of sets of adjacent upstream bits over which frequency component detection occurs. Thus, if W=1, then pattern detection is limited to one set of adjacent bits (2 bits total). Similarly, if W=2, then a pattern detection occurs over to two sets of adjacent bits (3 bits total, i.e., a detection between the first and second bit and a detection between the second and third bit), and so forth. The value of W can be selected by, for example, CDR decision logic (e.g., decision logic of sampling point decider 520). If selected by in this manner, W can be proportional to the number of sampled bits used by a CDR procedure to lock onto oversampled data.
A description of an example pattern detection equation is as follows. Consider an incoming upstream transmission of a byte pattern (e.g., a preamble of a T-CONT), which can be oversampled at block 403. If, for example, N=5, then there are, on average, five oversampled bits per incoming bit. Thus, if the preamble is 0xAA, then an example set of incoming bits can be “1010” and the corresponding oversampled data can be “11111000001111100000” (if there are no transmission effects, variations in an optical module output, etc.). To detect the alternating pattern, the pattern detection equation can compare the values of bits from different sample sets. For example, an individual pattern detection can be obtained by comparing each n-th (e.g., first, second, third) bit from a first sample set to a corresponding n-th bit from a second sample set. If the values of the bits differ, then the pattern is detected between the two bits. By combining the results of many individual pattern detections in a logical fashion, pattern detection equations can determine whether there is a frequency component to the oversampled bitstream.
For further description of pattern detection equations, consider a specific example where N=5 and W=4. Because N=5, there can be five sampled bits per sample set (and five sampled bits per incoming data bit). Furthermore, because W=4 there are four sets of bits (i.e., five incoming bits) compared. In this example, the following set of equations can detect patterns in the oversampled data:
In equations (1)-(5), the symbol ⊕ represents the Boolean logic operator XOR and symbol ∩ represents the Boolean logic operator AND. Each pdata[i] is an individual sample of the oversampled data. (For N=5, the complete set of oversampled data for one incoming byte is pdata[39:0], where pdata[39] is the first sample of the most significant bit (MSB); because the predetermined bit width w is less than the bit width of the incoming data, equations (1)-(5) only perform frequency component detection on part of the oversampled data.) Therefore, each q[i] represents a single frequency component detection over the bit width. Because there are five samples per incoming bit, there can be five corresponding frequency component detections.
The results of equations (1)-(5) can be combined to determine whether there are any frequency component detections between each of the N sample sets over for the predetermined bit length W. An equation which can combine the results of equations (1)-(5) is:
where the symbol ∪ represents a summation of the Boolean logic operator “OR.” The result of equation (6) is Q, which can be an example of a qualifying signal, as described below; Q can be used to qualify a CDR procedure to lock onto oversampled data. The value of Q in equation (6) equals “1” when at least one of the results of equations (1)-(5) equals “1.” Conversely, if all of q[i] equal “0,” then Q=0. As described below, qualifying circuits 600 and 700 (described in connection with
The result of equations (1)-(6) can be further illustrated by considering these equations in the example circumstances of ideal (e.g., no distortions, no transmission effects, no variations in an optical module output, etc.) and non-ideal transmissions of a 0xAA preamble received at, for example, an OLT. In this example, each XOR operation performed in equations (1)-(5) will yield “1” (indicating a change between “1” and “0”—or vice versa—in the preamble bits), and each q[i] will also equal “1,” resulting in Q having a value of “1.” However, if the transmission is non-ideal and there are distortions in the 0xAA preamble, each of the five oversampled bits of a single preamble bit may not have the same value. Thus, in this circumstance, some of the XOR operations can yield “0” and, as a result, one or more of equations (1)-(5) also can yield “0.” Even though some of the q[i] may have a value of “0,” if at least one q[i] is “1,” then a frequency component is detected, and Q is “1,” However, if all of equations (1)-(5) yield “0,” which may occur when the preamble is particularly distorted, then no frequency component is detected and Q can equal “0.” If Q equals “0,” then no frequency component is detected at block 403, and a decision “NO” can be entered.
Those having skill in the relevant arts will recognize that a general form of pattern detection equations (of which equations (1)-(6) represent the specific form where N=5 and W=4) can be written as follows:
where i ranges from zero to (N−1) and the symbol ∩ represents a summation of the Boolean logic symbol “AND.” Thus, a general form of Q (equation (6) being a specific example thereof) can be written as:
Furthermore, where w<8, the number of sampled bits for which frequency component detection is performed is less than the total number of incoming bits (e.g., in the circumstance of the oversampling of one incoming byte per clock cycle, eight incoming bits). Therefore, in an example embodiment of the invention, frequency component detection at block 403 can be performed by multiple frequency detecting components such as, for example, multiple circuits, of which circuit 600 (described below in connection with
where i ranges from 0 to N−1 and k is another index variable. Thus, as shown in equation (9), for each q′[i], if any of the multiple components detects a frequency component, the value of q′[i] can equal “1.” In this example embodiment, the results of all q′[i] given by equation (9) can be combined according to the following equation:
Q may be further expanded and rearranged as follows:
In equation (11), T[k] is given by the following:
where k ranges from 0 to M, and M is the largest integer less than 8/W. Thus, T[k] can represent an output from one of the multiple components performing the frequency component detection, as discussed below in connection with
At block 404, which can be entered into following a decision “YES” at block 403, a decision logic is qualified to lock onto the digital transmission. As described above and in U.S. patent application Ser. No. 11/972,775, a decision logic can be used in an oversampling CDR procedure to select oversampled bits for output as recovered data. As used herein with respect to a decision logic, the term “qualifying” should be understood as enabling, activating, turning on, or otherwise permitting operation of the decision logic to lock onto to a digital transmission when a frequency component in the transmission is detected. Thus, until the decision logic associated with a CDR procedure is qualified at block 404, the decision logic can be prevented from locking on to the digital transmission.
A decision logic can be qualified at block 404 by, for example, qualifier 560 or qualifying circuits 600 and 700, which are described below, or it may be qualified by any other suitable circuit, device, component, or network element. In an example embodiment of the invention, the decision logic is qualified at block 403 by enabling the decision logic with a signal output from a qualifying circuit, as described below in connection with
At block 405, a decision logic, which can be qualified to lock to oversampled data, operates to select samples from the oversampled data for output as recovered data. An example operation of the selection by the decision logic can be found in U.S. patent application Ser. No. 11/972,775. The selection operation performed by the decision logic is not limited to this example, however, and other selection operations may be performed at block 405. At block 407, the procedure terminates.
Alternatively, at block 406, which can be entered in response to a “NO” decision at block 403, a decision logic is not qualified to lock onto the digital transmission. In this block, the decision logic is not qualified to lock onto oversampled data because a frequency component has not been detected in the data at block 403. As discussed above, an example circumstance in which a frequency component may not be detected in oversampled data is when incoming data is a distorted preamble, a signal gap, and/or non-preamble bits (e.g., delimiter bits and encoded data bits). In this circumstance, the incoming data, once oversampled, may not be comprised of a pattern (e.g., a preamble or other byte pattern) having a detectable frequency component. Because no frequency component is detected, the oversampled data may not be suitable for locking by a decision logic; a locking procedure may result in the false locking of the CDR. As a result, the decision logic is not qualified to lock to the oversampled data.
Performance of block 406 need not involve a physical signal or any other change in the components performing any of the blocks of
The flow diagram shown in
Deserializer 510 is comprised of oversampler 511, shift register 512, and buffer 513. Oversampler 511 oversamples an upstream data transmission (e.g., a T-CONT) at a sampling rate equal to N multiplied by bit rate (as described above in connection with
The following is an example of the manner in which deserializer circuit 510 operates. Consider a T-CONT transmitted over a GPON at a bit rate of 1.25 GB/s. If, for example, oversampler 511 is configured to oversample incoming data at a rate five times greater than the bit rate, then N=5 and the oversampling frequency of oversampler 511 is 6.25 GB/s. Given an input of one byte of the T-CONT, the output of oversampler 511 is a serial data stream of five bytes (40 bits) where the last five bits of the 40-bit bitstream are samples 1-5 of the input byte, the preceding five bits of the bitstream are samples 6-10 of the input byte, and so forth. This serial bitstream is input to shift register 512, which, in the example of N=5, is a 5×8 shift register. Shift register 512 converts the serial bitstream to a parallel bitstream of five sampled bytes, such that samples 1-5 of the upstream data are the least significant bits (or “LSB”) of the five sampled bytes, samples 6-10 are the second LSB of the sampled bytes, and so forth. These five sampled bytes are inputted to buffer 513, which operates according to the above-described byte clock, and then can be further processed and/or manipulated by other elements or modules, such as, for example, sampling point decider 520 and/or qualifier 560.
Although the preceding example has been described in the context of a deserializer having N=5, this example was chosen only to illustrate an operative principle of deserializer 310. The example should not be construed as a limitation on any other example embodiment of the invention, which can have different values for the pertinent parameters and variables.
CDR circuit 500 can further operate as follows. Oversampled data (in parallel format) can be output from deserializer 510 to delay register 550 and qualifier 560. Qualifier 560, of which circuits 600 and 700 (described below) are examples, examines the oversampled data for a frequency component. If a frequency component is detected, qualifier 560 qualifies sampling point decider 520 through an output signal “Q.” Delay register 550 stores oversampled data during the operation of qualifier 560 and outputs the stored data to sampling point decider 520 after each operation of qualifier 560. In this manner, sampling point decider 520 can operate on oversampled data corresponding to the same data operated on by qualifier 560.
Sampling point decider 520 selects certain samples (e.g., one byte) from the multiple samples (e.g., N sampled bytes) oversampled by deserializer 510 for output as recovered data. Sampling point decider 520 can select bits (or bytes) by way of a decision logic (such as a decision logic locked on to a T-CONT). According to an example aspect of the invention, sampling point decider 520 selects samples only when it is locked to the oversampled data, and furthermore only locks when it is qualified to do so. In this manner, it is prevented from selecting samples while false locked to oversampled data, which can increase the BER of CDR circuit 500.
Sampling point decider 520 has a burst reset input which, as described below, can reset a CDR locking of the decider. Signal can be passed to the burst reset by, for example, a bandwidth mapping component (e.g., a BW-MAP circuit, which is not shown in
Demultiplexer 530 filters from the oversampled bits only the certain samples selected (e.g., a selected byte) by sampling point decider 520. Byte aligner 540 receives the selected byte from demultiplexer 530 and outputs the byte as recovered data. Byte aligner 540 has a delimiter input, through which a delimiter byte pattern (e.g., 0xB5983 or any 16- or 20-bit byte pattern according to ITU standards) can be passed. The byte pattern can be received from any suitable source such as, for example, a component, device, and/or circuit within an OLT or an ONT, or a source local to or comprising any of the elements of
Circuit 600 is comprised of input ports 610, XOR gates 620, AND gates 630, and OR gate 640. A byte frequency clock (not shown) can be input into input ports 610. The byte frequency clock can be used to control the timing, incrementing, shifting, and/or other manipulating of data and/or signals in circuit 600.
An example operation of qualifying circuit 600, in which the circuit can detect a frequency component, is as follows. Because N=5, input ports 610 can accept a 5×8 parallel input, such as the five parallel sampled bytes output from deserializer 510. (These five parallel sampled bytes correspond to 40 samples of a byte of upstream data sampled by oversampler 511.) Input ports 610 can be numbered in such a manner that the most significant bit (MSB) of the first byte is at port 39, the MSB of the second byte is at port 38, and so forth; the least significant bit (LSB) of the fifth byte is at port 0. The 40 sampled bits can then be represented by the set pdata[39:0], where the index numbers of the “pdata” variable indicate the ports of the upper and lower bounds of the bit range encompassed by the set.
In accordance with an example aspect of the invention, the sampled bits can be samples of a byte pattern (e.g., a preamble). For example, consider sampled bits of preamble 0xAA. In this example, the incoming data bits alternate between “1” and “0.” If N=5, then, upon oversampling of the incoming data, the 40 sampled bits ideally can alternate between “1” and “0,” with one alternation per five sampled bits. However, as described above, variations in an optical module output and/or other transmission effects can cause distortions to the incoming preamble, resulting in sampled bits that do not have such ideal values. If the sampled bits do not have the ideal values, there may be no pattern detectable by pattern detection equations, resulting in no detection of a frequency component. Thus, the detection of a frequency component in pdata[39:0] can indicate that at least some of the sampled bits alternate according to the ideal manner, in which case the qualifying circuit can qualify a decision logic to lock onto the oversampled data.
Elements 620, 630, and 640 of circuit 600 can be configured to perform the frequency-detecting operations described above in connection with equations (1)-(6). The inputs to each of the XOR gates are two bits of pdata[39:0] from two of the input ports 610. As shown in
AND gates 630 perform the AND operations described in equations (1)-(5). For example, AND gate 630e performs the AND operations of equations (1); AND gate 630d performs the AND operations of equations (2), and so forth. Thus, the output of each of AND gates 630 corresponds to one q[i], i.e., the outputs of the five AND gates 630 correspond to q[1]-q[5]. The outputs of each of the AND gates 630 are passed to OR gate 640.
OR gate 640 performs the operation of equation (6). Therefore, the output of OR gate is “Q.” which can be a qualifying signal. The output of OR gate 640 can be passed to another frequency detecting component (as described below in connection with
The operation of circuit 700 can be as follows. Elements 710, 720, 730, and 740 perform in a manner corresponding to like-numbered elements in circuit 600. As described above in connection with
Those having skill in the art will recognize that the bit range needed to compute T[0] and T[1], as given by equation (12), is pdata[44:0]. Thus, pdata[44:40], which are not shown in
The two outputs described above can be input into OR gate 750. The output of OR gate 750 is thus “Q.” as given by equation (11). “Q” is a qualifying signal which represents whether there is a frequency component detection over the entire range of oversampled data at input ports 710. The output “Q” from OR gate 750 can be used in a manner similar to that described above in connection with OR gate 640 (e.g., “Q” can be passed to a decision logic or to another circuit element or device).
In the following description of
A description of an example interrelation of the signals shown in
Logical diagram 900 includes a CDR module 901 for performing CDR on digital data transmissions and a communication module 902 for directing information between sub-modules of CDR module 901, as well as receiving data (e.g., a upstream data transmitted in a PON, such as a T-CONT) from and sending data (e.g., recovered data, such as recovered bytes) to other modules, circuit devices, and/or network elements.
The CDR module 901 includes: a sub-module 901a that oversamples a digital transmission; a sub-module 901b arranged to detect a frequency component in an oversampled digital transmission; a sub-module 901c that can qualify a decision logic; and a sub-module 901d that selects samples of the oversampled digital transmission.
The communication module 902 can send digital transmissions to sub-module 901a for oversampling, and can receive oversampled data from sub-module 901a. The communication module 902 also can send oversampled data to sub-module 901b in order for sub-module 901b to detect a frequency component in the data, and also can receive frequency component detections from sub-module 901b. The communication module 902 further can send detections of frequency components to sub-module 901c for qualification of a decision logic, and further can receive qualifications from sub-module 901c. The communication module can send qualifications to sub-module 901d to qualify sub-module 901d, and also can send oversampled data to the submodule in order for it to select one or more samples from the oversampled data. Communication module 902 can received selections of oversampled data from the submodule 901d.
A storage device 1010 having a computer-readable medium is coupled to the processor 1002 via a storage device controller 1012, the I/O bus 1008 and the system bus 1006. The storage device 1010 is used by the processor 1002 and storage device controller 1012 to read and write data 1010a, and to store program instructions 1010b. Alternately, program instructions 1010b can be stored directly in non-volatile or volatile portions of memory 1004. Program instructions 1010b can be used to implement, for example, procedures described in connection with
The storage device 1010 can also store various routines and operating systems, such as Microsoft Windows, UNIX, and LINUX, or the like, that can be used by the processor 1002 for controlling the operation of system 1000. At least one of the operating systems stored in storage device 1010 can include the TCP/IP protocol stack for implementing a known procedure for connecting to the Internet or another network, and can also include web browser software for enabling a user of the system 1000 to navigate or otherwise exchange information with the World Wide Web.
In operation, the processor 1002 loads the program instructions 1010b from the storage device 1010 into the memory 1004. The processor 1002 then executes the loaded program instructions 1010b to perform at least part of the example procedures described herein.
By virtue of the example embodiments described herein, a decision logic can be qualified to perform a CDR procedure on digital communications such as upstream data transmissions in FTTx networks. By qualifying the decision logic, a CDR procedure can be operated at a lower BER, thus allowing communications streams to be transmitted at higher data bit rates.
In the foregoing description, example aspects of the present invention are described with reference to specific example embodiments. Despite these specific embodiments, many additional modifications and variations would be apparent to those skilled in the art. Thus, it is to be understood that example embodiments of the invention may be practiced in a manner otherwise than as specifically described. For example, although one or more example embodiments of the invention may have been described in the context of an oversampling ratio N equal to five, it should be understood that the invention is not so limited, and that in practice the example embodiments may include or incorporate any other type of content. Accordingly, the specification is to be regarded in an illustrative rather than restrictive fashion. It will be evident that modifications and changes may be made thereto without departing from the broader spirit and scope.
Similarly, it should be understood that the figures are presented solely for example purposes. The architecture of the example embodiments presented herein is sufficiently flexible and configurable such that it may be practiced (and navigated) in ways other than that shown in the accompanying figures.
Software embodiments of the example embodiments presented herein may be provided as a computer program product, or software, that may include an article of manufacture on a machine-accessible, machine-readable, or computer-readable medium having instructions. The instructions on the machine-accessible, machine-readable, or computer-readable medium may be used to program a computer system or other electronic device. The machine-readable or computer-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks or other type of media suitable for storing or transmitting electronic instructions. The techniques described herein are not limited to any particular software configuration. They may find applicability in any computing or processing environment. As used herein, the terms “machine-accessible medium,” “machine-readable medium,” or “computer readable medium” shall include any medium capable of storing, encoding, or transmitting an instruction or sequence of instructions for execution by the machine such that the machine performs any one or more of the procedures described herein. Furthermore, it is common in the art to speak of software, in one form or another (e.g., program, procedure, process, application, module, unit, logic, and so on) as taking an action or causing a result. Such expressions are merely a shorthand way of stating that the execution of the software by a processing system causes the processor to perform an action to produce a result.
Furthermore, the purpose of the foregoing abstract is to enable the U.S. Patent and Trademark Office, the general public, and scientists, engineers, and practitioners in the art who are unfamiliar with patent or legal terms or phrases, to quickly determine from a cursory inspection the nature and essence of the technical disclosure of the application. The abstract is not intended to limit the scope of the present invention in any way. It is also to be understood that the processes recited in the claims need not be performed in the order presented.