M16C/62P在液晶電視制造中的應(yīng)用
本文介紹m16c平臺在先進的數(shù)字液晶電視技術(shù)以及硬件配置和軟件算法方面的作用,同時也將討論其他的lsi。此外,也為電視制造商用于26英寸或以上液晶電視提供主要解決方案。
本文引用地址:http://m.butianyuan.cn/article/21019.htm瑞薩的m16c系列是一個具有rom高效率的多用途32和16位cisc微型機。它具有在高速度條件下的優(yōu)異噪聲免疫性和超低功耗處理能力,其中一組m16c系列的mcu是m16c/62p,該器件可提供低成本開發(fā)環(huán)境,工作頻率高達24mhz。此外,它還支持多工和獨立總線模式,可以連接外部存儲器和視頻處理器。我們在液晶電視解決方案中選擇m30620spgp,它是一個內(nèi)置10k ram的無rom版本,可以在20mhzpll時鐘的微處理器模式下工作,并使用了一個8位多工總線用于連接整個系統(tǒng)。
由于系統(tǒng)采用不帶rom的m16c mcu作為中央處理單元,視頻處理器需要顯示幀的緩沖器而運行,所以系統(tǒng)需連接外置的rom和作鍰沖器的ram。外置rom是一顆512k 8bit的閃連存儲器w29c040, 而ram是128mbit的sdram。
在視頻信號處理器方面,我們選用泰鼎的第五代集成視頻處理器(見表1)。
lsi為svp ex52,為高檔數(shù)字電視提供主要的解碼、處理、調(diào)節(jié)和顯示控制功能。它集成了用于cvbs/s-video/component以及hd-d1/d2/d3/d4模式的sd/hd模擬視頻輸入的10位adc;高達108mhz的pc rgb輸入可支持sxga/60hz;隔行掃描刷新為60hz到100hz,而逐行掃描刷新為50hz到75hz。泰鼎圖形引擎可提供卓越的視頻圖像質(zhì)量。該技術(shù)集成了3d梳狀視頻解碼,并支持pal、ntsc和secam格式、運動適應(yīng)解隔行掃描、數(shù)字噪聲消除、圖像調(diào)節(jié)、平均畫面水平控制、邊界消除和銳利度提升等。其內(nèi)部低電壓差分信號發(fā)送器lvds用來連接lvds面板,應(yīng)用lcd過驅(qū)動的專有技術(shù),可以改善主畫面(mp)和畫中畫(pip)通道在lcd面板上的反應(yīng)時間。
整個系統(tǒng)還加入了一個hdmi接收器sil9011(高清晰度多媒體接口)。這個lsi與hdmi 1.1規(guī)范兼容,且后向兼容dvi 1.0,這可使hdmi系統(tǒng)以一條電纜連接到現(xiàn)有的dvi 1.0主機(例如dvd播放器)。單個panel link tmds數(shù)碼內(nèi)核支持視頻信號圖素時鐘速率達165mhz, 覆蓋范圍至1080p(高清電視分辨率或pc的uxga (pc分辨率)。而且具有高達192khz的音頻信號的采樣率,支持s/pif及多路音頻輸出。該芯片所帶有工業(yè)標(biāo)準(zhǔn)的i2s端口可與音頻dac直接進行連接。sil9011還嵌入了一個hdcp(高清晰度內(nèi)容保護)解碼引擎連同預(yù)編程的hdcp鑰匙,用來接收受保護的音頻和視頻內(nèi)容,從而提供最高級別的安全性能。
音頻處理器應(yīng)用msp34x0g系列,可覆蓋全球所有模擬電視聲音系統(tǒng)的標(biāo)準(zhǔn)。同時,諸如自動音量控制(avc)、低音增強效果(bbe)和重低音輸出等基帶聲音處理也是在同一個單芯片中執(zhí)行。msp34x0g系列帶有一個只運行在32khz內(nèi)置i2s總線接口, 它不適合直接連接sil9011。需要增加一個具有192khz采樣率的d/a轉(zhuǎn)換器,以轉(zhuǎn)化音源到基帶的音頻才作為msp3410g輸出。
基本的硬件配置見圖1所示。m16c/62p的第一組i2c總線連接到存儲初始值和電視數(shù)據(jù)的eeprom。而另外一組用于器件之間的通信,如svp
ex52、hdmi接收器、音頻處理器和調(diào)諧器,這一組i2c總線也與一個pc平行端口連接。當(dāng)mcu程序進入固件調(diào)試模式時,mcu釋放i2c總線控制。在pc上打開工具應(yīng)用軟件就能夠控制所有這些器件,這對系統(tǒng)調(diào)試非常有用。視頻處理器支持i2c總線和平行接口的通信。不帶rom的m30620spgp工作在1m字節(jié)的微處理器模式下以20mhz速率運行,這需要連接一個10mhz的晶振并設(shè)定內(nèi)置的pll時鐘兩倍頻率,它們之間的通信采用一個多工總線來實現(xiàn)。mcu的映射定位于cs2起始地址為8000h的區(qū)域。程序進入調(diào)試模式條件下,需要對svp
ex52內(nèi)部的寄存器進行設(shè)置,以控制i2c總線,并使多工的平行接口失效。此外,m16c/62p的uart1能夠連接到pc串行端口。借助運行嵌入在pc視窗操作系統(tǒng)中的超級終端(hyper
terminal),輸出信息。這意味著mcu接受我們的遙控或應(yīng)用本地指令完成任務(wù)。在程序正常狀態(tài)下運行時,pc和液晶電視之間也可持續(xù)進行交互。
系統(tǒng)的軟件結(jié)構(gòu)包括由c語言編寫的ex、tv api和應(yīng)用程序三個層次。exsdk提供了有效的工具和api。基于數(shù)據(jù)和編碼分開的概念,數(shù)據(jù)包括寄存器表的設(shè)置、osd(屏幕文字信息顯示)和用戶定義區(qū)域等。資源編碼工具能夠用來創(chuàng)建并維護這些作為資源的數(shù)據(jù),運行流程見圖2。然后,每一類數(shù)據(jù)也被看作某一指定的資源被插進應(yīng)用程序中,例如視頻信號處理器svp
ex52中的數(shù)據(jù)表和不同lsi中的所有寄存器表等。
這是一個重要和經(jīng)常用來處理寄存器表的api調(diào)用函數(shù):
void tdwriteregtable(rpbyte rptable, byte uccolume num)
rptable參數(shù)是一個指標(biāo),它指向寄存器表內(nèi)資源所插入生成的數(shù)據(jù)。uccolumnnum參數(shù)是對哪一列數(shù)據(jù)應(yīng)該寫入的芯片進行選擇。
toe是一個位于高層的功能程序庫,叫做toe.lib。它可在電視中執(zhí)行如pc形式的圖形用戶介面,并支持兩個板面的4或8位元顏色osd顯示。
toe的結(jié)構(gòu)基于mvc(模型、視圖和控制器)的設(shè)計模式。它由三個部分組成,借調(diào)用toeapi進行編碼。osd數(shù)據(jù)編輯器和osd項目編輯器用來組成osd的布局設(shè)計和視覺結(jié)構(gòu)。toe是用標(biāo)準(zhǔn)c語言寫成, 能支持跨平臺作業(yè),沒有平臺限制。
而exapi是一個作為svp ex52驅(qū)動器的低層功能程序庫,它亦可以編譯在包括pc win32或許多不同的單片機平臺。exapi也如眾多程序庫文檔一樣, 都隱含著api進入已成為二進制目標(biāo)碼的執(zhí)行細(xì)節(jié)。
tvapi也封裝了基本tv的邏輯處理。如果系統(tǒng)有硬件改動,例如改換視頻解碼器,需要修改tvapi的源代碼來配合, exapi 和 tvapi能夠被應(yīng)用層程序所調(diào)用。
微軟的visual c++在pc中是一個強大的工具程式,所編寫的電視模擬器借助win32平臺通過i2c總線對系統(tǒng)進行作業(yè)操控, 并且程式也具備osd模擬器用作預(yù)顯示, 這樣osd設(shè)計就能顯示在平面屏幕上。這可提供比較便宜的調(diào)試和開發(fā)環(huán)境。
而高質(zhì)量的軟件開發(fā)通過usb電纜連接到專業(yè)仿真器pc7501。探針m3062pt-epb與仿真一起工作。同時,整個系統(tǒng)運行在下列工具軟件上,軟件列表見表2。
表2 軟件列表
應(yīng)用層主程序運行程序基于下面的流程圖,見圖3。
系統(tǒng)從第一個模塊開始進行初始化和缺省設(shè)置。例如,如果函數(shù)booltdeepromcheckonline(void)沒有檢查到返回標(biāo)_eeprom_is_initialized_,應(yīng)用層軟件便應(yīng)用缺省設(shè)置來初始化eeprom。m30620spgp mcu首先被初始化。然后,包括系統(tǒng)資源、由資源工具resbuilder生成的數(shù)據(jù)、系統(tǒng)定時器、按鍵輸入、遙控輸入和i2c總線在內(nèi)的整個系統(tǒng)進行初始化。用戶輸入包括按鍵或遙控輸入被轉(zhuǎn)換成以字節(jié)為單位的虛擬鍵數(shù)值,并且對重復(fù)鍵的處理推進到虛擬鍵值緩沖器中。而驅(qū)動的api是:
void tdinitkeyboard(word wfirstdelay,word wrepeatdelay);
void tdinitremoteex(rpbyte rpdata,word wfirstdelay,word wrepeatdelay);
緩沖器通過應(yīng)用層程式主回路調(diào)用byte tdgetvirtualkey(void)函數(shù)就得到虛擬鍵值。如果緩沖器中沒有虛擬鍵,exapi將調(diào)用回函數(shù)void tdcallbackidle(void)。必須保證后臺工作正常運行,即使當(dāng)前正在處理osd菜單,也不能有所影響。所有處理后臺工作的模塊都按照其標(biāo)記變換而執(zhí)行,這些標(biāo)記都可以根據(jù)用戶輸入、模式切換和信號檢測進行改變。后臺作業(yè)處理包括搜臺、聲音處理、頻道選擇和信號處理等。所有背景模塊的流程如圖4所示:
exapi提供兩種定時器回叫功能,可通過應(yīng)用層軟件實現(xiàn)。
void tdcallback1ms(void);
void tdcallback20ms(void);
上述兩個是系統(tǒng)定時中斷程序,void tdremoteservice(void)則是處理遙控輸入的中斷程序。在待機模式下,液晶電視僅等候接受控鍵或遙控輸入,顯示器的其他部分關(guān)閉,并進入節(jié)電模式。在正常的模式下,整機操作正常進行。一旦收到_vk-power_信號,液晶電視關(guān)閉系統(tǒng)并進入待機模式。該信號也可使液晶電視進入工廠模式,強迫液晶電視接受工廠設(shè)置或進行系統(tǒng)老化測試,電視面板重復(fù)地顯示出紅、藍、綠或白色屏幕。
至于在多重視窗的狀態(tài)下, 可以在顯示層上產(chǎn)生九個視窗的排列, 每個小窗口一次顯示一個頻道并將其定格。然后,下一個頻道在下一個窗口上顯示。所有模式均有其自己的指令和osd處理。
評論