車(chē)載中小型顯示終端應用研究
Inc文件夾下主要是一些頭文件,包括全局變量的申請Global.h,字模頭文件Font.h,基于51內核的微控制器頭文件mcu.h,以及各種屏的參數定義等頭文件。
Kernel文件下主要包含主函數main.c、mcu初始化mcu.c、全局變量初始化實(shí)現Global.c、中斷服務(wù)函數實(shí)現isr.c、調試幫助函數實(shí)現Debug.c、MST7lX系列芯片寄存器配置函數mStar.c以及一些常用函數misc.c等。
msFunc文件下主要是一些功能操作類(lèi)函數的實(shí)現,如按鍵類(lèi)Keypad.c、紅外遙控類(lèi)IR.c、IrFunc.c、OSD菜單類(lèi)msOSD.c、游戲類(lèi)Game.c、菜單功能類(lèi)MenuFunc.c等。
msLib文件下是一些關(guān)于DSP處理器的動(dòng)態(tài)庫文件,對開(kāi)發(fā)者隱蔽,用戶(hù)可以不管這些文件。
Osd文件下包含一些字體和圖片類(lèi)文件,用戶(hù)可以將自己想要的文字(如漢字)、二進(jìn)制圖標等通過(guò)取模軟件取模后,添加到相應的文件當中。
Project文件下主要是關(guān)于KEIL C的工程文件,分64k和128k兩種,一般選擇128k較好。
Tv是MSTAR專(zhuān)門(mén)為模擬電視用戶(hù)寫(xiě)的一些操作函數。
3.2 各函數功能的具體實(shí)現
3.2.1 音效處理芯片驅動(dòng)
本系統主要在MST717C外圍擴展了音效處理芯片PT2314。PT2314支持標準的I2C協(xié)議,與24LC16共用MST717C的GPl00與GPI01軟件模擬I2C,MST717C的硬件I2C被用作芯片程序燒寫(xiě)功能。

3.2.2 OSD菜單定制
Maria提供了一個(gè)標準的OSD菜單框架,主要包括色彩、對比度、亮度、屏幕顯示區域調節、定時(shí)關(guān)機等。Maria OSD菜單包含有三級菜單,一級菜單根目錄root;二級菜單包含圖像、音量、功能、系統、時(shí)間共5個(gè)目錄;三級目錄即各二級目錄內部菜單項,如圖像菜單下含有亮度、色度、對比度、語(yǔ)言等四個(gè)三級菜單。用戶(hù)可以自己添加和刪除任意級別菜單,本系統中選擇PT2314音效處理芯片,支持四通道立體聲輸入,主機可以通過(guò)I2C總線(xiàn)對音量、低音、高音、平衡等選項分別進(jìn)行控制,故在音量二級目錄下建立音量(Volume)、低音(Bass)、高音(Treble)、平衡(Balance)四個(gè)三級目錄。MenuTbl.h文件中建立對應的菜單數組MenuItemTypecode AudioMenuItems[]={):其中MenuItem-Type是個(gè)數據結構,其原型為

包含有菜單項的相對位置、背景色、被選中時(shí)顏色、關(guān)聯(lián)的下一級菜單、菜單描繪類(lèi)型、顯示文本、按鍵對應事件、功能、顯示類(lèi)型、標志等。各項意義基本上可以由文字描述理解,需要注意的是MST717C OSD菜單只支持16色顯示。此處以PT2314一個(gè)子菜單為例展示,
3.2.3 按鍵事件本文引用地址:http://dyxdggzs.com/article/197666.htm
用戶(hù)按鍵采用ADC鍵值采樣區別,不同的按鍵被按下時(shí),ADC得到不同的電壓值(如圖4)。程序主循環(huán)通過(guò)不斷地執行按鍵掃描函數Key ScanKeypad(),來(lái)查詢(xún)有無(wú)鍵被按下。若有鍵被按下時(shí),程序首先會(huì )將其與上次鍵值(g ucLastKeypad)進(jìn)行對比,如相等則執行重復按鍵事件EventRepeatProcess();不同則執行按鍵事件EventProcess(),并將此次鍵值設置為g ucLastKeypad。
Maria按鍵事件主要由一個(gè)定義為KeyEventType類(lèi)型的數據結構來(lái)完成。該數據結構中第一個(gè)元素為按鍵輸入狀態(tài),這里包含兩種輸入狀態(tài)INPUT PRESS與INPUT_HOLD,其中INPUT_PRESS為按鍵按下?tīng)顟B(tài),僅代表被按下時(shí)狀態(tài);INPUT_HOLD為按鍵按下時(shí)持續狀態(tài),相當于快速連擊。第二個(gè)元素為按鍵按下時(shí)將會(huì )執行的事件,其數據結構為MenuItemActionType。注意不同KeyEventType事件時(shí)同一按鍵對應的Menultem-ActionType事件也不同,以此來(lái)區分各級目錄下同一按鍵所執行的不同功能。最后一個(gè)元素為輸入類(lèi)型InputPortType,為枚舉型變量,代表不同視頻源狀態(tài)按鍵輸入,如Power按鍵輸入時(shí)對應為Input_AllPort,即該鍵在任何狀態(tài)下都有效;而遙控器按鍵1輸入時(shí)為1In-put_TV,即該鍵值在其他狀態(tài)下無(wú)效。
4 結束語(yǔ)
MST717C是一顆性?xún)r(jià)比非常高的顯示驅動(dòng)芯片,所需的外圍器件也非常少,非常適合車(chē)載顯示領(lǐng)域應用。需要注意的是顯示驅動(dòng)對電源穩定性要求比較高,PCBLayout時(shí)模擬地與數字地最好進(jìn)行分割,保證視頻信號的穩定性,如成本允許最好選擇四層板。電源處理不好很容易出現水波紋,另外VCOM電壓一定要穩定,以保證顯示圖像的穩定性。此外Maria軟件架構有些復雜,對開(kāi)發(fā)者的C語(yǔ)言要求有些高,需要花費一定的時(shí)間去讀懂其代碼,進(jìn)而進(jìn)行自己的二次開(kāi)發(fā)。
評論