張 巍
(天津職業(yè)技術(shù)師范大學(xué)電子工程學(xué)院,天津300222)
?
基于ARM9的多接口嵌入式RFID數(shù)據(jù)網(wǎng)關(guān)設(shè)計(jì)
張巍
(天津職業(yè)技術(shù)師范大學(xué)電子工程學(xué)院,天津300222)
摘要:為使RFID系統(tǒng)可以接入Internet,在遠(yuǎn)端實(shí)現(xiàn)數(shù)據(jù)查詢及調(diào)試,設(shè)計(jì)了基于ARM9的多接口RFID數(shù)據(jù)網(wǎng)關(guān)。數(shù)據(jù)網(wǎng)關(guān)以基于ARM9的S3C2440為核心,硬件上兼容多種接口標(biāo)準(zhǔn),軟件上以嵌入式Linux作為操作系統(tǒng),搭建了Boa服務(wù)器,實(shí)現(xiàn)了多接口RFID的接入與數(shù)據(jù)傳輸。測(cè)試表明,此RFID數(shù)據(jù)網(wǎng)關(guān)具有良好的穩(wěn)定性和可靠性,具有推廣的參考價(jià)值和應(yīng)用前景。
關(guān)鍵詞:ARM;嵌入式系統(tǒng);RFID;數(shù)據(jù)網(wǎng)關(guān);多接口
物聯(lián)網(wǎng)技術(shù)正迅速改變著人們的生活。射頻識(shí)別技術(shù)作為物聯(lián)網(wǎng)的重要支撐技術(shù)已得到世界各國(guó)的高度重視,并將其作為重點(diǎn)產(chǎn)業(yè)發(fā)展,廣泛應(yīng)用于物流倉(cāng)儲(chǔ)、工業(yè)制造、資產(chǎn)管理、畜牧管理、交通監(jiān)控、軍事航空等不同領(lǐng)域[1]。傳統(tǒng)的RFID射頻讀寫(xiě)器不具備網(wǎng)絡(luò)功能,為使其與網(wǎng)絡(luò)技術(shù)更好地結(jié)合,本文采用嵌入式技術(shù)設(shè)計(jì)了一種基于WEB的RFID數(shù)據(jù)網(wǎng)關(guān)。本設(shè)計(jì)既作為網(wǎng)關(guān)使多部讀寫(xiě)器接入互聯(lián)網(wǎng),也作為嵌入式WEB服務(wù)器使用戶可在瀏覽器中通過(guò)Internet訪問(wèn)嵌入式服務(wù)器,并遠(yuǎn)程控制RFID系統(tǒng)的運(yùn)行,大大提高該系統(tǒng)的網(wǎng)絡(luò)化和智能化。
射頻識(shí)別(radio frequency identification,RFID)是一種通信技術(shù),以非接觸的方式自動(dòng)讀取某個(gè)范圍內(nèi)電子標(biāo)簽發(fā)出的無(wú)線信號(hào)[2]。一個(gè)完整的RFID系統(tǒng)由電子標(biāo)簽、讀寫(xiě)器及上位機(jī)軟件組成。電子標(biāo)簽根據(jù)是否內(nèi)置電池分為有源與無(wú)源標(biāo)簽,一般有源標(biāo)簽輻射距離較遠(yuǎn)。讀寫(xiě)器一般安裝在固定位置,可接收電子標(biāo)簽發(fā)送的信息,一般電子標(biāo)簽會(huì)發(fā)送固化在其內(nèi)部的唯一識(shí)別編碼。接收到數(shù)據(jù)后,讀寫(xiě)器將這些信息簡(jiǎn)單處理,并通過(guò)串口或其他總線發(fā)送到上位機(jī)。上位機(jī)軟件主要負(fù)責(zé)對(duì)這些上傳的電子標(biāo)簽識(shí)別編碼進(jìn)行解析,并管理相關(guān)信息。
具體應(yīng)用中,一個(gè)RFID系統(tǒng)需要多部讀寫(xiě)器監(jiān)控某一區(qū)域,當(dāng)需要遠(yuǎn)程傳輸數(shù)據(jù)時(shí),讀寫(xiě)器必須接入互聯(lián)網(wǎng),以往的解決方案多是使用串口服務(wù)器[3],如圖1所示。串口服務(wù)器是一種將串口轉(zhuǎn)換為TCP/IP網(wǎng)絡(luò)接口的設(shè)備,當(dāng)有讀寫(xiě)器需要接入互聯(lián)網(wǎng)時(shí),只要為其配備一個(gè)串口服務(wù)器即可。這種方案不但成本高,且無(wú)法對(duì)現(xiàn)場(chǎng)讀寫(xiě)器設(shè)備進(jìn)行快速調(diào)試。本文采用嵌入式智能網(wǎng)關(guān),利用其自帶的輸入輸出設(shè)備,可對(duì)設(shè)備進(jìn)行查詢與調(diào)試,其結(jié)構(gòu)如圖2所示。
圖1 串口服務(wù)器方案
圖2 嵌入式網(wǎng)關(guān)方案
嵌入式RFID數(shù)據(jù)網(wǎng)關(guān)主要由以下模塊組成:控制模塊、接口模塊及輸入輸出模塊,其硬件架構(gòu)如圖3所示。主控模塊采用基于ARM920t架構(gòu)的32位處理器S3C2440,在移植Linux操作系統(tǒng)以及編寫(xiě)好應(yīng)用程序后,可對(duì)RFID讀寫(xiě)器發(fā)送的數(shù)據(jù)進(jìn)行處理。接口部分主要支持RS232、RS485串行接口,USB接口標(biāo)準(zhǔn)可以通過(guò)觸摸屏對(duì)讀寫(xiě)器進(jìn)行控制,并顯示數(shù)據(jù)。
圖3 系統(tǒng)硬件組成
2.1控制模塊
為使RFID系統(tǒng)具有網(wǎng)絡(luò)化功能,僅使用單片機(jī)已經(jīng)不能滿足要求,所以使用性能更為強(qiáng)大的ARM處理器。本文采用韓國(guó)三星電子公司的S3C2440,此芯片具有低功耗、簡(jiǎn)單、精致等優(yōu)點(diǎn),其全靜態(tài)設(shè)計(jì)適合對(duì)成本和功耗敏感型的應(yīng)用,且采用了新的總線架構(gòu)如先進(jìn)微控制總線架構(gòu)。
S3C2440外部接口豐富,包括觸摸屏接口、USB接口、SPI接口、IIC接口等,還具有130個(gè)通用IO口和24通道外部中斷源。S3C2440的主頻最高可達(dá)400 MHz,其處理速度能夠滿足運(yùn)行Linux操作系統(tǒng)與數(shù)據(jù)處理的要求。
2.2輸入輸出模塊
輸入輸出模塊主要使用液晶觸摸屏,這樣可以簡(jiǎn)化操作,節(jié)省空間。液晶屏選用夏普公司的LQ080V3DG01液晶模塊,該模塊使用8寸TFT-LCD電阻液晶屏。LQ080V3DG01的主要參數(shù)如表1所示。
表1 液晶屏模塊參數(shù)
液晶屏的控制采用S3C2440內(nèi)置的LCD控制器,通過(guò)控制器可以產(chǎn)生LCD驅(qū)動(dòng)器所需要的控制信號(hào),以此來(lái)控制STN或TFT液晶屏[4]。S3C2440可直接與LCD相連,其外部接口信號(hào)的定義如下:①VFRAME/ VSYNC,即在控制STN液晶屏?xí)r傳輸幀同步信號(hào)/在控制TFT液晶屏?xí)r傳輸?shù)拇怪蓖叫盘?hào);②VLINE/ HSYNC,即在控制STN液晶屏?xí)r傳輸行同步脈沖信號(hào)/在控制TFT液晶屏?xí)r傳輸水平同步信號(hào);③VCLK,即傳輸像素時(shí)鐘信號(hào);④VM/VDEN,即在控制STN液晶屏?xí)r傳輸驅(qū)動(dòng)交流偏置信號(hào)/在控制TFT液晶屏?xí)r傳輸數(shù)據(jù)使能信號(hào);⑤VD[0-23],即LCD像素?cái)?shù)據(jù)輸出端口,與LCD模塊的數(shù)據(jù)信號(hào)相對(duì)應(yīng)。
2.3接口模塊
本文所設(shè)計(jì)的設(shè)備接口齊全,RFID讀寫(xiě)器可以通過(guò)RS232、RS485及USB接口與數(shù)據(jù)網(wǎng)關(guān)相連,網(wǎng)關(guān)接收到數(shù)據(jù)后通過(guò)網(wǎng)絡(luò)接口向外傳送。
RS232接口電路由美信公司的MAX3232芯片組成,該芯片是一種雙組驅(qū)動(dòng)器/接收器,片內(nèi)含有一個(gè)電容性電壓發(fā)生器,以便在單3.3 V電源供電時(shí),提供RS232電平。此芯片適合電池供電的系統(tǒng),片內(nèi)的接收器將RS232電平轉(zhuǎn)換為TTL/CMOS電平。
RS485接口電路是由美信公司生產(chǎn)的MAX3485芯片組成,MAX3485是3.3 V供電的RS-485接口芯片,包括一個(gè)驅(qū)動(dòng)器和一個(gè)接收器,接收器將差分電平轉(zhuǎn)換為TTL/CMOS電平,驅(qū)動(dòng)器將TTL/CMOS輸入電平轉(zhuǎn)換為差分電平。S3C2440A有UART接口,通過(guò)MAX3485可以轉(zhuǎn)換為RS-485接口。
USB接口電路由S3C2440A內(nèi)置的USB1.1 Device控制器組成,其可以進(jìn)行全速/低速控制以及中斷與批量傳輸。除端點(diǎn)0具有4個(gè)端點(diǎn)外,每個(gè)端點(diǎn)都可作為中斷與批量的端點(diǎn),每個(gè)端點(diǎn)具有128 byte的FIFO,且支持DMA傳輸[5]。USB控制器集成在S3C2440內(nèi)部,外部只需接一些外圍器件和USB插座即可使用。
嵌入式RFID數(shù)據(jù)網(wǎng)關(guān)的軟件由2部分組成,分別為嵌入式操作系統(tǒng)的移植以及嵌入式Web服務(wù)器的建立。本文設(shè)計(jì)的設(shè)備使用嵌入式Linux操作系統(tǒng),具有占用硬件資源小、內(nèi)核可剪裁、移植方便等特點(diǎn),滿足設(shè)計(jì)要求。
3.1嵌入式Linux系統(tǒng)的移植
一個(gè)完整的嵌入式系統(tǒng)主要由Bootloader、系統(tǒng)內(nèi)核以及根文件系統(tǒng)3部分組成。Bootloader是操作系統(tǒng)運(yùn)行前執(zhí)行的一段小程序,負(fù)責(zé)硬件從開(kāi)機(jī)到操作系統(tǒng)啟動(dòng)的引導(dǎo)。系統(tǒng)內(nèi)核為操作系統(tǒng)的代碼。根文件系統(tǒng)是一種目錄結(jié)構(gòu),是操作系統(tǒng)啟動(dòng)后一個(gè)掛載的文件系統(tǒng),包含系統(tǒng)啟動(dòng)所必須的目錄和文件。
向嵌入式RFID數(shù)據(jù)網(wǎng)關(guān)中移植Linux操作系統(tǒng),需要將上述3部分分別進(jìn)行編譯并下載入系統(tǒng)硬件。Bootlaoder使用U-boot,其對(duì)嵌入式Linux系統(tǒng)具有良好的引導(dǎo)性,且源碼開(kāi)放,使用方便。Linux系統(tǒng)內(nèi)核可在網(wǎng)上下載,這里使用Linux-2.6.26的內(nèi)核版本。解壓后,根據(jù)實(shí)際使用的硬件進(jìn)行配置,編譯即可生成映像文件。根文件系統(tǒng)的構(gòu)建使用了BusyBox,將BusyBox進(jìn)行編譯可生成一個(gè)Linux的最小文件系統(tǒng),并向其中手動(dòng)添加/etc、/lib、/dev等目錄[6]。
3.2嵌入式Web服務(wù)器的建立
使用嵌入式Web服務(wù)器,在遠(yuǎn)程監(jiān)控終端僅需安裝網(wǎng)絡(luò)瀏覽器,即可對(duì)嵌入式網(wǎng)關(guān)中的數(shù)據(jù)進(jìn)行讀寫(xiě),且易于擴(kuò)展新功能,系統(tǒng)升級(jí)僅需在Web服務(wù)器上添加相應(yīng)模塊即可。整個(gè)系統(tǒng)是一個(gè)B/S結(jié)構(gòu),其結(jié)構(gòu)如圖4所示。
圖4 系統(tǒng)結(jié)構(gòu)圖
嵌入式Web服務(wù)器目前主要有Boa、Thttpd、Appweb和Apache等。嵌入式設(shè)備資源有限,且無(wú)需并發(fā)處理多用戶需求,因此設(shè)計(jì)采用開(kāi)源的Boa服務(wù)器。Boa是一種單任務(wù)的HTTP服務(wù)器,它并不為每個(gè)連接單獨(dú)創(chuàng)建進(jìn)程,而是通過(guò)建立HTTP請(qǐng)求列表來(lái)處理多路HTTP請(qǐng)求,同時(shí)只為CGI程序創(chuàng)建新進(jìn)程,最大程度上節(jié)省了系統(tǒng)資源。
移植Boa服務(wù)器時(shí),先編譯下載好的Boa源代碼,接著配置Boa,需在系統(tǒng)的/etc目錄下建立Boa目錄,并放入boa.conf文件。修改boa.conf文件中的Script Alias,指示CGI腳本的存放位置;修改ServerName,指示使用主頁(yè)的網(wǎng)址。成功配置后,還需創(chuàng)建HTML文檔的主目錄/var/www,將靜態(tài)網(wǎng)頁(yè)存入該目錄下,創(chuàng)建CGI腳本所在目錄/var/www/cgi-bin,將cgi的腳本存放在該目錄下。服務(wù)器正常運(yùn)行后,可在客戶端的瀏覽器中輸入IP地址,調(diào)用靜態(tài)網(wǎng)頁(yè)。
本文設(shè)計(jì)了基于ARM9的多接口RFID數(shù)據(jù)網(wǎng)關(guān),其功能是將本地RFID網(wǎng)絡(luò)與Internet連接,用戶可在遠(yuǎn)端查詢RFID現(xiàn)場(chǎng)數(shù)據(jù)。數(shù)據(jù)網(wǎng)關(guān)以基于ARM9的S3C2440為核心,硬件上兼容多種接口標(biāo)準(zhǔn),軟件上以嵌入式Linux作為操作系統(tǒng),搭建了Boa服務(wù)器,實(shí)現(xiàn)多接口RFID的接入與數(shù)據(jù)傳輸。經(jīng)測(cè)試,此RFID數(shù)據(jù)網(wǎng)關(guān)具有良好的穩(wěn)定性和可靠性,具有推廣的參考價(jià)值和應(yīng)用前景。
參考文獻(xiàn):
[1]寧煥生,王炳輝.RFID重大工程與國(guó)家物聯(lián)網(wǎng)[M].北京:機(jī)械工業(yè)出版社,2009.
[2]葉鵬,馬俊,王威.基于ARM的RFID智能物流管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2013(10):3475-3479.
[3]楊文珺.基于串口服務(wù)器的RFID讀卡器配置調(diào)試[J].電子設(shè)計(jì)工程,2015(16):19-21.
[4]孫林軍,賀鋒濤.基于ARM的TFT-LCD液晶顯示圖像控制系統(tǒng)研究[J].黃岡師范學(xué)院學(xué)報(bào),2012,32(3):41-45.
[5]孫弋.ARM-Linux嵌入式系統(tǒng)開(kāi)發(fā)基礎(chǔ)[M].西安:西安電子科技大學(xué)出版社,2008.
[6]LI Z H,CHEN S Y,LI H W.Construction of the embedded Linux system based on ARM platform[J].Computer Systems & Applications,2010,19(10):153-157.
Design of an embedded RFID data gateway with multi-interface based ARM9
ZHANG Wei
(School of Electronic Engineering ,Tianjin University of Technology and Education,Tianjin 300222,China)
Abstract:In order to upload RFID data via Internet,an embedded data gateway with multi-interface based ARM9 is designed in this paper.The users can inquire data and debug the system via Internet.The gateway builds Boa web server with ARM9 S3c2440 processor as core and Linux as operation system to achieve connecting RFID reader with multi-interface.The test proves that the RFID data gateway has characteristics of high reliability and good stability,which is well worth popularization and promotion.
Key words:ARM;embedded system;RFID;data gateway;multi-interface
作者簡(jiǎn)介:張?。?983—),男,實(shí)驗(yàn)師,碩士,研究方向?yàn)榍度胧较到y(tǒng).
基金項(xiàng)目:天津職業(yè)技術(shù)師范大學(xué)科研發(fā)展基金資助項(xiàng)目(KJ12-03).
收稿日期:2015-12-15
中圖分類號(hào):TP391.44
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):2095-0926(2016)01-0030-03