概述
近年來隨著微電子技術的不斷發展,半導體技術和集成電路技術也在迅速發展。目前,IC卡已經深入到社會生活的各個角落,各種各樣的卡大大方便了人們的生活,如銀行使用的信用卡、公交車使用的交通卡、食堂使用的就餐卡、出入管理使用的考勤卡、打電話使用的電話卡、手機中使用的SIM卡等。IC卡又稱為集成電路卡。卡片內封裝有集成電路,用以存儲和處理數據。在IC卡的發展過程中正在經歷從存儲卡到智能卡,從接觸式卡到非接觸式卡,從近距離卡到遠距離卡的過渡,與之相應的,能夠讀取卡內信息的閱讀器也在不斷的發展和更新。非接觸式卡又稱射頻卡(應答器),使用無線電調制方式和閱讀器進行信息交換。
射頻識別技術是二十世紀九十年代興起的一項自動識別技術,它利用無線電射頻方式進行非接觸式雙向通信。RFID(Radio Frequency Identification)系統中射頻卡(應答器)與閱讀器之間無需物理接觸即可完成識別,可實現多目標識別和運動目標識別,應用范圍更加廣泛。圖1是閱讀器和應答器組成的一個完整射頻系統:
從射頻系統中可以看出閱讀器的重要性及它的功能,在整個通信過程中閱讀器起到橋梁的作用。
硬件設計
考慮到閱讀器在系統中要完成的工作主要是從射頻卡讀取數據,并將數據經相應的處理后送給主機。在設計時按功能對閱讀器進行模塊化設計,圖2是閱讀器的內部功能框圖。圖中閱讀器分為射頻卡數據讀取部分(射頻部分)、控制電路部分、主機接口電路部分。
控制部分
此控制部分是為了輔助RI-R6C-001A工作,因為RI-R6C-001A芯片要正常工作,完成射頻閱讀器的功能,不但需要有外圍電路,而且還需要有控制器對其進行適當的控制。在此設計中選用了PIC16F874單片機作為控制器,由于此單片機有豐富的位操作指令,有SPI串行口,精簡的指令集,能夠很容易的模擬RI-R6C-001A傳送數據的時序以及時鐘切換時序。由于RI-R6C-001A對外只提供 四個引腳DOUT、DIN、SCLOCK、M-ERR,所以控制器的接口電路相對較簡單。DOUT、DIN、SCLOCK三個引腳分別連接到單片機的SPI串行口SDI、SDO、SCK三根線上,用來實現數據的串行傳輸。M-ERR引腳用來檢測接收到射頻卡中的數據是否發生錯誤,若有錯誤此引腳變為高電平,因此把該引腳接到單片機的外部中斷輸入引腳端,用于檢測接收數據是否有錯誤,進而單片機對其做出相應的處理。由于RI-R6C-001A在接收射頻卡中的數據并把它發送給控制器時,要求控制器要對其發送數據是否結束做出判斷,并且RI-R6C-001A不發送數據時就不再送時鐘,所以在此電路設計中把RI-R6C-001A的SCLOCK引腳也接到了具有電壓變化中斷功能的RB4引腳,此引腳外接一個二極管,與軟件結合起來,要求當控制器供應時鐘時,RB4引腳處于高電平輸出狀態,經過二極管,RB4引腳不會輸入時鐘;當RI-R6C-001A供應時鐘時 ,RB4引腳處于輸入狀態,SCLOCK信號輸入此引腳,從而可以對發送數據是否結束作出相應的判斷。
射頻部分
RI-R6C-001A芯片是TI公司最新開發的針對IC卡讀寫的多協議收發器,支持的協議包括: Tag-it協議、ISO/IEC 15693-2、ISO/IEC 14443-2(TYPE A)。該收發器由發送器,接收器,電源供應,參考時鐘和內部振蕩器,默認的復位設置和電源管理,串行通信接口等幾部分組成。該芯片通常是+5V供電,采用SSOP20封裝,內部封裝有發送編碼器,調制器,接收器和解調器,典型發送功率200mW,有IDLE、POWER DOWN、FULL POWER三種電源管理功能。它提供給用戶數字接口的信號線為DIN、DOUT、SCLOCK,通過這三根線可完成控制器與RI-R6C-001A芯片之間的數據傳輸。當RI-R6C-001A要發送數據時,時鐘由單片機控制,當它要接收數據時,時鐘由該芯片控制。 DOUT除了在接收數據期間有把接收到的數據輸出給單片機的功能外,還用來表征RI-R6C-001A內部FIFO的情況。DOUT內部下拉,平時為低電平。輸入數據過程中,當RI-R6C-001A的16位FIFO寄存器滿時,DOUT線會自動跳變為高電平,直到FIFO寄存器空,DOUT線又會跳變為低電平。在軟件設計時單片機每發一位數據都要檢測DOUT的狀態。在DOUT為高電平期間,輸入數據無效。
射頻電路由三大部分組成(見圖4):RI-R6C-001A應用電路,與單片機相連的接口電路,天線發送。接收電路:在RI-R6C-001A應用電路中,L1、L2、C2組成的T型網絡以及L3、C9組成的LC網絡都是起到濾波的效果,使RI-R6C-001A通過天線接收的數據不至于流向發送端TX-OUT,因為此芯片發送數據時頻率是13.56MHz,而接收的信號的載波頻率是13.56MHz/28和13.56MHz/32(FM)或者13.56MHz/32(AM),R-MOD端的電阻R2決定發送信號的調制深度;R3、L4、C10、C11組成串聯諧振電路,匹配阻抗50 ,可調電容C11用來準確調整電路諧振點在13.56MHz。這一設計有利于閱讀器正確的收發信息。
系統工作過程
接收數據過程
單片機與RI-R6C-001A之間通信必須遵循Tag-it協議或ISO/IEC 15693,其中Tag-it是TI公司最新開發的RFID Transponder(應答器)的注冊商標,是一個產品系列。Tag-it完全和ISO/IEC15693兼容,Tag-it應答器與閱讀器之間是半雙工通信,首先閱讀器主動發一個請求(包含命令和參數),應答器被動發一個應答(包含發送的數據和狀態)。 在軟件設計上必須讓單片機發送數據和接收數據滿足RI-R6C-001A的通信要求。由單片機發給RI-R6C-001A的命令序列必須符合以下格式:
S1表示傳輸開始,長度為1位;CMD表示命令字節,長度為8位或1位,8位用于普通模式,1位用于寄存器模式;ES1表示傳輸停止。命令字節:規定RI-R6C-001A與應答器通信時的有關參數,例如:支持的射頻協議,調制方式,調制深度,波特率等。普通模式在每次通信時命令序列中都要包含使用的有關參數,而寄存器模式命令序列中并不含這些參數,而是由預先寫入配置寄存器中的數值所決定;數據位是根據通信時的要求定的,數據位的順序由ISO15693-3或者Tag-it協議所規定,具體采用哪一種射頻協議使閱讀器與應答器通信由CMD中指定, 因此數據位是任意的,且長短根據要求通信的信息而定。單片機的SPI口正好能滿足這一要求。由于SPI口沒有開始和停止位,為了滿足RI-R6C-001A開始和停止位的要求,起始位是通過在啟動SPI口之前直接用位操作指令先對DIN置低,然后對SCLOCK置高,再把DIN置高從而表示開始接收數據的起始位,然后啟動SPI接口傳輸數據; 停止位是通過在數據傳輸結束后把SPI口引腳變成通用的I/O引腳,用位操作指令先把DIN、SCLOCK置高,再把DIN置低,表示傳輸數據結束。數據位:RI-R6C-001A接收單片機發來的數據時是在每個時鐘SCLOCK的上升沿鎖存數據,并且要求數據位的值必須被建立且SCLOCK為高電平時數據保持不變,也就是說要求單片機在時鐘的下降沿送出數據,在時鐘的上升沿數據是穩定的,可供閱讀器對輸入的數據進行鎖存,因此對控制器SPI口相關寄存器SSPCON和SSPSTAT進行適當設置就可以滿足此要求。
數據傳送
單片機要接收RI-R6C-001A發過來的數據,首先在時序上必須滿足RI-R6C-001A發送數據時序的要求,見圖5。發送數據時,是在每個時鐘的上升沿送出數據,在每個時鐘的下降沿數據穩定,因此單片機應該在時鐘的下降沿采樣數據,這同樣可以通過設置SSPCON和SSPSTAT寄存器來實現。
時鐘切換
需要注意的是,當單片機由發送轉換為接收過程中,它同時由主動轉化為被動,由發送時鐘轉換為接收時鐘,這里有時鐘切換問題,應滿足圖6所示時序圖關系。
由時序圖知當單片機傳輸數據ES1結束后(在a時刻)把SPI用到的引腳設置為通用I/O引腳,要進行時鐘的切換,在第一個tran期間,通過位操作指令先把SCLOCK=0,再讓DIN引腳出現一個正脈沖(b時刻到c時刻),單片機就把時鐘控制權交給了RI-R6C-001A,d時刻表明在RI-R6C-001A控制SCLOCK的時間內DIN引腳為高電平,注意在閱讀器給單片機送數據時,DIN引腳一直保持高電平,一旦它不再送數據,同時也不再送時鐘, 在編程時可以檢測單片機的時鐘輸入端是否由時鐘輸入,從而決定閱讀器是否還在給單片機發送數據。當閱讀器控制SCLOCK時,它將發送一個S2對應于應答器發送過來的SOF,2bit數據和一個ES2對應于應答器發送過來的EOF。在第二個tran期間可再次通過位操作指令讓DIN引腳上產生一個正脈沖,此時單片機就收回了控制權,然后按第一次發數據的方式發數據。 在單片機接收DOUT引腳上數據的過程中,通過對單片機中與SPI接口有關的寄存器的設置,可以讓單片機在輸入的每位數據的有效時間中間采樣數據,這一設置正好與RI-R6C-001A輸出數據的時序相吻合,注意在每次時鐘切換的過程中,SCLOCK都是為低電平的。
結束語
通過利用PC機,仿真器以及MPLAB ICE集成開發環境完成了軟件的調試,軟件的主要功能包括:從單片機發送符合RI-R6C-001A所要求的命令,數據。RI-R6C-001A收到這些數據進行處理,加上SOF和EOF后,以請求的形式發送給應答器,并接收應答器以應答的形式發來的數據,進行處理后再通過輸出引腳DOUT 送給單片機,在編程時采用了模塊式的結構,利用PIC16F87X匯編和C語言進行寫的程序。
該系統經過測試,已經可以使用,如果硬件和軟件設計合理,進一步提高其可靠性和安全性,再加上成本低廉、讀寫電路簡單,應用必然會更加廣泛。
-
芯片
+關注
關注
456文章
51170瀏覽量
427241 -
RFID
+關注
關注
388文章
6191瀏覽量
238540 -
閱讀器
+關注
關注
0文章
302瀏覽量
27978
發布評論請先 登錄
相關推薦
評論