一种实现ISO7816-3传输协议的方法.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种实现ISO7816-3传输协议的方法 引 言 随着越来越多的RFID读写器和标签应用在物流、珠宝、电子车牌等行业,数据的保密性和完整性已经变得越来越重要。为解决数据保密问题,通过阅读器下发秘钥授权访问标签的存储区成为当下关注的热点,因此如何设计秘钥的载体成为读写器厂家考虑的重点。其中一种常用的方法是参考银行的IC卡设计,在读写器终端放置已经存储秘钥的PSAM卡[-]。 PSAM卡属于IC接触式卡的一种,数据传输须符合ISO/IEC 协议。软件设计一般参考ISO/IEC -和ISO/IEC -协议。ISO/IEC -规定了智能卡与接口设备的电信号和传输协议,为半双工协议;ISO/IEC -规定了智能卡和接口设备的交互命令[-]。 IC卡的数据访问实现方案有多种,方案一利用单片机实现,但实现过程中数据的实时性差,IC卡的时钟周期由外部独立器件产生,时钟无法灵活配置,同时还存在PCB布局浪费等问题[]。方案二虽然利用FPGA器件的并行处理优势进行设计,但实现过程中未考虑实际接收数据时遇到的超时、奇偶校验失败等问题,所以设计的模块在工程应用中存在风险[]。 本文设计了一种*****-半双工串行通信系统[-]。该系统上位机通过EMC总线配置FPGA进行复位、激活、读写等状态机的跳转,配置etu寄存器、字符保护时间寄存器等。Tx模块完成并串转换,添加起始字符,将奇偶校验字符发送给PSAM卡数据端。Rx模块接收PSAM卡返回的响应数据,完成串并转换与奇偶校验,将数据写入RAM且发送正常。超时、校验失败等错误判断信号发送至中断模块,中断模块采用共享中断线区分中断号的方法上报给上位机,上位机根据不同的中断号作出响应。 系统设计 本设计采用的PSAM卡是T=异步半双工字符传输类型。个字符 bit,按照小端传输,起始字符bit为,bit对bit~bit的字符个数进行偶校验[]。初始化字符TS如图所示。 根据复位响应中的TA字段bit~bit定义F,通过bit~bit定义D。上位机在收到该字符后需要重新计算etu的时间。计算公式如下: PSAM卡复位响应如图所示。 复位响应的第一个字符TS(xB)代表字符按照小端传输。T字符中bit,bit,bit,bit分别代表TA,TB,TC,TD字符是否存在,其中表示存在,表示不存在。TD高 bit分别代表TA,TB,TC,TD是否存在,依次类推。bit~bit表示历史字节的个数。第二个字符T(XF)为二进制数“”,代表本卡的TA,TB,TC字符存在,有个历史字节,而TD不存在,所以默认为T=异步半双工字符传输类型。第三个字符TA(“X”)的bit~bit是“”(F=),bit~bit是“”(D=),上位机更新的etu時间为个Psam_clk周期,极大地缩减了数据交互时间。 协议研读后,对FPGA进行系统设计。系统包括状态机模块、Tx发送模块、Rx接收模块、中断模块,具体如图所示。 ()状态机模块:完成冷复位、热复位、接收数据、发送命令、激活等状态跳转,配置etu寄存器、字符保护时间寄存器等。 ()Tx发送模块:把上位机下发的命令写入Tx_ram,按照协议添加起始字符和奇偶校验字符,并完成转串与大小端转换,设置字符间保护时间和等待时间,把数据发送给Psam_dat。 ()Rx接收模块:对Psam_dat进行串转并、偶校验、大小端转换,并把校验成功的数据按照字节写入Rx_ram。在接收过程中设置超时、校验失败、正常接收数据完成等信号发送给中断模块。上位机在收到TA字符后,根据F,D值计算新的etu,并通过EMC总线更新至FPGA,由FPGA重新调整Psam_clk周期。 ()中断模块:Rx接收模块发送超时、校验失败信息并正常接收数据,将这些信息写入中断寄存器,同时上报至上位机。上位机收到中断信号后查询中断寄存器,并进行相应的处理。 仿真及验证 为了说明方法的可行性,按照系统设计进行编码,并利用Modelsim对其进行仿真。FPGA接收的数据为”B F ”,如图所示。FPGA发送的数据为” A”,如图所示。 在开发板上进行验证,通过上位机打印获取PSAM数据,并与写入数据进行对比,结果表明两者数据一致,证明数据传输及解析无误。 结 语 本文利用FPGA实现对PSAM卡的数据访问,根据PSAM的响应字符TA,灵活调整时钟周期,数据实时性强。设计中充分考虑工程中遇到的超时、奇偶校验失败等情况,中断模块采用共享中断线、区分中断号的方法解决这一问题。最后工程进行了读写仿真,并在板级上实现了与PSAM卡的通信,进一步证明了该方案的可行性。

文档评论(0)

s64851 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6120215050000015

1亿VIP精品文档

相关文档