基于USB接口的射频IC卡系统 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

基于USB接口的射频IC卡系统

来源:电子开发网  作者:蒋锁良 于玉琴  发布时间:2008-01-09 18:26:03  字体:[ ]

关键字:射频ic卡  ic卡系统  usb接口  射频卡  单片机  

摘   要:介绍了一种带有USB接口的射频IC卡系统,阐述了该系统的工作原理。经过方案对比,选用USBN9603作为USB 接口控制芯片,构成USB 接口电路,可以使设计简单,尤其适合于产品的改型设计。给出了USB 设备的软件设计方法,并给出了单片机与上位管理机通信的程序流程。由于采用USB 接口,可以克服以往IC 卡系统不支持热插拔和不能灵活与外设连接的缺点。


2  软件设计 

    射频IC 卡系统的软件设计主要包括两部分:一是USB 设备端的单片机软件,主要完成USB 协议处理与数据交换,以及其他应用功能程序;二是上位管理机(PC 机) 端的程序,由USB 通信程序和用户服务程序两部分组成,用户服务程序通过USB 通信程序与系统USB 设备接口(USBDI) 通信,由系统完成USB 协议的处理与数据传输。 

    过去开发PC 端程序比较困难,程序员不仅要熟悉USB 协议,还要熟悉Windows 体系结构。但是,从Windows 98/2000 开始, 提供了Win32 驱动程序模型(WDM) 设备驱动程序模型,并且在PC 机上可以利用高级编程语言,例如VC++ 、VB 等进行编程;另外,许多公司提供现成的程序或Windows 开发库。因此,上位管理机的控制程序开发已不再是难题,本文对此不作详细阐述,可参见文献[ 1 ,2 ] 。这里主要阐述USB设备端的单片机软件的设计。 

单片机与上位管理机通信的程序流程如图3 所示。 

单片机与上位管理机通信的程序流程

图3  软件流程 

    此处单片机主要完成接收命令、分析命令、上传数据等功能。限于篇幅,这里只给出单片机对命令分析部分的程序(PLM51 语言) 。 

declare Mrxd bit at (0b2h) register ;
extint : procedure interrupt 0 using 1 ; declare (temp , i) byte , tt word , com-pa (5) byte ;
 ea = 0 ;
 command = 0 ;
 temp = get-char (ok) ;
if ok = 0 or temp <> 's'then goto exit ;
 do i = 0 to 3 ;
  do while Mrxd = 1 and tt < 60000 ; tt = tt + 1 ;
  end ;
  com-pa (i) = get-char (ok) ;
  if ok = 0 then goto exit ;
 end ;
if com-pa (3) < > ( (com-pa (0) + com-pa (1) + com-pa (2) ) and 127) then goto exit ; if com-pa (0) = self - addrP10 + '0'and com-pa (1) = self-addr mod 10 + '0'then
if com-pa (2) = '1'then
 do i = 0 to 5 ;
 do while Mrxd = 1 and tt < 60000 tt = tt + 1 ;
 end ;
 com-pa (i) = get-char (ok) ;
 if ok = 0 then goto exit ;
end ;

3  结束语
 
    本文在叙述射频IC 卡系统的结构与原理的基础上,利用USBN9603 接口芯片对原有车载验卡机进行了改进,详细介绍了硬件接口和软件设计方法。由于USB 的诸多优点和灵活的数据传输方式,基于USB 接口的射频IC 卡系统必将得到更广阔的应用。

参考文献
[1 ] Cant C.Windows WDM设备驱动程序开发指南.孙义,马莉波,国雪飞,等译.北京:机械工业出版社, 2000
[2 ] 张弘.USB 接口设计.西安:西安电子科技大学出版社,2002
[3 ] 沈红卫.单片机应用系统设计实例与分析.北京:北京航空航天大学出版社, 2003
[4 ] 许永和.USB 外围设备设计与应用.北京:中国电力出版社,2002

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

推荐文章

论坛热帖