文章目录
- 第一章 非制冷红外探测器性能简介
- 第二章 非制冷红外探测器驱动模块设计
- 第三章 非制冷红外探测器驱动模块状态机设计
- 第四章 非制冷红外探测器非均匀校正参数的获取与存储
- 第五章 OOC参数和两点校正KB参数的上电加载使用
- 总结
第一章 非制冷红外探测器性能简介
笔者选用了一款国产的非制冷红外探测器芯片, 该探测器芯片由读出电路,氧化钒微测辐射热计焦平面阵列,模数转换器,控温芯片等构成,且使用陶瓷抽真空封装,芯片的性能如下:
非制冷红外传感器:氧化钒微测辐热计
光谱响应谱段:8-14um
像元中心距:12um
阵列规模:640*512
帧频:50Hz
工作温度范围-40℃~85℃
对外输出接口1:千兆以太网
对外通信接口2:异步RS422
曝光时间:1~20ms可定制
供电电压:5~12VDC
整机功耗:不大于2.5W
机芯尺寸:52mm*52mm*45mm
红外图像处理:非均匀校正,数字细节增强,滤波降噪
光学镜头:可根据用户需求定制镜头焦距和视场角
第二章 非制冷红外探测器驱动模块设计
为了使非制冷红外探测器能够正常工作,笔者使用FPGA对其输入一定的数字信号进行驱动, 该探测器的驱动信号引脚有如下: 主时钟信号(MCK),2路输入信号线SD0和SD1,4路并行数字信号输出DO0、DO1、DO2、和DO3 。
笔者使用FPGA发送给探测器的图像驱动信号主要有如下几种形式:
1.MCK: 整个驱动模块的主时钟,用于同步电路的工作状态,可以修改用来获得不同的帧频,占空比要求在0.45~0.55之间。
2.复位编码信号:只要探测器接收到36bit复位编码信号
("111111111111111111111111111111110000"),探测器即进入复位状态,FPGA通过SD0引脚将串行编码信号输出给探测器。
3.片上非均匀性校正控制引脚:FPGA通过SD0和SD1引脚给探测器输出OOC控制值,即FPGA将每一行的每个像元的片上非均匀性OOC控制值(该值获取方式见笔者编写的《非制冷红外探测器片上非均匀校正(on-chip offset calibration OOC)技术应用分析
》)传输给探测器,探测器实现所有像元的片上非均匀校正。
4.帧同步信号(FS):表示每一帧的开始信号,FPGA通过SD0引脚给探测器输出14bit帧同步编码信号("11111111010011")。
5.配置信号(config): FPGA通过SD0引脚给探测器输出14bit配置信号("11111111010101"),探测器在接收到配置头信号之后,探测器进入配置状态。
6.行同步信号(LS):表示每一行的开始信号,FPGA通过SD0引脚给探测器输出14bit行同步编码信号(" 11111111010111")。
7.探测器输出像元数据:当探测器接收完FPGA输出的行同步信号之后,探测器将像素输出数据将通过DO0~DO4四引脚发送给FPGA,FPGA对按照一定的格式完成数据拼接,处理后发送到后续算法模块。
第三章 非制冷红外探测器驱动模块状态机设计
FPGA具体驱动模式的状态机设计如下图1所示, 该图为探测器驱动模块状态机的状态转移图, 整个驱动模块可以分为8个状态。
- IDLE状态:为驱动模块的起始状态,若在此状态下探测器收到的复位编码信号,则转至RST状态, 若探测器计数器满足IDLE状态计数的参数,则转至config状态。
- RST状态:为驱动模块的复位状态,FPGA通过SD0引脚向探测器串行发送复位编码信号,探测器完成复位之后将转至IDLE状态。
- config状态: 为驱动模块的配置状态,FPGA通过SD0引脚向探测器串行发送配置编码信号, FPGA发完配置指令后发送探测器内部的配置参数,完成后转至FS状态
- FS状态: 为驱动模块的帧同步状态,FPGA通过SD0引脚向探测器串行发送FS编码信号, 完成后转至FS2LS状态。
- FS2LS状态:为驱动模块的过渡状态,为了满足帧头信号之后要隔一段时间出行同步信号的时序需求,所以该状态主要是为了计数器计满一段时间之后转至LS状态。
- LS状态:为驱动模块的行同步状态,该状态与FS状态类似, FGPA通过SD0引脚向探测器串行发送LS编码指令,完成后转至LINE状态。
- LINE状态:为驱动模块的像元数据获取状态,在该状态下会FPGA通过DO0~DO4四引脚并行发来的像元数据,FPGA以每七个时钟为一次计数,两两拼成一个14bit的有效数据,供后续模块使用。 并在此期间FPGA通过SD0和SD1同步发送像元的OOC控制值。当行计数器计满一行640个像元之后,FPGA判断行计数器是否满足512, 若不满足则回到LS状态,FPGA重新发送行同步信号, 若满足,则转至FE状态。
- FE状态:为驱动模块的等待结束状态, 若FPGA的计数器检测到帧尾计数完毕, 则回到初始的IDLE状态
图1 FPGA实现非制冷红外探测器驱动的状态机设计图
第四章 非制冷红外探测器非均匀校正参数的获取与存储
相机的非均匀校正包括片上非均匀校正(on-chip offset calibration OOC)和两点校正两部分,分别对应像素的增益非均匀性校正和偏移量非均匀性校正,需要PC机和FPGA逻辑配合完成, PC端需要存储空间较大, PC机使用特定的应用程序。
片上非均匀校正PC端应用程序通过遍历的方式,获取每个像元离工作点电压值最近的输出,即获取探测器每个像元的OOC校正值。笔者编写了专用的FPGA工艺程序,由PC端将探测器所有像元(640*512=327680)的OOC校正值通过串口传输给FPGA,FPGA逻辑再将所有的OOC校正参数烧写到flash芯片中。
偏移量非均匀性校正PC端应用程序获取相机在不同温度点的原始图像信息,并通过两点校正公式解算出相机在该温度段的KB校正参数,FPGA逻辑再将所有的KB参数烧写到flash芯片中。
第五章 OOC参数和两点校正KB参数的上电加载使用
相机上电后FPGA芯片PL端逻辑将Flash芯片中的327680个OOC参数、327680个K参数和327680个B参数加载到FPGA芯片的不同Block RAM中。在LS状态中,FPGA逻辑根据当前的行和列信息周而复始的调用每个像元的OOC参数完成每个像元的增益非均匀性校正, FPGA逻辑也根据当前的行和列信息周而复始的调用KB参数完成每个像元的偏移量非均匀性校正。
总结:本文较详细的介绍了如何使用FPGA实现非制冷红外探测器的驱动时序,如何实现非均匀校正的设计思想。
标签:状态,校正,模块,FPGA,引脚,探测器,与非,制冷 From: https://blog.csdn.net/chuangan77/article/details/143660015