嵌入式开发:DM6446高清数字视频显示接口设计

发布者:DelightfulWish最新更新时间:2017-09-14 来源: ofweek关键字:嵌入式开发  DM6446  高清数字  视频显示接口 手机看文章 扫描二维码
随时随地手机看文章

  本文通过直接对芯片内部PLL以及VENC时序发生器的配置,产生显示高清数字视频所需的像素时钟和同步控制时序信号,VENC 的输出再经由TFP410提供的DVI显示接口,最终实现了720P,1080P以及WUXGA分辨率下的高清数字视频显示,最终说明了本文所提出方案是易用、可行,具有实用性。

  0 引言

  TI 公司推出的DM6446 芯片在视频处理领域被广泛的使用,其基于ARM+DSP 双核架构,同时具备了通用处理器(GPP)和专用数字处理器(DSP)的功能。它的视频处理子系统(VPSS)同时包含了视频采集的接口-- 视频处理前端(VPFE),以及视频显示的接口--视频处理后端(VPBE),这也是其能够在视频处理领域崭露头角的重要组成部分。DM6446能够同时支持标准时序PAL/NSTC制式的数字和模拟视频输出,也支持非标准模拟VGA显示接口,但这模式的视频输出的分辨率都较低,不适用于需要大分辨率显示的场合。

  要让其支持高清显示,就必须通过编程配置,实现高清显示所需的时序控制信号。DM6446 支持并行的24位RGB888视频数据输出,经过外部芯片编码转换后送给显示器显示。这里采用的编码芯片是TFP410,它接收并行的图像数据以及同步控制信号,经过编码转换后,按照DVI标准传输给显示器进行显示.

  文中第1 部分介绍了高清数字视频接口设计的整体结构;第2部分介绍了TFP410的配置和使用方法;第3部分介绍了实现高清数字显示所需的VENC的参数配置方法,同时结合OSD 窗口配置给出了实际的高清数字视频显示结果。

  在目标板上,720P(1 280×720@60 Hz)、1 080P(1 920×1 080@60 Hz)以及WUXGA(1 920×1 200@60 Hz)分辨率的数字视频显示都能够稳定运行,说明这里提出的高清数字视频显示接口设计方案是正确、可行的,对基于DM6446高清数字视频显示应用具有实际意义。

  1 高清数字视频显示接口整体结构

  整个DVI 高清数字视频显示接口的结构如图1 所示,主要可分为DM6446 的VPSS 接口部分以及DVI 驱动器TFP410接口两部分。

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

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

  2 TFP410 的工作模式配置

  TFP410 支持的最高像素时钟为165 MHz,能够满足高清数字视频显示的需求,其总共有两种配置方法:

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

  TFP410的I2C 可访问寄存器共有256个,其中绝大多数是保留使用的,在实际使用中,需要操作的寄存器更是少数。在这里,只需配置寄存器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_MODE.TDIS=0 使能芯片T.M.D.S 电路输出。CTL_2_MODE主要用于主机检测显示器状态,而CTL_3_MODE 则主要负责数据采集过程中的时延控制。对TFP410 的基本配置流程如图2所示。

  在图2 中,仅仅是列出了必须配置的寄存器,其余寄存器可以不用修改,一般不影响使用。配置CTL_1_MODE=0×37,使器件工作模式为:24 位数据宽度、单端像素时钟(VCLK)输入、在VCLK 上升沿采样输入数据。配置好TFP410后,DM6446只要按照高清数字视频的标准时序输出相应的图像数据和同步控制信息,就能够将OSD 上的内容通过DVI 接口显示到LCD 显示器上。

  3 VENC及OSD配置

  3.1 VENC配置

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

  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),具体定义可以参见相关文档.最后,依据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 实际显示效果

  在实际显示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  高清数字  视频显示接口 引用地址:嵌入式开发:DM6446高清数字视频显示接口设计

上一篇:基于DSP的USB 接口设计方案
下一篇:CAN总线如何防雷?

推荐阅读最新更新时间:2024-05-03 01:40

嵌入式开发DM6446高清数字视频显示接口设计
  本文通过直接对芯片内部PLL以及VENC时序发生器的配置,产生显示高清数字视频所需的像素时钟和同步控制时序信号,VENC 的输出再经由TFP410提供的DVI显示接口,最终实现了720P,1080P以及WUXGA分辨率下的高清数字视频显示,最终说明了本文所提出方案是易用、可行,具有实用性。   0 引言   TI 公司推出的DM6446 芯片在视频处理领域被广泛的使用,其基于ARM+DSP 双核架构,同时具备了通用处理器(GPP)和专用数字处理器(DSP)的功能。它的视频处理子系统(VPSS)同时包含了视频采集的接口-- 视频处理前端(VPFE),以及视频显示的接口--视频处理后端(VPBE),这也是其能够在视频处理领域崭露头
[嵌入式]
ARM开发——搭建嵌入式开发环境
ckermit串口工具的下载 sudo apt-get install ckermit 如果我们有新的串口连接上,我们可以通过查看/dev 来看连接的数据 ckermit 配置文件的配置.kermrc set line /dev/ttyUSB0 set speed 115200 set carrier-watch off set handshake none set flow-control none robust set file type bin set file name lit set rec pack 1000
[单片机]
ARM开发——搭建<font color='red'>嵌入式开发</font>环境
高清晰度数字电视传输系统设计与实现方案
在有限带宽内传输高清晰度数字电视对视频、音频压缩编码和信道编码都提出了更高的要求,而且在进行地面传输的情况下无线环境的各种衰减和干扰也不可避免,同时考虑到移动环境下的接收需求,在新一代的地面数字电视传输系统中必需引入无线通信的最新技术。数字电视广播和现代数字通讯技术的结合,使得传统的电视传媒得以在通信网络的基础上新生。 清华大学在综合吸收国外已有高清晰度数字电视标准优点的基础上,完全自主地开发完成了地面数字多媒体电视广播传输协议DMB-T并申请了职务发明专利。在深圳举行的第二届中国国际高新技术成果交易会上,清华大学对此项技术进行了全面展示,得到众多专家的肯定。 在DMB-T系统设计中采用了Cadence
[家用电子]
国庆阅兵将首次实施地面高清数字电视转播
  9月30日消息,来自国家广电总局的消息,在十年前的建国六十周年大庆上,我国进行了首次高清数字电视转播,这意味着全国观众将第一次有机会看到高清晰度的阅兵式电视画面。    高清电视转播准备就绪   9月29日,在天安门城楼上忙碌的人群中,负责此次高清转播的技术小组特别引人注目,他们在国庆庆典活动最后一次演练以前,顺利完成了为天安门城楼安装一批国标高清晰度电视机的任务。   这批新型平板电视机全部采用了上海高清设计的中国数字电视国家标准核心芯片,其中内置的关键解调器件由上海高清公司设计。这些彩电确保了中央领导及国庆庆典工作人员能够在紧张工作的时候都能看到中央电视台的高清电视直播信号。负责此项任务的国家广播电影电视总局科技司司
[家用电子]
基于DM6446的变焦成像系统设计
    随着数码相机技术的快速发展,数字成像系统已经广泛应用于工业检测、公共安全以及生活的各个方面。数字成像系统利用图像传感器获取图像信息,经过处理之后形成数字图像和视频。数字成像系统通常可分为定焦成像系统和变焦成像系统,变焦成像系统使用变焦距镜头,从而通过对镜头的控制实现对不同物距下的景物成像。 1 系统设计     变焦成像系统由镜头部分、图像采集部分、微处理器以及存储显示部分组成,整个系统的结构原理框图如图1所示。景物通过镜头成像在CMOS图像传感器上,像素单元的电荷信号经处理并A/D转换后成为数字信号。本系统采用DaVinci系列DM6446微处理器,CMOS获取的图像信号通过视频输入接口进入视频处理前端,在DM6446处
[嵌入式]
STM32嵌入式开发,米尔STM32MP135核心板助力充电桩发展
随着电动车的普及和环保意识的增强, 充电桩作为电动车充电设备的重要一环,充电桩行业正迅速发展,消费市场的大量应用也造就市场的需求量不断增长 。因此,产品的功能、可靠性、安全性等要求也变得尤为重要,而采用传统单片机产品并不能满足充电桩的智能控制等需求,本文详细介绍基于米尔STM32MP135核心板的充电桩应用方案。 图1:充电方案图 采用STM32MP135系列微处理器进行电动汽车的智能嵌入式充电桩设计,并通过“指挥”8位和16位微控制器实现复杂功能的智能控制。在智能充电桩的应用里,具备高性价比、低功耗、高可靠性的STM32MP135优势有以下几个方面: 跑Linux系统,实时处理数据和任务 充电桩通常由一个
[单片机]
STM32<font color='red'>嵌入式开发</font>,米尔STM32MP135核心板助力充电桩发展
嵌入式开发中需要注意的几个C用法介绍
使用STM32开发的朋友不知道是否有发现过这样的一些宏定义?如下: #if defined (__CC_ARM) #pragma anon_unions #endif 看到上面的语句一开始确实搞不懂为什么要写这些东西,通过上网去查询,才搞明白这其中的使用原理。 上面的代码段我们可以看到两部分的内容: 1) __CC_ARM 2) #pragma anon_unions 这两个都有啥用呢?待我一一道来! 1、__CC_ARM 是 ARM 编译中的宏选项 __CC_ARM 是一个编译器的选项,在ARM开发中根据开发环境的不同,有好几个可选的宏选项。 这些选项可以查看所开发的芯片的内核文件,比如我使用
[单片机]
嵌入式开发人员要使用FPGA的原因
在一个领域中,如果唯一不变的是变化,那么不需要对电子技术和设计方法的发展变化做多少回顾,就能见证到变化是如何使设计工程师能够创建出下一代创新产品。微处理器得到大规模应用后,价廉物美的新技术为基于软件的革新性电子产品设计打开了大门,这就是一个很好的例子。简言之,把设计的主要元素——在这儿是控制“智能”——转入到软领域后,设计工程师就可以在更短时间内创建出更好、更智能、更廉价的产品。   这个变化意味着嵌入式软件开发人员是当今定义电子产品功能和特性的主要推动者,并且最终将把硬件生产出来。该方法的成功因素在于减少硬件复杂度和把设计的控制元素转变到可编程领域带来的开放灵活性。   今天,大容量、低成本可编程器件的到来给电子产品设计的发展
[嵌入式]
<font color='red'>嵌入式开发</font>人员要使用FPGA的原因
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved