单片机测频率信号的参数分析
我们有如下关系式:COUNT待测/F待测=COUNT基准/F基准根据需要可只将相应的分频管脚接入单片机内计数,也可采用I/O口全部读入各位分频脚的方法,由电路的结构,我们知道此电路有模块化的优点。
3脉冲高电平持续时间的测量
3.1当脉冲频率较高,每周期高电平时间较短,为了保证精度,需对N次高电平的时间值进行平均。接线和流程示意图如下:
3.2当脉冲频率较低时,意味着高电平持续时间较长,此时可用T0或T1的门控方式直接计数,为了防止从图5中的B点开始计数,此时有两种方法来减少误差:利用软件的方法:将待测信号经过一个非门接入中断口,在中断程序中同时打开门控方式的定时,从而保证了从脉冲的上升沿开始计数;也可用硬件方法确保从A点开始,这种方法说明如下,采用图6的JK触发器电路,当Fin的下降沿到来时,C点电位为高,送入INT0的为低电位。
上述方法如果高电平时间超过了65535个计数值,则应对TF0标识进行判别来扩大计数量程。
很显然,只要脉冲信号取反输入,我们就能得到其低电平持续时间的测量方法,此不多述。
48098系列单片机的应用
利用定时器计数,测脉冲的宽度。这种方法和上面的相似:通过检测引脚的上跳变开中断,同时记录该时刻值T1,通过检测引脚的下跳变关中断,记录该时刻的时刻值T2,T2减T1加上中断记录的中断次数对应的时间就等于一个周期内高电平的持续时间。
有特色的是使用8098中的HSI部件(高速输入通道)。通过引脚输入脉冲信号,同时可以以四种工作方式:正跳变、负跳变、正负均跳变、每8个正跳变触发一次的方法记录事件发生的时刻,而不占用CPU的时间。由于事件发生的时间以定时器T1作为时间基准,T1又是每8个状态计数一次,每个状态周期是晶振周期的3分频,所以正负电平持续的时间均应大于12倍的晶振周期。当频率过高时可以8分频测频,频率可以直接测量时可用两个HIS引脚输入同一信号,分别记录正跳变、负跳变时刻以及周期个数从而算出脉冲周期、正电平时间、负电平时间,进一步算出占空比。
5结论
用单片机测频,关键在于分频、同步、计数量程这几点;前述的方法,计数口和外部中断口可互换使用,只是计数的实现不同,这要求输入的方式做响应的变化;测出了脉冲信号的高低电位时间就可以利用单片机的运算功能测占空比。
《单片机测频率信号的参数分析(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/141516.html
3脉冲高电平持续时间的测量
3.1当脉冲频率较高,每周期高电平时间较短,为了保证精度,需对N次高电平的时间值进行平均。接线和流程示意图如下:
3.2当脉冲频率较低时,意味着高电平持续时间较长,此时可用T0或T1的门控方式直接计数,为了防止从图5中的B点开始计数,此时有两种方法来减少误差:利用软件的方法:将待测信号经过一个非门接入中断口,在中断程序中同时打开门控方式的定时,从而保证了从脉冲的上升沿开始计数;也可用硬件方法确保从A点开始,这种方法说明如下,采用图6的JK触发器电路,当Fin的下降沿到来时,C点电位为高,送入INT0的为低电位。
上述方法如果高电平时间超过了65535个计数值,则应对TF0标识进行判别来扩大计数量程。
很显然,只要脉冲信号取反输入,我们就能得到其低电平持续时间的测量方法,此不多述。
48098系列单片机的应用
利用定时器计数,测脉冲的宽度。这种方法和上面的相似:通过检测引脚的上跳变开中断,同时记录该时刻值T1,通过检测引脚的下跳变关中断,记录该时刻的时刻值T2,T2减T1加上中断记录的中断次数对应的时间就等于一个周期内高电平的持续时间。
有特色的是使用8098中的HSI部件(高速输入通道)。通过引脚输入脉冲信号,同时可以以四种工作方式:正跳变、负跳变、正负均跳变、每8个正跳变触发一次的方法记录事件发生的时刻,而不占用CPU的时间。由于事件发生的时间以定时器T1作为时间基准,T1又是每8个状态计数一次,每个状态周期是晶振周期的3分频,所以正负电平持续的时间均应大于12倍的晶振周期。当频率过高时可以8分频测频,频率可以直接测量时可用两个HIS引脚输入同一信号,分别记录正跳变、负跳变时刻以及周期个数从而算出脉冲周期、正电平时间、负电平时间,进一步算出占空比。
5结论
用单片机测频,关键在于分频、同步、计数量程这几点;前述的方法,计数口和外部中断口可互换使用,只是计数的实现不同,这要求输入的方式做响应的变化;测出了脉冲信号的高低电位时间就可以利用单片机的运算功能测占空比。
《单片机测频率信号的参数分析(第2页)》