新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Linux和MiniGUI的某型指控終端人機(jī)接口設(shè)計(jì)

基于Linux和MiniGUI的某型指控終端人機(jī)接口設(shè)計(jì)

作者: 時(shí)間:2010-10-29 來(lái)源:網(wǎng)絡(luò) 收藏

0 引言

本文引用地址:http://butianyuan.cn/article/151400.htm

  隨著武器裝備信息化程度的提高,各種嵌入式信息裝備得到了廣泛應(yīng)用。作為未來(lái)戰(zhàn)場(chǎng)主要作戰(zhàn)平臺(tái)的各種戰(zhàn)斗車輛,其車載指揮控制平臺(tái)的得到了廣泛重視。

  一個(gè)車載平臺(tái)的功能主要體現(xiàn)在以下幾個(gè)方面:監(jiān)控、顯示車輛的技術(shù)狀態(tài);車際間的、通信;車輛的定位、導(dǎo)航;各種文電處理等。本文將介紹一個(gè)ARM和的車載系統(tǒng)部分的,這個(gè)系統(tǒng)初步實(shí)現(xiàn)了上述車載指控平臺(tái)的主要功能。

  1 軟硬件的選型

    系統(tǒng)軟件可以有很多選擇,因?yàn)樵撔酒瑑?nèi)置MMU,因此可以支持Windows CE,,Palm OS和VxWorks等多種主流嵌入式操作系統(tǒng)。車載指控平臺(tái)對(duì)實(shí)時(shí)性要求不高,因此這里選擇嵌入式作為操作系統(tǒng)。嵌入式具有源碼開(kāi)放、成本低、應(yīng)用軟件豐富等特點(diǎn),因此Linux和ARM是許多低成本的應(yīng)用中首選的組合。

受車輛內(nèi)部空間的限制,指揮控制必須做到小型化,嵌入式。ARM作為一種已經(jīng)在多個(gè)領(lǐng)域得到非常廣泛應(yīng)用的架構(gòu),這里采用它是一個(gè)很好的選擇。該課題選擇在國(guó)內(nèi)有著較廣泛市場(chǎng)的SAMSUNG公司的S3C2410芯片作為CPU。S3C2410芯片主要應(yīng)用于手持設(shè)備或者其他對(duì)功耗、成本、性能有較高要求的場(chǎng)合。為了降低整機(jī)成本,該芯片內(nèi)置了各16 KB的指令和數(shù)據(jù)緩存、MMU、UART、ADC、LCD控制器,I2C總線、IIS總線、USB主從設(shè)備支持、觸摸屏接口等,這種提高了系統(tǒng)的集成度,也給系統(tǒng)開(kāi)發(fā)提供了極大的便利。

  作為指控,必然對(duì)用戶圖形界面有特殊的要求,該項(xiàng)目選擇飛漫公司的作為圖形引擎。是一個(gè)專門(mén)面向嵌入式系統(tǒng)的圖形用戶界面支持系統(tǒng),它為應(yīng)用程序定義了一組輕量級(jí)的窗口和圖形設(shè)備接口。利用這些接口,每個(gè)應(yīng)用程序可以建立多個(gè)窗口并在這些窗口中創(chuàng)建各種控件。在軟件體系中,它介于內(nèi)核和應(yīng)用程序之間,在此將利用MiniGUI來(lái)完成用戶圖形界面的編程。

  2 硬件設(shè)計(jì)

 ARMS3C2410芯片的應(yīng)用電路有許多成熟的設(shè)計(jì)范例;在設(shè)計(jì)階段,市面上也有很多的開(kāi)發(fā)板可供選用。該項(xiàng)目選用杭州立宇泰公司的ARM SYS2410開(kāi)發(fā)板作為開(kāi)發(fā)的硬件平臺(tái)。

   該開(kāi)發(fā)板采取核心板和擴(kuò)展板分離的結(jié)構(gòu),提供了大部分的外設(shè)接口電路,并且有200個(gè)引出腳,引出了CPU上的大部分I/0端口,這樣做為后續(xù)的開(kāi)發(fā)工作提供了便利。

  2.1 鍵盤(pán)矩陣電路

  該項(xiàng)目的指揮控制功能可以分為6項(xiàng)。每項(xiàng)選中后,為便于輸入或選擇子條目,增加10個(gè)數(shù)字鍵,另外還需要確定鍵、取消鍵,再加上6個(gè)功能鍵,一共是24個(gè)鍵。因?yàn)殒I的數(shù)目較多,將這些鍵設(shè)計(jì)成一個(gè)行列式鍵盤(pán)矩陣(見(jiàn)圖1)。


  結(jié)合開(kāi)發(fā)板的電路結(jié)構(gòu),鍵盤(pán)矩陣的列輸入端口使用GPE5~GPElO六個(gè)通用I/0口線,行輸出端口采用GPEll~GPEl4四個(gè)通用I/0口線,在行線和列線的交點(diǎn)接入按鍵開(kāi)關(guān)。

  鍵盤(pán)掃描的原理是,按照有規(guī)律的時(shí)間間隔察看鍵盤(pán)矩陣,以確定是否有鍵按下。鍵盤(pán)掃描可以采取專用芯片,也可以采用軟件方法實(shí)現(xiàn),該項(xiàng)目采用軟件方法。

  2.2 顯示驅(qū)動(dòng)電路

  指揮控制終端輸入/輸出設(shè)備的第二個(gè)重點(diǎn)就是顯示設(shè)備。ARM芯片內(nèi)置有LCD控制器,可以方便地實(shí)現(xiàn)顯示功能。但是ARM LCD控制器支持的是TTL電平的RGB分量顯示,而目前市場(chǎng)上較大尺寸的工控液晶屏大多是LVDS電平接口,因此需要接口電路。

  另一種解決方案是將ARM開(kāi)發(fā)板TTL電平的RGB信號(hào)轉(zhuǎn)換成VGA信號(hào),這樣顯示器的選擇更加隨意,而且降低了成本。RGB信號(hào)轉(zhuǎn)換成VGA信號(hào)可采用專用的AD芯片,如ADV7120,ADV7123等。

  3 軟件設(shè)計(jì)

  軟件設(shè)計(jì)需要完成兩個(gè)方面的工作:一是驅(qū)動(dòng)程序編寫(xiě);二是GUI編程。

  3.1 鍵盤(pán)矩陣驅(qū)動(dòng)程序的編寫(xiě)

  開(kāi)發(fā)板對(duì)自己所提供的硬件一般都提供相應(yīng)的驅(qū)動(dòng)程序,自行開(kāi)發(fā)的外設(shè)電路一般需要自己編寫(xiě)驅(qū)動(dòng)程序。設(shè)備驅(qū)動(dòng)程序是Linux內(nèi)核的重要部分,操作系統(tǒng)只有通過(guò)驅(qū)動(dòng)程序才能夠控制外設(shè)的硬件行為。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉