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