基于FPGA的CMOS线阵图像传感器数据采集系统设计

  • 投稿黄奎
  • 更新时间2015-09-11
  • 阅读量473次
  • 评分4
  • 17
  • 0

樊红星,张小超,刘磊,周鹏,赵博

(中国农业机械化科学研究院土壤植物机器国家重点实验室,北京100083)

摘要:针对日本滨松公司的CMOS线阵图像传感器G9214?512S,设计基于FPGA的同步工作模式的图像数据采集系统,使用VHDL语言对此系统进行描述,并用Xilinx ISE Design Suit自带的ISim软件对设计的时序进行仿真。采用Xilinx公司的Spartan 3 XC3S200A?4VQ100进行FPGA配置和验证,仿真结果表明该数据采集系统的时序正确,具有较高的实用价值。

教育期刊网 http://www.jyqkw.com
关键词 :FPGA;CMOS传感器;数据采集系统;模/数转换器

中图分类号:TN98?34 文献标识码:A 文章编号:1004?373X(2015)14?0129?04

收稿日期:2014?12?15

基金项目:国家国际科技合作专项项目:激光光谱小麦品质信息智能在线获取技术合作研发(2014DFA31660)

0 引言

近红外(NIR)光谱仪是一种测量物质对近红外辐射的吸收率或透过率的分析仪器,由于其检测过程绿色,无损,快速等特点,已经广泛应用于农业、食品工业、石油化工、生物化工、制药业地质学等领域,近红外光谱仪也因此成为近年来分析仪器的热点研究领域之一[1]。

作为近红外光谱仪核心器件的光电传感器的发展,对高性能光谱仪的研发起到了重要的推动作用。过去,光谱仪的光电传感器采用CCD 传感器,但由于CCD 型传感器耗电量大、工艺复杂、成本较高、驱动程序复杂,因此,基于CCD的近红外光谱仪的发展缓慢。随着半导体技术的进一步发展,CMOS传感器诞生,相对于CCD 传感器来说,CMOS图像传感器具有成本低、功耗低,集成度高、体积小的优点,已经逐渐替代CCD应用于各种光电检测系统中,因此,开发基于CMOS传感器的光谱仪,发展前景广阔,具有较高的市场价值与实用价值[2]。

本文分析了G9214?512S图像传感器的工作模式,采用FPGA技术完成了其数据采集系统,使用VHDL语言对所设计系统进行描述,最后用Xilinx ISE DesignSuit软件自带的ISim仿真软件对其进行仿真和验证,结果证明该数据采集系统的时序正确性。

1 系统简介

该数据采集系统由FPGA 主控模块,CMOS 图像传感器模块和A/D 模数转换器模块组成,其系统框图如图1所示。FPGA主控模块提供系统所需要的时序和控制指令,外存储器M25P80 存储FPGA 配置信息,FPGA内部的FIFO缓存模块采用IP核产生,用来存储采集到的数据,以便后续图像处理系统进行数据处理,其数据缓存容量为10K×16 b,一次可以缓存20 帧图像信息。CMOS图像传感器将光信号转换成模拟电压信号,输出给模/数(A/D)转换器进行模/数转换。A/D 转换器模块将采集到的模拟数据转换成16 b 串行数字信号,将其存入到FPGA内部移位寄存器,然后存入FIFO缓存器,完成一次数据采集[3]。

2 G9214?512S 图像传感器

2.1 传感器参数

G9214?512S传感器是滨松公司专为近红外多通道光谱仪而设计的InGaAs线性CMOS图像传感器。具有动态范围高、像元小、分辨率高、暗电流小的特点,该传感器参数如下[4]:感光波长为0.9~1.7 μm;像元数目为512;像元尺寸为25 μm×25 μm;动态范围为16 666;工作时钟为0.1~4 MHz。G9214?512S 传感器像元分为具有为奇、偶2路,每路256像元,外部信号对这两路像元的工作进行单独控制,使其工作于同步工作模式或者异步工作模式。同步工作方式驱动方案简单,因此本文所述数据采集系统采用同步工作方式。CMOS 芯片的信号处理电路提供了2种工作方式:宽动态范围和高增益模式,在传感器CfSECLECT 引脚加高电平实现高增益工作模式,加低电平即可实现宽动态范围工作模式。

G9214?512S 传感器CMOS 芯片结构图如图2 所示。G9214?512S片上CMOS电路集成了时序产生电路,因此其时序驱动简单,外部提供给传感器时钟信号和复位信号即可,双相关采样电路可以有效地减小复位噪声,移位寄存器电路可以保证信号准确有效的移出。

2.2 传感器工作时序图

传感器单路工作时序图如图3所示。可以看出,同步工作模式下,传感器需要2个外部输入时序信号:时钟信号CLK和复位信号RESET。本文所述数据采集系统采用同步积分模式:在一个复位周期中,RESET信号保持一段时间高电平,变为低电平,积分结束,等待2个时钟CLK,传感器将256个像元电荷信号以模拟电压形式VIDEO 输出,VIDEO 的信号周期是主时钟CLK 频率的1 8 ,输出VIDEO 信号的同时,传感器输出一个触发外部操作信号TRIG,用于启动外部A/D转换器的操作,电荷输出结束,进入等待阶段[5]。

3 模/数转换器

AD7961是Analog Device公司生产的16 b,5 MSPS,电荷再分配逐次逼近型(SAR)接口的模/数转换器,具有结构紧凑、功耗低、转换精度高和抗干扰性强的优点。AD7961具有差分输入接口、差分输出接口和差分控制接口,所有转换结果通过一个LVDS自时钟或回波时钟串行接口传送给FPGA[6]。本文采用回波时钟工作模式,其工作模式时序图如图4所示。

如图4所示,在CNV信号上升沿,ADC初始化,传感器开始进行采样,CNV信号高电平保持一段时间后,变为低电平后,开始有数据输出。FPGA在CNV信号上升沿一段时间后,给A/D 转换器一个获取数据时钟AD_CLK,A/D转换器给FPGA一个回波时钟DCO,转换后的16 b数据与DCO 同步,在每个DCO 上升沿,FPGA获取转换后的16 b数字信号。

4 FPGA 主控模块

FPGA具有可靠性好、集成度高、速度快、引脚数目多、硬件可编程开发灵活、易于维护,适合时序电路设计的特点[7],由于G9214?512S 采用同步工作方式,奇、偶2 路信号同步输出,因此需要2 路A/D 转换器,AD7961采用差分信号控制,所需控制器引脚较多,FPGA 引脚数目多的优点满足了此要求。VHDL 是一种标准硬件描述语言,广泛应用于数字系统的建模和仿真。在分析G9214?512S传感器工作的基础上,设计采用Xilinx公司的Spartan 3 XC3S200A?VQ100,开发语言采用VHDL,采用模块化设计,开发工具采用Xilinx 的ISE DesignSuite 14.5,实现了全部的设计和仿真[3]。

FPGA主要功能接口示意图如图5所示。

图5 中,数字符号“0”代表偶路信号,数字符号“1”代表奇路信号。FPGA 功能分为3 部分:产生G9214?512S传感器的驱动时序;产生A/D转换器的控制信号;其内部IPcore生成的FIFO 缓存器存储A/D 转换器发送来的数据。FPGA 的主时钟M_CLK 为50 MHz,作为全局时钟,通过分频产生传感器工作时钟CLK,快速时钟FAST_CLK 为200 MHz,用来进行FPGA 内部数据转移和FIFO缓存器的数据存储。

5 基于FPGA 的驱动时序的实现

5.1 传感器驱动时序的FPGA实现

经过以上分析,将FPGA主时钟M_CLK进行25分频得到传感器时钟CLK频率2 MHz,设定积分信号高电平有200个传感器时钟CLK,等待阶段取20个传感器时钟,经计算1次数据输出需要2 270个传感器时钟CLK[8]。传感器时序仿真图如图6和图7所示。

图6中,M_CLK为全局时钟,RESET信号为全局复位信号,CLK为传感器时钟信号,SEN_RST为传感器的复位信号,TRIG 信号为FPGA 仿真G9214?512S 传感器的输出工作状态(实际工作中,该信号由传感器输出)[9]。采用同步复位工作方式,在CLK下降沿时,SEN_RST信号变为低电平,等待2个时钟进入触发模式,1个触发信号频率为传感器主时钟CLK频率1 8 。图7所示,传感器发出256个触发信号后,等待20个空闲时钟,然后进入下一轮的复位周期。

5.2 ADC驱动时序的FPGA实现

将传感器的TRIG 信号作为触发FPGA 启动A/D 转换器的信号。将A/D 转换器的一次数据转换周期CNV信号分为空闲状态serial_idle,模/数转换状态serial_cnv,读状态serial_read,FIFO 存储状态serial_fifo,状态机如图8所示。

A/D 转换器时序和状态机变化仿真图及状态机变化如图9所示。当全局复位信号RESET低电平时,数据采集系统初始化,此时FIFO为空。当RESET信号变为高电平,数据采集系统进入工作状态:触发信号TRIG来临之前,A/D 转换器工作于空闲状态serial_idle,触发信号TRIG 来临,A/D 转换器进入模/数转换状态seri?al_cnv,同时启动减计数器cnv_cnt,此阶段A/D 转换器将传感器发送来的模拟信号转换成数字信号,当模数转换状态serial_cnv 保持18 个FAST_CLK 周期后,A/D 转换器进入读状态serial_read,转换后的16 b 数据存入FPGA内部移位寄存器DATA_REG,当回波信号计数器dco_cnt 记16 个数,A/D 转换器进入FIFO 状态seri?al_fifo,此时,FIFO 存储器的写信号FIFO_WR 变高,移位寄存器中16 b数据存入FIFO 缓存器中,在下一个快速时钟FAST_CLK上升沿来临,A/D转换器进入空闲状态idle_state,A/D转换器一个工作周期结束。

在测试代码中,模拟A/D转换器给出一系列随机串行数字信号,可以看出FPGA在每个回拨时钟DCO上升沿将相应的数字信号存储在内部寄存器DATA_REG中。A/D转换器时序和状态机变化如图9所示,从仿真结果看,所设计的状态机及时序变化达到了设计要求。

6 结语

本文分析了G9214?512S 传感器的工作方式,使用FPGA 实现了CMOS图像传感器采集系统的设计,并对同步工作方式数据采集系统进行了设计和仿真验证,仿真结果证明了所设计数据采集系统时序的准确性,满足了CMOS传感器面向高速、小型化、智能化的需求[10]。

教育期刊网 http://www.jyqkw.com
参考文献

[1] 张小超,吴静珠,徐云,等.近红外光谱分析技术及其在现代农业中的应用[M].北京:电子工业出版社,2012.

[2] 魏博,肖文,王璠景,等.基于FPGA 的CMOS图像传感器的驱动开发[J].光学与光电技术,2008(5):56?58.

[3] 曾桂英,潘金燕.基于FPGA 的CMOS 图像传感器采集系统设计[J].科学技术与工程,2010(3):692?695.

[4] 范铁道,田雁,曹剑中,等.基于FPGA的CMOS图像感器IA_G3驱动电路的研究[J].电子器件,2009,32(2):269?273.

[5] Hamamatsu 公司.G9211?G9214 器件手册[M].[出版地不祥]:Hamamatsu公司,2013.

[6] Analog Device 公司.AD7961 器件手册[M].[出版地不祥]:Ana?log Device公司,2013.

[7] 乔庐峰,伊廷辉,李永成,等.VHDL大学实用编程[M].北京:电子工业出版社,2011.

[8] 陈智,邱跃洪,张伯珩.基于CPLD 的CCD 驱动电路的设计[J].科学技术与工程,2007(12):2964?2967.

[9] 郑群星.Xilinx FPGA 数字电路设计[M].北京:科学出版社,2012.

[10] 崔岩,吴国兴,殷美琳,等.基于FPGA 的线阵CCD 驱动设计[J].现代电子技术,2011(10):206?207.

作者简介:樊红星(1989—),男,河南新乡人,硕士。主要进行近红外光谱仪成像技术方面的研究。

张小超(1957—),男,江苏南京人,研究员,博士生导师。主要从事精准农业与智能化农业装备的研究。

周鹏(1986—),男,江苏南京人,硕士。主要进行数字信号处理方面的研究。

赵博(1981—),男,陕西西安人,研究员,博士。主要进行农产品品质检测技术的研究。

????????????????????????????????????????????????????????????????????????????????????????????????????????