車載中小型顯示終端應(yīng)用研究
Inc文件夾下主要是一些頭文件,包括全局變量的申請(qǐng)Global.h,字模頭文件Font.h,基于51內(nèi)核的微控制器頭文件mcu.h,以及各種屏的參數(shù)定義等頭文件。
Kernel文件下主要包含主函數(shù)main.c、mcu初始化mcu.c、全局變量初始化實(shí)現(xiàn)Global.c、中斷服務(wù)函數(shù)實(shí)現(xiàn)isr.c、調(diào)試幫助函數(shù)實(shí)現(xiàn)Debug.c、MST7lX系列芯片寄存器配置函數(shù)mStar.c以及一些常用函數(shù)misc.c等。
msFunc文件下主要是一些功能操作類函數(shù)的實(shí)現(xiàn),如按鍵類Keypad.c、紅外遙控類IR.c、IrFunc.c、OSD菜單類msOSD.c、游戲類Game.c、菜單功能類MenuFunc.c等。
msLib文件下是一些關(guān)于DSP處理器的動(dòng)態(tài)庫(kù)文件,對(duì)開發(fā)者隱蔽,用戶可以不管這些文件。
Osd文件下包含一些字體和圖片類文件,用戶可以將自己想要的文字(如漢字)、二進(jìn)制圖標(biāo)等通過(guò)取模軟件取模后,添加到相應(yīng)的文件當(dāng)中。
Project文件下主要是關(guān)于KEIL C的工程文件,分64k和128k兩種,一般選擇128k較好。
Tv是MSTAR專門為模擬電視用戶寫的一些操作函數(shù)。
3.2 各函數(shù)功能的具體實(shí)現(xiàn)
3.2.1 音效處理芯片驅(qū)動(dòng)
本系統(tǒng)主要在MST717C外圍擴(kuò)展了音效處理芯片PT2314。PT2314支持標(biāo)準(zhǔn)的I2C協(xié)議,與24LC16共用MST717C的GPl00與GPI01軟件模擬I2C,MST717C的硬件I2C被用作芯片程序燒寫功能。
3.2.2 OSD菜單定制
Maria提供了一個(gè)標(biāo)準(zhǔn)的OSD菜單框架,主要包括色彩、對(duì)比度、亮度、屏幕顯示區(qū)域調(diào)節(jié)、定時(shí)關(guān)機(jī)等。Maria OSD菜單包含有三級(jí)菜單,一級(jí)菜單根目錄root;二級(jí)菜單包含圖像、音量、功能、系統(tǒng)、時(shí)間共5個(gè)目錄;三級(jí)目錄即各二級(jí)目錄內(nèi)部菜單項(xiàng),如圖像菜單下含有亮度、色度、對(duì)比度、語(yǔ)言等四個(gè)三級(jí)菜單。用戶可以自己添加和刪除任意級(jí)別菜單,本系統(tǒng)中選擇PT2314音效處理芯片,支持四通道立體聲輸入,主機(jī)可以通過(guò)I2C總線對(duì)音量、低音、高音、平衡等選項(xiàng)分別進(jìn)行控制,故在音量二級(jí)目錄下建立音量(Volume)、低音(Bass)、高音(Treble)、平衡(Balance)四個(gè)三級(jí)目錄。MenuTbl.h文件中建立對(duì)應(yīng)的菜單數(shù)組MenuItemTypecode AudioMenuItems[]={):其中MenuItem-Type是個(gè)數(shù)據(jù)結(jié)構(gòu),其原型為
包含有菜單項(xiàng)的相對(duì)位置、背景色、被選中時(shí)顏色、關(guān)聯(lián)的下一級(jí)菜單、菜單描繪類型、顯示文本、按鍵對(duì)應(yīng)事件、功能、顯示類型、標(biāo)志等。各項(xiàng)意義基本上可以由文字描述理解,需要注意的是MST717C OSD菜單只支持16色顯示。此處以PT2314一個(gè)子菜單為例展示,
3.2.3 按鍵事件本文引用地址:http://m.butianyuan.cn/article/197666.htm
用戶按鍵采用ADC鍵值采樣區(qū)別,不同的按鍵被按下時(shí),ADC得到不同的電壓值(如圖4)。程序主循環(huán)通過(guò)不斷地執(zhí)行按鍵掃描函數(shù)Key ScanKeypad(),來(lái)查詢有無(wú)鍵被按下。若有鍵被按下時(shí),程序首先會(huì)將其與上次鍵值(g ucLastKeypad)進(jìn)行對(duì)比,如相等則執(zhí)行重復(fù)按鍵事件EventRepeatProcess();不同則執(zhí)行按鍵事件EventProcess(),并將此次鍵值設(shè)置為g ucLastKeypad。
Maria按鍵事件主要由一個(gè)定義為KeyEventType類型的數(shù)據(jù)結(jié)構(gòu)來(lái)完成。該數(shù)據(jù)結(jié)構(gòu)中第一個(gè)元素為按鍵輸入狀態(tài),這里包含兩種輸入狀態(tài)INPUT PRESS與INPUT_HOLD,其中INPUT_PRESS為按鍵按下狀態(tài),僅代表被按下時(shí)狀態(tài);INPUT_HOLD為按鍵按下時(shí)持續(xù)狀態(tài),相當(dāng)于快速連擊。第二個(gè)元素為按鍵按下時(shí)將會(huì)執(zhí)行的事件,其數(shù)據(jù)結(jié)構(gòu)為MenuItemActionType。注意不同KeyEventType事件時(shí)同一按鍵對(duì)應(yīng)的Menultem-ActionType事件也不同,以此來(lái)區(qū)分各級(jí)目錄下同一按鍵所執(zhí)行的不同功能。最后一個(gè)元素為輸入類型InputPortType,為枚舉型變量,代表不同視頻源狀態(tài)按鍵輸入,如Power按鍵輸入時(shí)對(duì)應(yīng)為Input_AllPort,即該鍵在任何狀態(tài)下都有效;而遙控器按鍵1輸入時(shí)為1In-put_TV,即該鍵值在其他狀態(tài)下無(wú)效。
4 結(jié)束語(yǔ)
MST717C是一顆性價(jià)比非常高的顯示驅(qū)動(dòng)芯片,所需的外圍器件也非常少,非常適合車載顯示領(lǐng)域應(yīng)用。需要注意的是顯示驅(qū)動(dòng)對(duì)電源穩(wěn)定性要求比較高,PCBLayout時(shí)模擬地與數(shù)字地最好進(jìn)行分割,保證視頻信號(hào)的穩(wěn)定性,如成本允許最好選擇四層板。電源處理不好很容易出現(xiàn)水波紋,另外VCOM電壓一定要穩(wěn)定,以保證顯示圖像的穩(wěn)定性。此外Maria軟件架構(gòu)有些復(fù)雜,對(duì)開發(fā)者的C語(yǔ)言要求有些高,需要花費(fèi)一定的時(shí)間去讀懂其代碼,進(jìn)而進(jìn)行自己的二次開發(fā)。
評(píng)論