1 / 22
文档名称:

多种计算脉冲与占空比的方法.pdf

格式:pdf   大小:768KB   页数:22页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

多种计算脉冲与占空比的方法.pdf

上传人:977562398 2018/1/23 文件大小:768 KB

下载得到文件列表

多种计算脉冲与占空比的方法.pdf

文档介绍

文档介绍:AN1473
多种计算脉冲与占空比的方法
其他方案都需要软件干预,以补偿边沿之间的定时器计
作者:
Justin Bauer满返回或寄存器设置操作,不过这会影响精度以及测量
Microchip Technology Inc.
波形的最小/ 最大时间约束。这些方案的软件程序应该
采用汇编语言编写,以实现最佳精度。通常采用软件方
简介案便足以满足应用所需的精度。
由于占空比为脉冲与其周期的比值,因此有关占空比的
很多时候,我们需要量化周期信号的脉宽(如伺服电机介绍大都会提到脉冲测量。有些方案可调整其程序,以
的脉宽)或者脉宽调制信号的占空比。有时会遇到需要选择在下降沿变为上升沿或在上升沿变为下降沿时触
测量非周期性脉冲的情形,如测量常见于电容放电式点发,但CLC/NCO和Timer1 门控方案的设置与其对应的
®
火电路中的脉冲。本应用笔记介绍了基于8位PIC 器件脉冲测量方案完全不同。
的六种测量周期性和非周期性波形脉冲的不同策略,以
及六种计算周期性波形占空比的方法。
术语
根据所选单片机与所用外设的不同,设计所需的方案
可能比预期的要复杂,这也是本文档介绍多种方案的本文档中使用了“精度”这一术语,它取决于时钟频率
原因。有些方案需要使用2011年推出的可配置逻辑单的精度以及测量粒度。粒度越大,分辨率越低。要实现
元(Configurable Logic Cell,CLC)和数控振荡器更精确的测量,需选择高精度和高频率时钟以实现更小
(Numerically Controlled Oscillator,NCO)。这些方的粒度和更高的分辨率。本文档所使用的另一个术语是
案能提供软件开销最低的硬件解决方案,而简单的电平测量不确定性。定时器相对于脉冲边沿的停止时刻存在
变化中断(Interrupt-On-Change,IOC)外设会需要较不确定性:它既可能刚好在脉冲边沿出现时停止,也可
多的软件开销用于计算。能在一个时钟周期之后停止。因此,不确定性为一个完
本应用笔记介绍的所有方案均包含相关的软件程序。由整的时钟周期。
于PIC MCU 的时钟速度、软件优化以及常规环境设置等如下图(图 1)所示,定时器的分辨率将极大地影响脉
多方面原因,各种方案的最终结果可能会与文档给出的冲测量结果。
结果有所不同。
执行摘要
理想的实现方案应该完全在硬件中执行,并且外部波形
与 PIC MCU 系统时钟同步。值得庆幸的是,通过
Timer1 门控和 CLC 以及 NCO 可实现纯硬件解决方案。
由于大多数情况下,要测量的脉冲或占空比是由其他源
所产生的外部波形,因此测量的分辨率将始终为至少一
个时钟周期。
 2013 Microchip Technology Inc. 第 1页
AN1473
图1: 确定特定脉宽对应的定时器值时的量化误差。定时器递增速率为1 ns
Quantization量化误差 Error
4
3
定时器输出Timer Output 2
1
0

Pulse脉宽( Widthns )(ns)
可行方案图2: 脉宽定义
最精确的测量可以通过最快的时钟源与预分频比最低的
定时器来实现。最低的定时器预分频比可实现最高的分
辨率。通常分辨率越高,最大计数值越大,从而可对定
时器计满返回进行必要的补偿。
如果要使用非阻塞代码,则可以将中断程序整合到方案
中。不过,这种整合可能导致精度下降。例如,IOC 引 T2与T1之间的时间为脉宽。
脚可在检测到上升/ 下降沿时产生中断。因此,现在无
需不断轮询该引脚,即可在 ISR 内部完成脉冲测量。这图3: 占空比为脉宽与周期之比
听起来似乎很理想,但是用户此时必须适应 3-5 个指令
周期的延时,该延时是由于提供异步中断而产生的。
如果必须保证绝对精度,则应该使用外部晶振,因为内
部振荡器模块可能偏离其标称频率高达5%。
除非另外说明,否则本文档中所有包含相关代码的测量
方法,均使用 16 MHz 的内部系统时钟,并且所有定时
器均基于系统时钟(FOSC)的 1:1 预分频比工作。波长
的上下限,以及测量结果的精度通过表 1 与表 2 进行计
算。如果在基于软件的方案中考虑计满返回,则测量精
度将随软件程序的开销成比例降低。
这些方案假设脉冲为高电平有效,并且周期为两个相邻
上升沿之间的时间。详情请参见图2与图3。
第2页© 2013 Microchip Technology Inc.
AN1473
表1: 与代码相关的参数
脉冲测量——参数
模块 PIC® MCU 中断