嵌入式系統(tǒng)廣泛應(yīng)用在通信終端、車載設(shè)備、工業(yè)控制等領(lǐng)域。隨著嵌入式技術(shù)的發(fā)展,對嵌入式系統(tǒng)圖形用戶界面(Graphic User Interface,GUI)的要求逐步提高。GUI是用戶和嵌入式設(shè)備之間的接口,是嵌入式系統(tǒng)的重要組成部分,它通過窗口和菜單等圖形化操作方式,極大地方便了用戶對嵌入式產(chǎn)品的使用。GUI的好壞將直接影響嵌入式產(chǎn)品的普及和使用。GUI簡潔、方便、美觀的嵌入式產(chǎn)品具有廣闊的市場應(yīng)用前景。
嵌入式系統(tǒng)的資源是比較緊張的,多數(shù)嵌入式系統(tǒng)沒有個人電腦所具有的硬件資源和圖形顯示處理資源。一個嵌入式系統(tǒng)能夠顯示何種風格的界面,是由嵌入式系統(tǒng)的功能需求和本身的圖形顯示處理機制決定的。因此不同嵌入式系統(tǒng)的GUI設(shè)計是不同的,它綜合了硬件和軟件兩方面的考慮,而不像在個人電腦上開發(fā)界面時多數(shù)情況下只需考慮軟件設(shè)計。
本文以車載影音導航系統(tǒng)為例,介紹了一種嵌入式系統(tǒng)圖形用戶界面的設(shè)計方法。首先介紹了系統(tǒng)對圖形界面的需求,然后給出了實現(xiàn)系統(tǒng)圖形界面的硬件和軟件設(shè)計方案。
1 功能需求
文中的車載影音導航系統(tǒng)集導航、DVD播放、收音、倒車雷達顯示、倒車后視等多功能于一體,采用圖形化界面顯示。為了方便用戶使用,系統(tǒng)采用按鍵和觸摸屏結(jié)合的操作方式。
本系統(tǒng)對圖形界面的功能需求主要分為兩大類。
一類是單純的用戶界面操作,如圖1所示。這一類界面總體上是由窗口和按鈕組成,整個操作界面可以看成是一個窗口,窗口上有可供用戶操作的各種按鈕。從實現(xiàn)上看,圖形界面的窗口實際上是一個背景圖片,每個按鈕則至少由兩張圖片組成的:一張圖片用于表示正常顯示的按鈕,一張圖片用于表示選中時的按鈕顯示。那么整個界面就是由窗口圖片和按鈕圖片組合而成,最終送到顯示終端上的是一副完整拼接的圖片。圖1中,“設(shè)置”按鈕顯示當前用戶點中了該按鈕。
另一類圖形界面是在有播放視頻(如DVD播放)時,疊加在播放視頻上的按鈕,如圖2所示。從實現(xiàn)上看,這類圖形界面上的每個按鈕仍然至少由兩張圖片組成。但是不同的是,這類圖形界面最終送到顯示終端上的內(nèi)容由圖片和DVD視頻兩部分疊加而成。大多數(shù)DVD機芯輸出的視頻信號是CVBS(復合視頻信號)或 YC,而圖片信息在系統(tǒng)中是以RGB的形式出現(xiàn)的,那么要實現(xiàn)這類圖形界面就需要對DVD視頻進行解碼,解碼后和圖片的RGB信息進行疊加再輸出到顯示終端。圖2所示為DVD播放時,提供給用戶的操作按鈕。
2 硬件設(shè)計方案
為了實現(xiàn)本系統(tǒng)中的圖形用戶界面,采用雅馬哈公司的圖像處理芯片YGV629。同時為了滿足圖像處理的要求,系統(tǒng)的MCU使用意法半導體公司基于 ARM7TDMI-S的32位RISC CPU STR750,STR750主頻最高可達60 MHz,具有16 KB的RAM,最大片內(nèi)Flash為256 KB。
2.1 YGV629
YGV629是一款圖像處理芯片,通過MCU控制其讀取存儲在Flash或ROM中的圖片數(shù)據(jù),將數(shù)據(jù)處理成RGB信號輸出。有兩種RGB信號輸出:模擬 RGB和數(shù)字RGB。輸出的行場時序有兩種方式,一種是YGV629自身產(chǎn)生的時序關(guān)系,此時芯片工作在內(nèi)同步模式下;另一種是根據(jù)外部輸入的視頻時序來生成輸出的視頻時序關(guān)系,此時芯片工作在外同步模式下。YGV629可以產(chǎn)生的終端顯示時序包括NTSC、PAL、VGA、QVGA、SVGA等,因此可以支持多種顯示終端設(shè)備。
YGV629對圖形界面中圖片的管理是通過圖層的方式,每個圖片占用1個圖層,最多可以有341個圖層,輸出圖片的RGB由這341個圖層疊加而成。每個圖層在整屏上的顯示由12字節(jié)的屬性數(shù)據(jù)確定,這些屬性數(shù)據(jù)決定每個圖層在整屏上的顯示位置、透明色、縮放比例、Alpha通道等。
YGV629支持8位色和16位色的BMP圖片以及PNG圖片。對于8位色,YGV629內(nèi)部有調(diào)色板機制,并有2 KB的調(diào)色板存儲空間。對于16位色,不使用調(diào)色板,圖片直接存儲為顏色數(shù)據(jù)。
2.2 硬件方案
圖3是本文中車載影音導航系統(tǒng)的硬件設(shè)計方案。圖形界面使用到的圖片數(shù)據(jù)保存在圖片存儲Flash中,YGV629通過并口讀取圖片數(shù)據(jù)。
對于前文提到的第一類用戶界面,此時整個顯示終端的輸入都是由YGV629輸出的,YGV629工作在內(nèi)同步模式下。MCU通過SPI控制YGV629,設(shè)置其工作模式、顯示圖層屬性、輸出視頻格式等。YGV629通過并口讀取存儲在Flash中的圖片數(shù)據(jù),然后生成輸出的圖片模擬RGB以及行場同步信號 HCSYNC和VSYNC,YS信號是YGV629輸出的對模擬開關(guān)的控制信號。對于這一類用戶界面,YS控制模擬開關(guān)全部輸出圖片模擬RGB。這樣 L_R、L_G、L_B、HCSYNC和VSYNC構(gòu)成了對顯示終端的輸出。
對于第二類用戶界面,由MCU控制視頻通道選擇開關(guān)來選擇要播放的視頻源。視頻源可以是DVD視頻、導航視頻或后視視頻。例如,若MCU選擇的是DVD視頻通路,那么DVD視頻輸出到視頻解碼芯片,視頻解碼芯片輸出DVD視頻解碼后的模擬RGB和行場同步。其中模擬RGB輸出到模擬開關(guān),視頻行場同步信號輸出到Y(jié)GV629。MCU設(shè)置YGV629工作在外同步模式下,即YGV629使用DVD視頻的行場同步作為輸出圖形界面的行場同步。YGV629讀取 Flash中的圖片數(shù)據(jù),根據(jù)MCU設(shè)置的圖層屬性,在適當時候輸出相應(yīng)的圖片模擬RGB和通道切換控制信號YS。高速模擬開關(guān)根據(jù)通道切換控制信號YS 的高低電平,在每個像素點的輸出時刻,從DVD視頻RGB和圖形界面圖片RGB這兩路RGB信號中選擇一路輸出,通過“像素點插入”的方式將圖形界面嵌入到DVD視頻中,從而實現(xiàn)了DVD視頻和圖形界面的疊加。
3 軟件設(shè)計方案
車載影音導航系統(tǒng)圖形用戶界面軟件模塊的設(shè)計分為兩部分:應(yīng)用軟件模塊設(shè)計和YGV629驅(qū)動模塊設(shè)計。硬件驅(qū)動模塊由MCU和YGV629間通信、圖層屬性設(shè)置、工作模式設(shè)置、顯示輸出設(shè)置等組成。為了提高顯示質(zhì)量,防止在界面切換時出現(xiàn)屏幕抖動,YGV629采用雙緩沖機制,將341個圖層劃分成兩幀,每幀占用170個圖層。一幀用于當前顯示界面。另一幀用于準備下一個顯示界面,在準備好下一個顯示界面后,再將顯示輸出從當前幀切換到下一幀??紤]到系統(tǒng)每個界面使用的圖層數(shù)都遠遠小于170,所以這樣的機制是可行的。根據(jù)需求,硬件驅(qū)動模塊主要設(shè)計了以下幾組函數(shù):VC_Write_XXX()和 VC_Read_XXX(),用于MCU和YGV629進行串口通信,設(shè)置和讀取YGV629內(nèi)部寄存器、圖層屬性數(shù)據(jù)、調(diào)色板數(shù)據(jù)等;VC_Layer_SetXXX(),用于設(shè)置YGV629的圖層屬性;VC_Palette_XXX(),用于對調(diào)色板進行管理;VC_Display_Set(),用于設(shè)置YGV629的顯示輸出;VC_ModeSet(),用于在內(nèi)同步和外同步工作模式之間進行切換。應(yīng)用軟件模塊主要對不同圖形用戶界面進行封裝管理,不同界面包含多個按鈕,每個按鈕對應(yīng)按下和抬起兩個動作。MMI_Open()函數(shù)用于打開不同的界面,這個函數(shù)通過調(diào)用硬件驅(qū)動模塊,準備要打開界面的圖層屬性數(shù)據(jù)、調(diào)色板數(shù)據(jù),并寫入YGV629中,最后根據(jù)要顯示的界面進行顯示輸出設(shè)置和工作模式的切換。對于按鈕,設(shè)計了函數(shù)MMI_Button_Down()和MMI_Button_Up(),用于處理當某個按鈕按下和抬起時的界面變化。此外對不同界面,另需定制專門的處理函數(shù),比如界面上某些焦點閃爍、音量調(diào)節(jié)進度條的變化等。
4 總結(jié)
本文主要介紹了一種基于雅馬哈圖像處理芯片YGV629的嵌入式系統(tǒng)圖形用戶界面的設(shè)計方法。對于嵌入式系統(tǒng),大多數(shù)顯示處理芯片提供OSD顯示,只是簡單的圖形顯示和字符顯示,顏色比較單調(diào),不能顯示顏色豐富、美觀炫麗的圖片界面。YGV629提供了顯示8位色、16位色圖片的功能,并且能夠?qū)崿F(xiàn)圖形界面和DVD等視頻源的疊加,給嵌入式系統(tǒng)界面設(shè)計帶來很大空間。本文以車載影音導航系統(tǒng)為例,詳細介紹了使用YGV629芯片的硬件設(shè)計和軟件設(shè)計方案。
責任編輯:gt
-
芯片
+關(guān)注
關(guān)注
452文章
50206瀏覽量
420913 -
嵌入式
+關(guān)注
關(guān)注
5059文章
18973瀏覽量
302034 -
接口
+關(guān)注
關(guān)注
33文章
8447瀏覽量
150722
發(fā)布評論請先 登錄
相關(guān)推薦
評論