现在的位置: 首页 > 综合 > 正文

S5PC100外设之脉冲宽度调制定时器

2013年07月29日 ⁄ 综合 ⁄ 共 1208字 ⁄ 字号 评论关闭

脉冲宽度调制定时器

作者:周志强,华清远见嵌入式学院讲师。

1. 概述

S5PC100有5个32位的计时器。这些计时器能够产生内部中断给ARM子系统。此外,计时器0、1和2包括脉冲宽度调制(PWM)功能驱动外部I / O信号。PWM计时器0有一个可选的死区发生器功能来支持一个大电流装置。计时器3和4内部定时器没有输出的引脚。

计时器工作的时钟来源于APB-PCLK。计时器0和1共享一个可编程的8位预分频器,它提供了从PCLK时钟的第一级分频。计时器2、3和4共享一个不同的8位预分频器。每个定时器有自己私有的时钟分频器,它提供了一个第二层次的时钟分频(预分频器除以2、4、8、或16)。另外,定时器就可以选择一个外部时钟源。计时器0、1、2、3和4选择外部时钟(PWM_TCLK).

每个计时器有自己的32位递减计数器,由定时器的时钟来驱动。这个递减计数器(TCNTn)从计数缓冲寄存器(TCNTBn)装载。如果递减计数器的值递减到零,定时器产生中断请求告诉CPU递减计数器数据递减到零了。如果递减计数器的值递减到零,TCNTBn的值将自动重新装载到TCNTn中,递减计数器开始下一个周期。然而,如果计时器停止,例如,通过清除计时器使一些TCONn在计时器运行模式、TCNTBn的值将不会再装载到计数器。

脉冲宽度调制(PWM)功能是使用TCMPBn寄存器的值来实现的。在定时器控制逻辑中,如果递减计数器的值 匹配 比较寄存器的值,定时器的控制逻辑将更改输出的状态。因此,比较寄存器决定了一个PWM输出开始时间(或关闭时间)。

这个TCNTBn和TCMPBn寄存器是双缓冲机制,允许修改定时器参数来更新下一个周期而不是当前周期。新更新的值不生效,直到当前的递减定时器递减为零在下一个周期才会更新。

2. 特性

PWM所支持的特性包括:
        1、5个32位计时器
        2、可编程时钟选择逻辑针对单个的PWM通道。
        3、四个独立的可编程控制PWM脉宽控制和极性。
        4、静态配置:PWM停止
        5、动态配置:PWM正在运行。
        6、自动重新加载模式和一次性脉冲模式。
        7、两个死区发生PWM输出。
        8、可以产生中断。

3 预分频和分频

8位预分频器和3位分频器可以输出如下的频率:

4. 寄存器描述

        TCFG0 :寄存器用来配置2个预分频器和死区的的长度的寄存器 
        TCFG1 :寄存器用来配置每个定时器独有的3位分频器
        TCON :控制定时器的工作模式的
        TCNTB0:定时器0的计数缓冲寄存器
        TCMPB0 :定时器0 的比较缓冲寄存器
        TCNTO0 :监控的寄存器

更多华清远见嵌入式培训免费资料,尽在华清远见嵌入式学院免费课堂:http://www.embedu.org/lecture/

【上篇】
【下篇】

抱歉!评论已关闭.