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