嵌入式机载视频输出接口设计
2.3 寄存器配置
在完成对CH7024的硬件电路设计后,需要在软件上对相应的寄存器进行配置,在CH7024.C驱动程序中将相应寄存器地址后面的值进行配置,如视频输入格式、输出格式、分辨率大小等。CH7024寄存器的初始化相关程序代码如下:
2.4 驱动程序编译加载
由于应用环境是在Linux操作系统下,开发板中用的是Linux 2.6.19内核,在内核中并没有CH7024相关的驱动模块,这就需要把编写好的驱动程序加载到内核中,生成需要的模块形式,重新编译内核,下载到开发板上。
向内核中添加TVOUT CH7024驱动的流程如下:
(1)选择一个放置驱动代码的位置:drivers/video/mxc/把代码放到这个目录中。
(2)在drivers/video/mxc/添加Kconfig文件,内容如下:
(3)编写makefile,内容为:
(4)修改上一级Makefile和Kconfig,即video目录下的Makefile和Kconfig,在Makefile中添加:
(5)在arch/arm的Kconfig中添加:
至此,修改完毕。此时可以使用make menuconfig。出现内核配置的窗口如图5所示。
选择device drivers→graphics support可以看到,出现了TVOUT CH7024 driver support→选项,进入选择“M”,即将驱动程序编译成动态加载模块,然后通过“make modules”命令生成了CH7024.ko文件。将CH7024编码器的输入端连接到PC机,输出端连接到监视器上,上电后,将生成的模块文件由超级终端下载到开发板上,在终端中用insmod CH7024.ko加载驱动。CH7024.ko驱动加载时,会通过I2C读CH7024的寄存器信息,并打印它的ID号“Chip version ID(0x22)=0x22”,如果等式右边的值与左边括号里的值不等,则说明I2C有问题,或者没有加载其驱动,TVOUT则不能正常工作。在I2C正确的情况下,加载相关视频采集驱动程序,通过CCD摄像头采集到的视频就能在监视器上看到。
3 结果分析
在实验中该方案能够通过摄像头采集视频数据,并能在监视器上实时看到采集的视频图像。由于输入接口设计成了接收不同格式的视频信号,使其能够接收多种格式的视频信号,编码器不用更改硬件,只需要在软件方面做相应的修改就能实现不同格式视频的接收。
4 结语
通过对视频编码芯片的软硬件设计,使CH7024芯片能够接收多种格式的视频信号,由于CVBS信号传输距离远,抗干扰性强,将不同格式的视频信号转换成CVBS复合视频信号。随着技术的发展,处理器芯片的输出视频数据为24位,该设计的编码器也能应用,节省设计成本,缩短开发周期,具有一定的实用性。
- μC/OS-II下通用驱动框架的设计与实现(07-23)
- 基于S3C44B0X+μcLinux的嵌入式以太网设计(07-08)
- 基于DSP Builder的VGA接口设计(04-10)
- 基于DSP的嵌入式显微图像处理系统的设计(06-28)
- DSP和Flash接口技术的实现(08-15)
- dsPIC33F系列DSC的 SD存储卡接口设计(01-05)