From: lowen@lorc.UUCP (Lamar Owen)
Newsgroups: comp.bbs.waffle
Subject: RE: 115200 Modem speed
Date: Fri, 09 Oct 92 14:10:30 EDT
Organization: LORC Enterprises

aleung@uwpg02.uwinnipeg.ca writes:
> I was currently using 16550 and lock the baud at 38400 for my USR DS. And you

Your message was a single line.  So, I had to do wierd stuff to get this:

I was currently using 16550 and lock the baud at 38400 for my USR DS. And you sa
id RS-232 is limited to 20000bps. So that, it just go to 20000bps ?


Ok, now that we can see the whole message, let's see if we can decipher it.

I am assuming this is directed to me, since I am the one that said RS-232C is
limited to 20000bps.  Ok, maybe I didn't quite get the point across:

The EIA RS-232C *specification* states that the highest supportted rate (by the
spec) is 20000bps.  This does not mean that that's as far as it goes, it
just means that if you are running 38,400 (which I am), you are out of spec.
You are not running RS-232C, you are running a serial port that is out of spec.

Clear enough?  

Further on in my article, I stated some experiences I had at 57600 on RS-232-
type serial lines (again, above 20000bps is not RS-232 compliant according to
the EIA (Electronic Industries Association)).  I said that I found that the
cable type needs to be very carefully chosen for high-speed operation.  This
still stands: you need to be very careful above 20000bps with unshielded cable
and lengths > 20 feet.  You CAN get burnt--use shielded cable.  For 115,200 you
want to go even farther and get low-capacitance cable.

RS-232 is a standards document, nothing more.  It makes recommendations based
on technology at the time it was written.  At that point in time, serial
lines were never expected to ever go above 9600 bps, much less 20000.  Using
the transceivers of the day, higher than 20000bps operation wasn't even possible
because of slew rate limits.   Also, any serial line that is otherwise RS-232
is out of spec if it is over 50 feet.  Yes! 50 feet is the RS-232 maximum
cable length--to stay within the "standard".  Nobody adhers to that section.

So, *NO RS-232 compliant serial port operates above 20000bps*.  If a serial
port is at 38400, it is simply not an RS-232 port.

I know, I know, pedantic.  However, it's no more pedantic than insisting that
newsgroups be called newsgroups rather than SIG's or conferences.  Accuracy
is actually important, and can prevent troubles later on.  I know--I got
burnt by non-RS-232 serial ports.
    
So, what am I saying?  If 38400 works in your instance, go right ahead and
use it.  I do.  If you can get your 1488 and 1489 line driver chips to slew
fast enough to react at 115200 bps, then GO FOR IT.  I have done that, too. I
found that the 1488/1489 chips on my serial port card were not fast enough
to slew to the threshold voltage at 115200--but the worked fine at 57600,
which is where I left them.  That port runs 57600 beautifully, but the
line voltage is dangerously close to the threshold and the timing drifts
because of slew rate and line capacitance.  This is also why low-cap cable
is important.

So, here is the cookbook:  To run reliably at high speeds (speeds > 20000bps)
you *should* do the following:

1.) Use 16550 UARTS so your computer is always able to keep up (I am not using
    16550's--I will probably get burnt one day).
    
2.) Use high-quality cable, preferably shielded, low-capacitance HIGH GRADE.

3.) Use the best connectors you can buy.  Crimp types are actually better than
    soldered types!  Refer to "Audio System Design and Implementation" from
    Howard W. Sams for MTBF figures and general reliability info on various
    terminating types.
    
4.) Screw the connectors together, as per RS-232 spec.

5.) Use only shielded hoods.

6.) Ground the cable shield to pin one of the connector AND to the shielded 
    hood, but NEVER EVER to pin 7.  Pin 7 is the signal return ONLY and is,
    by specification, supposed to be isolated from pin 1.  Why?  Since
    the signal levels on RS-232 are not very high, significant noise, resulting
    from a ground loop caused by grounding pin 1 to pin 7, can fool the line,
    causing errors.
    
7.) Use a good modem, no "Dime Store Specials".  I use an Intel 14.4EX here.

8.) Use a good serial card.  Serial cards are NOT created equal!

9.) Use that absolutely shortest length of cable you can.

10.) Do not run the serial cable in parallel with the power cables, but always
     at an angle.  This will reduce inductive coupling between the power line
     and your serial line.  Same goes for the phone line--keep it away from both
     the power lines and from the serial cable.
     
11.) Keep you modem away from your monitor.  Nowdays monitors are advertised as
     low radiation, but they still emit EMI and RFI that can cause really wierd
     effects on your serial bitstream, particularly at high speed.
     
12.) Read comp.dcom.modems.

13.) Use a FOSSIL.  These tiny TSR's are usually VERY optimized and can do
     wonders to increase throughput.  Use whichever one you want.  I use X00
     here.


You may not follow these guidlines and still have good clean transfers.
But, if you follow these simple guidlines, you will have better odds of getting
high-speed, error-free, reliable transfers a greater percentage of the time.

Have a good one...

> AL


--

Lamar Owen, Systems Consultant, GE Lighting Systems, Hendersonville, NC
***********************************************************************
 Opinions expressed herein are the author's and do not reflect policy
   or opinions of the General Electric Company or its subsidiaries.
***********************************************************************