C2000控制外设(2) — ECAP

增强捕获模块(ECAP)

C2000 增强型捕获模块支持基于时间的外部信号转换记录。它通过在捕获输入引脚上对转换进行时间戳记来精确计时外部事件。ECAP 可用于测量旋转机械的速度、确定脉冲之间的经过时间、计算脉冲序列信号的周期和占空比,以及解码来自<占空比编码电流/电压传感器>的电流/电压测量值
在这里插入图片描述
捕获单元可配置为触发与外部事件同步的 A/D 转换。与使用与 ADC 模块相关的 ADCEXTSOC 引脚相比,使用捕获功能有几个潜在优势。

  • ADCEXTSOC 引脚采用电平触发,因此只有外部信号从低到高转换才能启动转换。捕获单元不受此限制,因为它采用边沿触发,可以配置为在上升沿或下降沿启动转换。
  • 如果 ADCEXTSOC 引脚保持高电平的时间超过一个转换周期,则第一次转换完成后将立即启动第二次转换。当需要进行所需转换时,这不必要的第二次转换可能仍在进行中。此外,如果启用了转换结束 ADC 中断,则第二次转换完成后将触发不必要的中断。
  • 上述两个问题与捕获单元不会有。

捕获单元可以在启动 A/D 转换的同时向 CPU 发送中断请求。当计算由外部事件驱动时,这可以节省时间,因为中断允许初步计算在转换开始时开始,而不是在转换结束时使用 ADC 转换结束中断。ADCEXTSOC 引脚不提供转换开始中断。相反,需要轮询控制寄存器中的 ADCSOC 位来捕获外部启动的转换。

捕获模式

ECAP 模块可捕获专用输入引脚上的信号转换,并将 32 位时基计数器值顺序加载到最多四个 32 位时间戳捕获寄存器 (CAP1 – CAP4) 中。使用 32 位计数器可最大限度地减少翻转。独立边沿极性可配置为上升沿或下降沿,模块可运行在单次触发模式下(最多可捕获四个时间戳事件),或运行在连续模式下(最多可捕获四个时间戳事件,如同循环缓冲区一样)。捕获输入引脚通过输入 X-Bar 进行路由,允许将设备上的任何 GPIO 引脚用作输入。此外,输入捕获信号可以预缩放,并且可以在四个捕获事件中的任何一个上产生中断。时基计数器可以运行在绝对时间戳模式或差值(delta)时间戳模式下。在绝对时间戳模式下,计数器连续运行;而在差值时间戳模式下,计数器在每次捕获时重置。

APWM模式

如果模块未在捕获模式下使用,则可以将 ECAP 模块配置为单通道非对称 PWM 模块运行(即时基计数器在计数模式下运行)。
在这里插入图片描述
捕获单元中断可立即通知 CPU 外部捕获的事件。在不需要的情况下,可以屏蔽中断,改用标志测试/轮询。这提高了资源管理的灵活性。
示例:考虑一个伺服应用,其中捕获单元通过脉冲传感器用于低速速度估计

速度估计值直到下一次控制律计算才会使用,该计算由定时器中断实时驱动。进入定时器中断服务程序后,软件可以测试捕获中断标志位。如果自上次控制律计算以来已发生足够的伺服运动,则捕获中断标志将被置位,软件可以继续计算新的速度估计值。如果未置位标志,则表示尚未发生足够的运动,并将采取其他措施来更新速度估计值。
第二个例子是,考虑在计算继续进行之前需要两次连续捕获的情况。如果脉冲一结束就需要获取脉冲宽度,那么捕获中断是最佳选择。然而,捕获中断会在两次捕获之后发生,第一次捕获会浪费少量的周期,因为 CPU 会被中断,然后确定这确实只是第一次捕获。如果脉冲一结束就不需要获取脉冲宽度,则 CPU 可以根据需要检查捕获寄存器,以查看是否发生了两次捕获,并从那里继续进行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值