基于ARM的RFID中間件系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引 言
RFID中間件在RFID讀寫(xiě)器和應(yīng)用程序之間起橋梁作用。應(yīng)用程序端使用中間件所提供一組通用的應(yīng)用程序接口(API),即能連到RFID讀寫(xiě)器,采集RFID標(biāo)簽數(shù)據(jù)。即使存儲(chǔ)RFID標(biāo)簽情報(bào)的數(shù)據(jù)庫(kù)軟件或后端應(yīng)用程序增加或改由其他軟件取代,或者讀寫(xiě) RFID讀寫(xiě)器種類(lèi)增加等情況發(fā)生時(shí),應(yīng)用端不需修改也能處理,省去多對(duì)多連接的維護(hù)復(fù)雜性問(wèn)題。嵌入式RFID中間件在RFID的大規(guī)模應(yīng)用中將扮演重要的角色。在具體應(yīng)用部署過(guò)程中,會(huì)有大量的嵌入式設(shè)備充當(dāng)邊緣中間件的硬件平臺(tái)。對(duì)于眾多有意從事中高端RFID讀寫(xiě)器開(kāi)發(fā)的硬件廠(chǎng)商而言,借助嵌入式 RFID中間件迅速實(shí)現(xiàn)硬件集成基礎(chǔ)之上的軟件集成,是幫助硬件廠(chǎng)商快速升級(jí)產(chǎn)品系列,滿(mǎn)足企業(yè)拓展市場(chǎng)和業(yè)務(wù)范圍需要的有效舉措。通透性是這種系統(tǒng)整個(gè)應(yīng)用的關(guān)鍵,正確抓取數(shù)據(jù)、確保數(shù)據(jù)讀取的可靠性,以及有效地將數(shù)據(jù)傳送到后端系統(tǒng)都是必須考慮的問(wèn)題。
ARM處理器是當(dāng)今應(yīng)用最為廣泛的處理器芯片之一,低功耗、低成本、高性能等特點(diǎn)使其在消費(fèi)電子類(lèi)產(chǎn)品中的競(jìng)爭(zhēng)力日趨顯著。本文提出了一種基于ARM的支持多通信平臺(tái)的RFID中間件系統(tǒng)設(shè)計(jì),可以更廣泛、更豐富地推動(dòng)RFID應(yīng)用。
1 硬件設(shè)計(jì)
AutO_ID中心曾提出了名為Savant的RFID中間件概念的雛形,并制定出相應(yīng)的1.0規(guī)范草案、技術(shù)手冊(cè)和原型系統(tǒng),明確了RFID中間件的最原始功能。在此基礎(chǔ)上,本系統(tǒng)應(yīng)有以下功能:
?、俟芾碜x寫(xiě)設(shè)備,支持多種讀寫(xiě)器(包括不同廠(chǎng)商、不同類(lèi)型)。
?、诓杉⑦^(guò)濾并緩存數(shù)據(jù)。
③提供應(yīng)用開(kāi)發(fā)接口。
④與EPC體系標(biāo)準(zhǔn)服務(wù)交互:*、PML。
⑤支持多通信平臺(tái),如Internet、GSM、GRPS和CDMA。
?、尥庠O(shè)的集成控制與協(xié)同,實(shí)現(xiàn)嵌入式RFID中間件的柔性設(shè)備控制。
硬件系統(tǒng)框圖如圖1所示。
1.1 ARM核微處理器
本系統(tǒng)在功能上分為有線(xiàn)通信模塊、無(wú)線(xiàn)通信模塊、人機(jī)交互模塊和核心模塊。本設(shè)計(jì)采用Samscmg公司203 MHz的ARM920T內(nèi)核的處理器S3C2410。
S3C2410微處理器是一個(gè)多用途的通用芯片,內(nèi)部集成了微處理器和常用外圍組件,可用于各種領(lǐng)域,指令處理速度達(dá)到200MIPS。其特性包括:擴(kuò)展總線(xiàn)最高頻率為100MHz,32位數(shù)據(jù),27位外部地址線(xiàn),存儲(chǔ)控制器(8個(gè)存儲(chǔ)體)包含RAM(SDRAM)控制器、NAND控制器;復(fù)位時(shí)引導(dǎo)芯片選擇(8、16位存儲(chǔ)或NAND可供選擇);4個(gè)帶有PWM的16位定時(shí)器,多達(dá)55個(gè)中斷源的中斷控制器;3個(gè)UART,支持IrDA 1.O;4個(gè)DMA通道(支持外設(shè)DMA);支持STN與TFTL LCD控制器;2個(gè) USB口;I2C-Bus接口;2個(gè)串行外圍接口電路(SPI)和SD卡接口。此外,S3C2410上可以移植標(biāo)準(zhǔn)Linux操作系統(tǒng),使得程序開(kāi)發(fā)更加簡(jiǎn)單。
1.2 主板模塊
系統(tǒng)內(nèi)存部分由1片8M×16位數(shù)據(jù)寬度的Flash,共16 MB Flash(Intel E28F128J3C),讀寫(xiě)周期150 ns;2片16M×16位數(shù)據(jù)寬度的SDRAM(HY57V561620BT)構(gòu)成,共64 MB SDRAM。
S3C2410提供8路片選nGCSn[0~7],每個(gè)片選都指定了固定的地址,每個(gè)片選固定間隔為128 MB。系統(tǒng)內(nèi)存由2片16M×16位數(shù)據(jù)寬度的SDRAM拼成32位模式,公用nGCS6。共64 MB RAM。起始地址為Ox30000000。nGCS0接的是一片8M×16位數(shù)據(jù)寬度的Intel E28F128 Flash,安裝在BANK0,起始地址為0x0。其中內(nèi)核燒寫(xiě)的起始地址為Ox40000,根文件系統(tǒng)RAM~DISK燒寫(xiě)的起始地址為 Oxl40000。
1.3 人機(jī)交互模塊
系統(tǒng)利用GPIO口提供4個(gè)按鍵,以便能夠響應(yīng)按鍵中斷,并獲取鍵值。利用EINT4使用。 PS2鍵盤(pán)。S3C2410自帶LCD控制器和觸摸屏接口。本系統(tǒng)使用型號(hào)為L(zhǎng)Q035Q7DB02的LCD液晶顯示屏,采用MAX1*.作為電源驅(qū)動(dòng)器。MAX1*是美國(guó)Maxim公司生產(chǎn)的有源矩陣液晶顯示器開(kāi)關(guān)電源,具有升壓、雙路輸出鎖相等特點(diǎn),還提供一個(gè)LCD底板驅(qū)動(dòng)器。
1.4 有線(xiàn)通信模塊
該模塊包括RS-232串行接口和1個(gè)10/100M自適應(yīng)以太網(wǎng)接口。本系統(tǒng)采用一種單電源、低功耗RS-232芯片MAX3232。13、8腳接收:RS-232電平,最大值可達(dá)±25 V,從而12、9腳輸出TTL電平,低電平不大于O.4V,高電平不低于Vcc-O.6 V;11、10腳輸入TTL電平,14、7腳輸出RS-232電平,最小幅值大于±5.0 V,典型值為±5.4 V。當(dāng)向外發(fā)送數(shù)據(jù)時(shí),TXD1有一個(gè)下降沿,指示燈LED亮,經(jīng)過(guò)MAX3232,TTL電平轉(zhuǎn)化為RS-232電平。當(dāng)接收外部數(shù)據(jù)時(shí),RXD1有一個(gè)下降沿,指示燈LED亮,外部RS-232電平經(jīng)過(guò)MAX3232轉(zhuǎn)化為T(mén)TL電平進(jìn)入微處理器。
系統(tǒng)通過(guò)外接1片DM9000以太網(wǎng)MAC芯片擴(kuò)展了一個(gè)10/100M自適應(yīng)的以太網(wǎng)接口,占用資源nGCS1/EINTO。DM9000是 Davicom公司的一個(gè)全雙工高速以太網(wǎng)控制處理器,內(nèi)部集成了10/100M PHY、MAC、MMU和4 KB Dword SRAM。兼容3.3 V和5 V供電。它提供8位、16位和32位3種接口,4路多功能GPIO。此外DM9000還集成有接收緩沖區(qū)。S3C2410X支持2路USB HOST接口,支持高速、低速USB設(shè)備。
1.5 無(wú)線(xiàn)通信模塊
無(wú)線(xiàn)技術(shù)是目前通信發(fā)展中最具有活力和前景的技術(shù),支持無(wú)線(xiàn)接人的RFID中間件可以部署于無(wú)固定網(wǎng)絡(luò)基礎(chǔ)設(shè)施的場(chǎng)景,降低有線(xiàn)網(wǎng)絡(luò)部署成本。RFID中間件還可以用無(wú)線(xiàn)通信方式向用戶(hù)傳輸信息,提高信息傳遞的實(shí)時(shí)性。通過(guò)在系統(tǒng)中實(shí)現(xiàn)GPRS (General Packet Radio Service)模塊,使系統(tǒng)具備移動(dòng)通信功能。GPRS是通用分組無(wú)線(xiàn)業(yè)務(wù)的簡(jiǎn)稱(chēng),以分組模式在PLMN和與外部網(wǎng)絡(luò)互聯(lián)的內(nèi)部網(wǎng)上傳輸。理論上, GPRS可提供高達(dá)115 kbps的傳輸速率,但實(shí)際上用戶(hù)用到的帶寬大約為40 KB
~100KB。GPRS分組交換接人時(shí)間小于1 s,廣泛支持IP協(xié)議。GPRS的這些特點(diǎn)提供了一個(gè)完備的基于TCP/IP協(xié)議的通信解決方案。GPRS與Internet連接原理框圖如圖2所示。
GPRS通信模塊使用Sony Ericsson公司的GR47來(lái)實(shí)現(xiàn)GPRS上網(wǎng)的功能。GR47是GSM/GPRS全套語(yǔ)音和數(shù)據(jù)功能的工業(yè)級(jí)的先進(jìn)無(wú)線(xiàn)模塊,所有的功能都集中在一塊集成的芯片內(nèi),內(nèi)嵌TCP/IP協(xié)議棧。[!--empirenews.page--]
1.6 電源設(shè)計(jì)
系統(tǒng)的核心模塊工作電源為單一的3.3 V/0.5 A直流。由于核心模塊電源消耗功率較小,因此系統(tǒng)采用LT10856線(xiàn)性穩(wěn)壓芯片,使用電路板上下面銅箔作為散熱面,用9 V/0.8 A直流電源供電。
在其他的應(yīng)用設(shè)計(jì)中根據(jù)不同的電源消耗需求,可以選擇線(xiàn)性穩(wěn)壓源方案和開(kāi)關(guān)穩(wěn)壓源方案。對(duì)于前一種選擇,可以獲得低噪聲、廉價(jià)等益處,但同時(shí)也有效率低、發(fā)熱較大等缺點(diǎn);對(duì)于開(kāi)關(guān)電源方案,正好與線(xiàn)性電源的優(yōu)缺點(diǎn)相反。
1.7 其他外設(shè)
系統(tǒng)提供了2個(gè)USB HOST接口,可支持U盤(pán)、USB攝像頭等多種USB設(shè)備,只需開(kāi)發(fā)不同的設(shè)備驅(qū)動(dòng)就可有效擴(kuò)展。
使用UDA1380音頻編解碼器可有效支持MD、CD、MP3格式的音頻文件的播放。
2 軟件設(shè)計(jì)
Linux性能強(qiáng)大,開(kāi)源免費(fèi),有極強(qiáng)的平臺(tái)可伸縮性,符合POSIX標(biāo)準(zhǔn),且有強(qiáng)大的網(wǎng)絡(luò)功能。這些特點(diǎn)使其近年來(lái)在嵌入式領(lǐng)域發(fā)展迅速,廣泛滲透到信息家電、網(wǎng)絡(luò)設(shè)備和手持終端等市場(chǎng),因此本系統(tǒng)以L(fǎng)inux操作系統(tǒng)為依托,在其上開(kāi)發(fā)應(yīng)用程序。中間件軟件是一個(gè)多層次多模塊的軟件系統(tǒng),共分為3個(gè)層次,如圖3所示。
系統(tǒng)配置層:實(shí)現(xiàn)系統(tǒng)配置功能,調(diào)用下層提供的一些功能接口,不僅可以添加下層的基本處理單元,而且可以對(duì)處理單元的一些參數(shù)進(jìn)行有效配置。它包括Web Server接口模塊和遠(yuǎn)程控制信息臺(tái)模塊。
數(shù)據(jù)邏輯層:實(shí)現(xiàn)該軟件系統(tǒng)的基本功能,包括讀寫(xiě)器命令處理、標(biāo)簽過(guò)濾處理、對(duì)象*(*)接口、企業(yè)級(jí)服務(wù)器接*互(可能改為和PC中間件進(jìn)行交互)。該層次完成系統(tǒng)的邏輯功能,包括設(shè)備管理模塊、數(shù)據(jù)過(guò)濾模塊、*查詢(xún)模塊(保留)、企業(yè)級(jí)別服務(wù)器接口模塊。
基礎(chǔ)設(shè)施層:提供系統(tǒng)運(yùn)行所需要的基本功能,如數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)功能、內(nèi)存管理功能,它們?yōu)槠渌K提供統(tǒng)一穩(wěn)定的接口,屏蔽一些差異性。該層次包括網(wǎng)絡(luò)管理模塊、內(nèi)存管理模塊(保留)、數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)模塊。
2.1 Linux的移植
在嵌入式開(kāi)發(fā)中,把操作系統(tǒng)移植到開(kāi)發(fā)板是進(jìn)行嵌入式應(yīng)用程序開(kāi)發(fā)的前提和基礎(chǔ)。ARM Linux是針對(duì)ARM體系結(jié)構(gòu)的嵌入式Linux操作系統(tǒng)。在編譯Linux內(nèi)核之前,首先要針對(duì)具體的硬件對(duì)內(nèi)核進(jìn)行配置,包括系統(tǒng)類(lèi)型的配置。本系統(tǒng)選擇ARM system type。在配置好通用內(nèi)核選項(xiàng)、塊設(shè)備和文件系統(tǒng)之后,即可編譯修改后的內(nèi)核文件,生成一個(gè)內(nèi)核映像的自解壓壓縮文件。通過(guò)運(yùn)行make clean dep zImage對(duì)該文件進(jìn)行依賴(lài)編譯,系統(tǒng)將在/arch/armnommu/boot目錄下生成內(nèi)核映像zImage,并將zImage下載到Flash 中的64K地址處。運(yùn)行時(shí),將U-Boot復(fù)制到SDRAM中的OxOc300000地址處并啟動(dòng)zImage;zImage會(huì)自行解壓縮,將其解壓縮到 SDRAM中的OxOc080000地址處并開(kāi)始運(yùn)行。內(nèi)核啟動(dòng)后,系統(tǒng)會(huì)將romfs作為根文件系統(tǒng)。在linux-dist目錄下運(yùn)行make menuconfig命令可配置Linux的文件系統(tǒng)。
2.2 RFID標(biāo)簽數(shù)據(jù)處理
系統(tǒng)讀取的RFID標(biāo)簽數(shù)據(jù)在中間件中主要經(jīng)歷數(shù)據(jù)管理、編碼管理和過(guò)濾規(guī)則管理,之后存入本地?cái)?shù)據(jù)庫(kù)。其中數(shù)據(jù)管理包括數(shù)據(jù)校驗(yàn)、數(shù)據(jù)處理和數(shù)據(jù)存儲(chǔ);編碼管理即設(shè)定編碼規(guī)范,可配置支持不同數(shù)據(jù)編碼規(guī)范;過(guò)濾規(guī)則管理能支持用戶(hù)配置數(shù)據(jù)過(guò)濾規(guī)則。系統(tǒng)基本流程如圖4所示。
用戶(hù)的參數(shù)配置信息通過(guò)消息隊(duì)列發(fā)送給中間件軟件,軟件分析發(fā)送過(guò)來(lái)的數(shù)據(jù),對(duì)系統(tǒng)工作狀態(tài)作出一定的調(diào)整。同時(shí),系統(tǒng)通過(guò)網(wǎng)絡(luò)處理模塊接收從網(wǎng)口上讀寫(xiě)器發(fā)送過(guò)來(lái)的數(shù)據(jù),把這些數(shù)據(jù)分為標(biāo)簽數(shù)據(jù)和讀寫(xiě)器管理數(shù)據(jù)兩類(lèi)。系統(tǒng)每個(gè)讀寫(xiě)器實(shí)例都有自己的數(shù)據(jù)處理線(xiàn)程,它分析自己獨(dú)特的數(shù)據(jù)格式形成統(tǒng)一的數(shù)據(jù),并且調(diào)用該種讀寫(xiě)器的處理方法,對(duì)解析后的數(shù)據(jù)結(jié)合該讀寫(xiě)器特定的數(shù)據(jù)處理參數(shù),對(duì)標(biāo)簽數(shù)據(jù)進(jìn)行過(guò)濾、轉(zhuǎn)發(fā)等工作。整個(gè)系統(tǒng)中有唯一一個(gè)管理命令處理線(xiàn)程,它輪詢(xún)每個(gè)讀寫(xiě)器的管理命令處理隊(duì)列。如果有命令數(shù)據(jù),那么調(diào)用該讀寫(xiě)器特定的處理方法對(duì)這些數(shù)據(jù)進(jìn)行處理。
結(jié) 語(yǔ)
本文提供了一種支持多通信平臺(tái)的嵌入式RFID中間件系統(tǒng)設(shè)計(jì)方案。支持無(wú)線(xiàn)接入的RFID中間件可以部署于無(wú)固定網(wǎng)絡(luò)基礎(chǔ)設(shè)施的場(chǎng)景,降低有線(xiàn)網(wǎng)絡(luò)部署成本。RFID中間件還可以用無(wú)線(xiàn)通信方式向用戶(hù)或者系統(tǒng)傳輸信息,提高了信息傳遞的實(shí)時(shí)性。