車載中小型顯示終端應(yīng)用研究
摘要:本文應(yīng)用MSTAR公司推出的MST717C顯示驅(qū)動芯片驅(qū)動TFT液晶顯示屏,作為車載多媒體信息顯示終端,具有成本低廉、顯示效果好、應(yīng)用簡單等特點(diǎn)。重點(diǎn)講述了MST717C外圍電路的設(shè)計(jì)以及基于MSTAR公司Maria軟件架構(gòu)的開發(fā),對TFT液晶顯示屏驅(qū)動開發(fā)者具有一定的幫助作用。
關(guān)鍵詞:TFT液晶屏;MST717C;車載顯示終端
0 引言
目前各種多媒體技術(shù)不斷發(fā)展,基于多媒體技術(shù)的消費(fèi)性電子產(chǎn)品呈爆炸性的增長。以ARM、MIPS等領(lǐng)銜的32位處理器在便攜式多媒體終端應(yīng)用中,顯示出了極大的優(yōu)勢,占據(jù)了絕大多數(shù)的市場份額。但是,一般以32位處理器構(gòu)建的多媒體嵌入式應(yīng)用系統(tǒng)往往需要外部的SDRAM與FLASH與之配合,這樣就使得整個系統(tǒng)處在一個成本相對較高的狀態(tài),而傳統(tǒng)的51單片機(jī)由于工作頻率與自身架構(gòu)等問題,不具有多媒體圖型圖像處理能力。本文采用臺灣晨星(MSTAR)公司針對中小型液晶屏開發(fā)的MST717C系列芯片,具有視頻解碼(Video Decoder)能力,支持多種模擬視頻信號輸入,內(nèi)置縮放引擎,內(nèi)置51-MCU,16色OSD顯示等功能,非常適合于車載多媒體顯示終端應(yīng)用。
1 系統(tǒng)總體設(shè)計(jì)
MST717C支持NTSC、PAL、SECAM視頻制式信號輸入,內(nèi)置2D梳狀濾波器,2路CVBS輸入,2路S-Video輸入,支持模擬RGB輸入(如來自于PC機(jī)的模擬VGA信號)。所支持的視頻制式如480i、480p、576i、576p、720p、1080i,模擬RGB信號分辨率支持640×480、800×480、800×60-0。內(nèi)置亮度(Brightness)、對比度(Contrast)、飽和度(Saturation)和灰度(Hue)調(diào)節(jié),內(nèi)置3通道GAMMA曲線調(diào)節(jié),內(nèi)置縮放引擎,最大可以支持1366×768分辨率。數(shù)字PWM控制器,可編程控制40~70kHz頻率范圍數(shù)據(jù)使能,行同步信號輸出,150~300Hz頻率范圍場同步信號輸出。內(nèi)置51-MCU,3線串行總線接口,內(nèi)置硬件I2C、SPI,支持16色256個可編程字符OSD。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 MST717C外圍電路
模擬視頻信號輸入都需要對地進(jìn)行阻抗匹配,如圖2為模擬RGB輸入阻抗匹配電路,輸入信號先通過一個120R的磁珠隔離高頻噪聲,然后進(jìn)行75 Ω對地阻抗匹配與35 Ω輸入阻抗匹配,靠近芯片端放置47nF陶瓷電容耦合輸入。對于CVBS同樣需要進(jìn)行對地阻抗匹配與輸入阻抗匹配,典型值為62Ω或75Ω,耦合電容可以選用0.1 μF陶瓷電容。
2.2 LED背光驅(qū)動電路
常見的TFT LCD panel模塊背光主要分CCFL與LED兩種,CCFL(冷陰極熒光燈管)技術(shù)成熟,成本低廉,亮度(luminance)高,通常在400cd-/m2以上;缺點(diǎn)是高壓交流驅(qū)動(幾百到上千伏),驅(qū)動電路復(fù)雜、效率低、發(fā)熱量大。LED背光的主要特點(diǎn)是低壓直流驅(qū)動(十幾伏到幾十伏),驅(qū)動電路簡單、效率高、發(fā)熱量??;缺點(diǎn)為成本高、亮度低、色彩還原能力差。目前一些生產(chǎn)LCD模塊的大廠已經(jīng)通過增加LED數(shù)量解決了背光亮度低的問題,一些甚至可以達(dá)到600cd/m2。另外通過采用RGB三元色LED來補(bǔ)償色彩還原能力,效果比CCFL模式更好,各大廠家都看好LED背光模式,也是以后LCD panel背光發(fā)展的主要趨勢。
此處我們采用群創(chuàng)光電開發(fā)的8寸寬屏LCD模塊A1080TN03,物理分辨率為800×480,26萬色,LED背光,典型驅(qū)動電壓為10V,驅(qū)動電流為100~200mA。背光電源輸入為5V,采用DC-DC升壓芯片KB4317,將輸出穩(wěn)定在10V。
2.3 音頻信號處理與放大電路
PT2314是臺灣普誠科技開發(fā)的一款低成本高性能的四輸入數(shù)字音效處理芯片,支持音量(Volume)、左右聲道平衡(balance)、高低音(Treble&Bass)、響度(Loudness)等控制,支持可選擇增益控制(Selectable input gain),支持標(biāo)準(zhǔn)的I2C接口。PT2314控制口I2C連接到MST717C的軟件模擬I2C接口上,需要注意的是I2C傳輸線需要進(jìn)行上拉以保證傳輸?shù)目煽啃浴?/p>
3 系統(tǒng)軟件設(shè)計(jì)
3.1 Maria軟件總體框架
Maria是由MSTAR公司為MST71X系列芯片應(yīng)用推出的公版驅(qū)動軟件源代碼,該源代碼主要基于KEIL C51語言,但是由于其相對較復(fù)雜,源代碼量大(上萬行),給普通應(yīng)用者帶來一定的困難。Maria源代碼的風(fēng)格與linux內(nèi)核源代碼的風(fēng)格有些相似,主要有Device、inc、kernel、msFunc、msLib、osd、project、tv等文件夾。
Device文件夾下為用戶具體設(shè)備的驅(qū)動代碼,此處我們將PT2314的驅(qū)動代碼添加進(jìn)來,放在一個命名為PT2314.C的文件內(nèi),主要是對PT2314芯片進(jìn)行開機(jī)初始化以及給出一些音效操作類的接口函數(shù)。[!--empirenews.page--]
Inc文件夾下主要是一些頭文件,包括全局變量的申請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處理器的動態(tài)庫文件,對開發(fā)者隱蔽,用戶可以不管這些文件。
Osd文件下包含一些字體和圖片類文件,用戶可以將自己想要的文字(如漢字)、二進(jìn)制圖標(biāo)等通過取模軟件取模后,添加到相應(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ū)動
本系統(tǒng)主要在MST717C外圍擴(kuò)展了音效處理芯片PT2314。PT2314支持標(biāo)準(zhǔn)的I2C協(xié)議,與24LC16共用MST717C的GPl00與GPI01軟件模擬I2C,MST717C的硬件I2C被用作芯片程序燒寫功能。
3.2.2 OSD菜單定制
Maria提供了一個標(biāo)準(zhǔn)的OSD菜單框架,主要包括色彩、對比度、亮度、屏幕顯示區(qū)域調(diào)節(jié)、定時(shí)關(guān)機(jī)等。Maria OSD菜單包含有三級菜單,一級菜單根目錄root;二級菜單包含圖像、音量、功能、系統(tǒng)、時(shí)間共5個目錄;三級目錄即各二級目錄內(nèi)部菜單項(xiàng),如圖像菜單下含有亮度、色度、對比度、語言等四個三級菜單。用戶可以自己添加和刪除任意級別菜單,本系統(tǒng)中選擇PT2314音效處理芯片,支持四通道立體聲輸入,主機(jī)可以通過I2C總線對音量、低音、高音、平衡等選項(xiàng)分別進(jìn)行控制,故在音量二級目錄下建立音量(Volume)、低音(Bass)、高音(Treble)、平衡(Balance)四個三級目錄。MenuTbl.h文件中建立對應(yīng)的菜單數(shù)組MenuItemTypecode AudioMenuItems[]={):其中MenuItem-Type是個數(shù)據(jù)結(jié)構(gòu),其原型為
包含有菜單項(xiàng)的相對位置、背景色、被選中時(shí)顏色、關(guān)聯(lián)的下一級菜單、菜單描繪類型、顯示文本、按鍵對應(yīng)事件、功能、顯示類型、標(biāo)志等。各項(xiàng)意義基本上可以由文字描述理解,需要注意的是MST717C OSD菜單只支持16色顯示。此處以PT2314一個子菜單為例展示,
3.2.3 按鍵事件
用戶按鍵采用ADC鍵值采樣區(qū)別,不同的按鍵被按下時(shí),ADC得到不同的電壓值(如圖4)。程序主循環(huán)通過不斷地執(zhí)行按鍵掃描函數(shù)Key ScanKeypad(),來查詢有無鍵被按下。若有鍵被按下時(shí),程序首先會將其與上次鍵值(g ucLastKeypad)進(jìn)行對比,如相等則執(zhí)行重復(fù)按鍵事件EventRepeatProcess();不同則執(zhí)行按鍵事件EventProcess(),并將此次鍵值設(shè)置為g ucLastKeypad。
Maria按鍵事件主要由一個定義為KeyEventType類型的數(shù)據(jù)結(jié)構(gòu)來完成。該數(shù)據(jù)結(jié)構(gòu)中第一個元素為按鍵輸入狀態(tài),這里包含兩種輸入狀態(tài)INPUT PRESS與INPUT_HOLD,其中INPUT_PRESS為按鍵按下狀態(tài),僅代表被按下時(shí)狀態(tài);INPUT_HOLD為按鍵按下時(shí)持續(xù)狀態(tài),相當(dāng)于快速連擊。第二個元素為按鍵按下時(shí)將會執(zhí)行的事件,其數(shù)據(jù)結(jié)構(gòu)為MenuItemActionType。注意不同KeyEventType事件時(shí)同一按鍵對應(yīng)的Menultem-ActionType事件也不同,以此來區(qū)分各級目錄下同一按鍵所執(zhí)行的不同功能。最后一個元素為輸入類型InputPortType,為枚舉型變量,代表不同視頻源狀態(tài)按鍵輸入,如Power按鍵輸入時(shí)對應(yīng)為Input_AllPort,即該鍵在任何狀態(tài)下都有效;而遙控器按鍵1輸入時(shí)為1<<In-put_TV,即該鍵值在其他狀態(tài)下無效。
4 結(jié)束語
MST717C是一顆性價(jià)比非常高的顯示驅(qū)動芯片,所需的外圍器件也非常少,非常適合車載顯示領(lǐng)域應(yīng)用。需要注意的是顯示驅(qū)動對電源穩(wěn)定性要求比較高,PCBLayout時(shí)模擬地與數(shù)字地最好進(jìn)行分割,保證視頻信號的穩(wěn)定性,如成本允許最好選擇四層板。電源處理不好很容易出現(xiàn)水波紋,另外VCOM電壓一定要穩(wěn)定,以保證顯示圖像的穩(wěn)定性。此外Maria軟件架構(gòu)有些復(fù)雜,對開發(fā)者的C語言要求有些高,需要花費(fèi)一定的時(shí)間去讀懂其代碼,進(jìn)而進(jìn)行自己的二次開發(fā)。