黃麗敏
(廣西工學(xué)院電子信息與控制工程系,廣西柳州 545006)
手持式RFID讀寫器網(wǎng)絡(luò)接口設(shè)計(jì)
黃麗敏
(廣西工學(xué)院電子信息與控制工程系,廣西柳州 545006)
為適應(yīng)RFID讀寫器在不同應(yīng)用系統(tǒng)中的要求,開發(fā)了一種以MSP430F149單片機(jī)為核心的具有嵌入式以太網(wǎng)網(wǎng)絡(luò)接口的手持式RFID讀寫器。文中介紹RFID讀寫器中單片機(jī)與以太網(wǎng)控制器RTL8139組成的網(wǎng)絡(luò)接口設(shè)計(jì)方法,實(shí)現(xiàn)了手持式RFID讀寫器接入Internet網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)通信。
MSP430單片機(jī);RFID讀寫器;網(wǎng)絡(luò)接口
RFID技術(shù)目前廣泛應(yīng)用于身份識(shí)別、防偽應(yīng)用、供應(yīng)鏈應(yīng)用、公共交通管理、物流管理、生產(chǎn)線自動(dòng)化與過程控制、容器識(shí)別等領(lǐng)域[1]。由于手持式RFID讀寫器的存儲(chǔ)器容量有限,保存在讀寫器中的數(shù)據(jù)可以通過USB等接口傳送到計(jì)算機(jī)中進(jìn)行處理,但為更方便快捷地將讀寫器中的數(shù)據(jù)傳送到遠(yuǎn)程的計(jì)算機(jī)系統(tǒng)中,將便攜設(shè)備網(wǎng)絡(luò)化是解決上述問題的有效途徑之一。但目前的手持式RIFD讀寫器并不具備與互聯(lián)網(wǎng)進(jìn)行網(wǎng)絡(luò)連接的網(wǎng)絡(luò)接口。另外,手持式RFID讀寫器是通過內(nèi)部所裝有的電池進(jìn)行供電,所以降低其工作功耗也是主要問題之一。而MSP430F149單片機(jī)是一款16位超低功耗的處理芯片,它將多個(gè)不同功能的模擬電路,數(shù)字電路模塊集成于一身,適合應(yīng)用與需要電池供電的便攜式儀器儀表中。
因此,文中主要介紹手持式 RFID讀寫器中MSP430F149單片機(jī)與以太網(wǎng)控制器RTL8139接口的硬件設(shè)計(jì)的方法,以及相應(yīng)的硬件設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì)和TCP/IP協(xié)議棧的處理方法。
手持式RFID讀寫器是便攜式射頻識(shí)別系統(tǒng)的主要設(shè)備,其網(wǎng)絡(luò)接口主要由MSP430單片機(jī)與以太網(wǎng)控制器RTL8139塊等組成[2]。其網(wǎng)絡(luò)接口硬件結(jié)構(gòu)如圖1所示。
圖1 網(wǎng)絡(luò)接口框圖
根據(jù)便攜設(shè)備的低功耗要求,MSP430單片機(jī)采用MSP430F149,具有超低功耗、強(qiáng)大處理能力、豐富片上外圍模塊及多種存儲(chǔ)器形式等功能,其中有2個(gè)具有中斷功能的8位并行端口P1與P2和4個(gè)8位的通用并行端口 P3、P4、P5與 P6,可以滿足和以太網(wǎng)控制器的接口,而且能夠?qū)崿F(xiàn)RFID讀寫器的其他接口功能。
隔離變壓器選用PM34-1006M10/100/1000M變壓器。采用RTL8139以太網(wǎng)控制器作為網(wǎng)絡(luò)接口。由于RTL8139是PCI總線接口,不能直接與8位的MCU接口,需要一個(gè)PCI接口進(jìn)行轉(zhuǎn)接。單片機(jī)在進(jìn)行外部存儲(chǔ)器操作時(shí)采用的信號(hào)有P0口、P2口、ALE以及RD和WR信號(hào)。其中,P0口為地址(低8位)/數(shù)據(jù)復(fù)用,P2口為高8位地址信號(hào);ALE為地址鎖存信號(hào),為高電平時(shí)將P0口的值鎖存到低8位數(shù)據(jù)線上;RD和WR為讀寫有效信號(hào),低電平有效。因此,PCI接口實(shí)際上是起到一個(gè)從單片機(jī)讀寫時(shí)序到32位PCI讀寫時(shí)序轉(zhuǎn)換的作用。
RTL8139是臺(tái)灣Realtek公司生產(chǎn)的一種高度集成的全面支持IEEE802.3標(biāo)準(zhǔn)的以太網(wǎng)控制器芯片,支持微軟的PnP規(guī)范[3]。利用雙絞線可以和全雙工網(wǎng)絡(luò)交換機(jī)相連接,能夠同時(shí)接收和發(fā)送數(shù)據(jù)。支持UTP(Unshielded Twisted Paired),AUI(Attachment Unit Interface)自動(dòng)偵測(cè)。支持IO地址全解碼模式。其主要特性如下:
(1)符合 EthernetⅡ 和 IEEE802.3(10Base5,10Base2,10BaseT)標(biāo)準(zhǔn)。
(2)支持跳線和免跳線兩種工作方式。
(3)全雙工,收發(fā)可同時(shí)達(dá)到 100 Mbit·s-1的速率。
(4)支持32位數(shù)據(jù)PCI總線。
(5)允許3個(gè)診斷LED可編程輸出。
(6)128腳LQFP封裝,縮小了PCB尺寸。
如圖2所示,RTL8139內(nèi)部已經(jīng)包含有整個(gè)網(wǎng)絡(luò)接口層的協(xié)議,因此應(yīng)用起來較簡(jiǎn)單。用戶不必考慮鏈路控制問題,而只需考慮單片機(jī)如何從RTL8139中去讀TCP/IP協(xié)議的數(shù)據(jù)即可。
圖2 RTL8139AS內(nèi)部結(jié)構(gòu)圖
PCI總線信號(hào)有3.3 V標(biāo)準(zhǔn)和5 V標(biāo)準(zhǔn),信號(hào)線眾多,但并不是所有的PCI設(shè)備都使用全部的PCI接口信號(hào),實(shí)際只使用需要的即可。RTL8139AS以太網(wǎng)控制器遵循3 V標(biāo)準(zhǔn),并且只使用了PCI總線信號(hào)中的以下部分:AD[31:0]為數(shù)據(jù)信號(hào)復(fù)用總線[4]。FRAME為幀周期信號(hào),由當(dāng)前主設(shè)備驅(qū)動(dòng),表示一次訪問的開始和持續(xù)時(shí)間。IRDY為主設(shè)備準(zhǔn)備好信號(hào)。TRDY為從設(shè)備準(zhǔn)備好信號(hào)。C/BE為總線命令和字節(jié)使能復(fù)用信號(hào)。地址期是總線命令,數(shù)據(jù)期是字節(jié)使能。IDSEL為初始化設(shè)備選擇信號(hào)。在參數(shù)配置讀寫傳輸期間,用作片選。對(duì)于只有一個(gè)PCI設(shè)備的情況,它可以總接高電平。RST為復(fù)位信號(hào)。CLK為系統(tǒng)時(shí)鐘信號(hào),頻率范圍DC~33 MHz。以上信號(hào)都在CLK的上升沿有效。INTA為中斷請(qǐng)求信號(hào),RTL8139數(shù)據(jù)準(zhǔn)備好后可以用來向主控制器發(fā)出中斷。DEVSEL為設(shè)備選擇信號(hào),表明驅(qū)動(dòng)它的設(shè)備已成當(dāng)前訪問的設(shè)備,由于系統(tǒng)中,RTL8139是單一的PCI設(shè)備,因此該信號(hào)可以不用。
RFID讀寫器系統(tǒng)網(wǎng)絡(luò)接口軟件主要包括硬件設(shè)備驅(qū)動(dòng)程序、TCP/IP協(xié)議棧、應(yīng)用協(xié)議和其他用戶應(yīng)用程序。網(wǎng)絡(luò)接口軟件的流程如圖3所示。
圖3 網(wǎng)絡(luò)接口軟件流程圖
其中應(yīng)用協(xié)議和其他用戶應(yīng)用程序?qū)⒃诙伍_發(fā)時(shí)根據(jù)RFID讀寫器的具體功能要求進(jìn)行設(shè)計(jì),這里主要介紹硬件設(shè)備驅(qū)動(dòng)程序、TCP/IP協(xié)議棧的實(shí)現(xiàn)方法。
硬件設(shè)備驅(qū)動(dòng)是將PCI接口當(dāng)作單片機(jī)的外部存儲(chǔ)器看待,單片機(jī)以讀寫外部存儲(chǔ)器的時(shí)序?qū)CI接口進(jìn)行讀寫,再由PCI接口將這種讀寫操作時(shí)序轉(zhuǎn)換成PCI時(shí)序?qū)σ蕴W(wǎng)控制器進(jìn)行操作。主要包括3個(gè)部分,網(wǎng)絡(luò)初始化,發(fā)送控制和接收控制。主要完成對(duì)CR,TCR,RCR IMR ISR,RBSTART,MAR 等寄存器操作。
發(fā)送控制過程在網(wǎng)絡(luò)中,幀傳輸?shù)倪^程是發(fā)送方將待發(fā)送的數(shù)據(jù)按幀格式要求封裝成幀,然后同過網(wǎng)卡發(fā)送到網(wǎng)絡(luò)的傳輸線上。發(fā)送程序框圖如圖4所示。
圖4 RTL8139數(shù)據(jù)發(fā)送流程圖
接收控制過程分成2步,第1步是根據(jù)哈稀算法判斷數(shù)據(jù)包是否是本地的數(shù)據(jù)包,如果是則接收放入FIFO,如果FIFO里的數(shù)據(jù)包達(dá)到了RCR寄存器預(yù)先設(shè)定閾值,把數(shù)據(jù)報(bào)放入RX_BUFF。第2步主機(jī)程序?qū)X_BUFF里的數(shù)據(jù)讀取到內(nèi)存進(jìn)行處理。
如圖5所示,以太網(wǎng)控制器提供了邏輯鏈路層協(xié)議,TCP/IP協(xié)議棧則通過底層的硬件設(shè)備驅(qū)動(dòng)程序來接收和發(fā)送數(shù)據(jù),對(duì)接收到的以太幀數(shù)據(jù)進(jìn)行協(xié)議的分析,并給其上層應(yīng)用提供一些簡(jiǎn)單、易用的函數(shù)。
圖5 RTL8139數(shù)據(jù)接收流程圖
TCP/IP實(shí)質(zhì)上是一系列協(xié)議的總稱,是實(shí)現(xiàn)Internet通訊必不可少的部分,包括十幾個(gè)協(xié)議標(biāo)準(zhǔn),在這里要實(shí)現(xiàn)的是通過網(wǎng)絡(luò)讀取居民用表的讀數(shù),傳輸?shù)臄?shù)據(jù)量少且對(duì)實(shí)時(shí)性要求不高,不需要全部的協(xié)議,只要實(shí)現(xiàn)幾個(gè)必備的即可,權(quán)衡之下,求在最小代碼、最小資源需求和功能實(shí)現(xiàn)間取得一個(gè)平衡:只實(shí)現(xiàn)了ICMP、TCP、IP、ARP 4 個(gè)協(xié)議,組成一個(gè)小型化的TCP/IP協(xié)議。因?yàn)槿魏我粋€(gè)以太網(wǎng)數(shù)據(jù)幀要發(fā)送時(shí)都必須要知道對(duì)方的物理地址,這能過 ARP協(xié)議獲得,所以要實(shí)現(xiàn) ARP協(xié)議。而 IP協(xié)議是 TCP,ICMP協(xié)議數(shù)據(jù)的傳輸格式;TCP協(xié)議提供可靠的,可重組服務(wù);而ICMP協(xié)議是調(diào)試時(shí)所不可缺少的。另外,在實(shí)現(xiàn)重發(fā)功能時(shí),大多的做法是應(yīng)用層不參與,當(dāng)需要重發(fā)時(shí),由TCP/IP協(xié)議把存儲(chǔ)在數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)再發(fā)送一次即可,但在以單片機(jī)為主處理器的情況下,因?yàn)閱纹瑱C(jī)自身的資源有限,為了減少 RAM的使用,可以在需要重發(fā)時(shí)再由應(yīng)用層產(chǎn)生這一幀數(shù)據(jù)即可,這無需太多的時(shí)間。這樣也不必每發(fā)送一幀數(shù)據(jù)都要存在緩沖區(qū)中以備重發(fā)時(shí)使用,進(jìn)一步節(jié)省了RAM。
將手持式RFID讀寫器通過網(wǎng)線連入局域網(wǎng)交換機(jī),預(yù)先將讀寫器的IP地址設(shè)置為192.168.1.37,啟動(dòng)讀寫器、交換機(jī)及電腦,在電腦的命令終端輸入ping 192.168.1.37命令,其結(jié)果如圖6所示。
圖6 RFID連入局域網(wǎng)結(jié)果
由圖6可知,手持式RFID讀寫器已通過交換機(jī)成功連入局域網(wǎng),與電腦建立網(wǎng)絡(luò)連接。
在電腦中打開RFID綜合管理系統(tǒng),將實(shí)驗(yàn)用RFID卡放入手持式RFID讀寫器后,綜合管理系統(tǒng)讀到信息如圖7所示。
圖7 綜合管理系統(tǒng)接收信息
由圖7可知,手持式RFID讀寫器將讀到的實(shí)驗(yàn)卡信息,通過局域網(wǎng)交換機(jī)成功地傳輸?shù)诫娔X的綜合管理系統(tǒng)當(dāng)中,實(shí)現(xiàn)了網(wǎng)絡(luò)接口的功能。
設(shè)計(jì)的手持式RFID讀寫器網(wǎng)絡(luò)接口硬件采用MSP430F149作為控制芯片,選用PM34-1 006M10/100/1 000M變壓器作為隔離變壓器,以及全面支持IEEE802.3標(biāo)準(zhǔn)高度集成的 RTL8139作為以太網(wǎng)控制器芯片,整個(gè)系統(tǒng)具有超低功耗等優(yōu)點(diǎn),實(shí)現(xiàn)了RFID讀寫器的網(wǎng)絡(luò)化功能,為提高產(chǎn)品的競(jìng)爭(zhēng)力創(chuàng)造了條件。同時(shí),網(wǎng)絡(luò)接口驅(qū)動(dòng)程序及TCP/IP C語言進(jìn)行開發(fā),具有較好的可讀性和移植性,可以提高開發(fā)效率,縮短開發(fā)周期。
[1]郎為民.射頻識(shí)別(RFID)技術(shù)原理與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2006.
[2]胡大可.MSP430系列FLASH型超低功耗單片機(jī)[M].北京:北京航空航天大學(xué)出版社,2001.
[3]沈建華,楊艷琴,翟驍曙.MSP430系列FLASH型超低功耗單片機(jī)實(shí)踐與系統(tǒng)設(shè)計(jì)[M].北京:清華大學(xué)出版社,2005.
[4]秦龍.MSP430單片機(jī)C語言應(yīng)用程序設(shè)計(jì)實(shí)例精講[M].北京:電子工業(yè)出版社,2006.
Design of the Handheld RFID Reader Network Interface
HUANG Limin
(Department of Electronic Information and Control Engineering,Guangxi University of Technology,Liuzhou 545006,China)
In order to meet the requirements of the RFID reader in different applications systems,this study develops a handheld RFID reader which has the MSP430F149 MCU as the core and has the embedded Ethernet network interface.This paper introduces the design method for the network interface in RFID reader which is constituted of MCU and the RTL8139 Ethernet controller,and achieves the handheld RFID reader's access to the internet network for data communications.
MSP430 MCU;RFID reader;network interface
TP360
A
1007-7820(2012)08-052-04
2012-03-28
廣西教育廳面上基金資助項(xiàng)目(200911MS114);廣西工學(xué)院自然科學(xué)基金項(xiàng)目(1166201)
黃麗敏(1982—),女,本科,助教。研究方向:RFID應(yīng)用技術(shù)RFID讀寫器組網(wǎng)及協(xié)調(diào)技術(shù)。