SWM050 系列
ARM®CortexTM-M0
32 位微处理器
SWM050 系列 MCU
数据手册
华芯微特科技有限公司
Synwit Technology Co., Ltd.
1
SWM050 系列
目
录
概述........................................................................................................................................... 4
特性........................................................................................................................................... 4
选型指南................................................................................................................................... 5
功能方框图............................................................................................................................... 5
管脚配置................................................................................................................................... 6
5.1
TSSOP8......................................................................................................................... 6
5.2
SSOP16 ......................................................................................................................... 6
5.3
管脚描述....................................................................................................................... 6
6 功能描述................................................................................................................................... 7
6.1
存储器映射................................................................................................................... 7
6.2
中断控制器................................................................................................................... 9
6.3
系统定时器................................................................................................................. 14
6.4
系统控制器................................................................................................................. 16
6.5
系统管理(SYSCON) ............................................................................................. 19
6.6
通用 I/O(GPIO) ..................................................................................................... 25
6.7
专用定时器(TIMER) ............................................................................................ 29
6.8
看门狗定时器(WDT)............................................................................................ 35
6.9
加密及 FLASH 操作 .................................................................................................. 38
7 典型应用电路......................................................................................................................... 41
8 电气特性................................................................................................................................. 41
8.1
绝对最大额定值......................................................................................................... 41
9 封装信息................................................................................................................................. 42
9.1
TSSOP8....................................................................................................................... 42
9.2
SSOP16 ....................................................................................................................... 42
10
版本记录......................................................................................................................... 43
1
2
3
4
5
2
SWM050 系列
图目录
图
图
图
图
图
图
图
图
4-1 功能方框图 .................................................................................................................. 5
5-1 TSSOP8 封装管脚配置 ............................................................................................... 6
5-2 SSOP16 封装管脚配置 ................................................................................................ 6
6-1 脉冲捕捉示意图 ....................................................................................................... 30
6-2 占空比捕捉示意图 ................................................................................................... 31
7-1 典型应用电路图 ....................................................................................................... 41
9-1 TSSOP8 封装 ............................................................................................................. 42
9-2 SSOP16 封装 .............................................................................................................. 42
表格目录
表格
表格
表格
表格
3-1 SWM050 系列 MCU 选型表 ................................................................................... 5
6-1 存储器映射 .............................................................................................................. 7
6-2 中断编号及对应外设 ............................................................................................. 9
8-1 绝对最大额定值 .................................................................................................... 41
3
SWM050 系列
1 概述
SWM050 是一款基于 ARM® CortexTM-M0 的 32 位微控制器。与传统 8051 单片机相比,
在价格相近的情况下,保证了高性能、低功耗、代码密度大等优势,适用于工业控制及白色
家电等诸多应用领域。
SWM050 内嵌 ARM® CortexTM-M0 控制器,最高可运行至 50Mhz,内置 8K 字节程序
FLASH 存储器,1K 字节 SRAM,0.5K 字节数据 FLASH 存储器。提供 18MHz/36MHz 精度
为 1%的内置时钟,支持加密及 IAP(在应用编程)操作。外设包括看门狗定时器,2 组专
用定时器(包含定时、捕捉、PWM 等功能)。
2 特性
内核
32 位 ARM® Cortex™-M0 内核
提供 24 位系统定时器
工作频率最高 50MHz
硬件单周期乘法
集成嵌套向量中断控制器(NVIC),提供最多 32 个、4 级可配置优先级的中断
内置 LDO
可接受电压范围为 2.0V 至 5.5V
内部 FLASH 存储器
8 K 字节用以存储用户程序
0.5K 字节用以存储用户数据
通过 SWD 接口烧录,支持加密
支持 IAP(在应用编程)记录用户数据
内部 SRAM 存储器
1K 单周期访问的 SRAM
定时器模块
2 路专用定时器,功能包括定时器、计数器、捕捉及 PWM 信号产生
32 位看门狗定时器,溢出后可配置触发中断或复位芯片
GPIO
最多可达 10 个 IO,均具备中断功能
IO 模式可配置为上拉模式
单引脚支持 1.8V 输入匹配
灵活的中断配置
触发类型设置(边沿检测、电平检测)
触发电平设置(高电平、低电平)
时钟源
18MHz 及 36MHz 精度可达 1%的片内时钟源
功耗
低电平唤醒
休眠功耗 1uA 以下
4
SWM050 系列
3 选型指南
表格 3-1 SWM050 系列 MCU 选型表
Part Number
Flash
SRAM
I/O
Timer
PWM
WDT
RTC
DMA
UART
I2C
SPI
CAN
Package
SWM50SS08FA
8KB
1KB
5
2
0
1
0
0
0
0
0
0
TSSOP8L
SWM50SS16FA
8KB
1KB
10
2
0
1
0
0
0
0
0
0
SSOP16L
4 功能方框图
SWM500
SWCLK
SWDIO
CLOCK
GENERATION,
POWER CONTROL,
SYSTEM
FUNCTIONS
POR
SERIAL WIRE
IRC
WAKE UP
ARM
CORTEX-M0
FLASH
8 KB
SRAM
1KB
ROM
AHB TO APB
BRIDGE
AHB TO APB
BRIDGE
APB
SYSTEM
CONTROL
APB
AHB-LITE
IN
CREF
COMPARATOR/
AMPLIFIER
OUT
COUNTER_SE0
TIMER_SE0
COUNTER_SE1
TIMER_SE1
WDT
图 4-1 功能方框图
5
GPIO A
GPIO A[9:0]
SWM050 系列
5 管脚配置
5.1 TSSOP8
A2/TIMER_SE1_IN/SWDCLK
1
8
VDD5
A5
2
7
VSS
A9(WAKEUP)
3
6
A0/TIMER_SE0_IN
A8(SUPPORT 1.8V IN)
4
5
A1/TIMER_SE0_OUT/SWDIO
图 5-1 TSSOP8 封装管脚配置
5.2 SSOP16
图 5-2 SSOP16 封装管脚配置
5.3 管脚描述
管脚名称
可复用功能
类型
描述
6
8
SSOP1
TSSOP
管脚号
/
1
VSS
——
S
VSS:芯片主地功能引脚;
/
2
VDD
——
S
VDD:芯片主电源功能引脚;
/
3
VSS
——
S
VSS:芯片主地功能引脚;
6
SWM050 系列
/
4
VOUT
——
S
1
5
A2
TIMER_SE1_IN/
I/O
VOUT:芯片主电源输出功能引脚;
A2:数字 GPIO 功能引脚;
TIMER_SE1_IN:TIMER1 模块输入捕获引脚;
SWCLK
SWCLK:SWD 下载接口的时钟线引脚;
/
6
A3
——
I/O
A3:数字 GPIO 功能引脚;
/
7
A4
——
I/O
A4:数字 GPIO 功能引脚;
2
8
A5
——
I/O
A5:数字 GPIO 功能引脚;
/
9
A6
——
I/O
A6:数字 GPIO 功能引脚;
/
10
A7
TIMER_SE1_OUT
I/O
A7:数字 GPIO 功能引脚;
TIMER_SE1_OUT :TIMER1 模块输出比较引脚;
4
11
A8
——
I/O
A8:数字 GPIO 功能引脚;
3
12
A9
——
I/O
A9:数字 GPIO 功能引脚;
6
13
A0
TIMER_SE0_IN
I/O
A0:数字 GPIO 功能引脚;
TIMER_SE0_IN:TIMER0 模块输入捕获引脚;
5
14
A1
TIMER_SE0_OUT/
A1:数字 GPIO 功能引脚;
I/O
TIMER_SE0_OUT:TIMER0 模块输出比较引脚;
SWDIO
SWDIO:SWD 下载接口的数据线引脚;
7
15
VSS
——
S
VSS:芯片主地功能引脚;
8
16
VDD
——
S
VDD:芯片主电源功能引脚;
6 功能描述
6.1 存储器映射
本系列控制器为 32 位通用控制器,提供了 4G 字节寻址空间,如下表所示。数据使用
小端格式(Little-Endian)
,各模块具体寄存器排布及操作说明在后章节有详细描述。
表格 6-1 存储器映射
起始
结束
描述
存储器
0x00000000
0x00001FFF
FLASH(8KB)
0x20000000
0x000003FF
SRAM(1KB)
APB 总线外设
0x40000000
0x400007FF
SYSTEM_CON
0x40001000
0x400017FF
GPIO
0x40002000
0x400123FF
TIMER_SE0
0x40002400
0x400127FF
TIMER_SE1
0x40019000
0x400197FF
WDT
0x400f0000
0x400f07FF
SYSCTL
核内部控制器
7
SWM050 系列
起始
结束
描述
0xE000E010
0xE000E01F
系统定时控制寄存器
0xE000E100
0xE000E4EF
NVIC 中断控制寄存器器
0xE000ED00
0xE000ED3F
系统控制寄存器器
8
SWM050 系列
6.2 中断控制器
6.2.1 概述
CortexTM-M0 提供了“嵌套向量中断控制器(NVIC)
”用以管理中断事件。其具有如下
特性:
支持嵌套及向量中断
硬件完成现场的保存和恢复
动态改变优先级
确定的中断时间
中断优先级分为 4 级,可通过中断优先级配置寄存器(IRQn)进行配置。中断发生时,
内核比较中断优先级,自动获取入口地址,并保护环境,将指定寄存器中数据入栈,无需软
件参与。中断服务程序结束后,由硬件完成出栈工作。同时支持“尾链”模式及“迟至”模式,
有效的优化了中断发生及背对背中断的执行效率,提高了中断的实时性。
更多细节请参阅“CortexTM-M0 技术参考手册”及“ARM® CoreSight 技术参考手册”。
6.2.2 中断向量表
本系列 MCU 提供了 14 个中断,其排列如下表所示。
表格 6-2 中断编号及对应外设
中断(IRQ 编号)
描述
0
Timer_SE0
1
Timer_SE1
2
WDT
3
CP
4
GPIOA0
5
GPIOA1
6
GPIOA2
7
GPIOA3
8
GPIOA4
9
GPIOA5
10
GPIOA6
11
GPIOA7
12
GPIOA8
13
GPIOA9
9
SWM050 系列
6.2.3 寄存器映射
NVIC
BASE:0xE000E100
名称
偏移量
位宽
类型
复位值
描述
NVIC_ISER
0x100
32
R/W
0x00
中断使能寄存器
NVIC_ICER
0x180
32
R/W
0x00
清除使能寄存器
NVIC_ISPR
0x200
32
R/W
0x00
设置挂起寄存器
NVIC_ICPR
0x280
32
R/W
0x00
清除挂起寄存器
NVIC_IPR0
0x400
32
R/W
0x00
IRQ0—IRQ3 优先级控制
NVIC_ IPR1
0x404
32
R/W
0x00
IRQ4—IRQ7 优先级控制
NVIC_ IPR2
0x408
32
R/W
0x00
IRQ8—IRQ11 优先级控制
NVIC_ IPR3
0x40C
32
R/W
0x00
IRQ12—IRQ15 优先级控制
NVIC_ IPR4
0x410
32
R/W
0x00
IRQ16—IRQ19 优先级控制
NVIC_ IPR5
0x414
32
R/W
0x00
IRQ20—IRQ23 优先级控制
NVIC_ IPR6
0x418
32
R/W
0x00
IRQ24—IRQ27 优先级控制
NVIC_ IPR7
0x41C
32
R/W
0x00
IRQ28—IRQ31 优先级控制
6.2.4 寄存器描述
NVIC_ISER
ADDR:0xE000E100
位域
31:0
名称
SETENA
类型
R/W
复位值
0x00
描述
中断使能,向对应位写 1 使能相应中断号中断,
写 0 无效。
读返回目前使能状态。
NVIC_ ICER
ADDR:0xE000E180
位域
31:0
名称
CLRENA
类型
复位值
描述
R/W
0x00
中断清除,向对应位写 1 清除相应中断号中断
使能位,写 0 无效。
读返回目前使能状态。
类型
复位值
描述
0x00
中断挂起,向对应位写 1 挂起相应中断号中断,
写 0 无效。
读返回目前挂起状态。
NVIC_ ISPR
ADDR:0xE000E200
位域
31:0
名称
SETPEND
R/W
NVIC_ ISPR
ADDR:0xE000E280
10
SWM050 系列
位域
31:0
名称
SETPEND
类型
R/W
复位值
描述
0x00
中断挂起清除,向对应位写 1 清除相应中断号
中断挂起标志,写 0 无效。
读返回目前挂起状态。
NVIC_ IPR0
ADDR:0xE000E400
位域
名称
类型
复位值
31:30
PRI_3
R/W
0x00
29:24
REVERSED
—
—
23:22
PRI_2
R/W
0x00
21:16
REVERSED
—
—
15:14
PRI_1
R/W
0x00
13:8
REVERSED
—
—
7:6
PRI_0
R/W
0x00
5:0
REVERSED
—
—
描述
IRQ3 优先级,0 为最高,3 为最低
保留
IRQ2 优先级,0 为最高,3 为最低
保留
IRQ1 优先级,0 为最高,3 为最低
保留
IRQ0 优先级,0 为最高,3 为最低
保留
NVIC_ IPR1
ADDR:0xE000E404
位域
名称
类型
复位值
31:30
PRI_7
R/W
0x00
29:24
REVERSED
—
—
23:22
PRI_6
R/W
0x00
21:16
REVERSED
—
—
15:14
PRI_5
R/W
0x00
13:8
REVERSED
—
—
7:6
PRI_4
R/W
0x00
5:0
REVERSED
—
—
描述
IRQ7 优先级,0 为最高,3 为最低
保留
IRQ6 优先级,0 为最高,3 为最低
保留
IRQ5 优先级,0 为最高,3 为最低
保留
IRQ4 优先级,0 为最高,3 为最低
保留
NVIC_ IPR2
ADDR:0xE000E408
位域
名称
类型
复位值
描述
31:30
PRI_11
R/W
0x00
IRQ11 优先级,0 为最高,3 为最低
29:24
REVERSED
—
—
23:22
PRI_10
R/W
0x00
21:16
REVERSED
—
—
15:14
PRI_9
R/W
0x00
13:8
REVERSED
—
—
7:6
PRI_8
R/W
0x00
5:0
REVERSED
—
—
保留
IRQ10 优先级,0 为最高,3 为最低
保留
IRQ9 优先级,0 为最高,3 为最低
保留
IRQ8 优先级,0 为最高,3 为最低
保留
11
SWM050 系列
NVIC_ IPR3
ADDR:0xE000E40C
位域
名称
类型
复位值
31:30
PRI_15
R/W
0x00
29:24
REVERSED
—
—
23:22
PRI_14
R/W
0x00
21:16
REVERSED
—
—
15:14
PRI_13
R/W
0x00
13:8
REVERSED
—
—
7:6
PRI_12
R/W
0x00
5:0
REVERSED
—
—
描述
IRQ15 优先级,0 为最高,3 为最低
保留
IRQ14 优先级,0 为最高,3 为最低
保留
IRQ13 优先级,0 为最高,3 为最低
保留
IRQ12 优先级,0 为最高,3 为最低
保留
NVIC_ IPR4
ADDR:0xE000E410
位域
名称
类型
复位值
31:30
PRI_19
R/W
0x00
29:24
REVERSED
—
—
23:22
PRI_18
R/W
0x00
21:16
REVERSED
—
—
15:14
PRI_17
R/W
0x00
13:8
REVERSED
—
—
7:6
PRI_16
R/W
0x00
5:0
REVERSED
—
—
描述
IRQ19 优先级,0 为最高,3 为最低
保留
IRQ18 优先级,0 为最高,3 为最低
保留
IRQ17 优先级,0 为最高,3 为最低
保留
IRQ16 优先级,0 为最高,3 为最低
保留
NVIC_ IPR5
ADDR:0xE000E414
位域
名称
类型
复位值
31:30
PRI_23
R/W
0x00
29:24
REVERSED
—
—
23:22
PRI_22
R/W
0x00
21:16
REVERSED
—
—
15:14
PRI_21
R/W
0x00
13:8
REVERSED
—
—
7:6
PRI_20
R/W
0x00
5:0
REVERSED
—
—
描述
IRQ23 优先级,0 为最高,3 为最低
保留
IRQ22 优先级,0 为最高,3 为最低
保留
IRQ21 优先级,0 为最高,3 为最低
保留
IRQ20 优先级,0 为最高,3 为最低
保留
NVIC_ IPR6
ADDR:0xE000E418
位域
名称
类型
复位值
31:30
PRI_27
R/W
0x00
29:24
REVERSED
—
—
23:22
PRI_26
R/W
0x00
描述
IRQ27 优先级,0 为最高,3 为最低
保留
IRQ26 优先级,0 为最高,3 为最低
12
SWM050 系列
位域
名称
类型
复位值
21:16
REVERSED
—
—
15:14
PRI_25
R/W
0x00
13:8
REVERSED
—
—
7:6
PRI_24
R/W
0x00
5:0
REVERSED
—
—
描述
保留
IRQ25 优先级,0 为最高,3 为最低
保留
IRQ24 优先级,0 为最高,3 为最低
保留
NVIC_ IPR7
ADDR:0xE000E41C
位域
名称
类型
复位值
31:30
PRI_31
R/W
0x00
29:24
REVERSED
—
—
23:22
PRI_30
R/W
0x00
21:16
REVERSED
—
—
15:14
PRI_29
R/W
0x00
13:8
REVERSED
—
—
7:6
PRI_28
R/W
0x00
5:0
REVERSED
—
—
描述
IRQ31 优先级,0 为最高,3 为最低
保留
IRQ30 优先级,0 为最高,3 为最低
保留
IRQ29 优先级,0 为最高,3 为最低
保留
IRQ28 优先级,0 为最高,3 为最低
保留
13
SWM050 系列
6.3 系统定时器
6.3.1 概述
CortexTM-M0 核内部提供了一个 24 位系统定时器。该定时器使能后装载当前值寄存器
(SYST_CVR)内数值并向下递减至 0,并在下个时钟重新加载重载寄存器(SYST_RVR)
内数值。计数器再次递减至 0 时,计数器状态寄存器(SYST_CSR)中的标志位
COUNTERFLAG 置位,读该位可清零。
复位后,SYST_CVR 寄存器与 SYST_RVR 寄存器值均未知,因此使用前需初始化,向
SYST_CVR 写入任意值,清零同时复位状态寄存器,保证装载值为 SYST_RVR 寄存器中数
值。
当 SYST_RVR 寄存器值为 0 时,重新装载后计时器保持为 0,并停止重新装载。
细节请参阅“CortexTM-M0 技术参考手册”及“ARM® CoreSight 技术参考手册”
。
6.3.2 寄存器映射
SYSTIC
BASE:0xE000E010
名称
偏移量
位宽
类型
复位值
描述
SYST_CSR
0x10
32
R/W
0x04
状态寄存器
SYST_RVR
0x14
32
R/W
—
重载寄存器
SYST_CVR
0x18
32
R/W
—
当前值寄存器
6.3.3 寄存器描述
SYST_CSR
ADDR:0xE000E010
位域
名称
类型
复位值
描述
31:17
REVERSED
—
—
保留位
16
COUNTERF
LAG
R
0
计数器递减到 0 且该过程中本寄存器未被读取,
本位返回 1
15:2
REVERSED
—
—
保留位
1
TINKINT
R/W
0
1:中断触发使能
0:中断触发禁能
0
ENABLE
R/W
0
1:定时器使能
0:定时器禁能
SYST_RVR
ADDR:0xE000E014
位域
名称
类型
复位值
描述
31:24
REVERSED
—
—
保留位
14
SWM050 系列
23:0
RELOAD
R/W
—
计数器达到 0 时加载本寄存器值,写 0 终止继续
加载
SYST_CVR
ADDR:0xE000E018
位域
名称
类型
复位值
描述
31:24
REVERSED
—
—
保留位
23:0
CURRENT
R/W
—
读操作返回当前计数器值,写操作清 0 该寄存器,
同时清除 COUNTERFLAG 位
15
SWM050 系列
6.4 系统控制器
6.4.1 概述
CrotexTM-M0 系统控制器主要负责内核管理,包括 CPUID,内核核资源中断优先级设置
及内核电源管理。
更多细节请参阅“CortexTM-M0 技术参考手册”及“ARM®CoreSight 技术参考手册”。
6.4.2 寄存器映射
SYSCTRL
BASE:0xE000ED00
名称
偏移量
位宽
类型
复位值
描述
CPUID
0xD00
32
R
0x410CC200
CPUID 寄存器
ICSR
0xD04
32
R/W
0x00000000
中断控制状态寄存器
AIRCR
0xD0C
32
R/W
0xFA050000
中断与复位控制寄存器
SCR
0xD10
32
R/W
0x00000000
系统控制寄存器
SHPR2
0xD1C
32
R/W
0x00000000
系统优先级控制寄存器 2
SHPR3
0xD20
32
R/W
0x00000000
系统优先级控制寄存器 3
6.4.3 寄存器描述
CPUID
ADDR:0xE000ED00
位域
名称
类型
复位值
31:24
IMPLEMENTER
R
0x41
23:20
REVERSED
—
—
19:16
PART
R
0xC
15:4
PARTNO
R
0xC20
3:0
REVISION
R
0x00
描述
ARM 分配执行码
保留位
ARMV6-M
读返回 0xC20
读返回 0x00
ICSR
ADDR:0xE000ED04
位域
名称
类型
复位值
31:29
REVERSED
—
—
保留位
28
PENDSVSET
R/W
0
挂起 PendSV 中断,1 有效
27
PENDSVCLR
WO
—
写 1 清 PendSV 中断,仅写有效
26
PENDSTSET
R/W
0
挂起 SysTick 中断,1 有效
25
PENDSTCLR
—
—
写 1 清 SysTick 中断,仅写有效
24
REVERSED
—
—
保留位
23
ISRPREEMPT
RO
0
退出调试 halt 状态时置位,仅适用于调试
16
描述
SWM050 系列
22
ISRPENDING
RO
0
外部配置中断是否挂起
21
REVERSED
—
—
保留位
20:12
VECTPENDING
R/W
0
优先级最高的挂起异常向量号
11:9
REVERSED
—
—
保留位
8:0
VECTACTIVE
RO
0
0:线程模式
其它:当前执行异常处理向量号
AIRCR
ADDR:0xE000ED0C
位域
名称
类型
复位值
描述
31:16
VECTORKEY
WO
—
写入时须保证 0x05FA
15:3
REVERSED
—
—
保留位
2
SYSRESETREQ
WO
0
写 1 时复位芯片,复位时自动清除
1
VECTCLRACTIVE
WO
0
置 1 时清除所有异常活动状态
0
REVERSED
—
—
保留位
SCR
ADDR:0xE000ED10
位域
名称
类型
复位值
描述
31:5
REVERSED
—
—
保留位
4
SWVONPEND
R/W
0
使能后,可将中断挂起过程作为唤醒事件
3
REVERSED
—
—
保留位
2
SLEEPDEEP
R/W
0
深睡眠提醒
1
SLEEPONEXIT
R/W
0
置 1 后,内核从异常状态返回后进入睡眠模
式
0
REVERSED
—
—
保留位
SHPR2
ADDR:0xE000ED1C
位域
名称
类型
复位值
描述
31:30
PRI_11
R/W
0
系统处理器优先级 11:SVCall
0 为最高,3 为最低
29:0
REVERSED
—
—
保留位
SHPR3
ADDR:0xE000ED20
位域
名称
类型
复位值
31:30
PRI_15
R/W
0
系统处理器优先级 15:SysTick
0 为最高,3 为最低
29:24
REVERSED
—
—
保留位
23:22
PRI_14
R/W
0
系统处理器优先级 14:PendSV
0 为最高,3 为最低
17
描述
SWM050 系列
21:0
REVERSED
—
—
保留位
18
SWM050 系列
6.5 系统管理(SYSCON)
6.5.1 特性
时钟控制
休眠使能
端口设置
6.5.2 功能
时钟源
本系列 MCU 有 1 个内部时钟源可供使用:
内部振荡器:内部振荡器为片内时钟源,无需连接任何外部器件。内部振荡器频率
为 18MHz ± 1%或 36MHz± 1%,可提供较精确的固定频率时钟。
时钟分频
时钟分频主要作用于以下时钟源:
系统时钟(SCLK)
TIMERSE 时钟(TIMERSE_CLK)
写入值遵循如下规则:
当写入数值为偶数时,以输入时钟为基准按写入数值进行分频(0 为 2 分频)
当写入数值为奇数时,取消分频,时钟频率与输入时钟源相同
外设时钟关断
外设时钟关断功能可作用于包括以下外设时钟:
看门狗控制器
专用定时器
通过设置 SYS_CFG_1 寄存器[0:7]位,可关断指定外设时钟,以达到减小功耗的目的。
时钟倍频
可通过时钟倍频功能,将内部时钟源频率由 18MHz 倍频至 36MHz。
端口设置及复用
端口功能设置通过 SYS_CON 寄存器组实现,包括端口复用切换和 I/O 功能设置,端口
复用切换用于指定端口功能,可将引脚在标准 I/O 和外围设备之间切换。I/O 功能设置包括
设置 I/O 电平状态。
每个端口可能具有以下三种功能或其中两种:
19
SWM050 系列
GPIO
外设接口
:将引脚切换至通用 I/O,可进行 I/O 引脚设置
:将引脚切换至外围设备(使用外围设备时需首先进行此操作)
I/O 引脚设置
每个端口对应一组配置寄存器,可通过设置相应位将对应引脚配置为指定模式,各状态
之间互不影响,当端口选择为 GPIO 时有效。
其中,端口 A 可配置为以下模式:
上拉输入
复位时,除 SWD 接口外,GPIO 所有引脚默认配置模式均为悬空输入
MOS 使能控制
MOS 控制通过 SYS_CFG_2 寄存器 PMOSDIS 位进行控制,当该位为 1 时(上电默认)
,
MOS 为关断状态且不可控制。当该位写入 0 后,MOS 可控,由 A7 进行控制,当 A7 输出 0
时,MOS 开启,当 A7 输出 1 时,MOS 关闭。具体配置过程见《ISP 和 FLASH 操作》章节
对应部分。
休眠控制
休眠控制通过 SYS_CFG_2 寄存器 SLEEPEN 位进行使能,该位从 0 跳变至 1 时,休眠
开始,芯片进入低功耗待机状态,只能通过指定唤醒操作进行唤醒。
唤醒操作通过 WAKEUP 引脚进行,芯片处于休眠模式且 WAKEUP 引脚产生低电平后,
芯片唤醒。唤醒后 WAKEUP 引脚动作对芯片无影响。
WAKEUP 引脚建议加上拉保证高电平,上拉电阻对功耗无影响。
6.5.3 寄存器映射
SYSCON BASE:0x40000000
名称
偏移量
类型
复位值
描述
SW_SEL
0x30
R/W
0x00
SWD 功能配置寄存器
PORTA_SEL
0x80
R/W
0x00
端口 A 功能配置寄存器
PORTA_PULLUP
0x90
R/W
0x00
端口 A 上拉配置寄存器
PORTA_INEN
0xE0
R/W
0x00
端口 A 输入屏蔽寄存器
SYSCTL
BASE:0x400F0000
名称
偏移量
类型
复位值
描述
SYS_CFG_0
0x00
R/W
0x7C004404
系统控制寄存器 0
SYS_CFG_1
0x04
R/W
0xFF
系统控制寄存器 1
SYS_DBLF
0x08
R/W
1
时钟倍频寄存器
SYS_CFG_2
0x0C
R/W
0
系统控制寄存器 2
20
SWM050 系列
6.5.4 寄存器描述
SWD_SEL
ADDR:0x40000030
位域
名称
类型
复位值
31:1
REVERSED
R
0
保留位
R/W
0
SW 端口配置
0: SWD 关闭,A1/A2 引脚切换至 SEL 寄
存器配置指定功能
1: SWD 开启,A1:SWDIO A2:SWDCLK
描述
0
SWDEN
描述
PORTA_SEL
ADDR:0x40000080
位域
名称
类型
复位值
31:16
REVERSED
R
0
保留位
15:14
PA07
RW
1’b0
13:6
REVERSED
R
0
5:4
3:2
1:0
PA02
PA01
PA00
PortA7 功能选择
00:GPIO
01:TIMER_SE1_OUT
10/11:保留
保留位
1’b0
PortA2 功能选择
00:GPIO
01:TIMER_SE1_IN
10/11:保留
1’b0
PortA1 功能选择
00:GPIO
01:TIMER_SE0_OUT
10/11:保留
RW
1’b0
PortA0 功能选择
00:GPIO
01:TIMER_SE0_IN
10/11:保留
RW
RW
PORTA_PULLUP
ADDR:0x40000090
位域
名称
类型
复位值
31:8
REVERSED
R
0
保留位
0
Port A7 上拉配置
0: 上拉关闭
1: 上拉开启
7
PA7
R/W
21
描述
SWM050 系列
6
5
4
3
2
1
0
PA6
PA5
PA4
PA3
PA2
PA1
PA0
0
Port A6 上拉配置
0: 上拉关闭
1: 上拉开启
0
Port A5 上拉配置
0: 上拉关闭
1: 上拉开启
0
Port A4 上拉配置
0: 上拉关闭
1: 上拉开启
0
Port A3 上拉配置
0: 上拉关闭
1: 上拉开启
0
Port A2 上拉配置
0: 上拉关闭
1: 上拉开启
0
Port A1 上拉配置
0: 上拉关闭
1: 上拉开启
R/W
0
Port A0 上拉配置
0: 上拉关闭
1: 上拉开启
R/W
R/W
R/W
R/W
R/W
R/W
PORTA_INEN
ADDR:0x400000E0
位域
名称
类型
复位值
31:8
REVERSED
R
0
保留位
0
Port A7 输入配置
0: 输入开启
1: 输入关闭,不接受外界信号,功耗降低
0
Port A6 输入配置
0: 输入开启
1: 输入关闭,不接受外界信号,功耗降低
0
Port A5 输入配置
0: 输入开启
1: 输入关闭,不接受外界信号,功耗降低
0
Port A4 输入配置
0: 输入开启
1: 输入关闭,不接受外界信号,功耗降低
7
6
5
4
PA7
PA6
PA5
PA4
R/W
R/W
R/W
R/W
描述
3
PA3
R/W
0
Port A3 输入配置
0: 输入开启
1: 输入关闭,不接受外界信号,功耗降低
2
PA2
R/W
0
Port A2 输入配置
0: 输入开启
22
SWM050 系列
1: 输入关闭,不接受外界信号,功耗降低
PA1
1
PA0
0
0
Port A1 输入配置
0: 输入开启
1: 输入关闭,不接受外界信号,功耗降低
R/W
0
Port A0 输入配置
0: 输入开启
1: 输入关闭,不接受外界信号,功耗降低
描述
R/W
SYS_CFG_0
ADDR:0x400F0000
位域
名称
类型
复位值
31:22
REVERSED
R
0
保留位
21:16
TIMS_DIV
R/W
0
TIMERSE 时钟分频
写入奇数不分频,写入偶数为相应分频值,
0 为 2 分频
15:10
REVERSED
R
0
保留位
9:0
SCLKC
R/W
4
SCLK 时钟分频,
写入奇数不分频,写入偶数为相应分频值,
0 为 2 分频
描述
SYS_CFG_1
ADDR:0x400F0004
位域
名称
类型
复位值
31:18
REVERSED
R
0
保留位
17
TIMS1EN
R/W
0
TIMERSE1 时钟使能
0:禁止
1:使能
16:7
REVERSED
R
0
保留位
6
TIMS0EN
R/W
0
TIMERSE0 时钟使能
0:禁止
1:使能
5
REVERSED
R
0
保留位
4
WDTEN
R/W
1
Watchdog 时钟使能
0:禁止
1:使能
3:0
REVERSED
R
0
保留位
类型
复位值
SYS_DBLF
ADDR: 0x400F0008
位域
名称
23
描述
SWM050 系列
31:1
REVERSED
R
0
0
SYS_DBLF
R/W
0x01
保留位
时钟倍频,0 = 18M,1= 36M
SYS_CFG_2
ADDR: 0x400F000C
位域
名称
类型
复位值
31:6
REVERSED
R
0
保留位
1
MOS 控制位:
1:片内 MOS 关断
0:片内 MOS 打开
5
PMOSDIS
R/W
描述
4
SLEEPEN
R/W
0
芯片睡眠控制位:
1:掉电睡眠模式
0:正常工作模式
3:1
REVERSED
R
0
保留位
0
内部时钟控制位:
1: 关断内部时钟
0: 内部时钟打开
0
OSCDIS
R/W
24
SWM050 系列
6.6 通用 I/O(GPIO)
GPIO 模块由包括 1 个端口(PortA),位宽为 10 位,共计 10 个可编程输入/输出管脚。
6.6.1 特性
每个端口具有独立的数据输入、输出寄存器
每个引脚可独立配置方向
A8 支持 1.8V 输入匹配
A 端口可设置为上拉模式
A 端口每个引脚均可配置为独立中断源。中断特性如下:
触发极性可配置
触发方式可配置(沿触发/电平触发)
中断可屏蔽
6.6.2 功能
除 SW 引脚外,所有引脚上电后默认状态均为 GPIO 浮空输入(DIR = 0)
。SW 引脚默
认为露出状态。可根据需求以引脚为单位对 GPIO 方向及数据进行控制。
数据控制
GPIO 方向寄存器(DIR)用来将每个独立的管脚配置为输入模式或者输出模式。当数
据方向位为 0 时,GPIO 配置为输入,并且对应的外部数据寄存器(EXT)位将捕获和存储
GPIO 端口上的值。当数据方向位设为 1 时,GPIO 配置为输出,并且对应端口数据寄存器
(DATA)对应位的值将在 GPIO 相应引脚上输出,对数据寄存器进行读操作时,返回值为
上次写入值。
中断控制
可根据需求将 GPIO 端口 A 配置为中断模式,并通过相关寄存器配置中断极性及触发
方式。触发方式分为边沿触发和电平触发两种模式。对于边沿触发中断,必须通过软件对中
断位进行清除。对于电平触发中断,需保证外部信号源保持电平稳定,以便中断能被控制器
识别。
使用以下寄存器来对产生中断触发方式和极性进行定义:
GPIO 中断触发方式(INTLEVEL)寄存器
GPIO 中断触发极性(INTPOLARITY)寄存器
通过 GPIO 中断使能(INTEN)寄存器可以使能或者禁止相应中断,通过 GPIO 中断屏
蔽(INTMASK)寄存器可以屏蔽或者打开相应的中断。
25
SWM050 系列
当产生中断时,可以在 GPIO 原始中断状态(RAWINTSTAUS)和 GPIO 屏蔽后的中断状态
(INTSTAUS)寄存器中获取中断信号的状态。INTSTATUS 寄存器仅显示经过屏蔽后被传
送到控制器的中断信号。RINTS 则表示外部中断信号目前状态,但不一定能够被中断控制
器接收。
写 1 到 GPIO 中断结束(INTEOI)寄存器可以清除相应位中断。
初始化配置
GPIO 引脚默认为浮空输入模式,可通过以下方式对其状态进行更改:
设置 IO 方向:
ADIR 寄存器
设置为 0 则相应位为输入
设置为 1 则相应位为输入
读取 IO 引脚状态:
输出指定值:
配置中断:
AEXT 寄存器
ADATE 寄存器
INTEN 寄存器
设置 0
设置 1
配置中断触发方式: INTLEVEL 寄存器
设置 0
设置 1
端口 A/E 相应位作为正常 GPIO 端口
端口 A/E 相应位作为外部中断输入
端口 A/E 相应位电平触发方式
端口 A/E 相应位边沿触发方式
6.6.3 寄存器映射
GPIO
BASE:0x40001000
名称
偏移量
类型
复位值
ADATA
0x00
R/W
0x00
Port A 数据寄存器
ADIR
0x04
R/W
0x00
Port A 方向寄存器
REVERSED
0x08~
0x2C
R
0x00
保留
INTEN_A
0x30
R/W
0x00
中断使能
INTMASK_A
0x34
R/W
0x00
中断屏蔽
INTLEVEL_A
0x38
R/W
0x00
中断触发方式
INTPOLARIT
Y_A
0x3C
R/W
0x00
中断触发极性
INTSTAT_A
0x40
R/W
0x00
中断状态
RAWINTSTAT
_A
0x44
R/W
0x00
原始中断状态
REVERSED
0x48
R
0x00
保留
INTEOI_A
0x4C
R/W
0x00
对于边沿触发类型的中断,写 1 清
除相应的中断状态
AEXT
0x50
R/W
0x00
Port A 数据寄存器
26
描述
SWM050 系列
6.6.4 寄存器描述
GPIO 数据寄存器 XDATA
ADDR:0x40001000
位域
名称
类型
复位值
31:16
REVERSED
R
0
保留位(x 为位宽)
0
当 Port X 数据方向寄存器相应位配置为输出模
式,且端口功能选择寄存器选择为 GPIO 功能,
则写入该寄存器的值将被输出到 Port A 的 I/O 管
脚上。
读取返回值为最近写入值。
描述
15:0
XDATA
R/W
描述
GPIO 方向寄存器 XDIR
ADDR:0x40001004
位域
名称
类型
复位值
31:16
REVERSED
R
0
保留位(x 为位宽)
0
设置 GPIO 管脚方向:
1:相应位为输出管脚
0:相应位为输入管脚
15:0
XDIR
R/W
端口 X 中断使能寄存器 INTEN_X
ADDR:0x40001030
位域
名称
类型
复位值
描述
31:16
REVERSED
R
0
保留位(x 为位宽)
15:0
INTEN
R/W
0
0:Port X 相应位作为正常 GPIO 端口
1:Port X 相应位作为外部中断输入
端口 X 中断屏蔽寄存器 INTMASK_X
ADDR:0x40001034
位域
名称
类型
复位值
描述
31:16
REVERSED
R
0
保留位(x 为位宽)
15:0
MASK
R/W
0
0:Port X 相应位中断非屏蔽
1:Port X 相应位中断屏蔽
端口 X 中断触发方式寄存器 INTLEVEL_X
ADDR:0x40001038
位域
名称
类型
复位值
描述
31:16
REVERSED
R
0
保留位(x 为位宽)
15:0
LEVEL
R/W
0
0:Port X 相应位电平触发方式
1:Port X 相应位边沿触发方式
27
SWM050 系列
端口 X 中断触发极性寄存器 INTPOLARITY_X
ADDR:0x4000103C
位域
名称
类型
复位值
31:16
REVERSED
R
0
保留位(x 为位宽)
0
0:电平触发时,Port X 相应位中断为低电平触发
沿触发时,Port X 相应中断位为下降沿触发
1:电平触发时,Port X 相应位中断为高电平触发
沿触发时,Port X 相应位中断为上升沿触发
15:0
POLARITY
R/W
描述
端口 X 中断状态寄存器 INTSTATUS_X
ADDR:0x40001040
位域
名称
类型
复位值
31:16
REVERSED
R
0
保留位(x 为位宽)
0
屏蔽后的中断状态
0:Port X 相应位无中断发生
1:Port X 相应位有中断发生
15:0
STATUS
RO
描述
端口 X 中断原始中断状态寄存器 INTRAWSTATUS_X
ADDR:0x40001044
位域
名称
类型
复位值
31:16
REVERSED
R
0
保留位(x 为位宽)
15:0
RAW
STATUS
0
未屏蔽前的中断状态
0:Port X 相应位无中断发生
1:Port X 相应位有中断发生
RO
描述
端口 X 中断清除寄存器 INTEOI_X
ADDR:0x40001048
位域
名称
类型
复位值
描述
31:16
REVERSED
R
0
保留位(x 为位宽)
15:0
EOI
W1C
0
相应位写 1 清除相应位的中断状态
端口 X 外部寄存器 XEXT
ADDR:0x4000104C
位域
名称
类型
复位值
描述
31:1
REVERSED
R
0
保留位(x 为位宽)
0
EOI
RO
0
Port X 方向设置为输入状态,读此寄存器为 Port
X 的输入数据
28
SWM050 系列
6.7 专用定时器(TIMER)
6.7.1 特性
32 位定时器/计数器功能
脉冲及占空比捕捉功能
32 位 PWM 输出功能
6.7.2 功能
定时器/计数器
配置模块控制寄存器(CTRL)中模式位 BIT[5:4],选择模式 0(00b)
,则模块被配置
为定时器/计数器模式,该模式提供了 32 位长度的计数寄存器,可按以下流程进行配置:
计数目标值。通过目标计数值寄存器(TARVAL)进行配置,写入 32 位目标计数
值,计数器递增至该值后一次计数结束
计数时钟源。可选择片内模块输入时钟或片外引脚输入时钟作为计数时钟源,通过
模块控制寄存器(CTRL)中 BIT[8]进行配置。 默认内部时钟
计数有效沿。通过模块控制寄存器(CTRL)中 BIT[16]进行配置,设置上升沿或
下降沿计数有效。默认上升沿有效
计数循环模式。通过模块控制寄存器(CTRL)中 BIT[28]进行配置,当配置为 0
时,为循环计数模式;配置为 1 时,为单次计数模式。默认循环模式
输出模式。配置为定时器或计数器时,模块控制寄存器(CTRL)BIT[13:12]可配
置输出模式。当配置为除“无输出”以外的模式时,可通过配置输出寄存器
(OUTPVAL)控制引脚输出电平。计数器计数过程中,引脚为保持状态。当一次
计数模式结束后,根据所配置的输出模式,电平发生变化。默认无输出模式
中断设置。可通过设置中断使能及中断屏蔽位,使能或禁能计数完成中断,中断标
志通过读取目标计数值寄存器(TARVAL)或当前值寄存器(CURVAL)清除。中
断未清除再次出现中断时,中断溢出标志位(INTFLAG)被置 1,通过读取目标计
数值寄存器(TARVAL)或当前值寄存器(CURVAL)清除
模块使能。通过模块控制寄存器(CTRL)中 BIT[0]进行配置
脉冲发送
配置模块控制寄存器(CTRL)中模式位 BIT[5:4],选择模式 1(01b)
,同时将 BIT[13:12]
配置为记到则相反(01b)
,则模块被配置为 PWM 模式。该模式提供了一个最大周期长度为
32 位的 PWM 模块,可按照以下流程进行配置:
计数时钟源。可选择片内模块输入时钟或片外引脚输入时钟作为 PWM 最小分辨率
长度单位,通过模块控制寄存器(CTRL)中 BIT[8]进行配置。默认内部时钟
计数有效沿。通过模块控制寄存器(CTRL)中 BIT[16]进行配置,设置上升沿或
29
SWM050 系列
下降沿计数有效。默认上升沿有效
初始输出电平。可通过配置输出寄存器(OUTPVAL)指定 PWM 初始输出电平。
默认初始输出为低电平
计数目标值。通过目标计数值寄存器(TARVAL)进行配置。该寄存器低 16 位为
PWM 初始电平长度,高 16 位为跳变后电平长度。
(注:当配置为 PWM 模式时,
改寄存器高 16 位及低 16 位均不能为 0,即不能通过 PWM 模式实现单一电平)
中断设置。当电平发生跳变时,产生中断,可通过设置中断使能及中断屏蔽位,使
能或禁能中断
模块使能。通过模块控制寄存器(CTRL)中 BIT[0]进行配置
状态读取。通过读取当状态寄存器(MOD2LF)判断当前输出所处周期
脉冲捕捉
配置模块控制寄存器(CTRL)中模式位 BIT[5:4],选择模式 2(10b)或模式 3(11b)
时,模块配配置为 capture 模式,用于捕捉外部电平变化。
当配置为模式 2(10b)时,用于捕捉脉冲宽度,引脚出现指定外部电平变化沿(上升
或下降)时,触发计数,以内部时钟计,直至出现外部反向电平沿(下降或上升)后,一次
计数结束,产生中断,三个时钟周期后通过捕捉寄存器 2(CAPLH)给出计数值。读取该寄存
器可清除中断。中断未清除再次出现中断时,中断溢出标志位(INTFLAG)被置 1,通过读
取捕捉寄存器 2(CAP2)清除。
图 6-1 脉冲捕捉示意图
可按照以下流程进行配置:
计数有效沿。通过模块控制寄存器(CTRL)中 BIT[16]进行配置,设置外部上升
沿或下降沿起始计数。默认上升沿有效
计数循环模式。通过模块控制寄存器(CTRL)中 BIT[28]进行配置,当配置为 0
时,为循环计数模式;配置为 1 时,为单次计数模式。默认循环模式(注:循环模
式下,需要保证读取时间小于两次脉冲捕捉结束时间,以免数据丢失)
中断设置。当捕捉完成后,产生中断。可通过设置中断使能及中断屏蔽位,使能或
禁能中断
模块使能。通过模块控制寄存器(CTRL)中 BIT[0]进行配置
当配置为模式 3(11b)时,用于捕捉占空比宽度,引脚出现指定外部电平变化沿(上
升或下降)时,记为时间点 1,此时触发计数,以内部时钟计,直至出现外部反向电平变化
30
SWM050 系列
沿(下降或上升)后,记为时间点 2,继续计数,直至再次出现外部反向电平变化沿(上升
或下降)
,记为时间点 3,一次记录完成,触发中断,通过捕捉寄存器 2(CAPLH)给出时间点
1 至时间点 2 计数值,通过捕捉寄存器 1(CAPW)给出时间点 1 至时间点 3 计数值。读取捕
捉寄存器 2(CAPLH)或捕捉寄存器 1(CAPW)可清除中断。中断未清除再次出现中断时,中断
溢出标志位(INTFLAG)被置 1,通过读取捕捉寄存器 2(CAPLH)或捕捉寄存器 1(CAPW)
清除。
图 6-2 占空比捕捉示意图
可按照以下流程进行配置:
计数有效沿。通过模块控制寄存器(CTRL)中 BIT[16]进行配置,设置外部上升
沿或下降沿起始计数。默认上升沿有效
计数循环模式。通过模块控制寄存器(CTRL)中 BIT[28]进行配置,当配置为 0
时,为循环计数模式;配置为 1 时,为单次计数模式。默认循环模式(注:循环模
式下,需要保证读取时间小于两次脉冲捕捉结束时间,以免数据丢失)
中断设置。当捕捉完成后,产生中断。可通过设置中断使能及中断屏蔽位,使能或
禁能中断
模块使能。通过模块控制寄存器(CTRL)中 BIT[0]进行配置
6.7.3 寄存器映射
TIMER
BASE:0x40002000/0x40002400
名称
偏移量
类型
复位值
CTRL
0x00
R/W
0x00
模块控制寄存器
TARVAL
0x04
R/W
0x00
目标计数值寄存器
CURVAL
0x08
RO
0x00
当前计数值寄存器
CAPW
0x0C
RO
0x00
捕捉寄存器 1
CAPLH
0x10
RO
0x00
捕捉寄存器 2
MOD2LF
0x14
RO
0x00
当前状态寄存器
REVERSED
0x18~0x
7C
R
0x00
保留
OUTPVAL
0x80
R/W
0x00
输出寄存器
INTCTL
0x84
R/W
0x00
中断控制寄存器
INTSTAT
0x88
RO
0x00
中断原始状态寄存器
INTMSKSTAT
0x8C
RO
0x00
屏蔽后中断状态寄存器
31
描述
SWM050 系列
名称
偏移量
类型
复位值
INTFLAG
0x90
RO
0x00
描述
中断溢出标志寄存器
6.7.4 寄存器描述
模块控制寄存器 CTRL
ADDR:0x40002000+0x400*x(x=0,1)
位域
名称
类型
复位值
描述
31:29
REVERSED
R
0
保留
28
LMOD
R/W
0
循环模式选择
0:循环模式
27:17
REVERSED
R
0
保留
16
TMOD
R/W
0
有效沿选择
0:上升沿有效
15:14
REVERSED
R
0
保留
13:12
OUTMOD
R/W
0
输出模式选择
00:无输出
10:记到后置高
11:9
REVERSED
R
0
保留
8
OSCMOD
R/W
0
时钟源选择
0:内部时钟
7:6
REVERSED
R
0
保留
5:4
WMOD
R/W
0
工作模式选择
00:计数器模式
10:脉冲捕捉模式
3:1
REVERSED
R
0
保留
0
EN
R/W
0
模块使能
0:模块禁能
1:单次模式
1:下降沿有效
01:记到后反向
11:记到后置低
1:外部时钟
01:PWM 模式
11:占空比捕捉模式
1:模块使能
目标计数值寄存器 TARVAL
ADDR:0x40002004+0x400*x(x=0,1)
位域
名称
类型
复位值
描述
31:16
TARH
R/W
0
模式 0/ 模式 2/ 模式 3 目标值高 16 位;
模式 1PWM 信号跳变后周期长度
15:0
TARL
R/W
0
模式 0/2/3 目标值低 16 位;
模式 1PWM 信号跳变前初始周期长度
当前计数值寄存器 CURVAL
ADDR:0x40002008+0x400*x(x=0,1)
位域
名称
类型
复位值
31:0
CURV
R/W
0
描述
模式 0/ 模式 2/ 模式 3 当前计数值
32
SWM050 系列
捕捉寄存器 1 CAPW
ADDR:0x4000200C+0x400*x(x=0,1)
位域
31:0
名称
CAPW
类型
复位值
描述
0
模式 2 下无意义
模式 3(占空比捕捉)总周期宽度(跳变沿 1
至跳变沿 3)计数值
RO
捕捉寄存器 2 CAPLH
ADDR:0x40002010+0x400*x(x=0,1)
位域
31:0
名称
CAPLH
类型
复位值
描述
0
模式 2(脉冲捕捉)脉冲宽度周期计数值
模式 3(占空比捕捉)跳变沿 1 至跳变沿 2 周
期宽度计数值
RO
当前状态寄存器 MOD2LF
ADDR:0x40002014+0x400*x(x=0,1)
位域
名称
类型
复位值
描述
31:1
REVERSED
—
—
保留
0
MOD2LF
RO
0
模式 1(PWM)下状态
0:未发生电平翻转
1:已发生电平翻转
输出寄存器 OUTPVAL
ADDR:0x40002080+0x400*x(x=0,1)
位域
名称
类型
复位值
描述
31:1
REVERSED
—
—
保留
0
OUTPVAL
R/W
0
TIMERSE_OUT 输出引脚电平
0:低电平
1:高电平
中断控制寄存器 INTCTL
ADDR:0x40002084+0x400*x(x=0,1)
位域
名称
类型
复位值
描述
31:2
REVERSED
—
—
保留
1
INTMSK
R/W
0
中断屏蔽信号
0:屏蔽
1:未屏蔽
0
INTEN
R/W
0
中断使能信号
0:禁能
1:使能
原始中断状态寄存器 INTSTAT
ADDR:0x40002088+0x400*x(x=0,1)
位域
名称
类型
复位值
描述
31:1
REVERSED
—
—
保留
0
INTSTAT
R/W
0
原始中断信号
0:未触发
33
1:已触发
SWM050 系列
原始中断状态寄存器 INTMSKSTAT
ADDR:0x4000208C+0x400*x(x=0,1)
位域
名称
类型
复位值
描述
31:11
REVERSED
—
—
保留
0
MSKSTAT
R/W
0
屏蔽后中断信号
0:未触发
1:已触发
中断溢出寄存器 INTFLAG
ADDR:0x40002090+0x400*x(x=0,1)
位域
名称
类型
复位值
31:1
REVERSED
—
—
保留
0
中断溢出信号,当已有中断未清除,再次发
生中断时,该位置 1
0:未溢出
1:溢出
0
INTFLAG
R/W
描述
34
SWM050 系列
6.8 看门狗定时器(WDT)
6.8.1 功能
看门狗定时器(WDT)主要用于控制程序流程正确,在程序流长时间未按既定流程执
行指定程序的情况下复位芯片。它具有两个工作模式,可触发中断或复位芯片。使能前,首
先写入超时周期值并初始化模块。使能后,当工作在模式 0(RMOD=0)时, WDT 将根据
系统时钟递减计数。在计数至 0 值时产生复位信号将系统复位。当工作在模式 1(RMOD=1)
时,WDT 会在第一次计数后置标志位、产生中断并再次装载超时周期值开始计数。当第二
次记至 0 值时,复位芯片。在 WDT 计数过程中对计数器重启寄存器进行写操作可使该模块
恢复至初始使能状态继续工作,从而延后复位发生的时间。通过不断将复位时间延后的行为
实现保证程序流正常工作的效果。
配置 WDT 顺序如下:
设置所要计数的值,其中,TOP_INIT 为初始值(在 WDT 使能之前写入值)
,TOP
为超时后将要填装的值
写(CR 寄存器)配置 WDT 模式(系统复位模式或中断模式)
写(EN)使能 WDT
6.8.2 寄存器映射
WDT
BASE:0x40019000
名称
偏移量
类型
复位值
描述
CR
0x00
R/W
0x00
WDT 控制寄存器
TORR
0x04
R/W
0x00
超时周期寄存器
CCVR
0x08
RO
0x00
当前计数器值寄存器
CRR
0x0c
WO
0x00
计数器重启寄存器
STAT
0x10
RO
0x00
中断状态寄存器
EOI
0x14
RO
0x00
中断清除寄存器
6.8.3 寄存器描述
WDT 控制寄存器(CR)
ADDR: 0x40019000
位域
名称
类型
复位值
31:2
REVERSED
—
—
保留
0
设置超时事件发生时,响应模式。
0 : 产生一个系统复位
1 :第一次超时发生,产生一个 WDT
中断。如果在第二次超时发生时,没有
中断没有被清除,就会产生一个系统复
位
1
RMOD
R/W
35
描述
SWM050 系列
0
EN
R/W
0
使能 WDT 模块。系统复位后将变成默
认值。
0 :WDT 禁止
1 :WDT 使能
描述
WDT 超时周期寄存器(TORR)
ADDR: 0x40019004
位域
名称
类型
复位值
31:8
REVERSED
—
—
保留
0
设置初始计数值 i,必须在 WDT 使能
之前设置
以下为设置值 i 所对应的计数值:
2(16+i)
( i 的范围为 0~15 )
0
设置计数值,超时发生后将装入该值倒
以下为设置值 i 所对应的计数值:
2(16+i)
( i 的范围为 0~15 )
7:4
3:0
TOP_INIT
TOP
R/W
R/W
WDT 当前计数器值寄存器(CCVR)
ADDR: 0x40019008
位域
名称
类型
复位值
描述
31:1
REVERSED
—
—
保留
0
CCVR
RO
0
读操作返回当前计数器计数值
WDT 计数器重启寄存器(CRR)
ADDR: 0x40019000C
位域
名称
类型
复位值
描述
31:8
REVERSED
—
—
保留
7:0
CRR
WO
0
写入 0x76 后重启计数器器,同时清除
中断(喂狗操作)。读返回 0
描述
WDT 中断状态寄存器(STAT)
ADDR: 0x40019010
位域
名称
类型
复位值
31:1
REVERSED
—
—
保留
0
显示 WDT 中断状态,读操作返回如下
值:
1 :已产生中断,且未清除
0 :未产生中断或中断已清除
0
STAT
RO
WDT 中断清除寄存器(EOI)
ADDR: 0x40019014
36
SWM050 系列
位域
名称
类型
复位值
31:1
REVERSED
—
—
保留
0
EOI
RO
0
读该位可清除 WDT 中断(计数器不重
启)
37
描述
SWM050 系列
6.9 加密及 FLASH 操作
6.9.1 特性
支持加密操作
支持 512 BYTE DATA FLASH 编程
6.9.2 功能
加密操作
通过用户向 FLASH 地址 0x1FC 写入指定数据的方式进行加密。加密分为如下级别:
表 9-1 加密级别及特性
级别
地址 0x1FC 写入值
描述
级别 0
默认值 0xFFFFFFFF
无加密,SWD 端口默认开启
级别 1
0xABCD1234
写入该值后 SWD 引脚默认为 IO,通过 A0 拉低操作可
以打开 SWD
级别 2
0xD1C2B3A4
SWD,ISP 模式均不可用,A0 引脚为低时无效果
FLASH 操作
IAP 操作主要针对片上提供的 512 字节数据 FLASH 进行操作,包括写入和擦除操作。
执行需要注意如下细节:
1.
每次写入前,需要保证目标地址已经被擦除过,且擦除后未执行过写入操作
2.
写入操作最小单位为字(WORD)
IAP 函数功能说明如下:
表 9-2 IAP 参数说明
IAP 命令
输入参数
返回参数
38
描述
SWM050 系列
Data Flash
写入或读取
INFOADD
USRADD
NUM
FLAG
1 = SUCCESS
0 = ERROR
Data Flash
擦除
NULL
1 = SUCCESS
0 = ERROR
INFOADD:
FLASH 记录区首地址,范围
0x00~0x1FC,字对齐
USRADD:
用户程序指定首地址,字对齐
NUM:
记录或读取数据数量,单位为
字,记录首地址为 0 时,最大
记 录 数 据 量 为 128 , 即
INFOADD+NUM*4
很抱歉,暂时无法提供与“SWM050I2P7-65”相匹配的价格&库存,您可以联系我们找货
免费人工找货