LZW控制器的FPGA设计

时间:2022-07-15 04:59:44

LZW控制器的FPGA设计

摘 要 针对声波测井采集数据量较大给实时传输造成较大困难的现状,本文提出了一种基于lzw的无损压缩算法的PFGA实现方案。根据声波测井数据采集电路的特点,本文设计了声波测井的LZW硬件压缩系统框图和控制器的控制时序,采用Verilog HDL对核心控制单元进行了模块化描述和详细设计。并在QUARTUS II平台上用EP2C5Q208C8N进行了时序仿真验证,结果表明:该控制器设计是有效的,并具有较好的移植性和可扩展性。

关键词 无损压缩 LZW算法 fpga

中图分类号:TN702 文献标识码:A

0 前言

随着技术的不断进步,人类不断寻求探测更加丰富的物理信息,使得数据采集的信息量不断膨胀,从而导致实时传输和存储越来越困难。如用声波测井技术探测地理信息,不断增加的声波测井数据使得遥传系统难以完成实时传输,为此需要对其进行压缩。数据压缩分为有损压缩和无损压缩。有损压缩是指对数据进行重构后,利用该重构数据还原出来的数据与原来的数据有所不同,是一种对原始资料的近似表达,优点就是可以获得较大的压缩比。而无损压缩是指对原始数据进行重构后,利用重构后的数据还原出来的数据与原来的数据完全相同,其缺点是压缩比不高。常用的无损压缩算法有霍夫曼(Huffman)算法、算术编码算法、游程编码算法和LZW(Lenpel-Ziv & Welch)压缩算法。

目前,无损压缩有软件和硬件两种实现方案,软件方案的缺点是需要大量的存储空间和消耗过多的CPU资源,速度较慢;而硬件方案因其压缩速度快处理能力强而逐步获得重视,尤其是FPGA硬件的出现,为硬件压缩提供了较好的物质条件。无损压缩要获得较大的压缩比,需要根据信源的统计特性进行相应的压缩。而声波测井数据的统计特征随地理环境的不同而不同,无法构造一个最佳的无损硬件压缩方案;并且声波测井仪器的软件数据处理能力和存储空间非常有限,要将大量的声波测井数据采用软件压缩,然后再传输是至井口仪器,这将无法保证数据传输的实时性。而LZW算法通过对输入码流进行分析,充分利用了相邻输入数据之间的相关性,对于数据流中连续重复出现的字节和字串具有很高的压缩比,实时性好;并且在解压过程中逐步建立与压缩时完全相同的字典,是一种解码速度与压缩性能综合指标较好的一种压缩算法。

因此,本文将LZW无损压缩方法,根据声波测井数据的特点,设计一种FPGA硬件实现方案,并且重点设计了LZW的控制器时序流程,并对其进行Verilog HDL设计与时序仿真验证。

1 LZW基本算法

LZW是一种基于字典的压缩算法。LZW编码的原理是:设字典中有n个基本字符,编码器逐个输入字符K并累积成一个字符串C。每输入一个字符就被串接在C后面形成新的字符串C,然后在字典中查找C,只要在字典(串表Table)中找到C,该过程就继续进行;直到添加下一个字符K导致搜索失败,字符串C在Table中,而CK(字符K串接在C后)却不在,这时编码器将执行:(1)输出指向当前字符串C的字典编码值;(2)在下一个可用的字典词条中,存储字符串CK,其对应的编码值为n+1:(3)把字符串C预置为K。LZW的编码流程图如图1所示。

2 LZW的硬件框图

控制模块主要完成时钟的产生,为各功能模块提供时钟,并初始化各模块的使能端信号;根据压缩器外部的指令信息,产生各模块控制信号,使系统各模块协调工作。当外部复位信号有效时,控制器将对各模块进行复位操作。当外部压缩使能信号有效时,控制模块将同时对数据输入FIFO、字典模块及数据输出模块分别进行控制。

其中读时钟受到两个信号的控制,一个是读使能信号,另外一个是压缩模块给出的数据压缩成功信号。由于压缩模块的压缩速度非常快,在读使能信号的一个时钟之内便能完成,在正常压缩情况下,读使能信号时钟周期能够与压缩成功信号的时钟相匹配。当字典在处理冲突的过程中,考虑到处理冲突的时间长短不确定,此时必须关闭读信号时钟的计数器,以免影响正常的计数。

通过QUARTUS II的时序分析,LZW控制模块的最高工作频率最差为381MHz。

4 结论

本文所设计的无损压缩系统经过的时序仿真和验证,可以发现:软件设计有较强的可移植性,功能易于扩展。其时序分析结果表明用FPGA实现声波测井数据的LZW实时无损压缩是可以满足该应用需求的。关于控制器对FIFO和输出模块的控制时序设计将另文介绍。

参考文献

[1] 王国权,朱振玉,卜小平.数据压缩技术的应用与研究[J].煤矿机械,2003.

[2] 于翔.数据压缩技术分析[J].青海大学学报(自然科版),2002.

[3] 杨雄,李凌.数据压缩技术及其常用算法[J].软件世界,1996.

[4] Phillips Dwayne, LZW data compression, Computer Application Journal Circuit Cellar Inc. 1992.

[5] 刘虹.数据无损压缩技术的应用及硬件实现[J].红外,2003.

[6] 靳鸿,裴东兴,祖静.无损数据压缩在数据采集系统中的应用探讨[J].华北工学院学报,2003.

[7] 王平.LZW无损算法的实现与研究[J].计算机工程,2002.

上一篇:只要299元,智能电视带回家! 下一篇:“电气控制及PLC技术”的工程案例式教学设计