ICX618AL/AQ V5.0电路上的CVBS功能采用PHILIPS公司生产的SAA7121H型视频编码芯片来实现。国产替代产品为成都国腾电子的GM7121N。
SAA7121支持NTSC/PAL编码输出,本设计主要实现了NTSC视频显示功能。
NTSC即我们通常所说的美规彩色电视标准,由美国国家电视标准委员会制定。NTSC规定全屏图像的每一帧有525条扫描线,60场。标准分辨率为720*480。
设计中SAA7121采用BT656标准视频数据流,采用27M的速度向SAA7121中推送视频信息和同步信息。
由于SAA7121芯片工作原理是将隔行输入的BT656格式的视频图像数据,转换为CVBS复合视频输出,即AV输出。而ICX618 型ccd输出方式为逐行扫描输出。二者在扫描方式上不兼容。考虑到符合视频CVBS本身分辨率较低,不具有太大的实用价值,只是作为一种辅助的视频显示方式。所以设计中将CCD输出的当前帧逐行数据,直接赋给SAA7121的奇偶场,也就是说,SAA7121的奇数场图像数据=偶数场数据=CCD的逐行数据。这样的设计在程序的操作上会简便很多,不必考虑对逐行数据的奇偶场数据的拆分,但是缺点就是分辨率降低。
而又因为CCD工作在25MHz的读出速度,而CVBS芯片的数据输入时钟是27M,为了实现跨时钟域的数据传送,就必须要有存储器,存储一帧逐行数据。但是我的板子没有预留外部大容量存储器,只好考虑采用FPGA自身内部的内存。算来算去,也只能缓存128*128大小的图像数据。而原始数据时640*480的,CVBS需要720*480,需要将CCD输出图像进行开窗128*128的大小,然后显示在CVBS上。
经过调试,设计分辨实现了CVBS显示彩条,CVBS显示灰度条,CVBS显示128*128窗口图像。
下面是采用USB口,预先采集到的目标影像,随后的CVBS将抽取目标区域中心128*128的数据进行显示输出。
下面是相机连接视频电缆到监视器实时显示图像的系统连接
CVBS实时显示效果