射頻卡應用中的曼徹斯特碼解碼技術
文章出處:http://5052h112.com 作者:丁明軍,徐建城 人氣: 發表時間:2011年09月29日
0 引言
射頻卡,也叫非接觸式IC 卡,目前正廣泛地應用于各個領域。射頻卡內集成了芯片、感應天線及電容等元件。讀寫時,將射頻卡靠近讀卡器,讀卡器天線發出的電磁波在射頻卡內的天線上產生感應電流,為卡內集成芯片提供能量。而該芯片內預先存儲有一個唯一身份辨識號碼,該號碼被編碼以后調制天線上的電流信號,再以電磁波的形式傳遞回讀卡器[1]。大多數射頻卡將卡內的身份辨識號碼(ID號碼)編碼為曼徹斯特碼,然后由單片機進行解碼。
然而,目前的很多單片機解碼程序采用定時查詢或考察信號的邊沿狀態的方式解碼,這些解碼方法對天線上的載波頻率要求比較高,對定時的準確度要求也比較高,當載波稍微偏離規定的范圍內時將不能正確讀卡。本文介紹了一種新的解碼技術,載波頻率的偏移對解碼沒有任何影響,而且不用檢測信號的邊沿狀態,從而更加可靠、快速地讀卡。
1 讀卡原理
現在以卡內封裝有EM4100 A6 芯片的只讀射頻卡為例來介紹這種曼徹斯特碼的解碼技術,其基本的原理如圖1所示。
當解碼芯片EM4095 的天線上產生諧振、有恒定125KHz左右的載波信號后,通過電磁場的感應,EM4100 的天線上也將產生同頻率的載波信號,EM4100 將卡內的64 位曼徹斯特編碼的身份辨識號碼調制到此載波信號上面,通過信號的耦合,EM4095 的天線上也產生帶有64 位ID 號碼的調制信號,然后通過EM4095的解調系統,濾除載波[2][3],將64 位數據傳送給單片機,由單片機再解碼出其中的ID 號碼。
射頻卡內的EM4100 芯片內部有預先存儲的不可改寫的64 位數據,當其通過天線向外輸出時,格式如圖2 所示[2]。
全部的64 位數據的開頭是由9 個1 組成的同步頭,由于數據和偶校驗的格式的原因,在后面的數據串中不會出現9個1,保證了數據頭的唯一性。同步頭之后是10 組4 位的數據Dxx,前兩組4 位數據是廠商號,后8 組4 位數據是32 位的內碼號。每一組4 位數據后面還跟有一位偶校驗位Px。最后一組4 位數據是對前面10 組數據各例的偶校驗位PCx。最后一位S0 是停止位,停止位恒為0。當傳送卡號時,這64 位數據通過載波在天線上首尾相接持續出現。
讀卡時,64 位數據依次以曼徹斯特編碼的格式輸出,調制天線上載波的電流大小,從而讓接收設備識別接收。接收方EM4095 將64 位數據從載波中檢出,然后以圖2 所示的順序送給單片機,由單片機進一步進行40 位ID 號的提取。由于信號發送方EM4100 與接收方EM4095 采用耦合方式傳輸信息,所以,實際在天線上的調制信號如圖3所示,這樣,在EM4100 的載波上用高電流代表邏輯0,而在EM4095 載波上用低電流代表邏輯0。
全文下載地址:http://www.yktchina.com/BBS/Read-b3-t7336.htm