康文廣,王輝映
(珠海優特電力科技股份有限公司,珠海519070)
射頻識別(Radio Frequency Identification,RFID)應用是目前發展最為迅速、潛力最大的新興技術之一,其利用射頻信號和空間耦合(電磁耦合或電磁傳播)傳輸特性,實現對被識別物體的自動識別。RFID技術正在逐步應用于物流管理、產品生產線、零售業、安保等諸多領域[1]。
本文以EM 4095和EM 4100芯片為例闡述曼徹斯特解碼方法。
如圖1所示,系統由讀卡器和非接觸式智能卡(下文簡稱RFID卡)組成。讀卡器主要由微控制器、芯片EM 4095和天線組成;智能卡由芯片EM 4100和天線組成。

圖1 RFID讀卡系統的構成
讀卡器不斷向周圍發射固定頻率為125 kHz的電磁波,RFID卡內有一個LC串聯諧振電路,其工作頻率與EM 4095相對應,也為125 kH z,這樣當RFID卡進入該磁場空間時,在電磁激勵下LC諧振電路產生共振。通過共振為RFID卡(EM 4100)提供了能量,于是RFID卡通過電磁耦合將自身的ID信息調制后按順序發送到EM 4095,芯片EM 4095獲得此信息后通過解調從引腳DEMOD_OUT輸出曼徹斯特碼到微控制器。
SHD為休眠控制引腳,高電平時進入休眠狀態。當實際應用中不需要進入休眠狀態時,可以把EM4095芯片的下拉到低電平,從而節省微控制器的一個I/O引腳。
如圖2所示,EM 4100包含64位信息,此信息分為5組:9位同步頭,10個行校驗位(P0~P9),4個列校驗位(PC0~PC3),40個數據位(D00~D93)和1個停止位(S0)。
同步頭由9個“1”組成,接著是10組4位數據和1位偶校驗位,然后是一組4列偶校驗位(不包含行校驗位)數據。S0是一個邏輯為0的停止位。
位“D00~D03”和“D10~D13”為用戶特殊標識(即用戶ID)。
這64位信息被順序輸出,當這64位信息輸出后將不斷循環輸出直到失去能量[2]。

圖2 EM4100信息編碼組成
曼徹斯特編碼如圖3所示,每一個比特位的中間總有一個跳變,由“0”跳變到“1”代表數據“1”,由“1”跳變到“0”代表數據“0”。調制控制低電平表示大電流。

圖3 曼徹斯特編碼
EM 4095芯片是一個CMOS集成收發器電路,用作RFID基站。它不需外部晶振,載波頻率為100~150 kHz,數據傳輸采用調幅方式(AM),兼容多種RFID卡傳輸協議(如EM 400X、EM4150、EM 4070等)。
如圖1所示,EM 4095芯片在使用時需要外接天線電路。該芯片的操作由SHD和MOD控制:當SHD為高電平時EM 4095處于休眠模式;當SHD為低電平時EM 4095被使能并產生射頻電磁場,開始解調天線上的任何調幅(AM)信號,數字信號通過DEMOD_OUT引腳輸出到微控制器以進行解碼和進一步處理[3]。其中,DEMOD_OUT引腳信號輸出為曼徹斯特碼。
對曼徹斯特碼進行解碼,主要是對DEMOD_OUT信號進行解碼。
①如圖4所示,根據天線上的信號[2],可知DEMOD_OUT信號與圖3所示的編碼正好相反。即由“1”跳變到“0”代表數據“1”,由“0”跳變到“1”代表數據“0”。

圖4 天線(線圈)上的信號
②由于RFID卡進入射頻場時,RFID卡將循環輸出自己的64位ID信息直到離開此射頻場,又由于曼徹斯特編碼表示一位數據由0或1兩個“半位”組成,于是DEMOD_OUT信號是一個以128個“半位”數據為周期的有限長度序列。
③由于載波頻率的變化為100~150 kHz,所以“一位”數據的脈寬為640~427μs,“半位”數據的脈寬為320~213.5μs。
原始數據與曼徹斯特編碼關系如圖5所示,所有的數據都可以分為這4種情況。可以用“前半位”的值來表示一位原始數據,只有當遇到連續相同的兩個“半位”數據(Case1和Case2)時才能判斷出“前半位”所在的位置,是“1”還是“0”等于這兩個連續相同半位值的相反值。

圖5 原始數據與曼徹斯特編碼關系
如果DEMOD_OUT信號與微控制器的普通I/O口相連接通過軟件延時的方法進行解碼,誤差較大且識別效率比較低。本文采用微控制器的捕獲中斷功能引腳與DEMOD_OUT引腳相連接。設置為邊沿方式觸發中斷,根據脈沖寬度的范圍,通過中斷捕獲得到128個“半位”數據,中斷捕獲流程如圖6所示。

圖6 捕獲中斷的處理流程
在處理這128個數據后,邏輯上把這128個“半位”數據當作一個環形緩沖區,通過判斷兩個連續相同半位值來判斷“前半位”位置,即這128個數據是奇數項還是偶數項有效。這個有效序列就是原始的64位數據,再把這64位數據邏輯上作為一個環形緩沖區,進行解碼。解碼流程如圖7所示。

圖7 解碼任務處理流程
在實際應用中,也可以在捕獲中斷中完成128位數據的采集后關閉中斷,而在解碼任務中采取每100m s查詢一次并打開中斷。采用這種解碼任務查詢方式可以有效避免由于讀卡器工況變化而導致的誤碼。
本文的解碼方法僅用微控制器的1個或2個引腳就可完成解碼,硬件接口電路簡單;算法全部采用C語言編寫,可移植性高,可以廣泛應用于門禁、考勤等多種系統中。
應用中可以采用中斷發消息通知解碼任務的方式,也可以采用解碼任務查詢的方式。采用解碼任務查詢的方式,經過多年的工程應用,證明此算法穩定可靠。
[1]王子奇.射頻識別技術基本工作原理和應用領域及發展狀況:第二十二界中國(天津)2008 IT、網絡、信息技術、電子、儀器儀表創新學術會議[C]:89.
[2]EM Microelectronic.EM 4100 datasheet,2010.
[3]EM Microelectronic.EM 4095 datasheet,2010.
[4]丁明軍,等.射頻卡應用中的曼徹斯特解碼技術[J].通信技術,2007(12):65.
[5]周元芳.H 4001非接觸式ID卡讀卡過程的研究[J].浙江水利水電專科學習學報,2003,15(1):5.