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

?

基于K60的多協(xié)議防碰撞RFID讀卡器設(shè)計(jì)

2014-12-24 10:00:54孫奇燕王宜懷馮德旺
關(guān)鍵詞:讀卡器微控制器中斷

孫奇燕,王宜懷,馮德旺,景 林

(1.福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院,福建福州350002;2.蘇州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇蘇州215006)

無線射頻識(shí)別技術(shù)(RFID)作為一種利用射頻通信方法實(shí)現(xiàn)非接觸式、快速、實(shí)時(shí)地采集和處理數(shù)據(jù)的自動(dòng)識(shí)別和數(shù)據(jù)采集技術(shù),已經(jīng)廣泛應(yīng)用到生產(chǎn)、物流、醫(yī)療、交通運(yùn)輸?shù)缺姸囝I(lǐng)域[1-2].目前RFID在全球尚沒有一個(gè)成熟的統(tǒng)一標(biāo)準(zhǔn),主流的13.56 MHz的RFID標(biāo)準(zhǔn)有ISO/IEC14443A、ISO/IEC14443B以及ISO/IEC15693三種,其中,ISO/IEC15693讀寫距離較遠(yuǎn),可達(dá)1 m;而ISO/IEC14443A、ISO/IEC14443B讀寫距離稍近,大約7-15 cm,這3種協(xié)議都有著比較廣泛的應(yīng)用[3].市場(chǎng)上現(xiàn)有的13.56 MHz射頻讀卡器,一般只能支持一種固定的協(xié)議[4],而RFID應(yīng)用系統(tǒng)發(fā)展趨勢(shì)是朝著多接口、多制式、模塊化、防碰撞、嵌入式等方向發(fā)展[5].因此,本文提出一種13.56 MHz頻率RFID讀卡器軟硬件構(gòu)件化設(shè)計(jì)方案,它是以飛思卡爾公司的Kinetis 60系列微控制器為核心,采用TI公司的TRF7960芯片搭建射頻電路,可識(shí)別ISOIEC14443A、ISOIEC14443B以及ISOIEC15693三種協(xié)議的標(biāo)簽,具有防碰撞功能,解決了在讀寫器工作范圍內(nèi)多個(gè)標(biāo)簽同時(shí)通信所引起的相互干擾問題.該讀卡器配有以太網(wǎng)、USB、UART串口、SPI通信接口,擴(kuò)展了顯示、聲音等外圍設(shè)備,可應(yīng)用于多種場(chǎng)合.

1 讀卡器軟硬件構(gòu)件層次模型

RFID讀卡器的軟硬件構(gòu)件化設(shè)計(jì)層次模型如圖1所示.硬件構(gòu)件是指將一個(gè)或多個(gè)功能模塊、支撐電路及其功能描述封裝成為一個(gè)可重用的硬件實(shí)體,提供一系列規(guī)范的輸入、輸出接口.硬件構(gòu)件層根據(jù)硬件構(gòu)件存在形式的不同,可分為內(nèi)部硬件構(gòu)件和外部硬件構(gòu)件.內(nèi)部硬件構(gòu)件內(nèi)嵌在微控制器中,不需要添加額外的功能芯片,只需要相關(guān)的支撐電路即可實(shí)現(xiàn)其功能;外部硬件構(gòu)件則是由設(shè)計(jì)者自己設(shè)計(jì)完成的、位于微控制器外的外部功能模塊,它同時(shí)需要集成功能芯片及其支撐電路.軟件構(gòu)件的設(shè)計(jì)則通過分析構(gòu)件的共性和個(gè)性,抽取構(gòu)件的屬性和對(duì)外接口函數(shù),實(shí)現(xiàn)對(duì)硬件驅(qū)動(dòng)程序的封裝.軟件構(gòu)件層包括針對(duì)硬件構(gòu)件編程的底層軟件構(gòu)件層和與硬件無關(guān)的高層構(gòu)件層,其中底層外設(shè)構(gòu)件可以調(diào)用底層內(nèi)部構(gòu)件,高層構(gòu)件層只能調(diào)用底層外設(shè)構(gòu)件和功能構(gòu)件,而不能直接調(diào)用GPIO構(gòu)件.K60微控制器頭文件為所有寄存器定義.采用該設(shè)計(jì)方案,RFID讀卡器的軟硬件只需少量改動(dòng)便可應(yīng)用到其他嵌入式系統(tǒng)中,從而提高了設(shè)計(jì)的可重用性和可移植性.

圖1 RFID讀卡器軟硬件構(gòu)件層次模型Fig.1 The RFID reader component level model

2 硬件構(gòu)件設(shè)計(jì)

2.1 K60 核心構(gòu)件

Kinetis系列微控制器是飛思卡爾公司推出的首款基于ARM Cortex-M4內(nèi)核的微控制器.其子系列K60微控制器因具有IEEE1588以太網(wǎng),全速和高速USB2.0,大閃存,豐富的模擬、通信、定時(shí)和控制外設(shè)等強(qiáng)大功能得到最廣泛的應(yīng)用[6].K60微控制器核心構(gòu)件即為其硬件最小系統(tǒng),由電源、晶振及復(fù)位等電路組成.該構(gòu)件對(duì)外的引腳較多,電源類引腳MAPBGA封裝22個(gè),LQFP封裝27個(gè),復(fù)位引腳1個(gè),晶振引腳3個(gè),JTAG引腳5個(gè),ADC、DAC和USB引腳共14個(gè),IO端口引腳100個(gè).

2.2 以太網(wǎng)物理層收發(fā)器構(gòu)件

RFID讀卡器與上位機(jī)的通信可以有多種方式,如以太網(wǎng)、USB、串口等.本文采用串口方式,但是為了方便今后的擴(kuò)展預(yù)留了以太網(wǎng)接口和USB接口.K60微控制器內(nèi)部集成了以太網(wǎng)模塊,但僅僅是以太網(wǎng)控制器(MAC)部分,所以需要添加以太網(wǎng)物理層收發(fā)器(EPHY).EPHY芯片是BroadCom公司生產(chǎn)的AC101L,它支持10/100BASE-T,能完成所有以太網(wǎng)物理層功能,具有單通道、低功耗和支持MII接口的特點(diǎn).物理層收發(fā)器AC101L構(gòu)件與K60的連接如圖2所示.AC101L的XO和X1引腳接25 M的晶振;構(gòu)件左邊的引腳為MII接口的信號(hào)線、復(fù)位和中斷引腳,用于連接K60的以太網(wǎng)控制器部分;構(gòu)件右邊的TD+、TD-、RD+和RD-為以太幀的輸出輸入數(shù)據(jù)線.

2.3 射頻構(gòu)件

射頻芯片是TI(德州儀器)公司推出的高頻(13.56 MHz)、多協(xié)議、防碰撞射頻識(shí)別芯片TRF7960[7].TRF7960采用超小32 pin QFN的高級(jí)封裝設(shè)計(jì),支持ISO/IEC14443A、ISO/IEC14443B、ISO/IEC15693等協(xié)議.它與MCU的通信可以采用8位并行方式或者串行(SPI)方式.由于K60內(nèi)部集成了3個(gè)SPI接口,連接方便,所以RFID構(gòu)件此處使用的是串行方式.RFID構(gòu)件與K60的SPI2口連接如圖3所示.此外,TRF7960硬件上還提供了一個(gè)IRQ中斷引腳,接收數(shù)據(jù)、發(fā)送數(shù)據(jù)、CRC錯(cuò)誤、碰撞等共用該中斷引腳.它連接K60的GPIO腳PTB19,當(dāng)接收到該引腳的請(qǐng)求信號(hào)時(shí),提示K60對(duì)TRF7960的中斷狀態(tài)寄存器(0x0c)進(jìn)行查詢,以查明產(chǎn)生中斷信號(hào)的原因,并做出相應(yīng)的處理.

圖2 以太網(wǎng)物理層收發(fā)器構(gòu)件Fig.2 The Ethernet physical layer transceiver component

圖3 RFID構(gòu)件Fig.3 RFID component

2.4 終端構(gòu)件

LCD構(gòu)件、指示燈及蜂鳴器構(gòu)件構(gòu)成了終端構(gòu)件.LCD用于顯示讀卡過程中的提示信息.此處采用耀宇科技的YM12864,該LCD可以顯示4行,每行8個(gè)漢字或者16個(gè)字母.它有2種通信方式:并行和串行.并行通信采用11根引腳線,串行通信采用3根引腳線.為了減少引腳連接數(shù)量,此處采用串行通信方式.另外還需一個(gè)引腳控制背光燈電源的正極LEDA開關(guān).LCD構(gòu)件與K60的連接如圖4所示.指示燈及蜂鳴器構(gòu)件中2盞指示燈用于觀察系統(tǒng)的運(yùn)行狀態(tài)和用戶的操作,一盞作為運(yùn)行指示燈常閃,另一盞作為故障指示燈常亮.蜂鳴器在進(jìn)入識(shí)別范圍的卡不能被系統(tǒng)接受時(shí)報(bào)警提示.如圖4所示,指示燈及蜂鳴器構(gòu)件通過GPIO引腳與K60連接.

圖4 終端構(gòu)件Fig.4 Terminal component

3 軟件構(gòu)件設(shè)計(jì)

3.1 主程序設(shè)計(jì)

K60控制器主函數(shù)按以下順序編程:系統(tǒng)上電初始化,關(guān)總中斷,對(duì)串口、SPI2口、USB、TRF7960等構(gòu)件初始化,開串口中斷和SPI中斷,開總中斷.主循環(huán)包括指示燈狀態(tài)循環(huán)控制和尋卡操作,其流程如圖5所示.上位機(jī)以中斷方式與K60的串口通信,TRF7960射頻芯片通過中斷方式與K60的SPI2口進(jìn)行數(shù)據(jù)傳輸,因此需開串口和SPI2口的中斷.K60對(duì)TRF7960進(jìn)行初始化時(shí)通過設(shè)置ISO控制寄存器(地址0x01h)的protocol參數(shù)可以選擇不同ISO協(xié)議.當(dāng)protocol為0x01時(shí),選擇ISO/IEC15693協(xié)議;當(dāng)proto2col為0x02時(shí),選擇ISO/IEC14443A協(xié)議;當(dāng)protocol為0x03時(shí),選擇ISO/IEC14443B協(xié)議.

圖5 主函數(shù)流程圖Fig.5 The flow chart of main function

為適應(yīng)不同的應(yīng)用場(chǎng)合,尋卡操作有2種模式,自動(dòng)尋卡模式和上位機(jī)命令模式.自動(dòng)尋卡模式不接收上位機(jī)的命令,如果有效磁場(chǎng)區(qū)域內(nèi)有符合協(xié)議標(biāo)準(zhǔn)的電子標(biāo)簽,讀寫器就會(huì)識(shí)別標(biāo)簽的UID號(hào),并將UID傳送給上位機(jī),適合對(duì)標(biāo)簽進(jìn)行自動(dòng)化固定操作,如會(huì)議簽到、自動(dòng)收費(fèi)等.上位機(jī)命令模式是通過讀卡器與上位機(jī)采用的一問一答的方式工作.讀寫器一直處于等待上位機(jī)命令的狀態(tài),只有接收到一個(gè)完整的操作命令數(shù)據(jù)包,讀寫器才去執(zhí)行相應(yīng)的操作,并將操作結(jié)果傳給上位機(jī),適用于對(duì)電子標(biāo)簽進(jìn)行讀寫操作的場(chǎng)合,如開戶、充值、注銷等.

3.2 防碰撞處理

考慮到如果在RFID讀卡器的工作范圍內(nèi)同時(shí)存在多張標(biāo)簽,則有可能發(fā)生多標(biāo)簽沖突的現(xiàn)象,因此在設(shè)計(jì)時(shí)加入防碰撞算法實(shí)現(xiàn)程序.TRF7960射頻芯片可支持多種協(xié)議,雖然不同協(xié)議采集標(biāo)簽信息的方式不相同,防碰撞算法也各不相同,但是都可以通過設(shè)置TRF7960的內(nèi)部相關(guān)寄存器實(shí)現(xiàn)多標(biāo)簽防碰撞功能[8].這里僅給出ISO15693協(xié)議的16時(shí)隙防碰撞算法流程(圖6).讀卡器發(fā)送inventory(清點(diǎn))命令選擇開辟16個(gè)時(shí)隙,按照遞歸查詢方式,第1輪掩碼值等于0,掩碼長(zhǎng)度為0.UID(標(biāo)簽的唯一標(biāo)識(shí)碼)的最低有效位與時(shí)隙號(hào)和掩碼值的和相比較,在某個(gè)時(shí)隙如果匹配的標(biāo)簽只有1張,表明無多標(biāo)簽碰撞,讀卡器識(shí)別出一張標(biāo)簽并且產(chǎn)生一個(gè)接收完(End OF RX)中斷;如果匹配的標(biāo)簽有多張,表明多標(biāo)簽碰撞,則進(jìn)入第2輪查詢.第2輪查詢時(shí)掩碼值等于0,加上發(fā)生碰撞的時(shí)隙號(hào),掩碼長(zhǎng)度為4.UID的最低有效位與時(shí)隙號(hào)左移4位加上掩碼值相比較,有碰撞則再進(jìn)行下一輪循環(huán),依次類推直到所有標(biāo)簽被識(shí)別.

圖6 防碰撞算法流程圖Fig.6 The flow chart of anti-collision algorithm

3.3 軟件構(gòu)件

遵循構(gòu)件化的設(shè)計(jì)思想,調(diào)用各個(gè)軟件構(gòu)件時(shí)只需了解其接口函數(shù)的功能及參數(shù).各個(gè)軟件構(gòu)件接口函數(shù)如表1所示.

表1 構(gòu)件接口函數(shù)Table 1 The interface function of components

4 小結(jié)

本文基于飛思卡爾的Kinetis 60系列微控制器和TI公司的13.56 MHz頻段射頻芯片TRF7960,提出了一種面向3種協(xié)議、具有多種接口和多標(biāo)簽防碰撞功能的RFID讀卡器設(shè)計(jì)方案.同時(shí)為了提高軟硬件的可重用性和可移植性,采用了構(gòu)件化的封裝方法,給出了軟硬件構(gòu)件的模型和接口說明.它為多協(xié)議、多標(biāo)簽RFID讀卡器開發(fā)提供了一個(gè)快速、通用的模型.

[1]DOU Y W,YIN Y,WANG J W.Research and Design of RFID Middleware on Hierarchy[J].激光與光電子進(jìn)展,2012,49(5):1-4.

[2]朱仕浪,王宜懷,馮德旺,等.基于流水線和RFID技術(shù)的快速門禁系統(tǒng)[J].福建農(nóng)林大學(xué)學(xué)報(bào):自然科學(xué)版,2013,42(5):552-556.

[3]薛涵,馮攀,陳鵬飛,等.支持多協(xié)議的13.56MHz RFID讀卡器芯片解調(diào)電路設(shè)計(jì)與實(shí)現(xiàn)[J].固體電子學(xué)研究與進(jìn)展,2012,32(2):155-159.

[4]張捍東,張淳.一種適合多協(xié)議防碰撞的射頻識(shí)別閱讀器設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2009(6):43-46.

[5]張吉婷,李澤滔.基于TRF7960的讀寫器的設(shè)計(jì)[J].中國(guó)新技術(shù)新產(chǎn)品,2012(18):11-13.

[6]王宜懷,吳瑾,蔣銀珍.嵌入式系統(tǒng)原理與實(shí)踐[M].北京:電子工業(yè)出版社,2012:29-32.

[7]Texas Instruments.TRF7960 DATASHEET[EB/OL].[2010-08-01].http://www.ti.com.cn/cn/lit/ds/symlink/trf796 0.pdf.

[8]Texas Instruments.Implementation of the ISO15693 Protocol in the TI TRF796x[EB/OL].[2009-04-01].http://www.ti.com.cn/cn/lit/an/sloa138/sloa138.pdf.

猜你喜歡
讀卡器微控制器中斷
與淘汰命運(yùn)抗?fàn)帯】炊P記本的讀卡器
物聯(lián)網(wǎng)技術(shù)在微控制器實(shí)驗(yàn)教學(xué)中的應(yīng)用
電子制作(2017年14期)2017-12-18 07:07:58
跟蹤導(dǎo)練(二)(5)
千里移防,衛(wèi)勤保障不中斷
解放軍健康(2017年5期)2017-08-01 06:27:44
基于EMV非接通信規(guī)范的非接觸讀卡器設(shè)計(jì)
為二維碼識(shí)別的獻(xiàn)禮之作——評(píng)測(cè)平治二維碼門禁讀卡器
MATLAB實(shí)現(xiàn)組態(tài)王中TCP/IP讀卡器監(jiān)控方法
Atmel針對(duì)新一代物聯(lián)網(wǎng)應(yīng)用發(fā)布全新32位微控制器
最新STM32設(shè)計(jì)工具增加對(duì)混合信號(hào)微控制器的支持
意法半導(dǎo)體(ST)推出世界首款基于ARM Cortex-M7的STM32 F7系列微控制器
牙克石市| 滨州市| 黄山市| 台安县| 社会| 合川市| 金寨县| 沭阳县| 嵩明县| 保康县| 饶阳县| 抚州市| 巨鹿县| 曲阜市| 九寨沟县| 浑源县| 寻乌县| 保靖县| 喜德县| 巴东县| 扶沟县| 安仁县| 平舆县| 柳林县| 河东区| 丹棱县| 武冈市| 四子王旗| 永登县| 仙桃市| 肇州县| 岳池县| 依兰县| 修文县| 塘沽区| 揭东县| 星座| 无锡市| 临桂县| 内黄县| 柳州市|