小型化焦平面阵列测试数据采集和显示系统设计方法与流程

文档序号:25355079发布日期:2021-06-08 14:34阅读:204来源:国知局
小型化焦平面阵列测试数据采集和显示系统设计方法与流程

1.本发明涉及电子产品测试技术和计算机程序设计技术领域,具体涉及小型化焦平面阵列测试数据采集和显示系统设计方法。


背景技术:

2.为了评估焦平面阵列的性能,在焦平面阵列的研发和生产阶段,需要对焦平面阵列进行测试。测试的方法是:对焦平面阵列施加电压和光照后,根据不同种类焦平面阵列的工作时序施加控制信号,并采集焦平面阵列的输出数据,同时监测焦平面阵列的工作温度;对于采集得到的数据,利用计算机进行数据处理,实现测试数据的显示。然而,传统的测试方法需要用到信号发生器、逻辑分析仪等仪器,操作过程繁琐,而且对于焦平面阵列采集的数据无法实现实时动态显示,测试效率较低。
3.过去已出现了一些焦平面阵列自动化测试系统。但是,这些测试系统当中有些需要依赖第三方设备,开发成本较高;有些需要在fpga中采用早期的胶合逻辑进行测试数据整合,复杂度较高,难以维护;有些测试系统中fpga产生的时序信号未与主时钟同步,存在数据采集混乱的风险。在用户界面设计方面,过去的一些测试系统在visual c++中采用opengl编写,开发难度大,可维护性差,程序的可靠性有待改进;而通用的三维图形显示模块为了适应各种应用需求,包含复杂的数据处理程序,造成程序运行的速度较慢,不利于焦平面阵列数据的实时显示。
4.为了提高焦平面阵列测试的自动化程度,减少人工干预,本发明提出了一种小型化测试系统,该系统融合数字逻辑设计技术和高级语言程序设计技术,使得用户通过图形界面的简单操作即可实现焦平面阵列测试数据的采集和实时显示。由于优化了设计流程,采用全可编程soc和opentk等新技术,解决了fpga工作时序同步、arm双中断处理等问题,与过去的测试系统相比,本发明提出的焦平面阵列测试数据采集和显示系统,具有更加清晰的设计思路,系统的可维护性、可扩展性、可靠性较好,可实现快速的测试数据三维重建显示。


技术实现要素:

5.本发明的目的在于提供一种小型化焦平面阵列测试数据采集和显示系统设计方法,用于解决上述现有技术的问题。
6.本发明一种小型化焦平面阵列测试数据采集和显示系统设计方法,包括以下步骤:s1、确定焦平面阵列测试数据采集和显示系统的总体架构;s2、在下位机中,对soc芯片中的fpga部分进行数字逻辑设计,提供焦平面阵列所需的工作时序并采集焦平面阵列获取的数据,工作时序信号与主时钟同步;s3、在下位机中,对soc芯片中的arm部分进行高级语言程序设计,采用双中断技术处理分别来自fpga和上位机的中断请求,实现上位机与下位机的数据交换;s4、在上位机中,采用.net框架设计图形界面对下位机进行控制,实现数据接收和解码,利用opentk以三维或二维模式对解码后的数据进行实时显示。
7.根据本发明所述的小型化焦平面阵列测试数据采集和显示系统设计方法的一实施例,其中,采用计算机作为上位机,全可编程soc电路板作为下位机,并制作系统的硬件壳体。
8.根据本发明所述的小型化焦平面阵列测试数据采集和显示系统设计方法的一实施例,其中,s3中采用以太网接口实现上位机与下位机的数据交换。
9.根据本发明所述的小型化焦平面阵列测试数据采集和显示系统设计方法的一实施例,其中,s4中在visual studio开发环境下,采用visual c#语言进行设计。
10.根据本发明所述的小型化焦平面阵列测试数据采集和显示系统设计方法的一实施例,其中,采用计算机作为上位机,全可编程soc电路板作为下位机,下位机包括fpga、arm以及存储器,用于控制信号产生和数据传输;fpga对焦平面阵列施加控制信号,并接收焦平面阵列采集到的数据;arm控制fpga的动作,并将fpga采集的数据写入存储器,通过以太网接口或其他通讯接口实现与上位机的数据交换;数据解码和显示程序在上位机中实现。
11.根据本发明所述的小型化焦平面阵列测试数据采集和显示系统设计方法的一实施例,其中,fpga部分包括时序控制模块、传输使能模块、数据接收模块、读取控制模块、spi接口以及axi接口模块,采用verilog硬件描述语言设计,arm通过axi接口,对传输使能、数据接收、读取控制以及spi接口模块进行访问,采用c语言设计。
12.根据本发明所述的小型化焦平面阵列测试数据采集和显示系统设计方法的一实施例,其中,fpga的时序控制模块在外触发信号和时钟信号的控制下产生焦平面阵列所需的工作时序,焦平面阵列在工作时序作用下接收完单帧的光子信号后,产生读出时钟,数据接收模块在读出时钟的作用下采集数据,单帧数据采集完毕,数据接收模块产生传输使能信号,传输使能模块对arm产生一个中断信号,使得arm经由axi接口,控制读取控制模块产生数据读取信号和相应的地址,将数据接收模块采集的信号写入存储器,arm通过通讯接口,将存储器中的数据发送到上位机;arm经由axi接口控制spi接口,实现焦平面阵列工作电压的设置和工作温度的获取。
13.根据本发明所述的小型化焦平面阵列测试数据采集和显示系统设计方法的一实施例,其中,arm处理来自传输使能模块和通讯接口的两个中断信号,在arm初始化程序中,对通讯接口和传输使能模块对应的中断向量,在中断控制器中分配不同的寄存器地址,并分别编写中断处理程序,使得arm能够随时响应上位机的通讯请求,并及时处理fpga发送的数据传输请求,实现两个中断信号的协同配合。
14.根据本发明所述的小型化焦平面阵列测试数据采集和显示系统设计方法的一实施例,其中,数据采集和解码通过通讯接口接收下位机发送的数据,将各帧数据按照焦平面阵列具体的数据格式解码,生成与焦平面阵列同等规模的二维数组,采集完用户指定的帧数后,经过规定的运算,将表示焦平面阵列数据的二维数组实时显示。
15.根据本发明所述的小型化焦平面阵列测试数据采集和显示系统设计方法的一实施例,其中,在三维模式下,当用户按下鼠标键并移动鼠标时,视图绕平行于屏幕并垂直于鼠标移动方向的轴旋转,在三维模式和二维模式下,用户利用鼠标的滚轮实现视图的缩放;视图旋转参数的具体计算方法如下:设鼠标指针沿x、y方向移动的距离按绘图区域尺寸归一化后的值分别为δx、δy,令则视图旋转参数r为一个四元数,按下式
计算:视图缩放参数的具体计算方法如下:设鼠标滚轮的滚动距离为δw,则视图缩放参数s按下式计算:s=c
δw
;其中c为常数,c>1。
16.根据本发明所述的小型化焦平面阵列测试数据采集和显示系统设计方法的一实施例,其中,采用opentk实现测试数据实时可视化,不断检测opentk是否空闲,当opentk空闲时,清除绘图区域,获取用户通过鼠标操作指定的缩放和旋转参数设置视图矩阵,然后根据用户选择的二维模式或者三维模式绘制相应的图形,在二维模式中,opentk绘制二维色图,即用一个与焦平面阵列同等规模的二维网络表示焦平面阵列接收的数据,对于每一个格点采用不同颜色表示数值;在三维模式中,opentk绘制三维柱状图,对于每一个格点采用不同高度以及不同颜色的柱直观地表示相应规模焦平面阵列采集的数据,opentk更新绘图区域,继续接收后续的数据。
17.本发明融合数字逻辑和高级语言程序设计方法,设计一种小型化焦平面阵列测试数据采集和显示系统,使得用户通过简单的图形界面操作即可实现焦平面阵列测试数据的采集和实时显示。本发明提出的焦平面阵列测试系统充分融合数字逻辑和高级语言程序的优势,简化了用户的操作,实现了焦平面阵列测试数据的采集和实时显示,在焦平面阵列的研发和生产阶段为焦平面阵列的性能评估提供了便利。
附图说明
18.图1为本发明采用的焦平面阵列测试系统总体框图;
19.图2为本发明中下位机arm与fpga协同设计原理框图;
20.图3为本发明中上位机程序工作原理示意图;
21.图4为本发明中上位机采用opentk实现测试数据实时可视化的流程图。
具体实施方式
22.为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
23.本发明提供了一种小型化焦平面阵列测试数据采集和显示系统设计方法,包括以下步骤:
24.按照步骤s1~s4进行焦平面阵列测试数据采集和显示系统设计,
25.s1、确定焦平面阵列测试数据采集和显示系统的总体架构,在本发明中,采用计算机作为上位机,全可编程soc电路板作为下位机,并制作系统的硬件壳体;
26.s2、在下位机中,对soc芯片中的fpga部分进行数字逻辑设计,提供焦平面阵列所需的工作时序并采集焦平面阵列获取的数据,工作时序信号与主时钟同步;
27.s3、在下位机中,对soc芯片中的arm部分进行高级语言程序设计,采用双中断技术处理分别来自fpga和上位机的中断请求,实现上位机与下位机的数据交换;
28.s4、在上位机中,采用.net框架设计图形界面对下位机进行控制,实现数据接收和解码,利用opentk以三维或二维模式对解码后的数据进行实时显示。
29.优选地,步骤s2中,采用verilog语言进行设计。
30.优选地,步骤s3中,采用c语言进行设计。
31.优选地,步骤s3中,采用以太网接口实现上位机与下位机的数据交换。
32.优选地,步骤s4中,在visual studio开发环境下,采用visual c#语言进行设计。
33.焦平面阵列测试系统总体架构
34.如图1所示,本发明采用计算机(pc)作为上位机,全可编程soc电路板作为下位机。下位机包括fpga、arm、存储器等模块,用于控制信号产生和数据传输。fpga对焦平面阵列施加控制信号,并接收焦平面阵列采集到的数据;arm控制fpga的动作,并将fpga采集的数据写入存储器,通过以太网接口或其他通讯接口实现与上位机的数据交换。数据解码和显示程序在上位机中实现。设计小型化壳体,实现整个测试系统的硬件结构。
35.下位机时序控制、数据传输、通讯接口模块设计
36.如图2所示,下位机采用全可编程soc实现arm与fpga的协同设计。
37.fpga部分包括时序控制、传输使能、数据接收、读取控制、spi接口、axi接口等模块,采用verilog硬件描述语言设计。arm通过axi接口,对传输使能、数据接收、读取控制、spi接口模块进行访问,其中的程序采用c语言设计。
38.时序控制模块在外触发信号和时钟信号的控制下产生焦平面阵列所需的工作时序。焦平面阵列在工作时序作用下接收完单帧的光子信号后,产生读出时钟,数据接收模块在读出时钟的作用下采集数据。单帧数据采集完毕,数据接收模块产生传输使能信号,传输使能模块对arm产生一个中断信号,使得arm经由axi接口,控制读取控制模块产生数据读取信号和相应的地址,将数据接收模块采集的信号写入存储器。然后,arm通过以太网接口等通讯接口,将存储器中的数据发送到上位机。另一方面,arm经由axi接口控制spi接口,实现焦平面阵列工作电压的设置和工作温度的获取,这个过程也通过通讯接口与上位机实现数据交换。
39.本发明中,为了保证下位机采集到的数据稳定,在时序控制模块中引入了工作时序与时钟信号的同步处理,使得工作时序总是在时钟的上升沿发生变化。这样,无论焦平面阵列的读出电路是否考虑了时钟同步问题,本发明提出的测试系统均能保证时钟同步。
40.arm需要处理来自传输使能模块和通讯接口的两个中断信号,这两个中断信号相互独立,因此本发明采用双中断处理技术解决中断冲突的问题。具体的做法是,在arm初始化程序中,对通讯接口和传输使能模块对应的中断向量,在中断控制器中分配不同的寄存器地址,并分别编写中断处理程序。这样,arm可以随时响应上位机的通讯请求,并及时处理fpga发送的数据传输请求,实现两个中断信号的协同配合。
41.上位机数据接收、解码、显示程序设计
42.为了方便用户在上位机的操作,在visual studio平台下,采用visual c#语言设计图形界面程序,该程序采用.net框架,以方便设计的过程。如图3所示,用户通过图形界面调整参数,控制数据采集、解码和显示的过程。
43.用户通过设置工作电压、距离门、采集帧数等参数,控制数据采集和解码模块的具体动作。数据采集和解码模块通过通讯接口接收下位机发送的数据,将各帧数据按照焦平面阵列具体的数据格式解码,生成与焦平面阵列同等规模的二维数组。该模块也实现了数据统计、温度采集的功能。采集完用户指定的帧数后,该模块经过规定的运算,将表示焦平面阵列数据的二维数组送往数据可视化模块用于实时显示。
44.用户对数据可视化模块的操作包括旋转和缩放,以及三维模式和二维模式的选
择。视图旋转和缩放参数由用户的鼠标操作确定。在三维模式下,当用户按下鼠标键并移动鼠标时,视图绕平行于屏幕、垂直于鼠标移动方向的轴旋转。在三维模式和二维模式下,用户利用鼠标的滚轮实现视图的缩放。
45.视图旋转参数的具体计算方法如下:
46.设鼠标指针沿x、y方向移动的距离按绘图区域尺寸归一化后的值分别为δx、δy,令则视图旋转参数r为一个四元数,按下式计算:
[0047][0048]
视图缩放参数的具体计算方法如下:
[0049]
设鼠标滚轮的滚动距离为δw,则视图缩放参数s按下式计算:
[0050]
s=c
δw
[0051]
其中c为常数,c>1。
[0052]
为了兼容.net框架,实现快速的三维数据实时显示,本发明采用opentk编写数据可视化模块。采用opentk实现测试数据实时可视化的流程如图4所示。程序不断检测opentk是否空闲,当opentk空闲时,清除绘图区域,获取用户通过鼠标操作指定的缩放和旋转参数设置视图矩阵,然后根据用户选择的二维模式或者三维模式绘制相应的图形。在二维模式中,opentk绘制二维色图,即用一个与焦平面阵列同等规模的二维网络表示焦平面阵列接收的数据,对于每一个格点采用不同颜色表示数值;在三维模式中,opentk绘制三维柱状图,对于每一个格点采用不同高度、不同颜色的柱直观地表示相应规模焦平面阵列采集的数据。由于用户指定了距离门,在这两种模式中,只显示距离门范围内的数值。最后,opentk更新绘图区域,继续接收后续的数据。本发明采用opentk,针对焦平面阵列数据的实时显示编写专用的程序,不涉及通用绘图模块中与本发明功能无关的大量数据处理,因此可实现高速的二维和三维图形显示。
[0053]
基于以上原理,如图1至图4所示,本发明实施例提供了一种小型化焦平面阵列测试数据采集和显示系统设计方法,包括以下步骤:
[0054]
按照步骤s1~s4进行焦平面阵列测试数据采集和显示系统设计,
[0055]
s1、确定焦平面阵列测试数据采集和显示系统的总体架构,在本发明中,采用计算机作为上位机,全可编程soc电路板作为下位机,并制作系统的硬件壳体;
[0056]
s2、在下位机中,对soc芯片中的fpga部分采用verilog语言进行数字逻辑设计,提供焦平面阵列所需的工作时序并采集焦平面阵列获取的数据,工作时序信号与主时钟同步;
[0057]
s3、在下位机中,对soc芯片中的arm部分采用c语言进行高级语言程序设计,采用双中断技术处理分别来自fpga和上位机的中断请求,经由以太网接口实现上位机与下位机的数据交换;
[0058]
s4、在上位机中,在visual studio平台下,采用.net框架进行设计,通过图形界面对下位机进行控制,实现数据接收和解码,利用opentk以三维或二维模式对解码后的数据进行实时显示。
[0059]
本发明旨在实现一种小型化焦平面阵列测试数据采集和显示系统,设计过程充分
考虑了数字逻辑和高级语言程序设计的特点。在下位机的设计中,采用verilog语言设计了数字逻辑模块产生焦平面阵列工作时所需要的时序信号并接收焦平面阵列获取的信号,采用c语言设计了用于上位机和下位机的数据交换的通讯接口程序;在上位机中,在visual studio开发环境下,采用.net框架编写visual c#应用程序设计图形界面,实现采集过程控制、数据采集、数据解码等功能,利用opentk以三维或二维模式显示焦平面阵列测试数据。
[0060]
与过去的一些自动化测试系统相比,本发明采用全可编程soc、opentk等新技术,解决了fpga工作时序同步、arm双中断处理等问题,具有更加清晰的设计思路,提高了测试系统的可维护性、可扩展性和可靠性。由于采用兼容.net框架的opentk编写专门针对焦平面阵列测试数据显示的模块,不涉及通用绘图软件中大量与本发明无关的功能,本发明可实现快速的测试数据三维重建显示。
[0061]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1