scotsmist
SUPPORT

Technical Computer Peripherals Modem

The Modem

A modem allows a PC to connect to other computers and enables it to send and receive files of data over the telephone network. At one end it converts digital data into a series of analogue signals for transmission over telephone lines, at the other it does the opposite, converting an analogue signal into digital data.

Modems come in two types, internal, fitting into an expansion slot inside the PC's system case or external, connected to the PC via one of its serial ports (COM1 or COM2).

The process of converting digital computer data to an analog for is called modulation. Converting analog data to digital is called demodulation, which is why the device is called a modem.
Most modems, internal or external have their own built in speaker through which you can hear the modem dial a number and connect to a remote computer.

Modems go through three phases, power up which establish's a connection between the computer and the modem, ready mode at which time the modem will accept AT commands, which is a basic set of commands designed for modems, and data mode which is when the modem is communicating with another modem and is sending or receiving data.

An external modem comes in its own case and needs its own power supply, usually a transformer. PCMCIA modems and internal modems draw all the power they need directly from the computer.

The basic set of modem commands, the AT set, was originally developed by Hayes Microcomputer Products and has become the standard. Modems that support this set are known as 'Hayes Compatible'. All modem commands are prefixed by the letters AT which stands for attention.

Modems store their own data in the form of parameter settings that can be changed, in on board non-volitile memory. The AT command set allows parameters to be changed from the default settings and saved to memory so that every time the modem is turned on it will be custom initialised. In the data storage area are a number of registers that can hold a single number. These registers control aspects of the modems performance. Most communications software will do everything required to program the modem.

There are three types of AT commands. Immediate commands tell the modem to do something, such as answer the phone. Parameter commands use a number to set a particular parameter. All parameter commands have default numbers that are bulit into the modem. If you eneter a parameter command without a specifying a value, the default is used. Register commands set the values of the built in registers. There are many services in the AT command set, but not all manufacturers follow them exactly. The basic AT command set does not provide all the functionality required for high speed modems. Manufacturers have extended the command set but in a none standard way, each adding their own registers and new commands.

Communication speed is measured in terms of how fast data is transmitted and is expressed in BPS, or bits per second. Both modems must communicate at the same speed. An older term baud means the same thing, bits per second. The maximum transfer rate is specified as a baud rate. High speed modems express their baud rate in K, meaning kilobits, 1024 bits.
The maximum speed of a modem is determined by several factors, including transmission quality of the voice grade circuit, noise levels on the circuit, the quality of the modulation/demodualtion sceme and how well it can deal with transmission quality and noise.
One common myth is that the telephone lines are the major bottle neck due to the phone lines using unshielded copper wire. This isn't so as it is possible to transmit at over 100 megabits a second in a LAN environment and 1.544 megabits a second over several miles using such cable. The problem governing speed is at the exchange which switches analog voice signals to digital signals of 64 KBS which severly limits the maximum data rate achievable. ISDN networks overcome this problem by installing all digital switches that support both voice and data on the same line.

Data transmission on modems and telephone lines is not error free and depending on the quality of the line and associated noise levels, data can easily become garbled or even lost. Several error detection and correction protocols have been developed and implemented. Typically these protocols send blocks of data with overhead added to detect missing or corrupted blocks. The entire block is re-sent if an error is detected. Originally error correction was done in software using CRC (cyclic redundancy check), a checksum calculated and transmitted with each block. Now manufacturers include error detection and correction facilities on the modem. The world wide industry standard implemented on most modems is called V.42. This error correction and detection protocol is speed independent and can be used with all modem data transfer rates.

If the data to be transmitted is first compressed, substantial increases in speed can be obtained. Many data files are easily compressed. An industry standard protocol for compression was adopted called V.42bis which can achieve a compression ratio of up to 4:1 on certain data files and thus can speed transfer rates by up to four times.

Asynchronous data transmission is what the PC uses to communicate with the modem. To send 8 bits of data, 10 to 12 bits are transmitted. No timing information is sent with this data so it is up to each modem to determine the baud rate before transmission begins. Data is extracted from the asynchronous frame using a 16 to 32 times local clock to sample each data cell. Small errors in sample timing or data cell times gets accumulated over the frame. This makes asynchronous data difficult to properly recover at high speeds.
Synchronous data transmission provides better efficiency at high speeds. The modem generates a transmit and receive clock signal that is used to synchronise clock data bits in and out of the modem. One bit of data is transmitted on each clock cycle. To overcome the problem of sending the clock as an additional data stream and therefore consuming bandwidth a electrical circuit called a Phase Lock Loop looks at the encoded data and regenerates the original synchronous clock at the other end. If the stream contains long blocks of 0's or 1's the phase lock loop can not extract the data. This encoding is called Non Return to Zero (NRZ). NRZ sends a data state change every time a 0 or 1 is detected in the stream. It is difficult therfore to determine the data boundaries during data recovery unless data is sent in packets, defined by a flag, followed by a header field. Finally a block of data 256 bytes in length follows the header. A unique CRC is then sent at the end of each packet along with the end of packet flag. All in the overhead is far less with synchronous transfer than asynchronous. Data framing is called a Data Link Layer.

High speed digital network services, such as ISDN are synchronous networks. This is why it is the preferred medium for multimedia applications with audio and video. Clock synchronous data guarantees sustained data rates with low error rates and delay.

< Mouse Video Capture >

If you have a question that is not answered on any of our pages why not post it on our community forum

[Welcome] [About Us] [25 Pounds] [Search] [Downloads] [Email] [Site Map] [Forum]

Copyright © 1994-2002 scotsmist.co.uk