On 10/23/11 10:02 AM, Tijd Dingen wrote:


Jim Lux wrote:
if you're talking asynchronous RS232 (the by far most common, these days)
off hand, I'd expect the jitter to be on the order of 1/8 bit time, uniformly 
distributed.  An awful lot of UART implementations generate a 8x clock to 
sample the input and find the rising edge of
the start bit.

Funny you should mention that. I was just thinking about what the main 
contribution to RS232 jitter would be. For fpga purposes I've seen a lot of 
verilog/vhdl code that does precisely what you descibe. Use a clock that's 8 
times the bit clock, which is useful for oversampling the RX. Funny that UART 
implementations do the exact same thing.


more that FPGA implementations copy time tested approaches used in ASIC/MSI implementations. I'd have to go back to some pretty old databooks, but I'll bet the x8 thing has been around since the 70s. Why 8, and not 4, is a better question... I think it's because of propagation delays between the "edge detector" and the "sampler" (i.e. it needs some number of clocks to determine that "yes we really did see an edge" and set up the sampler in the correct divided down clock phase. You want to sample in the middle of the bit time, which is 4 clocks after the edge (actually, the first time would be 12 clocks after the edge). A clock to latch the "detect", a clock or two to reset the divide by 8 so it's in the right phase, etc.

_______________________________________________
time-nuts mailing list -- [email protected]
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

Reply via email to