Re: Why should I (not) use an internal oscillator for 8-bit micros

From: Neil Bradley (nb_no_spam_at_synthcom.com)
Date: 08/16/04


Date: Mon, 16 Aug 2004 01:02:01 -0700


>> > It depends upon the baud rate. The lower the baud rate the more
>> > it is to being
>> Correct. All properties of async coms.
> This is a myth - a commonly believed myth, but a myth nonetheless.

No, you're flatly wrong about that.

> There
> are definitely factors that make serial communication harder at higher
> speeds, such as rounded edges, noise, cross-talk, etc., and closer clock
> matching might help marginally, but the main effect of the clock speed
> matching is a relative effect - a 5% error means a 50% *bit time* error

Um... well, originally the question was the tolerance of the *CRYSTAL*
inside of microprocessors, not the "bit time" error:

"Overall the Philips LPC900 oscillators are specified with +/- 2.5%
over temp range and voltage range"

> after 10 bits, regardless of the length of a bit time.

But the error is *ADDITIVE* fron a per bit basis until the next start bit,
though. I actually have working experience with this one. We had to swap
crystals because lower baud rates wouldn't work with our embedded system
with standard PCs because the lower divisors were outside tolerable ranges.
Yup, it got worse as the baud rate got lower. See my other response for a
working example.

> Think about the sort of speeds async communication runs at. Suppose we
> say
> 5% is required for 9600 baud. Does that mean we can run 600 baud at 40%
> error? Or do we need 0.005% to run Profibus at 12 MBit? To say nothing
> of
> the 0.5 ppm accuracy crystals needed for gigabit ethernet...

You're not taking in to account that asynchronous communication *HAS* a byte
synchronization method - a start bit!

-->Neil