关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > S3C2440的camera接口特性及WinCE 下的驱动

S3C2440的camera接口特性及WinCE 下的驱动

作者:时间:2010-09-10来源:网络收藏

2 下的驱动开发
目前,我国市场上的CCD摄像头只有模拟视频输出,显然它不能和直接连接,硬件上需要增加一块解码芯片。解码芯片把CCD的模拟信号解码为BT.601/656 YUV4:2:2格式信号,这个信号和CAMIF信号是匹配的,因此解码芯片输出就可以直接连接到
。典型的解码芯片为SAA7113,接口电路如图2所示。

10b.jpg


如果想简化硬件电路和驱动代码,也可以根据需求向生产商定制CCD摄像头,要求生产商生产的CCD摄像头直接按照ITU-R BT.601/656格式输出视频信号。具有这种接口的CCD摄像头就可以直接和接口连接,接口电路如图3所示。

10c.jpg


两种情况的驱动代码开发过程基本上是相同的。区别是:前者需要S3C2440通过I2C总线对解码芯片SAA7113的相关寄存器进行配置,而后者则不需要。下面以前者为例介绍驱动的开发方法。
2.1 配置解码芯片SAA7113
SAA7113是NXP公司推出的视频解码系列芯片,在很多视频产品(如电视卡、MPEG2、MPEG4)中都有应用。SAA7113的主要作用是把输入模拟视频信号解码成标准的BT.656 YUV4:2:2数字信号,相当于一种A/D器件。它兼容全球各种视频标准,在我国应用时必须根据我国视频标准来配置内部寄存器。
对SAA7113配置需要通过I2C总线进行,分配S3C2440的GPIO的E15模拟I2C的SDA线,E14模拟I2C的SCL线。OEM商提供的原驱动是针对手机摄像头ov9650开发的,二者的配置原理和过程是相同的,但配置内容不同,输出图像的格式也不同。ov9650输出的图像是逐行扫描的,SAA7 113输出的图像则是隔行扫描的。由图1可知,CAMIF是逐帧输入的,所以必须把SAA3117的场同步信号VS作为CAMIF的帧同步信号CAMSYNC,输出图像是逐场保存的。配置内容为:
①复位SAA3117。
②模拟通道选择。
③配置亮度、色度、对比度、自动增益控制量。
④将RTSl引脚配置为场同步信号VS,将RTSO信号配置为行同步信号HREF,信号极性应分别与图1中CAMVSYNC和CAMHREF信号极性一致。
⑤配置图像宽度为720像素。
⑥配置帧图像高度为576像素,一帧图像分奇偶两场分时输出,每场图像高度为288像素。
⑦配置数据格式为BT.656 YCbCr 4:2:2 8位格式输出。注意,数据口的信号顺序为CB0 Y0 CR0 Y1 CBlY2…CR359 Y719。
⑧时钟采用24.576 MHz的独立时钟,此时LLC的频率为27 MHz,场频为50Hz,帧频为25 Hz。
2.2 为CAMlF分配DMA内存空间
因为S3C2440从camera接口采集到的视频数据是以DMA机制写到内存的,所以必须为C通道和P通道分别分配逻辑内存(即DMA缓冲区)。Win CE有两种分配DMA缓冲区的方法:使用CEDDK函数和使用winCE内核函数。建议使用CEDDK函数:

10d.jpg



关键词: S3C2440 camera WinCE 接口

评论


相关推荐

技术专区

关闭