Close

Tx with fewer parts

A project log for Bipolar Discrete UART

Because making discrete clocks is not an end in itself.

yann-guidon-ygdesYann Guidon / YGDES 03/11/2020 at 06:320 Comments

The FlipFlops use a significant amount of parts so the fewer, the better !

There is not much to do for the receive part but the emitter could get a little fewer latches. The initial design uses 3 latches per bit, or 24 latches (72 transistors overall). 8 latches are required for the emit buffer anyway (24T). Using a Johnson counter can create the semi-decoded system, with 5 stages or 10 states, one for each bit as well as the start and stop bits.

A binary counter would not save much because that would require 4 latches, not far from 5, and the binary decoder uses gates as well : I have covered binary selectors (MUX trees) at From XOR to MUX already and each bit requires 3 transistors in average. So it's roughly equivalent (though less delicate than Flip Flops)...

The 10 outputs of the Johnson counter will directly select one bit to output (there would be 8 ANDs and a big OR) and the Johnson counter would use the technique explained at Reduction by mirroring: the clock pulse ripples through RC cells to trigger successive pulses. This saves transistors because there is no need of a Master/Slave duplicated configuration. That's 4T per bit, or 20 for a 5-stages Johnson counter. Total (for the datapath) : 20+24=44T (including 5 complementary). The big AND/OR is not counted... There might be a need for a latch at the output to prevent spurious pulses, because the ripple will be nasty...

Oh and I recently heard about http://www.6502.org/users/dieter/uart/ :-)

Tx is "simpler" because it doesn't require synchronisation with the receiver so it's easier to start with.

Discussions