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