劉璇
摘 要:伴隨著中國(guó)經(jīng)濟(jì)快速持續(xù)增長(zhǎng),鐵路交通運(yùn)輸行業(yè)也得到了突飛猛進(jìn)的發(fā)展,對(duì)于鐵路運(yùn)行安全和運(yùn)行可靠性的要求也越來越高,提高了對(duì)能為機(jī)車的安全運(yùn)行提供重要保證的司機(jī)控制屏的要求,所以借助現(xiàn)行先進(jìn)的網(wǎng)絡(luò)控制系統(tǒng)和控制技術(shù),以開發(fā)更好的應(yīng)用于司機(jī)控制屏的控制技術(shù)已經(jīng)成國(guó)內(nèi)外課題研究的重點(diǎn)。該文選擇嵌入式Linux操作系統(tǒng)作為開發(fā)平臺(tái),利用專業(yè)跨平臺(tái)C++圖形用戶界面Qt軟件來實(shí)現(xiàn)司機(jī)控制屏控制軟件的開發(fā)。介紹了機(jī)車車輛的功能以及司機(jī)顯示屏的結(jié)構(gòu)的基礎(chǔ)上,描述了運(yùn)用Linux和Qt軟件將兩者有機(jī)結(jié)合到一起,制作機(jī)車車輛司機(jī)的操作顯示界面。
關(guān)鍵詞:司機(jī)控制屏 ?嵌入式Linux ?Qt軟件 ?人機(jī)交互界面
中圖分類號(hào):TP311 ? ?文獻(xiàn)標(biāo)識(shí)碼:A ?文章編號(hào):1674-098X(2014)11(a)-0013-02
1 課題背景和意義
目前中國(guó)大量的長(zhǎng)距離物資運(yùn)輸和中長(zhǎng)途旅客運(yùn)輸主要由鐵路承擔(dān),每年完成的旅客周轉(zhuǎn)量約占全社會(huì)旅客周轉(zhuǎn)量1/3以上,完成貨物周轉(zhuǎn)量約占全社會(huì)貨物周轉(zhuǎn)量的55%。于此同時(shí),國(guó)家經(jīng)濟(jì)的持續(xù)發(fā)展帶動(dòng)了社會(huì)對(duì)于我國(guó)各種產(chǎn)業(yè)的需求,而越來越大的需求又帶動(dòng)了基礎(chǔ)鐵路設(shè)施的建設(shè)。
要發(fā)揮鐵路在經(jīng)濟(jì)社會(huì)發(fā)展中的重要作用,必須確保鐵路運(yùn)輸?shù)陌踩?,機(jī)車本身的運(yùn)行或行駛中的安全控制和監(jiān)督尤為重要。機(jī)車工作所用到的設(shè)備非常多,不可能人為地合理監(jiān)測(cè)控制每一個(gè)設(shè)備。司機(jī)控制屏是機(jī)車上完成人機(jī)對(duì)話和系統(tǒng)信息顯示及反饋的重要設(shè)備,它為司機(jī)正確操作和控制機(jī)車、及時(shí)掌握機(jī)車工作狀況起到了至關(guān)重要的作用。在實(shí)際運(yùn)用中,機(jī)車控制屏能夠?qū)C(jī)車的相關(guān)設(shè)備狀態(tài)、故障信息和安全行車信息等以圖像和文字的形式反映給司機(jī),以便有效地指導(dǎo)機(jī)車司機(jī)進(jìn)行相關(guān)操作,為機(jī)車的安全運(yùn)行提供了重要的保證。
鑒于司機(jī)控制屏的重要作用,支撐其正常穩(wěn)定運(yùn)行的控制系統(tǒng)及控制軟件便成為了其中的關(guān)鍵。而隨著網(wǎng)絡(luò)控制技術(shù)和信息交互管理技術(shù)的不斷發(fā)展,相關(guān)控制技術(shù)也得到了很大的提升,采用數(shù)字系統(tǒng)和微機(jī)系統(tǒng)的控制系統(tǒng)在國(guó)內(nèi)外已經(jīng)得到了廣泛的應(yīng)用。因此,為了能夠增強(qiáng)司機(jī)控制屏對(duì)于機(jī)車狀態(tài)的監(jiān)測(cè)和控制,并能更好地反映給司機(jī),指導(dǎo)司機(jī)對(duì)機(jī)車進(jìn)行操作和控制,以便提高機(jī)車運(yùn)行過程中的安全性,基于相關(guān)控制系統(tǒng)的司機(jī)控制屏控制軟件的開發(fā)已經(jīng)變的勢(shì)在必行。
2 系統(tǒng)硬件選擇
對(duì)于系統(tǒng)硬件的選型,需要遵循的原則有:統(tǒng)一規(guī)則、高可用性、高擴(kuò)展性、高安全性、高可維護(hù)性和合適性價(jià)比等。該文涉及的司機(jī)控制屏控制軟件開發(fā)的硬件平臺(tái)搭建就要依據(jù)以上原則進(jìn)行。
3 Linux的裁剪與移植
3.1 Linux介紹
Linux是一種自由和開放源碼的類Unix操作系統(tǒng),這種系統(tǒng)可以看作Unix操作系統(tǒng)的一種克隆系統(tǒng)。它誕生于1991年,具有開發(fā)性、良好的應(yīng)用性、多任務(wù)和多用戶的性能、系統(tǒng)可移植性特性、獨(dú)立性使用特性和通用網(wǎng)絡(luò)鏈接的優(yōu)點(diǎn),之后借助于Internet網(wǎng)絡(luò),并在全世界各地計(jì)算機(jī)愛好者的共同努力下,Linux系統(tǒng)成為今天世界上使用最多的一種Unix類操作系統(tǒng),并且使用人數(shù)還在迅猛增長(zhǎng)。
3.2 建立交叉編譯環(huán)境
交叉編譯環(huán)境,簡(jiǎn)單地說就是在一個(gè)平臺(tái)上生成另一個(gè)平臺(tái)上的可執(zhí)行代碼。這里需要注意的是所謂的平臺(tái),實(shí)際上包含兩個(gè)概念:體系結(jié)構(gòu)(Architecture)和操作系統(tǒng)(Operating System)。同一個(gè)體系結(jié)構(gòu)可以運(yùn)行不同的操作系統(tǒng);而同一個(gè)操作系統(tǒng)也可以在不同的體系結(jié)構(gòu)上執(zhí)行。這種環(huán)境的搭建需要專門的編譯工具和開發(fā)系統(tǒng)來實(shí)現(xiàn),而一個(gè)完整的編譯開發(fā)系統(tǒng)和環(huán)境有需要其相應(yīng)的組態(tài)控件組成。
3.3 Linux內(nèi)核剪裁
嵌入式系統(tǒng)具備的最大的優(yōu)點(diǎn)主要表現(xiàn)在它們的專用性及可裁剪性上??刹眉粜灾饕憩F(xiàn)在剪裁掉無用的系統(tǒng)安裝程序,將本系統(tǒng)用到的系統(tǒng)配置項(xiàng)保留?,F(xiàn)在實(shí)時(shí)Linux操作系統(tǒng)內(nèi)核的剪裁配置方法都是集中在源代碼基礎(chǔ)上,通過配置工具生成配置文件,然后條件編譯生成目標(biāo)系統(tǒng)內(nèi)核。
3.4 配置Busybox
BusyBox是一個(gè)集成了很多個(gè)常用Linux命令和工具的應(yīng)用程序。這里面的系統(tǒng)命名有一些是對(duì)系統(tǒng)進(jìn)行簡(jiǎn)單訪問的函數(shù),比如ls;也有一些系統(tǒng)命令是相對(duì)難掌握的系統(tǒng)命令函數(shù),比如grep。所以,它可以看作一種工具盒。
3.5 U-Boot移植
系統(tǒng)上電之后,需要進(jìn)行初始化:關(guān)閉WATCHDOG、改變系統(tǒng)時(shí)鐘、初始化存儲(chǔ)控制器、將更多的代碼復(fù)制到內(nèi)存中等。如果它能將操作系統(tǒng)內(nèi)核復(fù)制到內(nèi)存中運(yùn)行,無論從本地,比如Flash,還是從遠(yuǎn)端,比如網(wǎng)絡(luò),就稱這段程序?yàn)锽ootloader。通過串口或網(wǎng)絡(luò)從PC下載燒寫文件、將存儲(chǔ)在Flash上壓縮的文件解壓后再運(yùn)行等,這樣的Bootloader是比較強(qiáng)大的,也叫做Monitor。
4 GUI Qt用戶界面開發(fā)
4.1 GUI簡(jiǎn)介
GUI是Graphical User Interface的縮寫,即圖形用戶接口。顧名思義GUI就是將計(jì)算機(jī)的用戶操作界面用圖形的樣式呈現(xiàn)出來。通過這種圖形的方式,降低了產(chǎn)品的使用難度,提高了系統(tǒng)的人性化水平,使產(chǎn)品更具有視覺效果,達(dá)到了使產(chǎn)品性能優(yōu)化的目的,滿足了客戶的操作需求。
4.2 Qt介紹
Qt是一個(gè)跨平臺(tái)的C++圖形用戶界面應(yīng)用程序框架。它提供給應(yīng)用程序開發(fā)者建立藝術(shù)級(jí)的圖形用戶界面所需的所用功能。Qt是完全面向?qū)ο蟮?,很容易擴(kuò)展,并且允許真正地組件編程,具有優(yōu)秀的跨平臺(tái)特性、可移植的微處理器體系結(jié)構(gòu)和豐富的API等優(yōu)點(diǎn)。
4.3 圖形用戶界面開發(fā)
司機(jī)控制屏圖形用戶界面開發(fā)軟件為基于嵌入式Linux操作系統(tǒng),利用開源軟件Qt Designer設(shè)計(jì)器開發(fā)編譯完成。它的操作界面類似于Windows下的Visual Studio,而且它還提供了相當(dāng)多的部件資源。在編譯Qt源碼的時(shí)候,也同時(shí)生成了可執(zhí)行程序designer。
司機(jī)控制屏顯示單元主機(jī)內(nèi)的運(yùn)行軟件結(jié)構(gòu),應(yīng)該包括交互界面、應(yīng)用軟件和底層軟件三個(gè)部分。三個(gè)部分由以下幾個(gè)模塊組成:網(wǎng)絡(luò)協(xié)議棧模塊、故障數(shù)據(jù)解析和診斷模塊、運(yùn)行數(shù)據(jù)解析和顯示模塊、人機(jī)交互界面模塊。
4.4 系統(tǒng)聯(lián)調(diào)
通過對(duì)系統(tǒng)軟件部分的開發(fā),結(jié)合硬件平臺(tái),基本上完成了對(duì)基于Linux的司機(jī)控制屏控制軟件的開發(fā),下面給出系統(tǒng)聯(lián)調(diào)時(shí)得到的一個(gè)司機(jī)顯示單元界面圖。(見圖1~4)
參考文獻(xiàn)
[1] 安成錦,孫茂陽(yáng),李跛.基于嵌入式Linux系統(tǒng)的MiniGui圖形界面開發(fā)[J].西安:現(xiàn)代電子技術(shù),2005,28(20):108-110.
[2] 白玉霞,劉旭輝,孫肖子.基于Qt/Embedded的GUI移植及應(yīng)用程序開發(fā)[J].北京:電子產(chǎn)品世界,2005(7):98-105.
[3] 陳喜紅.國(guó)內(nèi)外地鐵車輛技術(shù)的發(fā)展趨勢(shì)[J].電力機(jī)車技術(shù),2002,25(6):28.
[4] 陳莉君.Linux操作系統(tǒng)內(nèi)核分析[M].北京:人民郵電出版社,2000.
[5] 陳俊宏.Embedded Linux嵌入式系統(tǒng)原理與實(shí)務(wù)[M].北京:中國(guó)鐵道出版社,2004:234-248.
[6] 曾青中,韓增盛.城市軌道交通車輛[M].成都:西南交通大學(xué)出版社,2009.
[7] 丁青艷,張秀媛.鐵路信號(hào)故障診斷專家系統(tǒng)基本結(jié)構(gòu)設(shè)計(jì)[M].北京:鐵路計(jì)算機(jī)應(yīng)用,2005,17(5):27-32.
[8] 韓存兵,龔波.構(gòu)建嵌入式Linux系統(tǒng)[M].北京:中國(guó)電力出版社,2006:14-39.
[9] 何劍鋒.嵌入式Linux系統(tǒng)的Qt/Embedded圖形界面開發(fā)[J].南京:電子工程師,2007(7):46-52.
[10] 紀(jì)君峰.基于QT/E的嵌入式系統(tǒng)研究及應(yīng)用[D].北京:北京郵電大學(xué),2008.
司機(jī)控制屏圖形用戶界面開發(fā)軟件為基于嵌入式Linux操作系統(tǒng),利用開源軟件Qt Designer設(shè)計(jì)器開發(fā)編譯完成。它的操作界面類似于Windows下的Visual Studio,而且它還提供了相當(dāng)多的部件資源。在編譯Qt源碼的時(shí)候,也同時(shí)生成了可執(zhí)行程序designer。
司機(jī)控制屏顯示單元主機(jī)內(nèi)的運(yùn)行軟件結(jié)構(gòu),應(yīng)該包括交互界面、應(yīng)用軟件和底層軟件三個(gè)部分。三個(gè)部分由以下幾個(gè)模塊組成:網(wǎng)絡(luò)協(xié)議棧模塊、故障數(shù)據(jù)解析和診斷模塊、運(yùn)行數(shù)據(jù)解析和顯示模塊、人機(jī)交互界面模塊。
4.4 系統(tǒng)聯(lián)調(diào)
通過對(duì)系統(tǒng)軟件部分的開發(fā),結(jié)合硬件平臺(tái),基本上完成了對(duì)基于Linux的司機(jī)控制屏控制軟件的開發(fā),下面給出系統(tǒng)聯(lián)調(diào)時(shí)得到的一個(gè)司機(jī)顯示單元界面圖。(見圖1~4)
參考文獻(xiàn)
[1] 安成錦,孫茂陽(yáng),李跛.基于嵌入式Linux系統(tǒng)的MiniGui圖形界面開發(fā)[J].西安:現(xiàn)代電子技術(shù),2005,28(20):108-110.
[2] 白玉霞,劉旭輝,孫肖子.基于Qt/Embedded的GUI移植及應(yīng)用程序開發(fā)[J].北京:電子產(chǎn)品世界,2005(7):98-105.
[3] 陳喜紅.國(guó)內(nèi)外地鐵車輛技術(shù)的發(fā)展趨勢(shì)[J].電力機(jī)車技術(shù),2002,25(6):28.
[4] 陳莉君.Linux操作系統(tǒng)內(nèi)核分析[M].北京:人民郵電出版社,2000.
[5] 陳俊宏.Embedded Linux嵌入式系統(tǒng)原理與實(shí)務(wù)[M].北京:中國(guó)鐵道出版社,2004:234-248.
[6] 曾青中,韓增盛.城市軌道交通車輛[M].成都:西南交通大學(xué)出版社,2009.
[7] 丁青艷,張秀媛.鐵路信號(hào)故障診斷專家系統(tǒng)基本結(jié)構(gòu)設(shè)計(jì)[M].北京:鐵路計(jì)算機(jī)應(yīng)用,2005,17(5):27-32.
[8] 韓存兵,龔波.構(gòu)建嵌入式Linux系統(tǒng)[M].北京:中國(guó)電力出版社,2006:14-39.
[9] 何劍鋒.嵌入式Linux系統(tǒng)的Qt/Embedded圖形界面開發(fā)[J].南京:電子工程師,2007(7):46-52.
[10] 紀(jì)君峰.基于QT/E的嵌入式系統(tǒng)研究及應(yīng)用[D].北京:北京郵電大學(xué),2008.
司機(jī)控制屏圖形用戶界面開發(fā)軟件為基于嵌入式Linux操作系統(tǒng),利用開源軟件Qt Designer設(shè)計(jì)器開發(fā)編譯完成。它的操作界面類似于Windows下的Visual Studio,而且它還提供了相當(dāng)多的部件資源。在編譯Qt源碼的時(shí)候,也同時(shí)生成了可執(zhí)行程序designer。
司機(jī)控制屏顯示單元主機(jī)內(nèi)的運(yùn)行軟件結(jié)構(gòu),應(yīng)該包括交互界面、應(yīng)用軟件和底層軟件三個(gè)部分。三個(gè)部分由以下幾個(gè)模塊組成:網(wǎng)絡(luò)協(xié)議棧模塊、故障數(shù)據(jù)解析和診斷模塊、運(yùn)行數(shù)據(jù)解析和顯示模塊、人機(jī)交互界面模塊。
4.4 系統(tǒng)聯(lián)調(diào)
通過對(duì)系統(tǒng)軟件部分的開發(fā),結(jié)合硬件平臺(tái),基本上完成了對(duì)基于Linux的司機(jī)控制屏控制軟件的開發(fā),下面給出系統(tǒng)聯(lián)調(diào)時(shí)得到的一個(gè)司機(jī)顯示單元界面圖。(見圖1~4)
參考文獻(xiàn)
[1] 安成錦,孫茂陽(yáng),李跛.基于嵌入式Linux系統(tǒng)的MiniGui圖形界面開發(fā)[J].西安:現(xiàn)代電子技術(shù),2005,28(20):108-110.
[2] 白玉霞,劉旭輝,孫肖子.基于Qt/Embedded的GUI移植及應(yīng)用程序開發(fā)[J].北京:電子產(chǎn)品世界,2005(7):98-105.
[3] 陳喜紅.國(guó)內(nèi)外地鐵車輛技術(shù)的發(fā)展趨勢(shì)[J].電力機(jī)車技術(shù),2002,25(6):28.
[4] 陳莉君.Linux操作系統(tǒng)內(nèi)核分析[M].北京:人民郵電出版社,2000.
[5] 陳俊宏.Embedded Linux嵌入式系統(tǒng)原理與實(shí)務(wù)[M].北京:中國(guó)鐵道出版社,2004:234-248.
[6] 曾青中,韓增盛.城市軌道交通車輛[M].成都:西南交通大學(xué)出版社,2009.
[7] 丁青艷,張秀媛.鐵路信號(hào)故障診斷專家系統(tǒng)基本結(jié)構(gòu)設(shè)計(jì)[M].北京:鐵路計(jì)算機(jī)應(yīng)用,2005,17(5):27-32.
[8] 韓存兵,龔波.構(gòu)建嵌入式Linux系統(tǒng)[M].北京:中國(guó)電力出版社,2006:14-39.
[9] 何劍鋒.嵌入式Linux系統(tǒng)的Qt/Embedded圖形界面開發(fā)[J].南京:電子工程師,2007(7):46-52.
[10] 紀(jì)君峰.基于QT/E的嵌入式系統(tǒng)研究及應(yīng)用[D].北京:北京郵電大學(xué),2008.