基于FPGA器件和VHDL語(yǔ)言實(shí)現(xiàn)EPCClass1讀寫器系統(tǒng)的設(shè)計(jì)_第1頁(yè)
基于FPGA器件和VHDL語(yǔ)言實(shí)現(xiàn)EPCClass1讀寫器系統(tǒng)的設(shè)計(jì)_第2頁(yè)
基于FPGA器件和VHDL語(yǔ)言實(shí)現(xiàn)EPCClass1讀寫器系統(tǒng)的設(shè)計(jì)_第3頁(yè)
基于FPGA器件和VHDL語(yǔ)言實(shí)現(xiàn)EPCClass1讀寫器系統(tǒng)的設(shè)計(jì)_第4頁(yè)
基于FPGA器件和VHDL語(yǔ)言實(shí)現(xiàn)EPCClass1讀寫器系統(tǒng)的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于FPGA器件和VHDL語(yǔ)言實(shí)現(xiàn)EPCClass1讀寫器系統(tǒng)的設(shè)計(jì)1引言射頻識(shí)別技術(shù)(RFID)是利用射頻方式進(jìn)行遠(yuǎn)距離通信以達(dá)到物品識(shí)別目的,可用來追蹤和管理幾乎所有物理對(duì)象。在工業(yè)自動(dòng)化、商業(yè)自動(dòng)化、交通運(yùn)輸控制管理、防偽等眾多領(lǐng)域,甚至軍事用途都具有廣泛的應(yīng)用前景,并且引起了廣泛的關(guān)注。RFID系統(tǒng)一般包括讀寫器和電子標(biāo)簽(或稱應(yīng)答器)2個(gè)部分。RFID電子標(biāo)簽(Tag)由芯片與天線(Antenna)組成,每個(gè)標(biāo)簽具有惟一的電子編碼。標(biāo)簽附在物體上以標(biāo)識(shí)目標(biāo)對(duì)象。RFID讀寫器(Reader)的主要任務(wù)是控制射頻模塊向標(biāo)簽發(fā)射讀寫信號(hào),并接收標(biāo)簽的應(yīng)答。對(duì)標(biāo)簽信息進(jìn)行解碼,并將信息傳輸?shù)街鳈C(jī)以供處理。根據(jù)應(yīng)用的不同,閱讀器可以是手持式或固定式。本文重點(diǎn)介紹的就是讀寫器的開發(fā)。EPC規(guī)范已經(jīng)頒布第一代規(guī)范。規(guī)范把標(biāo)簽細(xì)分為Class0,Class1,Class2三種。其中Class0和Class1標(biāo)簽都是一次寫入多次讀取標(biāo)簽,Class0標(biāo)簽只能由廠商寫入信息,用戶無(wú)法修改,因而又稱為只讀標(biāo)簽,主要用于供應(yīng)鏈管理)Class1則提供了更多的靈活性,信息可由用戶寫入一次。Class0和Class1標(biāo)簽采用不同的空中接口標(biāo)準(zhǔn)進(jìn)行通信,因此兩類標(biāo)簽不能互操作。Class2標(biāo)簽具備多次寫入能力,并增加了部分存儲(chǔ)空間用于存儲(chǔ)用戶的附加數(shù)據(jù)。Class2標(biāo)簽允許加入安全與訪問控制、感知網(wǎng)絡(luò)和AdHoc網(wǎng)絡(luò)等功能支持。目前EPCglobal正在制定第二代標(biāo)簽標(biāo)準(zhǔn),即UHFClasslGeneration2(C1G2)。C1G2具有隨時(shí)更新標(biāo)簽內(nèi)容的能力,保證標(biāo)簽始終保存最新信息。EPC規(guī)范l_0版本包括EPCTag數(shù)據(jù)規(guī)范、Class0(900MHz)標(biāo)簽規(guī)范、C1ass1(13.56MHz)標(biāo)簽接口規(guī)范、Classl(860~930MHz)標(biāo)簽射頻與邏輯通訊接口規(guī)范、物理標(biāo)識(shí)語(yǔ)言(PhysicalMarkupLanguage,PML)。本文重點(diǎn)介紹EPCClass1讀寫器系統(tǒng)設(shè)計(jì)、數(shù)字部分設(shè)計(jì)及FPGA在數(shù)字實(shí)現(xiàn)上的應(yīng)用。由于U頻段RFID技術(shù)的應(yīng)用還處在早期的發(fā)展階段,符合EPCClass1協(xié)議的讀寫器在國(guó)內(nèi)還沒有相關(guān)產(chǎn)品面世。本文對(duì)相關(guān)開發(fā)有一定的參考價(jià)值。2EPCClasslb系統(tǒng)設(shè)計(jì)一個(gè)完整的RFID系統(tǒng)包括:讀寫器、天線、標(biāo)簽和PC機(jī)。讀寫器完成對(duì)標(biāo)簽(Tag)的讀寫操作。通過RS232或RS485總線完成PC機(jī)的命令接收和EPC卡號(hào)的上傳。圖l是讀寫器的系統(tǒng)組成框圖。讀寫器組成包括與PC機(jī)的串口通信部分、單片機(jī)和FPGA組成的數(shù)字部分、射頻部分。RF單元實(shí)現(xiàn)和標(biāo)簽的通信,數(shù)字部分完成對(duì)射頻部分的控制、回波命令解析PC機(jī)接收卡號(hào)實(shí)現(xiàn)上位機(jī)的控制。下面對(duì)各模塊做簡(jiǎn)單介紹。2.1PC端RFID系統(tǒng)一般要將標(biāo)簽信息讀取到計(jì)算機(jī)上,然后等待處理用戶通過PC機(jī)可以實(shí)現(xiàn)讀寫器控制,完成對(duì)標(biāo)簽的讀寫操作。讀寫器與PC機(jī)通信是基于RS232總線,糾錯(cuò)算法是CRC—CCITT算法。2.2射頻模塊讀寫器對(duì)標(biāo)簽的讀寫是通過發(fā)送射頻能量和對(duì)回波實(shí)現(xiàn)的。射頻模一方面將數(shù)字模塊送來的信息完成調(diào)制并發(fā)送。標(biāo)簽應(yīng)答,射頻模塊接收回波信號(hào)將他解調(diào)成基帶信號(hào),送到數(shù)字模塊。2.3數(shù)字模塊數(shù)字模塊由單片機(jī)(cygnalC8O51F126)、存儲(chǔ)器(24Cz56),F(xiàn)PGA(xlSlOO)組成單片機(jī)的功能有:(1)實(shí)現(xiàn)與PC機(jī)通信,接收PC機(jī)命令,完成解析下傳到FPGA(2)將FPGA送來的EPC卡號(hào)加算CRC—CCITT校驗(yàn)上傳PC機(jī)。擇Xilinx公司ISE6.2,仿真軟件為Modelsim5.7。設(shè)計(jì)實(shí)現(xiàn)采取原理圖和VHDL語(yǔ)言相結(jié)合的原則。頂層模塊采用原理圖設(shè)計(jì),功能模塊采用VHDL語(yǔ)言實(shí)現(xiàn)。(3)解決多卡碰撞,實(shí)現(xiàn)多卡讀取。由于FPGA實(shí)現(xiàn)多卡讀取算法非常消耗FPGA資源,而且需要FPGA有大量的存儲(chǔ)器資源存放讀到的卡號(hào),成本較高。而如果由PC機(jī)實(shí)現(xiàn)多卡讀取算法,則讀取速度很難提高。(4)實(shí)現(xiàn)對(duì)射頻模塊的鎖相環(huán)頻率控制以及功率控制讀寫器發(fā)射功率常需要調(diào)整,而且讀寫器有時(shí)需要在不同射頻頻率,甚至跳頻下工作。單片機(jī)通過對(duì)射頻模塊的鎖相環(huán)控制實(shí)現(xiàn)對(duì)射頻頻率和功率的控制。單片機(jī)采用CYGNAL公司的C8051F126。內(nèi)部有128k的FLASH存儲(chǔ)器和8k的RAM,可以在5OMHz主頻下工作。FPGA實(shí)現(xiàn)EPCClassl通信協(xié)議,接收單片機(jī)控制命令,將命令按照協(xié)議標(biāo)準(zhǔn)編碼送到射頻模塊調(diào)制并發(fā)送,然后解調(diào)并接收射頻模塊送來的回波基帶信號(hào),將得到的標(biāo)簽信息發(fā)送給單片機(jī)。FPGA實(shí)現(xiàn)的EPCClassl命令的基本命令包括scrollid,scrollallid,pinged,quiet,talk,kill;編程命令programid,verifyid,lockid,eraseid這些命令包括命令的發(fā)送和回波的解析。根據(jù)發(fā)送命令不同,對(duì)應(yīng)的發(fā)送命令格式也不相同,分為2類。回波信號(hào)格式也根據(jù)命令的不同分為2類。下面介紹FPGA實(shí)現(xiàn)的EPCClass1協(xié)議。3FPGA實(shí)現(xiàn)的信號(hào)調(diào)制解調(diào)3.1FPGA器件及開發(fā)平臺(tái)FPGA選擇Xilinx公司的SPARTIIXC2S100規(guī)模為1O萬(wàn)門,系統(tǒng)時(shí)鐘選擇40MHz,滿足要求。開發(fā)軟件選擇Xilinx公司ISE6.2,仿真軟件為Modelsim5.7。設(shè)計(jì)實(shí)現(xiàn)采取原理圖和VHDL語(yǔ)言相結(jié)合的原則。頂層模塊采用原理圖設(shè)計(jì),功能模塊采用VHDL語(yǔ)言實(shí)現(xiàn)3.2結(jié)構(gòu)框圖從系統(tǒng)的結(jié)構(gòu)圖可以看出FPGA實(shí)現(xiàn)的調(diào)制解調(diào)部分包括:?jiǎn)纹瑱C(jī)接口(單片機(jī)的命令接收模塊、向單片機(jī)發(fā)送數(shù)據(jù)模塊)、復(fù)位信號(hào)產(chǎn)生模塊、命令調(diào)制模塊、命令接收模塊。單片機(jī)向FPGA發(fā)送數(shù)據(jù)采用對(duì)地址操作方式,單片機(jī)對(duì)FPGA讀取數(shù)據(jù)采用查詢方式。FPGA整個(gè)工作過程:FPGA接收單片機(jī)控制命令,接收單片機(jī)命令模塊將所收到的命令賦值給相應(yīng)寄存器,同時(shí)復(fù)位信號(hào)產(chǎn)生模塊根據(jù)單片機(jī)發(fā)送的命令產(chǎn)生復(fù)位信號(hào)(單片機(jī)寫FPGA過程即為復(fù)位)。命令調(diào)制模塊根據(jù)單片機(jī)送來的命令以及相應(yīng)控制字,輸出相應(yīng)的調(diào)制信號(hào)(bit—sent)輸出到射頻模塊。接收模塊始終在檢測(cè)回波數(shù)據(jù),當(dāng)檢測(cè)到回波數(shù)據(jù)的幀頭有效時(shí)通知讀命令數(shù)據(jù)接收模塊接收數(shù)據(jù)。同時(shí)將接收到的數(shù)據(jù)送CRC校驗(yàn)?zāi)K校驗(yàn),數(shù)據(jù)接收完成,CRC校驗(yàn)也即完成,CRC校驗(yàn)?zāi)K校驗(yàn)成功即產(chǎn)生CRCOK=l表示讀卡號(hào)成功,單片機(jī)查詢到此位為高時(shí)通過MCU接口模塊讀卡號(hào)和CRC。在Ping命令時(shí),Ping命令接收模塊判斷命令發(fā)送模塊此時(shí)發(fā)送的命令類型。如果為Ping命令時(shí),則接收數(shù)據(jù),將接收的各槽數(shù)據(jù)及狀態(tài)信息放在BINDATA寄存器中。3.3關(guān)鍵功能模塊(1)命令調(diào)制模塊命令調(diào)制模塊發(fā)送的命令必須符合EPC規(guī)范對(duì)信息編碼要求以及命令格式要求。信息編碼占空比為1/8時(shí)鐘表示“0”,占空比為3/8時(shí)鐘表示“l(fā)”。命令格式要求如圖3所示,根據(jù)EPC規(guī)范,可以將命令格式分為3種,分別為ping命令格式、寫卡(program)命令格式、讀卡(scrolled)命令格式,具體命令格式參照文獻(xiàn)。命令調(diào)制模塊實(shí)現(xiàn)3種命令格式的調(diào)制。命令調(diào)制模塊設(shè)計(jì)采(2)Ping命令接收模塊回波編碼和發(fā)送編碼方式不同,Ping命令和scrollid命令回波編碼用“1010”表示l,用“l(fā)100”表示0。接收數(shù)據(jù)模塊必須將回波調(diào)制信號(hào)解調(diào)成~0,1信號(hào)。Ping命令是基本多卡操作命令。如圖3所示,Ping命令的標(biāo)簽應(yīng)答是在8個(gè)槽(bin)中應(yīng)答,對(duì)應(yīng)著不同的8組標(biāo)簽。這樣一次Ping命令可以判斷8組標(biāo)簽。提高了多卡效率.每一個(gè)槽(bin)信息用2個(gè)寄存器表示,BIN0(1:O)表示卡的狀態(tài)信息:有卡、無(wú)卡、多卡。BIN(7:O)表示槽的數(shù)據(jù)。單片機(jī)根據(jù)槽狀態(tài)信息決定是否讀取槽數(shù)據(jù).(3)scollid命令數(shù)據(jù)接收模塊scrollid以及scrollallid,verifyid命令的回波格式相同,接收方式相同.回波格式如圖4所示一幀完整回波包括幀頭(F7H),16位CRC,96位或64位EPCDATA。接收模塊采用檢測(cè)幀頭的方式,通過一個(gè)32位移位寄存器(1b數(shù)據(jù)由4個(gè)狀態(tài)信息表示)檢測(cè)幀頭,幀頭有效則讀數(shù)據(jù)模塊解調(diào)回波數(shù)據(jù),解調(diào)數(shù)據(jù)存儲(chǔ)在EPCDATA寄存器中。同時(shí)將檢測(cè)到的bits送到CRC校驗(yàn)。(4)CRC校驗(yàn)?zāi)KCRC模塊對(duì)數(shù)據(jù)接收模塊檢測(cè)到的數(shù)據(jù)按照CRC—CCITT算法校驗(yàn),校驗(yàn)通過則產(chǎn)生CRCOK=”1”。單片機(jī)根據(jù)此狀態(tài)讀取EPCDATA。CRC—CCITT算法實(shí)現(xiàn)采用串行方式。程序非常簡(jiǎn)單,而且節(jié)省FPGA資源。節(jié)選代碼如下:xOr_flag_en:process(elk)beginifelk==‘0’andelkeventthenifen==’l’thenifcrc_bur(15)==‘1’thencrcbur《=(crcbur(14downtoO)&data_in)xor”O(jiān)OO1OOOOOO1OOOO1”:xor_flag《=‘l’elseerc_buf《=crc_buf(14downtoO)&data_in:xor_flag《=‘0’;endif;elsecrc_buf《=”111ll111111llll1”;endif;endif;endprOcess4結(jié)語(yǔ)FPGA實(shí)現(xiàn)了對(duì)EPCClassl96位和64位卡的讀寫操作命令,讀寫成功率非常高,能實(shí)現(xiàn)8m距離的正常讀,多卡讀取速度快。讀寫器和標(biāo)簽的讀寫速率為上行70kb/s,下行140

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論