艾巴生活网

您现在的位置是:主页>科技 >内容

科技

基于DM6446中的高清数字文章显示接口设计方案

2024-01-29 10:47:01科技帅气的蚂蚁
本文通过在芯片内部直接配置锁相环和VENC时序发生器,产生显示高清数字文章所需的像素时钟和同步控制时序信号。通过TFP410提供的DVI显示接

基于DM6446中的高清数字文章显示接口设计方案

本文通过在芯片内部直接配置锁相环和VENC时序发生器,产生显示高清数字文章所需的像素时钟和同步控制时序信号。通过TFP410提供的DVI显示接口,以720P、1080P和WUXGA分辨率显示VENC的输出,最终表明本文提出的方案简单易用、切实可行。

0简介

TI公司推出的DM6446芯片广泛应用于文章处理领域。它基于ARM DSP的双核架构,具有通用处理器(GPP)和专用数字处理器(DSP)的功能。其文章处理子系统(VPSS)既包括文章采集的文章处理前端(VPFE),也包括文章显示的文章处理后端(VPBE),这也是其在文章处理领域崭露头角的重要一环。DM6446可以同时支持标准PAL/NSTC格式和非标准模拟VGA显示接口的数字和模拟文章输出,但这种模式下文章输出的分辨率较低,不适合需要大分辨率显示的场合。

为了支持高清显示,需要通过编程配置实现高清显示所需的时序控制信号。DM6446支持并行输出24位RGB888文章数据,经外部芯片编码转换后送至显示器。这里使用的编码芯片是TFP410,接收并行图像数据和同步控制信号,经过编码转换后按照DVI标准传输到显示器[5]。

本文第一部分介绍了高清数字文章接口设计的总体结构;第二部分介绍TFP410的配置和使用。第三部分介绍了实现高清数字显示所需的VENC的参数配置方法,并结合OSD窗口配置给出了实际高清数字文章显示结果。

在目标板上,720P(1 280720@60 Hz)、1 080P(1 9201 080@60 Hz)和WUXGA(1 9201 200@60 Hz)数字文章显示器能够稳定运行,说明本文提出的高清数字文章显示接口设计方案是正确可行的,并且是基于DM 660的。

1高清数字文章显示接口的整体结构

整个DVI高清数字文章显示接口的结构如图1所示,分为两部分:DM6446的VPSS接口和DVI驱动的TFP410接口。

VPFE从外部收集文章数据,并将其存储在DDR2的指定位置。VPBE中的屏幕显示模块(OSD)在DDR2也有相应的缓冲区。这些模块与DDR2之间的数据传输有专门的读写逻辑控制,保证数据传输带宽满足系统要求。支持高清显示主要是VPBE中文章编码模块(VENC)的时序控制部分的正确配置,包括输出到TFP410的VENC时钟、OSD时钟和像素时钟,以及文章的行同步和场同步信号,后面会详细介绍。

TFP410主要起到文章数据编码的作用。VENC输出的图像数据和同步控制信号经过编码后以差分串行方式(T.M.D.S)传输到显示器,可以保证数据在传输过程中的抗干扰能力。同时,TFP410包含一个I2C接口,DSP可以通过该接口配置DVI驱动程序的工作模式。系统上电后,TFP410可以检测显示器是否连接,这样DSP就可以通过检查相应的状态位来决定是否发送文章数据。

2 TFP410工作模式配置

TFP410支持最大165 MHz的像素时钟,可以满足高清数字文章显示的需求。有两种配置方法:

直接引脚配置法和I2C配置法。采用直接配置引脚的方式,芯片上电后可以直接工作在既定模式,但功能相对简单,工作模式不够灵活。通过I2C配置,可以根据需要调整芯片的工作模式,包括时钟边沿、数据位宽度和数据采集延迟。通过读取TFP410中的相关状态寄存器,DSP端的应用程序也可以获得图像传输的相关信息,包括水平和垂直全局分辨率,以及显示器是否连接。

TFP410中有256个I2C可访问寄存器,大部分是留作使用的,实际使用中需要操作的寄存器就更少了。这里只需要配置寄存器CTL_1_MODE、CTL_2_MODE和CTL_3_MODE,其他都可以默认配置,一般不需要更改。设置CTL_1_MODE。

PD#=1将芯片从省电模式恢复到正常模式;设置CTL _ 1 _ mode。hen=1、 cctl _ 1 _ mode。ven=1以启用行和场同步信号的输入,并设置CCTL _ 1 _模式。TDIS=0使能芯片T.M.D.S的输出CTL_2_MODE主要用于主机检测显示状态,而CTL_3_MODE主要负责数据采集过程中的延时控制。TFP410的基本配置流程如图2所示。

在图2中,仅列出了必须配置的寄存器,其他寄存器可以保持不变,这通常不会影响使用。配置CTL_1_MODE=037,使器件工作在以下模式:24位数据宽度、单端像素时钟(VCLK)输入、VCLK上升沿采样输入数据。DM6446配置TFP410后,只要按照高清数字文章的标准时序输出相应的图像数据和同步控制信息,就可以通过DVI接口在LCD上显示OSD上的内容。

3 VENC和OSD配置

3.1 VENC配置

VENC工作在标准模式下,只能输出标准的PAL/NTSC同步序列,该模式下输出的最大画面分辨率只有720576,无法满足很多场合的使用要求。其实VENC本身能支持的画面分辨率远不止这些,但是如果要输出大分辨率的画面,就必须自己编程文章同步控制序列,也就是让VENC工作在非标准模式[6-8]。

VENC主要由三个模块组成:模拟文章编码模块(DAC)、数字文章输出模块(数字LCD控制器)和时序发生器。其中,模拟文章编码模块只能在标准模式下工作,因此在非标准模式下配置数字图片的输出时应禁用DAC。对于数字LCD控制器的编程,主要是设置输出图像数据(并行24位RGB888)的格式,配置输出LCD_OE(数据输出使能)指示信号。时序发生器的编程配置是输出高分辨率数字图像的关键。整个VPSS的时钟分配控制结构如图3所示。

根据VESA DMT标准,显示1 080P图像所需的像素时钟为148.5 MHz。从图3可以看出,VPSS时钟有四种来源可供选择:MXI是芯片的主要输入时钟,其频率只有24 MHz,不能满足要求;PCLK是从外部输入的文章采集时钟,这里也不适用。VPBECLK是一个特殊的辅助时钟输入,PLL2_divider1是一个内部倍频时钟,两者都可以用于高清数字文章显示接口的设计。这里主要使用PLL2_divider1时钟。

通过配置PLL PLL2控制器的PLLM=21和DIVID-ER1=3,可以获得148.5 MHz的像素时钟。你可以通过寄存器VPBE_PCR的位来选择CLK VENC是否是CLK VPSS的一半。VENC区。当VENC_DIV=1 (vpss _ clkctl。要求daclken=1),输入时钟将被2分频,VENC_CLK将变为74.25 MHz,这正好是显示720P画面所需的像素时钟。而且148.5 MHz的像素时钟也可以同时支持WUXGA图像的显示。同一时钟输入可以同时满足多种高清图像的显示需求,为不同显示分辨率之间的切换提供了编程便利。

基于VENC_CLK,输出到TFP410的像素时钟VCLK可以通过时钟模式寄存器VENC_DCLKPTNn和VENC_DCLKPTNnA(n=0~3)自定义自己的输出波形和周期,可配置的波形周期为64位。从图3可以看出,整个VCLK输出链路也由内部使能位VCLKE、极性控制位VCLKP和输出引脚三态控制VCLKZ控制。要输出时钟,必须正确配置所有控制位。这里,输出时钟VCLK被配置为等于内部VENC_CLK,并且时钟的流向由图3中的粗黑实线示出。

DCLK配置完成后,像素时钟VCLK。显示720P、1 080P和WUXGA画面所需的74.25 MHz和148.5 MHz的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和一个透明矩形光标窗口(常规光标)。其中,文章窗口VIDWIN0是所有窗口的画布窗口,其他所有窗口的显示范围必须在此窗口内,显示其他窗口前必须启用VIDWIN0。所有OSD窗口都有独立的使能控制位。当所有窗口未启用时,VENC将只显示由寄存器模式指定的背景颜色。BCLUT和模式。OSD中的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 280720、800600和640480,像素格式分别为3字节的RGB888、2字节的YUV422和2字节的RGB565。此时显示器显示的行同步信号频率为45.2 kHz,帧同步频率为60.2 Hz,分辨率为1 280720,说明高清数字文章显示接口工作正常,可以在屏幕上稳定地显示多个窗口,分辨率很高。

4结论

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