<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 設(shè)計(jì)應(yīng)用 > M16C/62P在液晶電視制造中的應(yīng)用

          M16C/62P在液晶電視制造中的應(yīng)用

          ——
          作者:瑞薩亞洲科技有限公司香港科技中心 Kelvin Tang 時(shí)間:2007-01-26 來源:《世界電子元器件》 收藏

          本文介紹m16c平臺在先進(jìn)的數(shù)字液晶電視技術(shù)以及硬件配置和軟件算法方面的作用,同時(shí)也將討論其他的lsi。此外,也為電視制造商用于26英寸或以上液晶電視提供主要解決方案。

          本文引用地址:http://www.ex-cimer.com/article/21019.htm

          瑞薩的m16c系列是一個具有rom高效率的多用途32和16位cisc微型機(jī)。它具有在高速度條件下的優(yōu)異噪聲免疫性和超低功耗處理能力,其中一組m16c系列的mcu是m16c/62p,該器件可提供低成本開發(fā)環(huán)境,工作頻率高達(dá)24mhz。此外,它還支持多工和獨(dú)立總線模式,可以連接外部存儲器和視頻處理器。我們在液晶電視解決方案中選擇m30620spgp,它是一個內(nèi)置10k ram的無rom版本,可以在20mhzpll時(shí)鐘的微處理器模式下工作,并使用了一個8位多工總線用于連接整個系統(tǒng)。

          由于系統(tǒng)采用不帶rom的m16c mcu作為中央處理單元,視頻處理器需要顯示幀的緩沖器而運(yùn)行,所以系統(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;高達(dá)108mhz的pc rgb輸入可支持sxga/60hz;隔行掃描刷新為60hz到100hz,而逐行掃描刷新為50hz到75hz。泰鼎圖形引擎可提供卓越的視頻圖像質(zhì)量。該技術(shù)集成了3d梳狀視頻解碼,并支持pal、ntsc和secam格式、運(yùn)動適應(yīng)解隔行掃描、數(shù)字噪聲消除、圖像調(diào)節(jié)、平均畫面水平控制、邊界消除和銳利度提升等。其內(nèi)部低電壓差分信號發(fā)送器lvds用來連接lvds面板,應(yīng)用lcd過驅(qū)動的專有技術(shù),可以改善主畫面(mp)和畫中畫(pip)通道在lcd面板上的反應(yīng)時(shí)間。

          整個系統(tǒng)還加入了一個hdmi接收器sil9011(高清晰度多媒體接口)。這個lsi與hdmi 1.1規(guī)范兼容,且后向兼容dvi 1.0,這可使hdmi系統(tǒng)以一條電纜連接到現(xiàn)有的dvi 1.0主機(jī)(例如dvd播放器)。單個panel link tmds數(shù)碼內(nèi)核支持視頻信號圖素時(shí)鐘速率達(dá)165mhz, 覆蓋范圍至1080p(高清電視分辨率或pc的uxga (pc分辨率)。而且具有高達(dá)192khz的音頻信號的采樣率,支持s/pif及多路音頻輸出。該芯片所帶有工業(yè)標(biāo)準(zhǔn)的i2s端口可與音頻dac直接進(jìn)行連接。sil9011還嵌入了一個hdcp(高清晰度內(nèi)容保護(hù))解碼引擎連同預(yù)編程的hdcp鑰匙,用來接收受保護(hù)的音頻和視頻內(nèi)容,從而提供最高級別的安全性能。

          音頻處理器應(yīng)用msp34x0g系列,可覆蓋全球所有模擬電視聲音系統(tǒng)的標(biāo)準(zhǔn)。同時(shí),諸如自動音量控制(avc)、低音增強(qiáng)效果(bbe)和重低音輸出等基帶聲音處理也是在同一個單芯片中執(zhí)行。msp34x0g系列帶有一個只運(yùn)行在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程序進(jìn)入固件調(diào)試模式時(shí),mcu釋放i2c總線控制。在pc上打開工具應(yīng)用軟件就能夠控制所有這些器件,這對系統(tǒng)調(diào)試非常有用。視頻處理器支持i2c總線和平行接口的通信。不帶rom的m30620spgp工作在1m字節(jié)的微處理器模式下以20mhz速率運(yùn)行,這需要連接一個10mhz的晶振并設(shè)定內(nèi)置的pll時(shí)鐘兩倍頻率,它們之間的通信采用一個多工總線來實(shí)現(xiàn)。mcu的映射定位于cs2起始地址為8000h的區(qū)域。程序進(jìn)入調(diào)試模式條件下,需要對svp ex52內(nèi)部的寄存器進(jìn)行設(shè)置,以控制i2c總線,并使多工的平行接口失效。此外,m16c/62p的uart1能夠連接到pc串行端口。借助運(yùn)行嵌入在pc視窗操作系統(tǒng)中的超級終端(hyper terminal),輸出信息。這意味著mcu接受我們的遙控或應(yīng)用本地指令完成任務(wù)。在程序正常狀態(tài)下運(yùn)行時(shí),pc和液晶電視之間也可持續(xù)進(jìn)行交互。

          系統(tǒng)的軟件結(jié)構(gòu)包括由c語言編寫的ex、tv api和應(yīng)用程序三個層次。exsdk提供了有效的工具和api?;跀?shù)據(jù)和編碼分開的概念,數(shù)據(jù)包括寄存器表的設(shè)置、osd(屏幕文字信息顯示)和用戶定義區(qū)域等。資源編碼工具能夠用來創(chuàng)建并維護(hù)這些作為資源的數(shù)據(jù),運(yùn)行流程見圖2。然后,每一類數(shù)據(jù)也被看作某一指定的資源被插進(jìn)應(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)該寫入的芯片進(jìn)行選擇。

          toe是一個位于高層的功能程序庫,叫做toe.lib。它可在電視中執(zhí)行如pc形式的圖形用戶介面,并支持兩個板面的4或8位元顏色osd顯示。

          toe的結(jié)構(gòu)基于mvc(模型、視圖和控制器)的設(shè)計(jì)模式。它由三個部分組成,借調(diào)用toeapi進(jìn)行編碼。osd數(shù)據(jù)編輯器和osd項(xiàng)目編輯器用來組成osd的布局設(shè)計(jì)和視覺結(jié)構(gòu)。toe是用標(biāo)準(zhǔn)c語言寫成, 能支持跨平臺作業(yè),沒有平臺限制。

          而exapi是一個作為svp ex52驅(qū)動器的低層功能程序庫,它亦可以編譯在包括pc win32或許多不同的單片機(jī)平臺。exapi也如眾多程序庫文檔一樣, 都隱含著api進(jìn)入已成為二進(jìn)制目標(biāo)碼的執(zhí)行細(xì)節(jié)。

          tvapi也封裝了基本tv的邏輯處理。如果系統(tǒng)有硬件改動,例如改換視頻解碼器,需要修改tvapi的源代碼來配合, exapi 和 tvapi能夠被應(yīng)用層程序所調(diào)用。

          微軟的visual c++在pc中是一個強(qiáng)大的工具程式,所編寫的電視模擬器借助win32平臺通過i2c總線對系統(tǒng)進(jìn)行作業(yè)操控, 并且程式也具備osd模擬器用作預(yù)顯示, 這樣osd設(shè)計(jì)就能顯示在平面屏幕上。這可提供比較便宜的調(diào)試和開發(fā)環(huán)境。

          而高質(zhì)量的軟件開發(fā)通過usb電纜連接到專業(yè)仿真器pc7501。探針m3062pt-epb與仿真一起工作。同時(shí),整個系統(tǒng)運(yùn)行在下列工具軟件上,軟件列表見表2。

          表2 軟件列表

          應(yīng)用層主程序運(yùn)行程序基于下面的流程圖,見圖3。


          系統(tǒng)從第一個模塊開始進(jìn)行初始化和缺省設(shè)置。例如,如果函數(shù)booltdeepromcheckonline(void)沒有檢查到返回標(biāo)_eeprom_is_initialized_,應(yīng)用層軟件便應(yīng)用缺省設(shè)置來初始化eeprom。m30620spgp mcu首先被初始化。然后,包括系統(tǒng)資源、由資源工具resbuilder生成的數(shù)據(jù)、系統(tǒng)定時(shí)器、按鍵輸入、遙控輸入和i2c總線在內(nèi)的整個系統(tǒng)進(jìn)行初始化。用戶輸入包括按鍵或遙控輸入被轉(zhuǎn)換成以字節(jié)為單位的虛擬鍵數(shù)值,并且對重復(fù)鍵的處理推進(jìn)到虛擬鍵值緩沖器中。而驅(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)。必須保證后臺工作正常運(yùn)行,即使當(dāng)前正在處理osd菜單,也不能有所影響。所有處理后臺工作的模塊都按照其標(biāo)記變換而執(zhí)行,這些標(biāo)記都可以根據(jù)用戶輸入、模式切換和信號檢測進(jìn)行改變。后臺作業(yè)處理包括搜臺、聲音處理、頻道選擇和信號處理等。所有背景模塊的流程如圖4所示:

          exapi提供兩種定時(shí)器回叫功能,可通過應(yīng)用層軟件實(shí)現(xiàn)。

          void tdcallback1ms(void);

          void tdcallback20ms(void);

          上述兩個是系統(tǒng)定時(shí)中斷程序,void tdremoteservice(void)則是處理遙控輸入的中斷程序。在待機(jī)模式下,液晶電視僅等候接受控鍵或遙控輸入,顯示器的其他部分關(guān)閉,并進(jìn)入節(jié)電模式。在正常的模式下,整機(jī)操作正常進(jìn)行。一旦收到_vk-power_信號,液晶電視關(guān)閉系統(tǒng)并進(jìn)入待機(jī)模式。該信號也可使液晶電視進(jìn)入工廠模式,強(qiáng)迫液晶電視接受工廠設(shè)置或進(jìn)行系統(tǒng)老化測試,電視面板重復(fù)地顯示出紅、藍(lán)、綠或白色屏幕。

          至于在多重視窗的狀態(tài)下, 可以在顯示層上產(chǎn)生九個視窗的排列, 每個小窗口一次顯示一個頻道并將其定格。然后,下一個頻道在下一個窗口上顯示。所有模式均有其自己的指令和osd處理。



          關(guān)鍵詞: 液晶顯示 LCD

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();