一种嵌入式prom测试系统及实现方法

文档序号:6766952阅读:468来源:国知局
一种嵌入式prom测试系统及实现方法
【专利摘要】本发明涉及应用于航天相机电子学中地面部分的一种嵌入式PROM测试系统及实现方法,包括上位机、测试FPGA、自定义接口以及存储单元。测试时,上位机将软核开发模块生成的软核代码和硬核开发模块生成的硬核代码合并后传送给测试FPGA;上位机将调试指令传送给测试FPGA后,资源调用模块从存储单元中读取PROM的测试数据,通过自定义接口模块对被测PROM进行配置和测试操作;测试结果返回给上位机,完成对PROM的功能测试。本发明大大缩短了PROM测试模块的开发时间,同时具有更高的可靠性。由于本发明简化了验证模块编写中的底层设计细节问题,使得不同项目不同型号的PROM只需要经过合理的参数配置就可以通过嵌入式方法与系统连接并进行测试,提高了设计的复用性和通用性。
【专利说明】—种嵌入式PROM测试系统及实现方法

【技术领域】
[0001]本发明属于航天遥感器【技术领域】,涉及应用于航天相机电子学中地面部分的一种嵌入式PROM测试系统及实现方法。

【背景技术】
[0002]随着航天技术的进步以及航天应用的进一步展开,航天实时传输型遥感相机电子学的任务日益复杂。在相机电子学中,因为需要存储大量数据,PROM器件得到了广泛使用。但是,目前对PROM等基础器件与FPGA接口硬件的测试仍依赖于用VHDLWerilog等硬件语言编写时序测试接口,这种开发方法较复杂,而且开发周期长,验证效率低。而且,在航天领域,对工程的高效性和易用性,器件的稳定性和可靠性都做了更高的要求。随着验证在整个系统开发中占用的人力资源与时间资源越来越大,其效率和可重用性却非常低,因此,发展高效的硬件验证技术已经成为提高搭建硬件平台效率的关键之一。同时,面对日趋激烈的航天竞争,更需要大力发展可靠、易用、高效的测试技术。由于嵌入式开发技术使系统集成度更高,功能更强,具有更高的可靠性以及更低的系统功耗,因此,嵌入式系统设计是航天控制电子系统发展的一个重要方向。


【发明内容】

[0003]本发明的目的是要解决【背景技术】中用FPGA进行PROM的接口测试时可靠性差、开发周期长、可重用性差等问题,为了解决上述问题,本发明通过自定义接口完成了对PROM数据的读取,通过软核代码、硬核代码分开设计的方式简化了验证模块编写中的底层设计细节问题,从而以嵌入式方式实现了 PROM的测试接口,得到一种高可靠性、高性能的接口测试方法。
[0004]本发明的上述目的是通过如下技术方案予以实现的:
[0005]一种嵌入式PROM测试系统,包括上位机、测试FPGA、自定义接口模块以及存储单元,其中:上位机内包括软核开发模块、硬核开发模块、代码合并模块和上位机控制模块;测试FPGA包括自定义接口模块、资源调用模块、时钟生成模块、信号接口模块和测试模块;其中:
[0006]软核开发模块:编写测试程序,生成被测PROM的测试数据,生成软核代码;
[0007]硬核开发模块:按照测试FPGA内的信号接口模块、测试模块、自定义接口模块、资源调用模块和时钟生成模块的功能生成硬核代码;
[0008]代码合并模块:用于将软核开发模块生成的软核代码和硬核开发模块生成的硬核代码总合为一个可下载、调试的代码文件,这个代码文件通过USB接口传给测试FPGA内的信号接口模块。这个代码文件能够被其它系统工程调用,提高了测试方法的通用性;
[0009]上位机控制模块:通过RS232接口向测试FPGA发送配置和调试指令,接收配置和测试结果并显示;
[0010]自定义接口模块:接收资源调用模块传来的PROM的初始配置数据和测试数据,按照PROM接口时序要求控制接口时序,向PROM发送配置数据和测试数据;测试完成后,将返回的测试数据传给测试模块中的测试结果处理模块;
[0011]自定义接口模块包括5个通用1设备接口(GP1),分别对应PROM的控制信号CE (片选使能)、OE (输出使能)、RESET (复位信号)、BUSY (状态指示)、DATA (数据信号)和CF(脉冲配置)。通过自定义接口模块进行时序控制,包括:使能接口信号、设置接口初始及末尾电平、通过设置参数控制各接口信号时序;
[0012]自定义接口模块按照PROM接口时序要求控制接口时序的过程为:控制OE信号保持低电平至少200ns,保证CE下降沿据第一个CLK信号上升沿的保持时间至少30ns,CE的高电平时间至少250ns,OE的低电平时间至少250ns ;0E上升沿据第一个数据到来不能超过25ns,CE下降沿据第一个数据到来不能超过25ns,CF低电平保持时间至少300ns,CF上升沿据第一个数据到来不能超过25ns。
[0013]自定义接口模块向PROM发送配置和测试数据的具体过程为:自定义接口模块控制地址寄存器在CF信号的上升沿复位,当被测PROM的BUSY引脚使能时,PROM进入配置状态,从配置存储器的首地址读出配置数据并写入PR0M,之后依次将配置存储器的地址加一,重复进行写入操作,直至将配置存储器中的全部配置数据发送完毕;当BUSY引脚为高时,表示该地址配置数据已被写入被测FPGA,地址寄存器停止增加,当前输入数据保存在DATA引脚上;BUSY置低后的第一个时钟上升沿,从DATA引脚输入数据;依次进行,直至数据传输完毕。
[0014]资源调用模块:通过数据总线调用存储单元内的数据,并将数据传给自定义接口模块;
[0015]时钟生成模块:生成快频率时钟和慢频率时钟。快频率时钟为主时钟的二分频或四分频,慢频率时钟小于20MHz。慢频率时钟供自定义接口模块和资源调用模块使用,快频率时钟供信号接口模块和测试模块使用;
[0016]信号接口模块,包括USB接口模块和RS232接口模块;USB接口模块用于接受上位机的代码合并模块向FPGA发送的FPGA初始配置数据和合并后的代码并传给测试模块;RS232接口模块用于接收上位机控制模块向测试FPGA发送的配置和调试指令并传给测试模块,将配置和测试结果反馈给上位机控制模块;
[0017]测试模块:包括命令解析模块、测试控制模块、中断控制模块、计时模块、测试结果处理模块;命令解析模块用于接收并解析信号接口模块中RS232接口模块传递的配置及调试指令;测试控制模块接收信号接口模块传来的数据和命令解析模块解析的信号,根据命令将接收到的数据通过资源调用模块存入存储单元;接收到开始测试的命令后,控制资源调用模块读取存储单元内的测试数据并传给自定义接口模块;控制计时模块对测试PROM的时间进行测量;接收中断测试命令并解析,通过中断控制模块完成相应进程的中断操作;中断控制模块受测试控制模块的控制,完成对测试PROM过程中各进程的控制;计时模块受测试控制模块的控制,用于测量PROM存入及输出数据的时间和速率;测试结果处理模块用于接收自定义接口模块返回的PROM测试数据并进行结果分析,并将分析结果传给信号接口模块并最终通过RS232接口传回上位机的上位机控制模块;
[0018]存储单元:用于存储PROM的初始配置数据和测试数据,测试时,资源调用模块通过数据总线调用存储数据。
[0019]一种嵌入式PROM测试方法,其实现步骤如下:
[0020](I)上位机的软核开发模块生成被测PROM测试数据,编写PROM的测试程序,生成软核代码;
[0021](2)上位机的硬核开发模块按照测试FPGA内的信号接口模块、测试模块、自定义接口模块、资源调用模块和时钟生成模块的功能生成硬核代码;
[0022](3)上位机的代码合并模块合并软核开发模块生成的软核代码和硬核开发模块生成的硬核代码,将合并后的代码通过USB接口传送给测试FPGA的信号接口模块;
[0023](4)上位机控制模块生成被测PROM的测试控制程序;
[0024](5)信号接口模块根据接收到的配置命令和初始配置数据对FPGA进行初始配置;
[0025](6)上位机控制模块将调试指令通过RS232接口模块传送信号接口模块,再传给测试模块中的命令解析模块,命令解析模块将格式解析后的命令传给测试控制模块;
[0026](7)测试控制模块将接收到的测试数据通过资源调用模块存入存储单元;
[0027](8)测试控制模块接收到开始测试的命令后,控制资源调用模块从存储单元中读取PROM初始配置数据和测试数据;
[0028](9)资源调用模块将配置数据和测试数据传给自定义接口模块;
[0029](10)自定义接口模块按照PROM接口时序要求,配置被测PROM ;
[0030](11)测试控制模块控制计时模块启动,同时自定义接口模块向被测PROM发送测试数据,发送完毕后,接受返回的数据,全部数据返回后,计时模块停止计时;
[0031](12)自定义接口模块将测试返回数据传给测试模块的测试结果处理模块,测试结果处理模块处理测试返回数据得出测试结论;
[0032](13)计时模块的计时结果和测试结果处理模块的测试结果返回给测试控制模块;再通过信号接口模块的RS232接口模块向上位机的上位机控制模块发送并显示,完成对PROM的功能测试。
[0033]本发明的积极效果:
[0034](I)本发明简化了验证模块编写中的底层设计细节问题,使得验证者更专注于应用层面的设计,极大地缩短了设计时间,提高了设计效率,更进一步降低了测试系统二次开发的难度;
[0035](2)本发明中的自定义接口模块采用通用1设备接口来控制接口信号,具有很好的稳定性和可靠性;
[0036](3)本发明采用软核与硬核独立开发的方法,使得不同项目不同型号的PROM只需要经过合理的参数配置就可以通过嵌入式方法与系统连接并进行测试,不但提高了设计的复用性和可改进性,而且提高了系统的易用性;
[0037]4、本发明充分利用了 FPGA的硬件资源,而且验证效率高;
[0038]5、本发明中采用自定义接口模块以及软硬结合的开发方式,大大降低了整个测试系统的设计风险。

【专利附图】

【附图说明】
[0039]图1为本发明嵌入式PROM测试系统的系统结构框图;
[0040]图2为本发明嵌入式PROM测试系统中软核开发模块和硬核开发模块的设计流程图;
[0041]图3为本发明嵌入式PROM测试系统中PROM的连接结构图;
[0042]图4为本发明嵌入式PROM测试系统中PROM的从模式接口时序;
[0043]图5为本发明嵌入式PROM测试系统的控制程序流程图;
[0044]图6为本发明嵌入式PROM测试系统中位交换数据示意图。

【具体实施方式】
[0045]如图1所示,本发明嵌入式PROM测试系统包括上位机、测试FPGA、自定义接口以及存储单元,其中:上位机内包括软核开发模块、硬核开发模块、代码合并模块和上位机控制模块;测试FPGA包括自定义接口模块、资源调用模块、时钟生成模块、信号接口模块和测试模块。
[0046]本发明PROM测试系统中上位机的软核开发模块在软件SDK中完成,软核开发模块生成被测PROM的测试数据,编写PROM的测试程序,生成软核代码。处理器选用的是Xilinx的MicroBlaze。MicroBlaze结构的一个突出优点是其一个完整的嵌入式系统可以通过多个IP核相互连接构成。这种构建方式具有兼容性,设计的灵活性和重复利用性。这种方式可以很容易的将系统不需要的部分去掉,实现软核处理器的最简化,实现资源的最有效利用,从而达到更高的整体系统性能。
[0047]本发明中测试系统的硬件模块设计在软件XPS中完成,硬件模块设计包括搭建硬件平台,添加所需要的IP核并设置工程参数。上位机的硬核开发模块按照测试FPGA内的信号接口模块、测试模块、自定义接口模块、资源调用模块和时钟生成模块的功能生成硬核代码。
[0048]上位机的代码合并模块合并软核开发模块生成的软核代码和硬核开发模块生成的硬核代码,这样就将嵌入式系统作为FPGA设计中控制和调度的子系统来使用,这个代码文件能够被其它系统工程调用,这样就可以经过二次开发在测试系统上满足航天相机焦面程序全部的功能要求。合并后的代码通过USB接口传送给测试FPGA的信号接口模块。
[0049]上位机控制模块通过RS232接口向测试FPGA发送配置指令,信号接口模块根据接收到的配置命令和初始配置数据对FPGA进行初始配置,同时将接收到的测试数据通过资源调用模块存入存储单元。
[0050]时钟生成模块生成快频率时钟和慢频率时钟。快频率时钟为主时钟的二分频或四分频,慢频率时钟小于20MHz。慢频率时钟供自定义接口模块和资源调用模块使用,快频率时钟供信号接口模块和测试模块使用。
[0051]上位机控制模块将调试指令通过RS232接口模块传送给信号接口模块,再传给测试模块。测试模块包括命令解析模块、测试控制模块、中断控制模块、计时模块、测试结果处理模块。命令解析模块接收并解析信号接口模块中RS232接口模块传递的配置及调试指令;测试控制模块控制计时模块对测试PROM的时间进行测量,测试过程中接收中断测试命令并解析,通过中断控制模块完成相应进程的中断操作。测试控制模块接收到开始测试的命令后,控制资源调用模块从存储单元中读取PROM初始配置数据和测试数据;然后,资源调用模块将配置数据和测试数据传给自定义接口模块。
[0052]测试控制模块控制计时模块启动,同时自定义接口模块向被测PROM发送测试数据。
[0053]自定义接口模块接收资源调用模块传来的PROM的测试数据,按照PROM接口时序要求控制接口时序,向PROM发送测试数据。自定义接口模块包括5个通用1设备接口(GP1),分别对应PROM的控制信号CE (片选使能)、OE (输出使能)、RESET (复位信号)、BUSY (状态指示)、DATA (数据信号)和CF (脉冲配置)。
[0054]PROM采用的是XiIinx的XCF32P芯片,其硬件连接结构如图3所示。自定义接口模块向PROM发送配置和测试数据的具体过程为:自定义接口模块控制地址寄存器在CF信号的上升沿复位,当被测PROM的BUSY引脚使能时,PROM进入配置状态,从配置存储器的首地址读出配置数据并写入PR0M,之后依次将配置存储器的地址加一,重复进行写入操作,直至将配置存储器中的全部配置数据发送完毕;当BUSY引脚为高时,表示该地址配置数据已被写入被测FPGA,地址寄存器停止增加,当前输入数据保存在DATA引脚上;BUSY置低后的第一个时钟上升沿,从DATA引脚输入数据;依次进行,直至数据传输完毕。
[0055]本发明中,存储数据的PROM采用从模式,其读时序如图4所示。从时序图中可知,当CE信号为低时,如果OE信号置高,将读出第一个数据;此后,保持CE信号为低,OE信号为高,在时钟信号CLK的每个上升沿,读出一个新的数据。全部数据读出后,再将CE置高,OE置低。在本发明中,将通过自定义接口模块来控制输出这一时序。
[0056]自定义接口模块按照PROM接口时序要求控制接口时序的过程为:控制OE信号保持低电平至少200ns,保证CE下降沿据第一个CLK信号上升沿的保持时间至少30ns,CE的高电平时间至少250ns,OE的低电平时间至少250ns ;0E上升沿据第一个数据到来不能超过25ns,CE下降沿据第一个数据到来不能超过25ns,CF低电平保持时间至少300ns,CF上升沿据第一个数据到来不能超过25ns。
[0057]通过在MicroBlaze内嵌入式编程实现时序控制,流程如图5所示。首先,对系统进行初始化,初始化的主要任务是将CLK,CE,0E, CF,DATA信号与地址绑定,并设定信号数据方向。然后,通过给信号赋值的方式将信号置高或置低。第一步是使各信号满足PROM初始时序要求。之后,将PROM的时钟信号相继置高置低,串行读出数据。因为数据的有效宽度为8位,因此通过8次循环读出一个完整的数据。需要说明的是,PROM输出的每个字节都经过位交换,交换方式如图6所示,例如读出的一个十六进制表示的8位有效数据为08,二进制表示为0000 1000,按照图6所示的方式进行位交换后,二进制表示变为0001 0000,对应的十六进制数为10。因此FPGA接收到的实际数据位10。因此在将数据读出后需要再次进行位交换以还原原始数据。重复这一过程,直到读出所有的数据,最后按照PROM时序要求将各信号置为末态值。
[0058]全部测试数据接收完毕后,计时模块停止计时。PROM测试数据通过自定义接口模块发送给测试结果处理模块,测试结果处理模块进行结果分析,计时模块的计时结果和测试结果处理模块的测试结果返回给测试控制模块;将分析结果传给信号接口模块并最终通过RS232接口传回上位机的上位机控制模块,完成整个PROM的测试。
【权利要求】
1.一种嵌入式PROM测试系统,其特征在于包括上位机、测试FPGA、自定义接口模块以及存储单元,其中:上位机内包括软核开发模块、硬核开发模块、代码合并模块和上位机控制模块;测试FPGA包括自定义接口模块、资源调用模块、时钟生成模块、信号接口模块和测试模块;其中: 软核开发模块:编写测试程序,生成被测PROM的测试数据,生成软核代码; 硬核开发模块:按照测试FPGA内的信号接口模块、测试模块、自定义接口模块、资源调用模块和时钟生成模块的功能生成硬核代码; 代码合并模块:用于将软核开发模块生成的软核代码和硬核开发模块生成的硬核代码总合为一个可下载、调试的代码文件,这个代码文件通过USB接口传给测试FPGA内的信号接口模块。这个代码文件能够被其它系统工程调用,提高了测试方法的通用性; 上位机控制模块:通过RS232接口向测试FPGA发送配置和调试指令,接收配置和测试结果并显不; 自定义接口模块:接收资源调用模块传来的PROM的初始配置数据和测试数据,按照PROM接口时序要求控制接口时序,向PROM发送配置数据和测试数据;测试完成后,将返回的测试数据传给测试模块中的测试结果处理模块; 自定义接口模块包括5个通用1设备接口(GP1),分别对应PROM的控制信号CE (片选使能)、OE (输出使能)、RESET (复位信号)、BUSY (状态指示)、DATA (数据信号)和CF (脉冲配置)。通过自定义接口模块进行时序控制,包括:使能接口信号、设置接口初始及末尾电平、通过设置参数控制各接口信号时序; 自定义接口模块按照PROM接口时序要求控制接口时序的过程为:控制OE信号保持低电平至少200ns,保证CE下降沿据第一个CLK信号上升沿的保持时间至少30ns,CE的高电平时间至少250ns,OE的低电平时间至少250ns ;0E上升沿据第一个数据到来不能超过25ns,CE下降沿据第一个数据到来不能超过25ns,CF低电平保持时间至少300ns,CF上升沿据第一个数据到来不能超过25ns。 自定义接口模块向PROM发送配置和测试数据的具体过程为:自定义接口模块控制地址寄存器在CF信号的上升沿复位,当被测PROM的BUSY引脚使能时,PROM进入配置状态,从配置存储器的首地址读出配置数据并写入PR0M,之后依次将配置存储器的地址加一,重复进行写入操作,直至将配置存储器中的全部配置数据发送完毕;当BUSY引脚为高时,表示该地址配置数据已被写入被测FPGA,地址寄存器停止增加,当前输入数据保存在DATA引脚上;BUSY置低后的第一个时钟上升沿,从DATA引脚输入数据;依次进行,直至数据传输完毕。 资源调用模块:通过数据总线调用存储单元内的数据,并将数据传给自定义接口模块; 时钟生成模块:生成快频率时钟和慢频率时钟。快频率时钟为主时钟的二分频或四分频,慢频率时钟小于20MHz。慢频率时钟供自定义接口模块和资源调用模块使用,快频率时钟供信号接口模块和测试模块使用; 信号接口模块,包括USB接口模块和RS232接口模块;USB接口模块用于接受上位机的代码合并模块向FPGA发送的FPGA初始配置数据和合并后的代码并传给测试模块;RS232接口模块用于接收上位机控制模块向测试FPGA发送的配置和调试指令并传给测试模块,将配置和测试结果反馈给上位机控制模块; 测试模块:包括命令解析模块、测试控制模块、中断控制模块、计时模块、测试结果处理模块;命令解析模块用于接收并解析信号接口模块中RS232接口模块传递的配置及调试指令;测试控制模块接收信号接口模块传来的数据和命令解析模块解析的信号,根据命令将接收到的数据通过资源调用模块存入存储单元;接收到开始测试的命令后,控制资源调用模块读取存储单元内的测试数据并传给自定义接口模块;控制计时模块对测试PROM的时间进行测量;接收中断测试命令并解析,通过中断控制模块完成相应进程的中断操作;中断控制模块受测试控制模块的控制,完成对测试PROM过程中各进程的控制;计时模块受测试控制模块的控制,用于测量PROM存入及输出数据的时间和速率;测试结果处理模块用于接收自定义接口模块返回的PROM测试数据并进行结果分析,并将分析结果传给信号接口模块并最终通过RS232接口传回上位机的上位机控制模块; 存储单元:用于存储PROM的初始配置数据和测试数据,测试时,资源调用模块通过数据总线调用存储数据。
2.一种嵌入式PROM测试方法,其特征在于实现步骤如下: (1)上位机的软核开发模块生成被测PROM测试数据,编写PROM的测试程序,生成软核代码; (2)上位机的硬核开发模块按照测试FPGA内的信号接口模块、测试模块、自定义接口模块、资源调用模块和时钟生成模块的功能生成硬核代码; (3)上位机的代码合并模块合并软核开发模块生成的软核代码和硬核开发模块生成的硬核代码,将合并后的代码通过USB接口传送给测试FPGA的信号接口模块; (4)上位机控制模块生成被测PROM的测试控制程序; (5)信号接口模块根据接收到的配置命令和初始配置数据对FPGA进行初始配置; (6)上位机控制模块将调试指令通过RS232接口模块传送信号接口模块,再传给测试模块中的命令解析模块,命令解析模块将格式解析后的命令传给测试控制模块; (7)测试控制模块将接收到的测试数据通过资源调用模块存入存储单元; (8)测试控制模块接收到开始测试的命令后,控制资源调用模块从存储单元中读取PROM初始配置数据和测试数据; (9)资源调用模块将配置数据和测试数据传给自定义接口模块; (10)自定义接口模块按照PROM接口时序要求,配置被测PROM; (11)测试控制模块控制计时模块启动,同时自定义接口模块向被测PROM发送测试数据,发送完毕后,接受返回的数据,全部数据返回后,计时模块停止计时; (12)自定义接口模块将测试返回数据传给测试模块的测试结果处理模块,测试结果处理模块处理测试返回数据得出测试结论; (13)计时模块的计时结果和测试结果处理模块的测试结果返回给测试控制模块;再通过信号接口模块的RS232接口模块向上位机的上位机控制模块发送并显示,完成对PROM的功能测试。
【文档编号】G11C29/56GK104200846SQ201410353069
【公开日】2014年12月10日 申请日期:2014年7月23日 优先权日:2014年7月23日
【发明者】张京晶, 万旻, 翟国芳, 马飞, 包斌 申请人:北京空间机电研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1