|
Here I present a working Serializer circuit.
What it does is it takes parallel input bits and converts it into a stream of bits.
For this circuit, I am using the output of an ADC as my input parallel data.
Then I use a bunch of Flipflops to gate the parallel data from the ADC for processing. This is important because by doing this it serializes one measurement at a time.
Every after 4 clock positive pulses, the FlipFlops push the instantaneous parallel outputs of the ADC to their respective Q's. You can see this happen when the green signal is HIGH.
In between these HIGHs are 4 clock pulses, each pulse copying the output of a FlipFlop's Q to the data stream. This is made possible via a counter and some combinational logic gates.
The first bit to be transferred is the least significant bit (Little Endian).
The output is further refined via a final FlipFlop and a delayed clock signal (because of jitters from logic gates feedback).
Anyway, you can check if the output is correct by comparing the 7-segment display and its binary equivalent. The number displayed is the number currently being serialized (sandwiched between every 4 pulses, see green pulse).
Also, the SPDT switch gives you the option of showing the data stream as a stream of pulses of equal duration (RZ) or as a stream of pseudo-random duration of pulses (NRZ). What is important anyway is the value of the data during each postivie edge.
Try different shapes and durations of the ADC input to experiment with different data patterns. For this circuit, the first four bits are always zero.
ENJOY!
-stan
|