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修订历史记录

典型单时基方法

在一些应用中,必须同时生成多个具有独特频率的信号。在 MSP430 MCU 的典型用法中,计时器模块上使用向上计数模式或向上/向下计数模式,并且生成的每个频率都对应于一个唯一的计时器模块。每个计时器模块的捕获比较寄存器 0(TxCCR0)均在程序开头设置,以设定计时器的周期。每个模块的额外捕获比较寄存器(TxCCRx)都可以在程序开头设置为某个值,以生成不同的占空比,但由于计时器只能向上计数到 TxCCR0 中的值,因此计时器模块上的一切都是相对于这个相同计时器周期来完成的。在这种方法中,一切都在计时器工作开始时设置,并且设置之后会一直保持不变 – 一切都在硬件内完成,无需在 ISR 中重新加载任何值。图 1-1 显示了向上计数模式下 TxCCR0 值与周期值 t0 之间的关系。

GUID-A7151A9B-BBB8-43D4-82CD-85458808B3A0-low.gif图 1-1 向上计数模式时间间隔

使用单时基方法时,可在特定 MSP430 器件上同时生成的频率数量取决于器件上的计时器模块数量,而可同时生成的占空比数量则取决于每个模块上 TxCCRx 寄存器数量减去 1。

例如,MSP430F5529 器件包括具有五个捕获/比较(CC)寄存器的 TA0、具有三个 CC 寄存器的 TA1、具有三个 CC 寄存器的 TA2,以及具有七个 CC 寄存器的 TB0。因此,在 MSP430F5529 上使用单时基方法时:

频率数量 = 3 个 Timer_A 模块 + 1 个 Timer_B 模块 = 4 个独立频率

占空比数量 TA0 = 5 CC – 1 = 4 个占空比(TA0 频率下)

占空比数量 TA1 = 3 CC – 1 = 2 个占空比(TA1 频率下)

占空比数量 TA2 = 3 CC – 1 = 2 个占空比(TA2 频率下)

占空比数量 TB0 = 7 CC – 1 = 6 个占空比(TB0 频率下)