嵌入式系統(tǒng)在閘門(mén)控制中的應(yīng)用
0 引言
目前,國(guó)內(nèi)大多數(shù)閘門(mén)控制系統(tǒng)采用的是強(qiáng)電接觸器的硬接線(xiàn)方式 ,而且多為20世紀(jì)七八十年代的產(chǎn)品,已嚴(yán)重老化,達(dá)不到運(yùn)行可靠性要求,存在著嚴(yán)重的安全隱患。同時(shí),閘室多依河道而建 ,閘門(mén)間距少則近百米 ,多則上千米 ,因無(wú)法實(shí)現(xiàn)集中控制而使得閘門(mén)反應(yīng)速度慢 ,無(wú)法應(yīng)對(duì)諸如突發(fā)性大水等特殊情況。目前,閘室調(diào)水主要由工作人員靠經(jīng)驗(yàn)?zāi)繙y(cè),造成了水資源的大量浪費(fèi) ,如何提高閘門(mén)控制的智能化、實(shí)現(xiàn)閘門(mén)的集中控制,是急需解決的問(wèn)題。
現(xiàn)代計(jì)算機(jī)技術(shù)的發(fā)展為解決上述問(wèn)題提供了技術(shù)支持,尤其是Linux嵌入式系統(tǒng)的發(fā)展與應(yīng)用。Linux系統(tǒng)具有體積小、可裁減、運(yùn)行速度高、網(wǎng)絡(luò)性能良好等優(yōu)點(diǎn) ,而且具有源碼公開(kāi)、可以免費(fèi)使用等特點(diǎn),這些都使得Linux系統(tǒng)得以快速發(fā)展和廣泛應(yīng)用,并使嵌入式Linux系統(tǒng)在閘門(mén)控制中的應(yīng)用成為可能。隨著Linux2.6內(nèi)核的發(fā)布,在嵌入式系統(tǒng)市場(chǎng) ,Linux向主流的實(shí)時(shí)操作系統(tǒng)供應(yīng)商提出了挑戰(zhàn),例如VxWorks和WinCE,它們具有許多新的特性,將成為更優(yōu)秀的嵌入式操作系統(tǒng)。
嵌入式Linux系統(tǒng)具有高性能、高可靠性 ,并具有多媒體電腦特點(diǎn),特別適用于工業(yè)現(xiàn)場(chǎng)控制和遠(yuǎn)程圖像監(jiān)控。
針對(duì)上述閘門(mén)控制中急需解決的問(wèn)題以及嵌入式Linux系統(tǒng)的特點(diǎn),本文對(duì)嵌入式Linux系統(tǒng)的閘門(mén)智能控制系統(tǒng)進(jìn)行設(shè)計(jì)和探討。系統(tǒng)采用了先進(jìn)的計(jì)算機(jī)傳感器技術(shù),對(duì)多路閘位、水位進(jìn)行實(shí)時(shí)跟蹤顯示,并提供相應(yīng)的閘門(mén)閉環(huán)控制模型,使水資源利用率達(dá)到最優(yōu)。
1 嵌入式Linux系統(tǒng)的構(gòu)建
1.1 嵌入式閘門(mén)控制系統(tǒng)的主要性能要求
1)具有高可靠性、高響應(yīng)性 ,能在一定程度上達(dá)到或接近實(shí)時(shí)操作系統(tǒng)的性能。
2)系統(tǒng)整機(jī)能適應(yīng)較惡劣的工作環(huán)境,而且功耗低。
3)有一定的多媒體(圖像、聲音)處理能力。
4)有性能良好的圖形用戶(hù)接口(GUI)解決方案 ,以及方便、實(shí)用的人機(jī)接口。
5)系統(tǒng)有一定的伸縮能力,能支持通用的硬件設(shè)計(jì)。
針對(duì)上述性能要求,本設(shè)計(jì)將首先構(gòu)建一個(gè)基本操作系統(tǒng),并在此基礎(chǔ)上構(gòu)建閘門(mén)控制系統(tǒng)[1]。
1.2 操作系統(tǒng)平臺(tái)的選擇
在眾多主流嵌入式操作系統(tǒng)中選擇Linux2.6作為操作系統(tǒng)的內(nèi)核 ,主要基于以下考慮:
1)Linux是一個(gè)公開(kāi)源代碼的操作系統(tǒng),可以形成具有自主知識(shí)產(chǎn)權(quán)的操作系統(tǒng)。
2)Linux采用微內(nèi)核結(jié)構(gòu),內(nèi)核部分(含進(jìn)程調(diào)度、內(nèi)存管理、文件管理、設(shè)備驅(qū)動(dòng)等)一般不大于1MB,即使加上小型的GUI系統(tǒng)也不會(huì)大于16MB,比較適合嵌入式系統(tǒng)的要求。
3)Linux2.6內(nèi)核引進(jìn)了內(nèi)核搶占式的調(diào)度功能,因此 ,響應(yīng)時(shí)間相比以前的內(nèi)核有大幅度縮減。
4)Linux支持多種硬件體系結(jié)構(gòu)。在開(kāi)發(fā)初期,為了縮短開(kāi)發(fā)周期,可以先選擇支持x86的奔騰系列處理器平臺(tái);后期在進(jìn)行很少改動(dòng)的前提下,就可移植到其他硬件平臺(tái)上。
1.3 操作系統(tǒng)的開(kāi)發(fā)流程
本系統(tǒng)的定制主要有2個(gè)部分:一是系統(tǒng)內(nèi)核及基本根文件系統(tǒng)的定制 ,二是GUI的實(shí)現(xiàn)[2]。
1.3.1 系統(tǒng)內(nèi)核及根文件系統(tǒng)定制
定制一個(gè)4MB~8MB的基本Linux系統(tǒng),提供如下基本操作系統(tǒng)功能:多進(jìn)程、多用戶(hù);文件、內(nèi)存管理;用戶(hù)操作終端。這部分工作是后續(xù)系統(tǒng)定制和應(yīng)用軟件開(kāi)發(fā)的基礎(chǔ)。
采用2.6版本以上內(nèi)核,在編譯中加入內(nèi)核搶占式調(diào)度功能、Ramdisk支持、中文字符集支持。根據(jù)文件系統(tǒng)只讀部分采用 Ext2 文件系統(tǒng) ,讀寫(xiě)部分可采用Cramdisk等嵌入式文件系統(tǒng)。此部分的工作主要有:建立交叉編譯環(huán)境;剪裁內(nèi)核(這是一個(gè)反復(fù)的過(guò)程);剪裁根文件系統(tǒng) ,建立運(yùn)行環(huán)境,編寫(xiě)各個(gè)運(yùn)行腳本;提供基本硬件的支持。
1.3.2 GUI的實(shí)現(xiàn)
基于X2Server定制一個(gè)16MB~32MB的X2Windows環(huán)境,能提供較豐富的GUI功能。提供一個(gè)系統(tǒng)自動(dòng)運(yùn)行的程序,使開(kāi)機(jī)至工程啟動(dòng)的時(shí)間控制在30s內(nèi),并在此基礎(chǔ)上提供中文輸入功能。GUI的實(shí)現(xiàn)是為基于此平臺(tái)的閘門(mén)控制軟件提供圖形庫(kù)操作接口,使得該軟件具有較好的人機(jī)交互界面。
此部分的工作主要有:編寫(xiě) X2Windows的各種配置文件;剪裁其不需要的程序,只保留基本程序;編寫(xiě)X2Windows 的各個(gè)腳本文件[3]。
2 系統(tǒng)的硬件結(jié)構(gòu)
在本設(shè)計(jì)中 ,閘門(mén)控制系統(tǒng)由閘門(mén)操作、視頻采集和水情監(jiān)測(cè)3個(gè)部分組成?;窘Y(jié)構(gòu)如圖1所示。
評(píng)論