利用看门狗和端口中断实现电子计数法测频
扫描二维码
随时随地手机看文章
频率是单位时间内周期性过程重复、循环或震动的次数,记为f。因此,某一信号在T秒内变化了N次,可知该信号的频率为:f=N/T。下图是电子计数式频率计的原理框图,它主要由四部分组成。
计数脉冲形成电路:该部分的作用是将被测的周期信号经过放大、整形后转换成可计数的脉冲。
时间基准T产生电路:这部分的作用是提供准确的计数时间T,又称为闸门(时间)脉冲。
计数电路:这部分的作用是计数被测周期信号的重复次数。时间基准产生电路产生闸门脉冲,只有在闸门脉冲持续的时间T内,才允许被测信号输入到计数电路进行计数。
波形图
显示电路:该部分的作用是将测量的结果直观的显示出来。
由于单片机的广泛应用,而且单片机的功能也越来越强大,因此电子计数式频率计的开发也转移到以单片机为核心的基础上。现在的单片机基本上都带有一个以上的定时/计数器功能模块,因而单片机内的定时/计数器功能模块就成了实现时间基准产生电路和计数电路功能的酋选,以代替传统的以分立元件构成的电路功能模块。其中,单片机的定时/计数器功能模块的计数器功能,几乎是开发人员做为计数电路的独一无二的选择i时间基准T产生电路的实现也往往是依赖单片机的定时/计数器功能模块的定时器功能,本文将介绍一种基于MSP430系列单片机来产生时间基准和计数电路功能的新方法。
MSP430系列单片机是美国德州仪器(TI)公司的一类超低功耗的16位单片机。它采用RISC内核结构,将大量外围模块如看门狗、A/D转换器等集成到片内。
利用看门狗实现时间基准产生电路功能
看门狗定时器(WDT)是MSP430系列单片机中用于系统监测和内部定时使用的一种模块,是一个16位的计数器,有看门狗和定时器两种模式,有8种可选的定时时间。在本文中是将看门狗定时器( WDT)当做内部定时器,然后根据测量的实际需要将看门狗定时器(WDT)设定在8种可选的定时时间之一(本文中为1000ms),作为时间基准T,即闸门脉冲持续的时间。
当MSP430系列单片机的某一端[检测到被测脉冲电平的跳变沿(上升沿利下降沿都可以),就开启看门狗的定时功能,同时开始对被测信号进行计数。当看门狗的定时时间到,即闸门脉冲的持续时闻T(时间基准T),就进入看门狗的中断服务程序并停止对被测信号的计数,由霍门狗的中断服务程序调用显示程序子程序显示被测信号频率。
这里有一个值得探讨的问题就是时间基准T的精确度,笔者认为单片机的看门狗电路的时间精度应该比较高,否则看门狗电路很难应用于系统监测和内部定时。
利用端口中断实现计数电路功能
MSP430系列单片机有丰富的端口资源,其中PO、Pl和P2具有输入/输出功能和中断功能,每个信号都可作为一个中断源和外部模块功能(除PO外)。
MSP430系列单片机的端口中断触发沿寄存器检测到被测脉冲电平的跳变沿将使中断标志位置位,并可用软件的方法使中断标志位复位。将单片机检测被测脉冲的输入端口进行设置,使其可以响应被测脉冲电平的跳变沿并使中断标志位置位,但不进入端口中断服务程序。这样每来一个被测脉冲电平的跳变沿就对中断标志进行一次计数、复位、再计数的方法完成对被测脉冲频率的测量。
此外,通过外接高速晶体振荡器并在程序中进行相应的设置可使MSP430系列单片机测量更高的频率:也可以通过分频器来提高MSP430系列单片机测量频率的范围。将测量的频率进行简单地转换可以表示成测周期。
这种对单片机中断功能“另类”的用法,应该可以为我们以后对单片机功能的进一步深入地探索与开发带来一些启示。 本文中所用单片机为MSP430F2274,在实际的实验验证中用的是利尔达科技有限公司的430F22×的学习套件。本文重在讨论时间基准产生电路和计数电路功能的实现方法,故对其它部分的电路和各电路间的连接略去。
程序流程图如下图所示。