APP下载

基于FPGA的自准直系统数据处理技术

2017-02-18周志炜王元伟

传感器与微系统 2017年2期
关键词:圆心时序边缘

王 晔, 周志炜, 王元伟

(中国电子科技集团公司 第四十九研究所,黑龙江 哈尔滨 150001)

基于FPGA的自准直系统数据处理技术

王 晔, 周志炜, 王元伟

(中国电子科技集团公司 第四十九研究所,黑龙江 哈尔滨 150001)

提出一种基于现场可编程门阵列(FPGA)的CCD自准直测角系统。以FPGA作为系统处理核心;以自适应调节模块为CCD驱动发生器提供准确的波形时序;采用边缘检测算法获得图像的像元级边界;通过最小二乘拟合算法计算得到光斑圆心位置;利用VHDL语言以及MAX+ plusII软件完成了系统设计。系统测试和实验表明:所设计的片上系统具有高精度、高集成度的特点。

CCD; 现场可编程门阵列; 亚像元细分; 边缘检测; 片上系统

0 引 言

光电自准直仪被广泛应用于角度测量、导轨的平直度和平行度测量、台面的平整度测量、精密定位、自动角度定位环集成等方面,是机械制造、造船、航空航天、计量测试、科学研究等部门必备的常规测量仪器。特别是在精密、超精密定位方面,有着不可替代的作用。

如今,对光学自准直系统的动态测试性能要求越来越高,尤其是响应速度和精度等,是衡量整套系统性能高低的最重要的指标。与此同时,为适应不同使用环境的需求,光学自准直仪系统也必然要向高集成度和小尺寸化方向发展[1]。

本文提出了一种基于现场可编程门阵列(FPGA)的自准直测角系统,使用VHDL语言对系统硬件进行了行为描述,针对Altera公司Cyclone II系列的可编程逻辑器件EP2C70进行综合、优化、编程。在一片FPGA上得以实现了CCD时序驱动、光积分时间自动调节、亚像元边缘检测以及光斑圆心拟合算法等功能,为CCD自准直测量系统提供高速、精确以及并行处理数据的能力。在此基础上,使自准直系统具有高速、高集成、高精度,高可靠性等特点。

1 CCD光电自准直测量原理

沿自准直光学系统主光轴出射的平行光经平面镜反射后成像于CCD靶面。若平面镜垂直于主光轴,则反射光线按原路返回,此时CCD靶面上对应的像点圆心标定为系统电零位;当平面反射镜法线方向与准直光学系统的主光轴所成为θ时,则反射光线经准直物镜后与主光轴成2θ夹角,该光线在CCD靶面上所成像点中心与系统电零位的偏移量为ΔL,如图1所示。

图1 自准直测量原理

根据几何光学的基本原理可以得出

ΔL=f′tan2θ

(1)

式中f′为准直光学系统的像方焦距,当θ很小时,式(1)

可化简为

ΔL=2θf′

(2)

此时,像点相对于电零位的偏移量为ΔL,其对应的平面镜法线与主光轴的夹角θ为

(3)

由此可见,只要精确的提取反射光线像点中心的位置,即可获得平面镜法线方向相对与准直光学系统主光轴的夹角。

2 基于FPGA的系统组成与实现

系统采用模块化设计,设计出一个小型片上系统。整个系统由4个重要模块组成:光积分时间自适应调节模块、线阵CCD驱动时序发生器模块、像素检测模块以及圆心拟合算法模块。

其中,驱动时序发生器控制CCD图像传感器的各路时序信号,使之能够正常工作;光积分时间自适应调节模块则根据CCD的输出信号幅值,自动调节时序信号序列;像素检测模块和圆心拟合算法模块对数据进行处理及优化,最终得到符合精度要求的角度数据。系统功能结构如图2所示。

图2 系统功能框图

硬件上,本文使用的FPGA器件EP2C70拥有68 416个逻辑单元,1.1Mbit的嵌入存储器、支持从4 608~68 416LE的集成度;包含内部嵌入式乘法器,支持DSP运算:先进的I/O,支持PCI,DDR和DDR2等多种接口;全局时钟管理及嵌入式锁相环;支持AlteraIPCore及NiosII嵌入式处理器。

2.1 光积分时间自适应调节模块

为保证自准直角度测量的精度,CCD的输出信号在不失真的前提下应具有较高的信噪比。而对于光积分时间固定的CCD,光照强度过强可能导致其输出信号严重失真[2];光照过弱,则输出信号幅度过小,信噪比较低。本模块的主要功能是根据CCD输出信号幅值自动调节光积分时间,并调节驱动时序发生器,使其提供满足各项时序要求的驱动脉冲序列,从而对输出信号的信噪比进行优化。

光积分时间的控制是建立在线性范围内,且光照强度为定值的情况下,CCD光积分时间和输出信号幅值成正比,这一特性的基础之上的。当CCD高速工作时,通常入射光强的变化速率相对于CCD的工作频率可视为较缓慢的连续变化,所以可对这一变化进行积分处理,完成对光积分时间的估算。

CCD所需的各路信号均通过控制光积分时间,对输入时钟进行计数、分频等手段来产生。当系统计数器的值达到光积分时间后,各路信号复位并接收新的积分时间,开始产生新的一帧信号,程序流程图如图3所示。

图3 光积分时间自适应模块程序流程图

2.2 CCD驱动时序发生器

本文采用的TCDl501D是一种高灵敏度、低暗电流、内置采样保持的5 000像元线阵CCD图像传感器。其正常工作需要使用6路驱动信号,包括转移脉冲SH、复位脉冲RS、钳位脉冲CP、采样保持脉冲SP及移位脉冲Φ1,Φ2等,在这些驱动信号的驱动下,CCD才能正常工作。

FPGA芯片在外部晶振的作用下,持续稳定的输出驱动信号,经过电平转换电路后,送入到TCDl501D的相应接口中。在其正常工作后,系统对其输出的模拟信号进行A/D转换,通过FIFO模块传送到FPGA中进行存储和处理。其程序流程图如图4所示。

图4 CCD驱动程序流程图

转移脉冲SH的一个周期应自行设定的N个空操作信号,空操作的个数自行设定,由其决定光积分的时间,即CCD输出信号的大小。周期越长,CCD像元积累电荷越多,信号越强,因此,在照度高时,可以将其周期设置稍短;反之,周期设长[3]。

2.3 像素边缘检测

为了进一步提高激光CCD自准直仪的定位精度,兼顾定位算法的实时性,本文采用多项式插值亚像素边缘定位算法,对图像边缘进行快速像素边缘检测[4]。

(4)

(5)

令dØ(x)/dx=0和dØ(y)/dy=0,经推导求得边缘点(Xi,Yi)的亚像素位置(XJ,YJ)为

(6)

根据误差理论可得该算法的边缘定位精度,计算可得X和Y方向上的定位偏差dXJ和dYJ为

(7)

2.4 光斑圆心拟合算法

经过像素边缘检测,可以得到位于轮廓上的n个像素点,接下来需要在此基础上,精确定位出圆心位置。本文采用的光斑圆心算法根据最小二乘原理(残差平方和最小),用圆来逼近激光光斑轮廓实现拟合[6]。

圆的方程为

(x+a)2+(y-b)2=r2

(8)

取残差为

εi=(xi-a)2+(yi-b)2-r2

(9)

式中 i∈E,E为所有边界像素点的集合;(xi,yi)为图像边界像素点坐标。

残差平方和函数为

(10)

根据最小二乘原理,应有

(11)

整理和消减后可得到参数a,b的表达式,结合公式得到圆参数为

(12)

其中各参数可用下式表示

(13)

这种光斑圆心拟合算法定位精度高、重复性好,而且仅对圆轮廓的边界点循环一次就可计算出各参量,没有复杂的方根运算,因此运算速度很快。

3 实验结果

实验中,CCD采集到的圆目标图像和采用边缘提取算法得到标准圆的边缘图像如图5所示。首先采用像素边缘检测算法进行亚像素级定位,然后进行圆轮廓圆心的重复定位,最后得到的计算结果如表1所示。

图5 标准图像与经边缘检测算法后的理论边缘图像

由计算结果可见,本文采用的算法计算简单,重复性好且定位精度高,对实验中采集到的圆目标轮廓圆心的重复定位不确定度优于0.13像素,实现了圆轮廓的亚像素级定位。

4 结 论

本文设计的CCD自准直系统的信号处理电路部分,其绝大部分功能都集中在一片FPGA芯片内实现,实现了高集成度的设计初衷。

表1 针对目标图像的圆心定位结果

序号圆心位置/像素序号圆心位置/像素1(585.31,613.82)6(585.36,613.69)2(585.25,613.85)7(585.26,613.74)3(585.27,613.81)8(585.29,613.78)4(585.33,613.79)9(585.34,613.80)5(585.29,613.73)10 (585.38,613.75)圆心位置不确定度/像素X轴:0.134,Y轴:0.129

[1] 侯伯亨,顾 新.VHDL硬件描述语言与数字逻辑电路设计[M].西安:西安电子科技大学出版社,1999:134-175.

[2] 罗 钧,万文通,卢嘉江.光电测量二维微角位移的新方法研究与实现 [J].传感器与微系统,2008,27(8):51-53.

[3] 林德辉,谢 楠.基于CPLD的线阵CCD—TCD1501D驱动时序的设计与实现[J].电子技术应用,2013,39(11):41-43.

[4] 陈 伟,段发阶,董宇青.基于DSP+FPGA分层图像处理技术的智能相机设计[J].传感器与微系统,2010,29(12):111-113.

[5] 吴晓波.图像边缘特征分析[J].光学精密工程,1999,7(1):59-63.

[6] 李佳列,丁国清.采用CCD的非接触测量中提高精度的一种方法[J].光学精密工程,2002,10(3):281-284.

Research on data processing technology based on FPGA for auto collimating system

WANG Ye, ZHOU Zhi-wei, WANG Yuan-wei

(The 49th Research Institute,China Electronics Technology Group Corporation,Harbin 150001,China)

A CCD auto collimation angle measuring system based on field programmable gate array(FPGA)is proposed. In this system,FPGA is used as processor core of system;using self-adaptive module to provide accurate waveform timing for CCD driving generator;edge detection algorithm is utilized to obtain pixel level edge of image;by using the least square fitting algorithm,circle centre position of facula is calculated;system design is completed with VHDL and MAX+ plusII software.System testing and experiment prove that the system has characteristics of high precision and high integration.

CCD; field programmable gate array(FPGA); sub-pixel subdivision; edge detection; system on chip(SoC)

10.13873/J.1000—9787(2017)02—0046—03

2016—11—28

TP 212

A

1000—9787(2017)02—0046—03

猜你喜欢

圆心时序边缘
清明
基于不同建设时序的地铁互联互通方案分析
以圆周上一点为圆心作圆的图的性质及应用
基于FPGA 的时序信号光纤传输系统
一张图看懂边缘计算
基于模体演化的时序链路预测方法
参考答案
四种方法确定圆心和半径
圆心仍对应圆心吗
在边缘寻找自我