1.一种小型化焦平面阵列测试数据采集和显示系统设计方法,包括以下步骤:S1、确定焦平面阵列测试数据采集和显示系统的总体架构;S2、在下位机中,对SoC芯片中的FPGA部分进行数字逻辑设计,提供焦平面阵列所需的工作时序并采集焦平面阵列获取的数据,工作时序信号与主时钟同步;S3、在下位机中,对SoC芯片中的ARM部分进行高级语言程序设计,采用双中断技术处理分别来自FPGA和上位机的中断请求,实现上位机与下位机的数据交换;S4、在上位机中,采用.NET框架设计图形界面对下位机进行控制,实现数据接收和解码,利用OpenTK以三维或二维模式对解码后的数据进行实时显示。
2.如权利要求1所述的小型化焦平面阵列测试数据采集和显示系统设计方法,其特征在于,采用计算机作为上位机,全可编程SoC电路板作为下位机,并制作系统的硬件壳体。
3.如权利要求1所述的小型化焦平面阵列测试数据采集和显示系统设计方法,其特征在于,S3中采用以太网接口实现上位机与下位机的数据交换。
4.如权利要求1所述的小型化焦平面阵列测试数据采集和显示系统设计方法,其特征在于,S4中在Visual Studio开发环境下,采用Visual C#语言进行设计。
5.如权利要求1所述的小型化焦平面阵列测试数据采集和显示系统设计方法,其特征在于,采用计算机作为上位机,全可编程SoC电路板作为下位机,下位机包括FPGA、ARM以及存储器,用于控制信号产生和数据传输;FPGA对焦平面阵列施加控制信号,并接收焦平面阵列采集到的数据;ARM控制FPGA的动作,并将FPGA采集的数据写入存储器,通过以太网接口或其他通讯接口实现与上位机的数据交换;数据解码和显示程序在上位机中实现。
6.如权利要求1所述的小型化焦平面阵列测试数据采集和显示系统设计方法,其特征在于,FPGA部分包括时序控制模块、传输使能模块、数据接收模块、读取控制模块、SPI接口以及AXI接口模块,采用Verilog硬件描述语言设计,ARM通过AXI接口,对传输使能、数据接收、读取控制以及SPI接口模块进行访问,采用C语言设计。
7.如权利要求6所述的小型化焦平面阵列测试数据采集和显示系统设计方法,其特征在于,FPGA的时序控制模块在外触发信号和时钟信号的控制下产生焦平面阵列所需的工作时序,焦平面阵列在工作时序作用下接收完单帧的光子信号后,产生读出时钟,数据接收模块在读出时钟的作用下采集数据,单帧数据采集完毕,数据接收模块产生传输使能信号,传输使能模块对ARM产生一个中断信号,使得ARM经由AXI接口,控制读取控制模块产生数据读取信号和相应的地址,将数据接收模块采集的信号写入存储器,ARM通过通讯接口,将存储器中的数据发送到上位机;ARM经由AXI接口控制SPI接口,实现焦平面阵列工作电压的设置和工作温度的获取。
8.如权利要求1所述的小型化焦平面阵列测试数据采集和显示系统设计方法,其特征在于,ARM处理来自传输使能模块和通讯接口的两个中断信号,在ARM初始化程序中,对通讯接口和传输使能模块对应的中断向量,在中断控制器中分配不同的寄存器地址,并分别编写中断处理程序,使得ARM能够随时响应上位机的通讯请求,并及时处理FPGA发送的数据传输请求,实现两个中断信号的协同配合。
9.如权利要求1所述的小型化焦平面阵列测试数据采集和显示系统设计方法,其特征在于,数据采集和解码通过通讯接口接收下位机发送的数据,将各帧数据按照焦平面阵列具体的数据格式解码,生成与焦平面阵列同等规模的二维数组,采集完用户指定的帧数后,经过规定的运算,将表示焦平面阵列数据的二维数组实时显示。
10.如权利要求1所述的小型化焦平面阵列测试数据采集和显示系统设计方法,其特征在于,在三维模式下,当用户按下鼠标键并移动鼠标时,视图绕平行于屏幕并垂直于鼠标移动方向的轴旋转,在三维模式和二维模式下,用户利用鼠标的滚轮实现视图的缩放;视图旋转参数的具体计算方法如下:设鼠标指针沿x、y方向移动的距离按绘图区域尺寸归一化后的值分别为Δx、Δy,令 则视图旋转参数r为一个四元数,按下式计算:视图缩放参数的具体计算方法如下:设鼠标滚轮的滚动距离为Δw,则视图缩放参数s按下式计算:s=c Δw ;其中c为常数,c>1。
11.如权利要求1所述的小型化焦平面阵列测试数据采集和显示系统设计方法,其特征在于,采用OpenTK实现测试数据实时可视化,不断检测OpenTK是否空闲,当OpenTK空闲时,清除绘图区域,获取用户通过鼠标操作指定的缩放和旋转参数设置视图矩阵,然后根据用户选择的二维模式或者三维模式绘制相应的图形,在二维模式中,OpenTK绘制二维色图,即用一个与焦平面阵列同等规模的二维网络表示焦平面阵列接收的数据,对于每一个格点采用不同颜色表示数值;在三维模式中,OpenTK绘制三维柱状图,对于每一个格点采用不同高度以及不同颜色的柱直观地表示相应规模焦平面阵列采集的数据,OpenTK更新绘图区域,继续接收后续的数据。