Cameralink TO VGA转换器图像实时缩放的实现*

2021-12-30 05:36李瑞杰曾祥忠
传感器与微系统 2021年1期
关键词:视频信号时钟分辨率

李瑞杰, 曾祥忠

(西安邮电大学 电子工程学院,陕西 西安 710121)

0 引 言

Cameralink是工业相机中使用的标准接口,因其具有带宽高、传输速率高、通信协议简单的优点,在军工等行业得到越来越广泛的应用[1]。

目前,国内对Cameralink转换成VGA实时显示的研究也愈发成熟,但大都是在输入分辨率与显示分辨相同情况下。当输入分辨率高于标准VGA显示分辨率时,系统则不能正常显示。本文正是在上述背景下设计一种实现方法,可以将输入的高分辨Cameralink视频信号经过缩放操作后显示在标准VGA显示器上[2~4]。

本文设计系统采用PO—203相机,相机属军工级Mini-Cameralink数字高清相机,是专门针对军用或航空设计的数字相机。PO—203相机选用Base模式,输出为1 920×1 080×30 FPS的Cameralink视频信号,像素时钟频率为40 MHz(2 Tap)。设计系统采用模块化的设计思想,选用Altera公司的Cyclone IV系列芯片EP4CE55F23C6N芯片完成对视频信号的缩放、缓存等处理操作, 最终将输入的相机信号转换成分辨率为1 280×720×60 Hz的标准VGA格式信号进行显示。

1 Cameralink协议与VGA显示

1.1 Cameralink协议

Cameralink 协议是一个工业高速串口数据和连接标准, 由大型摄像头供应商和其它图像采集公司在2 000年10月联合推出的, 目的是简化图像采集接口, 方便高速图像传感器和采集系统的连接[5]。Cameralink总线兼有高速传输、抗干扰性强、低噪声、通用性强、可靠性高优点[6]。Cameralink接口选用Base工作模式,将视频信号时钟信号、帧同步信号、行同步信号、数据有效信号通过DS90CR287接口芯片,将数据7∶1的并串转换得到4组图像差分信号和1组时钟差分信号,通过Cameralink差分输出[7]。系统

信号经由Cameralink光缆传输至本设计系统的接口芯片DS90CR288,将数据恢复成28 bit的并行数据供系统进行处理。

1.2 VGA显示

选用ADV7123芯片作为视频的A/D转换器,此次设计只用到了芯片的高8位。经过ADV7123转换后的3路模拟数据结合帧同步信号、行同步信号,同时传输到VGA显示屏[8]。

根据VESA的时序标准,不同分辨率对应不同的时序标准,其区别主要是工作时钟、有效行场像素周期数。所设计的系统选用显示分辨率为1 280×720×60 Hz,行频为45 kHz,场频为60 Hz,像素工作时钟为74.25 MHz,采用现场可编程门阵列(field programmable gate array,FPGA)核心板的PLL锁相环对50 MHz时钟倍频得到工作时钟74.25 MHz。

当将低分辨率的视频信号显示到高分辨率时,在VGA时序中添加使能信号,在使能信号为高时传输视频数据,使能信号为低时将数据置为0。在显示屏上开一个与视频经过缩放处理后同等大小的窗显示实时图像。

2 系统实现

2.1 总体设计

系统设计包含4个主要模块:信号采集模块、数据缩放模块、数据缓存模块,以及VGA 信号产生与输出模块。系统的总体设计框图如图1所示。

图1 总体设计框图

2.2 信号采集模块

DS90CR288A芯片将接收的5路LVDS信号解码成28位的数据信号,包括帧有效信号(iFVAL)、数据有效信号(iDVAL)、行有效信号(iLVAL)以及24位视频信号,其中数据信号中RGB三色信号各8位。FPGA时钟的上升沿检测到帧信号时,判断一帧数据的到来,此时检测到数据有效位为高时,开始接收视频信号。将接收的视频信号发送给数据缩放模块[9]。

2.3 数据缩放模块

PO—203相机输出图像格式为1920×1 080×30 FPS的Cameralink信号,通过缩放模块输出1 280×720×60 Hz的VGA信号,实现图像的实时缩放显示。采用最邻近插值算法,是一种最简单、最快速的插值方式[10]。本文方法不仅不会使图像发生变形,而且节省了资源,使图像在传输的过程中不会存在延时。相机输出的Cameralink信号时序图,如图2所示。

图2 Cameralink时序

将输入视频信号根据时钟频率最邻近取样,即可实现每行像素的间隔取样,获得1 024个点;添加行有效标志信号(in_LVAL),当in_LVAL=1时行数据有效,实现隔行有效取值[11]。其中行计数器采用LVAL的上升沿作为触发条件开始计数,使in_LVAL实现在0和1之间切换。X_CONT用做每行像素的计数器,每行共有2 200个像素值,系统选择有效区域列大小为1 920个像素值,每3个像素点选取其中的2个像素点作为有效像素点,即可获得每行的1 280个像素值;同理,总行数为1 125,有效区域选择1 080,每3行取2行作为有效像素值,取值会取到720行。将缩放后的1 280×720大小的图像存到SDRAM中。iFVAL帧信号产生FSYNC标志信号作为SDRAM一帧信号开始写入的标志位。有效区域产生有效信号DVAL作为写入FIFO的写请求标志信号。 其中列取值的数据有效标志信号DVAL_x通过计数器cnt来赋值,工作时钟为数据输入时钟,当cnt值为0和1时数据有效标志信号DVAL_x为1,否则为0,同理行的输入时钟通过行的有效标志信号DVAL_y进行选取,其中列的有效标志信号赋值程序如下:

reg DVAL_x;

always @(posedge iCLK or negedge iRST_n)

begin

if(!iRST_n)

DVAL<=0;

else if(cnt<=1)

DVAL<=1;

else

DVAL<=0;

end

在行(DVAL_y)列(DVAL_x)有效信号同时为高的情况下,将有效数据写入异步FIFO中,实现一帧数据的采集。

2.4 图像缓存模块

视频缓存控制主要由视频图像采集器、地址发生器和乒乓缓冲控制器组成[12]。采用一片MICRON 公司的MT48LC8M32B2(8M×32 Bits)型号、容量为256MB的SDRAM,MT48LC8M32B2 工作电压为3.3 V, 并且采用同步接口方式, 与系统时钟同步运行。它含有32位数据总线,4个组(bank),每个组的行地址数是12 位, 列地址数是8位, 每组的32 MB的存储架构是4 096行×256列×32 bit[13]。

由于输入的数据与SDRAM工作时钟频率不相同, 因此系统采用在SDRAM前后加入异步FIFO实现乒乓缓存机制。首先将接收到的图像数据缓存到FIFO1中, 写满数据后SDRAM开始读取FIFO1中的数据, 同时开始写FIFO2;FIFO2写满后,SDRAM从中读取数据,同时数据写入FIFO1中,如此循环往复实现乒乓缓存操作[14]。读写切换可以由FIFO的wrfull信号来控制, 将图像缓存到一片SDRAM 中, 便于后续的处理。而在读取图像有效时同样利用乒乓操作,进行缓存RGB信号提取[15]。

通过PLL对50 MHz系统晶振倍频得到XGA信号的时钟频率为65 MHz和SDRAM的工作时钟166 MHz。在规定时钟频率下将有效图像信号在SDRAM中进行缓存,最大限度地保证在写入以及读取图像信号时保证数据毫无失真。系统工作框图如图3所示。

图3 系统工作框图

2.5 测试结果及评定

本系统实现了基于FPGA的高分辨率Camaralink信号经缩放操作后显示到传统的VGA接口显示器,并可以进行彩色与黑白图像信号的相互切换,实现Cameralink的高速稳定信号的传输,满足设计要求场所实际需求。

图4 测试结果

3 结 论

本文设计的图像实时缩放显示系统,解决了现有转换系统不能将高分辨率图像与VGA分辨率匹配显示的问题,实现了将相机输出的高分辨率Cameralink信号经转换系统缩放操作后,视频信号显示在VGA显示器上。本设计系统不仅保证了Cameralink高速稳定的特点,而且可以实现各种Cameralink视频信号分辨率的缩放操作,并已在实际场所使用并进行反复改进。

猜你喜欢
视频信号时钟分辨率
别样的“时钟”
古代的时钟
EM算法的参数分辨率
原生VS最大那些混淆视听的“分辨率”概念
浅析新一代视频信号ICtCp
短距视频信号无线通信网络
基于深度特征学习的图像超分辨率重建
一种改进的基于边缘加强超分辨率算法
有趣的时钟
时钟会开“花”