Home |
Search |
Today's Posts |
#11
![]() |
|||
|
|||
![]()
Hi Al,
"Anonymous" wrote in message ... Actually, RS-232 has always baffled me, and from some measurements I made it doesn't seem to be a very strict standard. There really is an RS-232 standard, it's just commonly abused. Here's what I have from a "cheat sheet" I have at hand: -- Transition levels are between +/-3V (this is what you have to detect) -- Maximum open circuit voltage is 25V (!) -- Maximum load capacitance is 2.5nF -- Load resistance is 3-7kohm (this is ignored all the times -- often the load is much, much higher than this) -- Maximum slew rate is 30V/us (probably violated occasionally but no one checks :-) ) -- Maximum transition time is 4% of bit time -- Maximum data rate is 20,000 bits/second (obviously ignored with good reason...) The above is supposedly the official EIA-232 standard, "revision D," approved in November, 1986. As you can see, both +/-5V (open circuit) and +/-12V drivers can readily meet the spec so long as they still swing +/-3V into 3k loads. Often times the receivers are designed so that the "logic 1" input is anything below about a voltage or two and anything above that is a "logic 0". This is done (rather than having the threshold at 0V) so that you can get away with hooking a TTL or CMOS logic output directly to the RS-232 input and still successfully receive characters. You'll occasionally see people ask whether or not some given serial card or USB to serial adapter will support such shenanigans. :-) ---Joel |
#12
![]() |
|||
|
|||
![]()
Thanks, Joel! This is all very good information. It does bring up another
point, though, related to my original question about interfacing the GPS to the TinyTrak3. The GPS puts out +/- 5 V serial, but the Tiny Trak's serial input is a TTL-level input to the PIC microprocessor. The PIC runs off of a single +5V supply. I guess it can withstand the negative voltage swing without failing? And... if I looked at the serial output from the GPS into an open circuit, there was no signal. It was as if the GPS shut off its serial if it detected an open circuit. Is this normal? Even after connecting it to the TinyTrak, many times it wouldn't 'wake up' and start sending serial data. This was very confusing. Thanks Al W6LX There really is an RS-232 standard, it's just commonly abused. Here's what I have from a "cheat sheet" I have at hand: -- Transition levels are between +/-3V (this is what you have to detect) -- Maximum open circuit voltage is 25V (!) -- Maximum load capacitance is 2.5nF -- Load resistance is 3-7kohm (this is ignored all the times -- often the load is much, much higher than this) -- Maximum slew rate is 30V/us (probably violated occasionally but no one checks :-) ) -- Maximum transition time is 4% of bit time -- Maximum data rate is 20,000 bits/second (obviously ignored with good reason...) The above is supposedly the official EIA-232 standard, "revision D," approved in November, 1986. As you can see, both +/-5V (open circuit) and +/-12V drivers can readily meet the spec so long as they still swing +/-3V into 3k loads. Often times the receivers are designed so that the "logic 1" input is anything below about a voltage or two and anything above that is a "logic 0". This is done (rather than having the threshold at 0V) so that you can get away with hooking a TTL or CMOS logic output directly to the RS-232 input and still successfully receive characters. You'll occasionally see people ask whether or not some given serial card or USB to serial adapter will support such shenanigans. :-) ---Joel |
#13
![]() |
|||
|
|||
![]()
Hi Al,
"Al Lorona" wrote in message ... The GPS puts out +/- 5 V serial, but the Tiny Trak's serial input is a TTL-level input to the PIC microprocessor. The PIC runs off of a single +5V supply. I guess it can withstand the negative voltage swing without failing? You'd have to look at the PIC's data sheet, but it's very common for digital ICs to have appropriately connected diodes to Vcc and Ground for the sake of ESD protection. It's not the most elegant design, but it's not uncommon to use these built-in diodes to limit (clamp) input voltages to a diode drop above Vcc or below ground, which -- assuming the current through the diodes is limited, hence the power dissipated by them is -- is usually harmless. And... if I looked at the serial output from the GPS into an open circuit, there was no signal. It was as if the GPS shut off its serial if it detected an open circuit. Is this normal? I am a little surprised, to tell you the truth, but given that the Garmin is typically battery powered, it would make sense for them to shut down the serial interface circuitry if they don't detect anyone "listening." ---Joel |
#14
![]() |
|||
|
|||
![]()
On Tue, 7 Jun 2005 19:47:54 -0700, "Joel Kolstad"
wrote: Hi Al, "Anonymous" wrote in message .. . Actually, RS-232 has always baffled me, and from some measurements I made it doesn't seem to be a very strict standard. There really is an RS-232 standard, it's just commonly abused. Here's what I have from a "cheat sheet" I have at hand: -- Transition levels are between +/-3V (this is what you have to detect) -- Maximum open circuit voltage is 25V (!) -- Maximum load capacitance is 2.5nF -- Load resistance is 3-7kohm (this is ignored all the times -- often the load is much, much higher than this) -- Maximum slew rate is 30V/us (probably violated occasionally but no one checks :-) ) -- Maximum transition time is 4% of bit time -- Maximum data rate is 20,000 bits/second (obviously ignored with good reason...) -- The maximum distance is 15 m (or was it 50 ft originally). This is often ignored and usually the problems are related to ground potential differences. The 20 kbit/s makes sense, when you look at the other requirements. At this speed, the bit time is 50 us and a 4 % transition is 2 us. At 30 V/us, that would be a 60 V transition from -30 V to +30 V. Compare this to the 25 V open circuit voltage. To charge a 2.5 nF capacitor with the 30 V/us slew rate, a 75 mA current is required. IIRC, the standard also contained a short circuit current limit about that magnitude. The power dissipation can be quite high in the transmitter. These calculations clearly indicate the fundamental problems with RS-232. The RS-422/485 and later LVDS solved the problem by radically reducing the driver voltage swing to a few volts or even below 1 V. Even with a modest 30 V/us slew rate, the transition from one state to an other does not take a long time. With the termination resistance of the order of 100 ohms, the connection can also be analyzed as a bipolar current loop. Since the characteristic impedance of a twisted pair cable is typically around 100 ohms, this is also a well matched (low SWR :-) transmission line system, so there are not much reflections that would mess with the bit transitions. Also the differential construction avoids most of the ground potential difference problems. RS-422/485 is usually implemented with transceivers running from a single +5V supply It is sad that RS-422/485 is not used in common PCs, but instead all kinds of hacks violating the RS-232 are used (some even claim TTL signal levels RS-232 "compatible"). Paul OH3LWR |
#15
![]() |
|||
|
|||
![]()
In article ,
Anonymous wrote: Unfortunately, whereas "RS-232 and NMEA" are very much a standard, Hi, Joel, Actually, RS-232 has always baffled me, and from some measurements I made it doesn't seem to be a very strict standard. For example, the waveform coming out of the GPS receiver was +/- 5 V, whereas I have seen the waveform out of the RS-232 on the computer at +/- 12 V. Is the voltage level arbitrary? The RS-232 specification formally requires that the voltage swing both positive and negative, with respect to ground, by at least 5 volts. Swings for a loaded circuit can go up to +/- 15 volts, and the swing must not exceed +/- 25 for an unloaded circuit. RS-232 receivers are required to be sensitive enough to detect reliably at +/- 3 volt levels. Voltages between +3 and -3 are somewhat of a "no-man's land" and as far as I know the RS-232 standard is silent on how they should be interpreted. The slightly newer RS-423 spec also requires positive and negative swings, but they only need to be +/- 3.6 volts at a minimum, +/- 6 volts at a maximum, and the receivers are required to have +/- 200 millivolt sensitivity. This standard allows for simpler operation from a 5-volt-only circuit (a simpler charge pump can generate a -5 supply), and the increased receiver sensitivity allows the system to work with longer lines (up to 4000 feet, where RS-232 is formally limited to 50 feet). A lot of devices these days don't produce properly-conforming RS-232 *or* RS-423 signal levels on their serial ports. It's fairly common to see devices which use TTL/CMOS voltage levels - swinging up no higher than 5 volts, and down to ground. To cope with such nonstandard signals, it has become fairly common to use serial-port receivers which are deliberately asymmetric... they have a single detection threshold, somewhere in the 1-volt range I think. A receiver of this sort will work properly (with a slight reduction in noise margin) with a real RS-232 or RS-423 transmitter which swings to +5/-5 or above, and will also work with a "pseudo-RS- 423" transmitter which swings +5/0. -- Dave Platt AE6EO Hosting the Jade Warrior home page: http://www.radagast.org/jade-warrior I do _not_ wish to receive unsolicited commercial email, and I will boycott any company which has the gall to send me such ads! |
Reply |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
OT - TELEPHONE PROBLEMS | CB | |||
Sangean Problems? | Shortwave | |||
Kenwood Th-D7 & Garmin 45XL APRS $175 | Swap | |||
FT-890 frequency problems | Equipment |