The present invention relates to an apparatus that receives serial data to be input.
As an apparatus that receives serial data to be input, an apparatus that uses oversampling technology is known. This type of reception apparatus samples serial data at a frequency M times (M is an integer of three or more) as high as the bit rate of the serial data, determines, based on data obtained by each sampling, a bit transition timing for the serial data and determines each bit value. A reception apparatus described in non-patent document 1 uses the oversampling technology, and is designed attempting to reduce delay in follow so as to cope with rapid jitter.
However, since the reception apparatus described in non-patent document 1 needs to use a plurality of adders for averaging processing and the like, the reception apparatus has a large circuit size and it is difficult to increase its speed. The present invention is made to solve the foregoing problem and has an object to provide a reception apparatus that can reduce its circuit size and easily increases its speed.
According to the present invention, there is provided a reception apparatus that receives serial data which is input, the reception apparatus including: (1) a sampler portion that samples the serial data at a frequency M times as high as a bit rate of the serial data and that sequentially outputs data OSD[n] obtained by n-th sampling; (2) an edge detection portion that inputs the data OSD[n] sequentially output from the sampler portion, that performs an exclusive OR operation between the data OSD[n] and data OSD[n+1] which are adjacent to each other, and that outputs data EDG[n] which is a result of the exclusive OR operation; (3) a logical addition operation portion that inputs the data EDG[n] output from the edge detection portion, that performs, for a predetermined time period, an OR operation on the data EDG[n], with no used as a reference value, with respect to each n which leaves a remainder of m when a difference (n−no) is divided by a value M, and that outputs data EDGFLG[m] which is a result of the OR operation; (4) a timing determination portion that inputs the data EDGFLG[m] output from the logical addition operation portion, that determines a bit transition timing of the serial data based on the data EDGFLG[m], and that outputs data PHSEL[m] which indicates the bit transition timing; (5) a register portion that inputs the data OSD[n] sequentially output from the sampler portion, that gives a delay of a predetermined time period to the data OSD[n], and that then sequentially outputs the data OSD[n]; and (6) a selector portion that inputs the data OSD[n] sequentially output from the register portion, that also inputs the data PHSEL[m] output from the timing determination portion and that outputs data OSD[n] which is selected from the data OSD[n] based on the data PHSEL[m]. Here, M is an integer of three or more; m is an integer of zero or more and less than M; and n is any integer.
In the reception apparatus of the present invention, the sampler portion samples the input serial data at the frequency M times as high as the bit rate of the input serial data and outputs the data OSD[n] obtained by the n-th sampling. The data OSD[n] output from the sampler portion is input to the edge detection portion. In the edge detection portion, the exclusive OR operation is performed between the data OSD[n] and the data OSD[n+1] which are adjacent to each other, and the data EDG[n] which is the result of the exclusive OR operation is output.
The data EDG[n] output from the edge detection portion is input to the logical addition operation portion. In the logical addition operation portion, the OR operation is performed on the data EDG[n], with no used as a reference value, with respect to each n which leaves a remainder of m when a difference (n−no) is divided by a value M, and the data EDGFLG[m] which is the result of the OR operation is output. The data EDGFLG[m] output from the logical addition operation portion is input to the timing determination portion. In the timing determination portion, the bit transition timing of the serial data is determined based on the data EDGFLG[m], and the data PHSEL[m] which indicates the bit transition timing is output.
The data OSD[n] output from the sampler portion is input to the register portion. In the register portion, the delay of a predetermined time period is given to the data OSD[n], and then the data OSD[n] is output. The data OSD[n] output from the register portion is input to the selector portion. The data PHSEL[m] output from the timing determination portion is also input to the selector portion. Then, in the selector portion, data OSD[n] which is selected from among the data OSD[n] based on the data PHSEL[m] is output.
Preferably, in the reception apparatus of the present invention, the logical addition operation portion includes: (a) a first operation portion that inputs the data EDG[n] output from the edge detection portion, that uses no as a reference value, that performs an OR operation on the data EDG[n], with no used as a reference value, with respect to each n which leaves a remainder of m when a difference (n−no) is divided by a value M, and that outputs data EDGFLG0[m] which is a result of the OR operation; (b) a delay portion that inputs the data EDGFLG0[m] output from the first operation portion and that outputs data EDGFLG1[m] which is obtained by giving a delay of the given time period to the data EDGFLG0[m]; and (c) a second operation portion that inputs the data EDGFLG0[m] output from the first operation portion, that inputs the data EDGFLG1[m] output from the delay portion, that performs an OR operation between the data EDGFLG0[m] and the data EDGFLG1[m], and that outputs data EDGFLG[m] which is a result of the OR operation.
In this case, the data PHSEL[m] that is output from the timing determination portion and is input to the selector portion is determined based on not only the data OSD[n] output from the corresponding sampler portion but also the preceding data OSD[n].
Preferably, in the reception apparatus of the present invention, the logical addition operation portion includes: (a) a first operation portion that inputs the data EDG[n] output from the edge detection portion, that performs, for a given time period, an OR operation on the data EDG[n], with no used as a reference value, with respect to each n which leaves a remainder of m when a difference (n−no) is divided by a value M, and that outputs data EDGFLG0[m] which is a result of the OR operation; (b) a delay portion that inputs the data EDGFLG0[m] output from the first operation portion and that outputs data EDGFLG1[m] which is obtained by giving a delay of the given time period to the data EDGFLG0[m]; (c) a second delay portion that inputs the data EDGFLG1[m] output from the first delay portion and that outputs data EDGFLG2[m] which is obtained by giving a delay of the given time period to the data EDGFLG1[m]; and (d) a second operation portion that inputs the data EDGFLG0[m] output from the first operation portion, that inputs the data EDGFLG1[m] output from the first delay portion, that inputs the data EDGFLG2[m] output from the second delay portion, that performs an OR operation among the data EDGFLG0[m], the data EDGFLG1[m] and the data EDGFLG2[m], and that outputs data EDGFLG[m] which is a result of the OR operation.
In this case, the data PHSEL[m] that is output from the timing determination portion and is input to the selector portion is determined based on not only the data OSD[n] output from the corresponding sampler portion but also the preceding and subsequent data OSD[n].
Preferably, in the reception apparatus of the present invention, the timing determination portion determines the bit transition timing of the serial data in the center value of distribution of the data EDGFLG[m] output from the logical addition operation portion, and outputs the data PHSEL[m] indicating the bit transition timing Preferably, when there are two or more pieces of data that are a value of 1 among the data EDGFLG[m] output from the logical addition operation portion, the timing determination portion determines the bit transition timing of the serial data on one of the two or more pieces of data that is close to a bit transition timing indicated by the prior data PHSEL[m], and outputs data PHSEL[m] indicating this bit transition timing.
Since the reception apparatus of the present invention does not need to use an adder, the reception apparatus can reduce its circuit size and easily increases its speed.
Embodiments of the present invention will be described in detail below with reference to accompanying drawings. In the description of the drawings, the same elements are identified with common symbols, and their description will not be repeated.
The sampler portion 10 inputs serial data that needs to be received and also inputs a sampling clock CLK1 having a frequency M times as high as the bit rate of the serial data. Then, the sampler portion 10 samples the serial data with a timing indicated by the sampling clock CLK1, and sequentially outputs data OSD[n] obtained by the n-th sampling. Here, M is an integer of three or more; n is any integer. In other words, data OSD[n+1] is a value that is obtained by sampling performed one sampling period after the sampling time of data OSD[n].
The edge detection portion 20 inputs the data OSD[n] that is sequentially output from the sampler portion 10. Then, the edge detection portion 20 performs an exclusive OR operation between the data OSD[n] and the data OSD[n+1] that are adjacent to each other, and outputs data EDG[n] that is the result of the exclusive OR operation. If the data EDG[n] output from the edge detection portion 20 is a value of 1, since the values of the data OSD[n] and the data OSD[n+1] are different from each other, this means that there is a possibility of the presence of a bit transition timing of the input serial data between the sampling times of the data OSD[n] and the data OSD[n+1].
The logical addition operation portion 31 inputs the data EDG[n] output from the edge detection portion 20. Then, the logical addition operation portion 31 performs, for a predetermined time period, an OR operation on the data EDG[n], with no used as a reference value, with respect to each n which leaves the remainder of m when a difference (n−no) is divided by the value M, and outputs data EDGFLG[m] that is the result of the OR operation. Here, m is any integer of zero or more and less than M.
The logical addition operation portion 31 performs such an OR operation for each predetermined time period. Here, the predetermined time period refers to a time period of a plurality of continuous bits (for example, 10 bits) of the input serial data. For example, if the value M is assumed to be 5, a period of 10 bits of the input serial data corresponds to a time period in which sampling is continuously performed 50 times by the sampler portion 10.
The timing determination portion 40 inputs the data EDGFLG[m] output from the logical addition operation portion 31. Then, the timing determination portion 40 determines, based on the data EDGFLG[m], the bit transition timing of the input serial data and outputs data PHSEL[m] that indicates the bit transition timing.
If the data EDGFLG[m] that is output from the logical addition operation portion 31 and is then input to the timing determination portion 40 is a value of 1, this means that there is a possibility of the presence of the bit transition timing of the input serial data with timing represented by the value m. On the other hand, if the data EDGFLG[m] is a value of 0, this means that there is a possibility that the bit transition timing of the input serial data is not present with the timing represented by the value m.
The timing determination portion 40 utilizes this to determine the bit transition timing of the input serial data. The timing determination portion 40 assumes that any one piece of data that indicates the bit transition timing of the input serial data among M pieces of data PHSEL[ ] to PHSEL[M−1] is a value of 1, and that the other (M−1) pieces of data is a value of 0.
The timing determination portion 40 may uniquely determine the data PHSEL[m] based on the data EDGFLG[m]; the timing determination portion 40 may determine the subsequent data PHSEL[m] based on the data EDGFLG[m] and the current data PHSEL[m]. In the case of the latter, the timing determination portion 40 is a so-called finite state machine.
The register portion 51 inputs data OSD[n] that is sequentially output from the sampler portion 10. Then, the register portion 51 gives the data OSD[n] a predetermined time delay, and sequentially outputs data OSD1[n] after the time delay was given. The delay time which the register portion 51 gives to the data OSD[n] is assumed to be a time period that is necessary for the edge detection portion 20, the logical addition operation portion 31 and the timing determination portion 40 to determine the data PHSEL[m] from the data OSD[n].
The selector portion 60 inputs the OSD1[n] that is sequentially output from the register portion 51, and also inputs the data PHSEL[m] that is output from the timing determination portion 40. Then, the selector portion 60 outputs the OSD1[n] that is selected from the OSD1[n] based in the data PHSEL[m]. The selector portion 60 utilizes the fact that the data PHSEL[m] indicates the bit transition timing of the input serial data, and thereby selects and outputs the OSD1[n] that is sampled with a timing intermediate between two continuous transition timings. The latch portion 70 inputs the OSD1[n] output from the selector portion 60, holds the data for a time period of one bit and outputs it as data DATA.
When each of the timing determination portion 40, the register portion 51 and the latch portion 70 performs processing for each of a plurality of continuous bits (for example, 10 bits) of the input serial data, the processing is performed in synchronization with a logic clock CLK2 having a frequency one-tenth as high as the bit rate of the input serial data.
The sampler portion 10 can obtain 5 pieces of data OSD[n] for each time period of 1 bit of the input serial data and can obtain 50 pieces of data OSD[n] to OSD[49] for a time period of 10 bits of the input serial data. In the following description, OSD[n] to OSD[49] is also referred to as OSD[49:0]. The data OSD[49:0] output from the sampler portion 10 is input to the edge detection portion 20.
The edge detection portion 20 performs an exclusive OR operation between the data OSD[n] and the data OSD[n+1] that are adjacent to each other, and outputs the data EDG[n] that is the result of the exclusive OR operation. That is, the data EDG[n] is represented by a formula “EDG[n]=OSD[n+1] xor OSD[n].” However, when n=49, the data EDG[49] is represented by a formula “EDG[49]=OSD[0] xor OSD[49]” using the data OSD[0] among 50 pieces of the data OSD[0] to OSD[49] obtained for the preceding time period of 10 bits. The edge detection portion 20 can obtain 50 pieces of data EDG[0] to EDG[49]. In the following description, EDG[0] to EDG[49] is also referred to as EDG[49:0]. The data EDG[49:0] output from the edge detection portion 20 is input to the logical addition operation portion 31.
The logical addition operation portion 31 determines five pieces of data EDGFLG[0] to EDGFLG[4] based on 50 pieces of data EDG[49:0]. The value of the data EDGFLG[0] is the value of the logical addition of each value of data EDG[2], EDG[7], EDG[12], . . . , EDG[5k+2], . . . , EDG[47]. The value of the data EDGFLG[1] is the value of the logical addition of each value of data EDG[3], EDG[8], EDG[13], . . . , EDG[5k+3], . . . , EDG[48]. The value of the data EDGFLG[2] is the value of the logical addition of each value of data EDG[4], EDG[9], EDG[14], . . . , EDG[5k+4], . . . , EDG[49]. The value of the data EDGFLG[3] is the value of the logical addition of each value of data EDG[0], EDG[5], EDG[10], . . . , EDG[5k], . . . , EDG[45]. The value of the data EDGFLG[4] is the value of the logical addition of each value of data EDG[1], EDG[6], EDG[11], . . . , EDG[5k+1], . . . , EDG[46]. Here, k is an integer. In this way, five pieces of data EDGFLG[0] to EDGFLG[4] can be obtained. In the following description, EDGFLG[0] to EDGFLG[4] is also referred to as EDGFLG[4:0]. The data EDGFLG[4:0] output from the logical addition operation portion 31 is input to the timing determination portion 40.
The timing determination portion 40 determines, based on the data EDGFLG[4:0], the data PHSEL[m] that indicates the bit transition timing. In the following description, PHSEL[ ] to PHSEL[ ] is also referred to as PHSEL[4:0]. With reference to
As shown in
As shown in
As shown in
As shown in
As shown in
As shown in
As shown in
Basically, the subsequent data PHSEL[4:0] is selected such that the subsequent data PHSEL[4:0] is moved to the center of the distribution of the data EDGFLG[4:0]; if two pieces or more of data among the data EDGFLG[4:0] are a value of 1, the piece of data close to the preceding data PHSEL[4:0] is selected. If the center value of the distribution of the data EDGFLG[4:0] cannot be determined (
As described above, the timing determination portion 40 determines the bit transition timing of the input serial data, and the data PHSEL[4:0] indicating this bit transition timing is output from the timing determination portion 40 and is input to the selector portion 60. A delay is given by the register portion 51 to the data OSD[49:0] output from the sampler portion 10, and the data OSD1[49:0] receiving the delay is input to the selector portion 60.
In the selector portion 60, the data OSD1[n] that is sampled based on the fact that the data PHSEL[4:0] indicates the bit transition timing of the input serial data with an intermediate timing between continuous two transition timings is selected from the data OSD1[49:0] and is output. Then, the latch portion 70 holds the data OSD1[n] output from the selector portion 60 and outputs it as the DATA[9:0].
As shown in the figure, the data OSD1[49:0] that is output from the register portion 51 and is input to the selector portion 60 and the data PHSEL[4:0] that is output from the timing determination portion 40 and is input to the selector portion 60 are delayed by one period of the logic clock CLK2 with reference to the data OSD[49:0] output from the sampler portion 10.
Since the reception apparatus 1 of the first embodiment performs an OR operation in the logical addition operation portion 31 on the result of an exclusive OR operation performed by the edge detection portion 20, and determines, in the timing determination portion 40, the bit transition timing based on the result of the OR operation, the circuit size can be reduced, and the speed thereof is easily increased.
The reception apparatus 2 according to the second embodiment shown in
The logical addition operation portion 32 includes a first operation portion 321, a delay portion 322 and a second operation portion 323. As with the logical addition operation portion 31 of the first embodiment, the first operation portion 321 inputs the data EDG[n] output from edge detection portion 20, and performs, for a predetermined time period, an OR operation on the data EDG[n], with no used as a reference value, with respect to each n which leaves the remainder of m when a difference (n−no) is divided by the value M, and outputs data EDGFLG0[m] that is the result of the OR operation.
The delay portion 322 inputs the data EDGFLG0[m] output from the first operation portion 321, and outputs the data EDGFLG1[m] obtained by giving a delay of a predetermined time period to the data EDGFLG0[m]. The second operation portion 323 inputs the data EDGFLG0[m] output from the first operation portion 321, and inputs the data EDGFLG1[m] output from the delay portion 322. Then, the second operation portion 323 performs an OR operation between the data EDGFLG0[m] and the data EDGFLG1[m], and outputs, to the timing determination portion 40, the data EDGFLG[m] that is the result of the OR operation.
As shown in this figure, the data PHSEL[4:0] that is output from the timing determination portion 40 and is input to the selector portion 60 is determined based on not only the data OSD[49:0] of 10 bits output from the corresponding sampler portion 10 but also the preceding data OSD[49:0] of 10 bits.
Hence, the reception apparatus 2 of the second embodiment has the same effects as the reception apparatus 1 of the first embodiment, and can also determine the bit transition timing more stably.
The reception apparatus 3 according to the third embodiment shown in
The logical addition operation portion 33 includes a first operation portion 331, a first delay portion 332, a second delay portion 333 and a second operation portion 334. As with the logical addition operation portion 31 of the first embodiment, the first operation portion 331 inputs the data EDG[n] output from edge detection portion 20, and performs, for a predetermined time period, an OR operation on the data EDG[n], with no used as a reference value, with respect to each n which leaves the remainder of m when a difference (n−no) is divided by the value M, and outputs data EDGFLG[m] that is the result of the OR operation.
The first delay portion 332 inputs the data EDGFLG0[m] output from the first operation portion 331, and outputs the data EDGFLG1[m] obtained by giving a delay of a predetermined time period to the data EDGFLG0[m]. The second delay portion 333 inputs the data EDGFLG1[m] output from the first operation portion 331, and outputs the data EDGFLG2[m] obtained by giving a delay of a predetermined time period to the data EDGFLG1[m].
The second operation portion 334 inputs the data EDGFLG0[m] output from the first operation portion 331, inputs the data EDGFLG1[m] output from the first delay portion 332 and inputs the data EDGFLG2[m] output from the second delay portion 333. Then, the second operation portion 334 performs an OR operation among the data EDGFLG0[m], the data EDGFLG1[m] and the data EDGFLG2[m], and outputs, to the timing determination portion 40, the data EDGFLG[m] that is the result of the OR operation.
The register portion 52 gives the same delay as the delay given by the register portion 51 to the data OSD1[n] output from the register portion 51, and outputs the data OSD2[n] receiving the delay to a selector portion 70.
As shown in this figure, the data PHSEL[4:0] that is output from the timing determination portion 40 and is input to the selector portion 60 is determined based on not only the data OSD[49:0] of 10 bits output from the corresponding sampler portion 10 but also the preceding and subsequent data OSD[49:0] of 10 bits.
Hence, the reception apparatus 3 of the third embodiment has the same effects as the reception apparatus 1 of the first embodiment, and can also determine the bit transition timing more stably.
The present invention can be applied to uses in which the size of a circuit of a reception apparatus is reduced and the speed thereof is increased.
Number | Date | Country | Kind |
---|---|---|---|
2009-097748 | Apr 2009 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2010/056522 | 4/12/2010 | WO | 00 | 10/7/2011 |