DM368 视频前端信号采集详解
摘要
本文详细介绍了DM368 视频前端支持的输入数字信号格式。并以MT9D131 和PC VGA 信号为例,将两者的时序和 DM368 视频前端配置参数一一匹配。同时介绍了如何合理配置和使用 VD 中断,为 DM368 用户正确采集数据提供了参考。本文内容也可以给 DM8127、DM385 芯片的用户在使用视频摄像并行输入口采集时提供帮助。
1 前言
DM368 是TI 达芬奇系列芯片中的一颗,被广泛的使用在IPNC(IP net camera 网络摄像机)的应用领域里。对于IPNC 应用,首先就需要将视频信号送入DM368 里面,这就需要使用到DM368 的视频前端(VPFE - Video Processing Front End)。DM368 的视频前端主要包含了IPIPEIF(Image Pipe Interface 图像管道接口),ISIF(Image Signal Interface 图像信号接口),IPIPE (Image Pipe 图像管道),Resizer(缩放器)四个部分。
IPIPEIF 功能是数据通路连接,以及把数据整合成后端模块接口可以接入的格式/大小。ISIF 是视频信号的输入口,可以支持Bayer 格式的RAW 数据(原始数据)或者是YUV 的数据的输入。IPIPE 主要是做ISP 的处理。Resizer 起到了对图像缩放和图像存储格式转换的作用。本文是基于IPIPEIF 将外部并口输入数据送入ISIF 处理的基础上展开讨论。
图 1. 视频处理前端
如何将输入信号和DM368 视频前端参数一一对应?如何获取外部的RAW 数据以及RAW 转换成的对应的YUV 数据?如何只采集或者处理图像中的一部分区域?如何配置VD 中断触发的时机?在VD 中断里面我们应该处理什么?希望在阅读完本文后,你可以找到相应的答案。
2 DM368 的前端信号输入
如果用户外接传感器(sensor)输出RAW 数据或者YUV 数据到DM368,为了采集到正确的数据,我们需要了解DM368 的视频前端是如何解读信号,以获得正确的数据。如果用户使用的是FPGA 输出信号到DM368,那就更需要了解DM368 视频前端支持的信号格式,正确输出DM368可以接收的信号。
2.1 输入信号的物理连接
DM368 视频前端支持并口的信号输入,包括PCLK(像素时钟),8 到16 位数据线,HD(行同步)信号,VD(场同步)信号。可以支持最多16 位的Bayer 格式的RAW 数据输入。也可以支持内嵌同步或者外部信号同步的8 位或者16 位的YUV422 信号输入。如果是内嵌同步,则不需要接入HD 信号和VD 信号。对于输入内嵌同步的信号,DM368 硬件可以自动解析出数据上嵌入的同步信息给芯片内部使用。DM368 的PCLK 最高可支持120MHz,可以支持720p60、 1080p30 等分辨率的输入,也可以支持较大分辨率,例如五百万、八百万等分辨率,但帧率是非实时(小于30 帧)的。
DM368 的视频前端ISIF 可以支持master(主) 模式或者slave (从)模式。所谓master 模式就是PCLK、VD 和HD 由DM368 向外发出。而slave 模式是外部设备提供PCLK、VD 和HD 信号给DM368。在实际的应用里面绝大部分的情况都使用采slave 模式。
2.2 DM368 视频前端对输入信号的解析
2.2.1 ISIF 对信号的解析
无论是master 模式还是slave 模式,DM368 的视频前端接口ISIF 对于信号的处理是一样的。
图 2. 帧图像格式
图2 的时序通常认为水平同步和垂直同步信号都为高电平有效,需要配置ISIF 的MODESET. HDPOL=MODESET.VDPOL=0。在这种情况下,水平同步信号宽度为HDW (HD pulse width),以像素为单位。垂直同步信号宽度为 VDW (VD pulse width) ,以行数为单位。 PLLN(Pixels per line)是每行的像素个数,也就是相邻两个行同步信号间的像素个数。LPFR 是Lines per frame 的缩写,表示每帧数据有多少行,也是相邻两个场同步信号之间的行数。在slave 模式下,PLCK/HD/VD 都是外部输入的,ISIF 寄存器HDW/VDW/PLLN 是不需要配置的。图2 中的灰色区域我们叫做有效数据区域,也就是用户希望获得的有效数据。而斜线阴影区域就是消隐区域。消隐区域在视频前端处理中也是必不可少的部分,关于这点我们会在第3 节详细介绍。
如果你使用的是单次(one shot)模式,或者在连续(continuous)模式下,你需要保存RAW 数据,那你就需要配置 SPH( Start pixel horizontal 水平方向起始像素),SLV0/1 (Start line vertical - field 0/1 垂直方向奇偶场起始行),LNH( Number of pixels in line 每行像素个数),LNV (Number of lines vertical 垂直方向行数)。这是为了告诉DM368 你需要把输入的图像的哪部分写到DDR。也就是说你可以选择只输出有效数据里面的某一部分到DDR。
SPH 告诉硬件在同步信号有效以后从哪个像素开始写入DDR。请注意这里的HD 信号有效起始点是指同步信号有效的沿,不是从同步信号
- 基于DM368的视频捕获与编解码系统设计(09-12)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)