EDN logo


Design Feature: June 8, 1995

ICs and reference designs speed PC Card development

Gary Legg,
Executive Editor

Designing PC Cards (formerly known as PCMCIA cards) isn't as hard as you might think. Help is available from special PCMCIA ICs and from tried-and-proven reference designs. If you decide to forego these aids and design from scratch, you'll have a lot of learning to do.

Designing a PC Card is difficult. The PCMCIA bus is fairly complex, and the PCMCIA specification keeps evolving, so your design will probably have to work on a variety of incompatible systems. To complicate matters, you have to cram a lot of memory or peripheral functions into a package the size of a thick credit card. In addition, your card must be software configurable; switches and jumpers are verboten.

Designing a PC Card can be relatively easy, however. ICs with PCMCIA interfaces now implement all the necessary control, addressing, and data-movement functions between your card's circuitry and the PCMCIA bus. In addition, manufacturers of these ICs often provide PCMCIA reference designs that give you all the details of a working PC Card. You can use a reference design as is or customize it, sometimes saving months of design effort.

Chips available for PC Cards include general-purpose PCMCIA interface ICs and dedicated-function ICs (Table 1). General-purpose chips, available from Zilog, National Semiconductor, Oki Semiconductor, and Germany's Dr Neuhaus GmbH, link the PCMCIA bus to on-card memory or peripheral functions. The dedicated-function ICs provide the same PCMCIA interface in chips that perform specific functions. These ICs include flash-memory controllers, fax/modems, LAN controllers, disk controllers, and SCSI controllers.

thumbnail Available reference designs have varying levels of detail, ranging from application notes to literally everything you need to manufacture a card. They're available for PC Cards implementing flash-memory storage, Ethernet controllers, modems, SCSI connections, and small disk drives. Prices for reference designs vary widely, depending on level of detail and your manufacturing plans. You may have to pay a flat fee, royalties, or a combination.

If you choose not to use a reference design, you'll need to have a good understanding of the PCMCIA bus and the overall PCMCIA specification (Ref 1). This understanding is also helpful, of course, even if you do use a reference design. As a first step, you should learn the basics of the interface to the most basic PC Card, a memory card. This interface is a subset of the interface to the other type of PC Card-an I/O card-and must be part of either type of card. To the memory-card interface, the I/O interface adds I/O read and write strobes, an interrupt request, and a status-change indication.


Learn memory-card basics

A memory PC Card can contain a maximum of 64 Mbytes of memory, accessed via 26 address lines. (Existing PCMCIA socket-controller ICs in host computers allow only a 64-kbyte address space, however.) Memory can be of mixed types (flash and SRAM, for example), and a PC Card must allow both 8- and 16-bit memory accesses. A memory card may also need to provide write protection, possibly only to selected areas of memory. Guarding against unwanted write operations is a responsibility of the memory card, not the host system.

In addition to common (working) memory, a memory PC Card-or any PC Card-must contain a small amount of attribute memory. Attribute memory stores a Card Information Structure (CIS), which describes the card's characteristics and system requirements to host-system software (in modules called Card Services and Socket Services). A CIS can range in size from perhaps a dozen bytes to as much as 1 kbyte.

thumbnailthumbnail Attribute memory can be masked ROM, EEPROM, or RAM loaded from serial EEPROM. General-purpose PCMCIA interface ICs (Figs 1 and 2) contain on-chip RAM (typically 256 bytes, which is adequate for most applications) and a port to serial EEPROM. Although the PCMCIA spec allows parts of a CIS to be in common memory, using volatile common memory for this purpose involves some risk. If the memory becomes corrupted, a host system can misidentify a card and possibly damage it. Using EEPROM provides the additional capability of altering the CIS if necessary.


Moving up to I/O cards

I/O PC Cards can have three address spaces instead of a memory card's two, adding I/O space to common-memory space and attribute-memory space. Like a memory card, an I/O card contains attribute memory for a CIS, and each I/O card must duplicate a memory card's memory interface to allow attribute-memory access. However, because most I/O cards have no need for common memory, a typical I/O card has only an I/O address space and an attribute-memory address space.

On power-up or reset, an I/O card must appear to its host system as a memory card. (This requirement enables early PCMCIA systems, designed only for memory-card use, to identify and gracefully reject I/O cards.) However, the card's CIS-loaded from serial EEPROM into a PCMCIA interface chip's attribute memory-identifies the card to the host as an I/O card. After the host reads the CIS and identifies the card as an I/O type, Card Services software reconfigures the card for I/O mode. Part of the reconfiguration from memory card to I/O card involves redefining certain card pins to account for differences between memory and I/O functions.

Configuration of a PC Card occurs by setting bits and fields in function configuration registers (FCRs). Information in the 8-bit FCRs specifies, for example, an I/O or a memory card, the card's I/O address, 8- or 16-bit interface, and level or pulse-mode interrupts. A very basic I/O card may require only one FCR; cards with additional features require more. PCMCIA ICs typically have four FCRs, a number adequate for most applications. Access to the FCRs is through attribute-memory space.

FCRs appear in the latest release of the PCMCIA spec in place of earlier releases' card configuration registers (CCRs). Because earlier releases provided for only one function per card, one set of CCRs was adequate. However, the new release provides for multiple functions per card, and thus requires multiple sets of configuration registers with a new name.

In keeping with the predominance of single-function PC Cards, most PCMCIA interface ICs have one set of FCRs, allowing configuration of one on-card function. National Semiconductor's PCM16C00, the only multifunction PCMCIA interface IC, provides two FCR sets and allows two on-card functions. The chip likewise contains additional required multifunction features, such as the ability to use only one interrupt line for the interrupts from two devices.

Each I/O PC Card must be able to generate either pulsed or level-mode interrupts. The PCMCIA spec allows both, and the host system specifies which type it expects to see. Fortunately, ICs with a PCMCIA interface provide the type of interrupt the host requested.

In addition to sharing an interrupt line, multiple functions on an I/O card require other multifunction capabilities. For example, each function must have separate attribute memory (for an individual CIS) and separate FCRs. Although these features are present in National's PCMCIA interface IC, hardware features are only part of multifunction requirements. Host-resident Card Services software must determine, for example, which function is interrupting and then service that particular interrupt.

Unfortunately, the large installed base of computers with PCMCIA slots does not make use of multifunction-capable Card Services and Socket Services software. As a result, you'll likely have to provide special software to work around this lack if you're designing a multifunction card. Similarly, direct-memory access (DMA) is new to the PCMCIA spec, so if you include DMA in a design, you may also want to include programmed I/O for compatibility with most existing systems.

thumbnail In general, compatibility will be your greatest concern in designing a PC Card. You'll have to plan for systems that don't adhere to the latest release of the PCMCIA spec (or perhaps to any release), can't provide enough power for your card, have addressing limitations, and more (see box, "Avoiding the "gotchas" of PC Card design").

LOOKING AHEAD

A huge consumer market for PC Cards hasn't developed yet, but the market is growing-and others are starting to develop. Fax/modem cards and LAN adapter cards have been the biggest sellers so far, and now combination SCSI/sound cards seem to have bright prospects. With the price of flash memory decreasing rapidly, disk-emulating flash cards should also do well.

PC Cards are also starting to move beyond laptop computers. Many desktop computers now contain PC Card slots, allowing the sharing of memory and peripheral cards with portable computers. PC Cards are even turning portable computers into instruments. Data-acquisition PC Cards, for example, are now abundant.

PC Card ICs are even finding applications other than in PC Cards. In embedded-control applications, for example, these chips sometimes go directly on a small, custom-designed motherboard. And in handheld portable terminals, PC Card chips sometimes implement the built-in equivalent of a PC Card in less space needed for a PC Card and socket. A built-in flash-memory "disk" drive is one example of PC Card technology that benefits both application areas.

As designers implement features defined in the newly updated PCMCIA specification, called PC Card 95, the capabilities of PC Cards will increase. This new release formalizes and standardizes features-among them, multifunction cards and direct-memory access (DMA)-that previously existed only in ad hoc, proprietary card implementations. The new release also defines an expanded 32-bit PCMCIA bus, known as CardBus, and both low-voltage and multiple-voltage cards.

For now, most PCMCIA ICs satisfy only the older PCMCIA specification, Release 2.1. However, new chips introduced this year likely will adhere to the new spec. Most manufacturers that sell PCMCIA chips have been involved in revising the PCMCIA specification and thus are in a position to quickly implement the latest release's new provisions.


Help from reference designs

To avoid many compatibility problems and other technical snags, you can turn to IC manufacturers' PC Card reference designs for help. These tried-and-tested designs give you the benefit of other designers' experience and can sometimes save you months of effort. Reference designs are available for PC Cards implementing flash-memory storage, Ethernet controllers, modems, SCSI connections, and small disk drives.

What you get in a reference design varies greatly from vendor to vendor. At the high end, you get everything you need to manufacture a PC Card. Zilog's reference design for a PCMCIA-to-SCSI adapter card, for example, includes all production files and documentation: Gerber files, netlist, schematic, bill of materials, and object-code software drivers. At the other extreme, a reference design may be more like an evaluation kit.

If you're not ready to commit to an up-front licensing fee for a reference design, evaluation kits offer a compromise approach to speeding the design process. These kits lack manufacturing data, but they contain all the hardware and software for you to become familiar with a reference design. Zilog's Z8601700ZCO PCMCIA-to-SCSI kit, for example, contains a PCMCIA Type II card, all necessary ICs, adapter cable, and software documentation. The kit sells for $220.

To design an Ethernet PC Card, you can use a reference design from National Semiconductor, Standard Microsystems Corp (SMC), or perhaps other companies. National's design uses the NE2000 (St Nic) chip; SMC's design uses the SMC91C92 or SMC91C94. National sells a design license for less than $1000; SMC, however, did not provide pricing information for inclusion in this article.

National's <$1000, one-time price for a reference design is an exception to the usual royalty and/or fee plan. National's kit includes all the hardware for one Ethernet PC Card in addition to software and everything you need to produce the card, such as layout information. All you have to do is determine the network certification you want (Novell, for example), conduct whatever testing is necessary (FCC tests, for example), and possibly customize the software to add value to your product.

For disk-emulating flash-memory PC Cards, you can turn to Cirrus Logic for either a reference design or OEM cards produced from the design. The design is based on Cirrus's new CL-FC1120 PCMCIA flash-memory controller. It yields Type I PC Cards with capacities from 4 to 8 Mbytes or Type II cards with 16 or 20 Mbytes. The controller enables emulation of an ATA disk drive and includes special features, such as wear leveling, to account for flash memory's unique characteristics.


Build or buy?

If you don't expect to need enormous quantities of flash-disk cards, buying Cirrus's OEM cards may make more sense than licensing a reference design. The reference design, Cirrus says, is more appropriate if you can provide your own high-volume, low-cost manufacturing. A 4-Mbyte OEM card from Cirrus costs $140 (1000); licensing and royalty fees for reference designs vary with each situation but usually are geared toward large-volume chip purchases. Cirrus also provides reference designs for fax/modem cards and hard-disk cards.

Reference designs aren't the only help available from IC manufacturers. Short of reference designs, there are development kits, application notes, and, of course, helpful application engineers. So, if you haven't yet discovered a reference design that ideally suits your needs, don't despair. Look for an IC that meets your needs, and then learn what help its manufacturer can provide.

Other aspects of PC Card design you should consider include programmable logic, software, components, and packaging. Programmable logic can be an alternative to PCMCIA interface chips, especially with appropriate application notes from PLD and FPGA manufacturers. PCMCIA system software is complicated and bewildering, but, fortunately, reference designs provide some guidance through the maze. Components and packaging are a special issue in PC Card design, because of the very small, thin cards involved. Look for more on packaging issues in the next issue of EDN. EDN


You can reach Executive Editor Gary Legg at (617) 558-4404, fax (617) 558-4470, or via the Internet at gary.legg.@edn.cahners.com.


References

1. PC Card 95 (PCMCIA specification), PCMCIA, Sunnyvale, CA, 1995.

2. Mori, Michael T, and F Dean Welder, The PCMCIA Developer's Guide, Second Edition, Sycard Technology, Sunnyvale, CA, 1995.

3. Legg, Gary, "Buy this book!" (review of The PCMCIA Developer's Guide, First Edition), EDN, May 26, 1994, pg 130.


Acknowledgment

The PCMCIA Developer's Guide, Second Edition (Ref 2), by Michael T Mori and F Dean Welder, provided a great deal of useful PCMCIA-design information for this article. Mike Mori was also helpful in answering technical questions.


Manufacturers of PCMCIA products
When you contact any of the following manufacturers directly, please let them know you read about their products at the EDN Magazine WWW site.
Adaptec
Milpitas, CA
(800) 959-7274
Cirrus Logic
Fremont, CA
(510) 226-2147
Dr Neuhaus GmbH
Germany
(49) 40-55304
Fujitsu Micro- electronics
San Jose, CA
(408) 456-1260
Motorola
Austin, TX
(512) 891-2429 (for 68356)
(512) 891-6082 (for 68PM302)
National Semiconductor
Santa Clara, CA
(800) 272-9959
Oki Semiconductor
Sunnyvale, CA
(800) 654-6388
PCMCIA
Sunnyvale, CA
(408) 720-0107
Silicon Systems
Tustin, CA
(800) 624-8999, ext 151
Standard Microsystems Corp
Hauppauge, NY
(800) 443-7364
Sycard Technology
Sunnyvale, CA
(408) 749-0130
Symbios Logic Inc
Colorado Springs, CO
(800) 334-5454
Texas Instruments
Dallas, TX
(800) 477-8924, ext 4500
Zilog
Campbell, CA
(408) 370-8357


Table 1 -- Representative ICs for PC Card design
ManufacturerPart no.DescriptionPrice
AdaptecAIC-6360SCSI controller$11 (10,000)
Cirrus LogicCL-MD1414UNP
CL-FC1120
V.32bis modem
ATA controller (flash)
$50 (1000)
$35 (1000)
Dr NeuhausDNE 5001PCMCIA interfaceNA*
FujitsuMB86966Ethernet controller$13 (10,000)
Motorola68PM302
68356
V.32 modem
V.32 modem with DSP
$17.50 (10,000)
$64.95 (10,000)
NationalPCM16C00
DP83902/
DP83926
PCMCIA interface
Ethernet controller chip set
$15 (1000)
$22 (10,000)
OkiMSM60801PCMCIA interface$5.75 (10,000)
Silicon Systems78Q8373Ethernet controller$14.44 (5000)
SMCSMC91C94Ethernet controller$15 (1000)
Symbios LogicSYM53C500SCSI controller$16.30 (1000)
Texas InstrumentsTL16PC564APZUART for modem$11.20 (1000)
ZilogZ86017PCMCIA interface$4.40 (100,000)


Avoiding the "gotchas" of PC Card design

You have completed the design of your PC Card. You've followed the specifications to the letter. Your card should work in any system, right? Maybe. Compatibility problems can occur in any number of places. Here are some possibilities.

Hardware

Limited power from host-The host system may not be able to handle your card's power requirements. PC Card support software can determine from the CIS if the host can support a card's power requirements.

Card's in-rush current-In-rush current may cause voltage droop, causing the host system or your card to reset or crash. The PC Card 95 specification states that a card cannot draw more than 70 mA during CIS read.

Address limitations-Some systems don't adhere to the Exchangeable Card Architecture (ExCA) specification, which originated at Intel and is now part of the PC Card spec. Consequently, they don't support the full 64-Mbyte address space of the PC Card standard.

Vpp limitations-Host systems implement Vpp control in several different ways. Some systems don't support independent Vpp control or don't support all three Vpp levels (0, 5, and 12V).

8-bit common memory-Support of 8-bit-wide common memory is not part of the PC Card standard, but it is part of the ExCA specification. Systems not compliant with ExCA may not support 8-bit-wide memory.

Cycle timing-Vendors of add-in PCMCIA host-adapter cards may add wait states to stretch PC Card cycles to accommodate long cable extensions. Some cycle times are as long as 4 to 6 µsec. Host software has no way of knowing cycle times except by observing reduced data-transfer performance.

Socket controller violation of timing spec-Some host controllers violate the PC Card timing specification. Intel's 82365SL, for example, violates the I/O write-data-setup specification. You must be aware of the various available socket controllers and carefully study their timing diagrams.

Power management-Host systems that implement suspend mode may remove power to the PC Card socket. When it restores power to the socket, the card will reset to the default memory mode. Unless the card's software driver or Card Services software is aware of this event, the application that uses the card will not be able to use the card's resources.

Socket controller resource limitation-A standard socket-controller architecture supports two I/O windows per socket. Multiple-function cards with fixed I/O resources should limit the number of separate I/O spaces to two.

Software

Wrong Socket Services-Slight differences exist in socket-controller ICs, and the host system may not be running the correct Socket Services for the IC in use. Behavior observed with this situation includes incompatible access timing, Vpp problems, and 3/5V problems.

CIS incompatibility-Your card's CIS may be incompatible with generic card-enabler software installed in the system.

I/O and memory windows-Your PC Card may require an I/O or memory window address that is unavailable in the host system. For most ExCA-compatible systems, this isn't a problem. You're most likely to experience it on PDAs and other non-PC systems.

Reset incompatibility-Host software may use different ways to reset a card, including power cycling, hardware reset, or software reset. Problems are more likely on PDAs than on ExCA systems.

Interference between two I/O clients-Software supplied by a card vendor may interfere with a generic enabler client.

Interference between two memory clients-Software supplied by a card vendor may interfere with a generic memory client.

Missing card interrupt-See Ref 2 for details.

Missing status-change interrupt-See Ref 2 for details.

Differences between specifications

Multiple-function extension-Multiple functions defined by PC Card 95 require Socket Services and Card Services that support the interrupt-sharing protocol. Special driver software is necessary in systems based on Release 2.1.

Low-voltage support-Most systems based on Release 2.1 do not support 3.3V operation. Those systems that do may not support voltage-sense pins.

Client drivers-Client drivers designed to the PC Card 95 spec may not work with Release 2.1 Card Services.

DMA-capable cards-Cards with DMA as the only method of data transfer will not be compatible with many Release 2.1 hosts. Dual-mode cards that support both PC Card 95 and an emulated DMA (through a buffer) may solve the problem.

This material is adapted with permission from The PCMCIA Developer's Guide, Second Edition, by Michael T Mori and W Dean Welder. This recently revised book is an excellent introduction to PCMCIA design and is available from Sycard Technology for $89.95. To contact Sycard, see box, "For more information ..." For a review of the first edition of this book, see Ref 3.


| EDN Access | feedback | subscribe to EDN! |
| design features | design ideas | columnist |


Copyright © 1995 EDN Magazine. EDN is a registered trademark of Reed Properties Inc, used under license.