EIA (a short name for the RS-232 specification, which it is often called by) is the bit serial signalling scheme most commonly used for connecting terminals, modems and other low speed data entry equipment to computers. It is replacing an older and much less flexible scheme called 20 mA current loop. It is a voltage sensing system that uses signals ranging from positive 8-10 (logical zero, called mark) to negative 8-10 (logical one, called space) volts, and is suitable for a variety of signalling schemes such as synchronous or asynchronous, with or without external clocking, and includes features designed for modem control (which 20 mA lacked). It uses a standard connector (a 25 pin D connector) with a standard pinout. It has become common over the years to use this system for local connections as well, since to have only one scheme for data entry connections makes life much simpler, as well that fact that EIA has many technical advantages. The modem control features are obvious, but they can also be used, for example, for a computer to detect if local terminals are turned on. It can run at varying speeds without hardware modification; most 20 mA systems included filters which had to be changed as the baud rate was jacked up. It has been designed to be almost impervious to wiring errors; it is very hard to damage EIA interfaces. Finally, through the use of simple wiring adaptors any two EIA devices using a similar signalling scheme can be connected, which is what makes local use practical. 20 mA had an active and a passive end (usually terminal and computer), and connecting two like ends together required an active adaptor. Essentially the only use around the lab is for asynchronous internally clocked operation. In this scheme, the data line is kept in the spacing, or one condition, and when data is to be sent one bit of start (mark, or zero) is sent, followed by the data bits (from five to eight, least significant bit first, with data zero being logical zero), an optional parity bit (the parity may be even, odd, or unused), followed between one and two bits of stop (space, or one). The line may then return to idle or another start bit may appear. The two ends must agree on the baud rate to within some reasonable tolerance, and often the number of data bits and parity as well; synchronization is provided by the start bit. It was originally designed as a standard for the interconnection of modems and computers, and this fact is important to keep in mind if you wish to understand how it works. It assumed that every connection has two ends, a DCE (which stands for Data Communication Equipment) and a DTE (Data Terminal Equipment). All the signal names, as well as how they work, assumes this configuration. For example, a DTE (computer port) would connect to a DCE (modem), which would connect over terminal lines to another DCE (modem) and thence to a DTE (terminal). To operate two DTE's (or DCE's) in direct connection, an adaptor is needed which makes one of the devices look like the appropriate mate for the other one. In most cases a passive adaptor suffices, and usually many (if not all) of the special modem control lines may be ignored. The adaptor for two DTE's is called a null modem, for obvious reasons. Often, the adaptor function is built into the cable. In the original spec, it was laid down that ALL DCE equipment would have a female connector, and ALL DTE equipment would have a male. So a cable that includes a null modem would have two female (DCE) connectors. If this scheme were followed religously, then you could always tell what find of interface you had from the type of connector, and it would follow that if a cable were found that would connect two pieces of equipment, they should (modulo signalling scheme, speed and data format) be able to converse. Unfortunately, the world contains losers, and it is possible to find female connectors wired as DTE's, etc., so be wary. To discuss the signal lines, I will list the common ones and what they do (omitting ground, which is ubiquitous). Received Data is data from the DCE, and Transmitted Data is data to the DCE. Data Set Ready indicating that the DCE is online and in some sense (it varies from unit to unit) ready to operate. Data Terminal Ready is the same, but for the DTE; for example auto-answer modems sense this before deciding whether to answer a call. Ready To Send and Clear To Send are low level flow control; the first is a signal from the DTE indicating that it has data it wants to send, and the second is a signal from the DCE indicating that it is ready to accept data. Ring is a signal from the DCE, as is Carrier Detect; the function of both of these is obvious. The remainder have to do with things like external clocking and strange secondary data and exception channels. Most of the lines listed above are usually unused. Ring is little used now since most modems are auto answer. Carrier Detect is only of interest on lines that control modems (and sometimes not even there). The hardware flow control signals are almost never used, except to tie them on. The status lines are occasionally used to detect the liveness of the equipment on the other end, but in most local situations this is not important. Some computer ports do sense Data Set Ready, and will reset the line in software if it goes off (which is a good way to clear software hangs of various sorts); others sense it and turn the line off if it is not present, since it could indicate unplugged equipment, and long open EIA lines have a tendency to pick up noise that looks like data, presenting a unnecessary (and often heavy) load on the computer. In general, the only lines used are Ground and the two Data lines. The internal wiring of a null modem should now be obvious: one simply cross connects the Data lines, the Ready lines, and the Send lines, and ties each Carrier Detect to either Clear to Send or Data Set Ready. Often, one only needs to worry with the Data lines. A complete list of the EIA pinout (but beware of strange variations by manufacturers) is as follows: 1 Ground (GND) 2 Transmitted Data (TD) 3 Received Data (RD) 4 Request To Send (RTS) 5 Clear To Send (CTS) 6 Data Set Ready (DSR) 7 Ground 8 Carrier Detect (CARR, CD, CXR) 9 + Power 10 - Power 11 202 Secondary Transmit 12 202 Secondary Receive 13 Secondary Clear To Send 14 EIA Secondary Transmit 15 Serial Clock Transmit 16 EIA Secondary Receive 17 Serial Clock Receive 18 Unassigned 19 Secondary Request To Send 20 Data Terminal Ready 21 Signal Quality 22 Ring (RD, RING) 23 Signal Rate 24 External Clock 25 Force Busy