基于ARM 的RFID 中間件系統(tǒng)設(shè)計(jì)
引言
RFID中間件在RFID讀寫器和應(yīng)用程序之間起橋梁作用。應(yīng)用程序端使用中間件所提供一組通用的應(yīng)用程序接口(API),即能連到RFID讀寫器,采集RFID標(biāo)簽數(shù)據(jù)。即使存儲(chǔ)RFID標(biāo)簽情報(bào)的數(shù)據(jù)庫(kù)軟件或后端應(yīng)用程序增加或改由其他軟件取代,或者讀寫RFID讀寫器種類增加等情況發(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讀寫器開(kāi)發(fā)的硬件廠商而言,借助嵌入式RFID中間件迅速實(shí)現(xiàn)硬件集成基礎(chǔ)之上的軟件集成,是幫助硬件廠商快速升級(jí)產(chǎ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)電子類產(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)有以下功能:
①管理讀寫設(shè)備,支持多種讀寫器(包括不同廠商、不同類型)。
②采集、過(guò)濾并緩存數(shù)據(jù)。
③提供應(yīng)用開(kāi)發(fā)接口。
④與EPC體系標(biāo)準(zhǔn)服務(wù)交互:ONS、PML。
⑤支持多通信平臺(tái),如Internet、GSM、GRPS和CDMA。
⑥外設(shè)的集成控制與協(xié)同,實(shí)現(xiàn)嵌入式RFID中間件的柔性設(shè)備控制。
1.1ARM核微處理器
本系統(tǒng)在功能上分為有線通信模塊、無(wú)線通信模塊、人機(jī)交互模塊和核心模塊。本設(shè)計(jì)采用Samscmg公司203MHz的ARM920T內(nèi)核的處理器S3C2410。
S3C2410微處理器是一個(gè)多用途的通用芯片,內(nèi)部集成了微處理器和常用外圍組件,可用于各種領(lǐng)域,指令處理速度達(dá)到200MIPS。其特性包括:擴(kuò)展總線最高頻率為100MHz,32位數(shù)據(jù),27位外部地址線,存儲(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,支持IrDA1.O;4個(gè)DMA通道(支持外設(shè)DMA);支持STN與TFTLLCD控制器;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,共16MBFlash(IntelE28F128J3C),讀寫周期150ns;2片16M×16位數(shù)據(jù)寬度的SDRAM(HY57V561620BT)構(gòu)成,共64MBSDRAM。
S3C2410提供8路片選nGCSn[0~7],每個(gè)片選都指定了固定的地址,每個(gè)片選固定間隔為128MB。系統(tǒng)內(nèi)存由2片16M×16位數(shù)據(jù)寬度的SDRAM拼成32位模式,公用nGCS6。共64MBRAM。起始地址為Ox30000000。nGCS0接的是一片8M×16位數(shù)據(jù)寬度的IntelE28F128Flash,安裝在BANK0,起始地址為0x0。其中內(nèi)核燒寫的起始地址為Ox40000,根文件系統(tǒng)RAM~DISK燒寫的起始地址為Oxl40000。
1.3人機(jī)交互模塊
系統(tǒng)利用GPIO口提供4個(gè)按鍵,以便能夠響應(yīng)按鍵中斷,并獲取鍵值。利用EINT4使用。PS2鍵盤。S3C2410自帶LCD控制器和觸摸屏接口。本系統(tǒng)使用型號(hào)為L(zhǎng)Q035Q7DB02的LCD液晶顯示屏,采用MAX1664.作為電源驅(qū)動(dòng)器。MAX1664是美國(guó)Maxim公司生產(chǎn)的有源矩陣液晶顯示器開(kāi)關(guān)電源,具有升壓、雙路輸出鎖相等特點(diǎn),還提供一個(gè)LCD底板驅(qū)動(dòng)器。
1.4有線通信模塊
該模塊包括RS-232串行接口和1個(gè)10/100M自適應(yīng)以太網(wǎng)接口。本系統(tǒng)采用一種單電源、低功耗RS-232芯片MAX3232。13、8腳接收:RS-232電平,最大值可達(dá)±25V,從而12、9腳輸出TTL電平,低電平不大于O.4V,高電平不低于Vcc-O.6V;11、10腳輸入TTL電平,14、7腳輸出RS-232電平,最小幅值大于±5.0V,典型值為±5.4V。當(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)化為TTL電平進(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/100MPHY、MAC、MMU和4KBDwordSRAM。兼容3.3V和5V供電。它提供8位、16位和32位3種接口,4路多功能GPIO。此外DM9000還集成有接收緩沖區(qū)。S3C2410X支持2路USBHOST接口,支持高速、低速USB設(shè)備。
1.5無(wú)線通信模塊
無(wú)線技術(shù)是目前通信發(fā)展中最具有活力和前景的技術(shù),支持無(wú)線接人的RFID中間件可以部署于無(wú)固定網(wǎng)絡(luò)基礎(chǔ)設(shè)施的場(chǎng)景,降低有線網(wǎng)絡(luò)部署成本。RFID中間件還可以用無(wú)線通信方式向用戶傳輸信息,提高信息傳遞的實(shí)時(shí)性。通過(guò)在系統(tǒng)中實(shí)現(xiàn)GPRS(GeneralPacketRadioService)模塊,使系統(tǒng)具備移動(dòng)通信功能。GPRS是通用分組無(wú)線業(yè)務(wù)的簡(jiǎn)稱,以分組模式在PLMN和與外部網(wǎng)絡(luò)互聯(lián)的內(nèi)部網(wǎng)上傳輸。理論上,GPRS可提供高達(dá)115kbps的傳輸速率,但實(shí)際上用戶用到的帶寬大約為40KB
~100KB。GPRS分組交換接人時(shí)間小于1s,廣泛支持IP協(xié)議。GPRS的這些特點(diǎn)提供了一個(gè)完備的基于TCP/IP協(xié)議的通信解決方案。
GPRS通信模塊使用SonyEricsson公司的GR47來(lái)實(shí)現(xiàn)GPRS上網(wǎng)的功能。GR47是GSM/GPRS全套語(yǔ)音和數(shù)據(jù)功能的工業(yè)級(jí)的先進(jìn)無(wú)線模塊,所有的功能都集中在一塊集成的芯片內(nèi),內(nèi)嵌TCP/IP協(xié)議棧。
1.6電源設(shè)計(jì)
系統(tǒng)的核心模塊工作電源為單一的3.3V/0.5A直流。由于核心模塊電源消耗功率較小,因此系統(tǒng)采用LT10856線性穩(wěn)壓芯片,使用電路板上下面銅箔作為散熱面,用9V/0.8A直流電源供電。
在其他的應(yīng)用設(shè)計(jì)中根據(jù)不同的電源消耗需求,可以選擇線性穩(wěn)壓源方案和開(kāi)關(guān)穩(wěn)壓源方案。對(duì)于前一種選擇,可以獲得低噪聲、廉價(jià)等益處,但同時(shí)也有效率低、發(fā)熱較大等缺點(diǎn);對(duì)于開(kāi)關(guān)電源方案,正好與線性電源的優(yōu)缺點(diǎn)相反。
1.7其他外設(shè)
系統(tǒng)提供了2個(gè)USBHOST接口,可支持U盤、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)以Linux操作系統(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)行有效配置。它包括WebServer接口模塊和遠(yuǎn)程控制信息臺(tái)模塊。
數(shù)據(jù)邏輯層:實(shí)現(xiàn)該軟件系統(tǒng)的基本功能,包括讀寫器命令處理、標(biāo)簽過(guò)濾處理、對(duì)象域名服務(wù)(ONS)接口、企業(yè)級(jí)服務(wù)器接口交互(可能改為和PC中間件進(jìn)行交互)。該層次完成系統(tǒng)的邏輯功能,包括設(shè)備管理模塊、數(shù)據(jù)過(guò)濾模塊、ONS查詢模塊(保留)、企業(yè)級(jí)別服務(wù)器接口模塊。
基礎(chǔ)設(shè)施層:提供系統(tǒng)運(yùn)行所需要的基本功能,如數(shù)據(jù)庫(kù)訪問(wèn)功能、內(nèi)存管理功能,它們?yōu)槠渌K提供統(tǒng)一穩(wěn)定的接口,屏蔽一些差異性。該層次包括網(wǎng)絡(luò)管理模塊、內(nèi)存管理模塊(保留)、數(shù)據(jù)庫(kù)訪問(wèn)模塊。
2.1Linux的移植
在嵌入式開(kāi)發(fā)中,把操作系統(tǒng)移植到開(kāi)發(fā)板是進(jìn)行嵌入式應(yīng)用程序開(kāi)發(fā)的前提和基礎(chǔ)。ARMLinux是針對(duì)ARM體系結(jié)構(gòu)的嵌入式Linux操作系統(tǒng)。在編譯Linux內(nèi)核之前,首先要針對(duì)具體的硬件對(duì)內(nèi)核進(jìn)行配置,包括系統(tǒng)類型的配置。本系統(tǒng)選擇ARMsystemtype。在配置好通用內(nèi)核選項(xiàng)、塊設(shè)備和文件系統(tǒng)之后,即可編譯修改后的內(nèi)核文件,生成一個(gè)內(nèi)核映像的自解壓壓縮文件。通過(guò)運(yùn)行makecleandepzImage對(duì)該文件進(jìn)行依賴編譯,系統(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)行makemenuconfig命令可配置Linux的文件系統(tǒng)。
2.2RFID標(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ī)則管理能支持用戶配置數(shù)據(jù)過(guò)濾規(guī)則。系統(tǒng)基本流程如圖4所示。
用戶的參數(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)口上讀寫器發(fā)送過(guò)來(lái)的數(shù)據(jù),把這些數(shù)據(jù)分為標(biāo)簽數(shù)據(jù)和讀寫器管理數(shù)據(jù)兩類。系統(tǒng)每個(gè)讀寫器實(shí)例都有自己的數(shù)據(jù)處理線程,它分析自己獨(dú)特的數(shù)據(jù)格式形成統(tǒng)一的數(shù)據(jù),并且調(diào)用該種讀寫器的處理方法,對(duì)解析后的數(shù)據(jù)結(jié)合該讀寫器特定的數(shù)據(jù)處理參數(shù),對(duì)標(biāo)簽數(shù)據(jù)進(jìn)行過(guò)濾、轉(zhuǎn)發(fā)等工作。整個(gè)系統(tǒng)中有唯一一個(gè)管理命令處理線程,它輪詢每個(gè)讀寫器的管理命令處理隊(duì)列。如果有命令數(shù)據(jù),那么調(diào)用該讀寫器特定的處理方法對(duì)這些數(shù)據(jù)進(jìn)行處理。
結(jié)語(yǔ)
本文提供了一種支持多通信平臺(tái)的嵌入式RFID中間件系統(tǒng)設(shè)計(jì)方案。支持無(wú)線接入的RFID中間件可以部署于無(wú)固定網(wǎng)絡(luò)基礎(chǔ)設(shè)施的場(chǎng)景,降低有線網(wǎng)絡(luò)部署成本。RFID中間件還可以用無(wú)線通信方式向用戶或者系統(tǒng)傳輸信息,提高了信息傳遞的實(shí)時(shí)性。
RFID中間件在RFID讀寫器和應(yīng)用程序之間起橋梁作用。應(yīng)用程序端使用中間件所提供一組通用的應(yīng)用程序接口(API),即能連到RFID讀寫器,采集RFID標(biāo)簽數(shù)據(jù)。即使存儲(chǔ)RFID標(biāo)簽情報(bào)的數(shù)據(jù)庫(kù)軟件或后端應(yīng)用程序增加或改由其他軟件取代,或者讀寫RFID讀寫器種類增加等情況發(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讀寫器開(kāi)發(fā)的硬件廠商而言,借助嵌入式RFID中間件迅速實(shí)現(xiàn)硬件集成基礎(chǔ)之上的軟件集成,是幫助硬件廠商快速升級(jí)產(chǎ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)電子類產(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)有以下功能:
①管理讀寫設(shè)備,支持多種讀寫器(包括不同廠商、不同類型)。
②采集、過(guò)濾并緩存數(shù)據(jù)。
③提供應(yīng)用開(kāi)發(fā)接口。
④與EPC體系標(biāo)準(zhǔn)服務(wù)交互:ONS、PML。
⑤支持多通信平臺(tái),如Internet、GSM、GRPS和CDMA。
⑥外設(shè)的集成控制與協(xié)同,實(shí)現(xiàn)嵌入式RFID中間件的柔性設(shè)備控制。
1.1ARM核微處理器
本系統(tǒng)在功能上分為有線通信模塊、無(wú)線通信模塊、人機(jī)交互模塊和核心模塊。本設(shè)計(jì)采用Samscmg公司203MHz的ARM920T內(nèi)核的處理器S3C2410。
S3C2410微處理器是一個(gè)多用途的通用芯片,內(nèi)部集成了微處理器和常用外圍組件,可用于各種領(lǐng)域,指令處理速度達(dá)到200MIPS。其特性包括:擴(kuò)展總線最高頻率為100MHz,32位數(shù)據(jù),27位外部地址線,存儲(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,支持IrDA1.O;4個(gè)DMA通道(支持外設(shè)DMA);支持STN與TFTLLCD控制器;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,共16MBFlash(IntelE28F128J3C),讀寫周期150ns;2片16M×16位數(shù)據(jù)寬度的SDRAM(HY57V561620BT)構(gòu)成,共64MBSDRAM。
S3C2410提供8路片選nGCSn[0~7],每個(gè)片選都指定了固定的地址,每個(gè)片選固定間隔為128MB。系統(tǒng)內(nèi)存由2片16M×16位數(shù)據(jù)寬度的SDRAM拼成32位模式,公用nGCS6。共64MBRAM。起始地址為Ox30000000。nGCS0接的是一片8M×16位數(shù)據(jù)寬度的IntelE28F128Flash,安裝在BANK0,起始地址為0x0。其中內(nèi)核燒寫的起始地址為Ox40000,根文件系統(tǒng)RAM~DISK燒寫的起始地址為Oxl40000。
1.3人機(jī)交互模塊
系統(tǒng)利用GPIO口提供4個(gè)按鍵,以便能夠響應(yīng)按鍵中斷,并獲取鍵值。利用EINT4使用。PS2鍵盤。S3C2410自帶LCD控制器和觸摸屏接口。本系統(tǒng)使用型號(hào)為L(zhǎng)Q035Q7DB02的LCD液晶顯示屏,采用MAX1664.作為電源驅(qū)動(dòng)器。MAX1664是美國(guó)Maxim公司生產(chǎn)的有源矩陣液晶顯示器開(kāi)關(guān)電源,具有升壓、雙路輸出鎖相等特點(diǎn),還提供一個(gè)LCD底板驅(qū)動(dòng)器。
1.4有線通信模塊
該模塊包括RS-232串行接口和1個(gè)10/100M自適應(yīng)以太網(wǎng)接口。本系統(tǒng)采用一種單電源、低功耗RS-232芯片MAX3232。13、8腳接收:RS-232電平,最大值可達(dá)±25V,從而12、9腳輸出TTL電平,低電平不大于O.4V,高電平不低于Vcc-O.6V;11、10腳輸入TTL電平,14、7腳輸出RS-232電平,最小幅值大于±5.0V,典型值為±5.4V。當(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)化為TTL電平進(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/100MPHY、MAC、MMU和4KBDwordSRAM。兼容3.3V和5V供電。它提供8位、16位和32位3種接口,4路多功能GPIO。此外DM9000還集成有接收緩沖區(qū)。S3C2410X支持2路USBHOST接口,支持高速、低速USB設(shè)備。
1.5無(wú)線通信模塊
無(wú)線技術(shù)是目前通信發(fā)展中最具有活力和前景的技術(shù),支持無(wú)線接人的RFID中間件可以部署于無(wú)固定網(wǎng)絡(luò)基礎(chǔ)設(shè)施的場(chǎng)景,降低有線網(wǎng)絡(luò)部署成本。RFID中間件還可以用無(wú)線通信方式向用戶傳輸信息,提高信息傳遞的實(shí)時(shí)性。通過(guò)在系統(tǒng)中實(shí)現(xiàn)GPRS(GeneralPacketRadioService)模塊,使系統(tǒng)具備移動(dòng)通信功能。GPRS是通用分組無(wú)線業(yè)務(wù)的簡(jiǎn)稱,以分組模式在PLMN和與外部網(wǎng)絡(luò)互聯(lián)的內(nèi)部網(wǎng)上傳輸。理論上,GPRS可提供高達(dá)115kbps的傳輸速率,但實(shí)際上用戶用到的帶寬大約為40KB
~100KB。GPRS分組交換接人時(shí)間小于1s,廣泛支持IP協(xié)議。GPRS的這些特點(diǎn)提供了一個(gè)完備的基于TCP/IP協(xié)議的通信解決方案。
GPRS通信模塊使用SonyEricsson公司的GR47來(lái)實(shí)現(xiàn)GPRS上網(wǎng)的功能。GR47是GSM/GPRS全套語(yǔ)音和數(shù)據(jù)功能的工業(yè)級(jí)的先進(jìn)無(wú)線模塊,所有的功能都集中在一塊集成的芯片內(nèi),內(nèi)嵌TCP/IP協(xié)議棧。
1.6電源設(shè)計(jì)
系統(tǒng)的核心模塊工作電源為單一的3.3V/0.5A直流。由于核心模塊電源消耗功率較小,因此系統(tǒng)采用LT10856線性穩(wěn)壓芯片,使用電路板上下面銅箔作為散熱面,用9V/0.8A直流電源供電。
在其他的應(yīng)用設(shè)計(jì)中根據(jù)不同的電源消耗需求,可以選擇線性穩(wěn)壓源方案和開(kāi)關(guān)穩(wěn)壓源方案。對(duì)于前一種選擇,可以獲得低噪聲、廉價(jià)等益處,但同時(shí)也有效率低、發(fā)熱較大等缺點(diǎn);對(duì)于開(kāi)關(guān)電源方案,正好與線性電源的優(yōu)缺點(diǎn)相反。
1.7其他外設(shè)
系統(tǒng)提供了2個(gè)USBHOST接口,可支持U盤、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)以Linux操作系統(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)行有效配置。它包括WebServer接口模塊和遠(yuǎn)程控制信息臺(tái)模塊。
數(shù)據(jù)邏輯層:實(shí)現(xiàn)該軟件系統(tǒng)的基本功能,包括讀寫器命令處理、標(biāo)簽過(guò)濾處理、對(duì)象域名服務(wù)(ONS)接口、企業(yè)級(jí)服務(wù)器接口交互(可能改為和PC中間件進(jìn)行交互)。該層次完成系統(tǒng)的邏輯功能,包括設(shè)備管理模塊、數(shù)據(jù)過(guò)濾模塊、ONS查詢模塊(保留)、企業(yè)級(jí)別服務(wù)器接口模塊。
基礎(chǔ)設(shè)施層:提供系統(tǒng)運(yùn)行所需要的基本功能,如數(shù)據(jù)庫(kù)訪問(wèn)功能、內(nèi)存管理功能,它們?yōu)槠渌K提供統(tǒng)一穩(wěn)定的接口,屏蔽一些差異性。該層次包括網(wǎng)絡(luò)管理模塊、內(nèi)存管理模塊(保留)、數(shù)據(jù)庫(kù)訪問(wèn)模塊。
2.1Linux的移植
在嵌入式開(kāi)發(fā)中,把操作系統(tǒng)移植到開(kāi)發(fā)板是進(jìn)行嵌入式應(yīng)用程序開(kāi)發(fā)的前提和基礎(chǔ)。ARMLinux是針對(duì)ARM體系結(jié)構(gòu)的嵌入式Linux操作系統(tǒng)。在編譯Linux內(nèi)核之前,首先要針對(duì)具體的硬件對(duì)內(nèi)核進(jìn)行配置,包括系統(tǒng)類型的配置。本系統(tǒng)選擇ARMsystemtype。在配置好通用內(nèi)核選項(xiàng)、塊設(shè)備和文件系統(tǒng)之后,即可編譯修改后的內(nèi)核文件,生成一個(gè)內(nèi)核映像的自解壓壓縮文件。通過(guò)運(yùn)行makecleandepzImage對(duì)該文件進(jìn)行依賴編譯,系統(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)行makemenuconfig命令可配置Linux的文件系統(tǒng)。
2.2RFID標(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ī)則管理能支持用戶配置數(shù)據(jù)過(guò)濾規(guī)則。系統(tǒng)基本流程如圖4所示。
用戶的參數(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)口上讀寫器發(fā)送過(guò)來(lái)的數(shù)據(jù),把這些數(shù)據(jù)分為標(biāo)簽數(shù)據(jù)和讀寫器管理數(shù)據(jù)兩類。系統(tǒng)每個(gè)讀寫器實(shí)例都有自己的數(shù)據(jù)處理線程,它分析自己獨(dú)特的數(shù)據(jù)格式形成統(tǒng)一的數(shù)據(jù),并且調(diào)用該種讀寫器的處理方法,對(duì)解析后的數(shù)據(jù)結(jié)合該讀寫器特定的數(shù)據(jù)處理參數(shù),對(duì)標(biāo)簽數(shù)據(jù)進(jìn)行過(guò)濾、轉(zhuǎn)發(fā)等工作。整個(gè)系統(tǒng)中有唯一一個(gè)管理命令處理線程,它輪詢每個(gè)讀寫器的管理命令處理隊(duì)列。如果有命令數(shù)據(jù),那么調(diào)用該讀寫器特定的處理方法對(duì)這些數(shù)據(jù)進(jìn)行處理。
結(jié)語(yǔ)
本文提供了一種支持多通信平臺(tái)的嵌入式RFID中間件系統(tǒng)設(shè)計(jì)方案。支持無(wú)線接入的RFID中間件可以部署于無(wú)固定網(wǎng)絡(luò)基礎(chǔ)設(shè)施的場(chǎng)景,降低有線網(wǎng)絡(luò)部署成本。RFID中間件還可以用無(wú)線通信方式向用戶或者系統(tǒng)傳輸信息,提高了信息傳遞的實(shí)時(shí)性。
評(píng)論