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

From: CBFalconer (cbfalconer_at_yahoo.com)
Date: 08/17/04


Date: Tue, 17 Aug 2004 03:49:36 GMT

Neil Bradley wrote:
> "David Brown" <david@no.westcontrol.spam.com> wrote in message
>
>>> Um... well, originally the question was the tolerance of the
>>> *CRYSTAL* inside of microprocessors, not the "bit time" error:
>
>> What difference does that make? If an oscillator is 2% out,
>> the the bit time on a uart based on that oscillator is 2% out.
>
> Very true. My only point was that everything that comes between
> the start and stop bits are susceptible to cumulative error
> since there is no (hehehe) sync point between data bits.

Another factor is the error in detecting that initial start bit.
If the internal sampling clock is say 4x the baud rate, then the
error in detecting the start bit proper is up to one of those
faster clocks, i.e. up to 25% of a bit time. At the lower baud
rates this divisor is usually about 16, for about a 6% error.
This reduces the margin available for all the other samples.

-- 
"The most amazing achievement of the computer software industry
 is its continuing cancellation of the steady and staggering
 gains made by the computer hardware industry..." - Petroski


Relevant Pages

  • Re: Trying to send RS232 with PIC sends incorrect data in TeraTerm
    ... Verify that your USB-> RS232 adapter was working as expected. ... Make sure your oscillator is REALLY running at 20MHz. ... baud rate at 20MHz. ...
    (sci.electronics.design)
  • Re: Set 33600 Baud on serial port
    ... configured to this baud rate) but the define B33600 doesn't exist. ... to open your serial device and check the oscillator on it. ... maybe you can ask them to do a customization. ... company that made multi-port serial cards. ...
    (comp.os.linux.misc)
  • Re: Set 33600 Baud on serial port
    ... configured to this baud rate) but the define B33600 doesn't exist. ... My experience is for this not very popular baudrate, ... then you can change the oscillator by yourself. ...
    (comp.os.linux.misc)