APP下载

基于单片机和FPGA的CCD数据采集与处理

2016-06-13

电子科技 2016年5期
关键词:单片机

丁 伟

(爱特梅尔半导体科技(上海)有限公司,上海 200233)



基于单片机和FPGA的CCD数据采集与处理

丁伟

(爱特梅尔半导体科技(上海)有限公司,上海200233)

摘要为满足现代测量对高精度、高速和高稳定性的需求,提出了一种基于单片机和FPGA的CCD数据采集与处理方案。文中对CCD数据采集与处理系统进行了总体设计,并且分别进行了各自的电路模块化设计。在硬件电路设计方面,文中进行CCD的驱动电路和信号采集与处理电路的设计,包括了外部接口电路、内部时序脉冲电路、数据处理电路、系统与键盘和上位机等接口电路的设计。试验测试结果表明,文中设计达到了预期效果。

关键词FPGA;单片机;CCD;模块化电路设计

CCD(电荷耦合器件)是近年来发展出的新型半导体器件,其以电荷为基本参数,可在器件的外围电路和信号处理方面具有良好的性能。利用CCD作为感光元件的激光三角测量法,在工业测量领域中得到了广泛应用。在CCD数据采集和处理系统中[1],要有CCD驱动电路、数据采集电路、数据处理电路、结果显示电路,常见的CCD测量系统均是以单片机或FPGA(现场可编程门阵列)作为控制核心连接各个电路去完成测量过程。以单片机作为控制核心硬件连接复杂,在一个单片机上,端口数量与中断源等均有数量限制,能完成的测量工作较少,单片机处理指令的方法是指令排队,其耗时较长,且可靠性较差。以FPGA作为控制核心克服了单片机作为控制核心的缺点,FPGA集成了众多相互独立的逻辑门电路,可多任务并行处理,并能集成加法器、乘法器等器件,处理速度较快。但FPGA核心的缺点也很明显,在键控、显示和系统协调方面较差。本文讨论了将单片机和FPGA相结合作为控制核心的方法,FPGA负责测量速度、精度和稳定性等指标的高性能实现,单片机负责键控、显示和系统协调,克服两者的缺点,发挥各自的优点,具有较好地测量性能,开发两者结合作为控制核心的CCD数据采集和处理系统具有重要的实用价值[2]。

1双通道CCD数据采集和处理系统

1.1系统的整体设计

基于单片机和FPGA的CCD数据采集与处理系统的整体设计思路是:对激光照射到物体两面的双面光路标记,不同物体对光的反射程度不同,从而反射回来的光强也不同,这样CCD输出的模拟电压峰值就会在所要求的范围内,然后进行数据分析与处理,得到要求的测量结果。该系统应包括CCD时序驱动模块、输出信号的预处理模块、A/D转换模块、FPGA数据采集与处理模块、单片机控制模块5类[3]。CCD时序驱动模块主要是为CCD器件提供时钟脉冲。CCD输出信号的预处理模块主要是对输出信号进行放大和滤波,去除杂波的干扰,得到清晰稳定的视频信号。A/D转换模块将得到的模拟信号转换为数字信号传递给FPGA,然后进行数据处理。FPGA数据采集与处理模块是该系统的主要模块,其主要作用是采集A/D转换模块输出的信号,然后进行数据的分析处理并通过与单片机的接口将数据传递给单片机控制模块。单片机控制模块主要是进行键控、显示并与上位机进行通信,对系统的调试也是通过单片机控制模块进行的。图1为基于单片机和FPGA的CCD数据采集与处理系统的整体框图。

图1 基于单片机和FPGA的CCD数据采集与处理系统的整体框图

1.2CCD输出信号的处理

由于CCD输出的信号既有数字信号的特点,又有模拟信号的特点,这两个特点导致基于CCD的信号在应用上也有差异,第一种方法先对视频信号进行采样,然后进行量化编码,最后传输到微处理系统;第二种方法先对信号进行二值话处理,然后再进行信号的采集[4]。

CCD信号的量化处理是指采集光强后将光信号转化为对应的电压信号,然后转换为数字编码送到微处理器,从而得到精确的数值,量化处理法得到的数字信号不会发生丢失现象,且与测量电路无关,因此分辨率和精度均较高。图2是CCD视频信号的量化过程。

图2CCD视频信号的量化过程

采样是获得数字信号的过程,其是将连续的模拟信号按照规定的时间间隔抽取瞬时值,从而能用数字去量化表示不规则的模拟信号,再系统采样后,将数字信号进行量化编码,将编码的数字信号发送到微处理器去进行数字信号的处理,整个过程完成了CCD视频信号的量化。数字信号不仅在时间上是不连续的,在幅值上也是离散的,任何一个数字信号量的大小只能是最小电压的整数倍,因此在数模转换过程中,还需进行数值量化的过程[5]。

在对采样精度要求较低的系统中,为了利用对精度的低要求从而得到较快的处理速度且降低成本,一般会采用二值化进行处理,二值化处理将系统所需信息和背景进行区别显示,以0和1来区分不同的区域,系统只需采集高电平和低电平,这样会显著提高系统的处理速度,二值化处理的方法一般用电压比较器去实现[6]。在基于单片机和FPGA的CCD数据采集与处理系统中,为了保证系统对精度的要求,采用量化处理的方法来进行CCD信号的采集。

2CCD数据采集与处理系统FPGA设计

2.1FPGA电路

FPGA的外部电路均为提供系统正常工作的硬件电路,图3是FPGA外部硬件电路结构框图。

图3 FPGA外部硬件电路结构框图

所有的外部电路模块均是围绕FPGA工作的。AD9048是将采集到的量化编码数据发送到FPGA进行运算处理的芯片;外部时钟提供全局的时钟网络,确保系统的工作频率;电源负责对FPGA进行供电;与单片机通信的接口是信号输出接口,同时单片机也可通过该接口对FPGA进行控制;JTAG是将可执行文件通过计算机传送到FPGA;AS下载口一般用来确保程序在掉电时不丢失[7]。

FPGA的功能是为了完成CCD正常工作的各种模块,包括两路驱动电路模块、逻辑控制模块、单片机与FPGA的接口模块、运算电路模块以及存储器模块等。图4是该系统上FPGA的内部配置图。FPGA为半定制器件,需要对内部电路进行设计才能实现具体的逻辑功能。

图4 FPGA的内部配置图

2.2CCD驱动电路模块

驱动电路的功能是为了保证CCD在正常工作下的转移脉冲、传输时钟和A/D转换所需的脉冲信号像元时钟,设计CCD驱动时序的方法有单片机驱动法、通用数字驱动法等几类。单片机驱动受限于单片机的驱动时钟,使其不能应用于高频率的场合,通用数字驱动法功耗大、设计复杂、故障率高。为避免以上缺点,本文采用FPGA来完成CCD驱动电路的设计。

2.3控制逻辑模块

由于CCD要先输出32个暗电流信号后才能输出2 048个图像脉冲信号,在最后一组脉冲结束后还要输出14个暗电流脉冲作为结尾。采用逻辑控制模块的作用是为了保证系统采集到的信号是2 048个有效脉冲信号,并提供脉冲的计数功能,控制逻辑模块还要保证在利用重心法计算时分子与分母是同一刻的数据[8]。

2.4运算电路模块

运算电路模块要解决的问题是CCD像点位置的提取,在本系统中,采用数字化求重心的方法来解决这一问题。所以在FPGA中,应有计数器、累加器、乘法累加器、除法器来实现所需求的功能。这些逻辑器件应保证同样幅度的电压供应。图5是累加器和乘法累加器的电路图。

图5 累加器和乘法累加器

2.5存储器模块

在利用重心法得到被测物体的像点在CCD上的位置后,必须要经过后续运算才能得到物体的真实参数,所以要设置存储器模块来保存之前得到的数据。存储器模块有现成的模板可套用,故在此不再赘述。

3单片机电路设计

3.1显示模块与单片机的接口

用P0口作为显示器数据线,用P20和P21作为控制线,BL1提供背光,EN是使能信号,DB0~DB7是数据端,RS为命令选择端[9-10]。

3.2键盘输入接口

键盘与单片机接口的方式较多,常用的有独立式按键接口和行列式按键接口,由于本系统采用键盘的控制较少,所以采用独立式按键较为合适。本系统能用到的按键有4个,图7是单片机与按键的接口图。

图6 液晶显示模块与单片机的接口

图7 单片机与按键的接口图

键1用来读取物体的参数;键2用来控制整个系统的开始和结束;键3用来完成对EEPROM的读写操作;键4用来调用相应的菜单程序。

3.3EEPROM的接口设计

EEPROM能存储数据,用来保证系统在断电时数据不丢失。而在本系统中采用93LC46B来实现这一要求,该芯片能做到在线改写,电源通断过程中对数据进行保护,满足系统的要求。

3.4单片机系统流程图

单片机系统主要包括通信、显示、键盘处理和存储这4个功能,图8是本系统单片机的流程图。

图8 单片机的流程图

4结束语

由于现有基于CCD的测量系统多数为单一的基于单片机或FDTD,本文结合两者的优点,以FDTD作为控制核心,以单片机提供与外围电路的接口,设计了一种基于单片机和FDTD的CCD数据采集与处理系统。对FDTD作为控制核心的驱动电路模块、控制电路模块、运算电路模块进行了分析,并给出了部分关键设计。同时,也对单片机中的键盘、显示、EEPROM等接口模块进行了分析与设计。实际结果表明,该系统具有高精度、高速和高稳定性的特点,达到了设计要求。

参考文献

[1]李柱,徐振高,蒋向前.互换性与测量技术[M].北京:高等教育出版社,2004.

[2]薛寒光,朱衡君.一种基于FPGA的线阵CCD驱动器的设计[J].中国仪器仪表,2005(12):97-99.

[3]刘春浩.双通道自动增益不等时曝光 CCD 数据采集与处理[D].武汉:华中科技大学,2006.

[4]邱勇,宋心琦.CCD 技术及其在光谱学和多道分析中的应用[J].感光科学与光化学,1994(3):263-267.

[5]李长贵,刘敬海,林幼娜,等.线阵 CCD 用于实时动态测量技术研究[J].光学技术,1999(2):4-7.

[6]钟志坚,施婉芳.位置敏感器件在非接触测量中的应用分析[J].西安工业学院学报,1998(2):69-72.

[7]郭华,邵向东,杨淑华.CCD 输出信号的电处理方法[J].传感器技术,1999(1):39-41.

[8]刘乐善,欧阳星明,刘学清.微型计算机接口技术及应用[J].武汉:华中科技大学出版社,2000.

[9]李啸宇,赵敏.KAI-02150的CCD模拟前端采集电路设计[J].电子科技,2012,25(3):113-116.

[10]李正刚,袁红艳,吴一辉.通用线阵CCD采集系统设计[J].电子设计工程,2009,17(12):18-20.

CCD Data Acquisition and Processing Based on Single Chip Microcomputer and FPGA

DING Wei

(Atmel Semiconductor Technology (Shanghai) Co.,Ltd.,Shanghai 200233,China)

AbstractA method for CCD data acquisition and processing based on MCU and FPGA is proposed to meet the needs of high precision,high speed and high stability of modern measurement.The overall design of CCD data acquisition and processing system is given together with the circuit design.The hardware circuit design consists of the design of the CCD driving circuit and the signal acquisition and processing circuit,including the external interface circuit,an internal timing pulse circuit,the data processing circuit,and the interface circuit between the system and keyboard and PC.The test results show that the design achieves the desired effect.

KeywordsFPGA;dingle chip microcomputer;CCD;modular circuit design

doi:10.16180/j.cnki.issn1007-7820.2016.05.040

收稿日期:2015-09-05

作者简介:丁伟(1982—),男,硕士,工程师。研究方向:集成电路设计。

中图分类号TN79

文献标识码A

文章编号1007-7820(2016)05-149-05

猜你喜欢

单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
小议PLC与单片机之间的串行通信及应用
基于单片机的平衡控制系统设计