當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]0 引言隨著武器裝備信息化程度的提高,各種嵌入式信息裝備得到了廣泛應用。作為未來戰(zhàn)場主要作戰(zhàn)平臺的各種戰(zhàn)斗車輛,其車載指揮控制平臺的設計得到了廣泛重視。一個車載指

0 引言

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

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

l 軟硬件的選型

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

系統(tǒng)軟件可以有很多選擇,因為該芯片內置MMU,因此可以支持Windows CE,Linux,Palm OS和VxWorks等多種主流嵌入式操作系統(tǒng)。車載指控平臺對實時性要求不高,因此這里選擇嵌入式Linux作為操作系統(tǒng)。嵌入式Linux具有源碼開放、成本低、應用軟件豐富等特點,因此Linux和ARM是許多低成本的應用中首選的組合。

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

2 硬件設計

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

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

2.1 鍵盤矩陣電路

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

 

結合開發(fā)板的電路結構,鍵盤矩陣的列輸入端口使用GPE5~GPElO六個通用I/0口線,行輸出端口采用GPEll~GPEl4四個通用I/0口線,在行線和列線的交點接入按鍵開關。

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

2.2 顯示驅動電路

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

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

3 軟件設計

軟件設計需要完成兩個方面的工作:一是驅動程序編寫;二是GUI編程。

3.1 鍵盤矩陣驅動程序的編寫

開發(fā)板對自己所提供的硬件一般都提供相應的驅動程序,自行開發(fā)的外設電路一般需要自己編寫驅動程序。設備驅動程序是Linux內核的重要部分,操作系統(tǒng)只有通過驅動程序才能夠控制外設的硬件行為。

在系統(tǒng)內部,I/0設備的存取是通過一系列的入口點來進行的,字符型設備提供以下入口點:open,close,read,write,ioctl;它們分別對應打開設備、關閉設備、讀設備、寫設備以及其他操作。這些入口點的定義是通過一個重要的數(shù)據(jù)結構file_operations來完成的。

鍵盤驅動程序編制的要點有:

(1)定義一個6×4的健值矩陣,作為輸出,按下一個按鍵,得到對應的鍵值;

(2)初始化時設置所用到的I/O端口的讀/寫模式,行線為寫,列線為讀;

(3)定義鍵盤掃描函數(shù)scan_kbd()。它的算法是:初始化時所有的行線置低電平,如果沒有鍵按下,列線都將讀到高電平。否則,任何鍵的閉合將造成該列成為低電平。

(4)在read入口點,也就是file_operations結構定義的read方法中,調用scan_kbd()。這樣,驅動程序就可以定時掃描幾個I/O端口,獲取鍵值,然后通過putuser發(fā)送到用戶地址空間。

設置I/O模式,讀/寫I/0端口的位,可以通過頭文件S3C2410.h中專門定義的宏set_gpio_ctrl,write_gpio_bit,read_gpio_bit來進行。

鍵盤驅動程序經(jīng)過編譯后,可以作為一個設備文件編譯入內核,也可以采取模塊動態(tài)加載的方式。

3.2 MiniGUl IAL引擎的實現(xiàn)

通常,MiniGUI在使用前應針對目標系統(tǒng)的特點進行配置和編譯,例如指定目標操作系統(tǒng)、運行模式、圖形引擎和輸入引擎、字體類型、字符集、所支持的控件類等。該課題中,因為采取了自行設計的鍵盤作為輸入設備,因此最重要的配置是輸入引擎(input abstract lay-er,IAL)。

抽象層是一組不依賴于硬件的抽象接口,其作用類似于操作系統(tǒng)的驅動程序,將底層的硬件操作與操作系統(tǒng)隔離,這樣做簡化了在不同平臺上移植的難度。開發(fā)特定的鍵盤輸入,主要是完成兩部分工作:鍵盤驅動程序設計和鍵盤輸入引擎開發(fā)。前者負責從鍵盤接收原始輸入事件和數(shù)據(jù),后者負責將原始的輸入事件和數(shù)據(jù)轉換成MiniGUl抽象的鍵盤事件和數(shù)據(jù)。

在代碼實現(xiàn)上,MiniGUI通過INPUT數(shù)據(jù)結構來表示輸入引擎。該結構中指定了若干函數(shù)指針,編寫特定的輸入引擎,主要就是編碼實現(xiàn) INPUT結構中的各個函數(shù)。新的IAL引擎編寫完成后,應加入MiniGUI進行配置,然后對MiniGUI進行編譯。在工程實踐中,一種比較簡便的方法是對MiniGUI已經(jīng)實現(xiàn)的引擎進行修改。[!--empirenews.page--]

3.3 圖形界面設計

MiniGUI是一個圖形用戶界面支持系統(tǒng),通常的GUI編程概念均適用于MiniGUI編程,如窗口和事件驅動編程等。嵌入式系統(tǒng)完成的功能一般比較單一,對于該系統(tǒng)而言,重點在于實現(xiàn)人機接口部分,因此只需要輪詢用戶的按鍵輸入即可。如圖2所示。

 

MiniGUI中有三種窗口類型:主窗口、對話框和控件窗口。每一個MiniGUI應用程序一般都要創(chuàng)建一個主窗口,作為應用程序的主界面或開始界面。MiniGUI包含有許多控件類,如靜態(tài)框、按鈕、列表框、編輯框、進度條等,這些控件類可以實現(xiàn)和Windows標準控件類似的效果。

最重要的幾個函數(shù)是:

 

其中,WndProc是這個窗口的消息處理函數(shù)。在此,對消息循環(huán)進行初立即可。例如:

 

添加了鍵盤驅動,修改了MiniGUI的輸入引擎后,應用程序就可以響應鍵盤消息,處理各種事件。除了對標準控制的支持外,MiniGUI還提供了圖形設備接口(GDI)的支持。通過GDI,程序可以在計算機屏幕上進行圖形輸出,包括基本繪圖和文本輸出。利用這種手段,可以繪制指控終端需要的儀表、各種表格。

3.4 其他問題

在該課題的開發(fā)過程中,還遇到了一些其他的問題,概述如下:

(1)顯示的色彩深度問題。作為指控終端,該課題設計的顯示分辨率為640×480,如果是16位以上的色深,對ARM處理器將是一個比較大的負擔,會出現(xiàn)畫面的抖動,不連貫。處理的方法是將色深設置為8位,這需要通過修改Linux的顯示驅動來解決。

(2)鍵盤的防抖問題。按鍵的抖動問題是一類常見問題,可以通過軟件延時或者其他的手段進行處理。

(3)終端功能的進一步豐富。該課題只實現(xiàn)了終端的人機界面,但是作為一個完整意義的終端,還應該考慮終端之間的聯(lián)網(wǎng)、數(shù)據(jù)傳輸,終端和工況采集裝置之間的硬件接口、數(shù)據(jù)交換等問題。這些需要進一步開發(fā)利用ARM芯片上的其他外設,這是該課題下一步的目標。

4 結語

ARM作為一款性價比突出的嵌入式芯片,與圖形系統(tǒng)MiniGUI相結合,是嵌入式圖形界面編程的優(yōu)選。實驗證明,本文所介紹的軟、硬件系統(tǒng)較好地實現(xiàn)了在本文引言中提及的車載指控平臺的幾項功能。作為一類典型的車載嵌入式系統(tǒng),車載指控系統(tǒng)的設計原理與方法同樣適用于其他嵌入式系統(tǒng)。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉