×
嵌入式开发 > 详情

时频参数测量中存储容量的压缩方法

发布时间:2020-06-16 发布时间:
|

在智能仪表、网络通讯、过程控制等测控系统应用中,经常需要对脉冲信号的频率(或周期)进行精确测量。常用的方法是被测信号作为闸门信号,而且一个标准频率信号作为填充脉冲,在闸门周期内对标准频率信号计数,如何压缩数据存储量,是本文要解决的主要问题。

1 基于单片机系统的时频参数测量

当采用单片机微处理器测量信号频率(周期)时,定时器T0工作在计数方式,定时器T1工作在定时方式,T1向外部发固定频率的脉冲(时标),T0对时标进行计数。被测脉冲信号产生一个外部中断控制信号,向CPU发出一个中断请求,CPU响应中断,在中断服务程序中把T0的计数值读入数据存储器,数据转移完成后,使T0复位,重新计数,开始新的周期测量,其测量原理如图2所示。

2 线性地址变换

单片机把计数值读入存储器,是把每一个测出的周期值Ti按其时间先后顺序存入存储器中。这样,测量出的每一个Ti无论是否相同都要用一个单元来存放,且随着被测信号的平均频率和测量时间t的增长,所需要的存储容量就会增加,即:

存储容量 M=f·t

如被测信号平均频率f=10kHz,则1秒的约需存储容量10KB,10秒约需存储容量100KB。显然,单片机内RAM是不能满足要求的。即使扩充外存,也不宜太大,会有一定的限制。

但实际上,所测出的Ti中,有相当多是相同的。如果把相同的Ti值用一个单元来存放,则可大大压缩存储容量。为此,可采用线性变换的方法,把每个Ti按(1)式转换为单元地址值,并将其内容加1,表示已有一个该Ti值。最后该单元的内容Ni就表示测量中共有Ni个相同的Ti值出现。

存储地址=起始地址+kTi (1)

式中:起始地址——对应于Ti=0的存储单元地址,根据所选单片机型号任意设定。




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
USB接口定义图