基于ARM的RFID閱讀器設計
3改進的防沖突算法
根據(jù)ISO14443協(xié)議,M1型卡傳統(tǒng)的防沖突算法是動態(tài)二進制檢索樹算法。它首先利用MANCHESTER編碼“沒有變化”的狀態(tài)來檢測碰撞位,然后把碰撞位設為二進制“1”,用SELECT命令發(fā)送碰撞前接收的部分卡片序列號和碰撞位,如果卡片開頭部分序列號與其相同,則做出應答,不相同則沒有響應。以此來縮小卡片范圍,最終達到無碰撞。圖3顯示了兩個卡片(PICC#1和PICC#2)的防碰撞流程。
但是,傳統(tǒng)的防碰撞方法要求所有應答器準確同步,應答器必須準確地在同一時刻開始傳輸他們的序列號。然而,在實際使用中,應答器由用戶控制,可能產生異步發(fā)送數(shù)據(jù),如果仍然采用傳統(tǒng)防沖突算法,有可能導致死循環(huán),如圖4所示。
為了解決死循環(huán)問題,在傳統(tǒng)算法的基礎上設置了一個記錄碰撞位數(shù)的變量,如果第二次碰撞位數(shù)和第一次相等,則把SELECT發(fā)送的部分卡號增加一位,設為二進制數(shù)“1”發(fā)送出去。如果在規(guī)定時間內沒有收到應答,則把增加位設為“0”發(fā)送出去。可以有效預防由于應答器異步導致的死循環(huán)問題。針對圖4的改進流程如圖5。
4結束語
本文給出了一個基于ARM的RFID閱讀器軟硬件框架,實現(xiàn)了對射頻卡的基本讀寫等功能。閱讀器采用的ARM微處理器,接口資源豐富,還有很多空閑接口,可在閱讀器的基礎上進行擴展,例如,可利用ARM的其它接口驅動電機,利用射頻卡對電機實現(xiàn)控制,只有卡內信息正確,系統(tǒng)才能向電機發(fā)出控制命令,從而在硬件上增加了安全性。另外,改進的防沖突算法也使讀卡器在應答器異步發(fā)送數(shù)據(jù)的情況下有效的避免死鎖。本文對實現(xiàn)帶有RFID功能的多功能系統(tǒng)有一定的參考價值和實用價值。
評論