1.S5PV210定时器系统概述和时钟结构框图分析

PULSE WIDTH MODULATION TIMER(脉冲宽度调制定时器)

1.1 OVERVIEW OF PULSE WIDTH MODULATION TIMER
The S5PV210 has five 32-bit Pulse Width Modulation (PWM) timers. These timers generate internal interrupts for the ARM subsystem. In addition, Timers 0, 1, 2 and 3 include a PWM function, which drives an external I/O signal.The PWM in timer 0 has an optional dead-zone generator capability to support a large current device. Timer 4 is internal timers without output pins.
S5PV210有5个32位脉冲宽度调制定时器。这些定时器能够为ARM系统产生内部中断。此外,定时器0/1/2/3包含一个PWM功能,并且能产生外部的I/O信号。PWM定时器0还包含一个可选的死区生成器功能来支持一个大电流设备。定时器4是内部定时器,没有外部i/o引脚。

The Timers use the APB-PCLK as source clock. Timers 0 and 1 share a programmable 8-bit prescaler that
provides the first level of division for the PCLK. Timers 2, 3, and 4 share a different 8-bit prescaler. Each timer hasits own private clock-divider that provides a second level of clock division (prescaler divided by 2, 4, 8, or 16).Alternatively, the timers can select a clock source from CMU. Timers 0, 1, 2, 3, and 4 select SCLK_PWM.
这些定时器使用APB总线上的PCLK作为时钟源。定时器0和1共用一个8位的可编程预分频器来为PCLK进行一级分频。定时器2/3/4共用另一个8位的预分频器。每一个定时器都有它自己的二级时钟分频器(分频系数为2/4/8/16)。或者,定时器也能选择从CMU作为一个时钟源,定时器0/1/2/3/4选择SCLK_PWM作为时钟信号。

Each timer has its own 32-bit down-counter which is driven by the timer clock. The down-counter is initially loaded from the Timer Count Buffer register (TCNTBn). If the down-counter reaches zero, the timer interrupt request is
generated to inform the CPU that the timer operation is complete. If the timer down-counter reaches zero, the value of corresponding TCNTBn automatically reloads into the down-counter to start a next cycle. However, if the timer stops, for example, by clearing the timer enable bit of TCONn during the timer running mode, the value of TCNTBn is not reloaded into the counter.
每一个定时器都有它们自己的通过定时器时钟驱动的向下计数器。向下计数器的初值从TCNTBn计数器读取。如果向下计数器减到0后,就会产生一个定时器中断请求来通知CPU定时器操作完成。如果定时器向下计数器减到0,相应的TCNTBn的值将会自动装载到向下计数器然后开始下一个循环。然而,如果定时器停止,例如在定时器工作时通过清除TCONn寄存器中的定时器使能位,那么TCNTBn中的值就不会被重载到计数器中。

The PWM function uses the value of the TCMPBn register. The timer control logic changes the output level if down-counter value matches the value of the compare register in timer control logic. Therefore, the compare register determines the turn-on time (or turn-off time) of a PWM output.
PWM功能使用TCMPBn寄存器的值。如果在定时器控制逻辑中向下计数器的值与比较寄存器的值相匹配,那么定时器控制逻辑改变输出电平。因此,比较寄存器决定打开或者关闭定时器的PWM输出。

The TCNTBn and TCMPBn registers are double buffered to allow the timer parameters to be updated in the middle of a cycle. The new values do not take effect until the current timer cycle completes.

在一个循环中TCNTBn和TCMPBn寄存器被双缓存用来更新定时器参数的值。新的值不会产生影响直到当前定时器循环完成。


下面是S5PV210的PWM定时器时钟结构框图

1.S5PV210定时器系统概述和时钟结构框图分析_第1张图片

分析这个时钟框图,图中的几个关键点分别为:时钟源,8位的预分频器0和1,每个定时器各自的分频器,TCMPBn和TCNTBn寄存器,死区发生器等。

*预分频器和分频器是串联(级联)的,所以两级分频的系数是相乘的。比如预分频器为2分频,分频器为16分频,那么出来的时钟频率就为PCLK / (16*2)。从图中可以看出我们这里说的二级分频器其实就相当于上面的MUX多选一的开关,通过选取不同的路来确定分频的系数。

*关于TCMPBn和TCNTBn寄存器,TCMPBn寄存器和产生的PWM信号有关,TCNTBn寄存器就是通过我们编程写数值进去,然后它再通过硬件将数据传给TCNn寄存器,然后通过向下计数器来完成定时器的功能。TCMPBn寄存器的值和TCNn中的值进行比较,通过设定,在大于或小于时,信号就会输出高电平或者低电平从而完成相应的波形输出。

*关于死区发生器,其实这个

1.S5PV210定时器系统概述和时钟结构框图分析_第2张图片

简单的说就是当电平由高到低或者由低到高变化时,并不能瞬时完成,而这个过程会导致正负极短路的情况,而死区发生器就是为了避免这种情况,在双方短路的区域进行屏蔽从而避免由于短路引起的不好后果。

*关于PWM波形两个比较重要的参数:周期和占空比。

周期T:就是紧挨着的两个高电平和低电平时间和。

占空比:就是高电平时间 / T。


最后说一下关于蜂鸣器的一些原理:

*蜂鸣器内部其实就是两个小金属片,引出来两个引脚,正极和负极。当给正负极之间通上电和断电时两个金属片会闭合和断开。这就像一个人的手掌不停的拍掌一样,当通电断电的频率到达一定的值时,金属片就会由于闭合断开而产生出声音,在一定的范围内,频率越低,声音越低沉,频率越高,声音越尖锐。





你可能感兴趣的:(1.S5PV210定时器系统概述和时钟结构框图分析)