频率湿测模块的设计思路
发布时间: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)
上一篇:频率湿测模块的程序设计
上一篇:正弦信号发生模块的程序设计
热门点击
- PWM信号发生模块的设计思路
- 交流电压测量模块的设计思路
- 多功能波形信号发生模块设计的元器件选型
- USB数据通信接□模块的程序设计
- 频率湿测模块的设计思路
- 交流电压测量模块的程序设计
- 正弦信号发生模块的电路设计
- 多功能波形信号发生模块电路设计
- PWM信号发生模块的程序设计
- 正弦信号发生模块的程序设计
推荐技术资料
- DS2202型示波器试用
- 说起数字示波器,普源算是国内的老牌子了,FQP8N60... [详细]