基于FPGA的RFID讀寫(xiě)器設計
2 系統軟件設計
2.1 主程序
讀寫(xiě)器上電復位后,對各功能模塊進(jìn)行初始化,然后發(fā)出詢(xún)卡/應答指令尋找有效范圍內的電子標簽。電子標簽在讀寫(xiě)器的閱讀范圍外為無(wú)電狀態(tài),不能進(jìn)行任何操作。當進(jìn)入讀寫(xiě)器的載波有效范圍內時(shí),電子標簽上電復位,進(jìn)入等待接收詢(xún)卡/應答指令的狀態(tài)。收到詢(xún)卡
指令后,電子標簽會(huì )發(fā)出自己獨有的ID碼,讀寫(xiě)器根據收到的IDR碼發(fā)出選卡指令,選擇該標簽進(jìn)行下一步的通信。
在應用中可能會(huì )遇到多個(gè)電子標簽同時(shí)在讀寫(xiě)器的有效工作范圍內的情況,這些標簽就會(huì )在收到詢(xún)卡指令后,同時(shí)發(fā)出自己的ID碼時(shí)發(fā)生互相沖突,因此就要求系統能夠具有防沖突的機制,才能從多個(gè)標簽中選擇出其中一個(gè)。主程序流程見(jiàn)圖4。
2.2 防碰撞算法
A型射頻卡采用了ISO/IECl4443系列協(xié)議,配合讀寫(xiě)器共同實(shí)現防碰撞的快速交互通信。為了從多張電子標簽中快速識別出一張來(lái)單獨進(jìn)行通信,A型卡采用了位碰撞監測協(xié)議實(shí)現防碰撞過(guò)程,即閱讀器對卡返回的唯一識別號(即UID)數據幀中的每一位進(jìn)行沖突監測。當多張A型射頻卡在同一時(shí)刻向讀寫(xiě)器傳送UID數據幀時(shí),一定會(huì )在同時(shí)返回的某一位上有不同的位值。根據Manchester編碼規則,這一位正負邊沿抵消了,故讀寫(xiě)器無(wú)法識別的該數據位即為碰撞位。碰撞位監測到后馬上啟動(dòng)防碰撞過(guò)程。讀寫(xiě)器主動(dòng)地發(fā)出一系列命令數據幀,主要是ANTICOLLISION命令和SELECT命令。射頻卡被動(dòng)地響應每一條指令完成交互的會(huì )話(huà)過(guò)程。
3 結束語(yǔ)
本設計在Modelsim SE6.1和Altera Quartus II 7.2中進(jìn)行了功能仿真和綜合,結果表明能夠滿(mǎn)足設計的需求。
評論