基于FPGA的RFID讀寫(xiě)器設計
射頻接口MF RC500芯片上帶有A0、A1、A2三根地址線(xiàn),用于對內部寄存器的尋址,同時(shí)DO~D7八根數據線(xiàn)支持地址線(xiàn)、數據線(xiàn)復用。在本設計中不采用數據線(xiàn)、地址線(xiàn)復用的接法,采用獨立的數據線(xiàn)、地址線(xiàn)的接法。芯片內有64個(gè)寄存器,由處理器向芯片相應的寄存器位配置數據;由處理器讀取寄存器的相應狀態(tài)標志來(lái)監控芯片當前所處的狀態(tài),從而決定下一步的操作。由于片內的64個(gè)寄存器尋址需要6根地址線(xiàn),當采用獨立的地址線(xiàn)時(shí),由于地址線(xiàn)只有3根,支持不了64個(gè)寄存器的尋址,為此芯片采用了分頁(yè)機制。64個(gè)寄存器被分成8頁(yè),每頁(yè)8個(gè),3根地址線(xiàn)恰好可以實(shí)現對每一頁(yè)內的8個(gè)寄存器尋址,而對于寄存器頁(yè)的選擇,需要配置Page寄存器的0、l、2位。Page寄存器的第7位用來(lái)選擇是否采用獨立的地址線(xiàn),芯片復位后,Page寄存器的默認值為80H,即默認采用獨立的地址線(xiàn)尋址方式,Page寄存器的0、l、2位僅
當第7位為1時(shí)才有效。芯片上的雙向數據線(xiàn)DO~D7同處理器的I/O口直接相連,用來(lái)實(shí)現芯片間數據的雙向并行傳輸。
1.2 天線(xiàn)
天線(xiàn)在整個(gè)系統中起著(zhù)重要的作用,在非接觸式卡與讀寫(xiě)器之間的能量與數據傳遞要通過(guò)天線(xiàn)線(xiàn)圈產(chǎn)生的磁通量實(shí)現??梢赃x擇2種不同的天線(xiàn)連接到讀卡器上:50 Ω匹配的天線(xiàn)或者直接匹配的天線(xiàn)。本方案中采用的是YW-300天線(xiàn),工作距離可以達到10cm。
1.3 數字模塊
數字模塊由處理器、存儲器組成。處理器的功能有:實(shí)現與PC機通信,接收PC機命令并完成解析;將送來(lái)的EPC卡號加算CRC校驗上傳PC機;解決多卡碰撞,實(shí)現多卡讀??;實(shí)現對射頻模塊的鎖相環(huán)頻率控制以及功率控制。
FPGA的工作過(guò)程:上電復位后,接收上位機初始化配置命令和數據,進(jìn)行相應配置;若有命令傳送過(guò)來(lái),則通過(guò)接口模塊接收上位機傳送過(guò)來(lái)的命令;命令接收完后,進(jìn)入指令分析狀態(tài),對接收到的命令進(jìn)行分析判斷。
在主控狀態(tài)機的控制下,發(fā)送模塊將把命令和內容組成數據塊,進(jìn)行基帶編碼、循環(huán)冗余校驗生成,并打包成符合協(xié)議規定的數據幀,傳送給射頻收發(fā)模塊,由其完成對信號的調制、放大、發(fā)射。電子標簽根據接收的數據幀,進(jìn)行指令分析,根據指令執行相應的功能。接收模塊檢測回波數據,當檢測到回波數據的幀頭有效時(shí)接收數據。同時(shí)將接收到的數據送CRC校驗模塊校驗,校驗成功即產(chǎn)生CRC OK=‘1’表示讀卡成功。
1.3.1 發(fā)送編碼模塊
在ISO/IECl4443 Type A協(xié)議中,讀寫(xiě)器到標簽的通信采用改進(jìn)的Miller編碼方式,其標準中定義了三種序列:(A)經(jīng)64個(gè)時(shí)鐘后應有一個(gè)凹槽;(B)1個(gè)位內(128個(gè)時(shí)鐘)沒(méi)有調制;(c)1個(gè)位起始時(shí)有一個(gè)凹槽。這三種序列用于進(jìn)一步編碼。邏輯1用序列(A)表示。邏輯0通常用序列(B)表示,但在a.有兩個(gè)或兩個(gè)以上連續的0時(shí),從第二個(gè)0開(kāi)始要用序列(c)來(lái)表示所有相連的0;b.直接與起始幀相連的所有0用序列(c)表示。通信開(kāi)始用序列(c)表示。通信結束用邏輯0跟序列(B)表示。無(wú)信息用至少兩個(gè)序列(B)表示。如圖2所示改進(jìn)的Miller編碼波形。本文引用地址:http://dyxdggzs.com/article/157117.htm
從波形中可以看出,若輸入1,則64個(gè)時(shí)鐘后輸出一個(gè)脈沖,若輸入0,則128個(gè)時(shí)鐘內沒(méi)有脈沖輸出,而當有兩個(gè)連續的0輸入時(shí),則在第二個(gè)0起始處輸出一個(gè)脈沖。通過(guò)對照理論波形,可以看出編碼完全正確,符合設計要求。
1.3.2 接收解碼模塊
在射頻收發(fā)模塊中進(jìn)行解調處理而得到的基帶信號將被送入FPGA進(jìn)行Manchester解碼、CRC校驗,并在主控狀態(tài)機的控制下通過(guò)RS232將數據傳送給上位機。在ISO/IECl4443 Type A協(xié)議中,電子標簽到讀寫(xiě)器的通信采用Manchester編碼方式,其編碼規則是:某比特位的值由該比特長(cháng)度內半個(gè)比特周期時(shí)電平的變化來(lái)表示,負跳變表示‘1’,正跳變表示‘0’。Manchester解碼即對Manchester編碼信號位的1/4和3/4處采樣,若采樣結果為(1,0),則解碼數據為1;若采樣結果為(0,1),則解碼數據為0。如圖3所示Manchester解碼波形。輸入數據為
l00100l1,解碼所得數據為147,用二進(jìn)制表示也即100100ll,可見(jiàn)解碼完全正確,符合設計要求。
評論