modern RS232 ports

Mar 18, 2011 85 Replies

I know that many modern "RS232" ports are actually not RS-232 spec compliant. I can test a few gadgets we have around here, but I was wondering if anybody else has seen wildly non-compliant ports.



Does everybody still even bother to swing negative on drivers? What are the smallest drive excursions anyone's seen?



I know that my HP computer receivers will blow up if they see honest



+-12 volt drives. The outputs seem to swing from -6 to +6 into a hi-z load.

John


Smallest I've seen was 0V to 3.3V. And they called that RS232 ...

That looks like a candidate for entry into the hall of blame :-)

Regards, Joerg http://www.analogconsultants.com/ "gmail" domain blocked because of excessive spam. Use another domain or send PM.

The Maxim RS-232 converter parts that we're using generate

+/-6V outputs from the ~3V supply. Hadn't checked explicitly, but I'd be surprised if they died with 12v inputs - they are rated up to +/-25V.

And yes, I usually avoid Maxim parts.

Yes, I'd say even most PCs that have mothboard-mounted RS-232 connectors still swing negative.

And I've seen plenty of PCs that wouldn't recognize incoming serial data if it

*only* hit ground, although those seem to less and less common too.

Should be +/- 12V output and +/- 25V input.

We would be in big trouble otherwise.

TI makes compatible parts, so OK for this.

I just tried a cheapie USB to RS232 dongle. The TX drive is about -6 volts with about 1 volt p-p triangular ripple, 600 Hz, unloaded. With a 1K load, the ripple freq increases to 60K. Weird.

What I'm trying to do is build a laser controller that has an RS232 test port. If nothing is plugged into the port, the uP will boot the normal application. If it powers up and senses that something (a laptop, probably) is plugged in, it enters a diagnostic mode and talks to the laptop to see what to do next.

One nice way to do this is to look at the electrical level on the incoming serial data line, and see if it's negative, meaning the laptop is connected. I can do that IF the laptop's serial port (or, these days, a USB-serial dongle) reliably puts out a negative voltage on its TXD pin.

John

Their inverting switcher apparently is hysterically controlled?

I suppose that is cleaner than the typical, "wait one second at boot, if the right 'magic command' [sometimes just a single key, like Esc or Ctrl+C] is received serially enter debug mode..."

If you gently pull up your Rx pin to +5V or whatever you have available, you could still reliably detect proper systems that use negative voltages as well as those that do switch to ground.

---Joel

My original MC1489 design (the very first RS-232 Receiver) does not vacillate when the input is floated. ...Jim Thompson

| James E.Thompson, CTO | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona 85048 Skype: Contacts Only | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at http://www.analog-innovations.com | 1962 | Remember: Once you go over the hill, you pick up speed

To make this more bullet-proof John could apply a 3.3V or whatever signal that toggles at a totally non-standard "baud rate", applied through a high ohms resistor. If the pin toggles along, nothing is connected. If it misses beats then something is connected. Of course this would also register "connected" if a PC is hooked up to this port but not turned on.

Regards, Joerg http://www.analogconsultants.com/ "gmail" domain blocked because of excessive spam. Use another domain or send PM.

That's probably the best way to do it. I can run the RS232 receiver output to the ARM's UART and to a parallel port pin.

John

You could always have the laptop assert one of the control signals. Should be readable from the UART status on the laser controller. Been a while, but I recall most terminal emulators even enabling you to assert certain control signals. CTS/RTS was always a favorite flavor of this...

-- Les Cargill

I've seen them, where the receiver interprets 0 as a low and, say, a TTL high as a high, but uses serial data protols.

Probably 1.8V I2C or that differential logic stuff.

Why are you asking? CAT-5 is differential; it doesn't _need_ a negative level. Are you trying to minimize the number of wires? Is it a speed thing? If you're looking for robustness, 4-20 mA current loops are used all over the place in industry - they're not only almost bullet- proof, but there's a built-in fault detection - 0 mA means "fault."

Hope This Helps! Rich

Why not use RTS/CTS and/or DSR/DTR (hardware) protocols?

Good Luck! Rich

On a sunny day (Fri, 18 Mar 2011 17:58:06 -0700) it happened John Larkin wrote in :

Is that not why we have the DSR DTR signals? Data set ready, data terminal ready.

Can't the UART pin be a parallel port pin too? You could switch it to UART mode after detection.

John Devereux

still

it

If someone designs an "RS-232" port in which the TxD transmitter is not capable of producing a proper Mark (-6 V) signal would bother to connect a (static) proper +6 V voltage to the DTR and RTS pins ?

On a sunny day (Sat, 19 Mar 2011 16:17:50 +0200) it happened snipped-for-privacy@downunder.com wrote in :

I think the procedure is to loop back the RTS DSR if no handshaking used, so I would expect things to work withith their OWN chip. I mean loop back in the connector. Maybe not always done.

One could also have the PC listen for a 'hello'.

Forty years ago the ECL stuff we were using had +/- 250mV signaling levels, though he was asking about the smallest "RS-232" drive levels. Our transceivers use CMOS33 for async communications. No one calls it "RS-232", though.

Again, he's asking about "RS-232" ports.

Not only that, but there's a second level - CTS/RTS: Clear to Send/Ready to Send. :-)

Sheesh! Kids these days! ;-D

Cheers! Rich

John -

I've done several projects this way and never had a failure. My micros sleep until they recognize a port pin change, then wake up and spit the data out to a Palm. No problem with desktops nor notebook.

Cheers, John

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required