基于RFID的監(jiān)管信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
0 引言
無(wú)線射頻識(shí)別技術(shù)(Radio Frequency IdentifICati on,RFID)是一種非接觸式的自動(dòng)識(shí)別技術(shù),它通過(guò)射頻信號(hào)自動(dòng)識(shí)別目標(biāo)對(duì)象并獲取數(shù)據(jù)信息,識(shí)別無(wú)須人工干預(yù),可工作于各種惡劣環(huán)境,并可同時(shí)識(shí)別多個(gè)目標(biāo)對(duì)象,操作快捷方便。一般的RFID 系統(tǒng)由電子標(biāo)簽(Tag)、閱讀器(Reader)、天線(Antenna)三大部分組成。與現(xiàn)在廣泛應(yīng)用的條形碼技術(shù)相比,電子標(biāo)簽具有防水、防磁、耐高溫、使用壽命長(zhǎng)、數(shù)據(jù)可加密、讀取距離遠(yuǎn)、多目標(biāo)識(shí)別和可重復(fù)使用等優(yōu)勢(shì),因而它比條形碼的應(yīng)用范圍更廣,使用更方便。目前,RFID技術(shù)已經(jīng)廣泛應(yīng)用于動(dòng)物身份標(biāo)識(shí)、門(mén)禁管制、倉(cāng)儲(chǔ)物流管理、航空行李分揀和高速公路自動(dòng)收費(fèi)等領(lǐng)域。在檢驗(yàn)檢疫監(jiān)管信息平臺(tái)中,為確保輸港澳的所有動(dòng)物都是受監(jiān)控和符合質(zhì)量要求的,而傳統(tǒng)的動(dòng)物身份標(biāo)識(shí)容易丟失信息,不易讀取識(shí)別,因此運(yùn)用RFID 技術(shù)可以為每個(gè)動(dòng)物個(gè)體提供唯一的身份認(rèn)證,記錄動(dòng)物的譜系背景以及其在整個(gè)生命周期中的飼養(yǎng)履歷,并可追蹤到運(yùn)輸、加工、銷(xiāo)售等下游環(huán)節(jié)的相關(guān)信息,從而形成一條詳盡的產(chǎn)、供、銷(xiāo)信息鏈,為動(dòng)物管理及食品溯源追蹤發(fā)揮重要作用。作者簡(jiǎn)介:張宗平(1977-),男,廣東南雄人,理學(xué)學(xué)士,廣東出入境檢驗(yàn)檢疫局信息中心工程師。主要研究方向?yàn)椋篋SS 系統(tǒng)相關(guān)及OLTP 業(yè)務(wù)系統(tǒng)建設(shè)、維護(hù),嵌入式系統(tǒng)應(yīng)用技術(shù)等。
檢驗(yàn)檢疫監(jiān)管信息系統(tǒng)以“高性能嵌入式微處理器+RFID讀寫(xiě)模塊+GPRS/CDMA無(wú)線模塊” 的系統(tǒng)架構(gòu)取代了傳統(tǒng)的監(jiān)管信息系統(tǒng)設(shè)計(jì)方案,此方案雖然硬件成本稍高,需要高性能嵌入式微處理器來(lái)支持嵌入式操作系統(tǒng),但可以實(shí)現(xiàn)豐富協(xié)議接口,便于移植和向高端系統(tǒng)應(yīng)用升級(jí),同時(shí)更加便于數(shù)據(jù)采集與遠(yuǎn)程監(jiān)控的實(shí)現(xiàn)。這樣不僅可以利用ARM 芯片豐富的片內(nèi)、片外資源簡(jiǎn)化系統(tǒng)硬件結(jié)構(gòu),更為方便的是,可以通過(guò)運(yùn)行嵌入式操作系統(tǒng)來(lái)實(shí)現(xiàn)豐富協(xié)議接口,減小實(shí)際應(yīng)用的開(kāi)發(fā)難度且便于向高端系統(tǒng)應(yīng)用升級(jí)。
1 硬件結(jié)構(gòu)
本系統(tǒng)選用SAMSUNG 公司的S3C44B0X 處理器,該處理器是一款A(yù)RM7 系列的處理器,工作頻率66MHz,片上集成8KB cache、存儲(chǔ)控制器、LCD控制器、4通道DMA、2通道UART 、1 通道I 2C、1 通道I2S、5 通道PWM 定時(shí)器、1 通道內(nèi)部定時(shí)器、看門(mén)狗、8 通道10 位ADC、71 個(gè)通用IO 口(復(fù)用)、8 通道外中斷源、RTC 和片上時(shí)鐘產(chǎn)生器。重要的是,這塊芯片含有非常豐富的片上資源,幾乎所有常用的芯片級(jí)總線結(jié)構(gòu)都有對(duì)應(yīng)的硬件控制器,在做外圍擴(kuò)展時(shí)非常方便;66MHz 的工作主頻對(duì)應(yīng)的信號(hào)上升時(shí)間在2ns 左右,對(duì)應(yīng)的集總模型尺寸分界點(diǎn)為60cm,而實(shí)際設(shè)計(jì)中最大板子的尺寸為17cm×11cm, 因此不用過(guò)多的考慮分布效應(yīng)的影響,減少了設(shè)計(jì)的難度。圖1 是檢驗(yàn)檢疫監(jiān)管信息系統(tǒng)的總體硬件結(jié)構(gòu)圖。
圖1 無(wú)線現(xiàn)場(chǎng)查驗(yàn)系統(tǒng)的總體硬件結(jié)構(gòu)圖
其中,F(xiàn)LASH采用的是SST 公司的SST27SF010 片子,因?yàn)橄到y(tǒng)的需要并不是很高,1M對(duì)于系統(tǒng)與Boot Loader 的裝載已經(jīng)能完全能滿足需要了。系統(tǒng)初始化及Boot Loader 存儲(chǔ)在FLASH 中,系統(tǒng)開(kāi)機(jī)從0x000000 地址開(kāi)始執(zhí)行,動(dòng)態(tài)存儲(chǔ)設(shè)備選用的是現(xiàn)代公司的57V 系列的HY57V641620??紤]到系統(tǒng)不需要很大動(dòng)態(tài)存儲(chǔ)空間,所以選用的是8M 大小的片子。本系統(tǒng)USB 模塊采用SL811HS 芯片,它有兩種工作模式HOST/SLAVE。模式的改變是由該芯片27 腳M/S 的電平值決定,可以通過(guò)軟件設(shè)置來(lái)改變。當(dāng)置M/S 腳為低電平時(shí),它是HOST 模式,可以直接控制打印機(jī);當(dāng)置M/S 腳為高電平時(shí),它是SLAVE 模式,可以下載PC 的最新資料,同時(shí)可對(duì)充電電池充電。系統(tǒng)通過(guò)USB 接口連接RFID 讀寫(xiě)器模塊,讀寫(xiě)器模塊選用TRF7960 型號(hào)的USB 接口RFID 讀寫(xiě)器模塊,模塊的參數(shù)如表1 所示,通過(guò)讀寫(xiě)模塊,實(shí)現(xiàn)對(duì)電子標(biāo)簽信息的讀寫(xiě)功能,同時(shí)配置GRPS 或CDMA 模塊,可以將有變化的數(shù)據(jù)及時(shí)上傳到服務(wù)器中,確保RFID 標(biāo)簽的數(shù)據(jù)與數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)同步更新。
2 軟件平臺(tái)
2.1 嵌入式操作系統(tǒng)uClinux
uClinux 的系統(tǒng)構(gòu)架與標(biāo)準(zhǔn)Linux 的架構(gòu)是完全一致的,它集成了標(biāo)準(zhǔn)Linux 操作系統(tǒng)的穩(wěn)定性、強(qiáng)大網(wǎng)絡(luò)功能和出色的文件系統(tǒng)等主要優(yōu)點(diǎn)。但是由于沒(méi)有MMU,無(wú)法使用處理器的虛擬內(nèi)存管理技術(shù),因此,uClinux 采用實(shí)存儲(chǔ)器管理策略,通過(guò)地址總線對(duì)物理內(nèi)存進(jìn)行直接訪問(wèn)。
2.2 μCLinux 內(nèi)核功能設(shè)計(jì)
GPRS/CDMA 的網(wǎng)絡(luò)連接是無(wú)線數(shù)據(jù)終端的基礎(chǔ)功能,它是通過(guò)PPP(點(diǎn)對(duì)點(diǎn)協(xié)定)協(xié)議來(lái)完成的。PPP 是在串行連接的數(shù)據(jù)鏈路實(shí)現(xiàn)IP 以及其他網(wǎng)絡(luò)協(xié)議的一種機(jī)制。嵌入式Linux 的網(wǎng)絡(luò)體系結(jié)構(gòu)繼承了Linux 網(wǎng)絡(luò)系統(tǒng)具有穩(wěn)定、高效和功能齊全的優(yōu)點(diǎn),同時(shí)按照應(yīng)用的需要進(jìn)行了適當(dāng)?shù)囊浦埠团渲镁湍軡M足要求,在完成相關(guān)內(nèi)核修改后,需要重新編譯內(nèi)核。為實(shí)現(xiàn)聯(lián)網(wǎng)功能,需要增加μCLinux 內(nèi)核的對(duì)NAT 和PPP 的支持,同時(shí)需要編寫(xiě)聯(lián)網(wǎng)撥號(hào)腳本文件,調(diào)試GPRS/CDMA 聯(lián)網(wǎng), 完成系統(tǒng)利用成熟GPRS/CDMA 技術(shù)的網(wǎng)絡(luò)連接。
3 系統(tǒng)實(shí)現(xiàn)
通過(guò)對(duì)完善增加ARM-Linux 內(nèi)核的功能后,ARM-Linux 內(nèi)核已經(jīng)具有了PPP 和NAT 功能, 同時(shí)通過(guò)編寫(xiě)聯(lián)網(wǎng)撥號(hào)腳本,完成與GPRS/CDMA 網(wǎng)絡(luò)連接之后,需要根據(jù)設(shè)備的具體應(yīng)用需求開(kāi)發(fā)相關(guān)的應(yīng)用程序。
3.1 NAT 配置
嵌入式Linux 是一種開(kāi)發(fā)源代碼、軟實(shí)時(shí)、多任務(wù)的嵌入式操作系統(tǒng),通常它是在標(biāo)準(zhǔn)的Linux 的基礎(chǔ)上針對(duì)嵌入式系統(tǒng)進(jìn)行裁減和優(yōu)化后形成的,而且裁減和優(yōu)化后的Linux 體積更小,性能更加穩(wěn)定,因此在許多實(shí)際應(yīng)用中都使用網(wǎng)絡(luò)地址轉(zhuǎn)化技術(shù)(NAT)這種最為簡(jiǎn)單、常用的方式。
NAT 技術(shù)本質(zhì)上是通過(guò)修改IP 包的源地址或目的地址來(lái)實(shí)現(xiàn)。如果一個(gè)節(jié)點(diǎn)執(zhí)行了NAT, 它會(huì)修改通過(guò)它轉(zhuǎn)發(fā)的IP 包的源地址或者目的地址,并且節(jié)點(diǎn)會(huì)記住它是怎樣修改了這個(gè)包,因此當(dāng)相應(yīng)的應(yīng)答包從另一個(gè)方向到達(dá)時(shí),它就知道如何反向修改應(yīng)答包。其中,修改IP 包的源地址常被稱(chēng)為IP 偽裝技術(shù),當(dāng)內(nèi)部網(wǎng)絡(luò)節(jié)點(diǎn)作為客戶端,需要發(fā)起對(duì)Internet 的訪問(wèn)時(shí),就可以采用這種方式。
3.2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
本系統(tǒng)組成簡(jiǎn)單,無(wú)需復(fù)雜布線,主要有系統(tǒng)服務(wù)器,客戶端管理,無(wú)線手持終端PDA,放行監(jiān)控閘口等組成。系統(tǒng)結(jié)構(gòu)網(wǎng)絡(luò)圖如圖2 所示。
圖2 系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)圖
系統(tǒng)實(shí)現(xiàn)的整個(gè)業(yè)務(wù)流程如圖3 所示,對(duì)于合格放行的出境動(dòng)物,依據(jù)放行數(shù)量集中制作電子耳標(biāo)發(fā)放給企業(yè)并實(shí)施耳標(biāo)的安裝(為方便對(duì)放行監(jiān)控閘口對(duì)數(shù)據(jù)的采集,規(guī)定所有電子耳標(biāo)必須安裝在動(dòng)物的右耳朵上),加施完畢后須用電子標(biāo)簽手持設(shè)備掃描佩戴的電子標(biāo)簽,以確保電子標(biāo)簽加施操作正確無(wú)誤。如果在加施過(guò)程中電子耳標(biāo)發(fā)生損壞,則需要通過(guò)電子耳標(biāo)手持讀寫(xiě)器重新生成電子耳標(biāo),以替換損壞耳標(biāo),同時(shí)將新耳標(biāo)的有關(guān)信息通過(guò)自帶的無(wú)線網(wǎng)絡(luò)傳回監(jiān)管信息數(shù)據(jù)庫(kù)。佩戴電子耳標(biāo)的出境動(dòng)物在準(zhǔn)備裝車(chē)出場(chǎng)時(shí),必須通過(guò)供港澳動(dòng)物電子耳標(biāo)監(jiān)裝專(zhuān)用通道,由預(yù)安裝好的固定讀卡器讀取放行數(shù)據(jù),并通過(guò)網(wǎng)絡(luò)將有關(guān)數(shù)據(jù)傳回到監(jiān)管信息網(wǎng)絡(luò)系統(tǒng),進(jìn)行自動(dòng)核銷(xiāo),并按有關(guān)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)匯總,及時(shí)了解有關(guān)放行情況,實(shí)現(xiàn)遠(yuǎn)程監(jiān)裝。手持設(shè)備可以在各個(gè)環(huán)節(jié)對(duì)電子耳標(biāo)數(shù)據(jù)進(jìn)行抽查檢驗(yàn),如遇到所戴標(biāo)簽與放行數(shù)據(jù)庫(kù)中數(shù)據(jù)不相符時(shí),及時(shí)追查,確保檢疫合格的產(chǎn)品出口。
圖3 業(yè)務(wù)流程圖
3.3 軟件設(shè)計(jì)
PDA 軟件平臺(tái)由以下部分組成:系統(tǒng)引導(dǎo)程序、嵌入式操作系統(tǒng)內(nèi)核、文件系統(tǒng)。系統(tǒng)引導(dǎo)程序通常也稱(chēng)為Boot Loader, 代碼量雖少,但是作用非常大,負(fù)責(zé)系統(tǒng)初始化工作,然后將系統(tǒng)控制權(quán)交給操作系統(tǒng)。嵌入式操作系統(tǒng)內(nèi)核是嵌入式系統(tǒng)加電運(yùn)行后的管理平臺(tái),負(fù)責(zé)實(shí)時(shí)性任務(wù)和多任務(wù)的管理。S3c44b0x 是一款沒(méi)有MMU 的處理器,因此采用μCLinux 作為本系統(tǒng)的操作系統(tǒng)內(nèi)核。μCLinux是Linux 的一個(gè)分支,專(zhuān)為無(wú)MMU 的處理器設(shè)計(jì),它繼承了Linux 強(qiáng)大的網(wǎng)絡(luò)功能和多任務(wù)管理功能,并對(duì)內(nèi)存管理和進(jìn)程管理進(jìn)行了改寫(xiě),滿足無(wú)MMU 處理器的開(kāi)發(fā)要求。文件系統(tǒng)是嵌入式系統(tǒng)軟件平臺(tái)占用存儲(chǔ)量最大的一部分,也是與用戶開(kāi)發(fā)最相關(guān)的一部分。它存儲(chǔ)了系統(tǒng)配置文件、系統(tǒng)程序、用戶應(yīng)用程序和必需的驅(qū)動(dòng)程序。
3.4 系統(tǒng)管理軟件
系統(tǒng)管理軟件由系統(tǒng)管理、電子標(biāo)簽管理、放行監(jiān)控統(tǒng)計(jì)三大子系統(tǒng)組成。其中系統(tǒng)管理是對(duì)系統(tǒng)平臺(tái)運(yùn)行環(huán)境的設(shè)置,主要有人員、權(quán)限的設(shè)定;電子標(biāo)簽管理是對(duì)電子標(biāo)簽的數(shù)據(jù)生成、修改,以及對(duì)應(yīng)數(shù)據(jù)的變更的管理,接受遠(yuǎn)程通過(guò)GPRS/CDMA 無(wú)線網(wǎng)絡(luò)通信的數(shù)據(jù)更新和管理,并生成合格放行數(shù)據(jù)供放行監(jiān)控統(tǒng)計(jì)系統(tǒng)使用。放行監(jiān)控統(tǒng)計(jì)子系統(tǒng)是對(duì)通過(guò)從放行監(jiān)控閘口采集的數(shù)據(jù)與監(jiān)管信息系統(tǒng)中的放行數(shù)據(jù)進(jìn)行對(duì)碰,并將對(duì)碰結(jié)果進(jìn)行分類(lèi),供分析使用,當(dāng)接收到未經(jīng)放行的數(shù)據(jù)時(shí)會(huì)自動(dòng)報(bào)警,提示相關(guān)人員該次電子監(jiān)裝需人工干預(yù)。
4 結(jié)束語(yǔ)
本系統(tǒng)是一個(gè)典型的嵌入式系統(tǒng)應(yīng)用例子,在ARM7 的嵌入式Linux 平臺(tái)上,詳細(xì)介紹了基于RFID 的監(jiān)管信息系統(tǒng)的實(shí)現(xiàn),利用嵌入式Linux 系統(tǒng)下的網(wǎng)絡(luò)通信設(shè)計(jì), 通過(guò)對(duì)Linux 的內(nèi)核進(jìn)行了修改和重新編譯后,增加了相應(yīng)的NAT 和PPP 功能,實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)交換。本文作者創(chuàng)新點(diǎn)是充分利用了ARM 豐富的硬件資源簡(jiǎn)化了系統(tǒng)結(jié)構(gòu),并通過(guò)對(duì)嵌入式Linux 系統(tǒng)核心編譯增加對(duì)NAT 和PPP 的支持,并利用先進(jìn)RFID 技術(shù)實(shí)現(xiàn)遠(yuǎn)程電子標(biāo)簽的管理,整個(gè)系統(tǒng)的結(jié)構(gòu)簡(jiǎn)化,實(shí)現(xiàn)簡(jiǎn)單,在其他嵌入式設(shè)備上的無(wú)線應(yīng)用方面有一定的應(yīng)用價(jià)值和指導(dǎo)意義。