位置:51电子网 » 技术资料 » 集成电路

频率湿测模块的设计思路

发布时间:2008/11/25 0:00:00 访问次数:782

  捕捉/比较/脉宽调制ccp模块是pic单片机特有的外围功能模块,它与tmr1和tmr2配合使用实现输入捕捉、输出比较和脉宽调制输出等功能。其中输入捕捉模式用于测量引脚输入信号的周期、频率、脉宽、信号的到达时刻以及消失时刻等。

  1.捕捉工作方式的功能

  在捕捉方式下,当引脚rc2iccp1上有事件发生时,ccprih∶ccpril就捕捉tmr1寄存器16位的值。捕捉工作的事件有如下几种:每一个下降沿、每一个上升沿、每4个上升沿、每16个上升沿。

  事件的类型由ccpxcon控制寄存器的ccplm3∶ccp imo设定。当捕捉成功,中断请求标志位ccpiif置位(置位后由软件复位)。当ccp1内容还没有取走,另一捕捉出现时,旧的值就被新的值覆盖。捕捉工作方式的功能框图如图1所示。


图1 捕捉工作方式功能框图

  2.捕捉工作方式的工作过程

  在捕捉方式中,引脚rc2/ccp1应该设置为输入,即使端口c方向寄存器trisc的d2置位。如果引脚rc2/ccp1误设为输出,这个端口的写操作会误引起捕捉触发。

  在捕捉方式下,tmr1使用定时模式或同步计数模式。在异步计数模式,捕捉模式不能工作。当捕捉模式变化时,会产生虚假的捕捉中断。为了避免虚假中断,必须使cop 1ie保持为0,在操作模式改变时清除中断标志位ccpiif。

  在捕捉模式下有4种预分频设置。在捕捉模式结束或cap不在捕捉模式时,预分频器计数器清0,任何一个reset都复位预分频计数器。

  测试原理如图2所示。在t1时刻以前,把ccp1设置成捕捉脉冲的上升沿,当信号上升沿来到时,发生cap中断,在中断服务程序中捕捉记下此时tmri寄存器中16位的值tmr11,把ccpi设置成捕捉脉冲的下降沿;当该信号下降沿来时,发生ccp中断,在中断服务程序中记下此时tmr1寄存器中16位的值tmrl2,然后把ccpi设置成捕捉脉冲的上升沿:


图2 ccp模块测试原理图

  当该信号的又一上升沿来时,又发生ccp中断,在中断服务程序中记下此时tmr1寄存器中16位的值tmr13,则信号的周期t=(tmr13-tmr11)μs,信号的频率为f= 1/t,脉冲的宽度tp=(tmrl2-tmrl1)μs,占空比d=tp/t×100%。因为cop捕捉方式可能发生的最大误差为±1μs,可把以上过程多进行几次,再把各次测试的平均值作为最后的测量值。

  如果实际应用中两次捕捉中断的时间间隔小于1次中断服务时间,则可以通过设置寄存器ccpicon的值,使cop模块每4个脉冲上升沿捕捉1次或每16个脉冲上升沿捕捉1次,这样两次中断的时间间隔就增大了;如果还不能达到要求,则可用分频器对输入频率信号分频处理后,再由ccp1引脚输入。

  欢迎转载,信息来源维库电子市场网(www.dzsc.com)



  捕捉/比较/脉宽调制ccp模块是pic单片机特有的外围功能模块,它与tmr1和tmr2配合使用实现输入捕捉、输出比较和脉宽调制输出等功能。其中输入捕捉模式用于测量引脚输入信号的周期、频率、脉宽、信号的到达时刻以及消失时刻等。

  1.捕捉工作方式的功能

  在捕捉方式下,当引脚rc2iccp1上有事件发生时,ccprih∶ccpril就捕捉tmr1寄存器16位的值。捕捉工作的事件有如下几种:每一个下降沿、每一个上升沿、每4个上升沿、每16个上升沿。

  事件的类型由cccon控制寄存器的ccplm3∶ccp imo设定。当捕捉成功,中断请求标志位ccpiif置位(置位后由软件复位)。当ccp1内容还没有取走,另一捕捉出现时,旧的值就被新的值覆盖。捕捉工作方式的功能框图如图1所示。


图1 捕捉工作方式功能框图

  2.捕捉工作方式的工作过程

  在捕捉方式中,引脚rc2/ccp1应该设置为输入,即使端口c方向寄存器trisc的d2置位。如果引脚rc2/ccp1误设为输出,这个端口的写操作会误引起捕捉触发。

  在捕捉方式下,tmr1使用定时模式或同步计数模式。在异步计数模式,捕捉模式不能工作。当捕捉模式变化时,会产生虚假的捕捉中断。为了避免虚假中断,必须使cop 1ie保持为0,在操作模式改变时清除中断标志位ccpiif。

  在捕捉模式下有4种预分频设置。在捕捉模式结束或cap不在捕捉模式时,预分频器计数器清0,任何一个reset都复位预分频计数器。

  测试原理如图2所示。在t1时刻以前,把ccp1设置成捕捉脉冲的上升沿,当信号上升沿来到时,发生cap中断,在中断服务程序中捕捉记下此时tmri寄存器中16位的值tmr11,把ccpi设置成捕捉脉冲的下降沿;当该信号下降沿来时,发生ccp中断,在中断服务程序中记下此时tmr1寄存器中16位的值tmrl2,然后把ccpi设置成捕捉脉冲的上升沿:


图2 ccp模块测试原理图

  当该信号的又一上升沿来时,又发生ccp中断,在中断服务程序中记下此时tmr1寄存器中16位的值tmr13,则信号的周期t=(tmr13-tmr11)μs,信号的频率为f= 1/t,脉冲的宽度tp=(tmrl2-tmrl1)μs,占空比d=tp/t×100%。因为cop捕捉方式可能发生的最大误差为±1μs,可把以上过程多进行几次,再把各次测试的平均值作为最后的测量值。

  如果实际应用中两次捕捉中断的时间间隔小于1次中断服务时间,则可以通过设置寄存器ccpicon的值,使cop模块每4个脉冲上升沿捕捉1次或每16个脉冲上升沿捕捉1次,这样两次中断的时间间隔就增大了;如果还不能达到要求,则可用分频器对输入频率信号分频处理后,再由ccp1引脚输入。

  欢迎转载,信息来源维库电子市场网(www.dzsc.com)



相关IC型号

热门点击

 

推荐技术资料

DS2202型示波器试用
    说起数字示波器,普源算是国内的老牌子了,FQP8N60... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!