针对DAVINCI DM6446平台,网络上也有很多网友写了V4L2的驱动,但只是解析Montavista
linux-2.6.10 V4L2的原理、结构和函数,深度不够。本文决定把Montavista 的
Linux-2.6.18 V4L2好好分析一下,顺便讲解在产品中的应用,满足一些客户提出要求,毕竟V4L2是LINUX一个很重要的视频驱动,适合很多嵌入式芯片平台。本文首先讲解DM6446 DAVINCI视频处理技术的硬件工作原理,然后讲解DM6446 V4L2采集驱动和输出驱动,然后对TI DVSDK2.0里边提供的V4L2的例子进行详细讲解,怎样和驱动配合起来。
第一节 DAVINCI视频处理硬件
有关DM6446 DAVINCI视频处理技术,有两个文档:VPFE sprue38ec.pdf和VPBE sprue37c.pdf,必须要看看的。下图是DAVINCI视频处理技术的框图,VPSS(视频处理子系统)包含VPFE和VPBE,VPFE负责前端视频采集和处理,而VPBE负责后端视频输出,通过OSD和VECN直接输出到DACS(数字转模拟输出口,一共4个通道DAC,通过外围视频编码芯片转换成复合视频CVBS输出到普通电视