View Single Post
  #35   Report Post  
Posted to uk.d-i-y
Andrew Gabriel Andrew Gabriel is offline
external usenet poster
 
Posts: 11,175
Default Long serial cable

In article ,
John Rumm writes:
Man at B&Q wrote:

Gazillions of UARTS in microcontrollers will run way faster than that.
I've done 1mbit/s in a PIC, between two devices on a PCB.


Indeed - but most are 8250(A) or 16550 style devices in PCs and similar.
With the selected xtal these usually do about 50 - 115K bps.


Don't think 8250 has been used in anything since the advent of 386's.
Oldest I could find when sorting through Interactive UNIX's stock
of really old test cards at work was a 16450 on an 8-bit ISA-bus card.

Southbridge chips contain embedded 16550A equivalents at least, and
some turn out to be 16650 if you probe for them. Plug-in cards are
16650 through to 16950 (increasing buffer sizes, increasing numbers
of features for high speed working with less driver intervention, but
unfortunately increasingly less compatible between manufacturers).
Very many cards nowadays use 8x the clock frequency a 16550 uses,
with a divide by 8 which can be enabled/disabled to get to nearly a
megabit, or to give the conventional 16550 speeds. (Sometimes the
divide by 8 enabled/disabled applies to all ports on a multi-port
card, which is a bummer as you can't set the baud rates independantly
on each port to all of the commonly used values.)

Given a 68HC302 or similar with the embedded "communications element"
you can do all manner of exotica with the serial lines!

The crystal selection becomes critical at higher speeds if you want to
use "standard" baud rates.


As I said earlier in the thread, modern UARTs are much more tollerant
of mis-shaped signals and sample the data stream at 8 or 16 times the
baud rate. This means they'll work with cable lengths well in excess
of those in the original RS242 and V.24 specs.

--
Andrew Gabriel
[email address is not usable -- followup in the newsgroup]