基于YGV629的系統圖形用戶(hù)界面設計
YGV629支持8位色和16位色的BMP圖片以及PNG圖片。對于8位色,YGV629內部有調色板機制,并有2 KB的調色板存儲空間。對于16位色,不使用調色板,圖片直接存儲為顏色數據。
2.2 硬件方案
圖3是本文中車(chē)載影音導航系統的硬件設計方案。圖形界面使用到的圖片數據保存在圖片存儲Flash中,YGV629通過(guò)并口讀取圖片數據。本文引用地址:http://dyxdggzs.com/article/152428.htm
對于前文提到的第一類(lèi)用戶(hù)界面,此時(shí)整個(gè)顯示終端的輸入都是由YGV629輸出的,YGV629工作在內同步模式下。MCU通過(guò)SPI控制YGV629,設置其工作模式、顯示圖層屬性、輸出視頻格式等。YGV629通過(guò)并口讀取存儲在Flash中的圖片數據,然后生成輸出的圖片模擬RGB以及行場(chǎng)同步信號 HCSYNC和VSYNC,YS信號是YGV629輸出的對模擬開(kāi)關(guān)的控制信號。對于這一類(lèi)用戶(hù)界面,YS控制模擬開(kāi)關(guān)全部輸出圖片模擬RGB。這樣 L_R、L_G、L_B、HCSYNC和VSYNC構成了對顯示終端的輸出。
對于第二類(lèi)用戶(hù)界面,由MCU控制視頻通道選擇開(kāi)關(guān)來(lái)選擇要播放的視頻源。視頻源可以是DVD視頻、導航視頻或后視視頻。例如,若MCU選擇的是DVD視頻通路,那么DVD視頻輸出到視頻解碼芯片,視頻解碼芯片輸出DVD視頻解碼后的模擬RGB和行場(chǎng)同步。其中模擬RGB輸出到模擬開(kāi)關(guān),視頻行場(chǎng)同步信號輸出到YGV629。MCU設置YGV629工作在外同步模式下,即YGV629使用DVD視頻的行場(chǎng)同步作為輸出圖形界面的行場(chǎng)同步。YGV629讀取 Flash中的圖片數據,根據MCU設置的圖層屬性,在適當時(shí)候輸出相應的圖片模擬RGB和通道切換控制信號YS。高速模擬開(kāi)關(guān)根據通道切換控制信號YS 的高低電平,在每個(gè)像素點(diǎn)的輸出時(shí)刻,從DVD視頻RGB和圖形界面圖片RGB這兩路RGB信號中選擇一路輸出,通過(guò)“像素點(diǎn)插入”的方式將圖形界面嵌入到DVD視頻中,從而實(shí)現了DVD視頻和圖形界面的疊加。
3 軟件設計方案
車(chē)載影音導航系統圖形用戶(hù)界面軟件模塊的設計分為兩部分:應用軟件模塊設計和YGV629驅動(dòng)模塊設計。硬件驅動(dòng)模塊由MCU和YGV629間通信、圖層屬性設置、工作模式設置、顯示輸出設置等組成。為了提高顯示質(zhì)量,防止在界面切換時(shí)出現屏幕抖動(dòng),YGV629采用雙緩沖機制,將341個(gè)圖層劃分成兩幀,每幀占用170個(gè)圖層。一幀用于當前顯示界面。另一幀用于準備下一個(gè)顯示界面,在準備好下一個(gè)顯示界面后,再將顯示輸出從當前幀切換到下一幀??紤]到系統每個(gè)界面使用的圖層數都遠遠小于170,所以這樣的機制是可行的。根據需求,硬件驅動(dòng)模塊主要設計了以下幾組函數:VC_Write_XXX()和VC_Read_XXX(),用于MCU和YGV629進(jìn)行串口通信,設置和讀取YGV629內部寄存器、圖層屬性數據、調色板數據等;VC_Layer_SetXXX(),用于設置YGV629的圖層屬性;VC_Palette_XXX(),用于對調色板進(jìn)行管理;VC_Display_Set(),用于設置YGV629的顯示輸出;VC_ModeSet(),用于在內同步和外同步工作模式之間進(jìn)行切換。應用軟件模塊主要對不同圖形用戶(hù)界面進(jìn)行封裝管理,不同界面包含多個(gè)按鈕,每個(gè)按鈕對應按下和抬起兩個(gè)動(dòng)作。MMI_Open()函數用于打開(kāi)不同的界面,這個(gè)函數通過(guò)調用硬件驅動(dòng)模塊,準備要打開(kāi)界面的圖層屬性數據、調色板數據,并寫(xiě)入YGV629中,最后根據要顯示的界面進(jìn)行顯示輸出設置和工作模式的切換。對于按鈕,設計了函數MMI_Button_Down()和MMI_Button_Up(),用于處理當某個(gè)按鈕按下和抬起時(shí)的界面變化。此外對不同界面,另需定制專(zhuān)門(mén)的處理函數,比如界面上某些焦點(diǎn)閃爍、音量調節進(jìn)度條的變化等。
4 總 結
本文主要介紹了一種基于雅馬哈圖像處理芯片YGV629的嵌入式系統圖形用戶(hù)界面的設計方法。對于嵌入式系統,大多數顯示處理芯片提供OSD顯示,只是簡(jiǎn)單的圖形顯示和字符顯示,顏色比較單調,不能顯示顏色豐富、美觀(guān)炫麗的圖片界面。YGV629提供了顯示8位色、16位色圖片的功能,并且能夠實(shí)現圖形界面和DVD等視頻源的疊加,給嵌入式系統界面設計帶來(lái)很大空間。本文以車(chē)載影音導航系統為例,詳細介紹了使用YGV629芯片的硬件設計和軟件設計方案。
評論