Dual Smart Card Interface Simplifies Multicard Reader Designs

Dual Smart Card Interface Simplifies Multicard Reader Designs

著者の連絡先情報

Generic_Author_image

Steve Martin

Introduction

The LTC1955 dual smart card interface provides a complete and compact solution for multicard applications. The LTC1955 and five small capacitors are all that are needed to interface two card sockets to a host microcontroller. Designed to comply with all smart card standards, the LTC1955 can be used for full sized card sockets, smaller vendor card (simlock) sockets, or any combination of smart card and vendor card sockets.

Figure 1 shows the block diagram of the LTC1955, which operates from a battery or a regulated 3.3V supply. The internal charge pump delivers a boosted voltage to two on-chip low dropout regulators. The LDOs provide programmable 1.8V, 3V or 5V regulated outputs to each of the smart card sockets. Two unidirectional channels and one bi-directional communications channel provide the signal translation necessary to interface from a microcontroller at one supply voltage to the smart cards at another supply voltage. Smart card clock and reset control circuits provide the necessary logic functions to prevent glitches or other specification violations during activation or deactivation of the cards. A smart card detection circuit on each channel observes the state of a mechanical switch and delivers the information to the microcontroller after an appropriate debounce period has expired. A simple microprocessor-friendly serial port supplies the data for command and status control, thus minimizing wire count. Finally, the LTC1955 provides all fault detection and ESD protection necessary to comply with both EMV and ISO-7816-3 smart card standards. These include short circuit detection, smart card removal during a transaction, undervoltage and over-temperature faults. In the event of a fault condition, the smart card is properly deactivated and a fault output notifies the microcontroller.

Figure 1. LTC1955 Block diagram.

Serial Port

To simplify communication with multiple smart cards, the LTC1955 includes a serial port for control and status data. While command data is sent to the serial port, status data is returned simultaneously. By using a simple 4-wire interface, the LTC1955 is easily controlled by a microcontroller with a dedicated serial port or by bit manipulation of undedicated I/O pins. Since card sockets may be on a separate board from the microcontroller, it’s beneficial to keep the number of control and status wires to a minimum. By daisy-chaining several LTC1955s, it is possible to control six cards with the same four serial port wires.

Power Management Unit

In order to support 5V cards from a battery or 3.3V system supply, the LTC1955 includes a voltage doubling charge pump. The charge pump requires only one small flying capacitor, an input bypass capacitor and an output charge storage capacitor to provide step-up capability—no inductors or current sense resistors are necessary. Input sense circuitry determines how much input voltage is available (PVBatt and SVBatt) and determines whether the charge pump should step-up or step-down to provide the required voltage for both cards. For example, if the input supply voltage is 3.3V, and the required smart card voltage is 5V, the LTC1955 operates as a charge pump to deliver the higher voltage. Alternatively, if the input supply voltage is 4V, and the required smart card voltage is 3V or 1.8V, it automatically steps down for improved efficiency.

For maximum flexibility, the LTC1955 includes two low dropout regulators, one for each of the card channels. The LDOs can be independently programmed to 1.8V, 3V or 5V. The LDOs contain fault detection circuitry to determine if a fault, either undervoltage or overcurrent, occurs at the smart card’s VCC pin.

The entire LTC1955, including the power management circuitry, is designed to consume low power under light or no load conditions. With no load (e.g. one card powered in clock stop mode) the supply current is nominally only 250µA. This can result in considerable power savings in battery-powered applications. Furthermore the shutdown current is only a few microamperes.

To prevent high inrush current during turn-on, an automatic soft-start circuit ramps the charge pump output (CPO) voltage at a slow rate. Soft start circuits also slow the rise time of the VCC pins when a card socket is activated to avoid start up and interference issues with the charge pump. A status bit in the serial port tells the microcontroller when the output voltage has reached its final value. This signal also enables the communication channels thereby ensuring proper compliance with smart card standards. Figure 2 shows the card supply voltage ramp as well as the internal CARD READY signal indicating that the particular output has reached its final state.

Figure 2. Charge pump and LDO activation.

During smart card deactivation, either by user control or by automatic fault deactivation, the LTC1955 correctly sequences the smart card pins to 0V and discharges the smart card VCC pin in under 200µs. Rapid discharge is important to ensure that the card’s pins are completely collapsed before the smart card leaves the socket connector. This requirement is specified in various smart card standards.

Smart Card Communication and Control Pins

On the main smart card channel (Channel A) there are four unidirectional pins (CLKA, RSTA, C4A and C8A) and one bi-directional pin (I/OA) for communicating with the smart card. These pins connect directly to the smart card acceptor socket with little or no additional circuitry required.

The I/OA channel, which is an analog I2C-style input-output, provides level translation as well as short circuit protection. An analog technique is used on this channel to allow true full-duplex communication with the smart card. This is useful for card protocols that require data acknowledge or similar simultaneous “low” assertions.

To meet the stringent rise time requirements imposed by ISO-7816-3 while keeping power dissipation and VOL to a minimum, an accelerator circuit is built into each pull-up current source on this channel. Normally, a small current, ISTART, pulls each bidirectional pin to its respective power supply rail. An open-drain transistor can easily overcome ISTART whenever a low is being asserted. When the low is relinquished, ISTART slowly begins to charge the pin toward its rail again. An internal edge rate detection comparator notices that the node is moving upward and enables a large pull-up current source to assist. Once the larger current source begins to enhance the edge rate of the node, the decision to enhance is reinforced thereby providing a dynamic form of hysteresis. After the node has reached the power supply rail, the comparator resets and only ISTART is available again. Figure 3 shows the waveform of a bidirectional pin. The 10% to 90% rise time is on the order of 100ns. The DATA pin, which conveys the information to the microcontroller at the correct DC level, has an identical pull up circuit.

Figure 3. Data – I/O Channel.

Clock and Reset Channels

The clock channels of the LTC1955 provide the level shifted clock signal used by the smart card for synchronization. The clock channels are designed specifically for high speed and can faithfully transmit a 10MHz signal. They also have clock divider modes to be able to accommodate higher system clock speeds. Two clock inputs, SYNC and ASYNC, provide maximum flexibility by allowing the user to connect the cards to a free-running high-speed system clock for asynchronous applications or to an undedicated microcontroller output for synchronous card applications. Clock stop modes, both high and low, are available for power savings in battery applications. In synchronous card applications, either or both cards can be deselected and their clock pins will remain in their current states.

The Reset channels convey the microcontroller’s signal to the smart cards and can also be latched either high or low by selecting or deselecting one of the two card sockets.

Both the reset and clock channels are disabled and provide a valid low before the smart card supply voltage has reached its final value. Deactivation can be done manually or it can occur by a fault (e.g. short circuit on a smart card pin) or an undervoltage fault of the entire device. The deactivation sequencing is designed to meet applicable smart card standards.

Additional pins are included on channel A to accommodate older cards that used the C4 and C8 contact locations. These pins are unidirectional (output only) and are controlled by the same data input pin as the smart card I/O pins.

Smart Card Detection Channel

The LTC1955 incorporates a card detection solution that does not require additional de-bounce circuitry or software. This channel detects the presence of a smart card by forcing a small current and monitoring the voltage on a mechanical detection switch. Once a smart card is detected, the channel starts the de-bounce timer. The presence of a card is reported to the microcontroller only if the card has been present for a minimum of 20ms. The switch sense current is generated by the LTC1955 so no external components are required. Once a valid card indication occurs, the channel alerts the microcontroller by asserting the CARD READY bit in the serial port’s status output. On channel A, it is possible to determine the presence of a card by simply observing the state of the DOUT pin without running the serial port.

Fault Detection and Avoidance

Specifications relating to faults on the smart card pins are very stringent. For example, ISO7816-3 (section 1.4.8) specifies that the smart card socket must be capable of surviving a “metal plate” connecting between any or all contacts without damage. To accommodate these fault conditions, the LTC1955 uses voltage sensing on its low impedance pins to detect if that pin is being forced to an inappropriate level. For example, the voltage on the smart card supply pin, VCCX, is compared with an internal reference to determine if a short circuit exists. If a fault persists for a prescribed period, the LTC1955 automatically deactivates the respective smart card and asserts the FAULT output. A small timeout period prevents false errors from plaguing the microcontroller. The clock and reset channels respond to faults in a similar way. The digital levels on the outputs of these channels (CLKX and RSTX) are compared to those being presented at their input. If these signals differ for several microseconds then a fault is declared and the smart card is deactivated. Again, the FAULT output alerts the microcontroller that an electrical fault exists. In both cases, since the smart card becomes deactivated, there is no power available to deliver excessive current for a prolonged period.

The bi-directional pins on the smart card sides of the channels are protected against short circuits to the smart card supply voltage by means of a constant current pull down. Instead of a simple pull down transistor to transmit a low to the smart card, these channels use a current source implementation. The 5mA current source provides enough current to meet the edge rate and VOL requirements while limiting the current available during a fault. The available smart card standards specify that no more than 15mA flow during faults on these pins. Of course, short circuits to ground on these channels are indistinguishable from a normal signal and must be detected by the data error checking routines.

Conclusion

The LTC1955 provides all of the necessary level shifting and power circuitry to interface with two smart card sockets. To further reduce board level complexity, the part includes smart card detection channels with built-in debounce circuitry. A straightforward serial port helps reduce the number of wires to the smart card socket board and can easily be expanded to 4- or 6-card applications. Since the LTC1955 provides all of the necessary smart card interface functions, only bypass capacitors and one charge pump capacitor are required for operation. The operation of the LTC1955 is designed for simplicity, and to provide a nearly transparent path to the smart card. Nevertheless, when an electrical error condition occurs, the LTC1955 responds quickly by removing power to the smart card and alerting the microcontroller. The LTC1955 offers all of this functionality in a space saving low profile (0.75mm high) 5mm × 5mm QFN package.