国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的915 MHz射頻讀卡器設計*

2011-01-22 03:35:50楊碧華文張斌
關鍵詞:射頻卡讀卡器計數(shù)器

楊碧華,文張斌

(1.暨南大學 信息科學技術學院,廣東 廣州 510632;2.暨南大學 信息技術研究所,廣東 廣州 510075)

基于FPGA的915 MHz射頻讀卡器設計*

楊碧華1,文張斌2

(1.暨南大學 信息科學技術學院,廣東 廣州 510632;2.暨南大學 信息技術研究所,廣東 廣州 510075)

參照ISO/IEC 18000-6 Type B協(xié)議設計了一款工作頻率為915 MHz的射頻讀卡器,采用FPGA完成協(xié)議中規(guī)定的數(shù)字信號處理,C8051F020單片機作為主控器。利用Verilog HDL硬件描述語言,搭建FPGA內(nèi)部各個小模塊及系統(tǒng)的驗證平臺,選用Altera公司Cyclone系列的EP1C6Q240C8芯片為目標器件,使用Quartus II進行綜合,并通過時序和功能驗證。實驗結果表明,該讀卡器符合ISO/IEC 18000-6 Type B 協(xié)議要求,具有結構靈活、體積小、升級容易等優(yōu)點。

射頻識別;讀卡器;FPGA;C8051F020

射頻識別(RFID)技術是一種非接觸式的自動識別技術,通過射頻信號自動識別目標對象并獲取相關信息。通常RFID系統(tǒng)主要由應用軟件、射頻卡以及讀卡器三部分構成[1]。相對于低頻段的RFID系統(tǒng),工作在860MHz~960 MHz的超高頻段(UHF)RFID系統(tǒng)有著讀取距離遠、閱讀速度快等優(yōu)點,是目前國際上RFID技術發(fā)展的熱點[2]。讀卡器的設計是RFID系統(tǒng)設計中的關鍵部分,設計方案有很多種。FPGA[3]具有開發(fā)簡單、靜態(tài)可重復編程和動態(tài)在線編程的特點,已經(jīng)成為當今應用最廣泛的可編程專用集成電路。目前生產(chǎn)RFID產(chǎn)品的很多公司都使用自己的標準,可供射頻卡使用的幾種標準有ISO/IEC 11784、ISO/IEC 14443、ISO/IEC 15693 和 ISO/IEC 18000等。其中應用最多的是ISO/IEC 14443、ISO/IEC 15693和 ISO/IEC 18000這三個標準[4]。本文基于 ISO/IEC 18000-6 Type B協(xié)議設計了一款工作頻率為915 MHz的讀卡器。

1 讀卡器的硬件設計

讀卡器的硬件可以分為三大模塊:FPGA數(shù)字信號處理模塊、MCU及人機接口模塊和射頻收發(fā)模塊,其結構框圖如圖1所示。FPGA數(shù)字信號處理模塊用來實現(xiàn)ISO/IEC 18000-6 Type B 協(xié)議中規(guī)定的基帶數(shù)據(jù)編解碼,MCU及人機接口模塊用來實現(xiàn)指令的跳轉(zhuǎn)控制和返回數(shù)據(jù)的顯示等一些操作接口,射頻收發(fā)模塊用來處理前端的超高頻信號。

1.1 FPGA數(shù)字信號處理模塊

FPGA數(shù)字信號處理模塊包含時鐘分頻模塊、FIFO、曼徹斯特編碼器、CRC生成校驗、FM0解碼器、串并變換電路及對應的幀發(fā)送接收控制器,其結構框圖如圖2所示。

該模塊的內(nèi)部工作流程如下:

(1)發(fā)送部分

①數(shù)據(jù)通信接口8 bit并行接收來自MCU的命令數(shù)據(jù),數(shù)據(jù)在FIFO中緩沖。

②數(shù)據(jù)做并行到串行的轉(zhuǎn)換。

③在發(fā)送控制器的控制下,串行數(shù)據(jù)通過CRC模塊,生成16 bit的CRC校驗值,并附加在原數(shù)據(jù)的后面。

④根據(jù)ISO/IEC 18000-6 Type B協(xié)議規(guī)定,把上述的數(shù)據(jù)進行曼徹斯特編碼。

⑤把已經(jīng)過曼徹斯特編碼的數(shù)據(jù)引向一個已預置幀頭的移位寄存器,數(shù)據(jù)一到便啟動移位寄存器,然后把輸出數(shù)據(jù)傳送給射頻收發(fā)模塊。

(2)接收部分

①從射頻收發(fā)模塊接收一幀基帶信號,用移位寄存器來檢測幀頭。若檢測到幀頭,則發(fā)一個收到幀頭的信號給接收控制器。

②若接收控制器接收到幀頭的信號,則馬上啟動FM0解碼。

③解碼后的數(shù)據(jù)傳送給串/并行的轉(zhuǎn)換電路,轉(zhuǎn)換后的數(shù)據(jù)暫存在FIFO。

④同時解碼后的數(shù)據(jù)也送給CRC模塊進行校驗,若校驗結果錯誤,則清除存于FIFO中的數(shù)據(jù),通知MCU其接收的數(shù)據(jù)錯誤;若校驗結果正確,則把FIFO中的數(shù)據(jù)傳送給MCU。

1.2 MCU及人機接口模塊

MCU及人機接口模塊以C8051F020單片機[5]為核心,由 FPGA接口、LCD、PS/2鍵盤、UART接口以及JTAG接口等外圍電路組成,其結構框圖如圖3所示。

該模塊實現(xiàn)的功能有:(1)C8051F020負責整個讀卡器內(nèi)各部分的協(xié)調(diào)工作(包括與計算機的數(shù)據(jù)通信);(2)在啟動時向FPGA傳送配置數(shù)據(jù),初始化FPGA;(3)在讀卡過程中向FPGA傳送讀卡命令,然后通過INT1中斷啟動接收FPGA信號;(4)處理接收回來的射頻卡信息(卡號、密碼等);(5)實現(xiàn)二進制樹形防碰撞功能;(6)驅(qū)動LCD,顯示系統(tǒng)的提示信息;(7)擴展一個 PS/2鍵盤,可以輸入數(shù)據(jù)及命令;(8)控制 TR1000芯片,設置 OOK發(fā)射方式或ASK接收方式;(9)控制發(fā)射功率大?。唬?0)擴展EEPROM,存儲讀出的射頻卡的信息。

1.3 射頻收發(fā)模塊

超高頻段射頻收發(fā)模塊的開發(fā)一般可以采用兩種方案:一是采用分立元件搭建射頻電路;二是采用無線射頻收發(fā)模塊以實現(xiàn)基帶信號的調(diào)制解調(diào)[6]。由于第一種方法的電路調(diào)試比較麻煩,而且會占用很長的開發(fā)時間,所以本設計采取第二種方案。

ISO/IEC 18000-6 Type B 協(xié)議規(guī)定讀卡器到射頻卡端的射頻調(diào)制方式為調(diào)制深度為99%的ASK調(diào)制,也就是可以近似看作為OOK調(diào)制;而射頻卡到讀卡器端的射頻調(diào)制方式為反向散射調(diào)制,其調(diào)制方式與ASK調(diào)制類似,所以在解調(diào)端可以按照ASK方式解調(diào)。射頻收發(fā)模塊的核心芯片采用RFM公司的TR1000芯片。TR1000是一款單片OOK/ASK通用無線射頻收發(fā)器芯片,適合高穩(wěn)定、小尺寸、低功率、低價格的短距離無線數(shù)據(jù)通信和無線控制應用。

2 讀卡器的軟件系統(tǒng)設計

軟件設計采用模塊化和結構化的編程思想,在初始化的時候由單片機配置FPGA。考慮到C語言可讀性強,移植性好以及MCU的實際情況,本設計采用C語言對C8051F020進行編程。讀卡器的軟件系統(tǒng)大致可以分為:讀寫卡操作程序、防沖突程序和串行通信程序。

2.1 讀寫卡操作程序

讀寫卡操作程序完成基于ISO/IEC 18000-6 Type B協(xié)議的基帶信號編解碼,其程序設計流程圖如圖4所示。

具體工作過程如下:(1)上電復位,系統(tǒng)初始化,包括單片機時鐘、端口、LCD、定時器的初始化,配置FPGA和開中斷。(2)等待接收上位機或鍵盤發(fā)送的指令。(3)對指令進行判斷,如果為多卡操作,則進入防沖突子程序;如果為單卡操作,則直接進行讀卡、寫卡、值操作和中止操作。(4)若操作成功,所得數(shù)據(jù)回傳給上位機,同時驅(qū)動LCD顯示操作成功信息;若操作失敗,則驅(qū)動LCD顯示操作失敗信息。

2.2 防沖突程序

當讀卡器對射頻卡進行多卡操作時,在其天線覆蓋范圍內(nèi)的所有射頻卡將被激活,并處于識別狀態(tài),造成了多張射頻卡讀寫沖突。所以解決沖突是多卡操作的關鍵。ISO/IEC 18000-6 Type B協(xié)議詳細規(guī)定了防沖突機制,其程序設計流程圖如圖5所示。該防沖突機制的原理是利用隨機產(chǎn)生的0和1信號實現(xiàn)二進制樹形搜索,并且設定了成功命令,進一步提高了搜索的效率,是一種二進制樹形的防沖突算法[7]。具體實現(xiàn)過程為:首先,射頻卡進入讀卡器的工作范圍,從離場掉電狀態(tài)進入就緒狀態(tài)。讀卡器可以通過 GroupSeleet命令和GroupUnseleet命令讓讀卡器工作范圍內(nèi)處于就緒狀態(tài)的所有或部分的射頻卡參與防沖突過程。針對該模式的防沖突機制,射頻卡應該具有如下兩種硬件電路:一個8 bit的計數(shù)器和一個0、1隨機數(shù)發(fā)生器。當射頻卡進入識別狀態(tài)(ID狀態(tài))后,將其內(nèi)部的計數(shù)器清 0,其中的一部分可以通過接收GroupUnselect命令重新回到就緒狀態(tài),其他處于識別狀態(tài)的射頻卡則進入了防沖突執(zhí)行的過程中。被選中的射頻卡開始下面的循環(huán):(1)所有處于識別狀態(tài)并且內(nèi)部計數(shù)器為0的射頻卡將發(fā)送其識別碼;(2)如果有一個以上的射頻卡發(fā)送識別碼時,讀卡器將檢測到?jīng)_突而發(fā)送Fail命令;(3)所有接收到Fail命令并且內(nèi)部計數(shù)器不等于0的射頻卡將把本身的計數(shù)器加1;所有接收到Fail命令并且內(nèi)部計數(shù)器等于0的射頻卡(即剛剛發(fā)送過應答的射頻卡)將產(chǎn)生一個1或0的隨機數(shù)。如果選擇了1,射頻卡將把自己的計數(shù)器加1;如果選擇了0,射頻卡將保持計數(shù)器為 0并且再次發(fā)送它們的識別碼。在接下來的過程中會出現(xiàn)4種可能的情況;(4)情況1:如果有一個以上的射頻卡發(fā)送,將重復步驟(2);(5)情況 2:如果所有的射頻卡都隨機選擇了1,讀卡器將接收不到應答,此時,讀卡器將會發(fā)送Success命令,所有的射頻卡的計數(shù)器減1,然后計數(shù)器等于 0的射頻卡開始發(fā)送,接著重復步驟(2);(6)如果只有一個射頻卡發(fā)送并且它的識別碼被讀卡器正確接收,讀卡器將發(fā)送包含識別碼的DataRead命令,射頻卡正確接收該條命令后將進入數(shù)據(jù)交換狀態(tài),開始發(fā)送它的數(shù)據(jù)。此后,讀卡器將發(fā)送Success命令,使處于識別狀態(tài)的射頻卡的計數(shù)器減 1;(7)情況 3:如果只有一個射頻卡的計數(shù)器等于0并且返回應答,重復步驟(5)讀卡器發(fā)Success命令或重復步驟(6)發(fā)送DataRead命令;如果有一個以上的射頻卡返回應答,重復步驟(2);(8)情況4:如果只有一個射頻卡返回應答,并且它的識別碼未被正確接收,讀卡器將發(fā)送一個Resend命令。如果識別碼被正確接收,重復步驟(5)。如果識別碼被重復幾次的接收(這個次數(shù)可以基于系統(tǒng)所希望的錯誤處理標準來設定),就假定有一個以上的射頻卡在響應,重復步驟(2)。

經(jīng)過如上的防沖突過程,射頻場內(nèi)的射頻卡將可以逐一被識別并進行數(shù)據(jù)交換。

2.3 串行通信程序

系統(tǒng)使用PC機作為上位機,讀卡器作為下位機。上位機與下位機之間的通信采用基于RS-232-C的串口通信。RS-232-C是一種串行通信總線標準,是數(shù)據(jù)終端設備(DTE)和數(shù)據(jù)通信設備(DCE)之間的接口標準,不同廠家生產(chǎn)的設備,只要它們都具有RS-232-C標準接口,則不需要任何轉(zhuǎn)換電路,就可以互相插接起來。

串行通信程序是MCU與PC機通信的控制程序。發(fā)送程序采用查詢的方式設計,即把待發(fā)送的數(shù)據(jù)先送到緩沖區(qū)中,然后查詢串口發(fā)送中斷標志是不是有空,若有空就發(fā)送下一個數(shù)據(jù)。

接收程序采用中斷的方式設計,即當PC機要發(fā)數(shù)據(jù)給MCU時,主動向MCU申請中斷,接收中斷標志有效,則PC向MCU傳送數(shù)據(jù)。

3 驗證方案

3.1 驗證平臺的建立

為了驗證所設計的讀卡器能否完成預期的功能,設計了相應的驗證平臺[8]。驗證平臺由數(shù)據(jù)解碼通道、數(shù)據(jù)編碼通道以及指令分析器三部分組成。數(shù)據(jù)解碼通道是對讀卡器發(fā)送出的數(shù)據(jù)幀進行解碼,提取指令的原始數(shù)據(jù);指令分析器是對收到的指令數(shù)據(jù)進行判斷,同時返回相應的數(shù)據(jù)并發(fā)送給數(shù)據(jù)編碼通道;數(shù)據(jù)編碼通道則是對發(fā)送來的數(shù)據(jù)進行編碼,再發(fā)送給讀卡器。

平臺采用Verilog HDL硬件語言搭建,選用Altera公司Cyclone系列的EP1C6Q240C8芯片為目標器件,使用Quartus II進行綜合驗證,其結構框圖和電路原理圖分別如圖 6、圖7所示。

3.2 測試結果分析

(1)時序分析

通過運行QuartusII 7.1自帶的時序分析器,可以得到時序分析的一些參數(shù):tsu(輸入建立時間)、tco(時鐘到輸出延時)、th(保持時間)分別為 3.530 ns、13.174 ns、0.751 ns。基頻時鐘clk最大可以達到89.06 MHz,而ISO/IEC 18000-6 Type B協(xié)議規(guī)定的基頻時鐘為40 kHz。從分析本系統(tǒng)的時序結果顯示,完全符合協(xié)議要求。具體的時序分析結果如圖8所示。

(2)功能分析

功能分析以GROUP_SELECT_LT命令為例。GROUP_SELECT_LT命令是多卡操作中的組選命令,射頻卡接到此命令,卡內(nèi)指定地址的數(shù)據(jù)與幀中提供的數(shù)據(jù)進行對比。若卡內(nèi)數(shù)據(jù)較小,則返回射頻卡的64 bit序列號,否則不作任何響應。GROUP_SELECT_LT命令的命令號為 03,地址設為 0F,掩碼設為 FF,64 bit數(shù)據(jù)全設為F,所以從MCU傳給FPGA的命令數(shù)據(jù)為03_0F_FF_FFFF_FFFF_FFFF_FFFF。原始數(shù)據(jù)經(jīng)過FPGA數(shù)字信號處理模塊處理后,就成了一幀基帶數(shù)據(jù)信號。驗證平臺將讀卡器發(fā)來的數(shù)據(jù)幀進行解碼,然后判斷指令并返回射頻卡的64 bit序列號,經(jīng)編碼后成一幀數(shù)據(jù)幀發(fā)送給讀卡器。讀卡器收到此幀后即解碼,并進行CRC校驗,若都沒有錯,則把解碼后的數(shù)據(jù)傳輸給MCU。

GROUP_SELECT_LT命令仿真波形圖如圖9所示,實驗證明可實現(xiàn)ISO/IEC 18000-6 Type B協(xié)議。

圖9 GROUP_SELECT_LT命令仿真波形圖

隨著RFID相關國際標準的確立 (如ISO/IEC 18000)RFID的研發(fā)已成為國際性的課題。在諸多RFID工作頻段中,UHF頻段的RFID技術前景最為看好,也成為現(xiàn)今RFID技術領域研究的熱點。

[1]周曉光,王曉華.射頻識別(RFID)技術原理與應用實例[M].北京:人民郵電出版社,2006.

[2]倪榮生.超高頻RFID系統(tǒng)的發(fā)展和趨勢分析[J].中國防偽報道,2007(11):41-47.

[3]劉韜,樓興華.FPGA數(shù)字電子系統(tǒng)設計與開發(fā)實例[M].北京:人民郵電出版社,2006.

[4]ISO/IEC JTC1/SC31/WG4N0722.ISO/IEC FDIS 18000-6:2003(E)[S].Geneva:ISO copyright office,2003.

[5]張迎新,雷文,姚靜波.C8051F系列SOC單片機原理及應用[M].北京:國防工業(yè)出版社,2005.

[6]范佳林.915MHz RFID閱讀器設計[D].大連:大連理工大學,2006.

[7]陸永寧.非接觸IC卡原理與應用[M].北京:電子工業(yè)出版社,2006:94-97.

[8]CILETTI M D.Verilog HDL高級數(shù)字設計[M].張雅綺,李鏘,等譯.北京:電子工業(yè)出版社,2005.

Design of 915 MHz radio frequency reader based on FPGA

Yang Bihua1,Wen Zhangbin2

(1.College of Information Science and Technology,Jinan University,Guangzhou 510632,China;2.Institute of Information Technology,Jinan University,Guangzhou 510075,China)

Based on ISO/IEC 18000-6 Type B protocol,a 915MHz RFID reader was designed.FPGA was used to process the digital signal that was based on the protocol and C8051F020 was used as the controller.Each module in FPGA and verification module were designed by Verilog HDL.They were synthesized by Quartus II with EP1C6Q240C8 CMOS chip of the Altera as the target device,and they were verified on both timing and function.The result showed that it could satisfy the technology index of ISO/IEC18000-6 Type B requests and possesses the advantages of flexible structure,small size,easily upgrading and so on.

RFID;reader;FPGA;C8051F020

TP338.1

A

1674-7720(2011)03-0022-04

國家自然科學基金項目(60505018);廣東省自然科學基金項目(8451063201000361)

2010-09-01)

楊碧華,男,1983年生,碩士生,主要研究方向:智能建筑,網(wǎng)絡技術與系統(tǒng)集成。

猜你喜歡
射頻卡讀卡器計數(shù)器
采用虛擬計數(shù)器的電子式膜式燃氣表
煤氣與熱力(2022年2期)2022-03-09 06:29:30
與淘汰命運抗爭 看懂筆記本的讀卡器
遠程農(nóng)用機井水電計量設備設計與研制
一種改進的加密算法射頻卡讀寫系統(tǒng)設計
基于EMV非接通信規(guī)范的非接觸讀卡器設計
為二維碼識別的獻禮之作——評測平治二維碼門禁讀卡器
基于MF—RC500射頻卡讀寫系統(tǒng)設計
計數(shù)器競爭冒險及其處理的仿真分析
MATLAB實現(xiàn)組態(tài)王中TCP/IP讀卡器監(jiān)控方法
井下人員定位系統(tǒng)的設計與實施
電子世界(2014年15期)2014-04-29 06:20:15
兰溪市| 开江县| 绩溪县| 梅河口市| 维西| 澄迈县| 章丘市| 盐源县| 新闻| 田东县| 大同市| 长沙市| 岳普湖县| 江西省| 镇平县| 绥宁县| 南岸区| 二连浩特市| 广南县| 横山县| 陵水| 万年县| 齐河县| 青阳县| 新建县| 阿拉善左旗| 牙克石市| 朝阳县| 永靖县| 通山县| 多伦县| 青川县| 五河县| 府谷县| 崇仁县| 宁夏| 许昌市| 白水县| 花莲县| 怀远县| 遂昌县|