您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 基于CameraLink的实时显示技术研究
基于CameraLink的实时显示技术研究摘要:由于目前基于CameraLink接口的各种相机都不能直接显示,因此本文基于Xilinx公司的Spartan3系列FPGAXC3S1000-6FG456I设计了一套实时显示系统,该系统可以在不通过系统机的情况下,完成对相机CameraLink信号的接收、缓存、读取并显示系统采用两片SDRAM作为帧缓存,将输入的CameraLink信号转换成帧频为75Hz,分辨率为1024×768的XGA格式信号,并采用ADV7123JST芯片实现数模转换,将芯片输出的信号送到VGA接口,通过VGA显示器显示出来设计的系统可以应用于各种基于CameraLink接口的相机输出信号的实时显示关键词:CameraLink;FPGA;SDRAM控制器;实时显示引言目前基于CameraLink接口的各种相机都不能直接显示,只能通过专用采集卡连接到系统机上在系统机的屏幕上显示,系统比较庞大,使用不方便;或者通过自行研制的专用采集显示接口显示,通用性比较差为了实现基于CameraLink接口的CCD相机输出信号的实时显示,就需要设计一套实时显示系统,在不通过系统机的情况下完成对相机信号的接收、缓存、读取并显示本文设计的实时显示系统通过DS90CR288芯片接收CCD相机输出的CamerLink信号,基于Xilinx公司的Spartan3系列FPGAXC3S1000-6FG456I完成显示控制器的设计,以两片SDRAM作为缓存,最终将输入的相机信号转换成分辨率为1024×768,帧频为75Hz的标准VGA格式信号,并通过ADV7123JST数模转换芯片接收,将信号送到VGA接口,由VGA显示器显示出来1实时显示系统总体设计系统设计包含三个主要的模块:输入信号接收模块,数据缓存模块,以及VGA信号产生与输出模块这三部分都需要通过FPGA的控制才能实现各自的功能,FPGA的控制程序可以通过JTAG下载线下载到Xilinx的PROMXCF04S中,系统上电时由PROM对FPGA进行配置,这样就可以在不通过系统机的情况下完成相机信号的实时显示系统的总体设计框图如图1所示CCD相机输出的信号经由CameraLink线缆连接到MDR26插座上,根据CameraLink接口协议规范,Base型配置需要一片DS90CR288A芯片来接收相机信号,芯片输出28路数据和1路时钟信号,28路数据中包括帧有效信号FVAL,行有效信号LVAL,数据有效信号DVAL以及24路图像数据信号DS90LV049芯片用来发送相机同步信号等其它控制信号FPGA在输入的行、场信号都有效时,在输入像素时钟的同步下,接收图像数据,并送到SDRAM中缓存当SDRAM1中缓存满了一帧图像数据后,开始读取数据,读SDRAM1时写SDRAM2当SDRAM2中写满一帧图像数据后,控制器对两个SDRAM进行读写切换,读SDRAM2时写SDRAM1由于读取速度大于写入速度,因此不会丢失数据读出的RGB信号经过D/A转换后,将数据转换成模拟信号,配合FPGA产生的行、场同步信号可以使其在VGA显示器上显示外部晶振对FPGA输入27MHz的时钟,在内部经过倍频产生81MHz的主时钟,用来对两片SDRAM进行读写控制和用来产生符合VGA格式的行、场同步信号2CameraLink输入部分设计CameraLink协议是一个工业高速串口数据和连接标准,它是由摄像头供应商和其它图像采集公司在2000年10月联合推出的,目的是简化图像采集接口,方便高速图像传感器和采集系统的连接CameraLink硬件结构分为三类:基础结构(Base)、中间结构(Medium)和完全结构(Full)根据CameraLink的硬件结构分析,在系统输入端选用一个MDR26连接器构建CameraLink的Base结构,即可用来接收相机输出的串行数据信号对于接收到的LVDS(低摆幅差分信号)串行信号,需要转换成并行数据流,这就需要用到CameraLink接收器CameraLink接收器接收LVDS数据流并将其解串成CMOS/TTL数据由于MDR26连接器接收相机信号后将LVDS串行数据流作为系统输入信号,因此本系统中选用美国国家半导体公司的ChannelLink芯片DS90CR288作为CameraLink接收器图2所示为该芯片的工作原理从图2可以看出,28bit并行数据经DS90CR287转换为4路LVDS串行数据流,同时在第5组LVDS链路上将时钟信号发送出去这些数据流经过CameraLink电缆传输,当DS90CR288接收到LVDS数据流后,将其解串恢复成28bit的并行数据输出进行后续处理[newpage]3SDRAM控制器设计本设计采用两片MICRON公司的MT48LC4M32B2型号、容量为128Mb的SDRAM,MT48LC4M32B2采用86引脚的TSOP封装,工作电压为3.3V,并且采用同步接口方式,与系统时钟同步运行它含有32位数据总线,4个组(bank),每个组的行地址数是12位,列地址数是8位,每组的32Mb的存储架构是4096行×256列×32bit它的主要引脚有A0~A11(地址输入引脚)、DQ0~DQ31(数据输入输出引脚)、CLK、CKE、/CS(芯片选择)、/RAS(行地址选择)、/CAS(列地址选择)、/WE(写使能)、BA0~BA1(Bank地址输入信号引脚)、DQM、VSS、VDD等引脚由于输入的图像数据量很大,速率较快,因此系统采用两片SDRAM实现乒乓缓存机制首先将接收到的图像数据缓存到SDRAM中,写满一帧数据后开始读取,在写SDRAM2时对SDRAM1进行读操作,而在写SDRAM1时对SDRAM2进行读操作读写切换可以由帧有效信号FVAL来控制,将一帧完整的图像缓存到一片SDRAM中,便于后续的处理图3为SDRAM控制器部分的设计框图DS90CR288输出的并行数据CAM_D以及时钟信号RXCLK分别输入到两个输入FIFO中,而FVAL、LVAL、DVAL等控制信号则分别输入到两个读写控制器中,由读写控制器产生输入FIFO和输出FIFO的读写使能信号两路SDRAM的切换由FVAL产生的flagaorb信号来选择FIFO_IN的数据宽度为24位,与CAM_D相匹配,缓存一行图像的数据后在SDRAM控制器的控制下将其写入到SDRAM中,由SDRAM控制器向SDRAM发送读、写和刷新等命令以及相应的读、写地址,SDRAM控制器还要负责将从SDRAM中读出的数据写入到FIFO_OUT中最后,两路FIFO_OUT的输出数据分别在各自的读使能信号控制下,将输出信号赋值给RGB_BUF作为RGB解码芯片的输入数据4VGA显示接口设计设计选择美国AD公司的ADV7123作为视频D/A转换器ADV7123是三路高速、10位输入的视频D/A转换器,具有330MHz的最大采样速度,与多种高精度的显示系统兼容,能够满足多方面应用需求通过ADV7123产生三路模拟输出,同时结合行场同步信号完成图像的显示如果要把缓存在SDRAM中的图像在VGA接口显示器显示,我们需要构造扫描时序设计需要满足XGA75Hz格式的输出图像,即1,024×768的有效像素分辨率,帧频75Hz,行频60kHz,由于晶振输入27MHz时钟信号,对其倍频后产生81MHz的像素时钟因此,行周期=81MHz÷60kHz=1,350,帧周期=60kHz÷75Hz=800,行消隐=1,350-1,024=326,帧消隐=800-768=32场同步、行同步信号可以由FPGA构建选取倍频后产生的81MHz作为像素时钟输入,将其输入到模等于HP(=1350)的像素脉冲计数器中,当脉冲计数小于HB=326时输出低电平,其它输出高电平,以此作为行同步信号Hsys;然后以Hsys行节拍为单位进行计数,当计数值小于VB=32时输出低电平,其它输出高电平,当计数值等于VP(=800)个行同步信号后,计数器清零,以此作为场同步信号Vsys图4为行场同步信号时序图5功能验证系统设计完成后采用一段通用CCD信号产生器模块的输出作为系统输入,以测试系统的正确性该模块产生从黑到白的灰度图像,没有无效像素和无效行,输出有LVAL和FVAL作为行、场数据有效信号,模块输出数据宽度为12位在设计的FPGA控制程序中加入该通用CCD信号产生器模块,编译通过后下载到板卡的FPGA中,可以在VGA显示器屏幕上看到从左到右动态变化的从黑到白的灰度图像,说明设计的系统确实正确实现了要求的功能通过Chipscope软件观察内部信号波形,也可以看出输出到ADV7123的RGB_BUF信号是在递增变化的采用一块产生模拟CCD相机输出的板卡作为系统输入,验证系统在实际工程上的应用模拟相机输出的板卡可以输出分辨率为1,024×1,024,从上到下由黑变白的灰度图像,以及从左到右由白变黑的灰度图像,同时板卡也输出FVAL、LVAL、DVAL等控制信号由于输出图像分辨率为1,024×768,因此输出时只能截取输入图像的上半部分将板卡的输出通过CameraLink专用连接线缆接入我们设计的系统,输入部分设置为DS90CR288芯片的输出信号CAM_D,编译通过后下载到板卡上的FPGA中,可以在VGA显示器上看到对应的灰度图像,在Chipscope软件的Waveform窗口中也可以看到输出信号在累加变化,说明设计的系统符合实际应用要求在调试期间为了方便,将编译VHDL代码后生成的bit文件下载到板卡上的FPGA中,调试完成后可以把编译后的mcs文件下载到板卡上与FPGA相连的PROMXCF04S中这样在板卡上电后即由PROM对FPGA进行配置,无需系统机的干预由于设计的显示分辨率为1,024×768,当输入图像的大小超过设计尺寸时,就会截取原始图像可以通过增大VGA输出分辨率,来包含更多的图像内容也可以在计数时调整初始计数行和列的值,从需要观看的图像位置开始显示,这样可以看到原始图像中的一部分6总结本文设计的图像实时显示系统实现了将输入的相机CameraLink信号接收、缓存、读取并显示的功能信号输入模块,数据缓存模块,以及VGA信号产生与输出模块在FPGA的控制下相互配合以完成上述的功能设计的系统原则上可以应用于各种基于CameraLink接口的相机输出信号的实时显示参考文献[1]SpecificationsoftheCameraLinkInterfaceStandardforDigitalCamerasandGrabbers.[2]宋燕星袁峰丁振良曹志文.LVDS技术在高速多通道图像采集系统中的应用[EB/OL].中国视觉网.[3]杨海涛苏涛巫蠓.基于FPGA的SDRAM控制器的设计和实现[J].电子科技2007(1):8-12.[4]朱耀东张焕春经亚枝.基于FPGA的一种高速图形帧存设计[J].电子技术应用2003(2):72-74.[5]张文爱张博程永强.基于FPGA的高分辨率VGA显示控制器的设计[J].现代显示(67):55-58.[6]邓春健王琦徐秀知冯永茂郑喜凤.基于FPGA和ADV7123的VGA显示接口的设计和应用
本文标题:基于CameraLink的实时显示技术研究
链接地址:https://www.777doc.com/doc-2568807 .html