利用低成本的MCU的UART驱动智能卡
时间:05-04
来源:中电网
点击:
在银行、身份识别和电信市场中,对安全和增强的功能性不断增长的需要,增加了全球范围智能卡的使用。另一方面,这也使得对安全性较低的磁条卡的使用量下降。
然而,所需的基于智能卡系统中,适当的通信系统的硬件和固件开发,给设计师带来了新的挑战。不幸的是,只有一些高档微控制器具有可以直接驱动智能卡的专用UART。里所述的设计,可以让你采用低端8位微控制器上标准的UART来驱动智能卡,本文采用的MCU为Atmel公司的AVRATmega168。
智能卡只有一条与外界通信的路径,即标记的(labeled)I/O,所以它被用作一种数据输入输出信号的双向信号。该信号必须与UART的传输和接收信号的接收信号RxD和TxD分别组成列队。因为RxD是输入信号而TxD是输出信号, 必须用1Ω电阻将它们连接到智能卡I/O线以避免线连接(见图).
在固件方面,设计一定要实现从智能卡接收和向智能卡传送数据的特定程序。一方面,接收来自智能卡一个字节,系统必须中止(disable)UART的发射机单元,这也还是为了以避免线连接。
另一方面,向智能卡传送一个字,固件必须中止(disable)UART的接收单元以避免接收回声特性。然而,它必须等直到字节传输结束,以避免错误字节的接收。这样,你可以采用电子信号和传输协议ISO 7816-3中智能卡标准第3部分所描述的T=0的协议,与智能卡往复交流信息。
为了完全符合描述智能卡通信协议的标准,设计必须实现ISO7816-3标准中所定义的奇偶校验误差探测和重传机制。
- WinCE串口驱动分析(04-11)
- 基于单片机通用引脚的软件UART设计(10-16)
- 基于DSP Builder的FIR滤波器的设计与实现(08-04)
- TMS320C54X DSP实现UART的技术(03-02)
- DSP芯片基于SCl6C750B的RS232接口设计(03-18)
- 基于Lua脚本语言的嵌入式UART通信的实现(04-05)