Fork Me on GitHub

源码开放学ARM

LASO - Learn ARM with Source Open

首页         目录索引         资料下载         代码下载         联系作者        
下载PDF打印版本

PWM Timer 定时器

定时器工作原理

定时器功能

* 计时 * 中断 * PWM Timer (驱动PWM信号的设备)

原理

* 类似于以前的 “沙漏” * 沙漏的计时原理:沙子量,漏沙的速度,到时的反转(连续)
沙子量: Counter的初值
漏沙速度:counter– (自动完成,并且依据Clock=PCLK=66Mhz)
反转:reload 操作 (InitValue -> Counter)
装沙子:Manual update

* 真正的硬件设计是怎样的? TCNTBn - 用来装沙子的量筒,可以修改 TCNTn - 真正用来做 counter–, 不可修改,不可见 TCNTOn - 可以用来观察 TCNTn 的值的变化

课堂讨论

* 控制器的工作时钟是怎么产生的?
- PCLK source
- level1: 8-bit prescaler
- level2: 2/4/8/16 divider

* 定时中断是怎么产生的?
- If the down-counter reaches zero,
- Timer Count Buffer register (TCNTBn)
- down-counter–
- set the timer enable bit of TCON
- set interrrupt enable bit

  • PWM 信号是怎么产生的?

    • value of the TCMPBn register
    • down-counter value matches the value of the compare register
    • reload function

上一节 | 目录索引 | 下一节

blog comments powered by Disqus