PC Cards (PCMCIA)


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. However, to this day many people (including myself) still 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 ran 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 SODIMMs (small outline DIMMs) for adding memory to laptop systems instead. The SODIMMs 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.2 summarizes the differences between PC Card-16 and CardBus.

Table 8.2. PC Card Bus Types

Feature

PC Card-16

CardBus

Voltage

5V/3.3V

3.3V

Design

ISA

PCI

Interrupts

Non-Shareable

Shareable

Speed

10MHz

33MHz

Data width

8/16-bit

32-bit

Transfer rate

20MBps

133MBps


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 processorbased 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 5.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 in which 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.3.

Table 8.3. PC Card Physical Types

PC Card Sizes

Length

Width

Thickness

Volume

Type I

54.0mm (2.13in)

85.6mm (3.37in)

3.3mm (0.13in)

15.25cc (0.93ci)

Type II

54.0mm (2.13in)

85.6mm (3.37in)

5.0mm (0.20in)

23.11cc (1.41ci)

Type II

54.0mm (2.13in)

85.6mm (3.37in)

10.5mm (0.41in)

48.54cc (2.96ci)


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 Ionly slot, which accommodates only 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 Cardbased 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.4.

Table 8.4. PC Card-16 and CardBus Pinouts

Pin

PC Card-16

CardBus

1

GND

GND

2

D3

CAD0

3

D4

CAD1

4

D5

CAD3

5

D6

CAD5

6

D7

CAD7

7

-CE1

CC/-BE0

8

A10

CAD9

9

-OE

CAD11

10

A11

CAD12

11

A9

CAD14

12

A8

CC/-BE1

13

A13

CPAR

14

A14

-CPERR

15

-WE

-CGNT

16

READY/-IREQ

-CINT

17

Vcc

Vcc

18

Vpp/Vcore

Vpp/Vcore

19

A16

CCLK

20

A15

-CIRDY

21

A12

CC/-BE2

22

A7

CAD18

23

A6

CAD20

24

A5

CAD21

25

A4

CAD22

26

A3

CAD23

27

A2

CAD24

28

A1

CAD25

29

A0

CAD26

30

D0

CAD27

31

D1

CAD29

32

D2

RFU

33

WP(-IOIS16)

-CCLKRUN

34

GND

GND

35

GND

GND

36

-CD1

-CCD1

37

D11

CAD2

38

D12

CAD4

39

D13

CAD6

40

D14

RFU

41

D15

CAD8

42

-CE2

CAD10

43

-VS1

CVS1

44

-IORD/RFU

CAD13

45

-IOWR/RFU

CAD15

46

A17

CAD16

47

A18

RFU

48

A19

-CBLOCK

49

A20

-CSTOP

50

A21

-CDEVSEL

51

Vcc

Vcc

52

Vpp/Vcore

Vpp/Vcore

53

A22

-CTRDY

54

A23

-CFRAME

55

A24

CAD17

56

A25

CAD19

57

-VS2

CVS2

58

RESET

-CRST

59

-WAIT

-CSERR

60

-INPACK/RFU

-CREQ

61

-REG

CC/-BE3

62

BVD2(-SPKR)

CAUDIO

63

BVD1(-STSCHG/-RI)

CSTSCHG

64

D8

CAD28

65

D9

CAD30

66

D10

CAD31

67

-CD2

-CCD2

68

GND

GND


The later versions of the standard include many features designed to increase the speed and efficiency of the interface, including the following:

  • 5V or 3.3V operation PC Card-16 cards can operate at 3.3V or 5V, depending on the card. Cards that run on the lower voltage use less power and save battery life. All CardBus cards use 3.3V.

  • Support for the ACPI (Advanced Configuration and Power Interface) and APM (Advanced Power Management) power-saving protocols This support allows cards to be moved into various power-conserving states, as well as powered off.

  • Plug and Play (PnP) support PnP allows the operating system to configure the cards, thus eliminating conflicts with other devices.

  • PC Card ATA standard This standard allows manufacturers to use the AT Attachment protocols to implement PC Card hard disk drives or flash memorybased solid-state drives.

  • Support for multiple functions on a single card This support allows multiple devices to coexist, such as a modem and a network adapter.

  • Zoomed video (ZV) This is a direct video bus connection between the PC Card adapter and the system's graphics controller. It allows high-speed video displays for videoconferencing applications, TV tuners, and MPEG decoders.

  • Thermal ratings system This system allows software to detect excessive heat conditions, which can be used to warn users.

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 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, after 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 nonPlug 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 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. They are normally supplied by your laptop or notebook system manufacturer in a single package for supporting PC Cards under DOS. After 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.




Upgrading and Repairing Laptops
Scott Muellers Upgrading and Repairing Laptops, Second Edition
ISBN: 0789733765
EAN: 2147483647
Year: 2005
Pages: 180
Authors: Scott Mueller

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net