ZHCABH5B December   2011  – February 2022 MSP430G2112 , MSP430G2152 , MSP430G2212 , MSP430G2252 , MSP430G2312 , MSP430G2352 , MSP430G2412 , MSP430G2452

 

  1.   摘要
  2.   商标
  3. 1典型单时基方法
  4. 2多时基方法
  5. 3在定制应用中实现多时基方法
    1. 3.1 计时器时钟源选择
    2. 3.2 周期和频率计算
    3. 3.3 占空比计算
  6. 4示例代码
    1. 4.1 方法
      1. 4.1.1 用于生成多个频率的 ISR
      2. 4.1.2 用于生成多个频率和占空比(PWM)的 ISR
    2. 4.2 包含的代码示例
  7. 5多时基方法的限制
    1. 5.1 ISR 开销
    2. 5.2 最大输出频率与信号数量
    3. 5.3 功耗
  8. 6参考文献
  9. 7修订历史记录

ISR 开销

在用于生成 PWM 的单时基方法中,无需重新载入 TxCCRx 寄存器,并且甚至无需进入 ISR,便会自动生成输出。这意味着,在初始计时器配置后,不存在软件开销,因为一切工作均由硬件处理。在多时基方法中,每个高电平周期和低电平周期结束时都会进入 ISR,因此会增加一些软件开销。

虽然代码示例中的 ISR 都保持长度尽可能最小,但增加软件开销的所需操作包括:

  • 从低功耗模式退出时的唤醒时间
  • ISR 进入时间
  • 用于确定哪个 TxCCRx 触发中断的判定逻辑
  • 用于确定哪个周期部分(高电平/低电平)刚刚结束的判定逻辑(仅实现 PWM 时)
  • 通过添加合适的周期值来重新载入 TxCCRx 寄存器

生成的每个信号都会增加此开销,因为这会增加 ISR 中所用的时间百分比。如果 ISR 中使用的周期数相比于 ISR 间的周期数(由用户的周期计数值设置)来说太大,进而导致无法及时处理中断,便会出现问题。因此,这里存在一个截止点,因 ISR 代码所增加延迟而使用的 TACCRx 寄存器数量而异。对于待生成的特定数量的信号,则当计时器时钟由 MCLK 提供时,从周期数量方面来看,此截止点会在 MCLK 频率上基本保持不变。这是因为该值表示 ISR 周期数量与中断间周期数量之比。图 5-1 显示了生成可靠信号的最小周期数量与 MCLK 之间的固定关系。这转而导致最大输出频率与 MCLK 之间存在线性关系,如图 5-2 所示。

GUID-7FDB5F22-453E-4A25-9BAD-A1999D601BC4-low.gif
图 5-1 中的数据由 MSP430G2452 上的测试生成,该项测试用于生成三个具有相同周期的信号(“最差情况”)。
图 5-1图 5-2 中的数据点也可以在表 5-1 中找到。
此数据仅作为通用指南,供了解生成所需输出频率时需要的计时器源频率,而不应视为数据表规范。系统中的其他中断、ISR 代码的结构或者不同的频率和占空比组合等其他因素可能会影响特定应用中的相应结果。
图 5-1 最小周期计数与 MCLK 频率
GUID-356A1342-BC94-4698-B8B0-04F41B864321-low.gif
图 5-2 中的数据由 MSP430G2452 上的测试生成,该项测试用于生成三个具有相同周期的信号(“最差情况”)。
图 5-1图 5-2 中的数据点也可以在表 5-1 中找到。
此数据仅作为通用指南,供了解生成所需输出频率时需要的计时器源频率,而不应视为数据表规范。系统中的其他中断、ISR 代码的结构或者不同的频率和占空比组合等其他因素可能会影响特定应用中的相应结果。
图 5-2 最大输出电压与 MCLK 频率
表 5-1 MSP430G2452 连续模式性能(1)(2)
MCLK
(MHz)
最小周期计数 最大频率
(kHz)
1 150 6.67
8 150 53.33
12 150 80
16 150 106.67
表 5-1 中的数据由 MSP430G2452 上的测试生成,该项测试用于生成三个具有相同周期的信号(“最差情况”)。
此数据仅作为通用指南,供了解生成所需输出频率时需要的计时器源频率,而不应视为数据表规范。系统中的其他中断、ISR 代码的结构或者不同的频率和占空比组合等其他因素可能会影响特定应用中的相应结果。