基于DM6446中的高清数字视频显示接口设计方案(二)

2013-10-31 13:35:01来源: 互联网

3 VENC及OSD配置

  3.1 VENC配置

  当VENC工作在标准模式(Standard Mode)下时,只能够输出标准的PAL/NTSC同步时序,在此模式下输出的画面分辨率最大只有720×576,这在许多场合已经不能满足使用需求。其实VENC 本身能够支持的画面分辨率远不止于此,只是若要输出大分辨率的画面,就必须自己编程产生视频同步控制时序,也即让VENC工作于非标准模式(Non- standard Mode)[6-8]。

  VENC主要由3大块组成:模拟视频编码模块(数模转换DACs)、数字视频输出模块(数字LCD 控制器)以及时序发生器(Timing Generator)。其中,模拟视频编码模块只能工作于标准模式下,因此,在配置输出非标准模式下的数字画面时,应该禁用DAC.对于数字LCD 控制器部分的编程,主要是设置输出图像数据的格式(并行24 位RGB888)以及配置输出LCD_OE(数据输出使能)指示信号。而对时序发生器的编程配置,则是输出高分辨率数字画面的关键所在,整个VPSS的时钟分布控制结构如图3所示。

  

  根据VESA DMT标准,显示1 080P画面所需像素时钟为148.5 MHz.从图3 可以看到,VPSS 的时钟共有4个来源可以选择:其中MXI为芯片主要输入时钟,其频率仅有24 MHz,不能满足要求;PCLK是由外部输入的视频采集时钟,在这里也不适用;VPBECLK是专门的辅助时钟输入,而PLL2_divider1是内部倍频时钟,这两者经过配置都可以在高清数字视频显示接口设计中使用。在这里,主要是采用PLL2_divider1时钟。

  通过配置锁相环PLL2 控制器的PLLM=21,DIVID-ER1=3,便可以得到148.5 MHz的像素时钟。通过寄存器VPBE_PCR.VENC_DIV 位可以选择VENC_CLK 是否为VPSS_CLK 的一半,当VENC_DIV=1( 需要VPSS_CLKCTL.DACCLKEN=1)时,输入时钟将被2 分频,VENC_CLK 变成74.25 MHz,这正好是显示720P 画面所需的像素时钟。而且,148.5 MHz的像素时钟也能够同时支持WUXGA 画面的显示。相同的时钟输入能够同时满足多种高清分辨率图像的显示要求,这就为不同显示分辨率间的切换提供了编程上的便利性。

  

  输出给TFP410 的像素时钟VCLK,以VENC_CLK为基准,可以通过时钟样式寄存器VENC_DCLKPTNn以及VENC_DCLKPTNnA(n=0~3)自定义自己的输出波形和周期,可配置的波形周期为64位。从图3中可以看到,整条VCLK 输出链路还受内部使能位VCLKE、极性控制位VCLKP、以及输出管脚三态控制VCLKZ的层层控制。要输出时钟,则必须正确配置所有的控制位。在这里,通过配置,使得输出时钟VCLK 与内部VENC_CLK 相等,时钟的流向如图3 中的加粗黑实线所示。

  经过DCLK 的配置,已经能够得到显示720P,1 080P、WUXGA 画面所需的74.25 MHz 及148.5 MHz的像素时钟VCLK.VENC在VCLK 的上升沿输出图像数据,不过由于实际传输的数据有些是用于视频消隐的,必须有相关信号来指示有效视频数据的范围,这就是视频同步时序信号。视频同步主要有行同步(HSYNC)和场同步(VSYNC),具体定义可以参见相关文档[3]。最后,依据VESA DMT标准和实测结果,得到的整个VENC相关寄存器配置情况如表1所示。

  

  表1主要给了在只提供148.5 MHz像素时钟情况下,要实现720P,1 080P和WUXGA 分辨率画面显示,VENC所必须配置的寄存器的值。按照表中的参数进行设置后,输出时钟VCLK、编码时钟VENC_CLK以及窗口时钟OSD_CLK三者相等。VPBE_PCR可用于配置时钟频率在74.25 MHz和148.5 MHz之间切换,以满足在720P和1 080P(或WUXGA)显示分辨率下系统对编码时钟的需求。

3.2 OSD配置

  经过VENC的配置,系统已经支持高清数字视频的输出,由于VENC 编码数据来自于OSD 模块,所以要输出有效数据,还必须对OSD模块进行配置。DM6446的OSD 模块共支持两个视频窗口VIDWIN0/1和两个位图窗口OSDWIN0/1,还有透明矩形光标窗口(Regular Cur-sor)。其中,视频窗口VIDWIN0作为所有窗口的画布窗口,其他所有窗口的显示范围都必须在此窗口内,而且在显示其他窗口之前也必须使能 VIDWIN0.所有的OSD窗口都有独立的使能控制位,当所有的窗口都不使能时,VENC 将只显示OSD 中由寄存器MODE.BCLUT、MODE.CABG指定的背景色。

  OSD 窗口位置的确定与VENC 中的同步时序有关。所有窗口的基准位置为(BASEX,BASEY),同时利用(xxx_XP,xxx_YP)来确定相对位置。一般的,设置 BASEX=HSTART,BASEY=VSTART,这样,窗口的基准点便与显示器的左上角零点对齐。由于VIDWIN0是所有窗口的画布窗口,因此在实际使用中使该窗口的大小与VENC 中指定的显示分辨率相等,从而使VIDWIN0完全覆盖整个显示器屏幕。

  视频窗口和位图窗口在DDR2 SDRAM中都有对应的缓冲区用于保存窗口中的像素数据,缓冲区的起始位置由xxx_ADR 指定,窗口数据行偏移量由xxx_OFST 指定。起始位置寄存器xxx_ADR 的值是可以动态改变的,并且改变后的值只有在下一帧同步信号(VSYNC)到来时才起作用,这样我们便可以在内存中开辟多个窗口缓冲区,以增加窗口的显示效率。这里配置OSD 窗口主要是为VENC提供显示数据,其他有关OSD模块的配置可以参考其说明文档[3],这里不赘述。

  3.3 实际显示效果

  在实际显示OSD 窗口的过程中,要保证VIDWIN0的分辨率不超过VENC中显示的有效分辨率(HVALID xVVALID),而其他所有OSD 窗口的范围都不能超出VIDWIN0,否则将会导致画面显示不正常。虽然VENC输出分辨率已经能够达到1 080P和WUXGA,但在这个高清分辨率显示下,只有VIDWIN0能够用于视频显示,其他窗口必须保持关闭状态,这主要受制于OSD 模块的传输带宽。而在VENC 配置为720P 分辨率的情况下,能够稳定实现多个窗口同时显示,如图4所示。

  

  在这里,VIDWIN0、VIDWIN1、OSDWIN0 的大小分别为1 280×720,800×600 和640×480,像素格式分别为3 字节RGB888、2 字节的YUV422 和2 字节的RGB565.此时显示器显示的行同步信号频率为45.2 kHz,帧同步频率为60.2 Hz,分辨率为1 280×720,说明高清数字视频显示接口工作正常,能够稳定实现在高分辨率下的多窗口同时在屏显示。

  4 结语

  本文利用DM6446的数字视频输出接口,搭配DVI驱动芯片TFP410, 通过对芯片内部时钟以及视频编码模块(VENC)时序发生器的正确配置,实现了电路结构简单、配置灵活的高清数字视频显示接口。在目标板上,本文提出的高清数字视频显示接口方案能够稳定显示720P、1 080P 及WUXGA 分辨率的画面,说明该方案易用、可行,具有实用性,对于扩展基于DM6446的数字视频显示接口具有重要参考意义。

关键字:DM6446  高清  数字视频  显示接口

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2013/1031/article_20174.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
DM6446
高清
数字视频
显示接口

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved