硬件系统框图

实物图

FPGA模块框图

模块功能说明
I2C配置模块
该模块兼有I2C接口配置功能和挡片控制功能,硬件上这两者的信号进行了复用,采用ADR信号进行两种功能的切换。当ADR为高电平时为I2C模式,此时挡片不生效,当ADR为低电平时为挡片模式,此时I2C不生效。
挡片控制模块
该模块根据按键控制模块送来的挡片校正触发信号进行挡片的闭合、维持、打开这几步动作,挡片闭合以后给存图模块发送存图触发信号,接着维持闭合状态250ms以上,最后再把挡片打开,至此完成一次完整的单点校正的挡片控制流程。
按键控制模块
该模块在代码中实际对应2个分立模块,对按键进行去抖以及下降沿检测,同时还可以根据下降沿检测的结果进行计数器计数,如果计数器模式选择摸1计数器,那么就相当于按键控制信号的翻转,用了控制算法的开关切换很方便。
高速IO缓冲模块
由PC时钟同步,对DVP输入信号VS、HS、D[7:0]进行打拍操作,打拍的作用在于提高DVP接口信号的时序性能,使数据采集更加稳定。该模块实际上就是个移位寄存器模块,移位寄存器了3拍。
DVP数据解析模块
该模块将每两个时钟的数据拼接成一个数据,即两个8bits数据拼成16bits数据,再从16bits中取出14bits的有效数据输出,接口依然是DVP接口,但是增加了一个DE信号来表征数据有效,和原始DVP接口相比差一点在于每两个时钟才有一个有效数据。
DVP转Avalon-ST模块
该模块将DVP接口转换成Avalon-ST视频裸流,本设计中的图像处理算法均采用Avalon-ST视频裸流(或标准流),因此在进行图像处理之前进行必要的视频接口转换,方便内部图像处理模块进行处理。
触发存图模块
根据外部的触发信号控制进行存图,该模块主要是为单点校正算法模块服务的,目的是吧均匀背景帧数据存储到SDRAM中,作为单点校正的校正参考数据。
单点校正模块
单点校正算法模块,该模块从SDRAM中读出校正背景数据,用原始图像减去校正图像,再加上一个合适的偏置值(防止减完结果为负数)即可得到校正后的图像,单点校正模块可以有效去除探测器的固定偏置噪声,使图像质量明显提高。
SDRAM控制器模块
初始化SDRAM并控制SDRAM的数据读写,提供了2个用户写接口和2个用户读接口,屏蔽了SDRAM复杂的底层操作,如刷新、BANK切换、指令控制等,用户接口本质上就是FIFO接口,用户只需要简单地配置好初始地址和结束地址,就可以无脑往FIFO中写数据或者从FIFO中读出数据。
直方图均衡模块
该模块实现了灰度直方图均衡算法,该算法可以直方图将过于集中的图像的直方图均衡分布到各个灰度上,最直观的作用就是提升了图像的对比度。由于红外探测器是响应的微笑热量差异,所以最终输出的图像灰度值差异很小,这就导致图像的直方图过于集中,图像对比度极差不便于人眼观察。因此使用直方图均衡化模块提升图像的对比度。
AST裸流转标准流模块
该模块将Avalon-ST裸流转换成标准流,因为本设计用到了Altera官方的放大模块,其接口是Avalon-ST标准流,而我们自行设计的算法模块为了节约资源和方便起见都是采用的Avalon-ST裸流,所以需要在我们自己设计的算法模块后面加一级编码模块转换成标准的Avalon-ST视频流送给放大模块使用。
图像放大模块
该模块是Altera官方的放大模块,将256*200的视频放大到480*320分辨率。需要注意,该模块需要有对应的license,否则生产的sof是有时间限制的,只能用于调试,不能固化。
AST标准流转裸流模块
该模块将Avalon-ST标准流转换成裸流,因为本设计用到了Altera官方的放大模块,其接口是Avalon-ST标准流,而我们自行设计的算法模块为了节约资源和方便起见都是采用的Avalon-ST裸流,所以需要在图像放大模块后面加一级解码模块转换Avalon-ST视频裸流送给后级的伪彩色模块使用。
伪彩色模块
将灰度图像转换成菜色图像,该模块实际上就是个映射表,将某一灰度映射为对应的彩色数据,输入灰度为8bits、彩色数据采用RGB888格式,使用RAM保存映射映射表、用初始化文件初始化RAM的值(实际上是把RAM当ROM使用了)。
VGA显示模块
该模块功能是从SDRAM中读出数据并转换成VGA时序送给显示屏进行显示。
如果您需要TN256模块或者FPGA源码(免费)请致信邮箱:865021481@qq.com,或者ikkkkg魏姓联系。
396

被折叠的 条评论
为什么被折叠?



