角度计时器(Angular Timer)是个可将周期信号转换为较小的间隔,并进行时间信号转换为角度/相位信号的计时器。软体设计人员可以利用它将重复的信号解译成为角度测量而不是仅可以时间测量。重复信号被转换为360度角表示,所有测量都以这种方式表示。
例如,正在旋转的马达可以在一个特定位置安置传感器以指示零点位置。该传感器将产生重复的脉冲。在这种情况下,我们可很容易将360度角度应用到该信号,因为重复信号所花费的时间可以很容易地分为360份,每个旋转角度与一个时间元素相匹配。如果在零点的传感器所产生的连续两个脉冲之间的时间因电机速度变化而有所变动,角度计时器会自动处理计算及自动调整。
由使用硬体划分将基于时间的信号转换为基于角度的信号,这样可以节省时间,并允许用户根据角度或相位触发事件。当周期性信号中需要某个角度/相位进行测量,只要使中断事件发生即可完成,这正非常适合角度计时器的应用。
角度计时器的基本操作来自两个输入信号 ,由角度计时器信号寄存器(ATxSIG)所指定的输入信号来源,以及角度计时器时钟寄存器(ATxCLK)所选择的输入时钟。根据这些信号,创建三个输出:
‧相位时脉输出:在输入脉冲之间以设定的相位角输出的任何脉冲
‧周期时脉输出:输入脉冲的周期时脉输出
‧漏失脉冲检测器:在检测到漏失脉冲时创建一个脉冲
角度计时器的两种基本运行模式运行
角度计时器以单脉冲及多脉冲两种基本模式运行。两种模式的工作原理相同:将周期性的输入信号划分成多个间隔,并允许事件在这些较小的间隔触发。多脉冲输入本质上可视为一系列单脉冲输入。
两种模式的主要区别
两种模式的主要区别在于如何订周期。单脉冲模式将周期确定为输入脉冲流中每个脉冲之间的时间,多脉冲模式将周期确定为输入脉冲流中漏失脉冲之间的时间。
角度计时器还具有捕获和比较功能
捕获功能可以被软体利用来检索相位计数器 (ATxPHS) 的状态, 这可以用来确定输入信号的角度,以便在软体算法中进一步计算并加以运用。而角度计时器的比较功能则可以触发输出信号,如果启用,则在相位计数器 (ATxPHS) 与预设值匹配时产生中断。当事件需要以特定的相位角发生时,这个功能特别有用。
总结,角度计时器具有以下特性:
‧它是专业的旋转计时器
‧独立于MCU核心之外运行
‧根据使用者定义的角度间隔自动生成输出事件
‧中断是基于角度设定产生的
‧可简化程式开发
‧自动调整速度变化
‧软体程式针对角度做设计
‧简化所需的数学运算
综合上述,读者可善用角度计时器的特性应用于许多电机控制程序如电容放电点火控制 (Capacitor Discharge Ignition, CDI) 等应用,并能进而创造出其他它更多的应用可能。
如需进一步了解更多有关电容放电点火控制的应用技术资讯,请参考以下连结:
https://www.microchip.com//wwwAppNotes/AppNotes.aspx?appnote=en575368
本文作者为:Microchip应用工程师 张锦城