Softmodem
From Wikipedia, the free encyclopedia
A Softmodem, or software modem, is a modem with minimal hardware capacities, designed to use a host computer's resources (mostly CPU power and RAM but sometimes even audio hardware) to perform most of the tasks performed by dedicated hardware in a traditional modem.
They are also referred to as a Winmodem because the first commercially available softmodems mostly targeted the Microsoft Windows operating system running on IBM-PC compatibles. Although their usage has become more widespread over other operating systems and machines e.g. embedded systems and Linux, they are still difficult to use on operating systems besides Windows due to lack of vendor support and lack of a standard device interface. The term "Winmodem" is a trademark of U.S. Robotics but it is usually used to describe other modems with similar technologies.
Contents |
[edit] Evolution and technology
As PSTN modem technology advanced, the modulation and encoding schemes became more and more complex, thus making the hardware used by the modems themselves increase in complexity.
In fact, the first generations of modems (including acoustic couplers) and their protocols used relatively simple modulation techniques such as FSK or ASK at low speeds and with inefficient use of the telephone line's bandwidth. Under these conditions, modems could be built even with the analog discrete component technology still used during the late 70s and early 80s.
As more sophisticated transmission schemes were devised, the circuits grew in complexity, mixing analog with digital parts and eventually incorporating multiple ICs such as logical gates, PLL's and microcontrollers, while the techniques used in modern v34, v90 and v92 protocols (like 1024-QAM) are so complex that implementing a modem supporting them with discrete components or general purpose IC's would be very impractical, and a dedicated DSP or ASIC is used instead, effectively turning the modem into a special embedded system, a dedicated computer in its own right.
Furthermore, improved compression and error corrections schemes were introduced in the newest protocols, requiring some processing power by the modem itself and which made, de-facto, the construction of a mainly analog/discrete component modem impossible, especially when trying to achieve compatibility with older protocols using completely different modulation schemes.
This also meant that modems supporting those standards were becoming steadily more complex and expensive themselves, not to mention the existence of several conflicting standards in the early days of the various 33.6K (v34) and 56K protocols, which led to incompatibilities and the construction of modems with upgradeable firmware, which did all of the processing via a programmable DSP.
This is where software based modems really kicked in, offering (or claiming to offer) the same functionality as a (relatively expensive) hardware modem at a fraction of the price and (theoretically) unlimited upgradeability although they would require significant advances in home PC's CPU power in order to really compete with hardware modems in terms of performance and reliability.
[edit] Advantages
Having most of the modulation functions delegated to software does serve to provide the advantage of easier upgradability to newer modem standards. However, this is hardly an advantage as of 2005, with the latest V.92 56K protocol practically bearing the maximum achievable performance for a normal PSTN modem and telephone line and no significant future improvements/advancements seeming possible. Nevertheless this is not yet the case with the more recent software-based DSL modems, whose easy upgradeability can still be an advantage, DSL being a younger technology. This doesn't mean however that softmodems can be "upgraded" to support DSL, since DSL uses frequencies beyond the 300-3400 Hz telephone band where the hardware part of softmodems is designed to operate.
More commonly however, softmodem drivers are usually enhanced in regard to their performance and to eliminate possible software bugs.
A more practical advantage of softmodems is given by the considerable reductions in production costs, component count, size, weight and power requirements compared to a "true" hardware modem, whether external or internal, to the point that most portable computer systems' (including high-end laptops and PDAs) integrated modems are softmodems, due to the single-chip design (or physical size) of most softmodems.
Because they do so little by themselves, a computer program could use a Softmodem as something other than a modem; for example, it could emulate an answering machine or a signal generator.
In addition, most PC serial ports, the traditional interface for external hardware modems, are limited to 115,200 bits per second by UART limitations, though some ports are capable of 230,400 bit/s. V.92 modems with V.44 compression can have an effective throughput of up to 300,000 bit/s.[1] Since a V.92 hardware modem performs V.44 compression internally, the speed of a serial port can limit a hardware modem's overall speed; this is not an issue for softmodems since the host PC performs V.44 compression and emulates the serial port. Thus, V.92/V.44 softmodems are potentially capable of outperforming hardware modems. [2]
[edit] Disadvantages
Winmodems have earned a certain notoriety for slowing down their host computer systems and for having buggy drivers. Although this reputation was largely garnered during the period of their introduction to the mass-market, whereupon they were apt to use substandard drivers, and be found in entry-level computers with slow CPUs. Any such reputation has not, however, halted their market popularity, and it is typical for most internal 56k-modems produced since 1998 to be software-based.
Their most serious drawback is that they cannot always be used on other operating systems and host machines because the driver support requires far more effort to produce (they are, in fact, operating system and machine dependent).
In addition, they consume some CPU cycles on the computer to which they are attached, which can slow down application software on older computers. (They are sometimes referred to as a "port-on-a-stick.")
The advantage of software upgradeability is diminished when many newer 'hardware modems', which also have the ability to upgrade firmware to support new standards, though limited by the capability for the modem's processors and memory capacity. Modems such as those made by U.S. Robotics used generic digital signal processors architecture, which achieves the flexibility of softmodems, without sacrificing compatibility.
[edit] Categories
Softmodems can be separated into two clear classes: controllerless modems and pure software modems. Controllerless modems, such as those made by Lucent and Motorola, perform much of the modem work on the card, and require only small amounts of CPU power to complete. Conexant's HCF standard also falls into the controllerless category. Pure software modems perform the entire emulation of a hardware modem on the main CPU, with Conexant's HSF standard being the most common.
U.S. Robotics literature presently uses "Winmodem" for controllerless modems, and "Softmodem" for pure software modems. [3]
Another way of classifying softmodems is by means of their communication interface with the host computer: on desktop systems the most common option is an internal PCI or ISA expansion card, which can be easily be told apart from an internal "hardware" modem by the significantly reduced size and component count.
Softmodems can also be integrated in MiniPCI and PC cards for use in a portable computer, such as a laptop or palmtop computer, or connected via USB.
[edit] DSL softmodems
Although the term has historically been used to indicate the traditional "analog" PSTN software modems, there are some software-based DSL modems or even routers, which work on the same principles as their PSTN ancestors, only on a larger bandwidth and on a more complex signal. One of the first software based DSL modem chipsets was Motorola's SoftDSL chipset, for which similar considerations as "ordinary" PSTN modems can be made. The term WinDSL has shown up on technology sites like Slashdot regarding this trend [4]. DSL softmodems generally require the same interfaces as PSTN softmodems, such as USB or PCI.
However, the increasing popularity of home networking limited the prospects for DSL softmodems. Many households and small businesses have a router connected to the DSL modem, and all their computers are connected by various types of wired or wireless networks to that router. For that reason, most broadband modems today (cable as well as DSL) are external devices with either Ethernet connections for single PCs or routers, or built-in routers of their own; these interfaces require a full-hardware implementation. Most current broadband modems with USB jacks also have Ethernet jacks, and thus are full-hardware modems.
[edit] General description
Often, the term "Winmodem" or "softmodem" is used in a derogatory manner, as opposed to hardware or "real" modems. The argument is that a softmodem isn't a real modem at all, but rather a simple electrical interface between computer and phone line, limiting itself to very basic functions such as voltage/current adaptation and functioning essentially as a DAC/ADC, much like a sound card which handles pure PCM and analog signals from and to the telephone line, while the host's CPU does the actual job of synthesizing or analyzing all necessary waveforms (carrier, dialing tones) and applying all necessary DSP techniques (FSK, QAM, PSK etc.) to a "virtual" signal, in order to encode and decode inbound or outbound data.
This means that at least the simplest softmodem is nothing more than a special purpose sound card with mono DAC/ADC's and a telephone line interface, while all actual signal encoding/decoding (as well as compression/decompression, error correction etc.) is done by the host machine, hence the terms HAM (Host Assisted Modulation) or HSP (Host Signal Processing). Many of the latest softmodem chipsets, e.g., the Intel Ambient, are even built around a standard AC'97 audio codec interface.
[edit] Software & Soundcard projects
The first softmodem-related announcements were made by Motorola, Intel and other companies, back in 1997, claiming that an ordinary sound card and some CPU power would be enough to emulate the functionality of an actual modem, although "sound card telephone adapters" and related software was never released or at least never caught on.
Reasons for that might have been the lack of standardized and fully functional audio card standards by 1997 (AC'97 was not standardized yet, and most sound cards were partially functioning "Soundblaster clones" which lacked even full duplex capabilities) and the lack of CPU power on entry-level PC's.
The approach of using a standard sound card was used by an experimental open-source 96 kbit/s leased-line softmodem called AuDSL in 1999.
[edit] Winmodem as a brand name
"Winmodem" is a U.S. Robotics brand name, but the term has now come to mean any software-based modem, in the same way that Xerox refers to any copy machine in some parts of the world. As of 2007, U.S. Robotics no longer uses "Winmodem" as a brand of modem [5]. Instead, they use the term generically for modems that are controllerless but retain all other modem functions in hardware; this happens to include all of their current branded modems that are not full-hardware modems [6]. This should not be seen as legal abandonment of the "Winmodem" brand name.
The term linmodem is often used to denote a winmodem with support for Linux. It should also be noted that Lucent used the name "Win Modem" for certain controllerless chipsets.
[edit] See also
[edit] External links
- A review of the differences between software-based modems and hardware-based modems
- A collection of resources for using Winmodems under Linux
- A Linmodems support page
- Linmodem-HOWTO (dated 2001)
- Lucent / Agere Winmodem driver software for Linux
- AuDSL, an open source DSL Software modem project
- Modems and their chipsets lists