基于CoolRunner-II的Smart Card读卡器ACOS1设计与实现
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)的兼容性和高效数据处理策略。通过理解并应用这些设计原则和技术细节,开发者能够构建出功能可靠且性能优化的智能卡读卡器系统。
2020-11-17 上传
2020-11-17 上传
2020-11-17 上传
2023-08-16 上传
2023-04-19 上传
2023-06-12 上传
2024-07-05 上传
2023-06-09 上传
2023-07-27 上传
weixin_38536841
- 粉丝: 3
- 资源: 946
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍