Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD FOR LINE CODING BASED ON BIT FLIPPING TO LIMIT THE RUN LENGTH AND BALANCE DC POWER
Document Type and Number:
WIPO Patent Application WO/2017/137436
Kind Code:
A1
Abstract:
A system and method for line coding of data. A serial transmitter includes a forward error correction encoding circuit followed by a bit conditioning circuit. The bit conditioning circuit counts the lengths of runs of consecutive identical digits and, when the count reaches a threshold, flips a bit. A serial receiver receives the data from the serial transmitter. The serial receiver includes a forward error correction decoding circuit, which re-flips bits flipped by the bit conditioning circuit of the serial transmitter.

Inventors:
REGEV, Guy (111 S. Orange Grove Blvd, Apt 305Pasadena, California, 91105, US)
BRUNINA, Daniel (35 N. Raymond Ave, Unit 415Pasadena, California, 91103, US)
FARRINGTON, Nathan (154 Diamond St, Arcadia, California, 91006, US)
SCHRANS, Thomas (5125 N. Baldwin Avenue, Temple City, California, 91780, US)
Application Number:
EP2017/052750
Publication Date:
August 17, 2017
Filing Date:
February 08, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ROCKLEY PHOTONICS LIMITED (10th Floor Dashwood,69 Old Broad Street, London Greater London EC2 1QS, EC2 1QS, GB)
International Classes:
H04L1/00; G11B20/14; H03M5/14; H04L25/49
Other References:
KUMAR B V K V ET AL: "An Improved Bit-Flipping Scheme to Achieve Run Length Control in Coded Systems", IEEE TRANSACTIONS ON MAGNETICS, IEEE SERVICE CENTER, NEW YORK, NY, US, vol. 41, no. 10, 1 October 2005 (2005-10-01), pages 2980 - 2982, XP011140578, ISSN: 0018-9464, DOI: 10.1109/TMAG.2004.843310
PEDAGANI K ET AL: "Run-Length-Limited Low-Density Parity Check Codes Based on Deliberate Error Insertion", IEEE TRANSACTIONS ON MAGNETICS, IEEE SERVICE CENTER, NEW YORK, NY, US, vol. 40, no. 3, 1 May 2004 (2004-05-01), pages 1738 - 1743, XP011112923, ISSN: 0018-9464, DOI: 10.1109/TMAG.2004.826904
FENGQIN ZHAI ET AL: "DC-free convolutional codes and DC-free turbo codes", COMMUNICATIONS, 2005. ICC 2005. 2005 IEEE INTERNATIONAL CONFERENCE ON SEOUL, KOREA 16-20 MAY 2005, PISCATAWAY, NJ, USA,IEEE, vol. 1, 16 May 2005 (2005-05-16), pages 632 - 636, XP010825369, ISBN: 978-0-7803-8938-0, DOI: 10.1109/ICC.2005.1494428
Attorney, Agent or Firm:
GRAHAM, Emma et al. (Mewburn Ellis LLP, City Tower40 Basinghall Street, London Greater London EC2V 5DE, EC2V 5DE, GB)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A serial transmitter having a transmitter input and a transmitter output, the serial transmitter comprising:

a forward error correction encoding circuit having an input connected to the transmitter input, and an output; and

a bit conditioning circuit having an input connected to the output of the forward error correction encoding circuit, the bit conditioning circuit comprising a bit flipping circuit configured to selectively invert a current bit, the bit conditioning circuit being configured to limit, in data transmitted through the transmitter output, a maximum run length of consecutive identical bits.

2. The serial transmitter of claim 1, wherein the bit conditioning circuit is further configured to limit a DC imbalance of the data transmitted through the transmitter output.

3. The serial transmitter of any one of the preceding claims, wherein the bit conditioning circuit further comprises a continuous identical digit counting circuit configured:

to count a number of continuous identical bits including the current bit, and to cause the bit flipping circuit to flip the current bit when the number of continuous identical bits including the current bit exceeds a first threshold.

4. The serial transmitter of claim 3, wherein:

the bit conditioning circuit further comprises a running disparity counter configured: to keep a running count of the difference between the number of zero bits transmitted and the number of one bits transmitted, and

to cause the bit flipping circuit to flip a bit when the running count exceeds a second threshold.

5. The serial transmitter of any one of the preceding claims, further comprising a scrambling circuit connected between the output of the forward error correction encoding circuit and the input of the bit conditioning circuit.

6. The serial transmitter of any one of the preceding claims, further comprising a parallel to serial converter.

7. The serial transmitter of any one of the preceding claims, further comprising a framing circuit.

8. The serial transmitter of any one of the preceding claims, configured to operate with a first data rate at the transmitter input and a second data rate at the transmitter output, the second data rate being the same as the first data rate.

9. A serial link, comprising:

a serial transmitter having a transmitter input and a transmitter output according to any one of the previous claims; and a serial receiver having a receiver input connected to the serial transmitter through a serial channel.

10. The serial link of claim 9, wherein the serial receiver comprises a forward error correction decoding circuit.

11. The serial link of claim 9 or claim 10, wherein:

the serial transmitter further comprises a scrambling circuit connected between the output of the forward error correction encoding circuit and the input of the bit conditioning circuit, and

the serial receiver further comprises a descrambling circuit connected to an input of the forward error correction decoding circuit.

12. The serial link of any one of claims 9 to 11, wherein:

the serial transmitter further comprises a parallel to serial converter, and

the serial receiver further comprises a serial to parallel converter.

13. The serial link of any one of claims 9 to 12, wherein:

the serial transmitter further comprises a framing circuit, and

the serial receiver further comprises a deframing circuit.

14. A method of serial data transmission including the steps of:

receiving data from a source of data;

encoding the data using a forward error correction encoding circuit; selectively inverting a bit using a bit flipping circuit included in a bit conditioning circuit, the bit conditioning circuit being configured to limit a maximum run length of consecutive identical bits in the data being transmitted.

15. A method according to claim 14, wherein the bit conditioning circuit is further configured to limit a DC imbalance of the data being transmitted.

16. A method according to claim 14 or claim 15, wherein the bit conditioning circuit further comprises a continuous identical digit counting circuit for performing the steps of:

counting a number of continuous identical bits including the current bit; and

causing the bit flipping circuit to flip the current bit when the number of continuous identical bits including the current bit exceeds a first threshold.

17. A method according to any one of claims 14 to 16, wherein the bit conditioning circuit further comprises a running disparity counter for performing the steps of:

keeping a running count of the difference between the number of zero bits transmitted and the number of one bits transmitted, and

causing the bit flipping circuit to flip a bit when the running count exceeds a second threshold.

18. A method according to any one of claims 14 to 17, further including the steps of: scrambling the data using a scrambling circuit, between the steps of encoding and selectively inverting.

19. A method according to any one of claims 14 to 18, further including the step of converting the data from parallel data to serial data using a parallel to serial converter.

20. A method according to any one of claims 14 to 19, further including the step of framing the data using a framing circuit.

Description:
SYSTEM AND METHOD FOR LINE CODING BASED ON BIT FLIPPING TO LIMIT THE

RUN LENGTH AND BALANCE DC POWER

CROSS-REFERENCE TO RELATED APPLICATION(S)

[0001] The present application claims priority to and the benefit of U.S. Provisional

Application No. 62/292,519, filed February 8, 2016, entitled "LINE CODE SCHEME", the entire content of which is incorporated herein by reference.

FIELD

[0002] One or more aspects of embodiments according to the present invention relate to serial data transmission, and more particularly to a system and method for employing a line code in a system for serial data transmission.

BACKGROUND

[0003] Serial data links are commonly used in various applications. In some such applications, long runs of consecutive identical digits may hamper clock recovery in a serial receiver, and significant DC imbalance may degrade the performance of analog front end circuits in the receiver. Coding schemes such as 8b/ 10b or 64b/66b may be used to limit the length of runs of consecutive identical digits and they may, depending on the characteristics of the data being transmitted, tend to reduce DC imbalance, but they add overhead in the form of extra bits. Scrambler based line codes may be used to avoid overhead and, again depending on the characteristics of the data being transmitted, they may improve the DC balance, and generally reduce the lengths of runs of consecutive identical digits, but in principle they may generate output with poor DC balance and unbounded runs of consecutive identical digits.

[0004] Thus, there is a need for an improved system and method for line coding. SUMMARY

Aspects of embodiments of the present disclosure are directed toward a system and method for line coding of data. A serial transmitter includes a forward error correction encoding circuit followed by a bit conditioning circuit. The bit conditioning circuit counts the lengths of runs of consecutive identical digits and, when the count reaches a threshold, flips a bit. A serial receiver receives the data from the serial transmitter. The serial receiver includes a forward error correction decoding circuit, which re-flips bits flipped by the bit conditioning circuit of the serial transmitter.

[0005] Specifically, a first aspect of the present invention provides a serial transmitter having a transmitter input and a transmitter output, the serial transmitter comprising: a forward error correction encoding circuit having an input connected to the transmitter input, and an output; and a bit conditioning circuit having an input connected to the output of the forward error correction encoding circuit, the bit conditioning circuit comprising a bit flipping circuit configured to selectively invert a current bit, the bit conditioning circuit being configured to limit, in data transmitted through the transmitter output, a maximum run length of consecutive identical bits.

[0006] In some embodiments, the bit conditioning circuit may be further configured to limit a DC imbalance of the data transmitted through the transmitter output.

[0007] In some embodiments, the bit conditioning circuit may further comprise a continuous identical digit counting circuit configured to: count a number of continuous identical bits including the current bit, and to cause the bit flipping circuit to flip the current bit when the number of continuous identical bits including the current bit exceeds a first threshold.

[0008] In some embodiments, the bit conditioning circuit may further comprise a running disparity counter configured: to keep a running count of the difference between the number of zero bits transmitted and the number of one bits transmitted, and to cause the bit flipping circuit to flip a bit when the running count exceeds a second threshold.

[0009] In some embodiments, the serial transmitter may further comprise a scrambling circuit connected between the output of the forward error correction encoding circuit and the input of the bit conditioning circuit.

[0010] In some embodiments, the serial transmitter may further comprise a parallel to serial converter.

[0011] In some embodiments, the serial transmitter may further comprise a framing circuit.

[0012] In some embodiments, the serial transmitter may be configured to operate with a first data rate at the transmitter input and a second data rate at the transmitter output, the second data rate being the same as the first data rate.

[0013] A second aspect of the present aspect provides a system including the serial transmitter of the first aspect of the invention. All optional features set out above, referring to the first aspect of the invention, apply equivalently to the second aspect of the invention.

[0014] A third aspect of the invention provides a serial link, comprising: a serial transmitter having a transmitter input and a transmitter output according to any one of the previous claims; and a serial receiver having a receiver input connected to the serial transmitter through a serial channel. [0015] In some embodiments, the serial receiver may comprise a forward error correction decoding circuit.

[0016] In some embodiments, in which the serial transmitter further comprises a scrambling circuit connected between the output of the forward error correction encoding circuit and the input of the bit conditioning circuit, the serial receiver may further comprise a descrambling circuit connected to an input of the forward error correction decoding circuit.

[0017] In some embodiments, in which the serial transmitter further comprises a parallel to serial converter, the serial receiver may further comprise a serial to parallel converter.

[0018] In some embodiments, in which the serial transmitter further comprises a framing circuit, the serial receiver may further comprise a deframing circuit.

[0019] All optional features set out above, referring to the first aspect of the invention, apply equivalently to the third aspect of the invention.

[0020] A fourth aspect of the present invention provides a method of serial data transmission including the steps of: receiving data from a source of data; encoding the data using a forward error correction encoding circuit; selectively inverting a bit using a bit flipping circuit included in a bit conditioning circuit, the bit conditioning circuit being configured to limit a maximum run length of consecutive identical bits in the data being transmitted.

[0021] In some embodiments, the bit conditioning circuit may be configured to limit a DC imbalance of the data being transmitted.

[0022] In some embodiments the bit conditioning circuit may further comprise a continuous identical digit counting circuit for performing the steps of: counting a number of continuous identical bits including the current bit; and causing the bit flipping circuit to flip the current bit when the number of continuous identical bits including the current bit exceeds a first threshold.

[0023] In some embodiments the bit conditioning circuit may further comprise a running disparity counter for performing the steps of keeping a running count of the difference between the number of zero bits transmitted and the number of one bits transmitted, and causing the bit flipping circuit to flip a bit when the running count exceeds a second threshold.

[0024] In some embodiments the method may further include the steps of scrambling the data using a scrambling circuit, between the steps of encoding and selectively inverting.

[0025] In some embodiments the method may further include the step of converting the data from parallel data to serial data using a parallel to serial converter.

[0026] In some embodiments the method may further include the step of framing the data using a framing circuit.

[0027] The optional features set out above may apply singly, or in combination, with any aspects of the present invention, where compatible. Further optional features of the invention are set out below.

BRIEF DESCRIPTION OF THE DRAWINGS

[0028] These and other features and advantages of the present invention will be appreciated and understood with reference to the specification, claims, and appended drawings wherein:

[0029] FIG. 1 A is a block diagram of a serial transmitter, according to an embodiment of the present invention; [0030] FIG. IB is a block diagram of a serial receiver, according to an embodiment of the present invention;

[0031] FIG. 2A is a block diagram of a bit conditioning circuit, according to an embodiment of the present invention;

[0032] FIG. 2B is a block diagram of a bit conditioning circuit, according to an embodiment of the present invention;

[0033] FIG. 3A is a block diagram of a serial transmitter, according to an embodiment of the present invention;

[0034] FIG. 3B is a block diagram of a serial transmitter, according to an embodiment of the present invention;

[0035] FIG. 3C is a block diagram of a serial transmitter, according to an embodiment of the present invention;

[0036] FIG. 4A is a block diagram of a serial receiver, according to an embodiment of the present invention; and

[0037] FIG. 4B is a block diagram of a serial receiver, according to an embodiment of the present invention.

DETAILED DESCRIPTION

[0038] The detailed description set forth below in connection with the appended drawings is intended as a description of exemplary embodiments of a system and method for line coding provided in accordance with the present invention and is not intended to represent the only forms in which the present invention may be constructed or utilized. The description sets forth the features of the present invention in connection with the illustrated embodiments. It is to be understood, however, that the same or equivalent functions and structures may be accomplished by different embodiments that are also intended to be encompassed within the spirit and scope of the invention. As denoted elsewhere herein, like element numbers are intended to indicate like elements or features.

[0039] Referring to FIG. 1A, in some embodiments a serial transmitter 105 receives data (e.g., parallel data) from a source of data, encodes the data, in a forward error correction encoding circuit 110, scrambles the data in a scrambling circuit 115, flips zero or more of the bits in a bit conditioning circuit 120, converts the data to serial data in a parallel to serial converter 125, and transmits the data into a first end of a serial channel 130. The forward error correction encoding circuit 110 may implement, for example, Reed-Solomon encoding. The scrambling circuit 115 may for example be an additive scrambler or a multiplicative scrambler. An additive scrambler may include a linear feedback shift register (initialized with a non-zero value), each bit from the output of which may be combined, in an exclusive OR operation, with a respective bit of the data fed into the scrambler, to form the scrambler output data. A multiplicative scrambler may include a linear feedback shift register; each bit of the input to the scrambler may be combined, in an exclusive OR operation, with a respective bit of the data from the feedback network of the linear feedback shift register, and fed (i) into the shift register and (ii) to the output of the scrambler. The parallel to serial converter 125 may be a suitably connected shift register.

[0040] The bit conditioning circuit 120 may be used to limit runs of consecutive identical digits (i.e., runs of consecutive identical bits), and to limit the DC imbalance of the transmitted signal, by flipping certain bits of the data stream, as described in further detail below. The serial channel 130 may be any channel suitable for transmitting serial data, such as a pair of conductors, an optical fiber, or other like channels or combinations of such channels. The serial channel 130 may include suitable converters (e.g., optical transmitters and receivers for converting between electrical and optical signals).

[0041] Referring to FIG. IB, a second end of the serial channel 130 may be connected to a serial receiver 135. The serial receiver may include a serial to parallel converter 140 which converts the received serial data to parallel format, a descrambling circuit 145 which reverses the effects of the scrambling circuit 115, and a forward error correction decoding circuit 150, which reverses the coding applied by the forward error correction encoding circuit 110, and corrects errors and re-flips bits flipped by the bit conditioning circuit 120. The forward error correction decoding circuit 150 may treat bits flipped by the bit conditioning circuit 120 in the same manner as it treats bits flipped by other mechanisms (e.g., noise in the serial channel 130). The type of forward error correction code used may determine the capacity of the forward error correction decoding circuit 150 to correct errors and to re-flip flip bits, e.g., it may determine the maximum fraction of flipped received bits (e.g., flipped as a result of noise, or of bit flips introduced by the bit conditioning circuit 120) for which it is feasible to reproduce, at the output of the receiver 135, the data received by the transmitter 105.

[0042] Referring to FIG. 2A, in one embodiment, the bit conditioning circuit 120 includes a continuous identical digit counting circuit 205 and a bit flipping circuit 210 configured to selectively invert a current bit. The continuous identical digit counting circuit 205 may count the number of continuous identical digits, resetting the count to one when it receives a one preceded by a zero or a zero preceded by a one. The bit flipping circuit 210 may be a circuit with a data input 215, a data output 220, and a control input 225, that, when it receives a certain signal at the control input 225, flips the current bit, i.e., produces an output bit at the data output 220 that is the opposite of the bit received at the data input 215. The bit flipping circuit 210 may be implemented as an exclusive OR gate, for example, with the data input 215 and the control input 225 being the two inputs of the exclusive OR gate and the data output 220 being the output of the exclusive OR gate.

[0043] In operation, the continuous identical digit counting circuit 205 of the bit conditioning circuit 120 counts the lengths of runs of consecutive identical digits, and flips the last bit (by suitable control of the bit flipping circuit 210) of the current run of consecutive identical digits whenever the length of the current run of consecutive identical digits reaches a threshold, thereby limiting the run length to one less than the threshold. If, for example, the threshold is 81 , then when the continuous identical digit counting circuit 205 has counted 81 consecutive ones, it flips the last bit of the run (i.e., it changes the 81 st one to a zero), so that the length of the run at the output of the bit conditioning circuit 120 is 80. The continuous identical digit counting circuit 205 includes in the run length count any bit that has been flipped. In the example above, if the one that was changed to a zero is followed by another 80 zeros, the continuous identical digit counting circuit 205 will count the run of zeros as a run of 81 zeros, and flip (i.e., change) the 81 st zero to a one. The continuous identical digit counting circuit 205 is shown in FIG. 2A as being connected to the data input 215 of the bit flipping circuit 210; in some embodiments it is connected instead to the data output 220, with internal circuitry correspondingly altered to achieve the effect described above.

[0044] A serial transmitter 105 using a scrambling circuit 115 and using the bit conditioning circuit 120 of FIG. 2A may have statistically lower DC imbalance than the data stream at the input of the scrambler, because for input data that are heavily biased toward a value of zero or one (e.g., a data stream carrying a dark image, in which many of the pixel values are near zero) (i) the scrambling circuit 115 may map the data to a pseudorandom mix of ones and zeros and (ii) long runs may be more common in the more common data value, resulting in a larger number of bit flips to the less common data value (e.g., data consisting predominantly of zeros may include more runs of zeros and therefore trigger more flips from zero to one, than from one to zero). The tendency of the bit conditioning circuit 120 to reduce the DC imbalance may be enhanced by replacing the continuous identical digit counting circuit 205 with a bit conditioning control circuit 230 including a running disparity counter in addition to, or instead of, a continuous identical digit counting circuit 205. The running disparity counter may count (starting, e.g., at startup or reset) the difference between the total number of zeros transmitted and the total number of ones transmitted; this count is referred to herein as the running disparity count. The running disparity counter may be implemented, for example, as a signed up/down counter that counts up when a one is transmitted and counts down when a zero is transmitted. The running disparity counter may cause the bit flipping circuit 210 to flip the current bit whenever the running disparity count, including the current bit, reaches a threshold.

[0045] The running disparity counter takes any such flipped bits into account, for example, if the current bit is a one and the current running disparity count (including the current bit) is 81 , and the running disparity counter causes the bit flipping circuit 210 to flip the current bit (e.g., because the threshold is 81), then the running disparity count is corrected, when the bit is flipped, to 79.

[0046] The bit conditioning control circuit 230 may include both a running disparity counter and a continuous identical digit counting circuit 205, and it may be configured so that both the running disparity counter and the continuous identical digit counting circuit 205 are capable of causing the bit flipping circuit 210 to flip the current bit, when either of two corresponding thresholds is exceeded in the respective one of the running disparity counter and the continuous identical digit counting circuit 205. For example, if both thresholds are 81, then a series of input bits consisting of 50 ones, followed by 10 zeros, followed by 41 ones may cause the running disparity counter to cause a bit flip, and a series of input bits consisting of 50 zeros followed by 81 ones may cause the continuous identical digit counting circuit 205 to cause a bit flip. The bit conditioning control circuit 230 is shown in FIG. 2B as being connected to the data input 215 of the bit flipping circuit 210; in some embodiments it is connected instead to the data output 220, with internal circuitry correspondingly altered to achieve the effect described above.

[0047] Embodiments such as those described above may have several advantages over alternative related art line coding approaches (such as 64b/66b coding) including that the data rate at the output of the serial transmitter 105 is the same as that at the input of the serial transmitter 105.

[0048] One of skill in the art will recognize that some of the elements of FIGs. 1A and IB may be absent or may be connected in a different order, or that additional elements may be included. For example, the parallel to serial converter 125 may precede the bit conditioning circuit 120 as illustrated in FIG. 3 A, or it may precede the bit conditioning circuit 120 and the scrambling circuit 115, as shown in FIG. 3B (and, accordingly, the bit conditioning circuit 120 and/or the scrambling circuit 115 may operate on serial data). A framing circuit 310 may be present at any point in the serial transmitter 105 as shown, for example, in FIG. 3C. If the framing circuit follows the forward error correction encoding circuit 110 and the bit conditioning circuit 120 as shown in FIG. 3C, a framing method that is bit-error-tolerant may be used, and the thresholds for DC balance and for the length of runs of consecutive identical digits may be chosen so that the characteristics of the transmitted serial bit stream will be acceptable taking into account any effect the framing may have on runs of consecutive identical digits and on DC balance. Similarly, in the receiver, the descrambling circuit 145 may precede the serial to parallel converter 140 as shown in FIG. 4A (and the descrambling circuit 145 may operate on parallel data). When the transmitter includes a framing circuit 310 (as shown for example in FIG. 3C) the receiver may include a corresponding deframing circuit 410 as shown in FIG. 4B.

[0049] It will be understood that when an element is referred to as being "connected to", or "coupled to" another element, it may be directly connected to, or coupled to, the other element , or one or more intervening elements may be present. In contrast, when an element is referred to as being "directly connected to" or "directly coupled to" another element, there are no intervening elements present.

[0050] Although exemplary embodiments of a system and method for line coding have been specifically described and illustrated herein, many modifications and variations will be apparent to those skilled in the art. Accordingly, it is to be understood that a system and method for line coding constructed according to principles of this invention may be embodied other than as specifically described herein. The invention is also defined in the following claims, and equivalents thereof.