位置:51电子网 » 技术资料 » 测试测量

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

发布时间:2008/5/27 0:00:00 访问次数:525

        作者:长沙中南大学信息工程学院(410075)

     黄挚雄 来源:《电子技术应用》

     摘要:介绍一种单片机测量时频参数时的数据处理方法,即线性地址变换法。在存储容量有效压缩的基础上,进一步分析采样数据,用软件实现可控时标,保证测量精度。

    

    

     关键词:测量

     频率 周期 单片机 存储容量

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

     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的存储单元地址,根据所选单片机型号任意设定。

    

    

    

     k——变换比,表示出现ti值的个数ni用k个字节来存放。

     k=1,表示ti对应的ni值用2个字节存放。

     这样:

     存储容量m=存储地址最大值-起始地址值=ktimax

     (2)

     因此,使用线性地址变换时,存储容量由测量的最大周期timax决定。且当采用计数方式测ti值时,若计数时标周期为tc,则计数器测得的ti值实际上是ti所包含的tc个数。这样,存储容量可改写为:

     存储容量m=timax/tc (设k=1)

     (3)

     若规定测量的timax=10ms,当设置tc=4μs时,m=2.5kb;若要进一步压缩存储容量,可增大tc,如当tc=8μs时,m1.25mb,从而可满足有限存储容量的要求。

     单片机进行线性地址变换时,用定时器计数方法测量每一个ti值,然后用中断服务子程序按(1)式进行地址变换,把ti值转换为地址单元号,并使该单元内容加1。如把一次采样规定为测n个ti值,则当把n个ti采样完后,在存储器从起始地址开始的单元内就直接存放了如图3所示的反映被测脉冲频率波动情况的周期概率分布曲线。图3中ni为一次采样的n个脉冲周期中出现周期为ti的次数,nmax为ni中的最大值,tnmax为对

        作者:长沙中南大学信息工程学院(410075)

     黄挚雄 来源:《电子技术应用》

     摘要:介绍一种单片机测量时频参数时的数据处理方法,即线性地址变换法。在存储容量有效压缩的基础上,进一步分析采样数据,用软件实现可控时标,保证测量精度。

    

    

     关键词:测量

     频率 周期 单片机 存储容量

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

     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的存储单元地址,根据所选单片机型号任意设定。

    

    

    

     k——变换比,表示出现ti值的个数ni用k个字节来存放。

     k=1,表示ti对应的ni值用2个字节存放。

     这样:

     存储容量m=存储地址最大值-起始地址值=ktimax

     (2)

     因此,使用线性地址变换时,存储容量由测量的最大周期timax决定。且当采用计数方式测ti值时,若计数时标周期为tc,则计数器测得的ti值实际上是ti所包含的tc个数。这样,存储容量可改写为:

     存储容量m=timax/tc (设k=1)

     (3)

     若规定测量的timax=10ms,当设置tc=4μs时,m=2.5kb;若要进一步压缩存储容量,可增大tc,如当tc=8μs时,m1.25mb,从而可满足有限存储容量的要求。

     单片机进行线性地址变换时,用定时器计数方法测量每一个ti值,然后用中断服务子程序按(1)式进行地址变换,把ti值转换为地址单元号,并使该单元内容加1。如把一次采样规定为测n个ti值,则当把n个ti采样完后,在存储器从起始地址开始的单元内就直接存放了如图3所示的反映被测脉冲频率波动情况的周期概率分布曲线。图3中ni为一次采样的n个脉冲周期中出现周期为ti的次数,nmax为ni中的最大值,tnmax为对

相关IC型号

热门点击

 

推荐技术资料

音频变压器DIY
    笔者在本刊今年第六期上着重介绍了“四夹三”音频变压器的... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!