基于TMS320F2812存储测试系统设计

2011-03-16 06:17何军马铁华崔敏杨磊
电子测试 2011年5期
关键词:游程压缩算法字符串

何军,马铁华,崔敏,杨磊

(中北大学 电子测试技术国防科技重点实验室,山西太原030051)

0 引言

在军工生产和新型武器研制过程中离不开先进的测试技术。对各项动态参数的测试是武器测试过程中的重要指标[9]。研究弹箭在发射、飞行、着靶侵彻各个过程中的动态参数对武器系统的改进,防止弹箭在受到高冲击而损伤影响弹箭对目标的打击等方面都具有重要的意义。同时各种新型武器的技术复杂程度及成本不断提高,对动态测试技术的要求也越来越高[3]。

针对高速运动的弹箭加速度的测试,提出了采用DSP来设计数据采集与处理系统的方案。该测试系统能对传感器的输出信号进行采集,并对采集后的数据进行压缩存储。在详细研究了新概念动态测试中的数据参数特征的基础上,提出了将采集到的16位数据的高低字节差分,分别采用不同的压缩算法进行压缩,即高字节采用游程压缩,低字节采用LZW压缩。这是因为相邻采样具有时间相关性,通常变化不会太大。在一段时间内,高字节变化很小或者没有变化,非常适合用游程压缩。低字节采用LZW压缩,随着字典的建立,以及重复数据的出现,压缩效果会越来越好[1,10]。

1 系统设计的总体思路

系统设计的总体思路是:通过DSP内部的事件管理器触发DSP2812内部的AD转换器对输入的模拟信号进行模数转换。对AD转换的结果进行差分,把16位数据分为高8位和低8位,高8位采用游程压缩,低8位采用LZW压缩,然后将压缩完的数据存储到外部的SRAM存储器中。采集完后通过异步串行接口把数据读取到计算机进行分析[8]。

2 数据采集部分设计

数据采集系统采用TMS320F2812片内集成的AD转换器进行数据采集。本数据采集系统采用合众达科技发展有限责任公司提供TDSS10USB2.0仿真器。

程序首先对系统初始化,然后调用ADC初始化子程序,在ADC初始化完毕后,使能事件管理器EVA的定时器,定时器周期中断触发ADC模块,ADC转换完毕后产生AD中断,在AD 中断中读取AD 转换结果,对结果进行数据处理后,并再次启动AD转换通道如此循环往复,从而实现了系统对输入模拟信号的实时采集。

硬件原理框图如图1所示。

图1 硬件原理框图

3 数据压缩部分的设计

3.1 典型曲线特性分析及压缩方法探讨

在对多组测试数据进行分析后,归纳出2种典型测试数据(图中纵坐标单位为bit值,横坐标为取样点)进行比较分析:分别为某侵彻弹侵彻过程加速度时间曲线(见图2),某弹发射过程加速度时间曲线(见图3)。

图2 某弹侵彻过程加速度时间曲线

图3 某弹发射过程加速度时间曲线

从数据图形可以看出,测试数据都具有下面两个特征:

(1)测试数据比较连续,相邻数据差值较小,具有很强的相关性;

(2)大部分数据在基线附近微小波动,只有一少部分数据变化幅度较大。

针对测试数据的第二种特征,以某弹发射过程测试数据为例(用的是12位的AD转换器),可以看出90%的数据在基线附近(比特值为2780),可见采样数据的高4位数据在变化幅度不大的地方基本保持不变即大部分数据的高4位是基本保持不变的,这样高位数据非常适合游程压缩。对于低位数据来说,虽然相邻时刻的值不可能完全相同,但某一个值会周期性的出现多次(以某侵彻弹放大后的数据为例),随着LZW字典的建立,和越来越多重复数据的出现,压缩效果会越来越好,非常适合用LZW压缩算法[4]。

3.2 游程压缩原理分析

基本的游程长度压缩方法最初出现在IBM3780BISYNC(BinarySynchronous Communication)通信协议中,就是在数据流中直接用3个字符来给出上述3种信息(见表4)。

表4 基本的RLC数据结构

表中X代表数据字符;Sc是一个在数据集合{X}中不用的字符,即Sc∉{X}表示有一个字符串在此位置,其 “异字头” 作用;RL则代表串(游程)的长度,也即字符重复出现的次数。由此结构可知,只有当RL>3,才有数据压缩效益。于是编码时要先判断RL值,再决定其下一个字的含义[7]。

为简便起见,通常做如下的规定:“异字头”Sc一般不用,直接表示为XRL形式。举个简单的例子加以说明。设有这样一组十六进制数:1、1、1、2、2、4、4、2、4、5,则按照上述的压缩原理,其对应的压缩结果为:1(3)2(2)4(2)2(1)4(1)5(1)。

RLC的压缩效能取决于整个数据流的重复字符出现次数、平均游程长度及所采用的编码结构[5]。

3.3 lzw 字典压缩原理分析

LZW压缩算法是一种新颖的压缩方法,由Lemple-Ziv-Welch 3人共同创造,用他们的名字命名。

其基本原理是:编码器逐个输入字符并累积成一个字符串I。每输入一个字符就被串接在I后面,然后在字典中查找I,只要在字典中找到I,该过程就继续进行。直到在某一点。添加下一个字符X导致搜索失败;字符串I在字典中,而IX(字符X串接在I后面)却不在,这时编码器:第一步,输出指向字符串I的字典指针;第二步,在下一个可用的字典词条中,存储字符串IX;第三步,把字符串I预置为X[6]。

4 结论

基于DSP的微型动态测试系统采用TMS320F2812。它的体系结构专为实时控制及实时信号处理而设计,所配置的片内外设为控制系统应用提供了一个理想的解决方案,减小了测试系统的体积。考虑到DSP的数据处理能力和需要对采集到的数据进行实时压缩的特点,提出了采样数据的高8位采用游程压缩,低8位采用LZW字典压缩,LZW压缩采用哈希表查找技术,字典大小取为1021字,既能满足良好的数据压缩效果又能满足实时处理的要求。实验证明该混合压缩算法能极大地提高实时数据压缩速率,实时压缩速率为200k word/s,微型测试系统已在弹载测试中得到应用。

[1] 王宁,李冰.高速数据压缩与缓存的FPGA实现[J].微计算机信息,2008(8):213-214。

[2] 苏奎峰,吕强,耿庆锋,陈圣.TMS320F2812原理与开发[M].北京:电子工业出版社,2005.

[3] 祖静,马铁华.新概念动态测试[J].测试技术学报,2004(18):20-23.

[4] Philips, Dwayne.LZW Data Compression[J].The Computer Application Journal Circuit Cellar Inc. 1992(7):109-113.

[5] 赵耀,袁保宗.数据压缩的概念及现状[J].中国数据通信网络,2000(11):41-43.

[6] Hidetoshi Yokoo .Improved Variations Relating the Ziv-Lempel and Welch-Type Algorithms for Sequential Data Compression[J].IEEE Transactions on Information Theory, 1992(1):89-92.

[7] 裴文强,吴坚.一种新的数据压缩算法[J].无线电通信技术,2001(3): 26-28.

[8] 张伦武,王学华,肖敏.军用环境测试的发展和趋势[J].环境技术,2003(4):11-13.

[9] 王平.LZW无损算法的实现与研究[J].计算机工程,2002(7):22-25.

猜你喜欢
游程压缩算法字符串
中国羽毛球组合郑思维/黄雅琼连续得失分规律研究
基于文本挖掘的语词典研究
基于参数识别的轨道电路监测数据压缩算法研究
改进型相对游程长度编码方法
GF(3)上两类广义自缩序列的伪随机性*
一种基于嵌入式实时操作系统Vxworks下的数据压缩技术
RPT方法在多元游程检验中的应用
PMU数据预处理及压缩算法
一种新的基于对称性的字符串相似性处理算法
高效的top-k相似字符串查询算法