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

/

/

/

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