摘 要: 本文介紹一種實(shí)用的基于嵌入式TCP/IP技術(shù)的實(shí)時(shí)數(shù)據(jù)傳輸系統(tǒng),分析了其硬件和軟件系統(tǒng)。結(jié)合系統(tǒng)控制對(duì)象的分散性和網(wǎng)絡(luò)化管理的特點(diǎn),重點(diǎn)論述嵌入式操作系統(tǒng)、嵌入式TCP/IP技術(shù)、系統(tǒng)可靠性、安全性等關(guān)鍵技術(shù)。
關(guān)鍵字: 嵌入式系統(tǒng), TCP/IP, 可靠性, 安全性
1 引言
目前,液化氣廣泛用于居民生活和工業(yè)生產(chǎn)的各個(gè)領(lǐng)域,液化氣流通過(guò)程中大部分業(yè)務(wù)需要針對(duì)氣體和液體進(jìn)行流量計(jì)量?,F(xiàn)有系統(tǒng)主要是稱重計(jì)量?jī)x表作為計(jì)量裝置。以人工方式作計(jì)量數(shù)據(jù)的采集和統(tǒng)計(jì)匯總。人工方法存在費(fèi)時(shí)費(fèi)力,各個(gè)計(jì)量點(diǎn)都容易出現(xiàn)人為數(shù)據(jù)錯(cuò)誤的缺點(diǎn),造成不必要的損失和漏洞。而且人工處理石油液化氣儲(chǔ)運(yùn)數(shù)據(jù),是屬于掛流水帳,各類原始數(shù)據(jù)的關(guān)系是分離的,不方便及時(shí)查詢和管理,無(wú)法作出正確的經(jīng)營(yíng)決策。
將嵌入式系統(tǒng)應(yīng)用到石油液化氣儲(chǔ)運(yùn)數(shù)據(jù)中,首先可以對(duì)設(shè)備進(jìn)行實(shí)時(shí)的運(yùn)行狀態(tài)監(jiān)測(cè),無(wú)需要人工干預(yù)即能自主運(yùn)行;其次可以根據(jù)設(shè)備運(yùn)行條件的改變,自適應(yīng)地調(diào)節(jié)自身的功能來(lái)保證監(jiān)控及診斷的準(zhǔn)確性。杜絕石油液化氣儲(chǔ)運(yùn)各個(gè)環(huán)節(jié)可能出現(xiàn)的漏洞,提高企業(yè)經(jīng)濟(jì)效益;最后可以把各類石油液化氣儲(chǔ)運(yùn)原始數(shù)據(jù)有機(jī)地組合在一起,統(tǒng)籌處理數(shù)據(jù)的輸入、查詢、統(tǒng)計(jì)及顯示和輸出,使處理石油液化氣儲(chǔ)運(yùn)數(shù)據(jù)的過(guò)程通暢、合理、快捷、準(zhǔn)確。
2. 嵌入式系統(tǒng)及其石油液化氣儲(chǔ)運(yùn)現(xiàn)場(chǎng)實(shí)時(shí)數(shù)據(jù)傳輸系統(tǒng)解決方案
2.1 嵌入式系統(tǒng)簡(jiǎn)介
嵌入式系統(tǒng)不以獨(dú)立設(shè)備的物理形態(tài)出現(xiàn),嵌入式系統(tǒng)的部件根據(jù)主體設(shè)備以及應(yīng)用的需要,嵌入在主體設(shè)備內(nèi)部,發(fā)揮著運(yùn)算、處理、存儲(chǔ)以及控制等作用。從體系結(jié)構(gòu)看,嵌入式系統(tǒng)主要以嵌入式處理器、支撐硬件和嵌入式軟件組成。早期的嵌人式系統(tǒng)以單個(gè)芯片為核心,大部分應(yīng)用于工業(yè)控制系統(tǒng)中,后來(lái)發(fā)展為以嵌入式CPU、嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)為核心的新型組成結(jié)構(gòu)。但隨著信息技術(shù)的發(fā)展,網(wǎng)絡(luò)通信已經(jīng)是嵌入式系統(tǒng)設(shè)計(jì)所必須考慮的問(wèn)題,可以說(shuō)嵌入式TCP/IP技術(shù)是嵌入式計(jì)算機(jī)系統(tǒng)與Internet技術(shù)相互結(jié)合的產(chǎn)物,基于Internet的嵌入式系統(tǒng)成為一個(gè)研究熱點(diǎn)。
2.2 系統(tǒng)的總體設(shè)計(jì)特點(diǎn)
本系統(tǒng)具有功耗低、可靠性高、功能完備等特點(diǎn)。系統(tǒng)的耗電量為1~3W,由于系統(tǒng)功耗很低,專用于工業(yè)級(jí)領(lǐng)域,因此在器件的選用、系統(tǒng)的抗干擾設(shè)計(jì)等各個(gè)方面都進(jìn)行了嚴(yán)格的論證和實(shí)驗(yàn)分析,其運(yùn)行可靠性得到了保證。系統(tǒng)使用400MHz以上主頻的32位微處理器,總線為100MHz,無(wú)論是高速實(shí)時(shí)處理還是大容量數(shù)據(jù)傳輸都能夠滿足,全新的設(shè)計(jì)體系使得整個(gè)系統(tǒng)具有強(qiáng)大的處理能力和廣泛的升級(jí)空間。該系統(tǒng)對(duì)于用戶來(lái)說(shuō),由于操作系統(tǒng)的支持,使用中根本感受不到體系的差異,而對(duì)于進(jìn)行開(kāi)發(fā)人員來(lái)講,以前在X86平臺(tái)下編寫的程序,也只需做一次重新編譯簡(jiǎn)單移植一下即可,從而最大限度的保護(hù)了用戶的資源,增強(qiáng)了系統(tǒng)的可擴(kuò)展性。
2.3 硬件結(jié)構(gòu)
針對(duì)傳輸數(shù)據(jù)量,實(shí)時(shí)數(shù)據(jù)采集控制盒中的核心控制芯片選用了Intel XScale 255。其它電路包括A/D接口、I/O接口芯片、電壓變換芯片、充電保護(hù)芯片、濾波電路、顯示驅(qū)動(dòng)等部分組成。系統(tǒng)使用的網(wǎng)卡芯片是選用Realtek公司生產(chǎn)的RTL8019AS構(gòu)成,它是一種低價(jià)位的通用以太網(wǎng)控制器,采用了高度集成化的設(shè)計(jì)?,F(xiàn)場(chǎng)傳感器采集的信號(hào)為溫度、壓力、流量信號(hào),均為模擬信號(hào),需進(jìn)行A/D轉(zhuǎn)換。硬件結(jié)構(gòu)框圖如圖1所示:
[align=center]圖1 硬件結(jié)構(gòu)框圖
Fig.1 Hardware Structure[/align]
2.4 軟件結(jié)構(gòu)
2.4.1 操作系統(tǒng)
嵌入式操作系統(tǒng)是整個(gè)嵌入式系統(tǒng)的核心,通常包括與硬件相關(guān)的底層驅(qū)動(dòng)程序、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動(dòng)接口、通信協(xié)議、圖形用戶界面(GUI)等。專門負(fù)責(zé)管理存儲(chǔ)器分配、中斷處理、任務(wù)調(diào)度等功能。本設(shè)計(jì)采用嵌入式Linux作為操作系統(tǒng),嵌入式Linux是一種由內(nèi)核(kerne1)以及根據(jù)需要定制的系統(tǒng)模塊組成的小型操作系統(tǒng)。相對(duì)于其他嵌入式RTOS,它具有鮮明的特點(diǎn):微內(nèi)核結(jié)構(gòu),最多幾百KB;免費(fèi)開(kāi)放源代碼,具有可裁剪性,能根據(jù)特定需求自行設(shè)計(jì);具有優(yōu)秀的網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)支持功能,支持TCP/IP等常見(jiàn)協(xié)議,能夠?qū)崿F(xiàn)數(shù)據(jù)的網(wǎng)絡(luò)通訊和實(shí)時(shí)處理。
系統(tǒng)在啟動(dòng)時(shí),由BootRom將Linux內(nèi)核從FLASH/ROM映像到RAM中,對(duì)系統(tǒng)的軟硬件環(huán)境進(jìn)行初始化。應(yīng)用程序中相關(guān)內(nèi)容的初始化作為應(yīng)用程序引導(dǎo)模塊,固化在FLASH/ROM上,以便主機(jī)上電后可以由內(nèi)核程序?qū)⑵渥x到RAM文件系統(tǒng)中,再由這部分引導(dǎo)應(yīng)用程序運(yùn)行模塊。由于該系統(tǒng)是基于全I(xiàn)P的穩(wěn)定網(wǎng)絡(luò),在考慮了網(wǎng)絡(luò)帶寬和系統(tǒng)通信量的基礎(chǔ)上,我們選擇心跳檢測(cè)的正常閥值為1秒,數(shù)據(jù)恢復(fù)策略采用即時(shí)傳送數(shù)據(jù)。
2.4.2 嵌入式TCP/IP技術(shù)
由于本系統(tǒng)的用戶要求其可以在任意地點(diǎn)的通過(guò)web瀏覽器接入網(wǎng)絡(luò),實(shí)時(shí)查詢各液化氣站工作點(diǎn)儲(chǔ)運(yùn)數(shù)據(jù),同時(shí)通過(guò)客戶端可任意對(duì)實(shí)現(xiàn)工作點(diǎn)遠(yuǎn)程控制和管理,實(shí)現(xiàn)大范圍的互聯(lián),因此數(shù)據(jù)的遠(yuǎn)程傳輸成了必須解決的問(wèn)題。
嵌入式TCP/IP技術(shù)是一種設(shè)備接入技術(shù),主要解決如何通過(guò)Web和嵌入式技術(shù)實(shí)現(xiàn)從不同子網(wǎng)、不同物理區(qū)域?qū)尤氲絀nternet的設(shè)備和異類子網(wǎng)進(jìn)行監(jiān)控、診斷、管理及維護(hù)等操作,使用戶對(duì)接入到Internet上的各種設(shè)備或其他類型的子網(wǎng)具有遠(yuǎn)程監(jiān)控、診斷和管理的能力。嵌入式系統(tǒng)由于其自身硬件資源有限,不同于通用計(jì)算機(jī)系統(tǒng),因此由通用計(jì)算機(jī)操作系統(tǒng)內(nèi)核實(shí)現(xiàn)的存儲(chǔ)器管理、設(shè)備管理、文件系統(tǒng)、網(wǎng)絡(luò)通信等功能模塊不可能在嵌入式操作系統(tǒng)的內(nèi)核中全部實(shí)現(xiàn)。傳統(tǒng)的TCP/IP通信傳輸七層結(jié)構(gòu)模式不再適用于嵌入式系統(tǒng),必須根據(jù)實(shí)際傳輸數(shù)據(jù)的需求合理簡(jiǎn)化協(xié)議。本系統(tǒng)采用圖2所示TCP/IP的四層結(jié)構(gòu)子協(xié)議集。
[align=center]圖2 子協(xié)議集
Fig.2 Child Protocol[/align]
其中應(yīng)用層負(fù)責(zé)實(shí)現(xiàn)HTTP協(xié)議;傳輸層負(fù)責(zé)數(shù)據(jù)采集現(xiàn)場(chǎng)與信息中心間可靠性的數(shù)據(jù)通信;互聯(lián)網(wǎng)層完成尋址、定址、數(shù)據(jù)打包和安排路徑,同時(shí)判斷網(wǎng)絡(luò)是否連通;數(shù)據(jù)鏈路層把幀送到線路中去,同時(shí)可以把需接收的幀從線路中取出來(lái)。
2.4.3 應(yīng)用軟件結(jié)構(gòu)
我們將應(yīng)用軟件結(jié)構(gòu)分為3層(如圖3所示),即:客戶端、信息中心、現(xiàn)場(chǎng)。其中信息中心由Web服務(wù)器和應(yīng)用服務(wù)器構(gòu)成;數(shù)據(jù)庫(kù)設(shè)計(jì)考慮了位于信息中心層的本地?cái)?shù)據(jù)庫(kù)服務(wù)器和客戶端的虛擬服務(wù)器;現(xiàn)場(chǎng)控制系統(tǒng)包括各類現(xiàn)場(chǎng)儀表,傳感器的控制系統(tǒng)軟件。我們可以將上述系統(tǒng)理解為一個(gè)較為復(fù)雜的B/S體系機(jī)構(gòu)的軟件系統(tǒng)。
[align=center]圖3 應(yīng)用軟件結(jié)構(gòu)
Fig.3 Software Architecture[/align]
本系統(tǒng)采取這樣復(fù)雜的體系結(jié)構(gòu)是由系統(tǒng)的功能設(shè)計(jì)及網(wǎng)絡(luò)結(jié)構(gòu)決定的,這意味著一臺(tái)機(jī)器要與其他系統(tǒng)進(jìn)行協(xié)作,它既提供服務(wù),同時(shí)也需要其他系統(tǒng)的服務(wù)。該3層結(jié)構(gòu)是指合理的利用系統(tǒng)資源,不同層次分工協(xié)作,使某項(xiàng)任務(wù)在多臺(tái)機(jī)器之間進(jìn)行匹配,其中客戶機(jī)(Client)用來(lái)運(yùn)行提供用戶接口和前端處理的應(yīng)用程序,應(yīng)用服務(wù)器及Web服務(wù)器用于發(fā)布信息、數(shù)據(jù)及指令的傳達(dá)?,F(xiàn)場(chǎng)完成數(shù)據(jù)實(shí)時(shí)采集傳輸,并最終執(zhí)行控制指令、實(shí)現(xiàn)控制目標(biāo)和性能指標(biāo)。
3.系統(tǒng)的可靠性設(shè)計(jì)
在保障功能的前提下,系統(tǒng)的可靠性是評(píng)價(jià)其性能的重要指標(biāo)。石油液化氣儲(chǔ)運(yùn)實(shí)時(shí)數(shù)據(jù)采集管理系統(tǒng)采用無(wú)人值守方式,為提高嵌入式遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)的可靠性,我們從硬件、軟件兩個(gè)方面進(jìn)行系統(tǒng)設(shè)計(jì)。
3.1 硬件抗干擾措施
系統(tǒng)中所采用的嵌入式主機(jī)是為工業(yè)現(xiàn)場(chǎng)研制開(kāi)發(fā)的。本身的機(jī)械和電氣特性足以在惡劣環(huán)境條件下的連續(xù)運(yùn)行,但為防止其它電磁干擾對(duì)開(kāi)關(guān)電源的輸出或數(shù)字系統(tǒng)的信號(hào)線造成沖擊,從而導(dǎo)致嵌入式系統(tǒng)異常運(yùn)行或死機(jī)。只有提高系統(tǒng)的電磁兼容性才能提高其可靠性。仔細(xì)分析造成電磁干擾的三要素是干擾源、傳播途徑和受擾設(shè)備。抑制電磁干擾的方式也從這3方面著手:抑制干擾源;消除干擾源和受擾設(shè)備之間的耦合和輻射,切斷電磁干擾的傳播途徑;提高受擾設(shè)備的抗干擾能力,降低其對(duì)噪聲的敏感度。目前電子設(shè)備大多采用切斷電磁干擾源和受擾設(shè)備之間的耦合通道對(duì)電磁干擾進(jìn)行抑制,常用的方法包括屏蔽、接地和濾波。本系統(tǒng)采用了下述3種措施降低或消除電磁干擾所造成的影響:(1)電源采用本安電源供電,直接消除電源干擾的可能性。普通電源當(dāng)接的負(fù)載過(guò)多時(shí),電壓降的現(xiàn)象很厲害,而本安電源的避免了這種情況;(2)嵌入式計(jì)算機(jī)主機(jī)外放置金屬屏蔽外殼,且整個(gè)屏蔽罩與系統(tǒng)的機(jī)殼和地連接為一體;(2)在電源輸入端加接由鐵氧體磁性材料加工成的電磁干擾吸收元件,改善系統(tǒng)的濾波特性。
3.2 軟件抗干擾措施
軟件設(shè)計(jì)方面主要采用以下措施來(lái)保障程序運(yùn)行的穩(wěn)定性:
?。?)啟動(dòng)看門狗定時(shí)器,使其能在程序異常運(yùn)行時(shí)自動(dòng)重啟整個(gè)系統(tǒng)。
?。?)編寫專門程序?qū)PU的可利用資源及內(nèi)存可利用空間進(jìn)行監(jiān)控,如果CPU資源和內(nèi)存無(wú)法滿足應(yīng)用程序的正常運(yùn)行則重啟系統(tǒng),該監(jiān)控程序獨(dú)立運(yùn)行。
4. 安全性
本系統(tǒng)設(shè)計(jì)的安全性涉及到兩個(gè)方面,其一是數(shù)據(jù)傳輸安全性,其二是該系統(tǒng)的對(duì)象是易燃易爆物品,防止出現(xiàn)火情是另一個(gè)非常重要的問(wèn)題。
數(shù)據(jù)傳輸安全性問(wèn)題是由于系統(tǒng)采用Internet的訪問(wèn)技術(shù),網(wǎng)絡(luò)被攻擊的可能性增大,網(wǎng)絡(luò)安全防護(hù)成了大問(wèn)題,必須采用多種技術(shù)手段和防范策略,確保系統(tǒng)不受病毒和黑客的破壞,以達(dá)到確保系統(tǒng)的數(shù)據(jù)完整性、統(tǒng)一性。主要解決策略是采用密碼和防火墻策略,根據(jù)規(guī)則過(guò)濾掉外部的數(shù)據(jù)流,且數(shù)據(jù)傳送必須加密,訪問(wèn)所有可能受到攻擊的點(diǎn)都必須提供正確的用戶名和密碼才可以訪問(wèn)。另外采用只讀訪問(wèn)策略,將關(guān)鍵信息和敏感信息標(biāo)記為只讀特性,尤其是從Intranet范圍外的IP地址來(lái)的訪問(wèn)請(qǐng)求。
為防止由于現(xiàn)場(chǎng)采集系統(tǒng)導(dǎo)致石油液化氣燃燒,發(fā)生意外,本設(shè)計(jì)采用了2個(gè)措施:(1)如前所述,前端控制盒電源采用本安電源,該電源工作極其穩(wěn)定,不產(chǎn)生電火花,被廣泛用于防爆工作環(huán)境;(2)由于監(jiān)控設(shè)備需要長(zhǎng)期運(yùn)轉(zhuǎn),因此系統(tǒng)要求有很好的散熱功能。系統(tǒng)的散熱片結(jié)構(gòu)由傳統(tǒng)的一個(gè)改裝成為兩個(gè)散熱片,使得系統(tǒng)適用于易燃易爆工作環(huán)境。
5. 小結(jié)與本文作者創(chuàng)新點(diǎn)
本文介紹的系統(tǒng)具有分層合理、模塊劃分清晰、可移植性好等特點(diǎn),并且系統(tǒng)充分利用現(xiàn)成的電信網(wǎng)絡(luò),省去了現(xiàn)場(chǎng)建設(shè)及有線網(wǎng)絡(luò)架設(shè)的費(fèi)用。此外該系統(tǒng)的測(cè)試數(shù)據(jù)表明:系統(tǒng)能夠?qū)崿F(xiàn)對(duì)被管理設(shè)備的各項(xiàng)基本操作、管理和訪問(wèn),滿足一般嵌入式系統(tǒng)對(duì)系統(tǒng)監(jiān)控、數(shù)據(jù)實(shí)時(shí)采集的應(yīng)用需要,該設(shè)計(jì)思想可以廣泛應(yīng)用于其它類似的現(xiàn)場(chǎng)分散、網(wǎng)絡(luò)化實(shí)時(shí)數(shù)據(jù)的采集傳輸管理系統(tǒng),不論從經(jīng)濟(jì)效益還是社會(huì)效益角度來(lái)講,都有著廣泛的應(yīng)用前景。
參考文獻(xiàn)
[1] Miohael Barr.Programming Embedded Systems in C and C+ +[M].USA: O‘Reilly, 1999.12-24
[2] 鄒思軼. 嵌入式Linux設(shè)計(jì)與應(yīng)用[M].北京:清華大學(xué)出版社,2002.15-18.
[3] 婁小平, 鄧文怡, 呂乃光等. 基于WindowsCE.net的嵌入式水質(zhì)自動(dòng)監(jiān)測(cè)系統(tǒng)[J].計(jì)算機(jī)工程與應(yīng)用,2005,41(26):120-122.
[4] 李峰, 應(yīng)宏, 張軍, 利用TCP/IP實(shí)現(xiàn)Windows與Vxworks的通信[J]. 微計(jì)算機(jī)信息, 2006,2-2: P80-82