10.4.3. 寄存器定义
寄存器列表
寄存器名 |
偏移地址 |
寄存器功能描述 |
---|---|---|
PWM_CTL |
0x00 |
PWM模块控制寄存器 |
PWM_MCTL |
0x04 |
PWM控制寄存器 |
PWM_CKCTL |
0x08 |
PWM时钟控制寄存器 |
PWM_INTCTL |
0x0C |
PWM中断控制寄存器 |
PWM_INTSTS |
0x10 |
PWM中断状态寄存器 |
PWM_TBCTL |
0x300+0x100*n+0x00 |
PWM时基控制寄存器 |
PWM_TBSTS |
0x300+0x100*n+0x04 |
PWM时基状态寄存器 |
PWM_TBCTR |
0x300+0x100*n+0x10 |
PWM时基计数器寄存器 |
PWM_TBPRD |
0x300+0x100*n+0x14 |
PWM时基周期寄存器 |
PWM_CMPCTL |
0x300+0x100*n+0x18 |
PWM比较器控制寄存器 |
PWM_CMPA |
0x300+0x100*n+0x20 |
PWM比较器A寄存器 |
PWM_CMPB |
0x300+0x100*n+0x24 |
PWM比较器B寄存器 |
PWM_AQCTLA |
0x300+0x100*n+0x28 |
PWM动作器控制A寄存器 |
PWM_AQCTLB |
0x300+0x100*n+0x2C |
PWM动作器控制B寄存器 |
PWM_ETSEL |
0x300+0x100*n+0x44 |
PWM事件触发选择寄存器 |
PWM_VERSION |
0xFFC |
PWM模块版本寄存器 |
寄存器描述
10.4.3.1. 0x000 PWM_CTL
默认值:0x00000000 |
PWM模块控制寄存器(PWM_CTL) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:1 |
/ |
0x000_0000 |
/
|
0 |
R/W |
0x0 |
EN:PWM Module Enable,PWM模块使能控制
0:PWM模块未使能
1:PWM模块使能
PWM模块使能控制EN有效(为‘1’)时,寄存器才能访问,PWM模块开始
正常运行;EN无效(为‘0’)时,复位PWM模块,寄存器也不能访问。
|
10.4.3.2. 0x004 PWM_MCTL
默认值:0x00000000 |
PWM控制寄存器(PWM_MCTL) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
/ |
/ |
/
|
15:4 |
/ |
/ |
/
|
3 |
R/W |
0x0 |
PWM3EN:PWM3 Enable,PWM3使能控制
0:PWM3未使能
1:PWM3使能
PWM3EN有效(为‘1’)时,PWM信号发生器PWM3开始正常工作;
PWM3EN无效(为‘0’)时,复位PWM信号发生器PWM3,同时复位PWM3
相关的寄存器。PWM模块寄存器不受此位影响。
|
2 |
R/W |
0x0 |
PWM2EN:PWM2 Enable,PWM2使能控制
0:PWM2未使能
1:PWM2使能
PWM2EN有效(为‘1’)时,PWM信号发生器PWM2开始正常工作;
PWM2EN无效(为‘0’)时,复位PWM信号发生器PWM2,同时复位PWM2
相关的寄存器。PWM模块寄存器不受此位影响。
|
1 |
R/W |
0x0 |
PWM1EN:PWM1 Enable,PWM1使能控制
0:PWM1未使能
1:PWM1使能
PWM1EN有效(为‘1’)时,PWM信号发生器PWM1开始正常工作;
PWM1EN无效(为‘0’)时,复位PWM信号发生器PWM1,同时复位PWM1
相关的寄存器。PWM模块寄存器不受此位影响。
|
0 |
R/W |
0x0 |
PWM0EN:PWM0 Enable,PWM0使能控制
0:PWM0未使能
1:PWM0使能
PWM0EN有效(为‘1’)时,PWM信号发生器PWM0开始正常工作;
PWM0EN无效(为‘0’)时,复位PWM信号发生器PWM0,同时复位PWM0
相关的寄存器。PWM模块寄存器不受此位影响。
|
10.4.3.3. 0x008 PWM_CKCTL
默认值:0x00000000 |
PWM时钟控制寄存器(PWM_CKCTL) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
/ |
/ |
/
|
15:4 |
/ |
/ |
/
|
3 |
R/W |
0x0 |
PWM3CKON:PWM3 Clock On,PWM3工作时钟控制
0:PWM3时钟关闭
1:PWM3时钟打开
此位必须打开时,才能访问PWM信号发生器PWM3的寄存器
|
2 |
R/W |
0x0 |
PWM2CKON:PWM2 Clock On,PWM2工作时钟控制
0:PWM2时钟关闭
1:PWM2时钟打开
此位必须打开时,才能访问PWM信号发生器PWM2的寄存器
|
1 |
R/W |
0x0 |
PWM1CKON:PWM1 Clock On,PWM1工作时钟控制
0:PWM1时钟关闭
1:PWM1时钟打开
此位必须打开时,才能访问PWM信号发生器PWM1的寄存器
|
0 |
R/W |
0x0 |
PWM0CKON:PWM0 Clock On,PWM0工作时钟控制
0:PWM0时钟关闭
1:PWM0时钟打开
此位必须打开时,才能访问PWM信号发生器PWM0的寄存器
|
10.4.3.4. 0x00C PWM_INTCTL
默认值:0x00000000 |
PWM中断控制寄存器(PWM_INTCTL) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
/ |
/ |
/
|
15:4 |
/ |
/ |
/
|
3 |
R/W |
0x0 |
PWM3INTEN:PWM3 Interrupt Enable,PWM3中断使能
0:PWM3中断关闭
1:PWM3中断使能
此位用于控制PWM信号发生器PWM3中断使能。
当中断使能位置为1时,PWM3有中断产生时,PWM中断状态寄存器
相应位被置成1,中断信号传递给CPU系统,CPU系统响应中断事件。
当中断使能位置为0时,PWM3有中断产生时,PWM中断状态寄存器
相应位被置成1,没有中断信号给CPU系统,但CPU系统可以通过查询
状态位来处理PWM3事件。
|
2 |
R/W |
0x0 |
PWM2INTEN:PWM2 Interrupt Enable,PWM2中断使能
0:PWM2中断关闭
1:PWM2中断使能
此位用于控制PWM信号发生器PWM2中断使能。
当中断使能位置为1时,PWM2有中断产生时,PWM中断状态寄存器
相应位被置成1,中断信号传递给CPU系统,CPU系统响应中断事件。
当中断使能位置为0时,PWM2有中断产生时,PWM中断状态寄存器
相应位被置成1,没有中断信号给CPU系统,但CPU系统可以通过查询
状态位来处理PWM2事件。
|
1 |
R/W |
0x0 |
PWM1INTEN:PWM1 Interrupt Enable,PWM1中断使能
0:PWM1中断关闭
1:PWM1中断使能
此位用于控制PWM信号发生器PWM1中断使能。
当中断使能位置为1时,PWM1有中断产生时,PWM中断状态寄存器
相应位被置成1,中断信号传递给CPU系统,CPU系统响应中断事件。
当中断使能位置为0时,PWM1有中断产生时,PWM中断状态寄存器
相应位被置成1,没有中断信号给CPU系统,但CPU系统可以通过查询
状态位来处理PWM1事件。
|
0 |
R/W |
0x0 |
PWM0INTEN:PWM0 Interrupt Enable,PWM0中断使能
0:PWM0中断关闭
1:PWM0中断使能
此位用于控制PWM信号发生器PWM0中断使能。
当中断使能位置为1时,PWM0有中断产生时,PWM中断状态寄存器
相应位被置成1,中断信号传递给CPU系统,CPU系统响应中断事件。
当中断使能位置为0时,PWM0有中断产生时,PWM中断状态寄存器
相应位被置成1,没有中断信号给CPU系统,但CPU系统可以通过查询
状态位来处理PWM0事件。
|
10.4.3.5. 0x010 PWM_INTSTS
默认值:0x00000000 |
PWM中断状态寄存器(PWM_INTSTS) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
/ |
/ |
/
|
15:4 |
/ |
/ |
/
|
3 |
R/W1C |
0x0 |
PWM3INTSTS:PWM3 Interrupt Status,PWM3中断状态
0:PWM3无中断事件
1:PWM3有中断事件
此位用于标志PWM信号发生器PWM3是否有中断事件。
当此位置为1时,表明PWM3有中断事件产生,CPU系统处理此中断事件,
处理完成后写1清零。
|
2 |
R/W1C |
0x0 |
PWM2INTSTS:PWM2 Interrupt Status,PWM2中断状态
0:PWM2无中断事件
1:PWM2有中断事件
此位用于标志PWM信号发生器PWM2是否有中断事件。
当此位置为1时,表明PWM2有中断事件产生,CPU系统处理此中断事件,
处理完成后写1清零。
|
1 |
R/W1C |
0x0 |
PWM1INTSTS:PWM1 Interrupt Status,PWM1中断状态
0:PWM1无中断事件
1:PWM1有中断事件
此位用于标志PWM信号发生器PWM1是否有中断事件。
当此位置为1时,表明PWM1有中断事件产生,CPU系统处理此中断事件,
处理完成后写1清零。
|
0 |
R/W1C |
0x0 |
PWM0INTSTS:PWM0 Interrupt Status,PWM0中断状态
0:PWM0无中断事件
1:PWM0有中断事件
此位用于标志PWM信号发生器PWM0是否有中断事件。
当此位置为1时,表明PWM0有中断事件产生,CPU系统处理此中断事件,
处理完成后写1清零。
|
10.4.3.6. 0X300+0X100*n+0x000 PWM_TBCTL
默认值:0x00000000 |
PWM时基控制寄存器(PWM_TBCTL) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:28 |
/ |
/ |
/
|
27:16 |
R/W |
0x1 |
CLKDIV:Time-Base Clock Divider,时基时钟除数
时基时钟TBCLK=SYSCLKOUT/(CLKDIV+1)
|
15:4 |
/ |
/ |
/
|
3 |
R/W |
0x0 |
PRDLD:Period Register Load From Shadow Register Select,
时基周期寄存器(PRD)操作方式
0:通过影子寄存器
1:直接操作,不通过影子寄存器
此位用于配置时基周期寄存器(PRD)操作方式
当此位置为0时,时基计数器(TBCTR)等于0时,时基周期寄存器
(TBPRD)的数值从它的影子寄存器中装载。读写时基寄存器(TBPRD)
实际上都是操作它的影子寄存器。
当此位为1时, 时基周期寄存器(TBPRD)的数值不需要通过它的影子
寄存器进行装载。读写时基周期寄存器(TBPRD),就是立即对TBPRD进行操作。
|
2 |
/ |
/ |
/
|
1:0 |
R/W |
0x0 |
CTRMODE:Counter Mode,时基计数器模式
0:递增模式
1:递减模式
2: 增减模式
3: /
此位用于配置时基计数器的计数模式,一般情况下计数模式只能配置一次,
当计数器开始工作时,不可改动。
|
10.4.3.7. 0X300+0X100*n+0x004 PWM_TBSTS
默认值:0x00000000 |
PWM时基状态寄存器(PWM_TBSTS) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:3 |
/ |
/ |
/
|
2 |
R/W1C |
0x0 |
CTRMAX:Time-Base Counter Max Latched Status,时基计数器达到最大值0xFFFF状态位
0:时基计数器没有达到最大值
1:时基计数器达到最大值
此位写0无任何效果,写1清除此状态。
|
1 |
R/W1C |
0x0 |
/
|
0 |
R |
0x0 |
CTRDIR:Time-Base Counter Direction Status,时基计数器方向状态位
0:计数器正在向下计数
1:计数器正在向上计数
此位在时基计数器的计数模式被设置且开始计数时才有意义。
|
10.4.3.8. 0X300+0X100*n+0x010 PWM_TBCTR
默认值:0x00000000 |
PWM时基计数器寄存器(PWM_TBCTR) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
/ |
/ |
/
|
15:0 |
R/W |
0x0 |
TBCTR:Time-Base Counter Value,时基计数器当前数值
读取此位时,数值表明时基计数器的当前数值。写此位时,数值直接写到
时基计数器寄存器,该寄存器无影子寄存器且写时没有经过TBCLK同步。
|
10.4.3.9. 0X300+0X100*n+0x014 PWM_TBPRD
默认值:0x00000000 |
PWM时基周期寄存器(PWM_TBPRD) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
/ |
/ |
/
|
15:0 |
R/W |
0x0 |
TBPRD:The Period of Time-Base Counter,时基计数器周期
此位决定时基计数器的周期,用于设定PWM的频率。此寄存器有影子寄存器,
受PWM_TBCTL寄存器中的PRDLD位控制,缺省时使用影子寄存器。
|
10.4.3.10. 0X300+0X100*n+0x018 PWM_CMPCTL
默认值:0x00000000 |
PWM比较器控制寄存器(PWM_CMPCTL) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:7 |
/ |
/ |
/
|
6 |
R/W |
0x0 |
SHDWBMODE:CMPB Operating Mode,比较寄存器CMPB的操作模式
0:影子模式
1:立即模式
|
5 |
/ |
/ |
/
|
4 |
R/W |
0x0 |
SHDWAMODE:CMPA Operating Mode,比较寄存器CMPA的操作模式
0:影子模式
1:立即模式
|
3:2 |
R/W |
0x0 |
LOADBMODE:CMPB Load From Shadow Select Mode,CMPB寄存器
从影子寄存器装载数值模式
0:当计数器CTR==0时
1:当计数器CTR==PRD时
2: 当计数器CTR==0时或CTR==PRD
3: 冻结
当SHDWBMODE位为1时,即CMPB寄存器不使用影子寄存器时,此位无效。
|
1:0 |
R/W |
0x0 |
LOADAMODE:CMPA Load From Shadow Select Mode,CMPA寄存器
从影子寄存器装载数值模式
0:当计数器CTR==0时
1:当计数器CTR==PRD时
2: 当计数器CTR==0时或CTR==PRD
3: 冻结
当SHDWAMODE位为1时,即CMPA寄存器不使用影子寄存器时,此位无效。
|
10.4.3.11. 0X300+0X100*n+0x020 PWM_CMPA
默认值:0x00000000 |
PWM比较器A寄存器(PWM_CMPA) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
/ |
/ |
/
|
15:0 |
R/W |
0x0 |
CMPA:比较寄存器A的数值
计数器TBCTR与CMPA进行比,相等时比较器产生一个脉冲给后续的动作器AQ。
|
10.4.3.12. 0X300+0X100*n+0x024 PWM_CMPB
默认值:0x00000000 |
PWM比较器B寄存器(PWM_CMPB) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:16 |
/ |
/ |
/
|
15:0 |
R/W |
0x0 |
CMPB:比较寄存器B的数值
计数器TBCTR与CMPB进行比较,相等时比较器产生一个脉冲给后续的动作器AQ。
|
10.4.3.13. 0X300+0X100*n+0x028 PWM_AQCTLA
默认值:0x00000000 |
PWM动作器控制A寄存器(PWM_AQCTLA) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:17 |
/ |
0x0 |
/
|
16 |
R/W |
0x0 |
PWMA_INIT:PWMA Initial Value,PWMA初始电平
0:初始化低电平
1:初始化高电平
|
15:12 |
/ |
/ |
/
|
11:10 |
R/W |
0x0 |
CBD:TBCTR Equal to CMPB and Counter-Down,当时基计数器
TBCTR等于阈值CMPB且计数器正递减时动作方式
0:无动作
1:置低-强制信号线PWMxA输出低电平
2: 置高-强制信号线PWMxA输出高电平
3: 反转-反转PWMxA信号线
注意:在增减计数模式下,当计数器等于零时,定义计数方向为1(递增方向)。
|
9:8 |
R/W |
0x0 |
CBU:TBCTR Equal to CMPB and Counter-Up,当时基计数器
TBCTR等于阈值CMPB且计数器正递增时动作方式
0:无动作
1:置低-强制信号线PWMxA输出低电平
2: 置高-强制信号线PWMxA输出高电平
3: 反转-反转PWMxA信号线
注意:在增减计数模式下,当计数器等于零时,定义计数方向为1(递增方向)。
|
7:6 |
R/W |
0x0 |
CAD:TBCTR Equal to CMPA and Counter-Down,当时基计数器
TBCTR等于阈值CMPA且计数器正递减时动作方式
0:无动作
1:置低-强制信号线PWMxA输出低电平
2: 置高-强制信号线PWMxA输出高电平
3: 反转-反转PWMxA信号线
注意:在增减计数模式下,当计数器等于零时,定义计数方向为1(递增方向)。
|
5:4 |
R/W |
0x0 |
CAU:TBCTR Equal to CMPA and Counter-Up,当时基计数器
TBCTR等于阈值CMPA且计数器正递增时动作方式
0:无动作
1:置低-强制信号线PWMxA输出低电平
2: 置高-强制信号线PWMxA输出高电平
3: 反转-反转PWMxA信号线
注意:在增减计数模式下,当计数器等于零时,定义计数方向为1(递增方向)。
|
3:2 |
R/W |
0x0 |
PRD:TBCTR Equal to PRD,当时基计数器TBCTR等于周期PRD时动作方式
0:无动作
1:置低-强制信号线PWMxA输出低电平
2: 置高-强制信号线PWMxA输出高电平
3: 反转-反转PWMxA信号线
注意:在增减计数模式下,当计数器等于零时,定义计数方向为1(递增方向)。
|
1:0 |
R/W |
0x0 |
ZRO:TBCTR Equal to Zero,当时基计数器TBCTR等于0时动作方式
0:无动作
1:置低-强制信号线PWMxA输出低电平
2: 置高-强制信号线PWMxA输出高电平
3: 反转-反转PWMxA信号线
注意:在增减计数模式下,当计数器等于零时,定义计数方向为1(递增方向)。
|
10.4.3.14. 0X300+0X100*n+0x02C PWM_AQCTLB
默认值:0x00000000 |
PWM动作器控制B寄存器(PWM_AQCTLB) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:17 |
/ |
0x0 |
/
|
16 |
R/W |
0x0 |
PWMB_INIT:PWMB Initial Value,PWMB初始电平
0:初始化低电平
1:初始化高电平
|
15:12 |
/ |
/ |
/
|
11:10 |
R/W |
0x0 |
CBD:TBCTR Equal to CMPB and Counter-Down,当时基计数器
TBCTR等于阈值CMPB且计数器正递减时动作方式
0:无动作
1:置低-强制信号线PWMxB输出低电平
2: 置高-强制信号线PWMxB输出高电平
3: 反转-反转PWMxB信号线
注意:在增减计数模式下,当计数器等于零时,定义计数方向为1(递增方向)。
|
9:8 |
R/W |
0x0 |
CBU:TBCTR Equal to CMPB and Counter-Up,当时基计数器
TBCTR等于阈值CMPB且计数器正递增时动作方式
0:无动作
1:置低-强制信号线PWMxB输出低电平
2: 置高-强制信号线PWMxB输出高电平
3: 反转-反转PWMxB信号线
注意:在增减计数模式下,当计数器等于零时,定义计数方向为1(递增方向)。
|
7:6 |
R/W |
0x0 |
CAD:TBCTR Equal to CMPA and Counter-Down,当时基计数器
TBCTR等于阈值CMPA且计数器正递减时动作方式
0:无动作
1:置低-强制信号线PWMxB输出低电平
2: 置高-强制信号线PWMxB输出高电平
3: 反转-反转PWMxB信号线
注意:在增减计数模式下,当计数器等于零时,定义计数方向为1(递增方向)。
|
5:4 |
R/W |
0x0 |
CAU:TBCTR Equal to CMPA and Counter-Up,当时基计数器
TBCTR等于阈值CMPA且计数器正递增时动作方式
0:无动作
1:置低-强制信号线PWMxB输出低电平
2: 置高-强制信号线PWMxB输出高电平
3: 反转-反转PWMxB信号线
注意:在增减计数模式下,当计数器等于零时,定义计数方向为1(递增方向)。
|
3:2 |
R/W |
0x0 |
PRD:TBCTR Equal to PRD,当时基计数器TBCTR等于周期PRD时动作方式
0:无动作
1:置低-强制信号线PWMxB输出低电平
2: 置高-强制信号线PWMxB输出高电平
3: 反转-反转PWMxB信号线
注意:在增减计数模式下,当计数器等于零时,定义计数方向为1(递增方向)。
|
1:0 |
R/W |
0x0 |
ZRO:TBCTR Equal to Zero,当时基计数器TBCTR等于0时动作方式
0:无动作
1:置低-强制信号线PWMxB输出低电平
2: 置高-强制信号线PWMxB输出高电平
3: 反转-反转PWMxB信号线
注意:在增减计数模式下,当计数器等于零时,定义计数方向为1(递增方向)。
|
10.4.3.15. 0X300+0X100*n+0x044 PWM_ETSEL
默认值:0x00000000 |
PWM事件触发选择寄存器(PWM_ETSEL) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:4 |
/ |
/ |
/
|
3 |
R/W |
0x0 |
INTEN:PWMx Interrupt Enable,PWMx中断使能
0:禁止PWMx 中断
1:使能PWMx中断
此位用来控制PWMx中断产生
|
2:0 |
R/W |
0x0 |
INTSEL:PWMx Interrupt Select,PWMx中断事件选择
0:/
1:TBCTR=0时触发事件
2:TBCTR=PRD时触发事件
3:/
4:TBCTR=CMPA且计数器正在递增时触发事件
5:TBCTR=CMPA且计数器正在递减时触发事件
6:TBCTR=CMPB且计数器正在递增时触发事件
7:TBCTR=CMPB且计数器正在递减时触发事件
|
10.4.3.16. 0X300+0X100*n+0x048 PWM_CNT_DIS
默认值:0x00000000 |
PWM调试寄存器(PWM_CNT_DIS) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:1 |
/ |
/ |
/
|
0 |
R |
0 |
PWM_CNT_CK_DIS
0:没有触发事件产生配置无动作时,时基计数器disable,
无比较事件发生。CMPA与CMPB可配置相同值,也可不配置默认
为0,比较动作以配置动作为较高优先级。
1:配置无动作时,时基计数器enable,有比较事件发生。
由于优先级原因,CMPA与CMPB不能配置相等,或者CMPA、
CMPB不能配置为0
|
10.4.3.17. 0xFFC PWM_VERSION
默认值:0x00000100 |
PWM模块版本寄存器(PWM_VERSION) |
||
---|---|---|---|
位域 |
类型 |
默认值 |
描述 |
31:0 |
RO |
0x00000100 |
Version (版本号),采用BCD码显示,V1.00
|