SYSTEMS AND METHODS FOR REALIZING HIGH-SPEED LOW-POWER WIRELINE TRANSCEIVERS
20250286556 ยท 2025-09-11
Assignee
Inventors
Cpc classification
H03K5/05
ELECTRICITY
International classification
Abstract
A method for creating and transmitting an encoded data stream comprises receiving a data stream that includes a number M of same-rate data streams x.sub.1, x.sub.2, . . . , x.sub.M, where each data stream in the M same-rate data streams has an ordered number of bits with each bit having a period of T.sub.sym and a clock pulse signal that includes a plurality of pulses where a time duration of each pulse in the plurality of pulses corresponds to T.sub.sym/M. A number M of pulse signals is generated, and an encoded data stream is created by multiplying a value of one bit of each data stream in the ordered number M of data streams by a value of a corresponding of a pulse signal in the ordered number M of orthogonal pulse signals to provide M results, and summing the M results. Once summed, the encoded data stream can be transmitted.
Claims
1. A method for creating and transmitting an encoded data stream comprising: receiving a data stream denoted as x(n) comprising a number M of same-rate data streams x.sub.1, x.sub.2, . . . , x.sub.M, each data stream in the M same-rate data streams having an ordered number of bits, each bit having a period of T.sub.sym; and a clock pulse signal including a plurality of pulses where a time duration of each pulse in the plurality of pulses corresponds to T.sub.sym/M; generating a number M of orthogonal pulse signals, each pulse signal in the M orthogonal pulse signals having an ordered number of pulses, from the clock pulse signal of the received data stream creating, from the data stream, an encoded data stream comprising an ordered number of bits, being generated by multiplying each data stream in the M same-rate data streams by a corresponding pulse signal in the ordered number M of orthogonal pulse signals to provide M results, summing the M results; and transmitting the encoded data stream.
2. The method of claim 1, where each pulse in each pulse signal in the M orthogonal pulse signals has a logical value of only 1 or +1.
3. The method of claim 2, where any pulse signal in the M of orthogonal pulse signals is orthogonal to any other pulse signal in the M of orthogonal pulse signals within a period of T.sub.sym.
4. The method of claim 3, where each bit in the encoded data stream is represented by the equation:
5. The method of claim 4, further comprising: receiving the encoded data stream; extracting the M orthogonal pulse signals from the received encoded data stream; and decoding the unencoded rth bit within an rth symbol period of the M data streams, concurrently, through multiplying the received encoded data stream at the input of a decoder by the M orthogonal clock pulse signals, where a kth clock pulse signal corresponds to a kth data stream, k varying from 1 to M, and integrating the results over the rth symbol period such that
6. The method of claim 5, where the received encoded data stream includes at least one encoded symbol, and where extracting the M orthogonal pulse signals comprises: generating the M orthogonal pulse signals on the receiver side; and aligning at least one of a rising or a falling edge of at least one pulse signal in the generated orthogonal pulse signals with the at least one rising or falling edge of the pulse signal embedded in the received encoded symbols within a predetermined reception period.
7. The method of claim 6, where M=2, and where the generated orthogonal pulse signals are designated, p.sub.1 and p.sub.2, and where each bit in the encoded data stream has a value given by the equation y(n)=x.sub.even(r)p.sub.1(n)+x.sub.odd(r)p.sub.2(n) where x.sub.even(r)=x(2r) and x.sub.odd(r)=x(2r+1) over one symbol period T.sub.sym.
8. The method of claim 7, further comprising: extracting the two orthogonal pulse signals, p.sub.1 and p.sub.2, from the received encoded data stream; and decoding the unencoded rth bit of x.sub.even by multiplying the received encoded data stream at the decoder's input by clock pulse signal p.sub.1, and concurrently decoding the unencoded rth bit of x.sub.odd by multiplying the received encoded data stream at the decoder's input by clock pulse signal p.sub.2, and integrating the results over the rth symbol period such that
9. A method of encoding data comprising: receiving a digital data stream that includes a plurality of even and odd numbered bits, where the digital data stream has a bit period of one half the symbol period T.sub.sym; splitting the digital data stream into a first bit data stream and a second bit data stream, where the first bit data stream and the second bit data stream each has a bit period of one symbol period T.sub.sym, and where each bit in the first bit data stream and the second bit data stream has a voltage value of either zero or one; assigning a voltage value of 1 to each bit in the first bit data stream and the second bit data stream that has a voltage value of zero; generating a first periodic clock pulse signal and a second periodic clock pulse signal with alternating values of 1 and +1, each over one symbol period, and where the first periodic clock pulse signal with a period of 2T.sub.sym is orthogonal to the second periodic clock pulse signal with a period of 2T.sub.sym, within a symbol period T.sub.sym; multiplying the first bit data stream by the first modulating clock pulse signal creating a first product; multiplying the second bit data stream by the second modulating clock pulse signal creating a second product; summing the first and second product; to create an encoded data stream; and transmitting the encoded data stream.
10. The method of claim 9, further comprising: decoding the encoded data stream using an inverse operation to the encoding to create a decoded data stream; and outputting the decoded data stream.
11. The method of claim 10, further comprising extracting two orthogonal pulse signals from the received encoded data stream.
12. The method of claim 11, where the extracting of two orthogonal pulse signals comprises: generating two orthogonal pulse signals on the receiver side; and aligning at least one of a rising or falling edge of at least one pulse signal in the generated orthogonal pulse signals with the at least one rising or falling edge of the pulse signal embedded in the received encoded symbols within a predetermined reception period.
13. An apparatus for method for creating and transmitting an encoded data stream comprising: an encoder including demultiplexer circuitry to: receive an aggregate transmission of a data stream x(n), the data stream including: a number M of same-rate data streams, each data stream in the M same-rate data streams having an ordered number of bits; and a clock pulse signal including a plurality of pulses where each pulse in the plurality of pulses corresponds to one bit in the aggregated data stream; output the M data streams, each data stream in the M data streams having a data rate M times lower than that of the aggregated data stream; the encoder further including circuitry to generate, using the M data streams output by the demultiplexer, a high speed encoded data stream having an ordered number of bits being generated by multiplying a data stream in the ordered number M of same-rate data streams by a corresponding clock pulse signal in the ordered number M of orthogonal clock pulse signals to provide M results, and summing the M results; the encoder further including circuitry to transmit the encoded data stream.
14. The apparatus of claim 13, where each pulse of the clock pulse signals has a logical value of only 1 or +1.
15. The apparatus of claim 14, where any two modulating clock pulse signals are orthogonal to one another within a symbol period (T.sub.sym).
16. The apparatus of claim 15, where each bit in the encoded data stream is represented by the equation:
17. The apparatus of claim 16, where M=2, and where each bit in the encoded data stream has a value given by the equation y(n)=x.sub.even(r)p.sub.1(n)+x.sub.odd(r)p.sub.2(n), where x.sub.even(r)=x(2r) and x.sub.odd(r)=x(2r+1), and x.sub.even(r) is the value of the rth bit in a first data stream, and x.sub.odd(r) is the value of the rth bit in a second data stream.
18. An apparatus for decoding an encoded data stream comprising: decoder circuitry to: receive the encoded data stream, the encoded data stream comprising M orthogonal clock pulse signals p.sub.k, k varying from 1 to M; extract the M orthogonal clock pulse signals p.sub.k from the received encoded data stream; and decode an rth bit of the M data streams x.sub.1, x.sub.2, . . . , and x.sub.M, concurrently, performed by multiplying the received encoded data stream at the decoder's input, z(t), by p.sub.1, p.sub.2, . . . , and p.sub.M, respectively, and integrating the results over an rth symbol period T.sub.sym;
19. The apparatus of claim 18, where said extracting the M orthogonal clock pulse signals comprises: generating M orthogonal clock pulse signals, each clock pulse signal having a rising edge and a falling edge; and aligning at least one of a rising or falling edge of at least one pulse signal in the generated M orthogonal pulse signals with at least one of a rising or falling edge of a pulse signal embedded in the received encoded symbols within a predetermined reception period.
20. The apparatus of claim 19, where M=2, and where the decoder includes circuitry to: extract the two orthogonal clock pulse signals, p.sub.1 and p.sub.2, from the received encoded data stream; and decode the rth bit of x.sub.even and x.sub.odd, concurrently, by multiplying the received encoded data stream at the decoder's input, z, by clock pulse signal p.sub.1, to detect x.sub.even, and p.sub.2, to detect x.sub.odd, and integrating the results over the rth symbol period T.sub.sym satisfying the equations
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0016] The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
DETAILED DESCRIPTION
[0028] As described above, systems and methods for a signaling scheme are disclosed that can be used in wired communication in a way that provides low-complexity and low-power realization of wired transceivers. Embodiments can enable the transmission of data at high rates while reducing the power consumption of wired transceivers and improving signal reception quality, particularly in terms of low sensitivity to noise and jitter.
[0029] Embodiments of the invention use clock pulse signals that are orthogonal within the time duration (period) of one unit of information (referred to as a symbol), T.sub.sym, for pulse amplitude modulation. In an embodiment, the incoming data stream, x, with a bit period of
is split into a number M of same-rate data streams, x.sub.k where k{1,2, . . . , M}, with a bit period of T.sub.sym. These M data streams are then multiplied by orthogonal clock pulse signals {p.sub.1, p.sub.2, . . . , p.sub.M}, and the resulting multiplied signals are then added to generate the encoded data stream y. The general equation for the complete encoded data stream can be represented by the following equation:
[0031] In Equation (2), n denotes the bit number for the encoded data stream y and the pulse number for the orthogonal modulating clock pulse signals p.sub.k. Moreover, r represents the bit number for the data stream x.sub.k and is equal to the integer part of
y(n) is the value of the nth bit of the encoded data stream, p.sub.k(n) is the value of the nth pulse of the kth modulating clock pulse signal, and x.sub.k(r) is the value of the rth bit of the data stream x.sub.k which is equal to x(Mr+k1). The bit period of encoded data stream y and the time duration of each pulse for the orthogonal modulating clock pulse signals p.sub.k equal
[0032] In Equation (1), the modulating clock pulse signals, denoted as p.sub.k, have logical levels 1 or +1 and are orthogonal within a symbol period (T.sub.sym), satisfying Equation (3), below.
[0033] Considering that Equation (2) is a linear sum of M signals x.sub.kp.sub.k, where p.sub.k and x.sub.k have logical levels 1 or +1, the output of this equation has M+1 voltage levels {M, M+2, M+4, . . . , M4, M2, M}. Due to the orthogonality of p.sub.1, p.sub.2, . . . , and p.sub.M, the data streams x.sub.1, x.sub.2, . . . , and x.sub.M can be concurrently decoded on the receiver side by multiplying the received signal by p.sub.1, p.sub.2, . . . , and p.sub.M, respectively, and integrating the result over one T.sub.sym.
[0034] The block diagram for a wired transceiver that implements the signaling of equation (2) is shown in
[0035] Within the decoder block 302, the data streams x.sub.1, x.sub.2, . . . , x.sub.M are concurrently obtained by multiplying the signal input to the decoder, z(t) which can also be represented by its discrete-value form z(n), by p.sub.1, p.sub.2, . . . , p.sub.M, respectively 308, integrating the results over one T.sub.sym 309, and passing the integrators' outputs through slicers 310, as represented by the following equation:
This yields a throughput of M bits per one T.sub.sym considering that k varies from 1 to M in equation (4).
[0036] In the special case where M=2, the proposed signaling simplifies as follows
[0037] Within the encoder block 303, using a demultiplexer 311, the digital data x(n) with a bit period of 0.5T.sub.sym is divided into two data streams, x.sub.even(r)=x(2r) and x.sub.odd(r)=x(2r+1), each with a bit period of one T.sub.sym. The data streams x.sub.even and x.sub.odd are then multiplied, using multipliers 312, by orthogonal clock pulse signals p.sub.1 and p.sub.2, and the resulting products are then summed, using an adder 313, to generate the encoded data stream y(n), which is given by Equation (5).
[0038] In Equation (5), the orthogonal modulating clock pulse signals p.sub.1 and p.sub.2, as well as the data streams x.sub.even and x.sub.odd, have logical levels 1 or +1. Thus, the data stream y(n) has three voltage levels, as depicted in
[0039] In an embodiment, as can be seen in
[0040]
[0041] One skilled in the art will appreciate that, in the proposed signaling method, good jitter tracking capability of the forwarded clock architecture is preserved with no need for an additional cable/wire interface, as the clock edges are embedded within the units of data. The presence of clock pulse in each transmitted symbol leads to improved efficiency and performance of clock and data recovery (CDR) circuits at the receiver.
[0042] As shown in
[0043] In an embodiment, shown in
Exploiting this orthogonality, x.sub.odd and x.sub.even can be concurrently derived, within the decoder 304, by multiplying the received signal at the decoder's input by p.sub.2 and p.sub.1, respectively (314), integrating the results over one T.sub.sym (315), and passing the output signals through slicers (316). Thus, x.sub.even(r) and x.sub.odd(r) which are the values of two consecutive bits of the data stream x can be concurrently decoded within one T.sub.sym, and the presented signaling scheme provides a throughput of 2 bits/symbol.
[0044]
[0045] Furthermore, as evident from
[0046] One skilled in the art will further appreciate that, in comparison, for example, to the ENRZ signaling method, the proposed signaling also demonstrates a significantly lower sensitivity to inter-wire skew.
[0047] Without loss of generality, methods and architectures for implementing embodiments of the signaling with two modulating clock pulse signals are explained in the embodiments that follow. All the discussions and methods can be equally applied to a general case of using M orthogonal modulating clock pulse signals, as represented in
[0048]
[0049] In the utilized timing scheme, the output signal of the integrator is held on the capacitor C.sub.S for a duration of 0.25T.sub.sym, serving as a track & hold function. After each cycle of operation, the integrator and sampler are reset to clear the memory of capacitors C.sub.I and C.sub.S. The pulse widths of the control signals p.sub.integ, S, and R in (906), should be set to 0.5T.sub.sym, 0.25T.sub.sym, and 0.25T.sub.sym, respectively, for the system to operate properly.
[0050] A complete receiver architecture is presented in
[0051]
[0052] At 1102, M clock pulse signals are generated from the clock pulse signal received in the received data stream, each clock pulse signal in the M clock pulse signals having a number of pulses. In an embodiment, each pulse in each clock pulse signal has a logical level of 1 or +1. In an embodiment, any two clock pulse signals are orthogonal to one another within a time duration of T.sub.sym.
[0053] At 1103, an encoded data stream is created by multiplying the value of the rth bit of each data stream in the ordered number M of same-rate data streams by the value of the nth pulse of a corresponding pulse signal in the ordered number M of orthogonal clock pulse signals and adding the M results. Once the encoding is done, the encoded data stream is transmitted at 1104. In an embodiment, each bit in the encoded data stream is represented by the equation
where r, representing the bit number for x.sub.k which is kth data stream in the M same-rate data streams, is equal to the integer part of
and x.sub.k(r) is equal to x(Mr+k1). y(n) is the value of an encoded nth bit, x.sub.k(r) is the value of an unencoded rth bit in the x.sub.k data stream, and p.sub.k(n) is the value of the nth pulse in the kth modulating clock pulse signal in the M modulating clock pulse signals, and has a logical level of 1 or +1.
[0054] Once data is encoded and transmitted as an encoded data stream, it is received at a receiver at 1105 and is equalized to compensate for the loss of the wired link at 1106.
[0055] Subsequently, M orthogonal clock pulse signals are extracted from the equalized data at 1107. At 1108, the data streams x.sub.k, k varying from 1 to M, are decoded using the equation
Once the data streams x.sub.1, x.sub.2, . . . , and x.sub.M are decoded, the resulting data stream x(n) comprising these M decoded data streams, can be output at 1109.
[0056] Modifications, additions, or omissions may be made to the systems, apparatuses, and methods described herein without departing from the scope of the disclosure. For example, the components of the systems and apparatuses may be integrated or separated. Moreover, the operations of the systems and apparatuses disclosed herein may be performed by more, fewer, or other components and the methods described may include more, fewer, or other steps. Additionally, steps may be performed in any suitable order. As used in this document, each refers to each member of a set or each member of a subset of a set.