新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DM6446中的高清數(shù)字視頻顯示接口設(shè)計(jì)方案

基于DM6446中的高清數(shù)字視頻顯示接口設(shè)計(jì)方案

作者: 時(shí)間:2016-12-20 來源:網(wǎng)絡(luò) 收藏

  

  根據(jù)VESA DMT標(biāo)準(zhǔn),顯示1 080P畫面所需像素時(shí)鐘為148.5 MHz.從圖3 可以看到,VPSS 的時(shí)鐘共有4個(gè)來源可以選擇:其中MXI為芯片主要輸入時(shí)鐘,其頻率僅有24 MHz,不能滿足要求;PCLK是由外部輸入的視頻采集時(shí)鐘,在這里也不適用;VPBECLK是專門的輔助時(shí)鐘輸入,而PLL2_divider1是內(nèi)部倍頻時(shí)鐘,這兩者經(jīng)過配置都可以在高清數(shù)字視頻顯示接口設(shè)計(jì)中使用。在這里,主要是采用PLL2_divider1時(shí)鐘。

  通過配置鎖相環(huán)PLL2 控制器的PLLM=21,DIVID-ER1=3,便可以得到148.5 MHz的像素時(shí)鐘。通過寄存器VPBE_PCR.VENC_DIV 位可以選擇VENC_CLK 是否為VPSS_CLK 的一半,當(dāng)VENC_DIV=1( 需要VPSS_CLKCTL.DACCLKEN=1)時(shí),輸入時(shí)鐘將被2 分頻,VENC_CLK 變成74.25 MHz,這正好是顯示720P 畫面所需的像素時(shí)鐘。而且,148.5 MHz的像素時(shí)鐘也能夠同時(shí)支持WUXGA 畫面的顯示。相同的時(shí)鐘輸入能夠同時(shí)滿足多種高清分辨率圖像的顯示要求,這就為不同顯示分辨率間的切換提供了編程上的便利性。

  

  輸出給TFP410 的像素時(shí)鐘VCLK,以VENC_CLK為基準(zhǔn),可以通過時(shí)鐘樣式寄存器VENC_DCLKPTNn以及VENC_DCLKPTNnA(n=0~3)自定義自己的輸出波形和周期,可配置的波形周期為64位。從圖3中可以看到,整條VCLK 輸出鏈路還受內(nèi)部使能位VCLKE、極性控制位VCLKP、以及輸出管腳三態(tài)控制VCLKZ的層層控制。要輸出時(shí)鐘,則必須正確配置所有的控制位。在這里,通過配置,使得輸出時(shí)鐘VCLK 與內(nèi)部VENC_CLK 相等,時(shí)鐘的流向如圖3 中的加粗黑實(shí)線所示。

  經(jīng)過DCLK 的配置,已經(jīng)能夠得到顯示720P,1 080P、WUXGA 畫面所需的74.25 MHz 及148.5 MHz的像素時(shí)鐘VCLK.VENC在VCLK 的上升沿輸出圖像數(shù)據(jù),不過由于實(shí)際傳輸?shù)臄?shù)據(jù)有些是用于視頻消隱的,必須有相關(guān)信號(hào)來指示有效視頻數(shù)據(jù)的范圍,這就是視頻同步時(shí)序信號(hào)。視頻同步主要有行同步(HSYNC)和場(chǎng)同步(VSYNC),具體定義可以參見相關(guān)文檔[3]。最后,依據(jù)VESA DMT標(biāo)準(zhǔn)和實(shí)測(cè)結(jié)果,得到的整個(gè)VENC相關(guān)寄存器配置情況如表1所示。

  

  表1主要給了在只提供148.5 MHz像素時(shí)鐘情況下,要實(shí)現(xiàn)720P,1 080P和WUXGA 分辨率畫面顯示,VENC所必須配置的寄存器的值。按照表中的參數(shù)進(jìn)行設(shè)置后,輸出時(shí)鐘VCLK、編碼時(shí)鐘VENC_CLK以及窗口時(shí)鐘OSD_CLK三者相等。VPBE_PCR可用于配置時(shí)鐘頻率在74.25 MHz和148.5 MHz之間切換,以滿足在720P和1 080P(或WUXGA)顯示分辨率下系統(tǒng)對(duì)編碼時(shí)鐘的需求。

  3.2 OSD配置

  經(jīng)過VENC的配置,系統(tǒng)已經(jīng)支持高清數(shù)字視頻的輸出,由于VENC 編碼數(shù)據(jù)來自于OSD 模塊,所以要輸出有效數(shù)據(jù),還必須對(duì)OSD模塊進(jìn)行配置。DM6446的OSD 模塊共支持兩個(gè)視頻窗口VIDWIN0/1和兩個(gè)位圖窗口OSDWIN0/1,還有透明矩形光標(biāo)窗口(Regular Cur-sor)。其中,視頻窗口VIDWIN0作為所有窗口的畫布窗口,其他所有窗口的顯示范圍都必須在此窗口內(nèi),而且在顯示其他窗口之前也必須使能 VIDWIN0.所有的OSD窗口都有獨(dú)立的使能控制位,當(dāng)所有的窗口都不使能時(shí),VENC 將只顯示OSD 中由寄存器MODE.BCLUT、MODE.CABG指定的背景色。

  OSD 窗口位置的確定與VENC 中的同步時(shí)序有關(guān)。所有窗口的基準(zhǔn)位置為(BASEX,BASEY),同時(shí)利用(xxx_XP,xxx_YP)來確定相對(duì)位置。一般的,設(shè)置 BASEX=HSTART,BASEY=VSTART,這樣,窗口的基準(zhǔn)點(diǎn)便與顯示器的左上角零點(diǎn)對(duì)齊。由于VIDWIN0是所有窗口的畫布窗口,因此在實(shí)際使用中使該窗口的大小與VENC 中指定的顯示分辨率相等,從而使VIDWIN0完全覆蓋整個(gè)顯示器屏幕。

  視頻窗口和位圖窗口在DDR2 SDRAM中都有對(duì)應(yīng)的緩沖區(qū)用于保存窗口中的像素?cái)?shù)據(jù),緩沖區(qū)的起始位置由xxx_ADR 指定,窗口數(shù)據(jù)行偏移量由xxx_OFST 指定。起始位置寄存器xxx_ADR 的值是可以動(dòng)態(tài)改變的,并且改變后的值只有在下一幀同步信號(hào)(VSYNC)到來時(shí)才起作用,這樣我們便可以在內(nèi)存中開辟多個(gè)窗口緩沖區(qū),以增加窗口的顯示效率。這里配置OSD 窗口主要是為VENC提供顯示數(shù)據(jù),其他有關(guān)OSD模塊的配置可以參考其說明文檔[3],這里不贅述。

  3.3 實(shí)際顯示效果

  在實(shí)際顯示OSD 窗口的過程中,要保證VIDWIN0的分辨率不超過VENC中顯示的有效分辨率(HVALID xVVALID),而其他所有OSD 窗口的范圍都不能超出VIDWIN0,否則將會(huì)導(dǎo)致畫面顯示不正常。雖然VENC輸出分辨率已經(jīng)能夠達(dá)到1 080P和WUXGA,但在這個(gè)高清分辨率顯示下,只有VIDWIN0能夠用于視頻顯示,其他窗口必須保持關(guān)閉狀態(tài),這主要受制于OSD 模塊的傳輸帶寬。而在VENC 配置為720P 分辨率的情況下,能夠穩(wěn)定實(shí)現(xiàn)多個(gè)窗口同時(shí)顯示,如圖4所示。

  

  在這里,VIDWIN0、VIDWIN1、OSDWIN0 的大小分別為1 280×720,800×600 和640×480,像素格式分別為3 字節(jié)RGB888、2 字節(jié)的YUV422 和2 字節(jié)的RGB565.此時(shí)顯示器顯示的行同步信號(hào)頻率為45.2 kHz,幀同步頻率為60.2 Hz,分辨率為1 280×720,說明高清數(shù)字視頻顯示接口工作正常,能夠穩(wěn)定實(shí)現(xiàn)在高分辨率下的多窗口同時(shí)在屏顯示。

  4 結(jié)語

  本文利用DM6446的數(shù)字視頻輸出接口,搭配DVI驅(qū)動(dòng)芯片TFP410, 通過對(duì)芯片內(nèi)部時(shí)鐘以及視頻編碼模塊(VENC)時(shí)序發(fā)生器的正確配置,實(shí)現(xiàn)了電路結(jié)構(gòu)簡(jiǎn)單、配置靈活的高清數(shù)字視頻顯示接口。在目標(biāo)板上,本文提出的高清數(shù)字視頻顯示接口方案能夠穩(wěn)定顯示720P、1 080P 及WUXGA 分辨率的畫面,說明該方案易用、可行,具有實(shí)用性,對(duì)于擴(kuò)展基于DM6446的數(shù)字視頻顯示接口具有重要參考意義。


上一頁 1 2 下一頁

評(píng)論


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

關(guān)閉