歡迎您訪問鄭州興邦電子股份有限公司官方網(wǎng)站!
阿里巴巴誠信通企業(yè)
全國咨詢熱線:40000-63966
興邦電子,中國水控機(jī)第一品牌

聯(lián)系興邦電子

全國咨詢熱線:40000-63966

售后:0371-55132951/55132952

工廠:河南省 鄭州市 高新區(qū)蓮花街電子電器產(chǎn)業(yè)園

基于USB接口的射頻IC卡系統(tǒng)

文章出處:http://m.compasssalessolutions.com 作者:蔣鎖良 于玉琴   人氣: 發(fā)表時間:2011年09月23日

[文章內(nèi)容簡介]:介紹了一種帶有USB接口的射頻IC卡系統(tǒng),闡述了該系統(tǒng)的工作原理。經(jīng)過方案對比,選用USBN9603作為USB 接口控制芯片,構(gòu)成USB 接口電路,可以使設(shè)計簡單,尤其適合于產(chǎn)品的改型設(shè)計。給出了USB 設(shè)備的軟件設(shè)計方法,并給出了單片機(jī)與上位管理機(jī)通信的程序流程。由于采用USB 接口,可以克服以往IC 卡系統(tǒng)不支持熱插拔和不能靈活與外設(shè)連接的缺點(diǎn)。

     射頻IC卡即非接觸式IC卡,是最近幾年發(fā)展起來的一項(xiàng)新技術(shù),它將射頻識別技術(shù)和IC 卡技術(shù)結(jié)合起來,解決了無源(卡中無電源) 和免接觸的技術(shù)問題,具有使用方便、壽命長等優(yōu)點(diǎn),因而在日常生活中得到廣泛應(yīng)用。 

    過去IC卡系統(tǒng)的驗(yàn)卡機(jī)與上位管理機(jī)之間通信,通常是使用串行口RS2232 ,但RS2232 串口的數(shù)據(jù)傳輸速率較慢,而射頻卡機(jī)一天記錄量很大,并且一個數(shù)據(jù)采集點(diǎn)往往要對應(yīng)多臺驗(yàn)卡機(jī),因此希望加快PC 機(jī)與驗(yàn)卡機(jī)之間的數(shù)據(jù)傳輸速率。 

    USB 是一種支持即插即用的新型接口,主系統(tǒng)和USB 外圍設(shè)備之間的數(shù)據(jù)通過一個4 針探頭傳輸,具有傳輸速度快、支持熱插拔、易于擴(kuò)展、使用方便等優(yōu)點(diǎn)。USB 接口的傳輸速度比串行口快得多,USB v1.1規(guī)范的數(shù)據(jù)傳輸速率可以達(dá)到1.5 MbPs~2 MbPs ,USBv2.0 所規(guī)定的傳輸速率更是達(dá)到了360 MbPs~480MbPs。正因?yàn)閁SB 接口具有這些優(yōu)點(diǎn),因而逐漸成為PC 機(jī)與外設(shè)相連的一種發(fā)展趨勢。我們在對自行研制的JS201 型射頻驗(yàn)卡機(jī)進(jìn)行改進(jìn)時,決定采用USB接口與上位管理機(jī)進(jìn)行通信。

1  硬件設(shè)計

1.1  系統(tǒng)結(jié)構(gòu)與工作原理 

射頻IC系統(tǒng)結(jié)構(gòu)如圖1 所示。 

射頻IC 系統(tǒng)結(jié)構(gòu)

圖1  射頻卡系統(tǒng)結(jié)構(gòu)框圖 

    整個系統(tǒng)以8051 單片機(jī)為核心,由它來完成與讀寫模塊的通信、存儲管理、輸入、顯示等功能。使用時,用戶將自己的射頻卡掠過車載驗(yàn)卡機(jī)閱讀器的磁場感應(yīng)區(qū)時,射頻卡系統(tǒng)將射頻卡的卡號、金額、密碼等信息讀入,先對密碼的正確性和卡的合法性進(jìn)行判別。如果是合法卡,驗(yàn)卡機(jī)根據(jù)已有設(shè)定計算出射頻卡的剩余額,然后向卡中回寫相應(yīng)的數(shù)據(jù),以確保對卡操作的正確性和安全性。

    本文研制的射頻IC 卡系統(tǒng)的射頻卡閱讀模塊采用射頻讀寫芯片P4095。P4095 內(nèi)部集成了PLL 系統(tǒng),用來完成對天線諧振頻率的自適應(yīng)調(diào)整,并且外部不需要晶振的支持,具有100 kHz~150 kHz 的載波頻率范圍,由它來完成車載驗(yàn)卡機(jī)與射頻卡信息的交換。實(shí)際工作時, 射頻卡本身不帶電源, 需要從閱讀器P4095 發(fā)送的射頻信號中提取能量。因此,在射頻卡接收數(shù)據(jù)期間,它一方面從接收到的信號中按原來約定的編碼方式解調(diào)出數(shù)據(jù)信息(按曼徹斯特編碼規(guī)律) ,另一方面又從接收到的信號中提取出能量。又因?yàn)樯漕l卡是通過負(fù)載調(diào)制的方式耦合到應(yīng)用終端的天線上的,所以在射頻卡返回數(shù)據(jù)時, P4095 連續(xù)發(fā)射125 kHz 射頻載波信號,從而使閱讀器得到射頻卡中的信息。然后,把接收到的信息發(fā)送給單片機(jī),由單片機(jī)按照射頻卡的無線規(guī)范協(xié)議對數(shù)據(jù)進(jìn)行處理、保存。

1.2  USB接口電路設(shè)計 

    目前設(shè)計帶USB 接口的儀器的方案主要有兩種:一種是直接利用自帶USB 端口的單片機(jī),例如Cypress公司的EZ2USB 單片機(jī)、Intel 公司的8X930 等;另一種是仍采用普通單片機(jī),但增加一塊USB 接口芯片來處理USB 通信。前者由于微處理器與USB 接口芯片集成在一起,因此開發(fā)較簡單,但價格較高,并且要購置專門的開發(fā)系統(tǒng)。后者必須另有一個微處理器來進(jìn)行控制,但其價格便宜、設(shè)計簡單,尤其適合于產(chǎn)品的改型設(shè)計,改型時硬件上只需對端口連接進(jìn)行改動,增加少量元件即可,軟件上則只要增加微處理器的USB 協(xié)議處理和數(shù)據(jù)交換程序等,無須對原有的產(chǎn)品做很大的改動。因此我們采用后一種方案對原有射頻IC 卡系統(tǒng)進(jìn)行改進(jìn)。 

    選用National Semiconductor 公司的USBN9603 作為USB 接口控制芯片,它集成了一個USB 收發(fā)器,以滿足傳輸時的電氣性能要求,還集成了串行接口引擎(SIE) ,主要負(fù)責(zé)時鐘恢復(fù)、數(shù)據(jù)包結(jié)束檢測、CRC 編解碼以及結(jié)點(diǎn)狀態(tài)識別等。它通過VBUS、GND、D+ 、D- 等4 根線與主機(jī)實(shí)現(xiàn)物理連接。其中:VBUS 為總線電源,可對USB 外設(shè)提供+5 V 電源;GND 為地線;D+和D- 為數(shù)據(jù)線,USB 利用D+ 和D- 兩數(shù)據(jù)線,采用差分信號的傳輸方式傳輸串行數(shù)據(jù),支持高速或者低速傳輸模式。另外,芯片內(nèi)部總共帶有7 個傳輸/接收FIFO 緩沖器:1 個雙向傳送和接收FIFO 緩沖器,3 個單向傳送FIFO 緩沖器,3 個單向接收FIFO 緩沖器。其與單片機(jī)的連接如圖2 所示。 

單片機(jī)與USBN9603 接口電路

圖2  單片機(jī)與USBN9603 接口電路 

    8051 單片機(jī)對USBN9603 操作時, 由P1.0 控制IOMS ,將其設(shè)為IPO 端口訪問方式,并根據(jù)RD、WR 信號配合A0 電平狀態(tài)通過A8~A15 完成端口數(shù)據(jù)的讀寫。端口訪問采用中斷方式,即由USBN9603 向8051單片機(jī)的INTO 產(chǎn)生中斷請求信號,8051 通過讀取US2BN9603 相關(guān)寄存器判斷產(chǎn)生中斷的類型,從而執(zhí)行相應(yīng)的中斷處理程序。 

第1頁第2頁

2  軟件設(shè)計 

    射頻IC 卡系統(tǒng)的軟件設(shè)計主要包括兩部分:一是USB 設(shè)備端的單片機(jī)軟件,主要完成USB 協(xié)議處理與數(shù)據(jù)交換,以及其他應(yīng)用功能程序;二是上位管理機(jī)(PC 機(jī)) 端的程序,由USB 通信程序和用戶服務(wù)程序兩部分組成,用戶服務(wù)程序通過USB 通信程序與系統(tǒng)USB 設(shè)備接口(USBDI) 通信,由系統(tǒng)完成USB 協(xié)議的處理與數(shù)據(jù)傳輸。 

    過去開發(fā)PC 端程序比較困難,程序員不僅要熟悉USB 協(xié)議,還要熟悉Windows 體系結(jié)構(gòu)。但是,從Windows 98/2000 開始, 提供了Win32 驅(qū)動程序模型(WDM) 設(shè)備驅(qū)動程序模型,并且在PC 機(jī)上可以利用高級編程語言,例如VC++ 、VB 等進(jìn)行編程;另外,許多公司提供現(xiàn)成的程序或Windows 開發(fā)庫。因此,上位管理機(jī)的控制程序開發(fā)已不再是難題,本文對此不作詳細(xì)闡述,可參見文獻(xiàn)[ 1 ,2 ] 。這里主要闡述USB設(shè)備端的單片機(jī)軟件的設(shè)計。 

單片機(jī)與上位管理機(jī)通信的程序流程如圖3 所示。 

單片機(jī)與上位管理機(jī)通信的程序流程

圖3  軟件流程 

    此處單片機(jī)主要完成接收命令、分析命令、上傳數(shù)據(jù)等功能。限于篇幅,這里只給出單片機(jī)對命令分析部分的程序(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  結(jié)束語
 
    本文在敘述射頻IC 卡系統(tǒng)的結(jié)構(gòu)與原理的基礎(chǔ)上,利用USBN9603 接口芯片對原有車載驗(yàn)卡機(jī)進(jìn)行了改進(jìn),詳細(xì)介紹了硬件接口和軟件設(shè)計方法。由于USB 的諸多優(yōu)點(diǎn)和靈活的數(shù)據(jù)傳輸方式,基于USB 接口的射頻IC 卡系統(tǒng)必將得到更廣闊的應(yīng)用。

參考文獻(xiàn)
[1 ] Cant C.Windows WDM設(shè)備驅(qū)動程序開發(fā)指南.孫義,馬莉波,國雪飛,等譯.北京:機(jī)械工業(yè)出版社, 2000
[2 ] 張弘.USB 接口設(shè)計.西安:西安電子科技大學(xué)出版社,2002
[3 ] 沈紅衛(wèi).單片機(jī)應(yīng)用系統(tǒng)設(shè)計實(shí)例與分析.北京:北京航空航天大學(xué)出版社, 2003
[4 ] 許永和.USB 外圍設(shè)備設(shè)計與應(yīng)用.北京:中國電力出版社,2002

第1頁第2頁

本文關(guān)鍵詞:射頻ic卡,ic卡系統(tǒng),usb接口,射頻,頻ic卡,ic卡系統(tǒng),usb接口,射頻卡,ic卡,ic卡系統(tǒng),usb接口,射頻卡,,c卡,ic卡系統(tǒng),usb接口,射頻卡,單,卡,ic卡系統(tǒng),usb接口,射頻卡,單片,,ic卡系統(tǒng),usb接口,射頻卡,單片機(jī)
回到頂部