CN103607207B - 一种即插即用的多接口数据压缩设备 - Google Patents
一种即插即用的多接口数据压缩设备 Download PDFInfo
- Publication number
- CN103607207B CN103607207B CN201310557267.6A CN201310557267A CN103607207B CN 103607207 B CN103607207 B CN 103607207B CN 201310557267 A CN201310557267 A CN 201310557267A CN 103607207 B CN103607207 B CN 103607207B
- Authority
- CN
- China
- Prior art keywords
- flag
- data
- module
- byte
- coding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000013144 data compression Methods 0.000 title claims abstract description 28
- 238000000034 method Methods 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 9
- 230000006837 decompression Effects 0.000 claims description 4
- 241001269238 Data Species 0.000 claims 1
- 229910002056 binary alloy Inorganic materials 0.000 claims 1
- 238000011084 recovery Methods 0.000 claims 1
- 230000011664 signaling Effects 0.000 claims 1
- 230000006835 compression Effects 0.000 abstract description 12
- 238000007906 compression Methods 0.000 abstract description 9
- 230000005540 biological transmission Effects 0.000 abstract description 7
- 238000004891 communication Methods 0.000 abstract description 5
- 238000005265 energy consumption Methods 0.000 abstract description 3
- 230000001360 synchronised effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 9
- 230000000295 complement effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000029058 respiratory gaseous exchange Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一种即插即用的多接口数据压缩设备,包括多接口输入模块、数据压缩编码模块、标识位编码模块、编码输出模块。其中,多接口输入模块包含并行接口和SPI同步串行接口,分别由若干移位寄存器和锁存器组成。标识位编码模块由若干超前进位加法器与数据比较器分别级联构成,以提供压缩编码所需的标识位;压缩编码模块由逻辑门组成,负责将数据位与标识位组成单字节,并通过编码输出模块将压缩后的单字节输出到下一级电路。本设备亦可通过扩展接口将多个设备级联使用。本发明即插即用,操作简单,运算速度快,功耗低。比传统的软件压缩具有更好的实时性。适用于嵌入式通信系统的传输线路中,可有效减小数据量,解决传输延迟和设备能耗问题。
Description
技术领域
本发明涉及数字电子技术以及数据压缩技术领域,应用数字电子技术与压缩算法实现具有数据压缩功能的电子设备。
背景技术
随着电子信息技术的发展,数字电子技术已广泛应用于嵌入式系统、通信、计算机、自动化控制等领域。人们对电子设备的依赖性越来越强,对设备的性能要求也逐渐提高。现今的电子工程师和设计师们往往乐此不疲的为计算机更换更大的硬盘,扩展更多的内存,增加更大的网络带宽,其目的主要是为了存放和传输越来越多的声音、图像等数据。对于数据的压缩大体有两个思路,要么采用成熟的通用数据压缩技术进行压缩,要么根据媒体信息的特性设计新的压缩方法。实际上,人们在两条道路上都做了卓有成效的探索。计算机为什么需要数据压缩技术?因为数据的信息量实在太大。例如,对于目前的电子设备,1G的存储容量有时都不足以存放30分钟的视频数据。因此,通常情况下,图像的记录和传播首先需要进行数据压缩处理。简单来说,如果没有数据压缩技术我们就没有办法用软件对Email中的附件瘦身;如果没有数据压缩技术,市场上的数码录音笔就只能记录不到20分钟的语音;如果没有数据压缩技术,从Internet上下载一部电影也许要花半年的时间,所以说数据压缩对人们的生活有着重要的意义。
数据压缩有多种方法,较常用的是按过程的可逆性分为无损压缩和有损压缩两大类。无所压缩是利用数据的冗余度压缩,压缩后的数据进行重构后与原来的数据完全相同,包括哈夫曼编码、游程编码、算术编码和LZ编码;有损压缩后数据进行重构与原来的数据不同,多用于图形、图像和数字化语音压缩等领域。多数的数据采集系统因被测对象的不确定性则需要采用无损数据压。
由于近年来人们对设备性能要求的提高,传统的软件压缩由于实时性受限等因素,以满足不了电子工程师们的要求,为了在保证压缩率的前提下追求更高的实时性,对于数据压缩的研究已逐渐转向数字集成电路以及FPGA等领域。
发明内容
本发明为了解决嵌入式通信系统由于大数据量而引起的传输延迟、网络拥塞以及存储空间不足的问题,提供一种可即插即用的多接口数据压缩设备。该设备包含的算法简单、高效,设备操作便捷,即插即用,比传统的软件压缩具有更好的实时性。并且基于该方法的数据接收端能完成数据的无损解压还原。
本发明为了实现上述目的,采用以下技术方案:
一种即插即用的多接口数据压缩设备,系统主要包括多接口输入模块,数据压缩编码模块,标识位编码模块,编码输出模块以及扩展接口。串行或并行数据由多接口输入模块输入到模块内部(串行数据经内部移位寄存器处理转换为并行数据)。标识位编码模块将接收到的数据进行处理,生成压缩编码字节所需的标识位,解压须根据标识位进行数据处理。数据压缩编码模块将标识位与待压缩数据拼合成最终的压缩字节码,通过编码输出模块输出到下一级电路。该设备可将输入的16位数据以一个字节的形式输出,从而达到压缩目的。将若干该设备级联使用可以扩展输入的数据位数。
本发明的有益效果是,根据嵌入式通信系统的数据量、数据变化趋势和存储空间等要求,可选择性的加入该设备,通过该设备内部提供的数据压缩电路,能够减少传输或存储的数据量,有效降低传输延迟或内存占用,进而可以降低通信设备的能耗,延长系统寿命。该压缩设备即插即用,可移植性强,操作简单。
附图说明
图1是本发明的内部电路总图。
图2是本发明的多接口输入模块电路图。
图3是本发明的标示位编码模块电路图。
图4是本发明的压缩编码模块电路图。
图5是本发明的编码输出模块电路图。
图6是内部结构图。
具体实施方式
下面结合技术方案和附图详细说明本发明的具体实施例,但本发明的实施方式不限于此。
图1所示为本发明的内部电路总图。因版面限制等因素,此电路图对非关键部分进行了剪裁,目的是为了更清晰的表现各模块直接的连接关系。完整的电路将在各模块电路图中详细介绍。
图2是本发明的多接口输入模块电路图。其中同步串口(SPI)输入接口由4片移位寄存器74HC595串联而成,74HC595是一款漏极开路输出的CMOS移位寄存器,具有可控三态输出的输出端口,该芯片可将串行输入的数据转为并行数据输出。CPU可通过SPI的独立时钟线与芯片的SCK口相连,控制输入数据在寄存器中的移位,当4片74HC595中保存了两个相邻的16位数据后,CPU向芯片的RCK口输出一个上升沿,使四片移位寄存器同时向下一级模块输出锁存的数据,以进行按位编码处理。对于并行输入的数据,为了实现先分时输入两个16位数据再同时输出,需先通过并入串出的移位寄存器转为串行数据,本设备选用两个SN74165串联实现,其功能与74HC595相反,控制方法相似。再将串行数据输入到第一片74HC595的输入端(即最低位),进行串并转换。这样的处理过程即保证了功能的实现,又提高了芯片的复用率。两种输入方法通过输入方式选择开关来控制。
图3是本发明的标示位编码模块电路图。该模块首先对输入的两个相邻16位数据进行减法运算,以缩小数据绝对值,也就是说本发明包含的压缩算法是基于一种固定长度算法,即将较大的数据用相对较少的固定的位数来表示。本发明用单字节来表示16位的差量。但是,并不是所有的差量都可以用单字节表示,也就是说当差值不小于64时是无法用1个字节来存储的(实际只有6位可以存数据,剩余两位用作标示位),对于这种情况本发明采取分时输出两个单字节的方法,将16位差值的高8位与低8位分别存储在两个字节中,再依次输出。对于静态数据或缓变数据,此方法显然是简单、高效的。
由于差量有正有负,输出方式有单字节也有双字节,所以需要一个正负标示位和一个输出方式标示位,以便在解压的时候正确还原差量所表示的信息。数据的差量和正负标示位本发明由若干74HC283与逻辑门配合实现。74HC283是具有超前进位功能的4位全加器,可进行两个4位二进制数的加法运算每位有和输出∑1~∑4,进位由第4位得到C4,将多个加法器级联即可进行16位运算。由于16位超前进位产生逻辑十分复杂,故本发明仅采用将4片74HC238串联的方法,有关传输延迟的问题,将在后文做出解决方案。由二进制数算数运算可知,减法运算是通过加法运算进行的。若16位二进制的原码为N补,则与它相对应的二进制补码为
N补=216-N原 (式1)
补码与反码的关系式
N补=N反+1 (式2)
设两个16进制数A、B相减,利用式1和式2可得
A-B=A+B补-216=A+B反+1-216 (式3)
式3表明,A减B可由A加B的补码并减216完成,具体原理如下,由16个反向器将B的各位反向(求反),并将第1片74HC283进位输入端C-1接逻辑1以实现加1,由此求得B的补码。加法器相加结果为(A+B反+1)。由于216=(10000000000000000)2,相加结果与216相减只能由加法器进位输出信号完成。当进位输出信号为1时,它与216的差位0;当进位输出信号为0时,它与216的差值为1,同时还应发出借位信号。因此,只要将进位信号反向即实现了减216的运算,反相器的输出SIGN为1时需要借位,故SIGN也可作为借位信号。借位信号SIGN为0时代表差值为正,为1时代表差值为负。由于压缩编码需要差值的原码而不是补码,所以还需进行变换。由式1可知将补码再求补得原码。求补电路如图3中第二排的4片74HC283所示,第一排芯片所得差值输入到异或门的一个输入端,而另一端输入由借位信号SIGN控制。当SIGN=1时,差值按位取反,并与SIGN=1相加,实现求补运算;SIGN=0时,差值不取反,加法器也不实现加1运算,维持原码。这样,求补电路与上一排的电路共同组成输出为原码的完整的16位减法运算电路,并带有符号位输出,即符号+绝对值。最后,将差值的绝对值(原码)输入到比较器中与64进行比较,若大于或等于64,则输出方式标志位TYPE置1,否则置0。比较器由若干SN7485数据比较器并联而成,用逻辑门电路对TYPE加以控制。由此,该标识位编码模块便可输出方式标示位、符号标识位以及差量绝对值。
图4是本发明的压缩编码模块电路图。主要由寄存器和逻辑门组成,其功能是将输出方式标识位、符号标识位和差量绝对值拼合为最终的压缩编码字节。本发明规定,若以单字节输出编码字节(TYPE=0),则寄存器的D7位为TYPE位,D6位为SIGN位,D5~D0为差值绝对值,输出时只输出低8位。若以双字节分时输出(TYPE=1),则寄存器的D15位为TYPE位,D14位为SIGN位,D13~D0为差值绝对值,输出时先输出高8位,再输出低8位。可以看出,寄存器的D6、D7、D14和D15的置是根据TYPE取值进行编码的,其真值表如下表所示。
由此可得这四个标识位编码的表达式为:
Q7=D7T (式5)
图5是本发明的编码输出模块。其功能主要是根据TYPE的位取值来决定最终的编码输出方式。该模块首先利用三片SN74165并入串出移位寄存器存储编码后的字节,其中1片保存D0~D7,另外两片串联保存D0~D15。当TYPE=1时,时钟信号SCK控制寄存器移位输出双字节,先输出高8位,再输出低8位;当TYPE=0时,由于数据量只有之前的一半,为了与输入的时序同步,需将时钟SCK二分频,分频器由D触发器74LS74组成。最后通过逻辑门电路将两种输出方式下的字节码与时钟信号进行选择性输出。
为了防止芯片间传输延迟导致的编码错误,每个模块间都加有锁存器,并由同步时钟信号统一控制。
如图6所示,是本发明的内部结构图。
Claims (5)
1.一种即插即用的多接口数据压缩设备,其特征在于,该数据压缩设备包括多接口输入模块、标识位编码模块、数据压缩编码模块和编码输出模块;串行或并行数据由多接口输入模块输入到标识位编码模块内部;标识位编码模块将多接口输入模块接收到的数据进行处理,生成压缩编码字节所需的标识位,解压须根据标识位进行数据处理;数据压缩编码模块将标识位与数据位拼合成最终的压缩字节码,通过编码输出模块输出到下一级电路;
所述的标识位编码模块包括若干超前进位加法器与数据比较器,该标识位编码模块负责数据处理,内部的减法电路将两个二进制原码做差,并输出差值的绝对值原码和一个正负标识位SIGN;输入的两个相邻数据做差后,得到一个绝对值小的原码和对应的正负标识位SIGN;数据比较电路将上述绝对值原码与64进行比较,判断是否将绝对值存储于6bit的空间内:
若能够存储,则输出一个TYPE=0的标志位,代表该设备最终以单字节的形式输出,即两个标识位和6bit的绝对值原码;
若不能存储于6bit的空间内,则输出一个TYPE=1的标志位,代表需要利用一个字节空间存其低8位,再用另一个字节空间存剩余的位和两个标识位,设备最终以两个字节分时进行输出,即14bit的绝对值原码和两个标识位;
解压时,通过标识位决定每次处理的字节数以及差值的正负;
所述的压缩编码模块和编码输出模块,包括寄存器、D触发器和逻辑门,标识位编码模块所输出的SIGN位、TYPE位和绝对值原码,经过逻辑计算存储在相应的位置上;若以单字节输出,则将正负标识位SIGN与标志位TYPE分别置于压缩字节码的第6位与第7位;若以双字节分时输出,则将正负符号位SIGN与标志位TYPE分别置于压缩字节码的第14位与第15位;编码输出模块中的时钟分频电路与数据选择电路,对这两种输出方式进行分时控制。
2.根据权利要求1所述的一种即插即用的多接口数据压缩设备,其特征在于,多接口输入模块配有扩展接口,将不同数据位数输入。
3.根据权利要求1或2所述的一种即插即用的多接口数据压缩设备,其特征在于,所述的多接口输入模块设置一个选择开关,选择输入串行数据或并行数据;若是串行数据,则需通过多接口输入模块内部的移位寄存器转换为并行数据,移位所需的时钟信号以及使能信号由外壳上的时钟输入接口和使能信号接口提供。
4.根据权利要求1或2所述的一种即插即用的多接口数据压缩设备,其特征在于,所述的标识位编码模块,SIGN位为0时,代表差值为正,为1时,代表差值为负;TYPE位为0时,代表输出方式为单字节输出,为1时,代表双字节分时输出。
5.根据权利要求3所述的一种即插即用的多接口数据压缩设备,其特征在于,所述的标识位编码模块,SIGN位为0时,代表差值为正,为1时,代表差值为负;TYPE位为0时,代表输出方式为单字节输出,为1时,代表双字节分时输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310557267.6A CN103607207B (zh) | 2013-11-11 | 2013-11-11 | 一种即插即用的多接口数据压缩设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310557267.6A CN103607207B (zh) | 2013-11-11 | 2013-11-11 | 一种即插即用的多接口数据压缩设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103607207A CN103607207A (zh) | 2014-02-26 |
CN103607207B true CN103607207B (zh) | 2016-08-17 |
Family
ID=50125411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310557267.6A Expired - Fee Related CN103607207B (zh) | 2013-11-11 | 2013-11-11 | 一种即插即用的多接口数据压缩设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103607207B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018020299A1 (en) * | 2016-07-29 | 2018-02-01 | Chan Kam Fu | Lossless compression and decompression methods |
CN107918593B (zh) * | 2017-05-16 | 2024-05-24 | 烟台市迈高机器人科技有限公司 | 近端一对多串行总线的拓展接口电路以及通信方法 |
CN110175185B (zh) * | 2019-04-17 | 2023-04-07 | 上海天数智芯半导体有限公司 | 一种基于时序数据分布特征的自适应无损压缩方法 |
CN111371459B (zh) * | 2020-04-26 | 2023-04-18 | 宁夏隆基宁光仪表股份有限公司 | 一种适用于智能电表的多操作高频替换式数据压缩方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6225922B1 (en) * | 1998-03-16 | 2001-05-01 | Hewlett-Packard Company | System and method for compressing data using adaptive field encoding |
CN1786939A (zh) * | 2005-11-10 | 2006-06-14 | 浙江中控技术有限公司 | 实时数据压缩方法 |
-
2013
- 2013-11-11 CN CN201310557267.6A patent/CN103607207B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6225922B1 (en) * | 1998-03-16 | 2001-05-01 | Hewlett-Packard Company | System and method for compressing data using adaptive field encoding |
CN1786939A (zh) * | 2005-11-10 | 2006-06-14 | 浙江中控技术有限公司 | 实时数据压缩方法 |
Non-Patent Citations (1)
Title |
---|
"GPRS拥塞控制结束研究";王则陆等;《现代电子技术》;20130801;第36卷(第15期);第32-35、40页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103607207A (zh) | 2014-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103607207B (zh) | 一种即插即用的多接口数据压缩设备 | |
KR100500855B1 (ko) | 연산장치의연산방법,기억매체및연산장치 | |
CN103226461B (zh) | 一种用于电路的蒙哥马利模乘方法及其电路 | |
US7797365B2 (en) | Design structure for a booth decoder | |
CN109815619B (zh) | 一种将同步电路转化为异步电路的方法 | |
CN110515589B (zh) | 乘法器、数据处理方法、芯片及电子设备 | |
Jaberipur et al. | Efficient realisation of arithmetic algorithms with weighted collection of posibits and negabits | |
CN101295237B (zh) | 求商和余数的高速除法器 | |
JPH03106127A (ja) | 可変長符号化回路 | |
CN103279323A (zh) | 一种加法器 | |
CN100468383C (zh) | 基于fpga技术的usb接口驱动装置 | |
CN112764712B (zh) | 一种高性能近似Booth乘法器及计算方法 | |
Haritha et al. | Design of an enhanced array based approximate arithmetic computing model for multipliers and squarers | |
CN1324456C (zh) | 采用混合压缩两级流水乘加单元的数字信号处理器 | |
US7958180B2 (en) | Multiplier engine | |
CN101110016A (zh) | 子字并行整数乘法器 | |
CN110825346A (zh) | 一种低逻辑复杂度的无符号近似乘法器 | |
CN103955585A (zh) | 一种适用于低功耗容错电路的fir滤波器结构 | |
JPH0312738B2 (zh) | ||
CN101178643A (zh) | 可节省数字运算的数据转换方法及数据转换电路 | |
CN111258541A (zh) | 乘法器、数据处理方法、芯片及电子设备 | |
Lee et al. | Efficient $ M $-ary exponentiation over $ GF (2^{m}) $ using subquadratic KA-based three-operand Montgomery multiplier | |
CN113157247B (zh) | 一种可重构整型-浮点型乘法器 | |
Saini et al. | A new bus coding technique to minimize crosstalk in VLSI bus | |
JP3418595B2 (ja) | 三値ディジタル回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160817 |
|
CF01 | Termination of patent right due to non-payment of annual fee |