As
illustrated in Figure 2, todays smart card controller
typically includes an 8-bit CPU, 128780 bytes
of RAM, 420 KB of ROM, 116 KB of EEPROM
on a single die, and (optionally) an on-chip hardware
encryption module.
|

(Click
here to enlarge)
|
Figure
2At a minimum, the standard smartcard microcontroller
contains a CPU and blocks of memory including
RAM, ROM, and some sort of nonvolatile memory
(usually EEPROM). |
The
EEPROM is ideal for this application since the stored
data usually changes over the cards lifetime
or is unique to the card, such as a card identification
number, a PIN (personal identification number), authorization
levels, cash balances, credit limits, and so on.
This
year, improvements to the controller include advanced
RISC cores and increases in memory sizes to 32 KB
of ROM or EEPROM.
Memory-management
units are included on devices that support multiapplication
cards. Encryption and decryption hardware accelerators
support additional algorithms with 1024 and larger
key lengths.
Although
it functions like a typical micro with instruction-set
compatibility, the smart-card controller is fundamentally
different because its primarily designed for
security. For instance, if you compare smart cards
using the Motorola 68HC05 with its nonsmart-card Motorola
counterparts, several differences become clear.
Most
obvious is the smart cards single memory-mapped
I/O. There are only five standard ISO-defined pinouts
on a smart card: I/O, Clock, Power, Ground, Reset.
The
smart card uses only onboard memory with relatively
large amounts of nonvolatile memory. EEPROM programming
is accomplished by an on-chip charge pump so it is
controlled by the CPU and not accessible directly
by external command. It appears stripped down compared
to a nonsmart-card device since it contains no additional
peripherals (e.g., ADC, PWMs, serial or parallel interfaces).
To
increase mechanical robustness, smart-card devices
are constrained by die size and use very dense memory
elements. Devices for contactless cards use a microcontroller
with analog circuitry that conditions the data and
information transmitted over the interface. The card
includes capacitive plates or a coil for coupling
with the reader (see Figure 3).
|

(Click
here to enlarge)
|
Figure 3Devices for contactless cards
involed a microcontroller with analog circuitry
that conditions the data and information transmitted
over the interface while the card includes capacitive
plates or a coil for coupling with the reader. |