1、基于 FPGA 的高帧频 CCD 电子学系统设计 李华 朱波 商洛学院电子信息与电气工程学院 中国科学院西安光学精密机械研究所 摘 要: 为了获取高质量、高帧频图像数据, 设计了一套基于帧转移型 CCD 的电子学系统。整个系统以 DALSA 公司 FTT1010M 图像探测器为核心, 以 xilinx 公司FPGAXC2V3000 为逻辑控制单元结合高速 ADLM98640 展开, 并配合外部存储器完成对数据的处理。首先, 给出了系统的总体设计方案, 分析了 FTT1010M 的工作特性, 确定了系统工作参数;其次, 详细介绍了 CCD 探测器驱动时序和高速AD 工作时序设计;最后, 结合片外
2、 SRAM 在 FPGA 内完成高速图像数据的处理与整形。实验结果表明, CCD 在 33 MHz 读出频率时, 帧频可达 50 帧/秒, 并可实现对 5 等星的探测。系统性能稳定、可靠, 设计理念具有较好的可扩展性。关键词: 成像系统; 帧转移型 CCD; 高帧频; 现场可编程逻辑门阵列; 作者简介:李华, 女, 陕西西安人, 硕士, 副教授收稿日期:2017-10-29基金:陕西省自然科学基础研究计划项目 (2016JM6060) Design of Electronics System of High Frame Rate CCD Based on FPGALI Hua ZHU Bo S
3、chool of Electronic Information and Electrical Engineering, Shangluo University; xian instl tute of OPtics and Precision Mechanics, chinese A-cademy of Caences; Abstract: In order to obtain high quality high frame frequency image, this paper presents a set of frame transfer CCD electronics system.Th
4、e system takes DALSAs FTT1010M as the image detector and uses xilinxs XC2V3000 as logic control unit combined with image processing AD-LM98640 and SRAM to complete the design.First of all, the main scheme of the system was given, then the work characteristics of the FTT1010M was described and a bett
5、er performance system working parameters was selected;And then, detailed CCD drive timing and AD design timing was introduced;Lastly, two-channel synchronal image data was processed with two SRAM and Block RAM in FPGA.Experimental results proved that frame frequency of the system is 50 fs-1 when tak
6、ing 33 MHz image clock and the detection magnitude can reach 5.5.The electronics system characterizes good performance, high reliability, and provides good expansibility.Keyword: imaging system; frame transfer CCD; high frame; FPGA; Received: 2017-10-29相比 CMOS 图像探测器, CCD 图像探测器具有较高的量子效率、较好的光信号线性响应度以及
7、较高的灵敏度等显著优点, 因此, CCD 图像探测器广泛应用于空间遥感、航空航天、工业、医疗等领域1-2。如:美国火星探测器“好奇号”就携带了 17 台相机, 全部采用 Kodak 公司 200 万像素的 CCD 图像探测器 KAI-20203。因此, 研制高性能 CCD 成像系统具有重要的应用前景和经济价值。但是, CCD 成像系统普遍读出速率较低、帧频较慢, 严重限制了其应用场合。针对这种情况, 本文根据项目实际, 研制了一台图像质量好、输出帧频高的 CCD电子学系统, 克服了传统 CCD 成像系统的不足。本文根据某科研任务实际, 选用加拿大 DALSA 公司生产的一款 1 M 像素的帧转
8、移型 CCD 芯片 FTT1010M 作为图像传感器。FTT1010M 是一款具有优良抗晕结构的高质量帧转移型 CCD 图像传感器, 具有填充因子高 (100%) , 动态范围大 (72 d B) , 像元输出速度快 (240 MHz) , 电荷转移效率高 (0.999999) , 读出噪声低 (RMS 读出噪声典型值 25e) , 输出格式灵活 (H电源电路为 CCD 系统提供所需的各种偏置电压;视频信号处理单元为 CCD 提供正常工作所必需的 15 路驱动时序, 并完成模拟输出视频信号的放大、采样、数字化、图像数据的采集、格式转换与输出等功能;外围接口电路包括通讯接口和图像输出接口等。系统
9、的工作过程为:电源部分为 CCD 提供偏置电压, 系统上电稳定后, FPGA 为CCD 提供时序驱动信号, 经驱动芯片后送至 CCD, CCD 输出模拟图像, 经过射随、运放等处理后进入 AD 进行采集并数字化处理, FPGA 结合两片 SRAM 对数字信号进行后续处理、格式重组等步骤后, 经 Camera Link 接口输出至应用单元。其间, 通过 RS422 总线接收指令改变成像参数, 并返回系统工作状态。图 1 成像系统结构框图 下载原图高速 CCD 成像系统硬件设计比较成熟, 因此, 本文主要研究高帧频 CCD 电子学系统的时序设计和高速图像信号处理方面的一些方法。3 FTT1010M
10、 时序设计本文 CCD 时序驱动电路以 FPGA 为核心控制单元, 其主要完成的功能包括产生CCD 驱动信号在内的最基本的时序控制。3.1 驱动时序分析及参数确定FTT1010M 芯片正常工作于双路输出模式时总共需要 15 路时序驱动信号, 分别是:图像感光区驱动信号 A1、A2、A3、A4;存储区驱动信号 B1、B2、B3、B4;水平寄存器读出驱动信号 C1X、C1W、C2X、C2W、C3;复位驱动信号 RG;信号求和驱动信号 SG。应用 FPGA 产生这 15 路时序驱动信号, 并组成具有周期性、且满足CCD 手册给定的复杂逻辑关系, 即可让 CCD 正常工作并输出图像。根据探测器手册并分
11、析帧转移型 CCD 工作原理可知, FTT1010M 探测器的一个工作周期分为两个阶段:帧转阶段和读出阶段 (曝光阶段) 。在帧转阶段, 频率为4.125 MHz, 相位依次相差 1/3 的帧转移控制信号 A1、A2、A3、A4 与行转移控制信号 B1、B2、B3、B4 相同, 且一直有效, 将感光区图像转移至存储区, 从而在读出阶段将图像逐行输出。在读出阶段, 图像感光区控制信号A1、A2、A3、A4 保持固定电平不变, 并根据曝光时间控制电子快门进行感光, 同时进行像元读出, 由宽度为 450 ns, 相位依次相差 1/3 的四相行转移控制信号 B1、B2、B3、B4 控制, 电荷逐行转移
12、到读出寄存器;每行信号中, 各像元电荷受频率为 33 MHz, 相位交叠 1/3 的输出控制信号 C1X、C1W、C2X、C2W、C3控制, 结合 RG 和 SG 逐次经过输出放大器输出10。FTT1010M 具有电子快门功能, 可以精准控制 CCD 的曝光时间, 电子快门在读出阶段打开, 为下一帧图像曝光, 且打开的开始时机放置在帧转期间, 其宽度大于 2s, 如果电子快门宽度太窄, 上一帧图像复位不彻底, 在短曝光时会导致本帧图像质量变差, 特别是图像上下边缘会变得非常模糊。FTT1010M 探测器输出的是 10241024 有效图像数据, 探测器每一行左右各有24 个暗像元和 7 个哑像
13、元。同时, 为了保证读出信号的完整性, 在时序设计时采用了读出冗余的设计方法, 即转移的行数和输出的行数均设定为1024+6=1030, 比 CCD 实际工作要求的行数多出 6 行暗行。3.2 时序设计与仿真本成像系统具体的驱动电路结构框图如图 2 所示。图 2 时序驱动电路框图 下载原图由图 2 可以看出, CCD 工作所需的所有时序均由 FPGA 产生。首先, 按照设计指标产生相应的曝光、帧转移、行转移和读出时序信号, 这些时序信号通过垂直、水平驱动电路送给 CCD, 驱动其工作;FTT1010M 需要三电平时序, 因此, FPGA需要提供相应的时序, 控制相应电路工作。期间, FPGA
14、需要根据指令信号, 实时改变 CCD 的曝光时间、增益等工作参数, 满足不同成像条件下的图像质量。整个时序框图中, CCD 时序的设计最为复杂, 为了提高设计可靠性, 本系统采用了一个主状态机来控制, 如图 3 所示。然后再对不同的子功能设计下一级状态机来实现, 最终完成所有功能。图 3 CCD 时序流图 下载原图具体的时序设计如下:当 FPGA 上电 200s 稳定后, 系统复位信号 Reset 触发主状态机处于空闲状态 (IDLE) 。接着触发曝光 (Integration) 和行转 (Line Transfer) , 分别开始曝光和行转操作。为了精准控制各过程, 系统内分别定义了曝光计数
15、器 Inter_cnt、帧转计数器 F_cnt、行转计数器 L_cnt 和像元读出计数器 P_cnt。曝光时 Inter_cnt 开始计数, 当 Inter_cnt 的值等于设定的曝光时间时, 表明曝光完成, 状态机会产生一个曝光结束标识信号, 用于触发帧转控制状态, 同时曝光控制状态会继续等待下一曝光时间的到来, 再按照新的曝光时间重复以上过程。帧转控制状态收到触发信号后开始进行帧转操作, F_cnt 开始计数, 每转移一行 F_cnt 数值加 1, 当 F_cnt 等于 1030 时, 表示将图像区的所有图像转移完毕, 这时状态机会产生一个帧转完成标识来触发像元读出控制状态, 同时, 帧转
16、控制状态会空闲, 直到下一次帧转触发的到来。为了尽可能减少干扰信号对本帧图像的影响, 帧转完成后, 设计时没有直接去行转, 而是先空读 2 行, 消除帧转过程中积累的电荷对图像信号的影响。当像元读出状态收到触发信号后, P_cnt 开始计数, 每读一个像元, P_cnt 数值加 1, 因为本系统工作在双路输出模式, 当 P_cnt 等于 543 时说明像元已经读干净, 这时如果空读完成则触发行转状态, 否则进入 IDLE 状态。行转状态收到触发后, L_cnt 开始计数, 数值累加直到其值等于 105Tp 时, 表明行转结束, 触发像元读出状态去读取像元。重复以上过程, CCD 就源源不断输出
17、模拟图像数据, 期间可以根据成像需要通过 RS422 改变系统的曝光时间, 以适应多变的成像环境。4 高速图像数据处理CCD 输出的是模拟图像, 为了方便传输和显示, 需要将其进行数字化处理。高速图像数据处理包含两部分内容, 首先介绍基于高速图像 AD 的数据处理方法, 其次介绍基于 FPGA 结合外部存储器的数据格式处理策略。4.1 高速 AD 数据处理AD 转换是成像系统的重要组成部分, 直接决定了采样的精度和速度, 从而决定了系统的性能。为了适应高速、高精度的需要, 本系统采用了 TI 公司的一款高性能 ADLM98640 作为图像模数转换芯片, 该芯片具有 14bit 转换精度, 最高
18、转换速率 40MSPS, 同时支持 S/H 和 CDS 工作模式, 而且有高等级产品以适应苛刻的工作环境。LM98640 要正常工作需要在上电稳定后进行相关寄存器配置, 然后才能输出差分图像数据, 本系统将配置管脚与 FPGA 直接连接, 用于配置AD 工作;由于 XC2V3000 支持差分输入、输出, 因此, 设计上将 AD 的数据输出管脚和像元时钟管脚与 FPGA 直接相连, 不再需要额外的电平转换芯片, 方便了硬件设计。4.1.1 AD 配置AD 配置采用 SPI 接口进行数据写入和读出, 写入信号分别为:时钟信号 (SCLK) , 写使能信号 (SEN) 和写数据 (SDI) , 读出
19、信号为读出数据 (SDO) 。写数据时SCLK、SEN 和 SDI 组成一定时序的序列, 完成数据写入;数据读出时 SCLK、SEN配合即可完成。其中, SCLK 的频率应控制在 20 MHz 以内, 以保证配置参数的顺利写入。为了提高图像质量, 本设计 AD 工作于 CDS 模式, 工作频率为 33 MHz, 输出采用 4 路数据同时输出的形式, 因此, 通过设置 Main Configuration、ADC power Trimming 等 41 个寄存器完成 AD 的初始化, 特别是 Clamp 和 Sample 的位置要结合实际的 CCD 信号进行微细调整以保证采样在模拟图像最稳定的地
20、方, 从而保证图像的质量。配置完成后, LM98640 就会按照设置进行模数转换, 输出 6 路差分图像数据, 分别是:数据时钟 (Clk) 、数据同步标识 (Frame) 和 4路图像数据 (Data) 。为了适应后续图像处理的需要, 需要在 FPGA 内完成相应的转换。4.1.2 高速数据处理本系统 CCD 输出的像元时钟为 33 MHz, 相应的 AD 差分时钟的速率为 264 MHz, 为了平稳的处理如此高速的信号, 本系统采用了如图 4 所示的数据处理策略。图 4 高速数据处理逻辑 下载原图由于 FPGA 具有差分数据处理能力, 因此, 首先将差分时钟、数据同步和 4 路差分图像数据
21、分别接入 FPGA, 通过原语 IBUFDS 将差分信号转成单端信号, 时钟域为 264 MHz, 其中时钟信号送入全局时钟总线, 并通过 DCM 进行时钟相位的微调以保证时钟上升沿采在数据和使能的中心位置, 此时, 时钟会将数据和使能平稳过度到 FPGA 内的 264 MHz 时钟域, 接着就可以进行数据的串并转换, 将 4 路串行图像数据分别转换成 7 位的并行数据, 相应的时钟速率也会降到 33 MHz, 从而完成高速数据向低速数据的顺利转换, 便于 FPGA 后续的图像处理。4.2 片内数据处理为了提高帧频, FTT1010M 工作于左右双路输出的模式, 左路数据顺序输出, 但是右路数
22、据逆序输出, 这样就会给后续图像处理带来不利影响, 特别是实时性要求较高的场合, 因为左右路图像不能直接进行拼接, 同时图像数据速率又比较高 (33 MHz) , 也不能进行片内图像顺序的调整和拼接。为此, 本系统设计了基于两片片外存储器结合片内 Block RAM 资源的数据处理机制, 取得了较好的结果。本系统数据处理的原理框图如图 5 所示。图 5 数据整形单元 下载原图AD 输出的数据经过 FPGA 串并转换后, 左右路数据并行 (28bit) 输出, 奇数帧存储在 SRAM1 内, 偶数帧存储在 SRAM2 内, 两片 SRAM 构成乒乓操作关系, 当写SRAM1 时, FPGA 读取
23、 SRAM2 内的数据, 读 SRAM1 内的数据时, FPGA 向 SRAM2 写数据, 读写速率均为 33 MHz。这样, 保证了进入 FPGA 内的数据不冲突。FPGA 内例化了 4 个 103014bit 的 Block RAM, 其中, 两片设计为 FIFO (First In First Out) , 另外两片设计成 LIFO (Last In First Out) , 一片FIFO 和一片 LIFO 结合定义为一个存储单元, 分别存储奇数行图像和偶数行图像, 二者构成乒乓操作关系, 当 SRAM 内的数据进入 FPGA 后, 第一行图像顺序部分 (14bit) 存入奇数行的 FI
24、FO 内, 逆序部分 (14bit) 存入奇数行的 LIFO内, 当第二行图像从 SRAM 读出时, 将顺序部分 (14bit) 存入偶数行的 FIFO 内, 逆序部分 (14bit) 存入偶数行的 LIFO 内, 在往偶数行写数据的同时, 从奇数行读取数据, FIFO 中的数据顺序读出, LIFO 中的数据逆序读出, 并拼接在FIFO 数据的后面, 这样就构成一行完整的图像 (14bit) , 这时相当于对顺序和逆序图像进行了串并转换, 因此像元频率由 33 MHz 升为 66 MHz。同样, 在读第二行图像的时候, 将第三行图像数据写入奇数行。经过两片片外 SRAM 乒乓操作结合 4 片片
25、内存储单元乒乓操作, 顺利完成图像数据的整形, 最终将 66 MHz 像元速率、14bit 量化的正常图像数据实时输出给应用单元。5 试验结果分析本系统的数据处理部分实物如图 6 (a) 所示, 一片 FPGA 控制 LM98640 (FPGA左上角位置) 进行模拟图像采集, 同时, 控制两片 3D-PLUS 公司的 SRAM (FPGA左右两边位置) 进行后续数据处理。图 6 系统实物及成像效果 下载原图系统结合光学部分, 以 50 fs 的帧频可实现对 5 等星的探测, 图 6 (b) 所示为外场观星得到的 4.6 等星星点图像, 图像信噪比优于 25, 具有较好的性能。6 结论本文介绍了
26、高帧频 CCD 成像系统电子学部分的组成结构, 分析了 FTT1010M 图像探测器的特点以及驱动时序设计方法, 重点阐述了高速图像 AD 的控制及其数据的处理方法, 并结合片外 SRAM 完成数据的整形。以 xilinx 公司 FPGAXC2V3000 为控制单元完成了整个设计, 外场观星试验数据表明, 系统的各项指标满足任务要求。同时, 也可以看出, 本文高速设计思路适用于基于 xilinx 公司 FPGA 的高速系统, 具有非常好的通用性。参考文献1林胜钊.科学级 CCD 成像系统关键技术研究D.合肥:中国科学技术大学, 2016:3-7. 2李华.基于 FPGA 的图像发生器的设计J.
27、商洛学院学报, 2015, 29 (4) :15-19. 3牛磊星.“好奇”号火星钻探概况M/中国地质学会探矿工程专业委员会.第十八届全国探矿工程 (岩土钻掘工程) 技术学术交流年会论文集.中国地质学会探矿工程专业委员会, 2015:6. 4陈剑武, 曹开钦, 孙德新, 等.高帧频低拖尾帧转移 CCD 驱动技术J.红外与激光工程, 2016, 45 (1) :110-115. 5马天翔.面阵探测器 KAI-04022 成像系统设计J.仪器仪表学报, 2014, 35 (6) :117-122. 6邸丽霞.基于 FPGA 的高速图像数据采集存储系统设计J.电视技术, 2013, 37 (13) :49-52. 7郭宇琨, 王衍, 王建宇.“高分四号”卫星凝视相机视频电路设计与实现J.航天返回与遥感, 2016, 37 (4) :49-57. 8陶淑苹, 郑晓云, 朴永杰.高分辨率大面阵微型相机设计J.液晶与显示, 2015, 30 (3) :514-518. 9马天翔.面阵探测器 KAI-04022 成像系统设计J.仪器仪表学报, 2014, 35 (8) :117-120. 10任航.高分辨率大面阵 CCD 相机高帧频设计及其非均匀性的校正J.红外与激光工程, 2013, 42 (6) :1491-1495.