本发明属于嵌入式存储测试及数据压缩技术领域,具体公开一种基于数据压缩技术的时间序列信号存储测试装置及方法。
背景技术:
在弹从发射到碰靶的过程中,弹载控制系统通常需要发出一系列作动信号来实现相关动作,如:发动机点火信号、爆炸螺栓起爆信号、时序控制信号、计数器周期信号等。为了检验弹载控制系统是否在规定的时间点给出相应信号,通常采用弹载时间序列信号存储测试装置来记录这些时间作动信号的电平特征,待碰靶回收后,读取装置中的数据可以作为评估弹载控制是否正常工作的依据。
现有的弹载时间序列信号存储测试装置通常以5-10倍于被测信号的采样率对被测信号进行采样,然后顺序的将每一个采样结果存储到存储器中,待弹碰靶后回读存储器中的数据。由于数据存储过程中并未对信号进行压缩处理,若弹的飞行时间太长或被测信号的频率较高,需要存储的数据量就会很大,通常需要选择NAND FLASH大容量存储器来对采集到的数据进行存储。但NAND FLASH存储器会随机出现坏块,如果在读取数据时,存储器中存储的存储有效数据段的存储块损坏,则会丢失一部分有效数据,对试验结果造成误判。
技术实现要素:
本发明所要解决的技术问题是提供一种基于数据压缩技术的时间序列信号存储测试装置及方法,可以有效提高存储测试装置的可靠性和降低装置的功耗。
本发明解决上述技术问题的技术方案如下:
一种基于数据压缩技术的时间序列信号存储测试装置,包括:
光电隔离器,用于将输入的多通道时间序列信号转换为标准电平数字信号;
CPLD器件,与所述光电隔离器连接,用于读取标准电平数字信号的高低电平,并将读取到的高低电平按数据压缩算法进行编码;
铁电存储器,与所述CPLD器件连接,用于存储编码后的数据;
数据回读模块,与所述CPLD器件连接,用于将存储的数据传输到上位机,由上位机对时间序列信号进行恢复还原并显示。
本发明的有益效果是:针对现有测试装置的不足,提出一种针对时间序列信号的数据压缩算法,并基于该算法设计了时间序列信号存储测试装置。由于采用了数据压缩算法,该装置采用铁电存储器作为存储介质即可满足对存储容量的需求,铁电存储器拥有高速读写,超低功耗和无限次写入等特性,且不会产生坏块,可以有效提高存储测试装置的可靠性和降低装置的功耗。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述数据回读模块包括稳压芯片U8,以及与所述稳压芯片U8连接的USB接口芯片U12和USB接口P5。
采用上述进一步方案的有益效果是:可热插拔,使用方便。
进一步,所述铁电存储器型号为FM22L16。
采用上述进一步方案的有益效果是:使得测试装置具有高速读写,超低功耗和无限次写入等特性。
进一步,所述USB接口芯片U12采用FT245BM芯片,所述稳压芯片U8采用AIC117;所述USB接口P5的引脚2通过电阻R11连接USB接口芯片U12的引脚7,所述电阻R11通过电阻R12连接USB接口芯片U12的引脚5;所述USB接口P5的引脚4通过电感连接稳压芯片U8的输入端,且同时连接到USB接口芯片U12的引脚26和引脚13;稳压芯片U8的输出端连接USB接口芯片U12的引脚30;所述USB接口P5的引脚1接地且通过电容C16连接USB接口P5的引脚4;所述USB接口P5的引脚3通过电阻R10连接USB接口芯片U12的引脚8。
采用上述进一步方案的有益效果是:FT245BM芯片是由FTDI公司推出的第二代USB接口芯片,与其他USB芯片相比,用户无需考虑固件设计以及驱动程序的编写,从而能大大缩短USB外设产品的开发周期。
进一步,所述光电隔离器采用TLP521光耦合器。
另外,本发明还提供了一种基于数据压缩技术的时间序列信号存储测试方法,基于上述存储测试装置,包括以下步骤:
(1)光电隔离器将输入的多通道时间序列信号转换为标准电平数字信号;
(2)CPLD器件读取标准电平数字信号的高低电平,并将读取到的高低电平按数据压缩算法进行编码;
(3)铁电存储器存储编码后的数据;
(4)数据回读模块将存储的数据传输到上位机,由上位机对时间序列信号进行恢复还原并显示。
进一步,所述步骤(2)的具体方法为:
当CPLD收到零时刻触发信号时,开始对各通道时间序列信号进行采样;
CPLD以10KHz的采样频率对各通道时间序列信号进行边沿跳变检测,将跳变时刻对应的时间和信号的逻辑值写入铁电存储器;其中跳变时刻的时间是相对于零时刻的时间。
采用上述进一步方案的有益效果是:通过这样的数据压缩方法,可以有效的减小存储容量的开销。
进一步,所述铁电存储器中地址为0x0000和0x0001的存储单元存储总时间,其中0x0000为时间低位,0x0001为时间高,其余每次信号跳变时依次占用3个存储单元。
附图说明
图1是本发明装置结构图;
图2是本发明数据回读模块接口电通道图;
图3基于本发明基于数据压缩技术的数据存储示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
针对现有测试装置的不足,提出一种针对时间序列信号的数据压缩算法,并基于该算法设计了时间序列信号存储测试装置。由于采用了数据压缩算法,该装置采用铁电存储器作为存储介质即可满足对存储容量的需求,铁电存储器拥有高速读写,超低功耗和无限次写入等特性,且不会产生坏块,可以有效提高存储测试装置的可靠性和降低装置的功耗。
如图1所示,本发明公开一种基于数据压缩技术的时间序列信号存储测试装置,包括:
光电隔离器,用于将输入的多通道时间序列信号转换为标准电平数字信号;
CPLD器件,与所述光电隔离器连接,用于读取标准电平数字信号的高低电平,并将读取到的高低电平按数据压缩算法进行编码;
铁电存储器,与所述CPLD器件连接,用于存储编码后的数据;采用铁电存储器作为存储测试装置的存储模块,使得测试装置具有高速读写,超低功耗和无限次写入等特性。
数据回读模块,与所述CPLD器件连接,用于将存储的数据传输到上位机,由上位机对时间序列信号进行恢复还原并显示。
该装置采用“CPLD+铁电存储器”的方案设计了时间序列信号存储测试装置,该装置具有功耗低、体积小、可靠性高、存储时间长等优点。
时间序列信号是控制器发出的一系列作动信号,本发明通过光耦对信号进行隔离,将序列信号转换为统一标准电平数字量信号,变换后的数字量信号可直接与CPLD的IO引脚连接,利用IO口即可对信号进行采样,而无需用通过AD转换芯片对其进行采样,因此,一通道时间序列信号的存储宽度为1bit。
本发明设计了数据回读模块和上位机回读软件,试验完成后由数据回读模块将存储测试装置中的数据回读到上位机,上位机通过对跳变时刻对于的时间和信号的逻辑值的分析可恢复出原始信号。图1中,通过光电隔离器,本发明选用TLP521光耦合器,将时间序列信号转换为标准电平数字信号,转换后的数字信号之间与CPLD的IO口连接。当CPLD收到零时刻触发信号后,开始对各通道信号进行采样,并按照本发明提出的数据存储方式将数据存储到铁电存储器中。带试验完成后再通过数据回读模块将铁电存储器中的数据回读到上位机,上位机对信号进行恢复后进行显示。
如图2所示,为本发明装置的数据回读模块接口电通道图。所述数据回读模块包括稳压芯片U8,以及与所述稳压芯片U8连接的USB接口芯片U12和USB接口P5。所述USB接口芯片U12采用FT245BM芯片,所述稳压芯片U8采用AIC117;所述USB接口P5的引脚2通过电阻R11连接USB接口芯片U12的引脚7,所述电阻R11通过电阻R12连接USB接口芯片U12的引脚5;所述USB接口P5的引脚4通过电感连接稳压芯片U8的输入端,且同时连接到USB接口芯片U12的引脚26和引脚13;稳压芯片U8的输出端连接USB接口芯片U12的引脚30;所述USB接口P5的引脚1接地且通过电容C16连接USB接口P5的引脚4;所述USB接口P5的引脚3通过电阻R10连接USB接口芯片U12的引脚8。
回读模块是PC机与采集存储模块之间数据交互的桥梁,PC机可通过该模块向下发送指令,采集存储模块根据指令执行相应的操作或将存储器中的数据上传到PC机。本发明基于FT245BM芯片设计回读电通道,FT245BM芯片是由FTDI公司推出的第二代USB接口芯片,与其他USB芯片相比,用户无需考虑固件设计以及驱动程序的编写,从而能大大缩短USB外设产品的开发周期。上位机回读得到数据后,根据数据压缩规则对数据进行解压还原处理。
本发明提出了一种基于数据压缩技术的时间序列信号存储测试方法,基于上述存储测试装置,包括以下步骤:
(1)光电隔离器将输入的多通道时间序列信号转换为标准电平数字信号;
(2)CPLD器件读取标准电平数字信号的高低电平,并将读取到的高低电平按数据压缩算法进行编码;具体过程为:
当CPLD收到零时刻触发信号时,开始对各通道时间序列信号进行采样;
CPLD以10KHz的采样频率对各通道时间序列信号进行边沿跳变检测,将跳变时刻对应的时间和信号的逻辑值写入铁电存储器;其中跳变时刻的时间是相对于零时刻的时间;
(3)铁电存储器存储编码后的数据;
(4)数据回读模块将存储的数据传输到上位机,由上位机对时间序列信号进行恢复还原并显示。
通过这样的数据压缩方法,可以有效节约存储容量。
如图3所示,为数据在铁电存储器中的编码方式,本发明以对16通道时间序列信号为例进行说明。本发明选用的铁电存储器型号为FM22L16,该存储器存储容量为256K×16bit。设采样频率为10KHz,当CPLD收到零时刻触发信号后开始工作,图中用存储器中地址为0x0000和0x0001的存储单元存储总时间,其中0x0000为时间低位,0x0001为时间高位,根据采样频率,每个0.1ms对总时间进行加1,则可以存储的时间总量为42948秒。当16通道信号中任意一通道信号发生跳变时,CPLD立即将对应的跳变时刻和跳变时刻的值存储铁电存储器:其中跳变时刻的时间是相对于零时刻的时间,也用两个存储单元进行存储;而由于每个数字量通道的值占用1bit,因此用一个存储单元可以存储16通道的值。这样,每次有信号跳变时即占用3个存储单元,则该片铁电存储器一共能够存储78000多次跳变。如果采用现有的方法,不对数据进行压缩处理,则存储相同时间量的信号需要6.8GB的存储容量。通过对比可以看出,本发明提出的数据压缩存储算法可以节约大量的存储空间。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。