This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430FR2311:计时器B -在不使用CPU的情况下重置

Guru**** 2582405 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/615778/msp430fr2311-timer-b---reset-without-utilizing-cpu

部件号:MSP430FR2311

您好!


我正在从事一个涉及降压转换器低侧控制的项目。 我想知道是否有方法可以使用数字IO引脚的上升/下降边缘重置TIME_B计数器。  

我知道我可以通过CPU的硬件中断来完成此操作;但是,我尝试完全不涉及CPU。 我需要以150kHz的频率触发此中断,而CPU中断(尽管很短)会影响我的其它感应例程。

基本上,我的计划是使用计时器B和50 % 占空比从引脚获得PWM输出。 每当出现上述重置信号时,我希望PWM在关闭状态下重新启动。 这将允许我控制"高状态"的持续时间,同时保持低状态持续时间不变:

如果我可以在TBxCL1以上的时候重置计时器,那么我可以在使用恒定的关闭时间控制器的同时控制开启时间的宽度:

让我知道你们的想法。 有可能吗?

此致,

乔治

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,George,

    要更改计时器计数/设置,您需要CPU干预。 但是,我认为CPU不会中断您的PWM输出,因为计时器一旦设置为CCR内的值(也称为PWM的脉冲宽度),就会继续计数,而无需CPU干预,因为计时器模块可以独立工作。 您仍然可以使用GPIO中断唤醒部件以重置计时器。 事实上,我建议您这样做。 设置PWM并开始输出,然后转到保持所需时钟开启的LPM。 等待LPM中的GPIO中断。 接收到中断后,重置计时器,然后返回到LPM。

    从您上述描述来看,这不是执行PWM的最直接方式。 您只需更改CCR寄存器中的内容,即可直接更改脉冲宽度,而无需重置计时器计数。 只要运行MSP430的速度足够快,您就不会在PWM线路上看到故障。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,JH:

    我的目标是保持恒定的关闭时间,但当电流升至阈值以上时,让合成器向IO引脚发送信号。 理想情况下,这会向TIMER_B模块发送信号,以强制高信号处于低电平状态,而不会产生CPU反向。

    我想把CPU保持在外面的原因是,在150kHz时,CPU每7次就要重置一次计时器,所以我在US范围内的唤醒时间不能睡得太多。

    如果没有CPU就无法做到这一点,那就没问题,我将继续探索其他方案。

    感谢您的支持!
    乔治
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    George,

    是的,有了这种时间,您只能转到LPM0。 这将是最好的方法。