Understanding PC Card, PCMCIA, Cardbus, 16-bit, 32-bit

CESD-H-0037

Applies To:

  • Windows CE 1.0, 1.01
  • Windows CE 2.0
  • Handheld PC Professional
  • HPC2000
  • Windows CE .net 4.0, 4.1, 4.2
  • Windows CE 5.0
  • Windows CE 6.0

Overview:

This article outlines the differences between the use of 16-bit and 32-bit when used in conjunction with PC Card, PCMCIA or Cardbus and their subsequent relationships with the Handheld PC.


More Info:

The credit card sized peripheral accessory form factor is one familiar to most Handheld PC users. To the original specification, such peripherals offered a range of hardware accessories at a time where Compact Flash hardware and later SD based hardware were in their infancy.

Despite looking similar, not all credit card devices are built using the same fundamental hardware concepts, and as such offer different levels of functionality and performance to different devices.

There are three terms that underpin the specification, and often cause confusion to users of any platform. These are

  • PC Card
  • PCMCIA
  • Cardbus

 

Background

Originally released in June 1990, PCMCIA 1.0 (then meaning Peripheral Component MicroChannel Interconnect Architecture) was an attempt to release an international version of the well established Japanese memory card JEDIA 4.0 (Japan Electronic Industries Development Association) specification and architecture.

In September 1991, the competing JEDIA and PCMCIA standards were formally merged into the PCMCIA 2.0 (technically JEIDA 4.1) specification. Version 2.0 of the PCMCIA specification extended the format beyond being just a memory card technology, adding input/output capabilities; paving the way for modem, network and other such hardware to make use of the form factor.
At this time the standards body, known as PCMCIA itself, and short for Personal Computer Memory Card International Association became the synonymous definition for ‘PCMCIA’.

In November 1992 the specification was refreshed to PCMCIA 2.01, adding Advanced Technology Attachment capabilities or ATA. ATA provides a storage medium with a dedicated, on-chip controller and is best known under its associated Hard Drive name ‘IDE’. In essence, it enabled the PCMCIA specification to operate in a similar way to a hard drive. PCMCIA Type III form factor device were also standardised with the specification release.*

The final revision of PCMCIA came in July 1993, with the release of the 2.1 specification. The specification improved system integration services and the electrical / physical capabilities of the devices.

Marketing ultimately stepped in the way of the PCMCIA brand at this juncture, and 19 months later in February 1995, the name was replaced with a more use friendly, less technological name – PC Card.

The 1995 PC Card standard revolutionised the specification with a push towards providing a peripheral connectivity standard for mobile devices that was designed to rival the effectiveness of the established 33MHz PCI (Peripheral Connect Interface) from desktop and server systems.
The PC Card specification added:

  • 32-bit Bus Mastering Capabilities (what we call Cardbus)
  • 3.3 volt card operation (low voltage devices, making the technology viable for the H/PC)
  • Advanced Power Management support
  • Direct Memory Access support (Cardbus)
  • Multi-function device capabilities (Combinational Modem & Ethernet for example)

The last major modification to the PC Card standard came in March 1997. Zoomed Video capabilities for communication with video graphics adapters were added along with further power management enhancements. By far the most significant extension to the specification in 1997 however, was the addition of hot dock/undock support as a formal part of the specification through software control – although in reality many manufacturers had made use of proprietary hot-eject methods for years.

* Do not confuse the specification version (1.0, 2.0, 2.01 etc) with the device profile Type (Type I, II, III)

 

PC Card & PCMCIA

PCMCIA and PC Card are often used as interchangeable terms, and as such it often causes confusion. It is therefore important to clarify

PC Card and PCMCIA are the same technology under different names

The name change can ostensively be considered as the PCMCIA 3.0 technical specification. Generally speaking, if an individual was introduced to the connectivity method before the 1995 name change, they will refer to it as PCMCIA, otherwise you will likely hear PC Card. The use of either term is perfectly valid and can be interchangeable.

In a purely colloquial sense when someone refers to PC Card or PCMCIA they mean:

  • A Physical Type 1, 2 or 3 card
  • That is a 16-bit device
  • And Does Not implement DMA or Bus Mastering

A PC Card can be low power, can support a full power management set, make use of ATA and can be (but isn’t usually) multi-function.

 

Cardbus

Cardbus is where confusion is often generated when referring to credit card size connectivity devices. When a device is Cardbus it is electronically different from a lower bit-rate credit card device even though it looks almost identical. It requires more advanced hardware capabilities from its host to support its function and an overall more power computer system to support it.

Colloquially when someone refers to Cardbus they mean:

  • A Physical Type 2 or 3 card
  • That is a 32-bit device
  • and implements DMA or Bus Mastering

A PCMCIA or PC Card device can be used in a card slot compatible with Cardbus, however despite the cosmetic similarities a Cardbus device cannot be used in an older 16-bit slot under any circumstance. The literal wiring necessary to transport the extra data between the processor and the card is absent and no facilities exists to move that data directly between the device and the system memory (Bus Mastering).

 

Differentiating between PC Card and Cardbus

Despite their similar dimensions, Cardbus and PC Card devices are not identical. Even if the accessories are not ladled there are two key distinguishing differences.

1. 32-bit Cardbus devices have a golden, ridged band on the dorsal surface next to the pin connector housing. 16-bit devices do not.

Photograph demonstrating the ridge differences between 16-bit and 32-bit Cards

2. When viewed in profile, and looking at the pin housing a Cardbus device has a less pronounced notch along the on the right hand edge.

Photograph demonstrating the difference between the slot modules on 16-bit and 32-bit cards

The different notch type is designed to prevent a user from inserting a 32-bit card into a 16-bit slot as it is possible to physically damage the card and card slot from the incorrect use of such devices. The physical distinction does, however pose problems for Windows CE users.

 

Windows CE, the Handheld PC and Cardbus

Windows CE the Operating System has natively supported non-removable 32-bit hardware since the release of Windows CE 4.2 (See MSDN). With the release of Windows CE 5.0 and above support was added for the inclusion of hot-pluggable (ejectable) devices.

No Handheld PC platform release is capable of supporting a Cardbus device, however uses need to be cautious because Handheld PC devices do not ship with 16-bit limited card slots. This means that 32-bit devices can be inserted into the slots which could potentially result in damage to your hardware.

 

Technical Argument

We are often asked why manufacturers sell Cardbus devices as PC Card or PCMCIA devices, without informing users of the difference in device type.

Broadly speaking, ignorance of the true nature of the difference is likely a key factor. Any card slot manufactured since the PC Card specification was released – almost a decade ago – will be fully compatible with any credit card device of any specification. Most manufacturers and retailers did not consider or are not concerned with the PDA market and so have no reason to consider what is largely an issue of semantics in the 21st Century.

A colloquial distinction has been generated which has defined PC Card as being a 16-bit device, and a Cardbus device as being a 32-bit device.
On a technical understanding, this is incorrect.

PC Card is the overruling hardware name for both 16-bit and 32-bit devices - the generic credit card form factor vs. any bus or electrical specification difference. Cardbus is exclusively an optional subset of the PC Card specification. Cardbus does not have to be implemented by a device manufacturer, and is only done so where performance capabilities matching those of a PCI peripheral are required.

Therefore, from an academic perspective the marketing use of ‘PC Card’ in reference to 32-bit devices is accurate, although as a direct result of the supervening social necessity for clarification, the colloquial distinctions are preferred.