为了减少误差,应确保闸门的开启和关闭与待测信号同步。单片机的标准频率为8 MHz,其计数最高可达到8 MHz,(一个时钟周期可以执行一条指令,传统的MCS51单片机需要12个时钟周期才可执行一条指令),而测量范围是0 MHz~10 MHz,故计数时需要先对计数器分频,MSP430系列单片机内部定时器Timer_ A和Timer_ B自带分频器,可以对所测频率进行1、2、4、8分频,使设计电路简单,并且能达到测量要求。
2.2 系统工作原理
为了实现高精度、等精度的双计数频率测量,计数相关器是关键,所谓计数相关器就是使门信号和待测信号同步。当按下S1、S2、S3三个按键中的任一按键时,与门U1(图2中未给出)输出0信号使D触发器清零,Q端输出0信号使与非门U2和U3封锁。与此同时,软件指令设置TACTL和TBCTL使定时器A和定时器B清零,做好计数准备。单片机的P5.1口和D触发器的D端相连.在计数前P5.1口输出始终为零,这样计数信号不能通过与非门到达计数器,然后用软件指令向P5.1口写入信号1,当被测信号Fx的第一个上升沿到达时,与非门U2和U3开启,标准信号和待测信号同时计数。当计数满时,TBIFG1置位,产生中断,在中断服务程序中对P5.1口写入“0”信号,做好关闭闸门的准备,但这时闸门并没有真正关闭,等待被测信号的上升沿到来,闸门关闭,停止计数。由此可知,在整个计数过程中,从闸门开启到闸门关闭,实际闸门开启时间是被测信号计数周期的整数倍,避免了由于非整数周期造成的误差,实现了闸门开启和关闭与待测信号的同步。由于计数器Timer_B至少产生一次中断才能关闭闸门,理论上在此期间基准脉冲数为NB=8×65 536(8为计数器Timer_B的分频系数)。图3是等精度实现原理图。