Scott Muellers Upgrading and Repairing Laptops, Second Edition
Although they were originally called PCMCIA Cards , after the second release of the specification in 1991, these cards are more accurately (and officially) called PC Cards instead. Still, to this day many people (including myself ) often call them PCMCIA Cards, even though that is no longer technically correct. Modern PC Cards support a variety of applications; the functionality that can be added to a system through PC Card technology is enormous . Virtually any type of interface or adapter that can be added to a desktop system via ISA (industry standard architecture) or PCI (peripheral component interconnect) bus cards can also be added to a laptop or notebook system via PC Cards. The PC Card slots found in laptop and notebook systems enable you to add USB ports, FireWire ports, serial (RS-232) ports, parallel ports, fax/modems, cellular modems, Parallel or Serial ATA ports, SCSI adapters, wireless or wired network interface adapters, 1.8-inch hard drives , TV tuners, sound cards, GPS (global positioning satellite) receivers, and many other types of devices to your system. If your computer has PC Card slots that conform to the standards developed by the PCMCIA, you can insert any type of PC Card (built to the same standard) into your machine and expect it to be recognized and usable. Although the original PC Card specification was only for memory cards, in fact that has turned out to be the least popular use, and almost nobody uses PCMCIA memory cards today (often called linear memory, to distinguish them from modern flash memory cards). The memory card function was designed at a time when the systems ran much slower, and it was thought that opening up a laptop to add chip-based memory would be too difficult. The idea was that you could insert a memory card into the system, thereby upgrading the memory in an extremely easy fashion. Compared to a standard SIMM (single inline memory module) or DIMM (dual inline memory module), the original PCMCIA memory cards were very expensive. They were also much slower. The original PC Card bus was based on the slow ISA bus and runs at only 10MHz, which was fast enough for systems back in 1990, but not fast enough for systems that followed. Most laptop manufacturers opted to use smaller and faster SO-DIMMs (small outline DIMMs) for adding memory to laptop systems instead. The SO-DIMMs were normally installed in sockets under a cover plate, and ran at the full speed of the memory bus in the system. PC Card Bus Types
PC Cards evolved into a method for adding the same level of expansion to portable systems that was already available on desktop systems. There are two bus standards for PC Cards: PC Card-16 (16-bit) and CardBus (32-bit). PC Card-16 runs at 10MHz and does 16-bit transfers, for a maximum throughput of 20MBps. It can be thought of as the mobile equivalent of the ancient ISA bus. CardBus runs at 33MHz and does 32-bit transfers, for a maximum throughput of 133MBps (same as PCI). It's essentially mobile PCI. Table 8.1 summarizes the differences between PC Card-16 and CardBus. Table 8.1. PC Card Bus Types
Although both PC Card-16 and CardBus cards use the same basic 68-pin connectors, they are actually slightly different in keying, such that a PC Card-16 card plugs into a CardBus slot, but a CardBus card does not plug into an older PC Card-16 slot. All CardBus slots are required to support PC Card-16 cards as well as CardBus cards. Virtually all 486 processor and most early Pentium processor “based notebooks include only PC Card-16 slots, whereas most systems based on mid-1996 and later Pentium or higher processors include CardBus slots. If a system has two slots, in some cases only one of them is CardBus capable. If you are unsure about what type of PC Card slots your laptop includes, check the specifications. If the specifications indicate that the slots support PCMCIA 2.x, then they support only PC Card-16 cards because CardBus is included in the 3.x and later standards only. Normally the specifications state that the slots are CardBus slots if they have that capability. CardBus cards include a metal shield with raised bumps around the 68-pin connector. The bumps are part of the keying that prevents them from being inserted into older PC Card 2.x slots. Because CardBus cards are based on PCI, they can share interrupts using PCI bus IRQ steering, unlike ISA-based PC Card-16 cards, which cannot share interrupts. PCI bus IRQ steering gives the operating system the flexibility to reprogram and share PCI IRQs when it rebalances Plug and Play resources. When PC Card-16 cards are used without shareable interrupts, the operating system may not be able to find enough free interrupts for all devices to work, and some may end up being disabled by the device manager. Most newer and faster PC Cards use the CardBus interface, which virtually all newer laptops support. Still, you should check to be sure your laptop does have CardBus support before purchasing CardBus cards. Depending on the card you purchase, you should look for CardBus-type cards as well. Cards supporting slower interfaces (such as modems, for example) are usually available in PC Card versions because they don't have a need for greater than 20MBps throughput. Still, because CardBus cards support PCI IRQ sharing, they have benefits beyond their higher throughput. For example, Adaptec makes two PC Card SCSI adapters, called the APA-1460 (PC Card-16) and the APA-1480 (CardBus). The 1460 is a Fast-SCSI adapter, whereas the 1480 is an Ultra-SCSI adapter with twice the speed of the 1460. The 1460 has only one advantage, and it will work in any system with a PC Card slot. The 1480 will work in CardBus slots, which would be found in most systems dating from mid-1996 to the present. Switching to the faster 1480 CardBus adapter cut my tape backup times in half, and it allows my SCSI CD-ROM drive to work at full speed. For most situations where you have a choice between a PC Card-16 and CardBus version of a card, you're best off going with the CardBus version. PC Card Physical Types
The PC Card standard also defines three physical types for PC Cards, which apply to either those using the PC Card-16 or CardBus interface. The three physical designs are shown in Table 8.2. Table 8.2. PC Card Physical Types
As you can see from the table, all the PC Cards have the same length and width; only the thickness varies. All the cards are physically backward compatible, which means that if a slot will fit a Type III card, then a Type II or Type I will fit as well. Slots that accept Type II cards will fit Type I cards, but not Type III cards. On rare occasions, you will see a Type I “only slot, which only accommodates Type I cards. Most systems incorporate two PC Card slots in a stacked arrangement. The upper slot can accommodate Type I or II cards, whereas the bottom slot can accommodate Type I, II, or III cards. Unfortunately, if a Type III card is used in the lower slot, it will physically encroach on the space for the upper slot, and it will not be possible to use the upper slot at all. Many newer laptops include only a single PC Card slot, which accommodates Type I, II, or III cards. Some multifunction network/modem cards have an extended portion with full- sized connectors, such that even though the card is technically a Type I or II card, the connector portion may preclude using the upper slot.
Note A Type IV PC Card, thicker still than the Type III, was proposed by Toshiba for higher-capacity PC Card “based hard drives. This card type was never recognized by the PCMCIA, however, and has rarely been implemented in actual systems or devices.
A PC Card usually has a sturdy metal case and is sealed, except for the interface to the PCMCIA adapter in the computer at one end, which consists of 68 tiny pinholes. The other end of the card might contain a connector for a cable leading to a telephone line, a network, or some other external device. Type I, Type II, and Type III PC Cards are compared to each other in Figure 8.1. Figure 8.1. PC Card Physical Types. One or two Type I or Type II PC Cards (upper center) can be inserted into most notebook computers (center), but only one Type III PC Card (upper right) can be used at a time (lower center).
The pinouts for the PC Card interfaces are shown in Table 8.3. Table 8.3. PC Card-16 and CardBus Pinouts
The later versions of the standard include many features designed to increase the speed and efficiency of the interface, including the following:
PC Card Software Support
PC Cards are by definition hot-swappable , meaning that with the proper software support you can remove a card from a slot and replace it with a different one without having to reboot the system. If your PC Card devices and operating system conform to the Plug and Play (PnP) standard, inserting a new card into the slot causes the appropriate drivers for the device to be loaded and configured automatically. To make this possible, two separate software layers are needed on the computer that provide the interface between the PCMCIA adapter (which controls the card slots) and the applications that use the services of the PC Card devices (see Figure 8.2). These two layers are called Socket Services and Card Services . A third module, called an enabler , actually configures the settings of the PC Cards. Figure 8.2. Card and Socket Services enable an operating system to recognize the PC Card inserted into a slot and configure the appropriate system hardware resources for the device.
Socket Services is a BIOS-level software layer that isolates PC Card software from the system hardware and detects the insertion and removal of PC Cards. Card Services manages the automatic allocation of system resources, such as memory and interrupts, once Socket Services detects that a card has been inserted. Socket Services
The PCMCIA chipset that provides the interface between the card slots and the rest of the computer is one of the only parts of the PCMCIA architecture not fully standardized. Many different chipsets are available to portable systems manufacturers; as a result, an application or operating system can't address the slot hardware directly, as it can a parallel or serial port. Most laptop systems include PC Card interface chipsets from Texas Instruments. Instead, a software layer called Socket Services is designed to address a specific make of PCMCIA adapter hardware. The Socket Services software layer isolates the proprietary aspects of the adapter from all the software operating above it. The communications between the driver and the adapter might be unique, but the other interface, between the Socket Services driver and the Card Services software, is defined by the PCMCIA standard. Socket Services can take the form of a device driver, a TSR (Terminate and Stay Resident) program run from the DOS prompt (or the AUTOEXEC.BAT file), or a service running on an operating system such as Windows 9x/Me or Windows NT/2000/XP. The services provided in Windows support the most common PC Card chipsets, including those from Texas Instruments. A computer can have PC Card slots with different adapters, as in the case of a docking station that provides extra slots in addition to those in the portable computer itself. In this case, the computer can run multiple Socket Services drivers, which all communicate with the same Card Services program. Card Services
The Card Services software communicates with Socket Services and is responsible for assigning the appropriate hardware resources to PC Cards. PC Cards are no different from other types of bus expansion cards, in that they require access to specific hardware resources to communicate with the computer's processor and memory subsystems. The PCMCIA standard requires that the computer be capable of assigning hardware resources to different devices as they are inserted into a slot. Card Services addresses this problem by maintaining a collection of various hardware resources that it allots to devices as necessary and reclaims as the devices are removed. If, for example, you have a system with two PC Card slots, the Card Services software might be configured to use two hardware interrupts, two I/O ports, and two memory addresses, regardless of whether any cards are in the slots at boot time. No other devices in the computer can use those interrupts. When cards are inserted, Card Services assigns configuration values for the settings requested by the devices, ensuring that the settings allotted to each card are unique. Card Services is not the equivalent of Plug and Play, although the two might seem similar. In fact, in Windows 9x/Me/2000/XP, Card Services obtains the hardware resources it assigns to PC Cards using Plug and Play. For other operating systems, the resources can be allotted to the Card Services program using a text file or command-line switches. In a non “Plug and Play system, you must configure the hardware resources assigned to Card Services with the same care you would configure an ISA board. Although Card Services won't allow two PC Cards to be assigned the same interrupt, nothing in the PCMCIA architecture prevents conflicts between the resources assigned to Card Services and those of other devices in the system. You can have multiple Socket Services drivers loaded on one system, but there can be only one Card Services program. Socket Services must always be loaded before Card Services. Normally both Socket and Card Services are built in to Windows. Enablers
In spite of their other capabilities, neither Socket Services nor Card Services is capable of actually configuring the hardware settings of PC Cards. This job is left to a software module called an enabler . The enabler receives the configuration settings assigned by Card Services and actually communicates with the PC Card hardware itself to set the appropriate values. This software is also included in Windows versions that support Plug and Play.
Note Windows 9x/Me or Windows 2000/XP are the preferred operating systems for running PC Card devices. The combination of their advanced memory management, Plug and Play capabilities, and the integration of the Card and Socket Services into the operating system makes the process of installing a PC Card (usually) as easy as inserting it into the slot. With Windows NT 4.0, for example, you must shut down the system and reboot to change the PC Card in a slot. What's more, it can be difficult to find Windows NT drivers for many of the PC Cards on the market. DOS has similar limitations and requires that specialized device drivers be loaded via the CONFIG.SYS and AUTOEXEC.BAT startup files.
If you are going to run PC Cards under DOS, you have to load the Socket Services, Card Services, and Enabler software separately. These are normally supplied by your laptop or notebook system manufacturer in a single package for supporting PC Cards under DOS. Once those files are installed, you still have to install the DOS-level driver for the cards you are using, which normally comes with the card or from the card manufacturer. NewCard
On February 19, 2003 the PCMCIA announced the development of a new specification, codenamed NEWCARD , that is designed to eventually replace existing PC Cards for portable systems. NEWCARD is based on PCI Express and features reduced sizes, increased speeds, and lower costs than existing PC Cards. Unlike PC Cards, NEWCARD is designed for both mobile and desktop PCs, potentially allowing the same devices to be plugged into and shared between mobile and desktop systems. Although the PCMCIA is leading the NEWCARD specification development effort, the Peripheral Component Interconnect-Special Interest Group (PCI-SIG), the USB Implementers Forum (USB-IF), and the PC Quality/Ease of Use Roundtable (an industry group that focuses on reducing end- user issues) are collaborating on the project. Intel and Microsoft are among those supporting development of the new standard, as are several other major players in the PC industry. Figure 8.3 shows a single-wide NEWCARD next to a quarter for a size comparison. Figure 8.3. Single-wide NEWCARD next to a quarter for size comparison.
NEWCARD offers several advantages over existing PC Cards:
NEWCARD cards will be available in two sizes: single-wide (SW) and double-wide (DW). Both feature a standard length and thickness, and they are differentiated only by the width of the card. Slots are expected to support either a single DW card or two SW cards. A system slot designed to support a DW card is expected to accommodate up to two SW cards. Because NEWCARD is based on PCI Express, availability of NEWCARD slots in systems depends on motherboard chipsets supporting PCI Express being available as well. The official NEWCARD specification is slated for release in late 2003, and products supporting NEWCARD are scheduled to appear in the second half of 2004. Note that NEWCARD is a codename and not the intended name of the technology, so the name will likely change when the standard is officially announced. |