王瑜 王巖
(哈爾濱電工儀表研究所,黑龍江 哈爾濱 150081)
在傳統(tǒng)意義上,儀表僅僅是作為一個(gè)測(cè)量、數(shù)據(jù)處理、顯示結(jié)果的工具而被人們所認(rèn)識(shí)。網(wǎng)絡(luò)化儀表是適合在遠(yuǎn)程測(cè)控中使用的儀表。它是計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通信技術(shù)與儀表技術(shù)相結(jié)合所產(chǎn)生的一種新型儀表。文中設(shè)計(jì)了一種以AT91RM9200為控制器的網(wǎng)絡(luò)化儀表,并且將Web服務(wù)器嵌入其中,使得遠(yuǎn)端客戶通過(guò)Web瀏覽器就可以訪問(wèn)該儀表。
作為一個(gè)基于嵌入式技術(shù)的Internet系統(tǒng)至少應(yīng)該包含以下幾部分內(nèi)容:以太網(wǎng)物理層接口單元、TCP/IP協(xié)議棧和中央處理單元。
嵌入式處理器是嵌入式系統(tǒng)的核心部件。在設(shè)計(jì)嵌入式系統(tǒng)時(shí),嵌入式處理器的選擇是非常重要的環(huán)節(jié)。綜合考慮了價(jià)格、性能、集成度和功能、設(shè)計(jì)支持及開(kāi)發(fā)工具的支持等因素,以及應(yīng)用中對(duì)于以太網(wǎng)和UART接口功能的要求以后,經(jīng)過(guò)比較選擇AT91RM9200工業(yè)級(jí)芯片作為網(wǎng)絡(luò)化儀表的嵌入式處理器。
雖然AT91RM9200芯片沒(méi)有提供物理層接口,但其內(nèi)部集成有網(wǎng)絡(luò)控制器EMAC,它是介質(zhì)訪問(wèn)控制層(MAC)的硬件,位于0SI參考模型中物理層和邏輯鏈路控制層之間,集成了DMA管理所需的邏輯控制和收發(fā)FIF0,并依照IEEES02.3u規(guī)定的數(shù)據(jù)幀格式控制主機(jī)和物理層之間的信息交換。
軟件設(shè)計(jì)部分主要完成數(shù)據(jù)采集、數(shù)據(jù)交換、數(shù)據(jù)處理、數(shù)據(jù)查詢及顯示、報(bào)表生成和維護(hù)管理員操作等功能;同時(shí)向第三方程序提供接口,可根據(jù)需求進(jìn)行軟件升級(jí)等功能,方便資源管理,最終生成運(yùn)行穩(wěn)定可靠的應(yīng)用系統(tǒng)。其設(shè)計(jì)工作主要包括嵌入式操作系統(tǒng)的移植、Web服務(wù)器的設(shè)計(jì)等。
本設(shè)計(jì)中的操作系統(tǒng)選擇目前廣泛應(yīng)用的嵌入式C1inux。嵌入式C1inux具有高度可靈活定制內(nèi)核,保持了Linux的特性:源代碼公開(kāi)、穩(wěn)定、可裁減大小等等。
以及沿用了Linux可配置內(nèi)核的特性,可以根據(jù)所要實(shí)現(xiàn)的內(nèi)核功能對(duì)其進(jìn)行重新配置。其體系結(jié)構(gòu)如圖1所示。
Boot Loader:負(fù)責(zé)Linux內(nèi)核的啟動(dòng),它用于初始化系統(tǒng)資源,包括SDRAM。
內(nèi)核初始化:Linux內(nèi)核的入口點(diǎn)是Start-kerne1函數(shù)。它初始化內(nèi)核的其他部分,包括捕獲、I RQ通道、調(diào)度、設(shè)備驅(qū)動(dòng)、標(biāo)定延遲循環(huán),最重要的是能夠fork"init"進(jìn)程,以啟動(dòng)整個(gè)多任務(wù)環(huán)境。
系統(tǒng)調(diào)用函數(shù)/捕獲函數(shù):在執(zhí)行完"init"程序后,內(nèi)核對(duì)程序流不再有直接的控制權(quán),此后,它的作用僅僅是處理異步事件(例如硬件中斷)和為系統(tǒng)調(diào)用提供進(jìn)程。
圖1
設(shè)備驅(qū)動(dòng):設(shè)備驅(qū)動(dòng)占據(jù)了Linux內(nèi)核很大部分。同其他操作系統(tǒng)一樣,設(shè)備驅(qū)動(dòng)為它們所控制的硬件設(shè)備和操作系統(tǒng)提供接口。文件系統(tǒng):Linux最重要的特性之一就是對(duì)多種文件系統(tǒng)的支持。這種特性使得Linux很容易地同其他操作系統(tǒng)共存。文件系統(tǒng)的概念使得用戶能夠查看存儲(chǔ)設(shè)備上的文件和路徑而無(wú)須考慮實(shí)際物理設(shè)備的文件系統(tǒng)類型。Linux透明地支持許多不同的文件系統(tǒng),將各種安裝的文件和文件系統(tǒng)以一個(gè)完整的虛擬文件系統(tǒng)的形式呈現(xiàn)給用戶。
實(shí)現(xiàn)網(wǎng)絡(luò)直接接入功能的關(guān)鍵是在系統(tǒng)內(nèi)應(yīng)具有直接驅(qū)動(dòng)網(wǎng)絡(luò)的控制芯片,本系統(tǒng)采用的網(wǎng)絡(luò)芯片型號(hào)是RTL8019AS,它具有以下優(yōu)點(diǎn):10Mbps的數(shù)據(jù)傳輸速率,可以滿足實(shí)時(shí)測(cè)控?cái)?shù)據(jù)量不大的場(chǎng)合的通信質(zhì)量要求;芯片的標(biāo)準(zhǔn)工作電平為DC5V,與單片機(jī)系統(tǒng)完全兼容;芯片遵循ISA總線標(biāo)準(zhǔn),有8位和16位2種數(shù)據(jù)傳輸工作模式,有利于與MCU配合使用,MCU利用部分控制總線、地址總線和數(shù)據(jù)總線就可直接操作RTL8019AS的內(nèi)部寄存器,最大限度地簡(jiǎn)化了驅(qū)動(dòng)電路和驅(qū)動(dòng)程序結(jié)構(gòu)。
在嵌入式系統(tǒng)中,可以使用RTL8019AS的默認(rèn)配置和一些管腳實(shí)現(xiàn)網(wǎng)卡的初始化,這樣可以節(jié)省配置存儲(chǔ)器,減小嵌入式硬件平臺(tái)的體積。RTL8019AS支持即插即用和非即插即用模式。在嵌入式系統(tǒng)中,網(wǎng)卡的外設(shè)通常是不經(jīng)常插拔的,所以,為了系統(tǒng)的精簡(jiǎn),配置RTL8019AS為非即插即用模式。有固定的中斷,有固定的端口地址,假設(shè)端口是0x300(這里的端口是相對(duì)于ISA總線來(lái)說(shuō)的端口,對(duì)于ARM的總線,需要重新計(jì)算地址。這些配置可以通過(guò)RTI8019AS的外部管腳,在系統(tǒng)上電復(fù)位的時(shí)候,自動(dòng)配置起來(lái)。
2.3 Web服務(wù)器設(shè)計(jì)
由于Internet技術(shù)的發(fā)展,嵌入式系統(tǒng)正在變得越來(lái)越智能化并具有越來(lái)越多的網(wǎng)絡(luò)特性。而Web技術(shù)的飛速發(fā)展,給嵌入式系統(tǒng)接入Internet提供了很好的途徑。從功能上看,Web服務(wù)器監(jiān)聽(tīng)用戶端的服務(wù)請(qǐng)求,根據(jù)用戶請(qǐng)求的類型提供相應(yīng)的服務(wù)。用戶端使用WEB瀏覽器與Web服務(wù)器進(jìn)行通信。Web服務(wù)器在接收到用戶端的請(qǐng)求后,處理用戶請(qǐng)求并返回需要的數(shù)據(jù)。這些數(shù)據(jù)通常以格式固定、含有
圖2
文本和圖片的頁(yè)面出現(xiàn)在用戶端瀏覽器。在嵌入式應(yīng)用中,特別是在嵌入式設(shè)備中,一個(gè)Web服務(wù)器不可能是很全面的,它必須擁有足夠小的容量,并且不影響嵌入式系統(tǒng)的整體性能,但必須具備一個(gè)Web服務(wù)器應(yīng)有的特征。本設(shè)計(jì)中采用的w e b服務(wù)器的基本架構(gòu)如圖2所示。由上圖可以看出:Web服務(wù)器以TCP/IP協(xié)議棧為基礎(chǔ)構(gòu)建,需要實(shí)現(xiàn)HTTP、TCP和UDP等協(xié)議。它具有IP地址,通過(guò)網(wǎng)絡(luò)就可以將設(shè)備接入Internet。任何一個(gè)客戶機(jī),都可以通過(guò)HTTP協(xié)議與嵌入式Web服務(wù)器建立連接。嵌入式Web服務(wù)器在web瀏覽器和設(shè)備之間提供了統(tǒng)一的GUI接口,并且和所有的Web瀏覽器兼容,使得客戶端可以像在本地一樣透明地監(jiān)控管理設(shè)備狀況。
本文介紹的ARM嵌入式網(wǎng)絡(luò)化儀表是在嵌入式操作系統(tǒng)平臺(tái)下開(kāi)發(fā)的,便于單個(gè)任務(wù)調(diào)試,單個(gè)任務(wù)的錯(cuò)誤不會(huì)導(dǎo)致整個(gè)系統(tǒng)的崩潰。傳統(tǒng)的嵌入式網(wǎng)絡(luò)產(chǎn)品需要專門的網(wǎng)關(guān)以實(shí)現(xiàn)數(shù)據(jù)的網(wǎng)絡(luò)傳輸,本系統(tǒng)則實(shí)現(xiàn)了嵌入式網(wǎng)關(guān)與測(cè)量控制部分的一體化,這是以后實(shí)現(xiàn)嵌入式產(chǎn)品上網(wǎng)的趨勢(shì)。
[1]馬凈,李曉光,寧偉.基于Internet測(cè)控系統(tǒng)一網(wǎng)絡(luò)化儀表[J].工業(yè)計(jì)量,2004,5
[2]歐沽云,黃皎,陸曉春.嵌入式網(wǎng)絡(luò)化儀表監(jiān)控系統(tǒng)的設(shè)計(jì) [J].河海大學(xué)常州分校報(bào),2005,4
[3]賈智平,張瑞華.嵌入式系統(tǒng)原理與接口技術(shù) EM].北京:清華大學(xué)出版社,2005.
[4]馬文華.嵌入式系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)[M].北京:科學(xué)出版社,2006