论文部分内容阅读
随着中国银联对新一代高安全芯片银行卡的大力支持,我国的智能卡进入了又一个高速发展时期。新一代银行卡和身份证芯片、电子护照、SIM卡等一起构成了我国智能卡的重要组成部分。随着高安全芯片卡开发的深入,许多卡商都开始基于ARM7平台进行开发。目前,智能卡厂商在开发工具中会嵌入CMS程序。但是,市面上通用的ARM ULINK2仿真器,在调试时会泄露CMS程序的关键信息,导致不安全因素。因此,我们需要自主开发安全性高、性能良好的新型仿真器。而基于JTAG接口的硬件仿真器,凭借其出色的实时性和仿真能力,成为本项目采用的仿真器结构。本文主要对该新型仿真器的原理、设计及实现进行了深入研究。仿真器包括FPGA、MCU、DLL三个部分。即:PC机软件中的AGDI接口向仿真器发送调试命令,该命令通过USB数据线传输至MCU,MCU对命令进行解析,并转换为JTAG端口命令发送至FPGA开发板。同时,MCU通过JTAG端口接收FPGA实时状态信息,并向PC机进行反馈。在本项目中,我们选择Cypress公司的EZ-USB FX2系列芯片作为仿真器的主控MCU,该MCU自带USB2.0收发控制器,USB通讯的封包、解包过程由USB收发器处理,这样能大大减轻开发USB驱动的工作量。随后,结合JTAG协议和ARM调试原理,我们对ULINK2信号进行采集分析,最后分析得出ULINK2的调试控制机制。然后设计MCU固件代码,实现ULINK2的基本功能,并对传输信号和FPGA板级信号进行加密处理,根据FPGA源代码对MCU相关代码进行优化,提高性能。本项目的新型仿真器样品具有较高的下载速度和安全性,在下载速度、读取速度和安全性三项指标上远优于ULINK2仿真器,其他性能指标也均不低于ULINK2仿真器,达到了设计目的,可以替代ULINK2作为高安全芯片开发工具的仿真器。