The software offers three different options for setting signal lines pinout: Standard is the default serial port pinout for serial communications with partial handshaking. Loopback Mode allows virtual COM ports communicate using RS232 loopback handshaking. Custom COM port pinout preset can be selected and saved by a user in the software settings. Serial (RS232) null modem cable (DB9-DB25). Pinout and signals for building a serial (RS232) nullmodem cable. Use this cable between two DTE devices (for instance two computers). Again make a note of which LEDs are lit. If any single LED is lit by both of the devices, then there is an output conflict, and the cable wiring is incorrect. By this, I mean that one line in the cable has an output driving it from both ends - and this is not correct for RS232 - so that means that the cable wiring is not correct for the devices.
In telecommunications, RS-232, Recommended Standard 232[1] refers to a standard originally introduced in 1960[2] for serial communication transmission of data. It formally defines signals connecting between a DTE (data terminal equipment) such as a computer terminal, and a DCE (data circuit-terminating equipment or data communication equipment), such as a modem. The standard defines the electrical characteristics and timing of signals, the meaning of signals, and the physical size and pinout of connectors. The current version of the standard is TIA-232-F Interface Between Data Terminal Equipment and Data Circuit-Terminating Equipment Employing Serial Binary Data Interchange, issued in 1997. The RS-232 standard had been commonly used in computerserial ports and is still widely used in industrial communication devices.
A serial port complying with the RS-232 standard was once a standard feature of many types of computers. Personal computers used them for connections not only to modems, but also to printers, computer mice, data storage, uninterruptible power supplies, and other peripheral devices.
RS-232, when compared to later interfaces such as RS-422, RS-485 and Ethernet, has lower transmission speed, short maximum cable length, large voltage swing, large standard connectors, no multipoint capability and limited multidrop capability. In modern personal computers, USB has displaced RS-232 from most of its peripheral interface roles. Many computers no longer come equipped with RS-232 ports and must use either an external USB-to-RS-232 converter or an internal expansion card with one or more serial ports to connect to RS-232 peripherals. Nevertheless, thanks to their simplicity and past ubiquity, RS-232 interfaces are still used—particularly in industrial machines, networking equipment, and scientific instruments where a short-range, point-to-point, low-speed wired data connection is fully adequate.
- 5Physical interface
- 5.3Cables
- 6Data and control signals
- 7Seldom-used features
Scope of the standard[edit]
The Electronic Industries Association (EIA) standard RS-232-C[3] as of 1969 defines:
- Electrical signal characteristics such as voltage levels, signaling rate, timing, and slew-rate of signals, voltage withstand level, short-circuit behavior, and maximum load capacitance.
- Interface mechanical characteristics, pluggable connectors and pin identification.
- Functions of each circuit in the interface connector.
- Standard subsets of interface circuits for selected telecom applications.
The standard does not define such elements as the character encoding (i.e. ASCII, EBCDIC, or others), the framing of characters (start or stop bits, etc.), transmission order of bits, or error detection protocols. The character format and transmission bit rate are set by the serial port hardware, typically a UART, which may also contain circuits to convert the internal logic levels to RS-232 compatible signal levels. The standard does not define bit rates for transmission, except that it says it is intended for bit rates lower than 20,000 bits per second.
History[edit]
RS-232 was first introduced in 1960[2] by the Electronic Industries Association (EIA) as a Recommended Standard.[4][1] The original DTEs were electromechanical teletypewriters, and the original DCEs were (usually) modems. When electronic terminals (smart and dumb) began to be used, they were often designed to be interchangeable with teletypewriters, and so supported RS-232.
Because the standard did not foresee the requirements of devices such as computers, printers, test instruments, POS terminals, and so on, designers implementing an RS-232 compatible interface on their equipment often interpreted the standard idiosyncratically. The resulting common problems were non-standard pin assignment of circuits on connectors, and incorrect or missing control signals. The lack of adherence to the standards produced a thriving industry of breakout boxes, patch boxes, test equipment, books, and other aids for the connection of disparate equipment. A common deviation from the standard was to drive the signals at a reduced voltage. Some manufacturers therefore built transmitters that supplied +5 V and −5 V and labeled them as 'RS-232 compatible'.[citation needed]
Later personal computers (and other devices) started to make use of the standard so that they could connect to existing equipment. For many years, an RS-232-compatible port was a standard feature for serial communications, such as modem connections, on many computers (with the computer acting as the DTE). It remained in widespread use into the late 1990s. In personal computer peripherals, it has largely been supplanted by other interface standards, such as USB. RS-232 is still used to connect older designs of peripherals, industrial equipment (such as PLCs), console ports, and special purpose equipment.
The standard has been renamed several times during its history as the sponsoring organization changed its name, and has been variously known as EIA RS-232, EIA 232, and, most recently as TIA 232. The standard continued to be revised and updated by the Electronic Industries Association and since 1988 by the Telecommunications Industry Association (TIA).[5] Revision C was issued in a document dated August 1969. Revision D was issued in 1986. The current revision is TIA-232-F Interface Between Data Terminal Equipment and Data Circuit-Terminating Equipment Employing Serial Binary Data Interchange, issued in 1997. Changes since Revision C have been in timing and details intended to improve harmonization with the CCITT standard V.24, but equipment built to the current standard will interoperate with older versions.[citation needed]
Related ITU-T standards include V.24 (circuit identification) and V.28 (signal voltage and timing characteristics).[citation needed]
In revision D of EIA-232, the D-subminiature connector was formally included as part of the standard (it was only referenced in the appendix of RS-232-C). The voltage range was extended to ±25 volts, and the circuit capacitance limit was expressly stated as 2500 pF. Revision E of EIA-232 introduced a new, smaller, standard D-shell 26-pin 'Alt A' connector, and made other changes to improve compatibility with CCITT standards V.24, V.28 and ISO 2110.[6]
Overview:
- EIA RS-232 (May 1960) 'Interface Between Data Terminal Equipment & Data'[2]
- EIA RS-232-A (October 1963)[2]
- EIA RS-232-B (October 1965)[2]
- EIA RS-232-C (August 1969) 'Interface Between Data Terminal Equipment and Data Communication Equipment Employing Serial Binary Data Interchange'[2]
- EIA EIA-232-D (1986)
- TIA TIA/EIA-232-E (1991) 'Interface Between Data Terminal Equipment and Data Communications Equipment Employing Serial Binary Data Interchange'
- TIA TIA/EIA-232-F (1997-10-01)
- ANSI/TIA-232-F-1997 (R2002)
- TIA TIA-232-F (R2012)
Limitations of the standard[edit]
Because RS-232 is used beyond the original purpose of interconnecting a terminal with a modem, successor standards have been developed to address the limitations. Issues with the RS-232 standard include:[7]
- The large voltage swings and requirement for positive and negative supplies increases power consumption of the interface and complicates power supply design. The voltage swing requirement also limits the upper speed of a compatible interface.
- Single-ended signaling referred to a common signal ground limits the noise immunity and transmission distance.
- Multi-drop connection among more than two devices is not defined. While multi-drop 'work-arounds' have been devised, they have limitations in speed and compatibility.
- The standard does not address the possibility of connecting a DTE directly to a DTE, or a DCE to a DCE. Null modem cables can be used to achieve these connections, but these are not defined by the standard, and some such cables use different connections than others.
- The definitions of the two ends of the link are asymmetric. This makes the assignment of the role of a newly developed device problematic; the designer must decide on either a DTE-like or DCE-like interface and which connector pin assignments to use.
- The handshaking and control lines of the interface are intended for the setup and takedown of a dial-up communication circuit; in particular, the use of handshake lines for flow control is not reliably implemented in many devices.
- No method is specified for sending power to a device. While a small amount of current can be extracted from the DTR and RTS lines, this is only suitable for low-power devices such as mice.
- The 25-pin D-sub connector recommended in the standard is large compared to current practice.
Role in modern personal computers[edit]
In the book PC 97 Hardware Design Guide,[8]Microsoft deprecated support for the RS-232 compatible serial port of the original IBM PC design. Today, RS-232 has mostly been replaced in personal computers by USB for local communications. Advantages compared to RS-232 are that USB is faster, uses lower voltages, and has connectors that are simpler to connect and use. Disadvantages of USB compared to RS-232 are that USB is far less immune to electromagnetic interference (EMI)[dubious] and that maximum cable length is much shorter (15 meters for RS-232 v.s. 3 - 5 meters for USB depending on USB speed used).[citation needed]
In fields such as laboratory automation or surveying, RS-232 devices may continue to be used. Some types of programmable logic controllers, variable-frequency drives, servo drives, and computerized numerical control equipment are programmable via RS-232. Computer manufacturers have responded to this demand by re-introducing the DE-9M connector on their computers or by making adapters available.
RS-232 ports are also commonly used to communicate to headless systems such as servers, where no monitor or keyboard is installed, during boot when operating system is not running yet and therefore no network connection is possible. A computer with an RS-232 serial port can communicate with the serial port of an embedded system (such as a router) as an alternative to monitoring over Ethernet.
Physical interface[edit]
In RS-232, user data is sent as a time-series of bits. Both synchronous and asynchronous transmissions are supported by the standard. In addition to the data circuits, the standard defines a number of control circuits used to manage the connection between the DTE and DCE. Each data or control circuit only operates in one direction, that is, signaling from a DTE to the attached DCE or the reverse. Because transmit data and receive data are separate circuits, the interface can operate in a full duplex manner, supporting concurrent data flow in both directions. The standard does not define character framing within the data stream, or character encoding.
Voltage levels[edit]
The RS-232 standard defines the voltage levels that correspond to logical one and logical zero levels for the data transmission and the control signal lines. Valid signals are either in the range of +3 to +15 volts or the range −3 to −15 volts with respect to the 'Common Ground' (GND) pin; consequently, the range between −3 to +3 volts is not a valid RS-232 level. For data transmission lines (TxD, RxD, and their secondary channel equivalents), logic one is represented as a negative voltage and the signal condition is called 'mark'. Logic zero is signaled with a positive voltage and the signal condition is termed 'space'. Control signals have the opposite polarity: the asserted or active state is positive voltage and the de-asserted or inactive state is negative voltage. Examples of control lines include request to send (RTS), clear to send (CTS), data terminal ready (DTR), and data set ready (DSR).
Data circuits | Control circuits | Voltage |
---|---|---|
0 (space) | Asserted | +3 to +15 V |
1 (mark) | Deasserted | −15 to −3 V |
The standard specifies a maximum open-circuit voltage of 25 volts: signal levels of ±5 V, ±10 V, ±12 V, and ±15 V are all commonly seen depending on the voltages available to the line driver circuit. Some RS-232 driver chips have inbuilt circuitry to produce the required voltages from a 3 or 5 volt supply. RS-232 drivers and receivers must be able to withstand indefinite short circuit to ground or to any voltage level up to ±25 volts. The slew rate, or how fast the signal changes between levels, is also controlled.
Because the voltage levels are higher than logic levels typically used by integrated circuits, special intervening driver circuits are required to translate logic levels. These also protect the device's internal circuitry from short circuits or transients that may appear on the RS-232 interface, and provide sufficient current to comply with the slew rate requirements for data transmission.
Because both ends of the RS-232 circuit depend on the ground pin being zero volts, problems will occur when connecting machinery and computers where the voltage between the ground pin on one end, and the ground pin on the other is not zero. This may also cause a hazardous ground loop. Use of a common ground limits RS-232 to applications with relatively short cables. If the two devices are far enough apart or on separate power systems, the local ground connections at either end of the cable will have differing voltages; this difference will reduce the noise margin of the signals. Balanced, differential serial connections such as RS-422 or RS-485 can tolerate larger ground voltage differences because of the differential signaling.[9]
Unused interface signals terminated to ground will have an undefined logic state. Where it is necessary to permanently set a control signal to a defined state, it must be connected to a voltage source that asserts the logic 1 or logic 0 level, for example with a pullup resistor. Some devices provide test voltages on their interface connectors for this purpose.
Connectors[edit]
RS-232 devices may be classified as Data Terminal Equipment (DTE) or Data Circuit-terminating Equipment (DCE); this defines at each device which wires will be sending and receiving each signal. According to the standard, male connectors have DTE pin functions, and female connectors have DCE pin functions. Other devices may have any combination of connector gender and pin definitions. Many terminals were manufactured with female connectors but were sold with a cable with male connectors at each end; the terminal with its cable satisfied the recommendations in the standard.
The standard recommends the D-subminiature 25-pin connector up to revision C, and makes it mandatory as of revision D. Most devices only implement a few of the twenty signals specified in the standard, so connectors and cables with fewer pins are sufficient for most connections, more compact, and less expensive. Personal computer manufacturers replaced the DB-25M connector with the smaller DE-9M connector. This connector, with a different pinout (see Serial port pinouts), is prevalent for personal computers and associated devices.
Presence of a 25-pin D-sub connector does not necessarily indicate an RS-232-C compliant interface. For example, on the original IBM PC, a male D-sub was an RS-232-C DTE port (with a non-standard current loop interface on reserved pins), but the female D-sub connector on the same PC model was used for the parallel 'Centronics' printer port. Some personal computers put non-standard voltages or signals on some pins of their serial ports.
Cables[edit]
The standard does not define a maximum cable length, but instead defines the maximum capacitance that a compliant drive circuit must tolerate. A widely used rule of thumb indicates that cables more than 15 m (50 ft) long will have too much capacitance, unless special cables are used. By using low-capacitance cables, communication can be maintained over larger distances up to about 300 m (1,000 ft).[10] For longer distances, other signal standards, such as RS-422, are better suited for higher speeds.
Since the standard definitions are not always correctly applied, it is often necessary to consult documentation, test connections with a breakout box, or use trial and error to find a cable that works when interconnecting two devices. Connecting a fully standard-compliant DCE device and DTE device would use a cable that connects identical pin numbers in each connector (a so-called 'straight cable'). 'Gender changers' are available to solve gender mismatches between cables and connectors. Connecting devices with different types of connectors requires a cable that connects the corresponding pins according to the table below. Cables with 9 pins on one end and 25 on the other are common. Manufacturers of equipment with 8P8C connectors usually provide a cable with either a DB-25 or DE-9 connector (or sometimes interchangeable connectors so they can work with multiple devices). Poor-quality cables can cause false signals by crosstalk between data and control lines (such as Ring Indicator).
If a given cable will not allow a data connection, especially if a gender changer is in use, a null modem cable may be necessary. Gender changers and null modem cables are not mentioned in the standard, so there is no officially sanctioned design for them.
3-wire and 5-wire RS-232[edit]
A minimal '3-wire' RS-232 connection consisting only of transmit data, receive data, and ground, is commonly used when the full facilities of RS-232 are not required. Even a two-wire connection (data and ground) can be used if the data flow is one way (for example, a digital postal scale that periodically sends a weight reading, or a GPS receiver that periodically sends position, if no configuration via RS-232 is necessary). When only hardware flow control is required in addition to two-way data, the RTS and CTS lines are added in a 5-wire version.
Data and control signals[edit]
The following table lists commonly used RS-232 signals (called 'circuits' in the specifications) and their pin assignments on the recommended DB-25 connectors.[11] (See Serial port pinouts for other commonly used connectors not defined by the standard.)
Circuit | Direction | DB-25 pin | |||
---|---|---|---|---|---|
Name | Typical purpose | Abbreviation | DTE | DCE | |
Data Terminal Ready | DTE is ready to receive, initiate, or continue a call. | DTR | out | in | 20 |
Data Carrier Detect | DCE is receiving a carrier from a remote DCE. | DCD | in | out | 8 |
Data Set Ready | DCE is ready to receive and send data. | DSR | in | out | 6 |
Ring Indicator | DCE has detected an incoming ring signal on the telephone line. | RI | in | out | 22 |
Request To Send | DTE requests the DCE prepare to transmit data. | RTS | out | in | 4 |
Ready To Receive | DTE is ready to receive data from DCE. If in use, RTS is assumed to be always asserted. | RTR | out | in | 4 |
Clear To Send | DCE is ready to accept data from the DTE. | CTS | in | out | 5 |
Transmitted Data | Carries data from DTE to DCE. | TxD | out | in | 2 |
Received Data | Carries data from DCE to DTE. | RxD | in | out | 3 |
Common Ground | Zero voltage reference for all of the above. | GND | common | 7 | |
Protective Ground | Connected to chassis ground. | PG | common | 1 |
The signals are named from the standpoint of the DTE. The ground pin is a common return for the other connections, and establishes the 'zero' voltage to which voltages on the other pins are referenced. The DB-25 connector includes a second 'protective ground' on pin 1; this is connected internally to equipment frame ground, and should not be connected in the cable or connector to signal ground.
Ring Indicator[edit]
Ring Indicator (RI) is a signal sent from the DCE to the DTE device. It indicates to the terminal device that the phone line is ringing. In many computer serial ports, a hardware interrupt is generated when the RI signal changes state. Having support for this hardware interrupt means that a program or operating system can be informed of a change in state of the RI pin, without requiring the software to constantly 'poll' the state of the pin. RI does not correspond to another signal that carries similar information the opposite way.
On an external modem the status of the Ring Indicator pin is often coupled to the 'AA' (auto answer) light, which flashes if the RI signal has detected a ring. The asserted RI signal follows the ringing pattern closely, which can permit software to detect distinctive ring patterns.
The Ring Indicator signal is used by some older uninterruptible power supplies (UPSs) to signal a power failure state to the computer.
Certain personal computers can be configured for wake-on-ring, allowing a computer that is suspended to answer a phone call.
RTS, CTS, and RTR[edit]
The Request to Send (RTS) and Clear to Send (CTS) signals were originally defined for use with half-duplex (one direction at a time) modems such as the Bell 202. These modems disable their transmitters when not required and must transmit a synchronization preamble to the receiver when they are re-enabled. The DTE asserts RTS to indicate a desire to transmit to the DCE, and in response the DCE asserts CTS to grant permission, once synchronization with the DCE at the far end is achieved. Such modems are no longer in common use. There is no corresponding signal that the DTE could use to temporarily halt incoming data from the DCE. Thus RS-232's use of the RTS and CTS signals, per the older versions of the standard, is asymmetric.
This scheme is also employed in present-day RS-232 to RS-485 converters. RS-485 is a multiple-access bus on which only one device can transmit at a time, a concept that is not provided for in RS-232. The RS-232 device asserts RTS to tell the converter to take control of the RS-485 bus so that the converter, and thus the RS-232 device, can send data onto the bus.
Modern communications environments use full-duplex (both directions simultaneously) modems. In that environment, DTEs have no reason to deassert RTS. However, due to the possibility of changing line quality, delays in processing of data, etc., there is a need for symmetric, bidirectional flow control.
A symmetric alternative providing flow control in both directions was developed and marketed in the late 1980s by various equipment manufacturers. It redefined the RTS signal to mean that the DTE is ready to receive data from the DCE. This scheme was eventually codified in version RS-232-E (actually TIA-232-E by that time) by defining a new signal, 'RTR (Ready to Receive)', which is CCITT V.24 circuit 133. TIA-232-E and the corresponding international standards were updated to show that circuit 133, when implemented, shares the same pin as RTS (Request to Send), and that when 133 is in use, RTS is assumed by the DCE to be asserted at all times.[12]
In this scheme, commonly called 'RTS/CTS flow control' or 'RTS/CTS handshaking' (though the technically correct name would be 'RTR/CTS'), the DTE asserts RTR whenever it is ready to receive data from the DCE, and the DCE asserts CTS whenever it is ready to receive data from the DTE. Unlike the original use of RTS and CTS with half-duplex modems, these two signals operate independently from one another. This is an example of hardware flow control. However, 'hardware flow control' in the description of the options available on an RS-232-equipped device does not always mean RTS/CTS handshaking.
Equipment using this protocol must be prepared to buffer some extra data, since the remote system may have begun transmitting just before the local system deasserts RTR.
Seldom-used features[edit]
The EIA-232 standard specifies connections for several features that are not used in most implementations. Their use requires 25-pin connectors and cables.
Signal rate selection[edit]
The DTE or DCE can specify use of a 'high' or 'low' signaling rate. The rates, as well as which device will select the rate, must be configured in both the DTE and DCE. The prearranged device selects the high rate by setting pin 23 to ON.
Loopback testing[edit]
Many DCE devices have a loopback capability used for testing. When enabled, signals are echoed back to the sender rather than being sent on to the receiver. If supported, the DTE can signal the local DCE (the one it is connected to) to enter loopback mode by setting pin 18 to ON, or the remote DCE (the one the local DCE is connected to) to enter loopback mode by setting pin 21 to ON. The latter tests the communications link, as well as both DCEs. When the DCE is in test mode, it signals the DTE by setting pin 25 to ON.
A commonly used version of loopback testing does not involve any special capability of either end. A hardware loopback is simply a wire connecting complementary pins together in the same connector (see loopback).
Loopback testing is often performed with a specialized DTE called a bit error rate tester (or BERT).
Timing signals[edit]
Some synchronous devices provide a clock signal to synchronize data transmission, especially at higher data rates. Two timing signals are provided by the DCE on pins 15 and 17. Pin 15 is the transmitter clock, or send timing (ST); the DTE puts the next bit on the data line (pin 2) when this clock transitions from OFF to ON (so it is stable during the ON to OFF transition when the DCE registers the bit). Pin 17 is the receiver clock, or receive timing (RT); the DTE reads the next bit from the data line (pin 3) when this clock transitions from ON to OFF.
Alternatively, the DTE can provide a clock signal, called transmitter timing (TT), on pin 24 for transmitted data. Data is changed when the clock transitions from OFF to ON, and read during the ON to OFF transition. TT can be used to overcome the issue where ST must traverse a cable of unknown length and delay, clock a bit out of the DTE after another unknown delay, and return it to the DCE over the same unknown cable delay. Since the relation between the transmitted bit and TT can be fixed in the DTE design, and since both signals traverse the same cable length, using TT eliminates the issue. TT may be generated by looping ST back with an appropriate phase change to align it with the transmitted data. ST loop back to TT lets the DTE use the DCE as the frequency reference, and correct the clock to data timing.
Synchronous clocking is required for such protocols as SDLC, HDLC, and X.25.
Secondary channel[edit]
A secondary data channel, identical in capability to the primary channel, can optionally be implemented by the DTE and DCE devices. Pin assignments are as follows:
Signal | Pin |
---|---|
Common Ground | 7 (same as primary) |
Secondary Transmitted Data (STD) | 14 |
Secondary Received Data (SRD) | 16 |
Secondary Request To Send (SRTS) | 19 |
Secondary Clear To Send (SCTS) | 13 |
Secondary Carrier Detect (SDCD) | 12 |
Related standards[edit]
Other serial signaling standards may not interoperate with standard-compliant RS-232 ports. For example, using the TTL levels of near +5 and 0 V puts the mark level in the undefined area of the standard. Such levels are sometimes used with NMEA 0183-compliantGPS receivers and depth finders.
A 20 mA current loop uses the absence of 20 mA current for high, and the presence of current in the loop for low; this signaling method is often used for long-distance and optically isolated links. Connection of a current-loop device to a compliant RS-232 port requires a level translator. Current-loop devices can supply voltages in excess of the withstand voltage limits of a compliant device. The original IBM PC serial port card implemented a 20 mA current-loop interface, which was never emulated by other suppliers of plug-compatible equipment.
Other serial interfaces similar to RS-232:
- RS-422 (a high-speed system similar to RS-232 but with differential signaling)
- RS-423 (a high-speed system similar to RS-422 but with unbalanced signaling)
- RS-449 (a functional and mechanical interface that used RS-422 and RS-423 signals - it never caught on like RS-232 and was withdrawn by the EIA)
- RS-485 (a descendant of RS-422 that can be used as a bus in multidrop configurations)
- MIL-STD-188 (a system like RS-232 but with better impedance and rise time control)
- EIA-530 (a high-speed system using RS-422 or RS-423 electrical properties in an EIA-232 pinout configuration, thus combining the best of both; supersedes RS-449)
- EIA/TIA-561 8 Position Non-Synchronous Interface Between Data Terminal Equipment and Data Circuit Terminating Equipment Employing Serial Binary Data Interchange
- EIA/TIA-562 Electrical Characteristics for an Unbalanced Digital Interface (low-voltage version of EIA/TIA-232)
- TIA-574 (standardizes the 9-pin D-subminiature connector pinout for use with EIA-232 electrical signalling, as originated on the IBM PC/AT)
Development tools[edit]
When developing or troubleshooting systems using RS-232, close examination of hardware signals can be important to find problems. A simple indicator device uses LEDs to show the high/low state of data or control pins. Y cables may be used to allow using another serial port to monitor all traffic on one direction. A serial line analyzer is a device similar to a logic analyzer but specialized for RS-232's voltage levels, connectors, and, where used, clock signals. The serial line analyzer can collect, store, and display the data and control signals, allowing developers to view them in detail. Some simply display the signals as waveforms; more elaborate versions include the ability to decode characters in ASCII or other common codes and to interpret common protocols used over RS-232 such as SDLC, HDLC, DDCMP, and X.25. Serial line analyzers are available as standalone units, as software and interface cables for general-purpose logic analyzers and oscilloscopes, and as programs that run on common personal computers and devices.
References[edit]
- ^ abMetering GlossaryArchived 2012-11-29 at the Wayback Machine Landis + Gyr Tutorial (see EIA)
- ^ abcdefEvans, Jr., John M.; O'Neill, Joseph T.; Little, John L.; Albus, James S.; Barbera, Anthony J.; Fife, Dennis W.; Fong, Elizabeth N.; Gilsinn, David E.; Holberton, Frances E.; Lucas, Brian G.; Lyon, Gordon E.; Marron, Beatrice A. S.; Neumann, Albercht J.; Vickers, Mabel V.; Walker, Justin C. (October 1976), Standards for Computer Aided Manufacturing (Second Interim Report ed.), Office of Developmental Automation and Control Technology, Institute for Computer Sciences and Technology, National Bureau of Standards, Washington, DC, USA: Manufacturing Technology Division, Air Force Materials Laboratory, Wright-Patterson Air Force Base, Ohio 45433, NBSIR 76-1094, retrieved 2017-03-04
- ^EIA standard RS-232-C: Interface between Data Terminal Equipment and Data Communication Equipment Employing Serial Binary Data Interchange. Washington, USA: Electronic Industries Association, Engineering Department. 1969. OCLC38637094.
- ^'RS232 Tutorial on Data Interface and cables'. ARC Electronics. 2010. Retrieved 2011-07-28.
- ^'TIA Facts at a Glance'. About TIA. Telecommunications Industry Association. Retrieved 2011-07-28.
- ^S. Mackay, E. Wright, D. Reynders, J. Park, Practical Industrial Data Networks: Design, Installation, and Troubleshooting, Newnes, 2004 ISBN07506 5807X, pages 41-42
- ^Horowitz, Paul; Hill, Winfield (1989). The Art of Electronics (2nd ed.). Cambridge, England: Cambridge University Press. pp. 723–726. ISBN0-521-37095-7.
- ^PC 97 Hardware Design Guide. Redmond, Washington, USA: Microsoft Press. 1997. ISBN1-57231-381-1.
- ^Wilson, Michael R. (January 2000). 'TIA/EIA-422-B Overview'(PDF). Application Note 1031. National Semiconductor. Archived from the original(PDF) on 2010-01-06. Retrieved 2011-07-28.
- ^Lawrence, Tony (1992). 'Serial Wiring'. A. P. Lawrence. Retrieved 2011-07-28.
- ^Ögren, Joakim (2008-09-18). 'Serial (PC 25)'. Hardware Book. Retrieved 2011-07-28.
- ^Leedom, Casey (1990-02-20). 'Re: EIA-232 full duplex RTS/CTS flow control standard proposal'. Newsgroup: comp.dcom.modems. Usenet:49249@lll-winken.LLNL.GOV. Retrieved 2014-02-03.
Further reading[edit]
- Axelson, Jan (2007). Serial Port Complete: COM Ports, USB Virtual COM Ports, and Ports for Embedded Systems (2nd ed.). Lakeview Research. ISBN978-1-931-44806-2.
- Interface Circuits for TIA/EIA-232-F: Design Notes(PDF). Mixed-Signal Products. Texas Instruments. September 2002. SLLA037. Archived(PDF) from the original on 2017-03-05. Retrieved 2017-03-05.
- Fundamentals of RS–232 Serial Communications(PDF). Dallas Semiconductor. 1998-03-09. Application Note 83. Archived(PDF) from the original on 2017-03-05. Retrieved 2017-03-05.
- 'RS232C Standard'. Knowledgebase. National Instruments. Archived from the original on 2017-03-05. Retrieved 2017-03-05.
- ITU-T Recommendation V.24 - Data Communication over the telephone network - List of definitions for interchange circuits between data terminal equipment (DTE) and data circuit-terminating equipment (DCE). International Telecommunication Union (ITU-T). March 1993. Archived from the original on 2015-08-17. Retrieved 2017-03-05.
External links[edit]
- Media related to RS-232 at Wikimedia Commons
- Serial Programming:RS-232 Connections at Wikibooks
Null modem is a communication method to directly connect two DTEs (computer, terminal, printer, etc.) using an RS-232serial cable. The name stems from the historical use of RS-232 cables to connect two teleprinter devices or two modems in order to communicate with one another; null modem communication refers to using a crossed-over RS-232 cable to connect the teleprinters directly to one another without the modems. It is also used to serially connect a computer to a printer, since both are DTE, and is known as a Printer Cable.
The RS-232 standard is asymmetric as to the definitions of the two ends of the communications link, assuming that one end is a DTE and the other is a DCE, e.g. a modem. With a null modem connection the transmit and receive lines are crosslinked. Depending on the purpose, sometimes also one or more handshake lines are crosslinked. Several wiring layouts are in use because the null modem connection is not covered by the RS-232 standard.
- 2Cables and adapters
- 4Types of null modem
Origins[edit]
Originally, the RS-232 standard was developed and used for teleprinter machines which could communicate with each other over phone lines. Each teleprinter would be physically connected to its modem via an RS-232 connection and the modems could call each other to establish a remote connection between the teleprinters. If a user wished to connect two teleprinters directly without modems (null modem) then they would crosslink the connections. The term null modem may also refer to the cable or adapter itself as well as the connection method.[1] Null modem cables were a popular method for transferring data between the early personal computers from the 1980s to the early 1990s.
Cables and adapters[edit]
A null modem cable is a RS-232 serial cable where the transmit and receive lines are crosslinked. In some cables there are also handshake lines crosslinked. In many situations a straight-through serial cable is used, together with a null modem adapter. The adapter contains the necessary crosslinks between the signals.[2][3]
Wiring diagrams[edit]
Db9 Rs232 Cable Pinout
Below is a very common wiring diagram for a null modem cable to interconnect two DTEs (e.g. two PCs) providing full handshaking, which works with software relying on proper assertion of the Data Carrier Detect (DCD) signal:[2]
One side | Signal direction | Other side | |||||
---|---|---|---|---|---|---|---|
Signal and abbreviations | DB-25 pin | DE-9 pin | DE-9 pin | DB-25 pin | Signal | ||
Frame Ground | FG | 1 | N/A | Common | N/A | 1 | FG |
Transmitted Data | TxD, TD | 2 | 3 | → | 2 | 3 | RxD |
Received Data | RxD, RD | 3 | 2 | ← | 3 | 2 | TxD |
Request To Send | RTS | 4 | 7 | → | 8 | 5 | CTS |
Clear To Send | CTS | 5 | 8 | ← | 7 | 4 | RTS |
Signal Ground | SG | 7 | 5 | Common | 5 | 7 | SG |
Data Set Ready | DSR | 6 | 6 | ← | 4 | 20 | DTR |
Data Carrier Detect | DCD, CD | 8 | 1 | ||||
Data Terminal Ready | DTR | 20 | 4 | → | 1 | 8 | DCD |
6 | 6 | DSR |
Applications[edit]
The original application of a null modem was to connect two teleprinter terminals directly without using modems. As the RS-232 standard was adopted by other types of equipment, designers needed to decide whether their devices would have DTE-like or DCE-like interfaces. When an application required that two DTEs (or two DCEs) needed to communicate with each other, then a null modem was necessary.[4]
Null modems were commonly used for file transfer between computers, or remote operation. Under the Microsoft Windowsoperating system, the direct cable connection can be used over a null modem connection. The later versions of MS-DOS were shipped with the InterLnk program. Both pieces of software allow the mapping of a hard disk on one computer as a network drive on the other computer. No Ethernet hardware (such as a network interface card or a modem) is required for this.[5] On the Commodore Amiga system, a null modem connection was a common way of playing multiplayer games between two machines.
The popularity and availability of faster information exchange systems such as Ethernet made the use of null modem cables less common. In modern systems, such a cable can still be useful for kernel mode development, since it allows the user to remotely debug a kernel with a minimum of device drivers and code (a serial driver mainly consists of two FIFO buffers and an interrupt service routine). KGDB for Linux, ddb for BSD, and WinDbg or KD for Windows can be used to remotely debug systems, for example. This can also provide a serial console through which the in-kernel debugger can be dropped to in case of kernel panics, in which case the local monitor and keyboard may not be usable anymore (the GUI reserves those resources and dropping to the debugger in the case of a panic won't free them).
Another context where these cables can be useful is when administering 'headless' devices providing a serial administration console (i.e. managed switches, rackmount server units, and various embedded systems). An example of embedded systems that widely use null modems for remote monitoring include RTUs, device controllers, and smart sensing devices. These devices tend to reside in close proximity and lend themselves to short run serial communication through protocols such as DNP3, Modbus, and other IEC variants. The Electric, Oil, Gas, and Water Utilities are slow to respond to newer networking technologies which may be due to large investments in capital equipment that has useful service life measured in decades. Serial ports and null modem cables are still widely used in these industries with Ethernet just slowly becoming a widely available option.
Types of null modem[edit]
Connecting two DTE devices together requires a null modem that acts as a DCE between the devices by swapping the corresponding signals (TD-RD, DTR-DSR, and RTS-CTS). This can be done with a separate device and two cables, or using a cable wired to do this. If devices require Carrier Detect, it can be simulated by connecting DSR and DCD internally in the connector, thus obtaining CD from the remote DTR signal. One feature of the Yost standard is that a null modem cable is a 'rollover cable' that just reverses pins 1 through 8 on one end to 8 through 1 on the other end.[1]
No hardware handshaking[edit]
The simplest type of serial cable has no hardware handshaking. This cable has only the data and signal ground wires connected. All of the other pins have no connection. With this type of cable flow control has to be implemented in the software. The use of this cable is restricted to>
Because of the compatibility issues and potential problems with a simple null modem cable, a solution was developed to trick the software into thinking there was handshaking available. However, the cable pin out merely loops back, and does not physically support the hardware flow control.[1]
This cable could be used with more software but it had no actual enhancements over its predecessor. The software would work thinking it had hardware flow control but could suddenly stop when higher speeds were reached and with no identifiable reason.
Partial handshaking[edit]
In this cable the flow control lines are still looped back to the device. However, they are done so in a way that still permits Request To Send (RTS) and Clear To Send (CTS) flow control but has no actual functionality. The only way the flow control signal would reach the other device is if the opposite device checked for a Carrier Detect (CD) signal (at pin 1 on a DE-9 cable and pin 8 on a DB-25 cable). As a result, only specially designed software could make use of this partial handshaking. Software flow control still worked with this cable.[1]
Full handshaking[edit]
This cable is incompatible with the previous types of cables' hardware flow control, due to a crossing of its RTS/CTS pins. With suitable software, the cable is capable of much higher speeds than its predecessors. It also supports software flow control.[1]
Virtual null modem[edit]
A virtual null modem is a communication method to connect two computer applications directly using a virtual serial port. Unlike a null modem cable, a virtual null modem is a software solution which emulates a hardware null modem within the computer.[6][7] All features of a hardware null modem are available in a virtual null modem as well. There are some advantages to this:
- Higher transmission speed of serial data, limited only by computer performance and network speed
- Virtual connections over local network or Internet, mitigating cable length restrictions
- Virtually unlimited number of virtual connections
- No need for a serial cable
- The computer's physical serial ports remain free
For instance, DOSBox has allowed older DOS games to use virtual null modems.
Another common example consists of Unix pseudoterminals (pty) which present a standard tty interface to user applications, including virtual serial controls. Two such ptys may easily be linked together by an application to form a virtual null modem communication path.
See also[edit]
References[edit]
25 Pin Serial Cable Pinout
- ^ abcdefLammert Bies. 'RS232 serial null modem cable wiring and tutorial'. lammertbies.nl. Retrieved 2013-12-26.
- ^ ab'Null Modem'. nullmodem.com. 2008-11-07. Retrieved 2013-12-26.
- ^'Nullmodem (9-9) - HwB'. hardwarebook.info. 2006-12-27. Retrieved 2013-12-26.
- ^'ADTPro - ADTPro Serial Cabling'. sourceforge.net. 2011-01-25. Retrieved 2013-12-26.
- ^'MS-DOS External commands - INTERLNK'. angelfire.com. Retrieved 2013-12-26.
- ^'Null-modem emulator | Download Null-modem emulator software for free at'. sourceforge.net. Retrieved 2013-12-26.
- ^'BerliOS Developer: Project Summary - N8VB_vCOM Virtual Null Modem Cable'. berlios.de. 2005-07-15. Archived from the original on 2013-12-26. Retrieved 2013-12-26.