汽車(chē)TFT彩屏儀表開(kāi)發(fā)技巧
圖3是MPC5606S的DCU框圖,解釋了DCU如何提取及混疊圖形,最終圖形輸出到TFT LCD屏上。首先,DCU通過(guò)其自帶的DMA通道,從存儲(chǔ)空間(包括片內(nèi)/片外的所有存儲(chǔ)空間)提取相關(guān)的圖形內(nèi)容,根據(jù)設(shè)定的圖像格式轉(zhuǎn)換成24位(如果需要的話(huà))圖像格式,然后通過(guò)混疊方式的設(shè)置,計(jì)算出每個(gè)像素的值,再根據(jù)Gamma校正的設(shè)置進(jìn)行校準(zhǔn)后,最終像素值會(huì)通過(guò)TFT LCD屏的數(shù)據(jù)總線(xiàn)輸出至屏上,并設(shè)置相應(yīng)標(biāo)志位提示幀結(jié)束、緩沖閾值和其它狀態(tài)變化信息。
本文引用地址:http://www.ex-cimer.com/article/170166.htmDCU動(dòng)畫(huà)效果的實(shí)現(xiàn)
TFT LCD上的動(dòng)畫(huà)效果,本質(zhì)上是一幀幀圖像連續(xù)切換的結(jié)果,切換速度決定了動(dòng)畫(huà)效果的平滑與否。幀與幀之間的時(shí)間間隙,就是MCU準(zhǔn)備下一幀內(nèi)容的所有時(shí)間。MCU能否在這個(gè)時(shí)間完成下一幀的準(zhǔn)備工作,取決于MCU對(duì)圖形的處理能力,也決定了動(dòng)畫(huà)效果是否平滑。
基于MPC5606S的Crossbar Switch架構(gòu),DCU這個(gè)主設(shè)備具有獨(dú)立的提取存儲(chǔ)在片內(nèi)或片外的圖像數(shù)據(jù)并顯示在TFT LCD上,即圖像數(shù)據(jù)直接由DCU讀取并實(shí)時(shí)進(jìn)行圖像混疊。e200z0h內(nèi)核在DCU輸出圖像時(shí)無(wú)需干預(yù),從而可以節(jié)省e200z0h核的運(yùn)算負(fù)荷。但DCU無(wú)法自主得知16個(gè)圖層應(yīng)該輸出何種圖形,每個(gè)圖層還是需要e200z0h核進(jìn)行初始化配置。圖層初始化配置完畢后,DCU即可自行輸出圖形到TFT LCD的數(shù)據(jù)總線(xiàn)上。若需重新配置某一圖層,可由e200z0h核重新介入進(jìn)行配置即可。每個(gè)圖層可配置的信息,包括了當(dāng)前圖層顯示圖形的高度和寬度、圖形在TFT LCD顯示的位置、圖形存儲(chǔ)的地址(包括在片內(nèi)/片外的所有地址空間)、圖形顏色編碼方式、透明度及調(diào)色板(如果需要的話(huà))、顏色混疊方式、Chroma和Tile尺寸。這些信息的改變效果,能夠在下一個(gè)TFT LCD場(chǎng)掃描周期開(kāi)始時(shí)展示在屏上。
例如,對(duì)于一張顯示在TFT LCD屏幕上的圖形,當(dāng)e200z0h核改變這張圖片顯示的高度,例如從0到圖形的正常高度順序遞增,則顯示在TFT LCD屏幕上的效果,即是看到這張圖片順序打開(kāi)。若e200z0h核改變這張圖片顯示的高度,從圖形的正常高度到0順序遞減,則顯示在TFT LCD屏幕上的效果,即是看到這張圖片順序被縮小,直至消失,類(lèi)似于卷簾動(dòng)畫(huà)。若對(duì)于一張顯示在TFT LCD屏幕上的圖形,固定其顯示區(qū)域(寬度和圖片一致,但高度小于圖片高度),當(dāng)e200z0h核順序改變顯示圖形存儲(chǔ)的地址為緊臨的下一行的地址,則顯示在TFT LCD屏幕上的效果,即是看到這張圖片在固定的顯示區(qū)域內(nèi),順序上浮顯示,類(lèi)似于滾屏效果。若一個(gè)動(dòng)畫(huà)被分解為若干幀,當(dāng)e200z0h核順序改變當(dāng)前層顯示圖形存儲(chǔ)的地址為下一幀的存儲(chǔ)地址,則動(dòng)畫(huà)被顯示在TFT LCD屏上,e200z0h核改變當(dāng)前層顯示圖形存儲(chǔ)的地址的速度,即是動(dòng)畫(huà)幀切換的速度。切換速度加快,即顯示出動(dòng)畫(huà)快進(jìn)的效果。若e200z0h核僅順序改變當(dāng)前層顯示圖形在屏幕中的橫坐標(biāo),則當(dāng)前圖形在TFT LCD屏幕上勻速橫移;若以“加速度-勻速-減速度”改變其橫坐標(biāo),則當(dāng)前圖形在TFT LCD屏幕上會(huì)以“加速-勻速-減速”的效果顯示出來(lái)。
如果連續(xù)改變當(dāng)前顯示圖層透明度寄存器的值,則當(dāng)前圖層圖像的透明度就會(huì)連續(xù)變化。當(dāng)透明度從完全透明到完全不透明,則顯示出圖像淡入的效果。若透明度從完全不透明到完全透明,則實(shí)現(xiàn)了圖像淡出的效果。
DCU不同的圖層可以顯示存儲(chǔ)在同一地址的圖形,利用這一特性,可以實(shí)現(xiàn)陰影效果。例如圖層2和圖層3均顯示存儲(chǔ)在閃存中的同一張圖片,圖層2正常顯示圖片,而圖層3僅改變此圖層的調(diào)色板,使圖片的顏色均為黑色,當(dāng)兩個(gè)圖層顯示在TFT屏上時(shí),使得兩層顯示的坐標(biāo)有錯(cuò)位,則最終顯示在TFT屏上的圖像,是一副正常顯示的圖像后面有個(gè)錯(cuò)位顯示的黑色陰影,達(dá)到偽3D效果。
結(jié)論
MPC5606S是一款針對(duì)TFT彩屏儀表應(yīng)用開(kāi)發(fā)的芯片。它具有傳統(tǒng)的PowerPC系統(tǒng)穩(wěn)定可靠的特點(diǎn),并且充分利用Crossbar Switch結(jié)構(gòu),實(shí)現(xiàn)DCU自主輸出圖像,并且最高可達(dá)16個(gè)圖層進(jìn)行疊加。通過(guò)改變圖層中對(duì)圖像顯示配置信息,可方便靈活地實(shí)現(xiàn)平移、卷簾、陰影等效果?,F(xiàn)在,飛思卡爾可以免費(fèi)提供基于MPC5606S的圖形驅(qū)動(dòng)軟件,結(jié)合片內(nèi)DMA功能,實(shí)現(xiàn)位移、旋轉(zhuǎn)、卷簾、變色、淡入淡出等功能。飛思卡爾也免費(fèi)提供圖形、字庫(kù)轉(zhuǎn)換工具,可以實(shí)現(xiàn)絕大多數(shù)圖像格式、字庫(kù)的工程文件生成,方便地添加到用戶(hù)的工程中,實(shí)現(xiàn)所設(shè)計(jì)的動(dòng)畫(huà)效果。高效的圖形顯示以及Crossbar Switch結(jié)構(gòu),使得MPC5606S能夠在上電后20ms內(nèi),完成TFT屏幕顯示內(nèi)容的輸出,足以滿(mǎn)足OEM對(duì)汽車(chē)儀表開(kāi)機(jī)顯示速度的要求。
參考文獻(xiàn):
[1] MPC5606S Microcontroller Reference Manual[Z].Freescale Semiconductor
[2] Configuring and Using the DCU2 on the MPC5606S[Z].Freescale Semiconductor, AN4187
評(píng)論