(1.西安建筑科技大学 机电工程学院,陕西 西安710055;2.中国科学院 西安光学精密机器研究所,陕西 西安710119)
针对CMOS图像传感器输出的LVDS串行数据在传输过程中因数据无法对齐引起误码率升高,图像分辨率降落问题,提出一种基于现场可编程门阵列FPGA的CMOS相机实时数据处理研究方案。采取VHDL硬件措辞,对数据处理进行模块化设计,确保高速数据的精确采样,减少误码产生。经软件仿真及实测表明:该方案设计合理,系统运行稳定可靠,办理了高分辨率图像在高速传输中的数据校正问题,输出的图像轮廓清晰、无斑点。
CMOS图像传感器;FPGA;数据校正;高分辨率

中图分类号:TN919.3
文献标识码:A
DOI:10.16157/j.issn.0258-7998.2017.07.009
中文引用格式:侯絮絮,马松龄,孙晨,等. 基于FPGA的CMOS相机实时数据处理设计[J].电子技能运用,2017,43(7):36-39.
英文引用格式:Hou Xuxu,Ma Songling,Sun Chen,et al. Real-time data processing design of CMOS camera based on FPGA[J].Application of Electronic Technique,2017,43(7):36-39.
0 弁言
工业相机常用的图像传感器有CMOS及CCD[1-2]两种,CMOS图像传感器因其驱动灵巧、编程大略、功耗低、本钱低等上风已广泛运用到各种图像采集系统中[3-5]。由于高速传输中采集的图像数据量较大,易产生误码,若不及时校正,将严重影响图像质量,阻碍CMOS相机的遍及运用。
本次相机系统开拓采取CMV2000图像传感器,理论图像分辨率可达到2 048×1 088[6]。但开拓过程中创造,误码问题未得到很好地办理,致使成像模糊,图像最高分辨率仅为1 088×768,远不能知足高分辨率的技能哀求。
1 图像传输过程中存在的问题
相机掌握系统功能框图如图1所示。系统采取FPGA[7-9],外部晶振向FPGA输入时钟旗子暗记,均为固定频率,再转换成驱动CMV2000图像传感器、采集像素数据及格式编排的时钟,同时为各单元供应异步复位旗子暗记;RS422作为系统通讯协议,将收到的串行数据转换为并行旗子暗记发送给CMV2000的驱动单元[10];FPGA通过SPI接口对CMV2000进行自动曝光、采样模式、复位等事情参数配置。
由于传输的数据是经压缩算法去除了图像中大部分内在干系性的已编码数据,纵然相对轻微的误码,对解码图像数据也会有严重的影响。编码图像序列的一帧之内,若一个码字出错,将会对后面全体编码序列解码缺点,导致误码扩散。
CMV2000图像传感器输出的16通道数据及1通道输出时钟的相对位置并未完备对齐,若用时钟直接采样会涌现误码征象,致使数据传输缺点。基于CMV2000的相机是高速高分辨率相机,传输的数据速率高达480 Mb/s,传输过程中若数据校正问题没有得到办理必会引起误码概率增加。从相机开拓过程中创造,误码对实时传输的图像分辨率影响最大。图2(a)是数据传输缺点图例,图2(b)是截取其局部图像进行3:1放大,图中涌现许多白色的小雪花状斑点,而且各个楼层的棱角模糊不清,个中某楼层的右下角处图像不完全,如箭头所示。图像分辨率仅为:1 088×768。
因此,对16通道数据进行位和字的校正调度,将乱序数据及时校正是降落误码率、提高图像分辨率的基本保障,也是数据处理的核心内容。
2 数据处理单元设计
数据处理单元是驱动掌握系统的核心部分,在FPGA内部完成,紧张实现LVDS图像数据的串并转换、乱序数据之间的顺序调度、高速数据的乒乓缓存及Camera Link传输协议进行格式编码后发送4项功能。全体数据处理过程实现了图像数据的实时传输。
2.1 串并转换
数据在进行串并转换时,经时钟倍频后,在其低落沿开始采集数据。图像数据及同步数据存储时选用17个10位移位寄存器。当同步数据有效时,若16路并行图像数据也有效,则对其进行存储。图3是CMV2000一行数据的输出格式。每5个数据时钟周期中,FPGA吸收的16路10 bit数据并非顺序输出,务必加大数据排序和存储的难度。每10个时钟周期内,FPGA吸收到32路10 bit数据是连续的,可将连续的8个数据合并为1个数据后再进行数据存储。因此,仅需4个时钟周期就可以储存32个数据。由于数据传输芯片TLK2711须要吸收16 bit的并行数据,以是FPGA在存储数据前将每个数据高6位补0,并将8个16 bit数据合并成一个128 bit数据进行存储。若不补0或少补0,则会导致大量数据相继错位,数据传输缺点,严重影响输出图像质量。
2.2 位对齐和字对齐
常用的方法是利用有限状态机对数据位、字进行校正设计,但该方法代码冗长,过程中会产生大量剩余状态。若不及时处理,状态机可能进入不可预测的状态,会涌现短暂失落控;若对其进行处理又会耗用更多的逻辑资源;此外,在对时序进行仿真时,时钟有效边沿的输出端会产生许多毛刺;若加一个寄存器在输出端,虽可肃清毛刺担保输出旗子暗记的稳定性,但输出会延迟一个周期,可能导致误码概率增加。
从节省逻辑资源、减少毛刺、降落误码率方面考虑,本次设计舍弃状态机,利用FPGA自身性能,采取VHDL硬件措辞对每条通道中的乱序数据进行位、字校正调度编程设计。
数据校正流程如图4所示,在training模式下,经异步复位rstin后,数据全部清零(BitCunt<=0),进入眼图采样状态,要实现采样时钟恰好在眼图的中央位置,需通过FPGA的选型,对数据传输通道进行延时掌握;然后将输出的并行10位数据与上次吸收数据进行比较,若数据发生变革,则表明采样点不在眼图的中心肠位,记录此时的延迟拍数,找到延迟边缘的中间点即为最佳采样位置,将采样点移到眼图中间即完成位对齐。位对齐完成后,进入图像字对齐(Align_Image Bit),为确保每个通道在同一时钟沿上采集到第一个字节,在传感器training模式下,发送相应的演习字节,吸收模块解串后,通过旋转解串后的字节,让其与演习字节匹配,若采集到的10 bit字节与所期望的字节不匹配,则返回到Make_CtrlAlign操作,使掌握进程重新对齐,如此反复,直到并行数据与演习字匹配为止,从而实现字对齐。
2.3 乒乓缓存
该模块的设计是为得到传感器最快的输出模式,将CMV2000的输出模式配置成16通道,但Camera Link接口标准在Base配置模式下仅有8通道,因此将两路图像数据转换成一起图像数据。实现与Camera Link协议Base模式下8个PORT映射对接[11]。因此,本次设计利用XC6SLX150内部IP核创建2个容量为256×128 bit的双口RAM进行乒乓缓存;然后将读出的图像数据宽度设定为16 bit,读出时钟采取较高频率。这种在双RAM中同时进行写入和读取操作的方法提高了数据之间的存储速率。
2.4 格式编码
Camera Link协议中,其接口芯片同时吸收28 bit TTL/CMOS旗子暗记:24 bit数据旗子暗记、4 bit帧有效FVAL旗子暗记及行有效LVAL旗子暗记。FPGA仅吸收数据旗子暗记,因此,异步FIFO(First In First Out)要在掌握图像数据时序的同时,天生FVAL和LVAL两个同步掌握旗子暗记。当前较常用的FIFO器件很难知足系统哀求,本次采取VHDL硬件措辞设计了一种既供应数据缓存,又匹配Camera Link接口标准的异步FIFO。全体系统利用3个FIFO,分别用于帧号、行号及图像数据的储存。在发送的每行图像数据前加8 bit赞助数据后,按照规定的列数和行数有序地选择FIFO并读取数据。此外,在每行、每帧之间的空闲状态,向TLK2711发送一个16 bit空闲码,担保TLK2711发送端串行数据的同步。
3 试验结果
根据以上软件设计,结合硬件设计,采取ISE14.3软件中自带的在线逻辑剖析仪ChipScope,对本次设计进行板级图像数据和时序抓拍剖析,图5为读取一行的像素数据,依次读取0~7通道,ch_id为相应通道号。图6为通道6采样的详细数据读取,addr为相应的地址,个中高低位像素做了重置。由ChipScope捕捉的时序图可以看出,该系统成功采集到了经由数据处理后的图像数据。
为了验证本次设计数据处理后的成像效果,采取频率为48 MHz的主时钟,数据传输速率为480 Mb/s,图7(a)为数据校正后的图片,选取相同图像部分进行3:1放大后比拟创造,图7(b)中每幢楼层的棱角清晰,颜色分明,除此之外,楼层右下角可以清楚地看到几颗大树的树顶。整体图像无斑点、无缺点区域,图像质量明显提高,分辨率达到2 048×1 088。
4 结论
通过深入剖析图像数据传输过程中影响成像质量的缘故原由,采取VHDL硬件措辞,设计基于FPGA的数据处理程序,既充分利用FPGA内部逻辑资源,避免利用状态机处理数据校正时过度占用FPGA资源、产生大量毛刺和剩余状态问题,又能很好地办理误码问题。实验证明经由本数据处理环节后,数据传输中误码率降至5%,办理了高速传输过程中的数据校正问题,使终极显示到打算机上的图像质量高、无缺点区域,分辨率达到2 048×1 088,知足预期的技能哀求。
参考文献
[1] 孙波,王晓艳.CCD图像传感器和CMOS图像传感器的比较研究[J].信息通信,2015,156(12):35-36.
[2] 雷蕾.基于CCD与CMOS图像传感新技能的研究[J].科技创新导报,2014(14).
[3] 王晗,李翔,李忠敏,等.基于OV7670的图像采集与显示设计[J].中国科技信息,2013(11):90-91.
[4] 丁昊杰,刘敬彪,盛庆华.基于CMOS图像传感器的视频采集系统设计[J].当代电子技能,2012,35(14):178-181.
[5] 魏丽玲,朱平,石永亮.基于FPGA的图像采集与存储系统设计[J].电子技能运用.2015,41(11):67-69.
[6] CMOSIS.200 Megapixel Global shutter CMOS image sensor datasheet[J/0L].www.Cmosis.com/producta/product.detail/cmv2000,2013:1-44.
[7] 王征,何云丰,曹小涛,等.基于FPGA的大面阵CMOS相机高速率电子学系统设计[J].液晶与显示,2016,31(2):174-178.
[8] 李方宁,王延杰,张涛,等.基于AM41V4传感器的高清高速CMOS相机系统设计[J].液晶与显示,2015,30(3):492-498.
[9] 任伟,张彦军,白先民.基于LVDS的高速数据传输装置的设计[J].科学技能与工程,2012,12(29):7759-7763.
[10] 索义芳,高飞,孙磊.基于FPGA的差分RS422串行收发模块的设计实现[J].微打算机信息,2010,26(12):125-126.
[11] 王小艳,张会新,孙永生,等.Camera link协议和FPGA的数字旗子暗记源设计[J].国外电子元件,2008,16(7):59-61.