王軍艦
摘 要 本文介紹了一種采用分立元件構成的125kHz RFID閱讀器。系統(tǒng)介紹了射頻識別技術原理、讀卡器硬件框圖、主程序流程圖,并對硬件工作原理、EM4100數據存儲格式、EM4100數據編碼方式、軟件解碼過程進行詳細闡述。本讀卡器電路結構簡單,成本較低,人機界面友好,可用于讀取EM4100型ID卡。
關鍵詞 射頻識別 曼徹斯特編碼 載波 硬件 軟件
中圖分類號:TN409;TP368.12 文獻標識碼:A
1射頻識別技術原理
讀卡器和射頻識別卡兩部分構成了射頻識別的應用系統(tǒng)。讀卡器作為終端實現對RFID卡的數據讀取。首先是當射頻卡進入到讀卡器的工作范圍內的時候,由讀卡器內的天線向外發(fā)射125KHz的載波信號,此時卡中的電感線圈和電容組成的諧振回路將收到讀卡器發(fā)射來的信號,射頻卡中的芯片因此會獲得能量,為其內部各功能部件提供工作電壓,其內部功能部件就開始工作,時序發(fā)生器部件控制存儲器陣列和數據編碼單元將其內部的64位信息調制后按順序發(fā)送給讀卡器;讀卡器將接收的信號進行檢波、放大、濾波、整形、送單片機解碼,根據需要可以送后臺計算機做相應處理。讀卡器硬件框圖如圖1所示。
2硬件電路設計
本設計以AT89S52作為微控制器,以LM393、CD4060、LM358等元件為外圍器件構成無線射頻卡讀卡器。 硬件電路如圖2所示,在圖2中16MHz晶振經CD4060 128分頻從Q7產生標準125 kHz載波信號,經過限流電阻R50后經T51放大后送入推挽式連接的三極管功率放大電路,放大后的載波信號通過天線發(fā)射出去。天線L1與電容C17和C18構成串聯諧振電路,諧振頻率為125 kHz,諧振電路的作用是使天線上獲得較大的電流,從而產生最大的磁通量,獲得更大的讀卡距離。
C52和D50構成基本包絡檢波電路,檢波電路用來去除125 kHz載波信號,還原出有用數據信號。R60、C56、R63、C57為帶通濾波器,輸出接到射隨U51B同向端。經射隨緩沖輸出送到R67、C58、R65、U51A構成的有源低通濾波器,濾波器輸出信號送LM393比較器從7腳輸出曼徹斯特編碼信號,從單片機P1.6腳送入,單片機對接收到的信號進行解碼,從而得到ID卡的卡號。
3軟件設計
要對ID卡進行解碼,首先應掌握ID卡的存儲格式和數據編碼方式及曼徹斯特編碼原理,然后再編寫相應的解碼程序獲取ID卡號。
3.1 EM4100數據存儲格式
EM4100全部的數據位為64bit,它包含9個開始位(其值均為“1”)、40個數據位(8個廠商信息位+32個數據位)、14個行列校驗位(10個行校驗+4個列校驗)和1個結束停止位。EM4100在向讀卡機或PC機傳送信息時,首先傳送9個開始位,接著傳送8個芯片廠商信息或版本代碼,然后再傳送32個數據位。其中15個校驗以及結束位用以跟蹤包含廠商信息在內的40位數據,如圖3所示。
檢查數據傳輸中是否發(fā)生錯誤,射頻識別卡對每個字節(jié)都增加兩個校驗位,其中高半字節(jié)一個,低半字節(jié)一個,這樣每個字節(jié)增加到10位二進制數,5個字節(jié)共有50位。為了校驗數據的整體性錯誤,射頻ID卡還增加了一個4位的縱向冗余檢驗,這樣整個ID卡數據增加到54位。當進入射頻場時,如果卡片直接回送這5個字節(jié),那么讀寫器很難確定起始位和結束位,所以射頻識別卡又增加了9個二進制“1”在前面作起始位,增加了一個二進制“0”在后面作結束位,這樣ID卡就有了64位數據,正好8個字節(jié)。
3.2 EM4100數據編碼方式
EM4100采用曼徹斯特編碼,如圖4所示,圖4中曼徹斯特碼為一個停止位、9個二進制“1”的起始碼和隨后的5個碼元構成的一串曼徹斯特編碼(后繼碼元省略),對此串編碼碼進行深入分析有助于解碼程序的編寫。圖4中系統(tǒng)時鐘位為從CD4060的Q7腳實測發(fā)射時125 kHz載波信號,曼徹斯特編碼為LM393比較器7腳實測解調后的曼徹斯特編碼信號,數據為軟件解碼后的實際數據,位數據“1”對應著電平上跳,位數據“0”對應著電平下跳。在接收到的一串數據序列中,兩個相鄰的位數據傳送跳變時間間隔應為一個數據周期T。在曼徹斯特碼調制方式下,EM4100每傳送一位數據的時間是64個振蕩周期,其值由RF/n決定。若載波頻率為125 kHz,則每傳送一位的時間為振蕩周期的64分頻,即數據周期T為:T=64/125 kHz=512€%es,則半個周期的時間為256€%es。
3.3 解碼軟件設計
曼徹斯特解碼過程要比編碼復雜,一般的,解碼過程有三個步驟:第一,獲取數據流的波特率(或者已知數據流的波特率);第二,同步數據流的時鐘信號(實質是區(qū)分位幀邊沿和半位幀邊沿);第三,根據上面兩步對數據流進行解碼。
具體的實現步驟如下,
(1)獲取圖4中系統(tǒng)時鐘上升沿,在連續(xù)兩個系統(tǒng)時鐘高電平時刻檢測曼徹斯特待解碼是否有電平跳變,如果有從低到高電平跳變則為“1”,如果有從高到低電平跳變則為“0”, 連續(xù)兩個系統(tǒng)時鐘高電平期間如果沒有電平跳變則無卡,進行下一個檢測周期。
(2)連續(xù)檢測到一個“0”碼和9個“1”碼繼續(xù)接收后繼碼元,否則返回步驟1繼續(xù)檢測起始碼。經過此過程就能正確獲取曼徹斯特編碼的原始數據,然后按EM4100數據存儲格式進行數據校驗,看是否為讀取的正確編碼,如果編碼正確,去掉相應的校驗位,對數據進行重新整合,就能獲取ID卡中的ID號,至此解碼工作完成。
4結語
本設計硬件電路中功放和檢波部分采用分立元件構成,無需讀卡集成芯片,電路結構簡單,成本極低;軟件部分采用C語言進行編寫,提出了一種曼徹斯特編碼的解碼方法。由于RS232的傳輸距離最大只有15m,因此對于需要較遠距離數據傳送的場合,可以通過無線數傳模塊,從而實現遠距離數據采集以及實行有關控制。在一些需要較遠讀卡距離的應用中,可通過改進功率放大電路來提高功放的效率,從而增大發(fā)射功率,增大讀卡距離。通測試,系統(tǒng)可成功實現對EM4100 ID卡的讀取,經過微調天線,最大讀取距離可達10cm,且讀卡穩(wěn)定、成功率高,可將其應用于門禁、公交等系統(tǒng)。
參考文獻
[1] 樊昌信.通信原理[M].國防工業(yè)出版社,2006(9).
[2] 單承贛.射頻識別(RFID)原理與應用[M].電子工業(yè)出版社,2015(1).