再上一篇:5.3.3 实时时钟
上一篇:5.3.4 操作系统(OS)定时器
主页
下一篇:5.4 DMA 控制器
再下一篇:5.4.2 数据传送
文章列表

5.3.5 脉冲宽度调制

嵌入式系统(修订本)——Intel XScale 结构与开发 陈章龙 著

脉冲宽度调制(PWM)可用来产生两个输出信号。它们基于3.6468MHZ 时钟。
一、PWM 操作
应用处理机有两路PWM:PWM0 和PWM1。它们相互独立可从外部脚输出。每个PWM
包含:

z 通过6 位时钟分频和10 位计数器实现增强型周期控制。

z 10 位脉宽控制。


图 5-4 PWM 框图
图 5-4 中 PWM_CTRLn 的 PRESCALE 值决定 PWM 模块时钟的分频率。该时钟加至 10 位加 1 计数器。它的值一方面与 PWM_DUTYn 的 DCYCLE 值比较,符合时置位 PWM_OUT 信号;另一方面与 PWM_PERVALn 的 PV 值加 1 进行比较,符合时清

0PWM_OUT 信号。应保证PWM_PERVALn 的值大于PWM_DUTYn。

二、寄存器
两路PWM 共有六个寄存器,见表5-11。
表 5-11 PWM 寄存器

物理地址

名称

描述

0x40B0_0000

PWM_CTRL0

PWM0 控制寄存器

0x40B0_0004

PWM_PWDUTY0

PWM0 宽度寄存器

0x40B0_0008

PWM_PERVAL0

PWM0 周期控制寄存器

0x40C0_0000

PWM_CTRL1

PWM1 控制寄存器

0x40C0_0004

PWM_PWDUTY1

PWM1 宽度寄存器

0x40C0_0008

PWM_PERVAL1

PWM1 周期控制寄存器

1、PWM 控制寄存器(PWM_CTRLn)(n=0 或1,下同)

它包含两部分:PWM_SD(位6)和PRESCALE(位5~0)。

PWM_SD 控制在禁止时钟时PWM 关闭方式:=0 为逐步关闭;=1 为立即关闭。 PRESCALE 控 制 PWMn 的 预 分 频 因 子 。 实 际 的 时 钟 PSCLK_PWM=3.6864MHZ/(PRESCALE+1).。

2、PWM 宽度寄存器(PWM_DUTYn) 它包含两部分:FDCYCLE(位10)和DCY(位9~0)。

FDCYCLE 控制 PWM_OUTn 的输出。=0,由 PWM_OUTn 控制。=1,PWM_OUTn 始终 为高,不受DCYCLE 控制。

DCYCLE:PWM 脉宽值。

3、PWM 周期控制寄存器(PWM_PERVALn)

它仅有 10 位(位 9~0,PV)。PV 决定 PWM_OUTn 的周期。PV 为 0,关闭 PWMn 为高 电平。PV 为其他值时,PWMn 的频率为PSCLK_OUTn/(PV+1)。