From: glen herrmannsfeldt on
dave <da_wils(a)hotmail.com> wrote:

> Thanks for all your answers,
> I'll generate a16x clock and give it a try otherwise I don't see any
> problem oversampling using the 50MHz clock
> my 1.84Mhz clock uses the accumulator method with a 20ns jitter, seems
> to run ok,

I used to have an Epson MX-100 printer connected to a TRS-80
color computer through a serial interface. The serial interface
option is based on the intel 8049, such that the UART is done
in software. (I once thought about dumping the ROM, but never did.)

The Color Computer also uses a software UART, directly timed
by loops in 6809 code. One program I had didn't work so well,
and I found out that the printer likes faster clocks, but for
even slightly slower, it would fail. A small change to the
timing loop in the 6809 code resolved the problems.

A 1% timing error accumulates over 10 bits as 10% of the
clock period. With the 6% due to the 16x clock, and the
possible non 50% duty cycle input, you don't want to be
too far off, but a few percent isn't so bad. (Leave some
margin for the other end, too.)

-- glen