基于Linux和MiniGUI的某型指控終端人機接口設計
0 引言
本文引用地址:http://m.ptau.cn/article/151400.htm隨著武器裝備信息化程度的提高,各種嵌入式信息裝備得到了廣泛應用。作為未來戰(zhàn)場主要作戰(zhàn)平臺的各種戰(zhàn)斗車輛,其車載指揮控制平臺的設計得到了廣泛重視。
一個車載指控平臺的功能主要體現(xiàn)在以下幾個方面:監(jiān)控、顯示車輛的技術狀態(tài);車際間的指控、通信;車輛的定位、導航;各種文電處理等。本文將介紹一個基于ARM和MiniGUI的車載指控系統(tǒng)人機接口部分的設計,這個系統(tǒng)初步實現(xiàn)了上述車載指控平臺的主要功能。
1 軟硬件的選型
系統(tǒng)軟件可以有很多選擇,因為該芯片內(nèi)置MMU,因此可以支持Windows CE,Linux,Palm OS和VxWorks等多種主流嵌入式操作系統(tǒng)。車載指控平臺對實時性要求不高,因此這里選擇嵌入式Linux作為操作系統(tǒng)。嵌入式Linux具有源碼開放、成本低、應用軟件豐富等特點,因此Linux和ARM是許多低成本的應用中首選的組合。
受車輛內(nèi)部空間的限制,指揮控制終端必須做到小型化,嵌入式。ARM作為一種已經(jīng)在多個領域得到非常廣泛應用的架構(gòu),這里采用它是一個很好的選擇。該課題選擇在國內(nèi)有著較廣泛市場的SAMSUNG公司的S3C2410芯片作為CPU。S3C2410芯片主要應用于手持設備或者其他對功耗、成本、性能有較高要求的場合。為了降低整機成本,該芯片內(nèi)置了各16 KB的指令和數(shù)據(jù)緩存、MMU、UART、ADC、LCD控制器,I2C總線接口、IIS總線接口、USB主從設備支持、觸摸屏接口等,這種設計提高了系統(tǒng)的集成度,也給系統(tǒng)開發(fā)提供了極大的便利。
作為指控終端,必然對用戶圖形界面有特殊的要求,該項目選擇飛漫公司的MiniGUI作為圖形引擎。MiniGUI是一個專門面向嵌入式系統(tǒng)的圖形用戶界面支持系統(tǒng),它為應用程序定義了一組輕量級的窗口和圖形設備接口。利用這些接口,每個應用程序可以建立多個窗口并在這些窗口中創(chuàng)建各種控件。在軟件體系中,它介于內(nèi)核和應用程序之間,在此將利用MiniGUI來完成用戶圖形界面的編程。
2 硬件設計
ARMS3C2410芯片的應用電路有許多成熟的設計范例;在設計階段,市面上也有很多的開發(fā)板可供選用。該項目選用杭州立宇泰公司的ARM SYS2410開發(fā)板作為開發(fā)的硬件平臺。
該開發(fā)板采取核心板和擴展板分離的結(jié)構(gòu),提供了大部分的外設接口電路,并且有200個引出腳,引出了CPU上的大部分I/0端口,這樣做為后續(xù)的開發(fā)工作提供了便利。
2.1 鍵盤矩陣電路
該項目的指揮控制終端功能可以分為6項。每項選中后,為便于輸入或選擇子條目,增加10個數(shù)字鍵,另外還需要確定鍵、取消鍵,再加上6個功能鍵,一共是24個鍵。因為鍵的數(shù)目較多,將這些鍵設計成一個行列式鍵盤矩陣(見圖1)。
結(jié)合開發(fā)板的電路結(jié)構(gòu),鍵盤矩陣的列輸入端口使用GPE5~GPElO六個通用I/0口線,行輸出端口采用GPEll~GPEl4四個通用I/0口線,在行線和列線的交點接入按鍵開關。
鍵盤掃描的原理是,按照有規(guī)律的時間間隔察看鍵盤矩陣,以確定是否有鍵按下。鍵盤掃描可以采取專用芯片,也可以采用軟件方法實現(xiàn),該項目采用軟件方法。
2.2 顯示驅(qū)動電路
指揮控制終端輸入/輸出設備的第二個重點就是顯示設備。ARM芯片內(nèi)置有LCD控制器,可以方便地實現(xiàn)顯示功能。但是ARM LCD控制器支持的是TTL電平的RGB分量顯示,而目前市場上較大尺寸的工控液晶屏大多是LVDS電平接口,因此需要接口電路。
另一種解決方案是將ARM開發(fā)板TTL電平的RGB信號轉(zhuǎn)換成VGA信號,這樣顯示器的選擇更加隨意,而且降低了成本。RGB信號轉(zhuǎn)換成VGA信號可采用專用的AD芯片,如ADV7120,ADV7123等。
3 軟件設計
軟件設計需要完成兩個方面的工作:一是驅(qū)動程序編寫;二是GUI編程。
3.1 鍵盤矩陣驅(qū)動程序的編寫
開發(fā)板對自己所提供的硬件一般都提供相應的驅(qū)動程序,自行開發(fā)的外設電路一般需要自己編寫驅(qū)動程序。設備驅(qū)動程序是Linux內(nèi)核的重要部分,操作系統(tǒng)只有通過驅(qū)動程序才能夠控制外設的硬件行為。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論