基于CoolRunner-II的Smart Card读卡器ACOS1设计与实现

1 下载量 78 浏览量 更新于2024-08-29 收藏 330KB PDF 举报
本文档详细介绍了如何设计一个使用CoolRunner-II器件的Smart Card读卡器,特别针对Advanced Card System (ACS)的ACOS1卡。ACOS1是一种集成微处理器的智能卡,其存储的信息结构包括姓名、性别、状态、年龄和银行交易记录,其中性别、状态和年龄共享同一记录,以便于数据整合。 设计的关键在于采用T=0协议,该协议在复位应答阶段不包含TCK字符,整个过程共涉及19个字节的数据,其中包括历史字符。设计者采取简单策略,通过对接收到的字节计数来识别有效数据,因为该设计不涉及复杂的检验位处理或分支操作,因此仅限于与ACOS1卡兼容。 文章的核心部分是Smart Card Control模块,如图1所示的控制逻辑框图和图2的状态机示例。当智能卡插入卡适配器时,状态机被激活,遵循ISO 7816-3标准进行操作。系统设置Reset引脚为高,保持在等待状态(WaitState),直到检测到卡发出的TS(数据传输起始)信号。 波特率计数器(BaudRateCounter)对位宽进行精确控制,无论是接收还是发送,其计数值固定为372位,以实现同步数据传输。接收数据时,一旦计数值达到186,即对应于接收位的中心位置,开始采样数据。 计数器BitCounter用于跟踪发送或接收字符的位数,而ByteCounter则负责统计字节数,这对于确定数据读取周期或发送命令周期的结束至关重要。当ACOS1卡完成19个复位应答字符的接收后,状态机会切换到SendCommand状态,此时SmartCard控制器准备发送命令,进一步与卡片交互。 本设计实例展示了利用CoolRunner-II器件实现的Smart Card读卡器,强调了对特定智能卡类型(如ACOS1)的兼容性和高效数据处理策略。通过理解并应用这些设计原则和技术细节,开发者能够构建出功能可靠且性能优化的智能卡读卡器系统。