新闻中心

EEPW首页 > 消费电子 > 设计应用 > 基于SPI接口安全芯片产品的读卡器研究 

基于SPI接口安全芯片产品的读卡器研究 

作者:秦理想 涂静芝 刘立宗 姜帆时间:2017-10-27来源:电子产品世界收藏
编者按:由于SPI接口的简单、高速、稳定的特性,在实际中得到了广泛应用,本文介绍了SPI从设备的接口协议,提出了一种基于该SPI协议的读卡器的设计思路,简述了方案的具体实现方法,包括读卡器的硬件设计及软件设计。采用USB即插即用的连接方式,采用CCID标准设备通过USB接口与主机或其它嵌入式主机连接,完成SPI协议的数据通讯,满足了实际的功能需求,对于开发设计相同工作模式下的SPI从设备的程序具有很好的借鉴价值。

  由于安全芯片的工作电压不确定,本提供了5V和3.3V的工作电压,其中3.3V是通过电源转换芯片LM1117提供的,同时在接口处添加了ESD防护器件SRV05-4,以防被静电打坏。如图6所示。

本文引用地址:http://www.eepw.com.cn/article/201710/370666.htm

2.2 MCU主控部分

  本采用了ST的MCU为主控芯片,该芯片是一款基于ARM Cortex-M3为内核的微控制器,最高工作频率为72MHz。此外,该主控芯片具有丰富的硬件资源,配置了128K的flash存储器和20K的RAM、三个16位普通定时器和一个高级定时器、2×SPI、2×I2C、3×USART、1×、1×CAN2.0、2(16)个ADC和48个I/O引脚。本读卡器应用了该芯片的功能,通过USB端口检测是否有安全芯片插入,实现和安全芯片的通讯控制,另外通过MCU控制蜂鸣器和LED灯的亮灭。

2.3 SPI从设备接口

  本读卡器和安全芯片的接口是通过IC卡座连接的,如图7所示,通过IC卡座的检测管脚判断是否有安全芯片插入,同时也可以方便地监测SPI的通讯时序,方便调试和测试。

2.4 其他电路

  本读卡器硬件上包含蜂鸣器和LED指示灯部分,如图8所示。当有安全芯片插入或拔出时通过MCU控制蜂鸣器的发出“嘀嘀”的响声,当和安全芯片进行通讯时,控制指示灯D2的亮灭指示通讯的正常或异常,电源指示灯D1亮灭代表电源的正常与否。

3 软件设计

  本系统的软件框图如图9所示,通过USB供电,当系统正常上电后程序进行初始化,包括系统时钟的初始化、USB初始化及CCID设备接口的初始化等,当该系统的CCID设备接口准备好后可以通过其中的固定的端口发送指令进行SPI时序的设置,当插入安全芯片时系统会自动检测,如果检测到安全芯片,端口上会显示该SPI接口从设备的相关信息,通过该端口可以进行安全芯片的通讯测试;如果没有检测的安全芯片,那么可以通过查看相关的时序,进行调整,重新进行SPI时序的相关参数的设置。

3.1 CCID设备初始化

  规定了CCID设备是一种芯片/智能卡接口设备,设备通过USB接口与主机或其他嵌入式主机连接,进行符合的数据通讯,工作过程如图10所示。本读卡器采用了,实现了3个设备端口的初始化,用到了Bulk-OUT Message在Command Pipe发送;Bulk-IN Message在Response Pipe发送;Interrupt-IN Message在interrupt-IN Pipe发送,用到的函数如表1所示。

3.2 SPI从设备通信处理软件

  本读卡器采用了MODE3模式,时序图如图11所示,主要涉及到以下关键的时间点:包括Ton:片选SSN拉低到第一个Clock之间的延时时间,Toff :SPI通讯结束的最后一个CLK到片选SSN拉高之间的间隔,Ti:每个字节帧之间的间隔,Tidle :片选SSN高电平持续的时间。通过CCID设备的固定端口发送SPI时序的配置指令,分别对上面的关键时间点Ton、Toff、Ti和Tidle进行设置。

  参考SPI接口从设备的通信时序图及通信流程编写程序,完成了调试,下面给出SPI初始化的程序,具体的程序执行流程图如图12所示。

4 结论

  本文设计的读卡器实现了和SPI接口从设备通信,同时实现了对SPI从设备时序的配置,方便测试SPI从设备的工作极限参数,例如工作频率等。此外在进行SPI从设备生产发行过程中,通过修改SPI时序可以很大程度上提高生产产能。另外也方便用户进行SPI底层程序的调试,缩短了开发周期,在实际应用中具有深远的意义。

  参考文献:

  [1]DWG_Smart-Card_CCID_Rev110.pdf.

  [2]涂永飞,王名传.基于SPI双机通信的弧光保护系统[J].微型机与应用,2015,34(2):72-76.

  [3]解永军,许芳,王德清.基于SPI的双DSP通信协议研究[J].电子世界,2014,(14):221-222.

  [4]高振,罗秋凤.SPI接口与CRC算法在双DSP数据通信中的应用[J].电子产品世界,2011(1-2):46-48.

  [5]付兴武,张军,王洋.基于SPI总线协议的字符设备驱动程序[J].计算机系统应用,2013,22(2):146-150.

  本文来源于《电子产品世界》2017年第11期第42页,欢迎您写论文时引用,并注明出处。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭