基于RFID技術的射頻卡及其解碼技術
文章出處:http://www.hungpor.com 作者: 人氣: 發(fā)表時間:2012年03月20日
摘 要:在射頻卡的系統(tǒng)應用中,關鍵是要解決對射頻芯片輸出的數(shù)據(jù)進行解碼問題。在通常的設計中,都是采用單片機不斷檢測電平變化的方法進行解碼。論文提出了另外一種在MCS-51 單片機平臺下對EM4905 芯片輸出的64 位曼徹斯特編碼格式的數(shù)據(jù)進行解碼的方法。這種方法結合單片機的硬件和曼徹斯特編碼的特點,利用計算曼徹斯特碼下降沿間隔的載波數(shù)的方法進行解碼,大大提高了解碼的速度和準確性,而且硬件設計簡單,是一種非常實用的解碼技術。
關鍵詞:射頻卡;曼徹斯特碼;解碼
1. 引言
射頻識別(radio frequency identification,RFID)技術是從20 世紀90 年代開始興起的一項自動識別技術。他利用無線射頻方式進行非接觸雙向通信,以達到識別目的并交換數(shù)據(jù)。射頻卡內(nèi)集成了芯片,感應天線及電容等元件。讀寫時,將卡(我們以T5557 卡為例)靠近讀卡器,讀卡器天線發(fā)出的電磁波在射頻卡內(nèi)的天線上產(chǎn)生感應電流,為卡內(nèi)集成芯片提供能量。而該芯片預先存儲有一個唯一身份辨識號碼,該號碼被編碼后調(diào)制天線上的電流信號,再以電磁波的形式傳遞回讀卡器[1]。大多數(shù)射頻卡將卡內(nèi)的身份識別號碼編碼為曼徹斯特碼,然后以單片機進行編碼。
然而,目前的很多單片機解碼程序采用定時查詢或是考察信號的邊沿狀態(tài)的方式解碼,這些解碼方法對天線上的載波頻率要求比較高,對定時的準確度要求也比較高,當載波稍微偏離規(guī)定的范圍內(nèi)時將不能正確讀卡。本文介紹了一種新的解碼技術,載波頻率的偏移對解碼沒有任何影響,而且不用檢測信號的邊沿狀態(tài),從而更加可靠、快速的讀卡。
2. 射頻卡的讀卡原理
2.1 射頻卡的組成結構
T5557 是美國Atmel 公司生產(chǎn)的多功能非接觸式R/W 辨識集成電路,適用于125KHZ頻率范圍。芯片需要連接一個天線線圈,該線圈被視為芯片電路的電力驅動補給和雙向信息的溝通接口,天線和芯片構成射頻卡。T5557 的典型應用系統(tǒng)構成圖如圖1 所示。
圖 1 T5557 應用系統(tǒng)結構圖
2.2 射頻卡與讀寫器之間的通信
如果一個應用系統(tǒng)要從一個非接觸的數(shù)據(jù)載體中讀取數(shù)據(jù)或是寫入數(shù)據(jù)到一個非接觸的數(shù)據(jù)載體中去,則它需要一個非接觸的讀寫器作為接口。非接觸式IC 卡與讀卡器之間通過無線電波來完成讀寫操作[2]。非接觸式IC 卡本身是無源卡,當讀寫器對卡進行進行讀寫操作時,讀寫器發(fā)出的信號有兩部分疊加組成:一部分是電源信號,該信號由卡接收后與本身的L/C 產(chǎn)生一個瞬間能量來供給芯片工作。另一部分則是指令和數(shù)據(jù)信號,指揮芯片完成數(shù)據(jù)的讀取、修改、儲存等,并返回信號給讀寫器。由圖1 可知,讀寫器向T5557 卡傳送射頻能量和讀寫命令時,同時接收T5557 芯片以負載調(diào)制方式送來的數(shù)據(jù)信號。電源上電后(POR 有效), T5557 將對存儲在EEPROM 塊0 中的數(shù)據(jù)進行初始化[5]。此時若POR 位為0,則在約3ms 后按塊0 的調(diào)制參數(shù)設置進行調(diào)制。若需置位POR,則其初始化時間約為67ms。T5557 卡的工作流程如下圖。
圖 2 T5557 卡的工作流程圖
從射頻卡返回給基站的數(shù)據(jù)采用編碼方式(可以選擇曼徹斯特碼)。在卡與讀寫器進行通信時,通常由卡將存貯在 EEPROM 中的數(shù)據(jù)以負載調(diào)制方式循環(huán)送至讀寫器。根據(jù)傳送數(shù)據(jù)循環(huán)組織方式的不同又可分為常規(guī)讀模式、塊讀模式和序列終止符模式??梢圆捎弥袛嗌漕l場的方法來對數(shù)據(jù)進行發(fā)送[3]。通常信號傳輸?shù)拈g隙為50-150μ s,兩間隙之間的時間對應RF 一個“0”,標稱值為24 個場時鐘;或對應RF 場的一個“1”,標稱值為54 個場時鐘。
在間隙之后,當少于64 個場時鐘的間隙存在時,IC 將退出模式。若有效位的數(shù)目正確,則開始編程。如果有一個間隙失敗,即一個或多個間隙不是有效的“0”或“1”,則IC 不編程,進入從1 塊開始的讀模式。
序列中的第一個間隙被稱為起始間隙,為了便于對卡的檢測,一般情況下,起始間隙應大于其后的間隙。如圖3 所示
圖 3 讀寫器與卡的通信圖
3. 曼徹斯特碼解碼
根據(jù)曼徹斯特碼(以下簡稱M 碼)的特點:在每一個數(shù)據(jù)位的“中間”發(fā)生由低到高的跳變代表“1”、發(fā)生由高到低的跳變代表“0”。由圖3 可知,由于信號耦合的原因,實際上由EM4905 芯片送給單片機的64 位M 碼的數(shù)據(jù)是反過來的,即:用數(shù)據(jù)位中間發(fā)生高到低的跳變代表“1”、發(fā)生由低到高的跳變代表“0”。另外,在本系統(tǒng)中,64 位數(shù)據(jù)中的每一位在天線上的持續(xù)時間,即位寬時間是載波周期的64 倍,當載波頻率是125kHZ 時,每一位的持續(xù)時間是(1/125K)×64=512μ s。
第1頁第2頁 |