In computing, an expansion card, expansion board, adapter card or accessory card is a printed circuit board that can be inserted into an electrical connector, or expansion slot, on a computer motherboard, backplane or riser card to add functionality to a computer system via the expansion bus.
An expansion bus is a computer bus which moves information between the internal hardware of a computer system (including the CPU and RAM) and peripheral devices. It is a collection of wires and protocols that allows for the expansion of a computer.
Even vacuum-tube based computers had modular construction, but individual functions for peripheral devices filled a cabinet, not just a printed circuit board. Processor, memory and I/O cards became feasible with the development of integrated circuits. Expansion cards allowed a processor system to be adapted to the needs of the user, allowing variations in the type of devices connected, additions to memory, or optional features to the central processor (such as a floating point unit). Minicomputers, starting with the PDP-8, were made of multiple cards, all powered by and communicating through a passive backplane.
The first commercial microcomputer to feature expansion slots was the Micral N, in 1973. The first company to establish a de facto standard was Altair with the Altair 8800, developed 1974–1975, which later became a multi-manufacturer standard, the S-100 bus. Many of these computers were also passive backplane designs, where all elements of the computer, (processor, memory, and I/O) plugged into a card cage which passively distributed signals and power between the cards.
IBM PC and descendantsEdit
IBM introduced what would retroactively be called the Industry Standard Architecture (ISA) bus with the IBM PC in 1981. At that time, the technology was called the PC bus. The IBM XT, introduced in 1983, used the same bus (with slight exception). The 8-bit PC and XT bus was extended with the introduction of the IBM AT in 1984. This used a second connector for extending the address and data bus over the XT, but was backward compatible; 8-bit cards were still usable in the AT 16-bit slots. Industry Standard Architecture (ISA) became the designation for the IBM AT bus after other types were developed. Users of the ISA bus had to have in-depth knowledge of the hardware they were adding to properly connect the devices, since memory addresses, I/O port addresses, and DMA channels had to be configured by switches or jumpers on the card to match the settings in driver software.
IBM's MCA bus, developed for the PS/2 in 1987, was a competitor to ISA, also their design, but fell out of favor due to the ISA's industry-wide acceptance and IBM's licensing of MCA. EISA, the 32-bit extended version of ISA championed by Compaq, was used on some PC motherboards until 1997, when Microsoft declared it a "legacy" subsystem in the PC 97 industry white-paper. Proprietary local buses (q.v. Compaq) and then the VESA Local Bus Standard, were late 1980s expansion buses that were tied but not exclusive to the 80386 and 80486 CPU bus. The PC/104 bus is an embedded bus that copies the ISA bus.
Intel launched their PCI bus chipsets along with the P5-based Pentium CPUs in 1993. The PCI bus was introduced in 1991 as a replacement for ISA. The standard (now at version 3.0) is found on PC motherboards to this day. The PCI standard supports bus bridging: as many as ten daisy chained PCI buses have been tested. Cardbus, using the PCMCIA connector, is a PCI format that attaches peripherals to the Host PCI Bus via PCI to PCI Bridge. Cardbus is being supplanted by ExpressCard format.
Intel introduced the AGP bus in 1997 as a dedicated video acceleration solution. AGP devices are logically attached to the PCI bus over a PCI-to-PCI bridge. Though termed a bus, AGP usually supports only a single card at a time (Legacy BIOS support issues). From 2005 PCI-Express has been replacing both PCI and AGP. This standard, approved[Like whom?] in 2004, implements the logical PCI protocol over a serial communication interface. PC/104(-Plus) or Mini PCI are often added for expansion on small form factor boards such as Mini-ITX.
For their 1000 EX and 1000 HX models, Tandy Computer designed the PLUS expansion interface, an adaptation of the XT-bus supporting cards of a smaller form factor. Because it is electrically compatible with the XT bus (a.k.a. 8-bit ISA or XT-ISA), a passive adapter can be made to connect XT cards to a PLUS expansion connector. Another feature of PLUS cards is that they are stackable. Another bus that offered stackable expansion modules was the "sidecar" bus used by the IBM PCjr. This may have been electrically comparable to the XT bus; it most certainly had some similarities since both essentially exposed the 8088 CPU's address and data buses, with some buffering and latching, the addition of interrupts and DMA provided by Intel add-on chips, and a few system fault detection lines (Power Good, Memory Check, I/O Channel Check). Again, PCjr sidecars are not technically expansion cards, but expansion modules, with the only difference being that the sidecar is an expansion card enclosed in a plastic box (with holes exposing the connectors).
Most other computer lines, including those from Apple Inc. (Apple II, Macintosh), Tandy, Commodore, Amiga, and Atari, offered their own expansion buses. The Amiga used Zorro II. Apple used a proprietary system with seven 50-pin-slots for Apple II peripheral cards, then later used the NuBus for its Macintosh series until 1995, when they switched to a PCI Bus. Generally, PCI expansion cards will function on any CPU platform if there is a software driver for that type. PCI video cards and other cards that contain a BIOS are problematic, although video cards conforming to VESA Standards may be used for secondary monitors. DEC Alpha, IBM PowerPC, and NEC MIPS workstations used PCI bus connectors. Both Zorro II and NuBus were plug and play, requiring no hardware configuration by the user.
Even many video game consoles, such as the Sega Genesis, included expansion buses; at least in the case of the Genesis, the expansion bus was proprietary, and in fact the cartridge slots of many cartridge based consoles (not including the Atari 2600) would qualify as expansion buses, as they exposed both read and write capabilities of the system's internal bus. However, the expansion modules attached to these interfaces, though functionally the same as expansion cards, are not technically expansion cards, due to their physical form.
External expansion busesEdit
Laptops generally are unable to accept most expansion cards. Several compact expansion standards were developed. The original PC Card expansion card standard is essentially a compact version of the ISA bus. The CardBus expansion card standard is an evolution of the PC card standard to make it into a compact version of the PCI bus. The original ExpressCard standard acts like it is either a USB 2.0 peripheral or a PCI Express 1.x x1 device. ExpressCard 2.0 adds SuperSpeed USB as another type of interface the card can use. Unfortunately, CardBus and ExpressCard are vulnerable to DMA attack unless the laptop has an IOMMU that is configured to thwart these attacks.
The primary purpose of an expansion card is to provide or expand on features not offered by the motherboard. For example, the original IBM PC did not have on-board graphics or hard drive capability. In that case, a graphics card and an ST-506 hard disk controller card provided graphics capability and hard drive interface respectively. Some single-board computers made no provision for expansion cards, and may only have provided IC sockets on the board for limited changes or customization. Since reliable multi-pin connectors are relatively costly, some mass-market systems such as home computers had no expansion slots and instead used a card-edge connector at the edge of the main board, putting the costly matching socket into the cost of the peripheral device.
In the case of expansion of on-board capability, a motherboard may provide a single serial RS232 port or Ethernet port. An expansion card can be installed to offer multiple RS232 ports or multiple and higher bandwidth Ethernet ports. In this case, the motherboard provides basic functionality but the expansion card offers additional or enhanced ports.
One edge of the expansion card holds the contacts (the edge connector or pin header) that fit into the slot. They establish the electrical contact between the electronics on the card and on the motherboard. Peripheral expansion cards generally have connectors for external cables. In the PC-compatible personal computer, these connectors were located in the support bracket at the back of the cabinet. Industrial backplane systems had connectors mounted on the top edge of the card, opposite to the backplane pins.
Depending on the form factor of the motherboard and case, around one to seven expansion cards can be added to a computer system. 19 or more expansion cards can be installed in backplane systems. When many expansion cards are added to a system, total power consumption and heat dissipation become limiting factors. Some expansion cards take up more than one slot space. For example, many graphics cards on the market as of 2010 are dual slot graphics cards, using the second slot as a place to put an active heat sink with a fan.
Some cards are "low-profile" cards, meaning that they are shorter than standard cards and will fit in a lower height computer chassis. (There is a "low profile PCI card" standard that specifies a much smaller bracket and board area). The group of expansion cards that are used for external connectivity, such as network, SAN or modem cards, are commonly referred to as input/output cards (or I/O cards).
A daughterboard, daughtercard, mezzanine board or piggyback board is an expansion card that attaches to a system directly. Daughterboards often have plugs, sockets, pins or other attachments for other boards. Daughterboards often have only internal connections within a computer or other electronic devices, and usually access the motherboard directly rather than through a computer bus.
Daughterboards are sometimes used in computers in order to allow for expansion cards to fit parallel to the motherboard, usually to maintain a small form factor. This form are also called riser cards, or risers. Daughterboards are also sometimes used to expand the basic functionality of an electronic device, such as when a certain model has features added to it and is released as a new or separate model. Rather than redesigning the first model completely, a daughterboard may be added to a special connector on the main board. These usually fit on top of and parallel to the board, separated by spacers or standoffs, and are sometimes called mezzanine cards due to being stacked like the mezzanine of a theatre. Wavetable cards (sample-based synthesis cards) are often mounted on sound cards in this manner.
Some mezzanine card interface standards include the 400 pin FPGA Mezzanine Card (FMC); the 172 pin High Speed Mezzanine Card (HSMC); the PCI Mezzanine Card (PMC); XMC mezzanines; the Advanced Mezzanine Card; IndustryPacks (VITA 4), the GreenSpring Computers Mezzanine modules; etc.
Examples of daughterboard-style expansion cards include:
- Enhanced Graphics Adapter piggyback board, adds memory beyond 64 KB, up to 256 KB
- Expanded memory piggyback board, adds additional memory to some EMS and EEMS boards
- ADD daughterboard
- RAID daughterboard
- Network interface controller (NIC) daughterboard
- CPU Socket daughterboard
- Bluetooth daughterboard
- Modem daughterboard
- AD/DA/DIO daughter-card
- Communication daughterboard (CDC)
- Server Management daughterboard (SMDC)
- Serial ATA connector daughterboard
- Robotic daughterboard
- Access control List daughterboard
- Arduino "shield" daughterboards
- Beaglebone "cape" daughterboard
- Raspberry Pi "HAT add-on board"
- Network Daughterboard (NDB). Commonly integrates: bus interfaces logic, LLC, PHY and Magnetics onto a single board.
- PCI Extended (PCI-X)
- PCI Express (PCIe)
- Accelerated Graphics Port (AGP)
- Conventional PCI (PCI)
- Industry Standard Architecture (ISA)
- Micro Channel architecture (MCA)
- VESA Local Bus (VLB)
- CardBus/PC card/PCMCIA (for notebook computers)
- ExpressCard (for notebook computers)
- Audio/modem riser (AMR)
- Communications and networking riser (CNR)
- CompactFlash (for handheld computers and high speed cameras and camcorders)
- SBus (1990s SPARC-based Sun computers)
- Zorro (Commodore Amiga)
- NuBus (Apple Macintosh)
- "What is expansion bus". Webopedia.
- "MB-54VP". ArtOfHacking.com. Retrieved 2012-11-17.
- "NX586". ArtOfHacking.com. Retrieved 2012-11-17.
- "LEOPARD 486SLC2 REV. B". ArtOfHacking.com. Retrieved 2012-11-17.
- "Motherboards". Artofhacking.com. Retrieved 2012-11-17.
- "PCI Mechanical Working Group ECN: Low Profile PCI Card" (PDF). Pcisig.com. Retrieved 2012-11-17.
- IEEE Std. 100 Authoritative Dictionary of IEEE Standards Terms, Seventh Edition, IEEE, 2000,ISBN 0-7381-2601-2, page 284
- Jens Kröger. "Data Transmission at High Rates via Kapton Flexprints for the Mu3e Experiment". 2014. p. 43 to 44.
- Altera. "High Speed Mezzanine Card (HSMC) Specification". p. 2-3.
- Market Looks to EGA as De Facto Standard, InfoWorld, Aug 19, 1985
- Product Comparison: 16-Bit EMS Memory, InfoWorld, Sep 7, 1987
- "Add-on boards and HATs". GitHub. Raspberry Pi Foundation. Retrieved 19 June 2020.