SWM341 系列
ARM®Cortex®-M33
32 位微处理器
SWM341 系列 MCU
数据手册
华芯微特集成电路有限公司
Synwit Integrated Circuit Co., Ltd.
1
Version 1.25
SWM341 系列
目
录
相关文档 ........................................................................................................................................... 8
缩写表........................................................................................................................................ 8
寄存器位缩写表 ........................................................................................................................ 8
寄存器描述列表缩写约定 ......................................................................................................... 8
命名规则说明 ............................................................................................................................ 9
文档下载地址 ............................................................................................................................ 9
1
概述 ......................................................................................................................................... 10
2
特性 ......................................................................................................................................... 11
3
选型指南 ................................................................................................................................. 14
4
功能方块图.............................................................................................................................. 15
5
管脚配置 ................................................................................................................................. 17
6
5.1
SWM341VET7............................................................................................................... 17
5.2
SWM341RET7 ............................................................................................................... 18
5.3
SWM341CET7 ............................................................................................................... 19
5.4
SWM34SVET6 ............................................................................................................... 20
5.5
SWM34SRET6 ............................................................................................................... 21
5.6
SWM34SCET7 ............................................................................................................... 22
5.7
管脚定义 ..................................................................................................................... 23
5.8
管脚复用功能表 .......................................................................................................... 35
功能描述 ................................................................................................................................. 40
6.1
存储器映射.................................................................................................................. 40
6.2
中断控制器(NVIC) .................................................................................................. 42
6.3
系统定时器(SYSTIC) ................................................................................................ 52
6.4
系统控制器.................................................................................................................. 59
6.5
浮点单元(FPU)........................................................................................................ 69
6.6
系统管理(SYSCON).................................................................................................. 83
6.7
引脚功能配置(PORTCON) ..................................................................................... 156
6.8
通用 I/O (GPIO) .................................................................................................... 265
6.9
加强型定时器(TIMER) .......................................................................................... 289
6.10
基本定时器(BTIMER) ............................................................................................ 317
6.11
正交编码器(QEI)................................................................................................... 333
6.12
看门狗定时器(WDT)............................................................................................. 350
6.13
实时时钟(RTC) ...................................................................................................... 362
6.14
UART 接口控制器(UART) ...................................................................................... 381
6.15
I2C 总线控制器(I2C) ............................................................................................. 402
6.16
SPI 总线控制器(SPI) .............................................................................................. 428
6.17
脉冲宽度调制(PWM)发生器 ................................................................................ 450
6.18
模拟数字转换器(SAR ADC) ................................................................................... 509
6.19
直接内存存取(DMA)控制器 ................................................................................. 544
6.20
旋转坐标计算(CORDIC) ........................................................................................ 578
2
Version 1.25
SWM341 系列
7
8
6.21
CRC 计算单元(CRC) ............................................................................................... 589
6.22
除法器(DIV) .......................................................................................................... 598
6.23
局域网控制器(CAN).............................................................................................. 609
6.24
LCD 控制器(LCDC) ................................................................................................. 687
6.25
图像硬件解码器(JPEG) ......................................................................................... 714
6.26
DMA2D 控制器(DMA2D)....................................................................................... 749
6.27
SDRAM 控制器(SDRAMC)...................................................................................... 769
6.28
SDIO 接口(SDIO) ................................................................................................... 780
6.29
DAC 控制器(DAC).................................................................................................. 810
6.30
USB 控制器(USB) .................................................................................................. 819
6.31
SERIAL FLASH 控制器(SFC) .................................................................................... 870
6.32
FLASH 控制器与 ISP 操作........................................................................................... 890
6.33
比较器(CMP) ........................................................................................................ 900
6.34
放大器(OPA) ......................................................................................................... 910
典型应用电路........................................................................................................................ 915
电气特性 ............................................................................................................................... 916
8.1
绝对最大额定值 ........................................................................................................ 916
8.2
DC 电气特性 .............................................................................................................. 917
8.3
AC 电气特性 .............................................................................................................. 919
8.4
模拟器件特性 ............................................................................................................ 920
封装尺寸 ....................................................................................................................... 925
11
12
11.1
LQFP100 ..................................................................................................................... 925
11.2
LQFP64 ....................................................................................................................... 926
11.3
LQFP48 ....................................................................................................................... 927
版本记录 ....................................................................................................................... 928
图目录
图 4-1 SWM341 功能方框图 ................................................................................................... 16
图 5-1 SWM341VET7 封装管脚配置图 .................................................................................... 17
图 5-2 SWM341VET7 封装管脚配置图 .................................................................................... 18
图 5-3 SWM341CET7 管脚排布................................................................................................ 19
图 5-4 SWM34SVET6 封装管脚配置图 .................................................................................... 20
图 5-5 SWM34SRET6 管脚排布................................................................................................ 21
图 5-6 SWM34SCET7 管脚排布 ................................................................................................ 22
图 6-1 systic 模块结构图 ......................................................................................................... 53
图 6-2 SysTick 计数时序图....................................................................................................... 54
图 6-3 浮点寄存器组.............................................................................................................. 71
图 6-4 时钟结构框图............................................................................................................... 84
图 6-5 端口唤醒示意图........................................................................................................... 88
图 6-6 PORTCON 模块结构框图............................................................................................. 157
图 6-7 引脚配置示意图 ........................................................................................................ 158
3
Version 1.25
SWM341 系列
图 6-8 IO 输入上拉下拉 ........................................................................................................ 159
图 6-9 推挽输出 ................................................................................................................... 159
图 6-10 开漏输出 ................................................................................................................. 160
图 6-11 TIMER 模块结构框图 ............................................................................................... 290
图 6-12 定时器工作示意图 ................................................................................................... 291
图 6-13 计数器工作示意图 ................................................................................................... 292
图 6-14 级联模式工作示意图 ............................................................................................... 293
图 6-15 脉冲发送示意图 ...................................................................................................... 294
图 6-16 单次高电平捕捉示意图 ........................................................................................... 295
图 6-17 单次低电平捕捉示意图 ........................................................................................... 295
图 6-18 Hall 双边沿记录示意图 ............................................................................................ 296
图 6-19 BTIMER 模块结构框图 ............................................................................................. 318
图 6-20 定时器工作示意图 ................................................................................................... 319
图 6-21 定时器 RELOAD 工作示意图..................................................................................... 320
图 6-22 脉冲发送示意图 ...................................................................................................... 321
图 6-23 QEI 模块结构框图 .................................................................................................... 334
图 6-24 增量式正交编码盘示意图....................................................................................... 335
图 6-25 三相信号正向/反向旋转时序关系 .......................................................................... 336
图 6-26 正交编码器 x4 计数模式示意图.............................................................................. 337
图 6-27 正交编码器 x2 计数模式示意图.............................................................................. 337
图 6-28 QEI 计数器索引复位模式 ......................................................................................... 338
图 6-29 计数匹配复位模式 .................................................................................................. 338
图 6-30 WDT 模块结构框图 .................................................................................................. 351
图 6-31 门狗发生中断及复位与计数值之间的关系示意图 ................................................. 352
图 6-32 WDT 工作示意图 ...................................................................................................... 353
图 6-33 WDT 配置为 RESET 模式波形图................................................................................ 353
图 6-34 WDT 配置为中断模式波形图 ................................................................................... 353
图 6-35 RTC 模块结构框图 .................................................................................................... 363
图 6-36 UART 模块结构图 ..................................................................................................... 382
图 6-37 UART 字符格式 ......................................................................................................... 383
图 6-38 自动波特率示意图 .................................................................................................. 384
图 6-39 LIN Fram 示意图 ....................................................................................................... 385
图 6-40 Break 信号不够长示意图 ......................................................................................... 386
图 6-41 Break 信号恰好够长示意图...................................................................................... 386
图 6-42 Break 信号足够长示意图 ......................................................................................... 387
图 6-43 硬件流控 .................................................................................................................. 387
图 6-44 对方发送 8 个数据接收 FIFO 示意图 ...................................................................... 388
图 6-45 对方发送 9 个数据接收 FIFO 示意图 ...................................................................... 388
图 6-46 发送 FIFO 示意图..................................................................................................... 389
图 6-47 I2C 模块结构框图 ..................................................................................................... 403
图 6-48 I2C 通信示意图......................................................................................................... 404
图 6-49 Master SCL 周期配置示意图 ..................................................................................... 405
图 6-50 Master 寄存器时序示意图 ...................................................................................... 407
4
Version 1.25
SWM341 系列
图 6-51 Slave 寄存器时序示意图 ......................................................................................... 409
图 6-52 SPI 模块结构框图 ..................................................................................................... 429
图 6-53 SPI 模式波形图 ......................................................................................................... 430
图 6-54 SSI 模式单次输出波.................................................................................................. 431
图 6-55 SSI 模式连续输出波形 .............................................................................................. 431
图 6-56 主机模式接口框图 ................................................................................................... 432
图 6-57 从机模式接口框图 ................................................................................................... 432
图 6-58 philips 数据格式时序图 ............................................................................................ 432
图 6-59 MSB 对齐数据格式时序图 ....................................................................................... 433
图 6-60 PCM 短帧数据格式时序图 ....................................................................................... 433
图 6-61 PCM 长帧数据格式时序图(PCMSYNW = 0) ..................................................... 434
图 6-62 PCM 长帧数据格式时序图(PCMSYNW = 1) ..................................................... 434
图 6-63 PWM 模块结构框图 ................................................................................................. 451
图 6-64 PWM 死区示意图 ..................................................................................................... 452
图 6-65 边沿对齐模式下向上计数时计数器启动与停止波形 ............................................ 453
图 6-66 边沿对齐模式下向下计数时计数器启动与停止波形 ............................................ 454
图 6-67 中心对齐模式下计数器启动与停止波形 ................................................................ 454
图 6-68 非对称中心对齐模式下计数器启动与停止波形..................................................... 455
图 6-69 边沿对齐模式下计数器计数过程波形 .................................................................... 455
图 6-70 中心对称模式下计数器计数过程波形 .................................................................... 456
图 6-71 硬件刹车控制和软件刹车控制计数器计数情况..................................................... 456
图 72 PWM 外部信号配置 .................................................................................................... 457
图 6-73 计数器重载波形 ...................................................................................................... 458
图 6-74 边沿对齐模式下 PWM 信号产生波形..................................................................... 458
图 6-75 中心对齐模式下 PWM 信号产生波形..................................................................... 459
图 6-76 非对称中心对齐模式下 PWM 信号产生波形 ......................................................... 459
图 6-77 BRK 中心对齐模式下 PWM 信号产生波形............................................................... 460
图 6-78 TRIGGER 控制波形 .................................................................................................... 461
图 6-79 重复计数功能波形图 .............................................................................................. 461
图 6-80 PWM 触发 ADC 采样示意图 ..................................................................................... 462
图 6-81 电平翻转示意图 ...................................................................................................... 462
图 6-82 挖坑前波形 ............................................................................................................. 463
图 6-83 挖坑后波形 ............................................................................................................. 464
图 6-84 ADC 模块结构框图 ................................................................................................... 510
图 6-85 ADC 采样流程图 ....................................................................................................... 511
图 6-86 ADC 触发源选择示意图............................................................................................ 512
图 6-87 A 和 An 中心对称互补模式下 PWM 触发 ADC 采样示意图 ..................................... 513
图 6-88 ADC 采样建立时间 ................................................................................................... 514
图 6-89 ADC 单次采样示意图 ............................................................................................... 515
图 6-90 ADC 连续采样示意图 ............................................................................................... 516
图 6-91 DMA 模块结构图 ...................................................................................................... 545
图 6-92 DMA 搬运 40 个字流程图......................................................................................... 547
图 6-93 握手、非握手信号传输图....................................................................................... 548
5
Version 1.25
SWM341 系列
图 6-94 DMA 启动方式.......................................................................................................... 550
图 6-95 CRC 结构框图 ........................................................................................................... 590
图 6-96 波特率设置示意图 .................................................................................................. 613
图 6-97 LCDC 模块结构示意图 .............................................................................................. 688
图 6-98 LCDC 模块 MPU 接口时序图 .................................................................................. 689
图 6-99 LCDC 模块 SYNC 接口时序图 .................................................................................... 690
图 6-100 16bit RGB 接口模式时序图 ..................................................................................... 691
图 6-101 串行同步模式时序图 ............................................................................................ 692
图 6-102 JPEG 模块结构示意图............................................................................................. 715
图 6-103 DMA2D 模块结构框图 ............................................................................................ 750
图 6-104 LCD 模块示意图 ...................................................................................................... 751
图 6-105 SDRAMC 模块结构框图 .......................................................................................... 770
图 6-106 SDRAM 与设备连接示意图..................................................................................... 771
图 6-107 SDRAMC 写访问周期示意图................................................................................... 772
图 6-108 SDRAMC 读访问周期示意图................................................................................... 772
图 6-109 SDIO 模块结构框图 ................................................................................................ 781
图 6-110 SDIO 使用 DMA 传输示意图 ................................................................................... 783
图 6-111 SDIO 不使用 DMA 传输示意图 ............................................................................... 785
图 6-112 SDIO 同步中止传输示意图 ..................................................................................... 787
图 6-113 SDIO 写周期时序图 ................................................................................................ 787
图 6-114 SDIO 读周期时序图 ................................................................................................ 788
图 6-115 SDIO 暂停/继续时序图 ........................................................................................... 788
图 6-116 DAC 模块结构框图 ................................................................................................. 811
图 6-117 USB 框图 ................................................................................................................. 820
图 6-118 NRZI 编码的逻辑电平 ............................................................................................. 821
图 6-119 带位填充的 NRZI 编码的逻辑电平 ........................................................................ 822
图 6-120 模块结构框图 ........................................................................................................ 871
图 6-121 标准读模式时序图 ................................................................................................ 872
图 6-122 2xIO 读模式时序图 ................................................................................................. 873
图 6-123 四线 IO 读模式时序图 ........................................................................................... 873
图 6-124 标准写(page)模式时序图 ...................................................................................... 874
图 6-125 四线 IO 写(page)模式时序图 ................................................................................. 874
图 6-126 Sector 擦时序图..................................................................................................... 875
图 6-127 Block(32K)擦操作时序图 ........................................................................................ 875
图 6-128 Block(64K)擦操作时序图 ........................................................................................ 875
图 6-129 Chip 擦操作时序图 ................................................................................................. 875
图 6-130 Serial Flash Controller 四线模式外部连接图 ........................................................... 876
图 6-131 UserBoot 存储结构示意图..................................................................................... 893
图 6-132 比较器框图............................................................................................................. 901
图 6-133 比较器迟滞功能示意图......................................................................................... 903
图 6-134 BRK 对应关系图...................................................................................................... 903
图 6-135 放大器框图............................................................................................................. 911
图 6-136 典型放大电路......................................................................................................... 912
6
Version 1.25
SWM341 系列
图 7-1 典型应用电路图 ........................................................................................................ 915
图 11-1 LQFP100 封装尺寸图 ................................................................................................ 925
图 11-2 LQFP64 封装尺寸图 .................................................................................................. 926
图 11-3 LQFP48 封装尺寸图 .................................................................................................. 927
表格目录
表格 3-1 SWM341 系列 MCU 选型表 ...................................................................................... 14
表格 5-1 PA 复用功能.............................................................................................................. 35
表格 5-2 PB 复用功能 ............................................................................................................. 35
表格 5-3 PC 复用功能.............................................................................................................. 36
表格 5-4 PD 复用功能 ............................................................................................................. 37
表格 5-5 PE 复用功能.............................................................................................................. 37
表格 5-6 PM 复用功能 ............................................................................................................ 38
表格 5-7 PN 复用功能 ............................................................................................................. 38
表格 6-1 存储器映射............................................................................................................... 40
表格 6-2 中断编号及对应外设 ............................................................................................... 43
表格 6-3 DMA 各通道操作明细 ............................................................................................ 546
表格 6-4 LCDC 模块数据接口 ................................................................................................ 689
表格 6-5 SDRAMC 模块数据接口 .......................................................................................... 771
表格 6-6 SDIO 模块数据接口 ................................................................................................ 782
表格 6-7 SDIO 命令格式 ........................................................................................................ 782
表格 8-1 绝对最大额定值 ..................................................................................................... 916
表格 8-2 341 系列 DC 电气特性( Vdd-Vss = 3.3V, Tw =25℃) .................................................. 917
表格 8-3 34S 系列 DC 电气特性( Vdd-Vss = 3.3V, Tw =25℃) .................................................. 917
表格 8-4 内部振荡器特征值 ................................................................................................. 919
表格 8-5 外部 2-32MHz 晶体振荡器特征值.......................................................................... 919
表格 8-6 外部振荡器典型电路 ............................................................................................. 919
表格 8-7 SAR ADC 特征值 ...................................................................................................... 920
表格 8-8 LDO 特征值 ............................................................................................................. 921
7
Version 1.25
SWM341 系列
相关文档
缩写表
名称
描述
ACMP
Analog Comparator Controller
ADC
Analog-to-Digital Converter
AES
Advanced Encryption Standard
APB
Advanced Peripheral Bus
AHB
Advanced High-Performance Bus
BOD
Brown-out Detection
CAN
Controller Area Network
PWM
Pulse Width Modulation
FIFO
First In, First Out
GPIO
General-Purpose Input/Output
IAP
In Application Programming
ICP
In Circuit Programming
ISP
In System Programming
LDO
Low Dropout Regulator
MPU
Memory Protection Unit
NVIC
Nested Vectored Interrupt Controller
DMA
Direct Memory Access
PLL
Phase-Locked Loop
EBI
External Bus Interface
寄存器位缩写表
名称
描述
IE/INTEN
Interrupt Enable Register
IF/INTSTAT
Interrupt Flag Register /Interrupt State Register
IM/INTMSK
Interrupt Mask Register
CR/CTRL
Control Register
INTCLR
Interrupt Clear Register
寄存器描述列表缩写约定
名称
描述
RO
只读(read only)
WO
只写(write only)
8
Version 1.25
SWM341 系列
R/W
读/写(read / write)
R/W0C
写 0 清零(read/write 0 clear)
R/W1C
写 1 清零(read/write 1 clear)
AC
自动清零(auto clear)
RC
读清零(read clear)
RAZ
读为零(Read As Zero)
WI
忽略写入(Write Ignored)
-
保留(reserve)
命名规则说明
S W M 3 4 1 V E T 6(7)–5 0
公司名简写
表示引脚间距大小
CORTEX-M系列
工作温度:
6:-40~85
7:-40~105
芯片系列:
0:数字定制芯片
1:3.3V M0
2:5V M0
3:3.3V M4/M33
封装类型:
P:TSSOP; S:SSOP; T:LQFP;
V:TQFP; U:QFN; H:BGA
系列型号:
0~9区分
比如USB,LCD等不同外设
FLASH大小:
2:8KB; 4:16KB;6:32KB;
7:48KB; 8:64KB;9:96KB
B:120KB;C:248/256KB
E:512KB;G:1024KB
保留位:默认0
1:性能升级
S:屏幕领域特定型号
P:3P3N Prediver
N:6NPrediver
引脚数量:
Q:16pin;F:20pin;E:24pin;G:28pin;
K:32pin;T:36pin;D:40pin;P:44pin;
C:48pin;J:52pin; R:64pin;V:100pin;
W:128pin;Z:144pin; I:176pin
文档下载地址
https://www.synwit.cn/
9
Version 1.25
SWM341 系列
1
概述
○
SWM341 是一款基于 ARMR Cortex®-M33 的 32 位微控制器。具有高性能、低功耗、代码密度
大等突出特点,适用于工业控制、白色家电、电机驱动等诸多应用领域。
SWM341 内嵌 ARM○R Cortex®-M33 控制器,片上包含精度为 1%以内的 20MHz/40MHz 时钟,
可通过 PLL 倍频到 150MHz 时钟,提供多种内置 FLASH/SRAM 大小可供选择,支持 ISP(在系
统编程)操作及 IAP(在应用编程)。
外设串行总线包括 CAN 接口,多个 UART 接口、SPI 通信接口(支持主/从/I2S 模式选择)及 I2C
接口(支持主/从选择)。此外还包括 1 个 32 位看门狗定时器,5 组 32 位加强型定时器,12 组
24 位基础型定时器,10 路独立通道 16 位的 PWM 发生器,2 个共计 16 通道 12 位、2.5MSPS
的逐次逼近型 ADC 模块,1 个 TFT-LCD 液晶驱动模块、1 个 SDIO 接口、
一个图像硬解码器 JPEG、
一个数模转换 DAC 模块、1 个 RTC 实时时钟以及 1 个外接 SDRAM 接口控制模块,同时提供欠
压检测及低电压复位功能。
10
Version 1.25
SWM341 系列
特性
2
⚫
⚫
内核
◼
32 位 ARM® Cortex™-M33 内核
◼
24 位系统定时器
◼
工作频率最高 150MHz
◼
硬件单周期乘法
◼
集成嵌套向量中断控制器(NVIC)
,提供最多 240 个、8 级可配置优先级的中断
◼
通过 SWD 接口烧录
内置 LDO
◼
⚫
片上 SRAM 存储器
◼
⚫
⚫
⚫
供电电压范围为 2.0V 至 3.6V
64KB
片上 FLASH 存储器
◼
512KB
◼
支持用户定制 ISP(在系统编程)更新用户程序
◼
自带 CACHE
SDRAMC 模块
串行接口
◼
最多 4 路 UART 模块,具有独立 8 字节 FIFO,最高支持主时钟 16 分频
◼
最多 3 路 SPI 模块,具有 8 字节独立 FIFO,支持 SPI、SSI、I2S 协议,支持 Master/slave
模式,支持 4 线 SPI FLASH 读写模式
⚫
⚫
◼
最多 2 路 I2C 模块,支持 7 位、10 位地址方式,支持 Master/slave 模式
◼
2 路 CAN 模块,支持协议 2.0A(11Bit 标识符)和 2.0B(29Bit 标识符)
PWM 控制模块
◼
独立 10 通道 16 位 PWM 产生器,每个通道均可配置为具备死区的互补模式
◼
可设置高电平结束或周期开始两种条件触发中断
◼
具有边沿、中心对称等多种输出模式
◼
支持死区控制
◼
灵活的 ADC 采样触发
定时器模块
◼
◼
◼
⚫
具备独立中断
◆
支持计数器、捕获、脉冲输出功能
12 路 24 位基础型定时器
◆
具备独立中断
◆
每个具备独立 8 位分频
32 位看门狗定时器,溢出后可配置触发中断或复位芯片
16bit 向上向下计数
WDT 模块
◼
⚫
◆
QEI 模块
◼
⚫
5 路 32 位加强型定时器
16bit 计数位宽
RTC 模块
11
Version 1.25
SWM341 系列
⚫
⚫
⚫
⚫
⚫
⚫
⚫
◼
可自由设置日期(年、月、周、日)和时间(时、分、秒)
◼
可自由设置闹钟(周、时、分、秒)
◼
自动识别当前设置年份是否为闰年
CORDIC
CRC
DIV
TFT-LCD 驱动模块
◼
支持 SYNC 接口和 MPU 接口的外部 LCD 扩展
◼
支持最高分辨率 1024*1024,实际分辨率可以配置
JPEG
◼
8 位色深(采样精度)
◼
最多支持 2 个 DC/AC Huffman 表
◼
最多支持 3 个量化表
◼
支持 1024 x 1024 像素
DMA2D
◼
接口支持 HALFWORD 和 WORD 操作
◼
支持 RGB888, RGB565 以及 ARGB888 三种颜色格式
SDRAMC
◼
⚫
SDIO
◼
⚫
⚫
◼
支持全速(12 Mbps)传输
◼
支持低速(1.5 Mbps)传输
SFC
支持 4 线快速读操作
GPIO
◼
最多可达 112 个 GPIO
◼
可配置 IO 模式
◼
⚫
支持存储器到存储器、存储器到外设、外设到外设之间的数据搬运
USB
◼
⚫
支持 1 位、4 位、8 位的 SD 模式
DMA 模块
◼
⚫
支持 WORD,HALF WORD,BYTE 操作
◆
上拉
◆
下拉
◆
推挽
◆
开漏
灵活的中断配置
◆
触发类型设置(边沿检测、电平检测)
◆
触发电平设置(高电平、低电平)
◆
触发边沿设置(上升沿、下降沿、双边沿)
模拟外设
◼
最多 2 个独立 12 位高精度 SAR ADC,各 12 路,共计 24 路
◆
采样率高达 2.5M SPS
◆
支持多种模式
12
Version 1.25
SWM341 系列
⚫
⚫
⚫
⚫
⚫
⚫
具备独立的采样序列及结果寄存器
◆
提供独立 FIFO
◆
可由软件、PWM、TIMER 触发
◆
支持 DMA
◼
4 路运算放大器
◼
3 路比较器
◼
DAC
◆
电压范围 0~3.3V
◆
12bit 数字输入
◆
支持 DMA 请求
欠压检测(BOD)
◼
支持欠压检测
◼
支持欠压中断和复位选择
时钟源
◼
20MHz/40MHz 精度可达 1%的片内时钟源
◼
32KHz 片内时钟源
◼
32768 片外低频晶振
◼
2~32MHz 片外高频晶振
◼
PLL
温度传感器
环境
◼
工作温度:-40℃~105℃
◼
保存温度:-50℃~150℃
◼
湿度等级:MSL3
封装
◼
LQFP100
◼
LQFP64
◼
LQFP48
其他
◼
⚫
◆
可定制 ISP 程序
应用范围
◼
压缩机驱动
◼
工业控制
◼
电机驱动
◼
白色家电
◼
屏幕领域
13
Version 1.25
SWM341 系列
选型指南
3
表格 3-1 SWM341 系列 MCU 选型表
Stacked
Part Number
Voltage/V
Flash
SRAM
IO
TIMER
PWM
DMA
UART
I2C
SPI
I2S
CAN
ADC
DAC
LCDC
SDIO
RTC
DIV
CRC
CORDIC
OPA
CMP
SFC
USB
Package
Sdram
SWM341VET7-50
2.0~3.6
512
64
74
5+10+1
5(20)
4
4
2
2
2
2
2(19)
1
1
1
1
1
1
1
4
3
1
1
0
LQFP100
SWM341RET7-50
2.0~3.6
512
64
51
5+10+1
5(18)
4
4
2
2
2
2
2(16)
1
1
1
1
1
1
1
3
1
1
1
0
LQFP64
1
SWM341CET7-50
2.0~3.6
512
64
37
5+8+1
5(12)
4
4
2
1
1
2
2(11)
1
1
0
1
1
1
1
1
3
1
1
0
LQFP48
SWM34SVET6-50
2.0~3.6
512
64
74
5+12+1
5(20)
4
4
2
2
2
2
2(15)
1
1
1
1
1
1
1
4
3
1
1
1
LQFP100
SWM34SRET6-50
2.0~3.6
512
64
51
5+11+1
5(18)
4
4
2
2
2
2
2(14)
1
1
1
1
1
1
1
3
1
1
1
1
LQFP64
1
1
1
1
1
LQFP48
SWM34SCET7-50
2.0~3.6
512
64
37
5+8+1
5(12)
4
4
2
1
1
2
2(11)
1
1
0
1
1
1
1
3
注 1:CMP1/2 反向端连接内部 VREF
注 2:SWM34SV/RET6 内部叠封的 SDRAM 为 8Mbytes
注 3:SWM34SCET7 内部叠封的 SDRAM 为 2Mbytes
注 4:SWM34SV/R 系列与 SWM341V/R 系列管脚排布一致
14
Version 1.25
SWM341 系列
功能方块图
USB
SYS
GPIOM
LCD
GPION
SDIO
DIV
AHB
SWCLK
CORDIC
JPEG
SWD
SWDIO
CRC
CORTEX-M33
Ibus
Dbus
Sbus
ROM
RAM
Flash
DMA
DMA2D
AHB:Fmax=168MHz
GPIOA
PORT
GPIOB
GPIOC
GPIOD
GPIOE
RXD
UART1
SCL
UART2
I2C0
UART3
I2C1
SDA
SPI/I2S0
SPI/I2S1
PWM x5
TIMER x4
APB2:PCLK2=HCLK/2
TXD
UART0
APB1:PCLK1 = HCLK
4
TXD
CAN0
RXD
CAN1
BTIMER x12
ADC0
WDT
ADC1
DAC
RTC
CMP x4
DAC
DAC
OPA x3
SFC
15
Version 1.25
SWM341 系列
图 4-1 SWM341 功能方框图
16
Version 1.25
CAP
VSS33
N1/SPI1SSEL/PWM2BN/BT6O/T0I/T0O/SD_D3
VSSIO
VDDIO
N4/I2C0SDA/SPI1MISO/UART1RTS/PWM2AN/BT5O/T3I/T3O/CAN0TX/SD_D4/ADC1_TRIG0
B0/UART1TX/PWM3BN/DMA_TRIG1/T1I/T1O/SD_D6
N5/I2C0SCL/SPI1MOSI/UART1RX/PWM3A/DMA_TRIG0/BT4O/T2I/T2O/CAN0RX/LCD_R3/SD_D5/ADC0_TRIG0
B1/PWM3B/T0I/T0O/LCD_B0/SD_D7
B2/SPI1SCLK/UART3RTS/PWM2B/BT3O/CAN1TX/LCDC_CSN/FILTER0
B3/SPI1MISO/UART3TX/PWM2A/HALL0/BT2O/CAN1RX/LCDC_WNR/FILTER0
B4/SPI1MOSI/UART3RX/HALL1/BT1O/CAN0TX/LCDC_RS/FILTER0/ACMPVN2
B5/SPI1SSEL/UART3CTS/HALL2/BT0O/CAN0RX/LCDC_RD/FILTER0/ACMPVN1
B11/JTAGTDO/UART2TX/PWM_BRK2/T0I/T0O/LCD_B1
B12/JTAGSWCLK/UART0RX/PWM4BN/T3I/T3O/ACMPVN0
B13/JTAGTDI/I2C1SDA/UART2RX/PWM4B/T2I/T2O/LCD_B2
B14/JTAGTMSSWIO/SPI0SSEL/UART0TX/PWM4AN/T1I/T1O
B15/JTAGTRSTN/I2C1SCL/UART2CTS/PWM4A/T0I/T0O/LCD_B3
A0/I2C0SDA/UART1TX/HALL0/LCD_B7/ACMPVP2
A1/I2C0SCL/UART2RTS/HALL1/LCD_B3/ACMPVP1
A2/UART1RX/PWM_BRK0/HALL2/LCD_B4/ACMPVP0
RESTn
C5/I2C1SCL/SPI1MISO/BT9O/LCD_R1/ADC0_CH1/OPAVN0
1
75
VSSIO
C4/I2C1SDA/SPI1SSEL/B10O/T4I/T4O/LCD_R0/ADC0_CH2
2
74
VDDIO
C3/UART3TX/PWM3AN/B11O/T3I/T3O/LCD_G7/ADC0_CH3/OPAOUT2
3
73
D11/PWM_CLK0
C2/I2C0SCL/UART3RX/PWM3A/T2I/T2O/LCD_G6/FILTER1/ADC0_CH4/OPAVP2
4
72
M0/UART0RX/PWM_BRK1/CAN1TX
C1/I2C0SDA/UART2RX/HALL5/T0I/T0O/LCD_G5/FILTER1/ADC0_CH5/OPAVN2
5
71
M1/UART0TX/PWM0A/T2I/T2O/CAN1RX
C0/UART2TX/HALL4/T1I/T1O/LCD_G4/FILTER1/ADC0_CH6
6
70
M2/SPI0SCLK/UART1RX/PWM0B/BT3O/T1I/T1O/SD_CLK
A15/HALL3/LCD_G3/FILTER1/ADC0_CH7/OPAOUT3
7
69
M3/SPI0SSEL/UART1TX/PWM1A/BT2O/T0I/T0O/SD_DETECT
A14/HALL5/LCD_G2/ADC0_CH8/OPAVP3
8
68
M4/SPI0MISO/UART3TX/PWM0AN/BT1O/T2I/T2O/LCDC_CSN/SD_CMD
A13/UART0TX/HALL4/BT0O/LCD_G1/ADC0_CH9/OPAVN3
9
67
VDDIO
VSSIO
10
66
M7/UART2TX
VDDIO
11
65
D12
A12/UART0RX/HALL3/BT1O/LCD_G0/ADC0_TRIG1/ADC0_CH10
12
64
D13
A11/UART0RTS/PWM_CLK0/BT2O/LCD_B7/ADC1_TRIG1/OPAVP1
13
63
M15/T2I/T2O
A10/UART0CTS/PWM_CLK1/BT3O/CAN0TX/LCD_B6/ADC0_CH11/OPAOUT1
14
62
D14
A9/CAN0RX/LCD_B5/OPAVN1
15
61
EFLASHVDD
AGND
16
60
EFLASHVSS
DP
17
59
D15/WAKEUP1
DM
18
58
VDDIO
VCCA
19
57
M8/PWM2BN/CAN0TX/LCDC_WNR
NC
20
56
M9/PWM2AN/CAN0RX
VDDA12
21
55
M10/PWM3A
A8/ISP
22
54
M11/PWM2B/LCDC_RS
A7/I2C1SCL/T3I/T3O/XLI
23
53
M5/I2C1SDA/SPI0MOSI/UART3RX/PWM0BN/BT0O/T1I/T1O/SD_D0
A6/I2C1SDA/PWM_BRK0/PWM_CLK0/XLO
24
52
M6/I2C1SCL/UART2RX/PWM1AN/T0I/T0O/SD_D1
25
51
N0/SPI1SCLK/PWM3AN/BT7O/T1I/T1O/LCDC_RD/SD_D2
A5/PWM_BRK1/PWM_CLK1
D5/FSCK/UART3TX/PWM_CLK1/B10O/CAN0TX
D6/FCSN/UART3RX/PWM_CLK0/BT9O/CAN0RX/WAKEUP0
D7/UPDN/I2C1SDA/FSO/BT8O
D8/I2C1SCL/FSI/PWM1BN/T4I/T4O
D9/PWM1B/T3I/T3O
80
79
78
77
76
D4/QEA/FHOLD/UART1RX/HALL5/B11O/CAN1RX/ADC0_TRIG1
D0/I2C0SCL/T3I/T3O/LCD_R4/ADC1_CH1
86
D3/QEB/FWP/UART1TX/HALL4/CAN1TX/ADC1_TRIG1
C13/I2C0SDA/UART0TX/BT3O/T4I/T4O/LCD_R7/ADC1_CH2
87
81
C12/UART0RX/BT4O/LCD_R6/ADC1_CH3
88
82
C11/BT5O/T0I/T0O/LCD_R5/ADC1_CH4
89
D1/LCD_R5/ADC1_CH0
C10/BT6O/T1I/T1O/LCD_R4/ADC1_CH5
90
VDDIO
C7/SPI1SCLK
91
83
C6/SPI1MOSI/BT8O/ADC0_CH0
92
D2/INDEX/HALL3/DAC_OUT
D10/PWM_CLK1
93
84
DACVSS
85
ADC1_REFP
DACVDD
96
94
C8/LCD_R2/OPAVP0
95
97
98
SWM341VET7
99
5.1
VDD33
100
管脚配置
A3/I2C0SDA/LCD_B6/XI
5
A4/I2C0SCL/LCD_B5/XO
SWM341 系列
SWM341VET7
LQFP100
图 5-1 SWM341VET7 封装管脚配置图
17
Version 1.25
SWM341 系列
AVDD33
C10/BT6O/T1I/T1O/LCD_R4/ADC1_CH5
C11/BT5O/T0I/T0O/LCD_R5/ADC1_CH4
C12/UART0RX/BT4O/LCD_R6/ADC1_CH3
C13/I2C0SDA/UART0TX/BT3O/T4I/T4O/LCD_R7/ADC1_CH2
D0/I2C0SCL/T3I/T3O/LCD_R4/ADC1_CH1
D1/LCD_R5/ADC1_CH0
D2/INDEX/HALL3/DAC_OUT
D3/QEB/FWP/UART1TX/HALL4/CAN1TX/ADC1_TRIG1
D4/QEA/FHOLD/UART1RX/HALL5/B11O/CAN1RX/ADC0_TRIG1
D5/FSCK/UART3TX/PWM_CLK1/B10O/CAN0TX
D6/FCSN/UART3RX/PWM_CLK0/BT9O/CAN0RX/WAKEUP0
D7/UPDN/I2C1SDA/FSO/BT8O
61
60
59
58
57
56
55
54
53
52
51
50
49
62
63
64
C8/LCD_R2/OPAVP0
SWM341RET7
C5/I2C1SCL/SPI1MISO/BT9O/LCD_R1/ADC0_CH1/OPAVN0
1
48
D8/I2C1SCL/FSI/PWM1BN/T4I/T4O
C4/I2C1SDA/SPI1SSEL/B10O/T4I/T4O/LCD_R0/ADC0_CH2
2
47
D9/PWM1B/T3I/T3O
C3/UART3TX/PWM3AN/B11O/T3I/T3O/LCD_G7/ADC0_CH3/OPAOUT2
3
46
VSSIO
C2/I2C0SCL/UART3RX/PWM3A/T2I/T2O/LCD_G6/FILTER1/ADC0_CH4/OPAVP2
4
45
M0/UART0RX/PWM_BRK1/CAN1TX
C1/I2C0SDA/UART2RX/HALL5/T0I/T0O/LCD_G5/FILTER1/ADC0_CH5/OPAVN2
5
44
M1/UART0TX/PWM0A/T2I/T2O/CAN1RX
C0/UART2TX/HALL4/T1I/T1O/LCD_G4/FILTER1/ADC0_CH6
6
43
M2/SPI0SCLK/UART1RX/PWM0B/BT3O/T1I/T1O/SD_CLK
A15/HALL3/LCD_G3/FILTER1/ADC0_CH7/OPAOUT3
7
42
M3/SPI0SSEL/UART1TX/PWM1A/BT2O/T0I/T0O/SD_DETECT
A14/HALL5/LCD_G2/ADC0_CH8/OPAVP3
8
41
M4/SPI0MISO/UART3TX/PWM0AN/BT1O/T2I/T2O/LCDC_CSN/SD_CMD
VDDIO
9
40
VDDIO
A11/UART0RTS/PWM_CLK0/BT2O/LCD_B7/ADC1_TRIG1/OPAVP1
10
39
M5/I2C1SDA/SPI0MOSI/UART3RX/PWM0BN/BT0O/T1I/T1O/SD_D0
A10/UART0CTS/PWM_CLK1/BT3O/CAN0TX/LCD_B6/ADC0_CH11/OPAOUT1
11
38
M6/I2C1SCL/UART2RX/PWM1AN/T0I/T0O/SD_D1
A9/CAN0RX/LCD_B5/OPAVN1
12
37
N0/SPI1SCLK/PWM3AN/BT7O/T1I/T1O/LCDC_RD/SD_D2
DP
13
36
N1/SPI1SSEL/PWM2BN/BT6O/T0I/T0O/SD_D3
DM
14
35
N4/I2C0SDA/SPI1MISO/UART1RTS/PWM2AN/BT5O/T3I/T3O/CAN0TX/SD_D4/ADC1_TRIG0
VCCA
15
34
N5/I2C0SCL/SPI1MOSI/UART1RX/PWM3A/DMA_TRIG0/BT4O/T2I/T2O/CAN0RX/LCD_R3/SD_D5/ADC0_TRIG0
VDDA12
16
33
B2/SPI1SCLK/UART3RTS/PWM2B/BT3O/CAN1TX/LCDC_CSN/FILTER0
SWM341RET7
32
B3/SPI1MISO/UART3TX/PWM2A/HALL0/BT2O/CAN1RX/LCDC_WNR/FILTER0
28
B12/JTAGSWCLK/UART0RX/PWM4BN/T3I/T3O/ACMPVN0
31
27
B13/JTAGTDI/I2C1SDA/UART2RX/PWM4B/T2I/T2O/LCD_B2
B4/SPI1MOSI/UART3RX/HALL1/BT1O/CAN0TX/LCDC_RS/FILTER0/ACMPVN2
26
B14/JTAGTMSSWIO/SPI0SSEL/UART0TX/PWM4AN/T1I/T1O
30
25
B15/JTAGTRSTN/I2C1SCL/UART2CTS/PWM4A/T0I/T0O/LCD_B3
B5/SPI1SSEL/UART3CTS/HALL2/BT0O/CAN0RX/LCDC_RD/FILTER0/ACMPVN1
24
A2/UART1RX/PWM_BRK0/HALL2/LCD_B4/ACMPVP0
29
23
RESETn
B11/JTAGTDO/UART2TX/PWM_BRK2/T0I/T0O/LCD_B1
22
20
VDD33
21
19
CAP
18
VSS33
17
A8/ISP
A3/I2C0SDA/XI
LQFP64
A4/I2C0SCL/LCD_B5/XO
5.2
图 5-2 SWM341VET7 封装管脚配置图
18
Version 1.25
N0/SPI1SCLK/PWM3AN/BT7O/T1I/T1O/LCDC_RD
N5/I2C0SCL/SPI1MOSI/UART1RX/PWM3A/DMA_TRIG0/BT4O/T2I/T2O/CAN0RX/LCD_R3/ADC0_TRIG0
B12/JTAGSWCLK/UART0RX/PWM4BN/T3I/T3O/ACMPVN0
B14/JTAGTMSSWIO/SPI0SSEL/UART0TX/PWM4AN/T1I/T1O
A0/I2C0SDA/UART1TX/HALL0/LCD_B7/ACMPVP2
A1/I2C0SCL/UART2RTS/HALL1/LCD_B3/ACMPVP1
A2/UART1RX/PWM_BRK0/HALL2/LCD_B4/ACMPVP0
RESTn
VSSIO
CAP
VDDIO
C2/I2C0SCL/UART3RX/PWM3A/T2I/T2O/LCD_G6/FILTER1/ADC0_CH4/OPAVP2
C3/UART3TX/PWM3AN/B11O/T3I/T3O/LCD_G7/ADC0_CH3/OPAOUT2
AVSS
AVDD33
C12/UART0RX/BT4O/LCD_R6/ADC1_CH3
C13/I2C0SDA/UART0TX/BT3O/T4I/T4O/LCD_R7/ADC1_CH2
D0/I2C0SCL/T3I/T3O/LCD_R4/ADC1_CH1
D1/LCD_R5/ADC1_CH0
D2/INDEX/HALL3/DAC_OUT
D3/QEB/FWP/UART1TX/HALL4/CAN1TX/ADC1_TRIG1
D4/QEA/FHOLD/UART1RX/HALL5/B11O/CAN1RX/ADC0_TRIG1
D5/FSCK/UART3TX/PWM_CLK1/B10O/CAN0TX
48
47
46
45
44
43
42
41
40
39
38
37
5.3
A4/I2C0SCL/LCD_B5/XO
SWM341 系列
SWM341CET7
C1/I2C0SDA/UART2RX/HALL5/T0I/T0O/LCD_G5/FILTER1/ADC0_CH5/OPAVN2
1
36
D6/FCSN/UART3RX/PWM_CLK0/BT9O/CAN0RX/WAKEUP0
C0/UART2TX/HALL4/T1I/T1O/LCD_G4/FILTER1/ADC0_CH6
2
35
D7/UPDN/I2C1SDA/FSO/BT8O
A15/HALL3/LCD_G3/FILTER1/ADC0_CH7
3
34
D8/I2C1SCL/FSI/PWM1BN/T4I/T4O
A14/HALL5/LCD_G2/ADC0_CH8
4
33
M0/UART0RX/PWM_BRK1/CAN1TX
A10/UART0CTS/PWM_CLK1/BT3O/CAN0TX/LCD_B6/ADC0_CH11
5
32
M1/UART0TX/PWM0A/T2I/T2O/CAN1RX
A9/CAN0RX/LCD_B5
6
31
M2/SPI0SCLK/UART1RX/PWM0B/BT3O/T1I/T1O
DP
7
30
M3/SPI0SSEL/UART1TX/PWM1A/BT2O/T0I/T0O
DM
8
29
M4/SPI0MISO/UART3TX/PWM0AN/BT1O/T2I/T2O/LCDC_CSN
VCCA
9
28
VDDIO
VDDA12
10
27
M8/PWM2BN/CAN0TX/LCDC_WNR
A8/ISP
11
26
M11/PWM2B/LCDC_RS
A3/I2C0SDA/LCD_B6/XI
12
25
M5/I2C1SDA/SPI0MOSI/UART3RX/PWM0BN/BT0O/T1I/T1O
SWM341CET7
LQFP48
图 5-3 SWM341CET7 管脚排布
19
Version 1.25
N1/SPI1SSEL/PWM2BN/BT6O/T0I/T0O/SD_D3
VSSIO
VDDIO
N4/I2C0SDA/SPI1MISO/UART1RTS/PWM2AN/BT5O/T3I/T3O/CAN0TX/SD_D4/ADC1_TRIG0
B0/UART1TX/PWM3BN/DMA_TRIG1/T1I/T1O/SD_D6
N5/I2C0SCL/SPI1MOSI/UART1RX/PWM3A/DMA_TRIG0/BT4O/T2I/T2O/CAN0RX/LCD_R3/SD_D5/ADC0_TRIG0
B1/PWM3B/T0I/T0O/LCD_B0/SD_D7
B2/SPI1SCLK/UART3RTS/PWM2B/BT3O/CAN1TX/LCDC_CSN/FILTER0
B3/SPI1MISO/UART3TX/PWM2A/HALL0/BT2O/CAN1RX/LCDC_WNR/FILTER0
B4/SPI1MOSI/UART3RX/HALL1/BT1O/CAN0TX/LCDC_RS/FILTER0/ACMPVN2
B5/SPI1SSEL/UART3CTS/HALL2/BT0O/CAN0RX/LCDC_RD/FILTER0/ACMPVN1
B11/JTAGTDO/UART2TX/PWM_BRK2/T0I/T0O/LCD_B1
B12/JTAGSWCLK/UART0RX/PWM4BN/T3I/T3O/ACMPVN0
B13/JTAGTDI/I2C1SDA/UART2RX/PWM4B/T2I/T2O/LCD_B2
B14/JTAGTMSSWIO/SPI0SSEL/UART0TX/PWM4AN/T1I/T1O
B15/JTAGTRSTN/I2C1SCL/UART2CTS/PWM4A/T0I/T0O/LCD_B3
A0/I2C0SDA/UART1TX/HALL0/LCD_B7/ACMPVP2
A1/I2C0SCL/UART2RTS/HALL1/LCD_B3/ACMPVP1
A2/UART1RX/PWM_BRK0/HALL2/LCD_B4/ACMPVP0
RESTn
VSS33
CAP
VDD33
C5/I2C1SCL/SPI1MISO/BT9O/LCD_R1/ADC0_CH1/OPAVN0
1
75
VSSIO
C4/I2C1SDA/SPI1SSEL/B10O/T4I/T4O/LCD_R0/ADC0_CH2
2
74
VDDIO
C3/UART3TX/PWM3AN/B11O/T3I/T3O/LCD_G7/ADC0_CH3/OPAOUT2
3
73
D11/PWM_CLK0
C2/I2C0SCL/UART3RX/PWM3A/T2I/T2O/LCD_G6/FILTER1/ADC0_CH4/OPAVP2
4
72
M0/UART0RX/PWM_BRK1/CAN1TX
C1/I2C0SDA/UART2RX/HALL5/T0I/T0O/LCD_G5/FILTER1/ADC0_CH5/OPAVN2
5
71
M1/UART0TX/PWM0A/T2I/T2O/CAN1RX
C0/UART2TX/HALL4/T1I/T1O/LCD_G4/FILTER1/ADC0_CH6
6
70
M2/SPI0SCLK/UART1RX/PWM0B/BT3O/T1I/T1O/SD_CLK
A15/HALL3/LCD_G3/FILTER1/ADC0_CH7/OPAOUT3
7
69
M3/SPI0SSEL/UART1TX/PWM1A/BT2O/T0I/T0O/SD_DETECT
A14/HALL5/LCD_G2/ADC0_CH8/OPAVP3
8
68
M4/SPI0MISO/UART3TX/PWM0AN/BT1O/T2I/T2O/LCDC_CSN/SD_CMD
A13/UART0TX/HALL4/BT0O/LCD_G1/ADC0_CH9/OPAVN3
9
67
VDDIO
66
M7/UART2TX
65
D12
64
D13
63
M15/T2I/T2O
VSSIO
10
VDDIO
11
A12/UART0RX/HALL3/BT1O/LCD_G0/ADC0_TRIG1/ADC0_CH10
12
A11/UART0RTS/PWM_CLK0/BT2O/LCD_B7/ADC1_TRIG1/OPAVP1
13
A10/UART0CTS/PWM_CLK1/BT3O/CAN0TX/LCD_B6/ADC0_CH11/OPAOUT1
14
62
D14
A9/CAN0RX/LCD_B5/OPAVN1
15
61
EFLASHVDD
AGND
16
60
EFLASHVSS
DP
17
59
D15/WAKEUP1
DM
18
58
VDDIO
VCCA
19
57
M8/PWM2BN/CAN0TX/LCDC_WNR
NC
20
56
M9/PWM2AN/CAN0RX
VDDA12
21
55
M10/PWM3A
A8/ISP
22
54
M11/PWM2B/LCDC_RS
A7/I2C1SCL/T3I/T3O/XLI
23
53
M5/I2C1SDA/SPI0MOSI/UART3RX/PWM0BN/BT0O/T1I/T1O/SD_D0
A6/I2C1SDA/PWM_BRK0/PWM_CLK0/XLO
24
52
M6/I2C1SCL/UART2RX/PWM1AN/T0I/T0O/SD_D1
25
51
N0/SPI1SCLK/PWM3AN/BT7O/T1I/T1O/LCDC_RD/SD_D2
A5/PWM_BRK1/PWM_CLK1/LDQM
A3/I2C0SDA/LCD_B6/XI
D5/FSCK/UART3TX/PWM_CLK1/B10O/CAN0TX
D6/FCSN/UART3RX/PWM_CLK0/BT9O/CAN0RX/WAKEUP0
D7/UPDN/I2C1SDA/FSO/BT8O
D8/I2C1SCL/FSI/PWM1BN/T4I/T4O
D9/PWM1B/T3I/T3O
80
79
78
77
76
D4/QEA/FHOLD/UART1RX/HALL5/B11O/CAN1RX/ADC0_TRIG1
D0/I2C0SCL/T3I/T3O/LCD_R4/ADC1_CH1
86
D3/QEB/FWP/UART1TX/HALL4/CAN1TX/ADC1_TRIG1
C13/I2C0SDA/UART0TX/BT3O/T4I/T4O/LCD_R7/ADC1_CH2
87
81
C12/UART0RX/BT4O/LCD_R6/ADC1_CH3
88
82
C11/BT5O/T0I/T0O/LCD_R5/ADC1_CH4
89
D1/LCD_R5/ADC1_CH0
C10/BT6O/T1I/T1O/LCD_R4/ADC1_CH5
90
VDDIO
C7/SPI1SCLK
91
83
C6/SPI1MOSI/BT8O/ADC0_CH0
92
D2/INDEX/HALL3/DAC_OUT
D10/PWM_CLK1
93
84
DACVSS
85
ADC1_REFP
DACVDD
96
94
C8/LCD_R2/OPAVP0
95
97
98
99
100
5.4
A4/I2C0SCL/LCD_B5/XO
SWM341 系列
SWM34SVET6
SWM34SVET6
LQFP100
图 5-4 SWM34SVET6 封装管脚配置图
20
Version 1.25
SWM341 系列
AVDD33
C10/BT6O/T1I/T1O/LCD_R4/ADC1_CH5
C11/BT5O/T0I/T0O/LCD_R5/ADC1_CH4
C12/UART0RX/BT4O/LCD_R6/ADC1_CH3
C13/I2C0SDA/UART0TX/BT3O/T4I/T4O/LCD_R7/ADC1_CH2
D0/I2C0SCL/T3I/T3O/LCD_R4/ADC1_CH1
D1/LCD_R5/ADC1_CH0
D2/INDEX/HALL3/DAC_OUT
D3/QEB/FWP/UART1TX/HALL4/CAN1TX/ADC1_TRIG1
D4/QEA/FHOLD/UART1RX/HALL5/B11O/CAN1RX/ADC0_TRIG1
D5/FSCK/UART3TX/PWM_CLK1/B10O/CAN0TX
D6/FCSN/UART3RX/PWM_CLK0/BT9O/CAN0RX/WAKEUP0
D7/UPDN/I2C1SDA/FSO/BT8O
61
60
59
58
57
56
55
54
53
52
51
50
49
62
63
64
C8/LCD_R2/OPAVP0
SWM34SRET6
C5/I2C1SCL/SPI1MISO/BT9O/LCD_R1/ADC0_CH1/OPAVN0
1
48
D8/I2C1SCL/FSI/PWM1BN/T4I/T4O
C4/I2C1SDA/SPI1SSEL/B10O/T4I/T4O/LCD_R0/ADC0_CH2
C3/UART3TX/PWM3AN/B11O/T3I/T3O/LCD_G7/ADC0_CH3/OPAOUT2
2
47
D9/PWM1B/T3I/T3O
3
46
VSSIO
C2/I2C0SCL/UART3RX/PWM3A/T2I/T2O/LCD_G6/FILTER1/ADC0_CH4/OPAVP2
4
45
M0/UART0RX/PWM_BRK1/CAN1TX
C1/I2C0SDA/UART2RX/HALL5/T0I/T0O/LCD_G5/FILTER1/ADC0_CH5/OPAVN2
5
44
M1/UART0TX/PWM0A/T2I/T2O/CAN1RX
C0/UART2TX/HALL4/T1I/T1O/LCD_G4/FILTER1/ADC0_CH6
6
43
M2/SPI0SCLK/UART1RX/PWM0B/BT3O/T1I/T1O/SD_CLK
A15/HALL3/LCD_G3/FILTER1/ADC0_CH7/OPAOUT3
7
42
M3/SPI0SSEL/UART1TX/PWM1A/BT2O/T0I/T0O/SD_DETECT
A14/HALL5/LCD_G2/ADC0_CH8/OPAVP3
8
41
M4/SPI0MISO/UART3TX/PWM0AN/BT1O/T2I/T2O/LCDC_CSN/SD_CMD
VDDIO
9
40
VDDIO
A11/UART0RTS/PWM_CLK0/BT2O/LCD_B7/ADC1_TRIG1/OPAVP1
10
39
M5/I2C1SDA/SPI0MOSI/UART3RX/PWM0BN/BT0O/T1I/T1O/SD_D0
A10/UART0CTS/PWM_CLK1/BT3O/CAN0TX/LCD_B6/ADC0_CH11/OPAOUT1
11
38
M6/I2C1SCL/UART2RX/PWM1AN/T0I/T0O/SD_D1
A9/CAN0RX/LCD_B5/OPAVN1
12
37
N0/SPI1SCLK/PWM3AN/BT7O/T1I/T1O/LCDC_RD/SD_D2
DP
13
36
N1/SPI1SSEL/PWM2BN/BT6O/T0I/T0O/SD_D3
DM
14
35
N4/I2C0SDA/SPI1MISO/UART1RTS/PWM2AN/BT5O/T3I/T3O/CAN0TX/SD_D4/ADC1_TRIG0
VCCA
15
34
N5/I2C0SCL/SPI1MOSI/UART1RX/PWM3A/DMA_TRIG0/BT4O/T2I/T2O/CAN0RX/LCD_R3/SD_D5/ADC0_TRIG0
VDDA12
16
33
B2/SPI1SCLK/UART3RTS/PWM2B/BT3O/CAN1TX/LCDC_CSN/FILTER0
SWM34SRET6
22
23
24
25
26
27
28
29
30
31
32
RESETn
A2/UART1RX/PWM_BRK0/HALL2/LCD_B4/ACMPVP0
B15/JTAGTRSTN/I2C1SCL/UART2CTS/PWM4A/T0I/T0O/LCD_B3
B14/JTAGTMSSWIO/SPI0SSEL/UART0TX/PWM4AN/T1I/T1O
B13/JTAGTDI/I2C1SDA/UART2RX/PWM4B/T2I/T2O/LCD_B2
B12/JTAGSWCLK/UART0RX/PWM4BN/T3I/T3O/ACMPVN0
B11/JTAGTDO/UART2TX/PWM_BRK2/T0I/T0O/LCD_B1
B5/SPI1SSEL/UART3CTS/HALL2/BT0O/CAN0RX/LCDC_RD/FILTER0/ACMPVN1
B4/SPI1MOSI/UART3RX/HALL1/BT1O/CAN0TX/LCDC_RS/FILTER0/ACMPVN2
B3/SPI1MISO/UART3TX/PWM2A/HALL0/BT2O/CAN1RX/LCDC_WNR/FILTER0
20
VDD33
21
19
CAP
18
VSS33
17
A8/ISP
A3/I2C0SDA/LCD_B6/XI
LQFP64
A4/I2C0SCL/LCD_B5/XO
5.5
图 5-5 SWM34SRET6 管脚排布
21
Version 1.25
N5/I2C0SCL/SPI1MOSI/UART1RX/PWM3A/DMA_TRIG0/BT4O/T2I/T2O/CAN0RX/LCD_R3/ADC0_TRIG0
B2/SPI1SCLK/UART3RTS/PWM2B/BT3O/CAN1TX/LCDC_CSN/FILTER0
B12/JTAGSWCLK/UART0RX/PWM4BN/T3I/T3O/ACMPVN0
B14/JTAGTMSSWIO/SPI0SSEL/UART0TX/PWM4AN/T1I/T1O
A0/I2C0SDA/UART1TX/HALL0/LCD_B7/ACMPVP2
A1/I2C0SCL/UART2RTS/HALL1/LCD_B3/ACMPVP1
A2/UART1RX/PWM_BRK0/HALL2/LCD_B4/ACMPVP0
RESTn
VSSIO
CAP
VDDIO
C2/I2C0SCL/UART3RX/PWM3A/T2I/T2O/LCD_G6/FILTER1/ADC0_CH4/OPAVP2
C3/UART3TX/PWM3AN/B11O/T3I/T3O/LCD_G7/ADC0_CH3/OPAOUT2
AVSS
AVDD33
C12/UART0RX/BT4O/LCD_R6/ADC1_CH3
C13/I2C0SDA/UART0TX/BT3O/T4I/T4O/LCD_R7/ADC1_CH2
D0/I2C0SCL/T3I/T3O/LCD_R4/ADC1_CH1
D1/LCD_R5/ADC1_CH0
D2/INDEX/HALL3/DAC_OUT
D3/QEB/FWP/UART1TX/HALL4/CAN1TX/ADC1_TRIG1
D4/QEA/FHOLD/UART1RX/HALL5/B11O/CAN1RX/ADC0_TRIG1
D5/FSCK/UART3TX/PWM_CLK1/B10O/CAN0TX
48
47
46
45
44
43
42
41
40
39
38
37
5.6
A4/I2C0SCL/LCD_B5/XO
SWM341 系列
SWM34SCET7
C1/I2C0SDA/UART2RX/HALL5/T0I/T0O/LCD_G5/FILTER1/ADC0_CH5/OPAVN2
1
36
D6/FCSN/UART3RX/PWM_CLK0/BT9O/CAN0RX/WAKEUP0
C0/UART2TX/HALL4/T1I/T1O/LCD_G4/FILTER1/ADC0_CH6
2
35
D7/UPDN/I2C1SDA/FSO/BT8O
A15/HALL3/LCD_G3/FILTER1/ADC0_CH
3
34
D8/I2C1SCL/FSI/PWM1BN/T4I/T4O
A14/HALL5/LCD_G2/ADC0_CH8
4
33
M1/UART0TX/PWM0A/T2I/T2O/CAN1RX
A10/UART0CTS/PWM_CLK1/BT3O/CAN0TX/LCD_B6/ADC0_CH11
5
32
M2/SPI0SCLK/UART1RX/PWM0B/BT3O/T1I/T1O
A9/CAN0RX/LCD_B5
6
31
M3/SPI0SSEL/UART1TX/PWM1A/BT2O/T0I/T0O
DP
7
30
M4/SPI0MISO/UART3TX/PWM0AN/BT1O/T2I/T2O/LCDC_CSN
DM
8
29
VDDIO
VCCA
9
28
M8/PWM2BN/CAN0TX/LCDC_WNR
VDDA12
10
27
M11/PWM2B/LCDC_RS
A8/ISP
11
26
M5/I2C1SDA/SPI0MOSI/UART3RX/PWM0BN/BT0O/T1I/T1O
A3/I2C0SDA/LCD_B6/XI
12
25
N0/SPI1SCLK/PWM3AN/BT7O/T1I/T1O/LCDC_RD
SWM34SCET7
LQFP48
图 5-6 SWM34SCET7 管脚排布
22
Version 1.25
SWM341 系列
5.7
管脚定义
SCET7
1CET7
RET7/6
VET7/6
管脚号
管脚名称
可复用功能
类型
C5:数字 GPIO 功能引脚;
I2C1SCL/
I2C1SCL:I2C1 模块时钟引脚;
SPI1MISO/
1
1
/
/
C5
BT9O/
LCD_R1/
SPI1MISO:SPI1 模块的主机接收引脚;
I/O
ADC0_CH1:ADC0 模块通道 1 输入引脚;
OPAVN0
OPAVN0:运放 N 端输入引脚;
C4:数字 GPIO 功能引脚;
I2C1SDA/
I2C1SDA:I2C1 模块数据引脚;
SPI1SSEL/
SPI1SSEL:SPI1 模块使能引脚;
B10O/
2
/
/
C4
T4I/
I/O
T4O/
ADC0_CH2:ADC0 模块通道 2 输入引脚;
C3:数字 GPIO 功能引脚;
UART3TX/
UART3TX:UART3 模块发送数据引脚;
PWM3AN/
PWM3AN:PWM 模块第 3 组 A 路反向输出引脚;
B11O/
3
47
47
C3
T3O/
BT11O:BTIMER11 模块输出引脚;
I/O
LCD_G7:LCD 数据输出脚;
ADC0_CH3/
ADC0_CH3:ADC0 模块通道 3 输入引脚;
OPAOUT2
OPAOUT2:放大器模块输出引脚;
C2:数字 GPIO 功能引脚;
I2C0SCL/
I2C0SCL:I2C0 模块时钟引脚;
UART3RX/
UART3RX:UART3 模块接收数据引脚;
PWM3A/
PWM3A:PWM 模块第 3 组 A 路输出引脚;
T2I/
4
48
48
C2
T2O/
T3I:TIMER 模块输入引脚;
T3O:TIMER 模块输出引脚;
LCD_G7/
4
T4I:TIMER 模块输入引脚;
LCD_R0:LCD 数据输出脚;
ADC0_CH2
3
BT10O:BTIMER10 模块输出引脚;
T4O:TIMER 模块输出引脚;
LCD_R0/
T3I/
BT9O:BTIMER9 模块输出引脚;
LCD_R1:LCD 数据输出脚;
ADC0_CH1/
2
描述
I/O
LCD_G6/
T2I:TIMER 模块输入引脚;
T2O:TIMER 模块输出引脚;
LCD_G6:LCD 数据输出脚;
FILTER1/
FILTER1:外部信号滤波引脚;
ADC0_CH4/
ADC0_CH4:ADC0 模块通道 4 输入引脚;
OPAVP2
OPAVP2:放大器模块 P 端输入引脚;
23
Version 1.25
SWM341 系列
C1:数字 GPIO 功能引脚;
I2C0SDA/
I2C0SDA:I2C0 模块数据引脚;
UART2RX/
UART2RX:UART2 模块接收数据引脚;
HALL5/
HALL5:霍尔模块输入引脚;
T0I/
5
5
1
1
C1
T0O/
I/O
LCD_G5/
FILTER1:外部信号滤波引脚;
ADC0_CH5/
ADC0_CH5:ADC0 模块通道 5 输入引脚;
OPAVN2
OPAVN2:放大器模块 N 端输入引脚;
C0:数字 GPIO 功能引脚;
UART2TX/
UART2TX:UART2 模块发送数据引脚;
HALL4/
HALL4:霍尔模块输入引脚;
T1I/
6
2
2
C0
T1O/
I/O
LCD_G4/
ADC0_CH6:ADC0 模块通道 6 输入引脚;
A15:数字 GPIO 功能引脚;
HALL3/
HALL3:霍尔模块输入引脚;
LCD_G3/
3
3
A15
FILTER1/
LCD_G3:LCD 数据输出脚;
S
FILTER1:外部信号滤波引脚;
ADC0_CH7/
ADC0_CH7:ADC0 模块通道 7 输入引脚;
OPAOUT3
OPAOUT3:OPA 模块输出引脚;
A14:数字 GPIO 功能引脚;
HALL5/
8
8
4
4
A14
LCD_G2/
ADC0_CH8/
HALL5:霍尔模块输入引脚;
LCD_G2 :LCD 数据输出脚;
S
ADC0_CH8:ADC0 模块通道 8 输入引脚;
OPAVP3
OPAVP3:放大器模块 P 端输入引脚;
A13:数字 GPIO 功能引脚;
UART0TX/
UART0TX:UART0 模块发送数据引脚;
HALL4/
9
/
/
/
A13
BT0O/
LCD_G1/
T1O:TIMER 模块输出引脚;
FILTER1:外部信号滤波引脚;
ADC0_CH6
7
T1I:TIMER 模块输入引脚;
LCD_G4:LCD 数据输出脚;
FILTER1/
7
T0O:TIMER 模块输出引脚;
LCD_G5:LCD 数据输出脚;
FILTER1/
6
T0I:TIMER 模块输入引脚;
HALL4:霍尔模块输入引脚;
I/O
BT0O:BTIMER 模块输出引脚;
LCD_G1 :LCD 数据输出脚;
ADC0_CH9/
ADC0_CH9:ADC0 模块通道 9 输入引脚;
OPAVN3
OPAVN3:放大器模块 N 端输入引脚;
10
/
/
/
VSSIO
——
I/O
VSSIO:IO 模块的电源地引脚;
11
9
/
/
VDDIO
——
I/O
VDDIO:IO 模块的电源引脚;
24
Version 1.25
SWM341 系列
A12:数字 GPIO 功能引脚;
UART0RX/
UART0RX:UART0 模块接收数据引脚;
HALL3/
12
/
/
/
A12
BT1O/
LCD_G0/
HALL3:霍尔模块输入引脚;
I/O
LCD_G0 :LCD 数据输出脚;
ADC0_TRIG1/
ADC0_ TRIG1:ADC0 模块 TRIG1 引脚;
ADC0_CH10
ADC0_CH10:ADC0 模块通道 10 输入引脚;
A11:数字 GPIO 功能引脚;
UART0RTS/
UART0RTS:UART0 模块接收请求引脚;
PWM_CLK0/
13
10
/
/
A11
BT2O/
LCD_B7/
PWM_CLK0:PWM 模块的 CLK 输入引脚;
I/O
ADC1_TRIG1:ADC1 模块 TRIG 引脚;
OPAVP1
OPAVP1:放大器模块 P 端输入引脚;
A10:数字 GPIO 功能引脚;
UART0CTS/
UART0CTS:UART0 模块发送允许引脚;
PWM_CLK1/
PWM_CLK1:PWM 模块的 CLK 输入引脚;
BT3O/
11
5
5
A10
CAN0TX/
I/O
LCD_B6/
OPAOUT1:放大器模块输出引脚;
A9:数字 GPIO 功能引脚;
CAN0RX/
6
6
A9
LCD_B5/
CAN0TX:CAN0 模块数据发送引脚;
ADC0_CH11:ADC0 模块通道 11 输入引脚;
OPAOUT1
12
BT3O:BTIMER 模块输出引脚;
LCD_B6:LCD 数据输出脚;
ADC0_CH11/
15
BT2O:BTIMER 模块输出引脚;
LCD_B7:LCD 数据输出脚;
ADC1_TRIG1/
14
BT1O:BTIMER 模块输出引脚;
I/O
OPAVN1
CAN0RX:CAN 模块数据接收引脚;
LCD_B5:LCD 数据输出脚;
OPAVN1:放大器模块 N 端输入引脚;
16
/
/
/
AGND
——
S
AGND:USB 模块 AGND 引脚;
17
13
7
7
DP
——
I/O
DP:USB 模块 DP 引脚;
18
14
8
8
DM
——
I/O
DM:USB 模块 DM 引脚;
19
15
9
9
VCCA
——
S
VCCA:USB 模块 VCCA 引脚;
20
/
/
/
NC
——
S
——
21
16
10
10
VDDA12
——
S
VDDA12 USB 模块输入 1.2V 引脚;
22
17
11
11
A8
ISP
I/O
23
/
/
/
A7
T3O/
ISP:芯片 ISP 引脚;
A7:数字 GPIO 功能引脚;
I2C1SCL/
T3I/
A8:数字 GPIO 功能引脚;
I2C1SCL:I2C1 模块时钟引脚;
I/O
T3I:TIMER 模块输入引脚;
T3O:TIMER 模块输出引脚;
XLI
XLI:低频晶振输入引脚;
25
Version 1.25
SWM341 系列
A6:数字 GPIO 功能引脚;
I2C1SDA/
24
/
/
/
A6
PWM_BRK0/
PWM_CLK0/
I2C1SDA:I2C1 模块数据引脚;
I/O
PWM_CLK0:PWM 模块 CLK 输入引脚;
XLO
XLO:低频晶振输出引脚;
A5:数字 GPIO 功能引脚;
PWM_BRK1/
25
/
/
/
A5
PWM_CLK1/
I/O
LDQM
18
12
12
A3
LCD_B6/
I/O
13
13
A4
LCD_B5/
I2C0SDA:I2C0 模块数据引脚;
LCD_B6:LCD 数据输出脚;
XI:外部高频晶振输入引脚;
A4:数字 GPIO 功能引脚;
I2C0SCL/
19
PWM_CLK1:PWM 模块 CLK 输入引脚;
A3:数字 GPIO 功能引脚;
XI
27
PWM_BRK1:PWM 模块 BRK 引脚;
LDQM:SDRAM 模块 LDQM 引脚;
I2C0SDA/
26
PWM_BRK0:PWM 模块 BRK 引脚;
I/O
XO
I2C0SCL:I2C0 模块时钟引脚;
LCD_B5:LCD 数据输出脚;
XO:外部高频晶振输出引脚;
28
20
14
14
VDD33
——
S
VDD33:芯片电源引脚;
29
21
15
15
CAP
——
S
CAP:电容滤波脚,对地 1uF;
30
22
16
16
VSS33
——
S
VSS33:芯片电源地引脚;
31
23
17
17
RESETn
——
I/O
A2:数字 GPIO 功能引脚;
UART1RX/
UART1RX:UART1 模块接收数据引脚;
PWM_BRK0/
32
24
18
18
A2
HALL2/
I/O
LCD_B4/
A1:数字 GPIO 功能引脚;
I2C0SCL:I2C0 模块时钟引脚;
UART2RTS/
19
19
A1
HALL1/
I/O
LCD_B3/
A0:数字 GPIO 功能引脚;
I2C0SDA:I2C0 模块数据引脚;
UART1TX/
20
20
A0
HALL0/
HALL1:霍尔模块输入引脚;
ACMPVP1:比较器模块 P 端输入引脚;
I2C0SDA/
/
UART2RTS:UART2 模块接收请求引脚;
LCD_B3:LCD 数据输出脚;
ACMPVP1
34
HALL2:霍尔模块输入引脚;
ACMPVP0:比较器模块 P 端输入引脚;
I2C0SCL/
/
PWM_BRK0:PWM 模块 BRK 引脚;
LCD_B4:LCD 数据输出脚;
ACMPVP0
33
RESETn:芯片复位功能引脚,低电平复位;
I/O
LCD_B7/
UART1TX:UART1 模块发送数据引脚;
HALL0:霍尔模块输入引脚;
LCD_B7:LCD 数据输出脚;
ACMPVP2
ACMPVP2:比较器模块 P 端输入引脚;
26
Version 1.25
SWM341 系列
B15:数字 GPIO 功能引脚;
JTAGTRSTN/
JTAGTRSTN:JTAG 下载接口的 TRST 引脚;
I2C1SCL/
I2C1SCL:I2C1 模块时钟引脚;
UART2CTS/
35
25
/
/
B15
PWM4A/
I/O
T0I/
UART2CTS:UART2 模块发送允许引脚;
PWM4A:PWM4 模块的 A 路输出引脚;
T0I:TIMER 模块输入引脚;
T0O/
T0O:TIMER 模块输出引脚;
LCD_B3
LCD_B3:LCD 数据输出脚;
B14:数字 GPIO 功能引脚;
JTAGTMSSWIO:JTAG 下载接口的 TMS 引脚及 SWD
JTAGTMSSWIO/
下载接口的 SWDIO 引脚;
SPI0SSEL/
36
26
21
21
B14
UART0TX/
PWM4AN/
I/O
SPI0SSEL:SPI0 模块使能引脚;
UART0TX:UART0 模块发送数据引脚;
T1I/
PWM4AN:PWM 模块第 4 组 A 路反向输出引脚;
T1O
T1I:TIMER 模块输入引脚;
T1O:TIMER 模块输出引脚;
B13:数字 GPIO 功能引脚;
JTAGTDI/
JTAGTDI:JTAG 下载接口的 TDI 引脚;
I2C1SDA/
I2C1SDA:I2C1 模块数据引脚;
UART2RX/
37
27
/
/
B13
PWM4B/
I/O
T2I/
UART2RX:UART2 模块接收数据引脚;
PWM4B:PWM 模块第 4 组 B 路输出引脚;
T2I:TIMER 模块输入引脚;
T2O/
T2O:TIMER 模块输出引脚;
LCD_B2
LCD_B2:LCD 数据输出脚;
B12:数字 GPIO 功能引脚;
JTAGSWCLK:JTAG 下载接口的 TCLK 引脚及 SWD
JTAGSWCLK/
下载接口的 SWCLK 引脚;
UART0RX/
38
28
22
22
B12
PWM4BN/
T3I/
I/O
UART0RX:UART0 模块接收数据引脚;
PWM4BN:PWM 模块第 4 组 B 路反向输出引脚;
T3O/
T3I:TIMER 模块输入引脚;
ACMPVN0
T3O:TIMER 模块输出引脚;
ACMPVN0:比较器模块 N 端输入引脚;
B11:数字 GPIO 功能引脚;
JTAGTDO/
JTAGTDO:JTAG 下载接口的 TDO 引脚;
UART2TX/
39
29
/
/
B11
PWM_BRK2/
T0I/
UART2TX:UART2 模块数据发送引脚;
I/O
PWM_BRK2:PWM 模块 BRK 引脚;
T0I:TIMER 模块输入引脚;
T0O/
T0O:TIMER 模块输出引脚;
LCD_B1
LCD_B1:LCD 数据输出脚;
27
Version 1.25
SWM341 系列
B5:数字 GPIO 功能引脚;
SPI1SSEL/
SPI1SSEL:SPI1 模块使能引脚;
UART3CTS/
UART3CTS:UART3 模块发送允许引脚;
HALL2/
40
30
/
/
B5
BT0O/
CAN0RX/
HALL2:霍尔模块输入引脚;
I/O
CAN0RX:CAN 模块接收引脚;
LCDC_RD/
LCD_RD:LCD 读数据功能引脚;
FILTER0/
FILTER0:外部信号滤波引脚;
ACMPVN1
ACMPVN1:比较器模块 N 端输入引脚;
B4:数字 GPIO 功能引脚;
SPI1MOSI/
SPI1MOSI:SPI1 模块的主机发送引脚;
UART3RX/
UART3RX:UART3 模块接收数据引脚;
HALL1/
41
31
/
/
B4
BT1O/
CAN0TX/
HALL1:霍尔模块输入引脚;
I/O
LCD_RS:LCD 指令/数据功能引脚;
FILTER0/
FILTER0:外部信号滤波引脚;
ACMPVN2
ACMPVN2:比较器模块 N 端输入引脚;
B3:数字 GPIO 功能引脚;
SPI1MISO/
SPI1MISO:SPI1 模块的主机接收引脚;
UART3TX/
UART3TX:UART3 模块数据发送引脚;
PWM2A/
42
32
/
/
B3
BT2O/
PWM2A:PWM2 模块的 A 路输出引脚;
I/O
CAN1RX:CAN1 模块接收引脚;
LCDC_WNR/
LCDC_WNR:LCD 写数据功能引脚;
FILTER0
FILTER0:外部信号滤波引脚;
B2:数字 GPIO 功能引脚;
SPI1SCLK/
SPI1SCLK:SPI1 模块的主机时钟引脚;
UART3RTS/
UART3RTS:UART0 模块接收请求引脚;
PWM2B/
33
/
23
B2
BT3O/
I/O
CAN1TX/
FILTER0:外部信号滤波引脚;
B1:数字 GPIO 功能引脚;
PWM3B/
PWM3B:PWM 模块第 3 组 B 路输出引脚;
T0I/
/
/
B1
T0O/
BT3O:BTIMER 模块输出引脚;
LCDC_CSN:LCD 片选功能引脚;
FILTER0
/
PWM2B:PWM 模块第 2 组 B 路输出引脚;
CAN1TX:CAN 模块发送引脚;
LCDC_CSN/
44
HALL0:霍尔模块输入引脚;
BT2O:BTIMER 模块输出引脚;
CAN1RX/
43
BT1O:BTIMER 模块输出引脚;
CAN0TX:CAN 模块发送引脚;
LCDC_RS/
HALL0/
BT0O:BTIMER0 模块输出引脚;
I/O
LCD_B0/
T0I:TIMER 模块输入引脚;
T0O:TIMER 模块输出引脚;
LCD_B0:LCD 数据输出脚;
SD_D7
SD_D7:SD 模块数据引脚;
28
Version 1.25
SWM341 系列
B0:数字 GPIO 功能引脚;
UART1TX/
UART1TX:UART1 模块数据发送引脚;
PWM3BN/
45
/
/
/
B0
DMA_TRIG1/
T1I/
PWM3BN:PWM 模块第 3 组 B 路反向输出引脚;
I/O
T1I:TIMER 模块输入引脚;
T1O/
T1O:TIMER 模块输出引脚;
SD_D6
SD_D6:SD 模块数据功能引脚;
N5:数字 GPIO 功能引脚;
I2C0SCL/
I2C0SCL:I2C0 模块时钟引脚;
SPI1MOSI/
SPI1MOSI:SPI1 模块的主机发送引脚;
UART1RX/
UART1RX:UART1 模块接收数据引脚;
PWM3A/
PWM3A:PWM3 模块的 A 路输出引脚;
DMA_TRIG0/
46
34
23
24
N5
BT4O/
T2I/
DMA_TRIG0:DMA 模块 TRIG 引脚;
I/O
T2O:TIMER 模块输出引脚;
CAN0RX/
CAN0RX:CAN0 模块接收引脚;
LCD_R3/
LCD_R3:LCD 数据输出脚;
SD_D5/
SD_D5:SD 数据功能引脚;
ADC0_TRIG0
ADC0_TRIG0:ADC0 模块 TRIG 引脚;
N4:数字 GPIO 功能引脚;
I2C0SDA/
I2C0SDA:I2C0 模块数据引脚;
SPI1MISO/
SPI1MISO:SPI1 模块的主机接收引脚;
UART1RTS/
UART1RTS:UART1 模块接收请求引脚;
PWM2AN/
47
35
/
/
N4
T3I/
BT4O:BTIMER4 模块输出引脚;
T2I:TIMER 模块输入引脚;
T2O/
BT5O/
DMA_TRIG1:DMA 模块 TRIG 引脚;
PWM2AN:PWM 模块的 A 路反向输出引脚;
I/O
BT5O:BTIMER 模块输出引脚;
T3I:TIMER 模块输入引脚;
T3O/
T3O:TIMER 模块输出引脚;
CAN0TX/
CAN0TX:CAN0 模块发送引脚;
SD_D4/
SD_D4:SD 数据功能引脚;
ADC1_TRIG0
ADC1_TRIG0:ADC0 模块 TRIG 引脚;
48
/
/
/
VDDIO
——
S
VDDIO:芯片 IO 电源引脚;
49
/
/
/
VSSIO
——
S
VSSIO:芯片 IO 电源地引脚;
N1:数字 GPIO 功能引脚;
SPI1SSEL/
SPI1SSEL:SPI1 模块使能引脚;
PWM2BN/
50
36
/
/
N1
BT6O/
T0I/
PWM2BN:PWM2 模块的 B 路反向输出引脚;
I/O
BT6O:BTIMER 模块输出引脚;
T0I:TIMER 模块输入引脚;
T0O/
T0O:TIMER 模块输出引脚;
SD_D3
SD_D3:SD 数据功能引脚;
29
Version 1.25
SWM341 系列
N0:数字 GPIO 功能引脚;
SPI1SCLK/
SPI1CLK:SPI1 模块的主机时钟引脚;
PWM3AN/
PWM3AN:PWM3 模块的 A 路反向输出引脚;
BT7O/
51
37
24
25
N0
T1I/
I/O
T1O/
LCDC_RD:LCD 读数据功能引脚;
SD_D2
SD_D2:SD 数据功能引脚;
M6:数字 GPIO 功能引脚;
I2C1SCL/
I2C1SCL:I2C1 模块时钟引脚;
UART2RX/
52
38
/
/
M6
T0I/
UART2RX:UART2 模块接收数据引脚;
I/O
T0O:TIMER 模块输出引脚;
SD_D1
SD_D1:SD 数据功能引脚;
M5:数字 GPIO 功能引脚;
I2C1SDA/
I2C1SDA:I2C1 模块数据引脚;
SPI0MOSI/
SPI0MOSI:SPI0 模块的主机发送引脚;
UART3RX/
39
25
26
M5
PWM0BN/
BT0O/
UART3RX:UART3 模块接收数据引脚;
I/O
T1I:TIMER 模块输入引脚;
T1O/
T1O:TIMER 模块输出引脚;
SD_D0
54
55
56
/
/
/
26
/
/
27
/
/
M11
M10
M9
LCDC_RS
PWM3A
SD_D0:SD 数据功能引脚;
M11:数字 GPIO 功能引脚;
I/O
/
27
28
M8
I/O
M10:数字 GPIO 功能引脚;
PWM3A:PWM3 模块的 A 输出引脚;
M9:数字 GPIO 功能引脚;
PWM2AN/
PWM2AN:PWM2 模块的 A 路反向输出引脚;
CAN0RX
CAN0TX/
PWM2B:PWM2 模块的 B 路输出引脚;
LCDC_RS:LCD 模块指令/数据功能引脚;
CAN0RX:CAN0 模块接收引脚;
M8:数字 GPIO 功能引脚;
PWM2BN/
57
PWM0BN:PWM0 模块的 B 路反向输出引脚;
BT0O:BTIMER0 模块输出引脚;
T1I/
PWM2B/
PWM1AN:PWM1 模块的 A 路反向输出引脚;
T0I:TIMER 模块输入引脚;
T0O/
53
T1I:TIMER 模块输入引脚;
T1O:TIMER 模块输出引脚;
LCDC_RD/
PWM1AN/
BT7O:BTIMER 模块输出引脚;
I/O
LCDC_WNR
PWM2BN:PWM2 模块的 B 路反相输出引脚;
CAN0TX:CAN0 模块发送引脚;
LCDC_WNR:LCD 写数据功能引脚;
58
40
28
29
VDDIO
——
S
59
/
/
/
D15
WAKEUP1
I/O
60
/
/
/
EFLASHVSS
——
S
EFLASHVSS:EFLASH 模块 VSS 引脚;
61
/
/
/
——
S
EFLASHVDD:EFLASH 模块 VDD 引脚;
EFLASHVD
D
VDDIO:芯片 IO 电源功能引脚;
D15:数字 GPIO 功能引脚;
WAKEUP1:WAKEUP 输入引脚 1;
30
Version 1.25
SWM341 系列
62
/
/
/
D14
——
I/O
M15:数字 GPIO 功能引脚;
T2I/
63
/
/
/
M15
T2O/
D14:数字 GPIO 功能引脚;
I/O
MA12
T2I:TIMER 模块输入引脚;
T2O:TIMER 模块输出引脚;
MA12:SDRAM 地址引脚;
64
/
/
/
D13
——
I/O
D13:数字 GPIO 功能引脚;
65
/
/
/
D12
——
I/O
D12:数字 GPIO 功能引脚;
66
/
/
/
M7
UART2TX
I/O
67
/
/
/
VDDIO
——
S
M4:数字 GPIO 功能引脚;
SPI0MISO:SPI0 模块的主机接收引脚;
UART3TX/
UART3TX:UART3 模块数据发送引脚;
PWM0AN/
41
29
30
M4
BT1O/
T2I/
PWM0AN:PWM0 模块的 A 路反向输出引脚;
I/O
T2O:TIMER 模块输出引脚;
LCDC_CSN/
LCDC_CSN:LCD 片选功能引脚;
SD_CMD
SDCMD:SD 命令功能引脚;
M3:数字 GPIO 功能引脚;
SPI0SSEL/
SPI0SSEL:SPI0 模块使能引脚;
UART1TX/
UART1X:UART1 块数据发送引脚;
PWM1A/
42
30
31
M3
BT2O/
I/O
T0I/
SD_DETECT:SD 检测功能引脚;
M2:数字 GPIO 功能引脚;
SPI0SCLK/
SPI0CLK:SPI0 模块的主机时钟引脚;
UART1RX/
UART1RX:UART1 块数据接收引脚
PWM0B/
31
32
M2
BT3O/
I/O
T1I/
SDCLK_30MHZ:SD 模块 30Mhz 引脚;
M1:数字 GPIO 功能引脚;
UART0TX/
UART0TX:UART0 模块数据发送引脚;
PWM0A/
32
33
M1
T2I/
BT3O:BTIMER3 模块输出引脚;
T1O:TIMER 模块输出引脚;
SD_CLK
44
PWM0B:PWM0 模块的 B 路输出引脚;
T1I:TIMER 模块输入引脚;
T1O/
71
BT2O:BTIMER2 模块输出引脚;
T0O:TIMER 模块输出引脚;
SD_DETECT
43
PWM1A:PWM1 模块的 A 路输出引脚;
T0I:TIMER 模块输入引脚;
T0O/
70
BT1O:BTIMER1 模块输出引脚;
T2I:TIMER 模块输入引脚;
T2O/
69
UART2TX:UART2 模块发送数据引脚;
VDDIO:芯片 IO 电源功能引脚;
SPI0MISO/
68
M7:数字 GPIO 功能引脚;
I/O
T2O/
PWM0A:PWM0 模块的 A 路输出引脚;
T2I:TIMER 模块输入引脚;
T2O:TIMER 模块输出引脚;
CAN1RX
CAN1RX:CAN1 模块接收引脚;
31
Version 1.25
SWM341 系列
M0:数字 GPIO 功能引脚;
UART0RX/
72
45
33
/
M0
PWM_BRK1/
I/O
CAN1TX
UART0RX:UART0 模块数据接收引脚;
PWM_BRK1:PWM 模块的 BRAKE 引脚;
CAN1TX:CAN1 模块发送引脚;
D11:数字 GPIO 功能引脚;
73
/
/
/
D11
PWM_CLK0
I/O
74
/
/
/
VDDIO
——
S
VDDIO:芯片 IO 电源引脚;
75
46
/
/
VSSIO
——
S
VSSIO:芯片 IO 电源地引脚;
D9:数字 GPIO 功能引脚;
PWM1B/
76
47
/
/
D9
T3I/
I/O
T3O
34
34
D8
PWM1BN/
I2C1SCL:I2C1 模块时钟引脚;
I/O
T4I/
49
35
35
D7
FSO/
D7:数字 GPIO 功能引脚;
UPDN:编码器模块 UPDN 引脚;
I/O
BT8O:BTIMER8 模块输出引脚;
D6:数字 GPIO 功能引脚;
FCSN/
FCSN:SPI FALSH 模块 SCSN 引脚;
UART3RX/
50
36
36
D6
PWM_CLK0/
BT9O/
UART3RX:UART3 模块接收数据引脚;
I/O
CAN0RX:CAN0 模块接收引脚;
WAKEUP0
WAKEUP0:WAKEUP 输入引脚 0;
D5:数字 GPIO 功能引脚;
FSCK/
FSCK:SPI FALSH 模块 SCLK 引脚;
UART3TX/
51
37
37
D5
PWM_CLK1/
PWM_CLK0:PWM 模块的 CLK 输入引脚;
BT9O:BTIMER9 模块输出引脚;
CAN0RX/
80
I2C1DAT:I2C1 模块数据引脚;
FSO:SPI FALSH 模块 SO 引脚;
BT8O
79
PWM1BN:PWM1 模块 B 路反向输出引脚;
T4O:TIMER 模块输出引脚;
UPDN/
78
FSI:SPI FALSH 模块 SI 引脚;
T4I:TIMER 模块输入引脚;
T4O
I2C1SDA/
T3I:TIMER 模块输入引脚;
D8:数字 GPIO 功能引脚;
FSI/
48
PWM1B:PWM1 模块 B 路输出引脚;
T3O:TIMER 模块输出引脚;
I2C1SCL/
77
PWM_CLK0:PWM 模块 CLK 输入引脚;
I/O
B10O/
UART3TX:UART3 模块发送数据引脚;
PWM_CLK1:PWM 模块的 CLK 输入引脚;
BT10O:BTIMER10 模块输出引脚;
CAN0TX
CAN0TX:CAN0 模块发送引脚;
32
Version 1.25
SWM341 系列
D4:数字 GPIO 功能引脚;
QEA/
QEA:编码器模块 A 相输入引脚;
FHOLD/
FHOLD:SPI FALSH 模块 HOLD 引脚;
UART1RX/
81
52
38
38
D4
HALL5/
I/O
B11O/
CAN1RX:CAN1 模块接收引脚;
ADC0_TRIG1
ADC0_TRIG1:ADC0 模块 TRIG 引脚;
D3:数字 GPIO 功能引脚;
QEB/
QEB:编码器模块 B 相输入引脚;
FWP/
82
53
39
39
D3
HALL4/
FWP:SPI FALSH 模块 WP 引脚;
I/O
CAN1TX:CAN1 模块发送引脚;
ADC1_TRIG1
/
/
/
VDDIO
——
ADC1_TRIG1:ADC1 模块 TRIG 引脚;
VDDIO:芯片 IO 电源引脚;
S
D2:数字 GPIO 功能引脚;
INDEX/
84
54
40
40
D2
HALL3/
I/O
DAC_OUT
85
55
41
41
D1
LCD_R5/
ADC1_CH0
42
42
D0
T3O/
I/O
D0:数字 GPIO 功能引脚;
I2C0SCL:I2C0 模块时钟引脚;
I/O
C13:数字 GPIO 功能引脚;
I2C0SDA:I2C0 模块数据引脚;
UART0TX/
UART0TX:UART0 模块发送引脚;
BT3O/
43
C13
T4I/
I/O
T4O/
ADC1_ CH2:ADC1 模块通道 2 输入引脚;
C12:数字 GPIO 功能引脚;
UART0RX/
58
44
44
C12
LCD_R6/
T4I:TIMER 模块输入引脚;
LCD_R7:LCD 数据输出脚;
ADC1_CH2
88
BT3O:BTIMER3 模块输出引脚;
T4O:TIMER 模块输出引脚;
LCD_R7/
BT4O/
T3O:TIMER 模块输出引脚;
ADC1_ CH1:ADC1 模块通道 1 输入引脚;
I2C0SDA/
43
T3I:TIMER 模块输入引脚;
LCD_R4:LCD 数据输出脚;
ADC1_CH1
57
LCD_R5:LCD 数据输出脚
ADC1_ CH0:ADC1 模块通道 0 输入引脚;
LCD_R4/
87
HALL3:霍尔模块输入引脚;
D1:数字 GPIO 功能引脚;
T3I/
56
INDEX:编码器模块索引相输入引脚;
DAC_OUT:DAC 模块输出引脚;
I2C0SCL/
86
UART1TX:UART1 模块发送引脚;
HALL4:霍尔模块输入引脚;
CAN1TX/
83
HALL5:霍尔模块输入引脚;
BT11O:BTIMER11 模块输出引脚;
CAN1RX/
UART1TX/
UART1RX:UART1 模块接收数据引脚;
UART0RX:UART0 模块接收数据引脚;
I/O
BT4O:BTIMER4 模块输出引脚;
LCD_R6:LCD 数据输出脚;
ADC1_CH3
ADC1_CH3:ADC1 模块通道 3 输入引脚;
33
Version 1.25
SWM341 系列
C11:数字 GPIO 功能引脚;
BT5O/
BT5O:BTIMER5 模块输出引脚;
T0I/
89
59
/
/
C11
T0O/
I/O
LCD_R5/
ADC1_ CH4:ADC1 模块通道 4 输入引脚;
C10:数字 GPIO 功能引脚;
BT6O/
BT6O:BTIMER6 模块输出引脚;
T1I/
60
/
/
C10
T1O/
I/O
LCD_R4/
/
/
/
C7
SPI1SCLK
/
/
/
C6
BT8O/
T1O:TIMER 模块输出引脚;
ADC1_ CH5:ADC1 模块通道 5 输入引脚;
I/O
C7:数字 GPIO 功能引脚;
SPI1CLK:SPI1 模块的主机时钟引脚;
C6:数字 GPIO 功能引脚;
SPI1MOSI/
92
T1I:TIMER 模块输入引脚;
LCD_R4:LCD 数据输出脚;
ADC1_CH5
91
T0O:TIMER 模块输出引脚;
LCD_R5:LCD 数据输出脚;
ADC1_CH4
90
T0I:TIMER 模块输入引脚;
I/O
ADC0_CH0
SPI1MOSI:SPI1 模块的主机发送引脚;
BT8O:BTIMER8 模块输出引脚;
ADC0_CH0:ADC0 模块通道 0 输入引脚;
D10:数字 GPIO 功能引脚;
93
/
/
/
D10
PWM_CLK1/
I/O
94
/
/
/
DACVSS
——
S
DACVSS:DAC 模块电源地引脚;
95
/
/
/
DACVDD
S
DACVDD:DAC 模块电源引脚
96
/
/
/
——
S
ADC1_REFP:ADC1 模块 REFP 引脚;
/
61
45
45
AVDD33
——
S
AVDD33:芯片模拟功能电源引脚;
/
62
46
46
AVSS
——
S
AVSS:芯片模拟功能电源地引脚;
97
/
/
/
AVDD0
——
S
AVDD0:芯片模拟模块电源引脚;
98
/
/
/
AVSS0
——
S
AVSS0:芯片模拟地模块电源引脚;
ADC1_REF
P
C9:数字 GPIO 功能引脚;
BT7O/
BT7O:BTIMER7 模块输出引脚;
T2I/
99
63
/
/
C9
T2O/
LCD_R3/
T2I:TIMER 模块输入引脚;
I/O
ADC1_CH6:ADC1 模块通道 6 输入引脚;
OPAOUT0
100
64
/
注 1:
/
C8
OPAVP0
T2O:TIMER 模块输出引脚;
LCD_R3:LCD 数据输出脚;
ADC1_CH6/
LCD_R2/
PWM_CLK1:PWM 模块的 CLK 输入引脚;
OPAOUT0:放大器模块输出引脚;
C8:数字 GPIO 功能引脚;
I/O
LCD_R2:LCD 模块输出引脚;
OPAVP0:放大器模块输出引脚;
I=输入,O=输出,S=电源
注 2:ISP 方式的串口烧录时,默认使用 B12(RX)/B14(TX)作为串口通讯使用
注 3:不同封装所对应的引脚功能不同,请以相应型号对应的管脚图为准
34
Version 1.25
SWM341 系列
5.8
管脚复用功能表
表格 5-1 PA 复用功能
管脚名称 SEL001
PA0
SEL010
SEL011
I2C0_SDA UART1_TX HALL0
SEL100
SEL101
SEL110
SEL111
SEL1000
LCD_B7
-
-
-
-
SEL1111
ACMP_2-
其他
-
INP
PA1
I2C0_SCL
UART2_RTS HALL1
LCD_B3
-
-
-
-
ACMP_1-
-
INP
PA2
UART1_RX
PA3
PA4
PA5
PWM_BRK
ACMP_0-
HALL2
LCD_B4
-
-
-
-
I2C0_SDA LCD_B6
-
-
-
-
-
-
XI
-
I2C0_CLK
-
-
-
-
-
-
XO
-
LDQM
-
-
-
-
-
-
-
-
-
-
-
-
-
-
0
LCD_B5
PWM_BRK PWM_CLK
1
PA6
I2C1_SDA
PA7
1
PWM_BRK PWM_CLK
INP
-
0
0
I2C1_SCL
T3I
T3O
-
-
-
-
-
-
-
PA8
-
-
-
-
-
-
-
-
-
ISP
PA9
CAN0_RX
LCD_B5
-
-
-
-
-
-
OPA1_INN -
PA10
UART0_CTS
PA11
UART0_RTS
PA12
PWM_CLK
1
PWM_CLK
ADC0_CH1
BITMRT3
CAN0_TX
LCD_B7
UART0_RX HALL3
BTIMER1
LCD_G0
PA13
UART0_TX HALL4
BTIMER0
LCD_G1
PA14
HALL5
-
-
LCD_G2
-
-
-
1/OPA1_O UT
BTIMER2
0
LCD_B6
ADC1_TRIG
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
ADC0_TRIG
1
OPA1_INP ADC0_CH1
0
ADC0_CH9
/OPA3_INN
ADC0_CH8
/OPA3_INP
-
-
-
ADC0_CH7
PA15
HALL3
LCD_G3
FILTER1
-
-
-
-
-
/OPA3_OU T
表格 5-2 PB 复用功能
管脚名称 SEL001
SEL010
SEL011
DAM_TRIG
PB0
UART1_TX PWM3BN
PB1
PWM3B
PB2
SPI1_SCLK UART3_RTS PWM2B
T0I
1
T0O
SEL100
SEL101
SEL110
SEL111
SEL1000
SEL1111
其他
T1I
T1O
SD_D6
-
-
-
-
LCD_B0
SD_D7
-
-
-
-
-
-
-
-
BTOMER3 CAN1_TX
LCDC_CSN FILTER0
35
Version 1.25
SWM341 系列
PB3
SPI1_MISO UART3_TX PWM2A
HALL0
BTIMER2
CAN1_RX
LCDC_WNR FILTER0
PB4
SPI1_MOSI UART3_RX HALL1
BTIMER1
CAN0_TX
LCDC_RS
FILTER0
-
-
-
ACMP2_IN
N
PB5
SPI1_SSEL
PB6
LDQM
PB7
UART3_CT
ACMP1_IN
HALL2
BTIMER0
CAN0_RX
LCDC_RD
FILTER0
-
-
-
-
-
-
-
-
-
-
MWEN
-
-
-
-
-
-
-
-
-
PB8
PI0_CLK
T3I
T3O
MCASN
-
-
-
-
-
-
PB9
SPI0_MISO T2I
T2O
MRASN
-
-
-
-
-
-
PB10
SPI0_MOSI T1I
T1O
MCSN0
-
-
-
-
-
-
PB11
JTAGTDO
T0I
T0O
LCD_B1
-
-
UART0_RX PWM4BN T3I
T3O
-
-
-
I2C1_SDA UART2_RX PWM4B
T2I
T2O
LCD_B2
-
SPI0_SSEL UART0_TX PWM4AN T1I
T1O
-
-
-
-
T0O
LCD_B3
-
-
-
其他
PB12
PB13
PB14
PB15
JTAGSWCL
K
JTAGTDI
JTAGTMSS
WIO
S
UART2_TX
JTAGTRSTN I2C1_SCL
PWM_BRK
2
UART2_CTS PWM4A
T0I
N
ACMP0_IN
N
-
表格 5-3 PC 复用功能
管脚名称 SEL001
SEL010
SEL011
SEL100
SEL101
SEL110
SEL111
SEL1000
SEL1111
ADC0_CH6 -
PC0
UART2_TX HALL4
T1I
T1O
LCD_G4
FILTER1
-
-
PC1
I2C0_SDA UART2RX
HALL5
T0I
T0O
LCD_G5
FILTER1
-
PC2
I2C0_SCL
T2I
T2O
LCD_G6
FILTER1
-
PC3
UART3_TX PWM3AN BTIMER11 T3I
T3O
LCD_G7
-
-
UART3_RX PWM3A
ADC0_CH5
/OPA2_INN
ADC0_CH4
/OPA2_INP
-
-
ADC0_CH3
/OPA2_OU T
PC4
I2C1_SDA SPI1_SSEL BTIMER10 T4I
T4O
LCD_R0
-
-
PC5
I2C1_SCL
LCD_R1
-
-
-
-
PC6
SPI1MOSI BTIMER8
-
-
-
-
-
-
ADC0_CH0 -
PC7
SPI1_SCLK -
-
-
-
-
-
-
-
PC8
LCD_R2
-
-
-
-
-
-
OPA0_INP -
SPI1_MISO BTIMER9
-
ADC0_CH2 ADC0_CH1
/OPA0_INN
-
-
ADC1_CH6
PC9
BTIMER7
T2I
T2O
LCD_R3
-
-
-
-
/OPA0_OU T
PC10
BTIMER6
T1I
T1O
LCD_R4
-
-
-
-
ADC1_CH5 -
PC11
BTIMER5
T0I
T0O
LCD_R5
-
-
-
-
ADC1_CH4 -
PC12
UART0_RX BTIMRT4
LCD_R6
-
-
-
-
-
ADC1_CH3 -
36
Version 1.25
SWM341 系列
PC13
I2C0_SDA UART0_TX BTIMRT3
T4I
T4O
LCD_R7
-
-
ADC1_CH2 -
PC14
MDDATA14 -
-
-
-
-
-
-
-
-
PC15
MDDATA15 -
-
-
-
-
-
-
-
-
其他
表格 5-4 PD 复用功能
管脚名称 SEL001
SEL010
SEL011
SEL100
SEL101
SEL110
SEL111
SEL1000
SEL1111
PD0
I2C0_SCL
T3I
T3O
LCD_R4
-
-
-
-
ADC1_CH1 -
PD1
LCD_R5
-
-
-
-
-
-
-
ADC1_CH0 -
PD2
INDEX_IN HALL3
DAC_OUT -
-
-
-
-
-
-
PD3
QEB
FWP
UART1_TX HALL4
CAN1_TX
-
-
-
-
PD4
QEA
FHOLD
UART1_RX HALL5
BTIMRT11 CAN1_RX
-
-
-
PD5
FSCK
UART3_TX
PD6
FSCN
UART3_RX
PD7
UPDN
I2C0_SDA FSO
PD8
I2C0_SCL
FSI
PD9
PWM1B
ADC1_TRIG
1
ADC0_TRIG
1
PWM_CLK
PD10
PD11
PWM_CLK
1
PWM_CLK
0
BTIMER10 CAN0_TX
-
-
-
-
BTIMER9
CAN0_RX
-
-
-
WAKUP0
BTIMER8
-
-
-
-
-
-
PWM1BN` T4I
T40
-
-
-
-
-
T3I
T3O
-
-
-
-
-
-
-
UDQM
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
PWM_CLK
0
PD12
-
-
-
-
-
-
-
-
-
-
PD13
-
-
-
-
-
-
-
-
-
-
PD14
-
-
-
-
-
-
-
-
-
-
PD15
-
-
-
-
-
-
-
-
-
WAKEUP1
表格 5-5 PE 复用功能
管脚名称 SEL001
SEL010
SEL011
SEL100
SEL101
SEL110
SEL111
SEL1000
SEL1111
其他
PE0
MDDATA7 -
-
-
-
-
-
-
-
-
PE1
MDDATA6 -
-
-
-
-
-
-
-
-
PE2
MDDATA5 -
-
-
-
-
-
-
-
-
PE3
MDDATA4 -
-
-
-
-
-
-
-
-
PE4
MDDATA3 -
-
-
-
-
-
-
-
-
PE5
MDDATA2
PE6
MDDATA1 -
-
-
-
-
-
-
-
-
PE7
MDDATA0 -
-
-
-
-
-
-
-
-
PE8
MDDATA8 -
-
-
-
-
-
-
-
-
-
37
Version 1.25
SWM341 系列
PE9
MDDATA9 -
-
-
-
-
-
-
-
-
PE10
MDDATA10 -
-
-
-
-
-
-
-
-
PE11
MDDATA11 -
-
-
-
-
-
-
-
-
PE12
MDDATA12 -
-
-
-
-
-
-
-
-
PE13
MDDATA13 -
-
-
-
-
-
-
-
-
PE14
MB1_OUT -
-
-
-
-
-
-
-
-
PE15
MB0_OUT -
-
-
-
-
-
-
-
-
表格 5-6 PM 复用功能
管脚名称 SEL001
SEL010
PWM_BRK
SEL101
SEL110
SEL111
SEL1000
SEL1111
其他
CAN1_TX -
-
-
-
-
-
-
T2I
T2O
CAN1_RX
-
-
-
-
-
SEL011
SEL100
PM0
UART0_RX
PM1
UART0_TX PWM0A
PM2
SPI0_SCLK UART1_RX PWM0B
BTIMER3
T1I
T1O
SD_CLK
-
-
-
PM3
SPI0_SSEL UART1_TX PWM1A
BTIMER2
T0I
T0O
SD_DETECT -
-
-
PM4
SPI0_MISO UART3_TX PWM0AN BTIMER1
T2I
T2O
LCDC_CSN SD_CMD
-
-
PM5
I2C1_SDA SPI0_MOSI UART3_RX PWM0BN BTIMER0
T1I
T1O
SD_D0
PM6
I2C1_SCL
T0O
SD_D1
-
-
-
-
PM7
UART2_TX -
-
-
-
-
-
-
-
-
PM8
PWM2BN CAN0_TX
LCD_WNR -
-
-
-
-
-
-
PM9
PWM2AN CAN0_RX
-
-
-
-
-
-
-
-
PM10
PWM3A
-
-
-
-
-
-
-
-
-
PM11
PWM2B
LCD_RS
-
-
-
-
-
-
-
-
PM12
PWM2A
UDQM
-
-
-
-
-
-
-
-
MCLK
-
-
-
-
-
-
-
-
1
UART2_RX PWM1AN T0I
-
PWM_BRE
PM13
AK0
PM14
T3I
T3O
MCKE
-
-
-
-
-
-
-
PM15
T2I
T2O
MA12
-
-
-
-
-
-
-
表格 5-7 PN 复用功能
管脚名
称
PN0
PN1
PN2
PN3
SEL001 SEL010 SEL011 SEL100 SEL101 SEL110 SEL111 SEL1000 SEL1001 SEL1010 SEL1011 SEL1100 SEL1111 其他
SPI1_SC PWM3A BTIMER
LK
N
7
SPI1_SS PWM2B BTIMER
LCDC_R
T1I
T1O
T0I
T0O
SD_D3 -
D
SD_D2 -
-
-
-
-
-
-
-
EL
N
6
MA11
-
-
-
-
-
-
-
-
-
-
MA9
-
-
-
-
-
-
-
-
-
UART1_
CTS
38
Version 1.25
SWM341 系列
PN4
PN5
I2C0_SD SPI1_MI UART1_ PWM2A BTIMER
A
SO
RTS
I2C0_SC SPI1_M UART1_
L
OSI
RX
PN6
MA8
-
-
PN7
MA7
-
PN8
MA6
PN9
N
PWM3A
5
T3I
DMA0_ BTIMER
T3O
CAN0_T
X
T2I
T2O
SD_D4
CAN0_R
X
ADC1_T
RIG0
LCD_R3 SD_D5
ADC0_T
RIG0
-
-
-
-
TRIG
4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
MA5
-
-
--
-
-
-
-
-
-
-
-
PN10
MA4
-
-
-
-
-
-
-
-
-
-
-
PN11
MA3
-
-
-
-
-
-
-
-
-
-
-
PN12
MA2
-
-
-
-
-
-
-
-
-
-
-
PN13
MA1
-
-
-
-
-
-
-
-
-
-
-
PN14
MA0
-
-
-
-
-
-
-
-
-
-
-
PN15
MA10
-
-
-
-
-
-
-
-
-
-
-
39
Version 1.25
SWM341 系列
6
功能描述
6.1
存储器映射
SWM341 控制器为 32 位通用控制器,提供了 4G 字节寻址空间,如表表格 6-1 所示。
数据格式仅支持小端格式(Little-Endian)
,各模块具体寄存器排布及操作说明在后章节有详细
描述。
表格 6-1 存储器映射
起始
结束
描述
0x00000000
0x0007FFFF
FLASH
0x20000000
0x2000FFFF
SRAM
0x60000000
0x6FFFFFFF
NORFLASH
0x70000000
0x7FFFFFFF
SERIALFLASH
0x80000000
0x8FFFFFFF
SDRAM
0x88000000
0x88FFFFFF
SDRAMC
0x40000000
0x400007FF
SYSCON
0x40000800
0x40000FFF
DMA
0x40001000
0x400017FF
INTCTRL
0x40001800
0x40001FFF
SDIO
0x40002000
0x400027FF
LCDC
0x40002800
0x40002FFF
CRC
0x40003000
0x400037FF
CORDIC
0x40003800
0x40003FFF
DIV
0x40004000
0x400047FF
GPIOM
0x40004800
0x40004FFF
GPION
0x40005000
0x4000AFFF
USB
0x4000B000
0x4000BFFF
JPEG
0x4000C000
0x4000C7FF
DMA2D
0x40040000
0x400407FF
GPIOA
0x40040800
0x40040FFF
GPIOB
0x40041000
0x400417FF
GPIOC
0x40041800
0x40041FFF
GPIOD
0x40042000
0x400427FF
UART0
0x40042800
0x40042FFF
UART1
0x40043000
0x400437FF
UART2
存储器
AHB1 总线外设
AHB2 总线外设
APB1 总线外设
40
Version 1.25
SWM341 系列
0x40043800
0x40043FFF
UART3
0x40044000
0x400447FF
SPI/I2S0
0x40044800
0x40044FFF
SPI/I2S1
0x40046000
0x400467FF
PWM
0x40046800
0x40046FFF
TIMER
0x40048800
0x40048FFF
BTIMER
0x40049000
0x400497FF
SARADC0
0x40049800
0x40049FFF
SARADC1
0x4004A000
0x4004A7FF
FLASHC
0x4004A800
0x4004AFFF
SFC
0x4004B800
0x4004BFFF
RTC
0x4004C000
0x4004C7FF
DACC
0x4004C800
0x4004CFFF
QEI
0x400A0000
0x400A07FF
PORT
0x400A0800
0x400A0FFF
WDT
0x400A1000
0x400A17FF
GPIOE
0x400A6000
0x400A67FF
I2C0
0x400A6800
0x400A6FFF
I2C1
0x400A8000
0x400A87FF
CAN0
0x400A8800
0x400A8FFF
CAN1
0x400AA000
0x400AA7FF
ANALOGC
0xE000E010
0xE000E01F
系统定时控制寄存器
0xE000E100
0xE000E4EF
NVIC 中断控制寄存器器
0xE000ED00
0xE000ED3F
系统控制寄存器
APB2 总线外设
核内部控制器
41
Version 1.25
SWM341 系列
6.2
中断控制器(NVIC)
6.2.1 概述
Cortex®-M33 提供了“嵌套向量中断控制器(NVIC)”用以管理中断事件。
®
更多细节请参阅“Cortex®-M33 技术参考手册”及“ARM CoreSight 技术参考手册”。
6.2.2 特性
⚫
支持嵌套和向量中断
⚫
优先级 0-16 ,数值越小优先级越高。
⚫
支持电平和边沿触发中断
⚫
硬件完成现场的保存和恢复
⚫
动态改变优先级
⚫
确定的中断时间
42
Version 1.25
SWM341 系列
6.2.3 功能描述
中断向量表
SWM341 提供了多个中断供外设与核交互,其排列如表格 6-2 所示。
可以通过中断配置模块,将任意模块或具体 IO 的中断连接至指定中断编号。具体使用参考中断
配置模块。
表格 6-2 中断编号及对应外设
中断(IRQ 编号)
描述
NMI
GPIOA2
0
UART0
1
UART1
2
TIMER0
3
TIMER1
4
DMA
5
SPI0
6
PWM_CH0
7
WDT
8
UART2
9
PWM_CH1
10
SARADC0
11
BTIMER0
12
HALL0
13
PWM_CH2
14
PWM_HALT
15
I2C0
16
CAN0
17
SPI1
18
RTC_BASE
19
PWM_CH3
20
TIMER2
21
UART3
22
TIMER3
23
SARADC1
24
BOD
25
CORDIC
26
BTIMER1
27
PWM_CH4
28
HALL1
29
BTIMER2
43
Version 1.25
SWM341 系列
30
I2C1
31
BTIMER3
32
CMP
33
XTAL_STOP_DET
34
EXTFLASH_CTRL
35
GPIOA
36
GPIOB
37
GPIOC
38
GPIOD
39
GPIOM
40
GPION
41
GPIOA0
42
GPIOA1
43
GPIOA5
44
GPIOA6
45
GPIOA10
46
GPIOA11
47
GPIOA12
48
GPIOA13
49
GPIOB0
50
GPIOB1
51
GPIOB2
52
GPIOC0
53
GPIOC1
54
GPIOC2
55
GPIOC3
56
GPIOC4
57
GPIOD3
58
GPIOD4
59
GPIOD5
60
GPIOD6
61
GPIOD7
62
GPIOD8
63
GPIOC9
64
GPIOC10
65
GPIOC11
66
GPIOC12
67
GPIOM0
68
GPIOM1
69
GPIOM2
70
GPIOM3
44
Version 1.25
SWM341 系列
71
GPIOM4
72
DIV
73
LCD_COLOR
74
GPIOE
75
JPEG
76
SDIO
77
USB
78
CAN1
79
TIMER4
80
BTIMER4
81
BTIMER5
82
BTIMER6
83
BTIMER7
84
BTIMER8
85
BTIMER9
86
BTIMER10
87
BTIMER11
88
DMA2D
89
DCMI
90
QEI
45
Version 1.25
SWM341 系列
6.2.4 寄存器映射
名称
NVIC
偏移
类型
复位值
描述
BASE:0xE000E100
NVIC_ISER0
0x00
R/W
0x00
中断 0-31 使能寄存器
NVIC_ISER1
0x04
R/W
0x00
中断 32-63 使能寄存器
NVIC_ISER2
0x08
R/W
0x00
中断 64-95 使能寄存器
NVIC_ICER0
0x80
R/W
0x00
中断 0-31 清除使能寄存器
NVIC_ICER1
0x84
R/W
0x00
中断 32-63 清除使能寄存器
NVIC_ICER2
0x88
R/W
0x00
中断 64-95 清除使能寄存器
NVIC_ISPR0
0x100
R/W
0x00
中断 0-31 设置挂起寄存器
NVIC_ISPR1
0x104
R/W
0x00
中断 32-63 设置挂起寄存器
NVIC_ISPR2
0x108
R/W
0x00
中断 64-95 设置挂起寄存器
NVIC_ICPR0
0x180
R/W
0x00
中断 0-31 清除挂起寄存器
NVIC_ICPR1
0x184
R/W
0x00
中断 32-63 清除挂起寄存器
NVIC_ICPR2
0x188
R/W
0x00
中断 64-95 清除挂起寄存器
NVIC_IPRx
0x300+x
R/W
0x00
IRQx 优先级控制(x 为 0-95)
46
Version 1.25
SWM341 系列
6.2.5 寄存器描述
中断使能寄存器 NVIC_ISER(0~2)
寄存器
偏移
类型
复位值
描述
NVIC_ISER0
0x00
R/W
0x00
中断 0-31 使能寄存器
寄存器
偏移
类型
复位值
描述
NVIC_ISER1
0x04
R/W
0x00
中断 32-63 使能寄存器
寄存器
偏移
类型
复位值
描述
NVIC_ISER2
0x08
R/W
0x00
中断 64-95 使能寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
SETENAx
23
22
21
20
SETENAx
15
14
13
12
SETENAx
7
6
5
4
SETENAx
位域
名称
描述
中断使能。
31:0
SETENAx
向对应位写 1 使能相应中断号中断,写 0 无效
读返回目前使能状态
47
Version 1.25
SWM341 系列
中断清除使能寄存器 NVIC_ ICER(0~2)
寄存器
偏移
类型
复位值
描述
NVIC_ICER0
0x80
R/W
0x00
中断 0-31 清除使能寄存器
寄存器
偏移
类型
复位值
描述
NVIC_ICER1
0x84
R/W
0x00
中断 32-63 清除使能寄存器
寄存器
偏移
类型
复位值
描述
NVIC_ICER2
0x88
R/W
0x00
中断 64-95 清除使能寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
CLRENAx
23
22
21
20
CLRENAx
15
14
13
12
CLRENAx
7
6
5
4
CLRENAx
位域
名称
描述
中断清除。
31:0
CLRENAx
向对应位写 1 清除相应中断号中断使能位,写 0 无效
读返回目前使能状态
48
Version 1.25
SWM341 系列
中断设置挂起寄存器 NVIC_ ISPR(0~2)
寄存器
偏移
类型
复位值
描述
NVIC_ISPR0
0x100
R/W
0x00
中断 0-31 设置挂起寄存器
寄存器
偏移
类型
复位值
描述
NVIC_ISPR1
0x104
R/W
0x00
中断 32-63 设置挂起寄存器
寄存器
偏移
类型
复位值
描述
NVIC_ISPR2
0x108
R/W
0x00
中断 64-95 设置挂起寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
SETPENDx
23
22
21
20
SETPENDx
15
14
13
12
SETPENDx
7
6
5
4
SETPENDx
位域
名称
描述
中断挂起。
31:0
SETPENDx
向对应位写 1 挂起相应中断号中断,写 0 无效
读返回目前挂起状态
49
Version 1.25
SWM341 系列
中断清除挂起寄存器 NVIC_ ICPRx(0~2)
寄存器
偏移
类型
复位值
描述
NVIC_ICPR0
0x180
R/W
0x00
中断 0-31 清除挂起寄存器
寄存器
偏移
类型
复位值
描述
NVIC_ICPR1
0x184
R/W
0x00
中断 32-63 清除挂起寄存器
寄存器
偏移
类型
复位值
描述
NVIC_ICPR2
0x188
R/W
0x00
中断 64-95 清除挂起寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
CLRPENDx
23
22
21
20
CLRPENDx
15
14
13
12
CLRPENDx
7
6
5
4
CLRPENDx
位域
名称
描述
中断挂起清除。
31:0
CLRPENDx
向对应位写 1 清除相应中断号中断挂起标志,写 0 无效
读返回目前挂起状态
50
Version 1.25
SWM341 系列
优先级控制寄存器 NVIC_ IPRx(0~95)
寄存器
偏移
类型
复位值
描述
NVIC_IPR
0x300+x
R/W
0x00
IRQx 优先级控制
31
30
29
28
27
IPR4x_3
23
22
14
21
20
19
6
24
18
17
16
9
8
1
0
13
12
11
IPR4x_1
7
25
-
IPR4x_2
15
26
10
-
5
4
3
IPR4x_0
2
-
位域
名称
描述
31:29
IPR4x_3
IRQ4x+3 优先级,共 8 级,7 为最低
28:24
-
-
23:21
IPR4x_2
IRQ4x+2 优先级,共 8 级,7 为最低
20:16
-
-
15:13
IPR4x_1
IRQ4x+1 优先级,共 8 级,7 为最低
12:8
-
-
7:5
IPR4x_0
IRQ4x+0 优先级,共 8 级,7 为最低
4:0
-
-
51
Version 1.25
SWM341 系列
6.3
系统定时器(SYSTIC)
6.3.1 概述
Cortex®-M33 核内部提供了一个 24 位系统定时器。
®
细节请参阅“Cortex®-M33 技术参考手册”及“ARM CoreSight 技术参考手册”。
6.3.2 特性
⚫
24 位系统定时器
⚫
递减
⚫
写清零
52
Version 1.25
SWM341 系列
6.3.3 模块结构框图
RELOAD
ENABLE
HCLK
24-bit Down
Counter
TICKINT
=0
COUNTFLAG
IRQ
CURRENT
图 6-1 systic 模块结构图
53
Version 1.25
SWM341 系列
6.3.4 功能描述
该定时器使能后装载当前值寄存器(SYST_CVR)内数值并向下递减至 0,并在下个时钟重新加
载重载寄存器(SYST_RVR)内数值。计数器再次递减至 0 时,计数器状态寄存器(SYST_CSR)
中的标志位 COUNTERFLAG 置位,读该位可清零。
复位后,SYST_CVR 寄存器与 SYST_RVR 寄存器值均未知,因此使用前需初始化,向 SYST_CVR
写入任意值,清零同时复位状态寄存器,保证装载值为 SYST_RVR 寄存器中数值。
当 SYST_RVR 寄存器值为 0 时,重新装载后计时器保持为 0,并停止重新装载。
该计数器可用作实时系统的滴答定时器或一个简单的计数器。
SysTick 计数时序图如图 6-2 所示。
RELOAD
Current
Write
IRQ
图 6-2 SysTick 计数时序图
54
Version 1.25
SWM341 系列
6.3.5 寄存器映射
名称
SYSTIC
偏移
类型
复位值
描述
BASE:0xE000E010
SYST_CSR
0x0
R/W
0x04
状态寄存器
SYST_RVR
0x4
R/W
—
重载寄存器
SYST_CVR
0x8
R/W
—
当前值寄存器
55
Version 1.25
SWM341 系列
6.3.6 寄存器描述
状态寄存器 SYST_CSR
寄存器
偏移
类型
复位值
描述
SYST_CSR
0x0
R/W
0x04
状态寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
COUNTERFLAG
12
11
10
9
8
3
2
1
0
TINKINT
ENABLE
7
6
5
4
-
位域
名称
描述
31:17
-
-
16
COUNTERFLAG
计数器递减到 0 且该过程中本寄存器未被读取,本位返回 1
15:2
-
-
1
TINKINT
1:中断触发使能
0:中断触发禁能
0
ENABLE
1:定时器使能
0:定时器禁能
56
Version 1.25
SWM341 系列
重载寄存器 SYST_RVR
寄存器
偏移
类型
复位值
描述
SYST_RVR
0x4
R/W
—
重载寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
RELOAD
15
14
13
12
RELOAD
7
6
5
4
RELOAD
位域
名称
描述
31:24
-
-
23:0
RELOAD
计数器达到 0 时加载本寄存器值,写 0 终止继续加载
57
Version 1.25
SWM341 系列
当前值寄存器 SYST_CVR
寄存器
偏移
类型
复位值
描述
SYST_CVR
0x8
R/W
—
当前值寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
CURRENT
15
14
13
12
CURRENT
7
6
5
4
CURRENT
位域
名称
描述
31:24
-
-
23:0
CURRENT
读操作返回当前计数器值,写操作清 0 该寄存器,同时清除 COUNTERFLAG 位
58
Version 1.25
SWM341 系列
6.4
系统控制器
6.4.1 概述
Crotex®-M33 系统控制器主要负责内核管理,包括 CPUID,内核核资源中断优先级设置及内核
电源管理。
更多细节请参阅“Cortex®-M33 技术参考手册”及“ARM®CoreSight 技术参考手册”。
6.4.2 特性
⚫
CPUID
⚫
内核电源管理
⚫
内核核资源中断优先级设置
59
Version 1.25
SWM341 系列
6.4.3 功能描述
系统控制器主要负责内核管理,包括 CPUID,内核核资源中断优先级设置及内核电源管理,具体
操作详见寄存器描述。
60
Version 1.25
SWM341 系列
6.4.4 寄存器映射
名称
SYSCTRL
偏移
类型
复位值
描述
BASE:0xE000ED00
CPUID
0xD00
RO
0x410CC200
CPUID 寄存器
ICSR
0xD04
R/W
0x00000000
中断控制状态寄存器
AIRCR
0xD0C
WO
0xFA050000
中断与复位控制寄存器
SCR
0xD10
R/W
0x00000000
系统控制寄存器
SHPR1
0xD18
R/W
0x00000000
系统优先级控制寄存器 1
SHPR2
0xD1C
R/W
0x00000000
系统优先级控制寄存器 2
SHPR3
0xD20
R/W
0x00000000
系统优先级控制寄存器 3
61
Version 1.25
SWM341 系列
6.4.5 寄存器描述
CPUID
寄存器
偏移
类型
复位值
描述
CPUID
0xD00
RO
0x410CC200
CPUID 寄存器
31
30
29
28
27
26
25
24
18
17
16
IMPLEMENTER
23
22
21
20
19
15
14
PART
13
12
11
10
9
8
3
2
1
0
PARTNO
7
6
5
4
PARTNO
REVISION
位域
名称
描述
31:24
IMPLEMENTER
ARM 分配执行码
23:20
-
-
19:16
PART
ARMV6-M
15:4
PARTNO
读返回 0xC20
3:0
REVISION
读返回 0x00
62
Version 1.25
SWM341 系列
中断控制状态寄存器 ICSR
寄存器
偏移
类型
复位值
描述
ICSR
0xD04
R/W
0x00000000
中断控制状态寄存器
31
30
29
23
22
21
ISRPREEMPT
ISRPENDING
-
15
14
13
28
27
26
25
24
PENDSVSET
PENDSVCLR
PENDSTSET
PENDSTCLR
-
20
19
18
17
16
9
8
VECTPENDING
12
11
VECTPENDING
7
6
10
-
5
4
3
2
VECTACTIVE
1
0
VECTACTIVE
位域
名称
描述
31:29
-
-
28
PENDSVSET
挂起 PendSV 中断,1 有效
27
PENDSVCLR
26
PENDSTSET
挂起 SysTick 中断,1 有效
25
PENDSTCLR
写 1 清 SysTick 中断,仅写有效
24
-
-
23
ISRPREEMPT
22
ISRPENDING
21
-
-
20:12
VECTPENDING
优先级最高的挂起异常向量号
11:9
-
-
写 1 清 PendSV 中断,仅写有效
WO
退出调试 halt 状态时置位,仅适用于调试
RO
外部配置中断是否挂起
RO
0:线程模式
8:0
VECTACTIVE
其它:当前执行异常处理向量号
RO
63
Version 1.25
SWM341 系列
中断与复位控制寄存器 AIRCR
寄存器
偏移
类型
复位值
描述
AIRCR
0xD0C
WO
0xFA050000
中断与复位控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
VECTORKEY
23
22
21
20
VECTORKEY
15
14
13
12
-
7
6
5
4
VECTCLRACTIV
SYSRESETREQ
E
-
位域
名称
描述
31:16
VECTORKEY
写入时须保证 0x05FA,否则写入会被忽略
15:3
-
-
2
SYSRESETREQ
写 1 时复位芯片,复位时自动清除
1
VECTCLRACTIVE
置 1 时清除所有异常活动状态
0
-
-
-
64
Version 1.25
SWM341 系列
系统控制寄存器 SCR
寄存器
偏移
类型
复位值
描述
SCR
0xD10
R/W
0x00000000
系统控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
4
3
2
1
0
SWVONPEND
-
SLEEPDEEP
SLEEPONEXIT
-
23
22
21
20
-
15
14
13
12
-
7
6
5
-
位域
名称
描述
31:5
-
-
4
SWVONPEND
使能后,可将中断挂起过程作为唤醒事件
3
-
深睡眠提醒
2
SLEEPDEEP
0:sleep
1:deep sleep
1
SLEEPONEXIT
置 1 后,内核从异常状态返回后进入睡眠模式
0
-
-
65
Version 1.25
SWM341 系列
系统优先级控制寄存器 1SHPR1
寄存器
偏移
类型
复位值
描述
SHPR1
0xD18
R/W
0x00000000
系统优先级控制寄存器 1
31
30
29
28
27
PRI_7
23
22
14
21
20
19
24
18
17
16
9
8
1
0
13
12
11
PRI_5
7
25
-
PRI_6
15
26
10
-
6
5
4
3
PRI_4
2
-
位域
名称
描述
31:29
PRI_7
-
28:24
-
-
23:21
PRI_6
20:16
-
15:13
PRI_5
12:8
-
7:5
PRI_4
4:0
-
系统处理器优先级 6:UsageFault
0 为最高,7 为最低
系统处理器优先级 5:BusFault
0 为最高,7 为最低
系统处理器优先级 4:MemManage
0 为最高,7 为最低
-
66
Version 1.25
SWM341 系列
系统优先级控制寄存器 2SHPR2
寄存器
偏移
类型
复位值
描述
SHPR2
0xD1C
R/W
0x00000000
系统优先级控制寄存器 2
31
30
29
28
27
PRI_11
23
22
26
25
24
21
20
19
18
17
16
11
10
9
8
3
2
1
0
15
14
13
12
-
7
6
5
4
-
位域
名称
31:29
PRI_11
23:0
-
描述
系统处理器优先级 11:SVCall
0 为最高,7 为最低
-
67
Version 1.25
SWM341 系列
系统优先级控制寄存器 3SHPR3
寄存器
偏移
类型
复位值
描述
SHPR3
0xD20
R/W
0x00000000
系统优先级控制寄存器 3
31
30
29
28
27
PRI_15
23
22
14
25
24
17
16
21
20
19
PRI_14
15
26
18
-
13
12
11
10
9
8
3
2
1
0
7
6
5
4
-
位域
名称
31:29
PRI_15
28:24
-
23:21
PRI_14
20:0
-
描述
系统处理器优先级 15:SysTick
0 为最高,7 为最低
系统处理器优先级 14:PendSV
0 为最高,7 为最低
-
68
Version 1.25
SWM341 系列
6.5
浮点单元(FPU)
6.5.1 概述
Cortex®-M33 提供了“浮点单元(FPU)”用以管理中断事件。
®
更多细节请参阅“Cortex®-M33 技术参考手册”及“ARM CoreSight 技术参考手册”。
6.5.2 特性
⚫
具有 32 个 32 位寄存器的浮点寄存器组,可以用作 32 位寄存器,也可以成对用作 16
个双字节寄存器
⚫
单精度浮点计算
⚫
浮点单元寄存器组和存储器间单精度和双精度数据的数据传输
⚫
浮点单元寄存器组和整数寄存器组间的单精度数据传输
⚫
可选的双精度算术运算
⚫
“整数-单精度浮点”、
“定点-单精度浮点”
、
“半精度-单精度浮点”格式之间的转换
⚫
ARM 通用寄存器和 FPv5 扩展寄存器 S0-S31 或 D0-D15 之间的单精度和双精度值的
数据传输
⚫
启用或禁用的清零模式
⚫
启用或禁用的默认 NaN 模式
⚫
IEEE 754 半精度格式和交替半精度格式
69
Version 1.25
SWM341 系列
6.5.3 功能描述
Cortex®-M33 内核具有单精度浮点单元 (FPU),支持所有 Arm®单精度数据处理指令和所有数
据类型。
Cortex-M33 浮点单元 (FPU) 实现了 FPv5 浮点扩展。FPU 支持单精度加、减、乘、除、乘和
累加以及平方根运算。 它还提供定点和浮点数据格式之间的转换,以及浮点常量指令。
FPU 提供符合 ANSI/IEEE Std 754-2008、IEEE 二进制浮点运算标准(称为 IEEE 754 标准)的
浮点计算功能。
FPU 包含 32 个单精度扩展寄存器,您还可以将其作为 16 个双字寄存器进行访问,以进行加载、
存储和移动操作。
注:浮点有时缩写为 FP
浮点寄存器组
浮点寄存器组包含 32 个 32 位寄存器,也可以用作 16 个 64 位双字节寄存器,FPv5 浮点处理的
寄存器如下所示:
⚫
32 个单精度寄存器,S0-S31
⚫
16 个双精度寄存器,D0-D15
如图 6-3 所示:
70
Version 1.25
SWM341 系列
图 6-3 浮点寄存器组
S0~S15 为调用者保存寄存器。因此若函数 A 调用了函数 B,由于这些寄存器可能会被函数调用
改变(如返回结果),函数 A 在调用函数 B 之前必须保存这些寄存器的内容。
S16~S31 为被调用者寄存器。因此,若函数 A 调用了函数 B,且函数 B 在计算时需要使用的寄
存器超过 16 个,则必须保存这些寄存器的内容(如保存在栈中)
,而且必须在返回函数 A 前将
这些寄存器从栈中恢复。
注:复位后,S0-S31 或 D0-D15 的值未知
71
Version 1.25
SWM341 系列
6.5.4 寄存器映射
名称
FPU
偏移
类型
复位值
描述
BASE:0xE000EF30
FPCCR
0x04
R/W
0x00
浮点上下文控制寄存器
FPCAR
0x08
R/W
0x00
浮点上下文地址寄存器
FPDSCR
0x0C
R/W
0x00
浮点默认状态控制寄存器
MVFR0
0x10
RO
0x10110021
介质和 FP 特性寄存器 0
MVFR1
0x14
RO
0x11000011
介质和 FP 特性寄存器 1
72
Version 1.25
SWM341 系列
6.5.5 寄存器描述
浮点上下文控制寄存器 FPCCR
寄存器
偏移
类型
复位值
描述
FPCCR
0x04
R/W
0x00
浮点上下文控制寄存器
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
31
ASPEN
LSPACT
非安全状态:
位域
名称
描述
Automatic state preservation enable
执行浮点指令时启用 CONTROL.FPCA 设置。能够在浮点上下文异常进入和退出时自
31
ASPEN
动硬件状态保存和恢复。
0:在执行浮点指令时禁用 CONTROL.FPCA 设置
1:在执行浮点指令时启用 CONTROL.FPCA 设置
Automatic state preservation enable
启用浮点状态的延迟上下文保存。
30
LSPEN
0:禁用自动延迟上下文保存
1:使能自动延迟上下文保存
注:如果 LSPENS 设置为 1,从非安全状态写入该位时忽略
29
LSPENS
RAZ/WI
Clear on return
在异常返回时清除浮点调用者保存的寄存器
28
CLRONRET
0:禁用
1:使能
注:当设置为 1 时,调用者保存浮点寄存器 S0 S15,如果 CONTROL.FPCA 设置为 1
且 FPCCR_S.LSPACT 设置为 0,则 FPSCR 在异常返回(包括尾链)时被清除。
27
CLRONRETS
RAZ/WI
26
TS
RAZ/WI
25:11
-
-
73
Version 1.25
SWM341 系列
UsageFault ready
10
UFRDY
处理器分配浮点堆栈帧时是否将 UsageFault 异常设置为挂起标志
0:不将 UsageFault 异常设置为挂起
1:将 UsageFault 异常设置为挂起
Stack pointer limit violation
9
SPLIMVIOL
SPLIMVIOL 改变惰性浮点状态是否保存
0:保留现有行为
1:不执行与浮点状态保存相关的内存访问
DebugMonitor ready
8
MONRDY
处理器分配浮点堆栈帧时是否将 DebugMonitor 异常设置为挂起
0:禁用
1:使能
7
SFRDY
RAZ/WI
BusFault ready
6
BFRDY
处理器分配浮点堆栈帧时是否将 BusFault 异常设置为挂起
0:禁用
1:使能
MemManage ready
5
MMRDY
处理器在分配浮点堆栈帧时是否将 MemManage 异常设置为挂起。
0:禁用
1:使能
HardFault ready
4
HFRDY
处理器在分配浮点堆栈帧时是否将 HardFault 异常设置为挂起
0:禁用
1:使能
Thread mode
分配浮点堆栈帧时的处理器模式。
3
THREAD
该位在安全状态时存入
0:Handler mode
1:Thread mode
2
S
RAZ/WI
当处理器分配浮点堆栈时的优先级
1
USER
0:优先级
1:非优先级
Lazy state preservation active
浮点状态的延迟保存是否处于活动状态
0
LSPACT
0:非活动
1:活动
注:在非安全状态下访问以 _NS 结尾的寄存器是 RAZ/WI
安全扩展:
位域
名称
描述
74
Version 1.25
SWM341 系列
Automatic state preservation enable
执行浮点指令时启用 CONTROL.FPCA 设置。能够在浮点上下文异常进入和退出时自
31
ASPEN
动硬件状态保存和恢复。
0:在执行浮点指令时禁用 CONTROL.FPCA 设置
1:在执行浮点指令时启用 CONTROL.FPCA 设置
Automatic state preservation enable
启用浮点状态的延迟上下文保存。
30
LSPEN
0:禁用自动延迟上下文保存
1:使能自动延迟上下文保存
注:如果 LSPENS 设置为 1,从非安全状态写入该位时忽略
Lazy state preservation enable Secure only
29
LSPENS
LSPEN 位是否可在非安全状态写入
0:LSPEN 可从两个安全状态读取和写入
1:LSPEN 可从两个安全状态读取。从非安全状态忽略对 LSPEN 的写入
Clear on return
在异常返回时清除浮点调用者保存的寄存器
28
CLRONRET
0:禁用
1:使能
注:当设置为 1 时,调用者保存浮点寄存器 S0 S15,如果 CONTROL.FPCA 设置为 1
且 FPCCR_S.LSPACT 设置为 0,则 FPSCR 在异常返回(包括尾链)时被清除。
Clear on return Secure only
控制 CLRONRET 位是否可从非安全状态写入
27
CLRONRETS
0:CLRONRET 字段可从两个安全状态访问
1:CLRONRET 字段的非安全状态是只读的
该位是非安全状态的 RAZ/WI
Treat as Secure
将浮点寄存器视为安全使能
0:禁用
26
TS
1:使能
当设置为 0 时,即使内核处于安全状态,浮点寄存器也被视为非安全,因此,被
调用者保存的寄存器永远不会被推送到堆栈中。 如果浮点寄存器从不包含需要保
护的数据,清除该标志可以减少中断延迟。
25:11
-
UsageFault ready
10
UFRDY
处理器分配浮点堆栈帧时是否将 UsageFault 异常设置为挂起标志
0:不将 UsageFault 异常设置为挂起
1:将 UsageFault 异常设置为挂起
Stack pointer limit violation
9
SPLIMVIOL
SPLIMVIOL 改变惰性浮点状态是否保存
0:保留现有行为
1:不执行与浮点状态保存相关的内存访问
75
Version 1.25
SWM341 系列
DebugMonitor ready
8
MONRDY
处理器分配浮点堆栈帧时是否将 DebugMonitor 异常设置为挂起
0:禁用
1:使能
SecureFault ready
7
SFRDY
如果从非安全状态访问,为 RAZ/WI
如果从安全状态访问,指示(当处理器分配浮点堆栈帧时)是否能够将 SecureFault
异常设置为挂起。
BusFault ready
6
BFRDY
处理器分配浮点堆栈帧时是否将 BusFault 异常设置为挂起
0:禁用
1:使能
MemManage ready
处理器在分配浮点堆栈帧时是否将 MemManage 异常设置为挂起。
5
MMRDY
可在非安全状态写入
0:禁用
1:使能
HardFault ready
处理器在分配浮点堆栈帧时是否将 HardFault 异常设置为挂起
4
HFRDY
可在非安全状态写入
0:禁用
1:使能
Thread mode
分配浮点堆栈帧时的处理器模式。
3
THREAD
该位在安全状态时存入
0:Handler mode
1:Thread mode
Security status of the floating point context
如果从非安全状态访问,为 RAZ/WI
2
S
每当激活延迟状态保存或执行浮点指令时,此位更新
0:表示浮点上下文属于非安全状态
1:表示浮点上下文属于安全状态
当处理器分配浮点堆栈时的优先级
1
USER
0:优先级
1:非优先级
Lazy state preservation active
浮点状态的延迟保存是否处于活动状态
0
LSPACT
0:非活动
1:活动
76
Version 1.25
SWM341 系列
浮点上下文地址寄存器 FPCAR
寄存器
偏移
类型
复位值
描述
FPCAR
0x08
R/W
0x00
浮点上下文地址寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
ADDRESS
23
22
21
20
ADDRESS
15
14
13
12
ADDRESS
7
6
5
4
ADDRESS
位域
名称
描述
31:3
ADDRESS
未填充浮点地址
2:0
-
-
-
77
Version 1.25
SWM341 系列
浮点默认状态寄存器 FPSCR
寄存器
偏移
类型
复位值
描述
FPDSCR
0x80
R/W
0x00
浮点默认状态寄存器
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
位域
名称
描述
31
N
Condition code flag.
30
Z
由浮点比较操作更新标志
29
C
N:负标志
Z:零标志
28
V
C:进位/借位标志
V:溢出标志
27
-
-
Alternative half-precision
交替半精度控制
26
AHP
0:IEEE 半精度格式
1:交替半精度格式
Default NaN
25
DN
默认 NaN(非数据)模式控制
0:NaN 操作返回浮点运算
1:任何一个或多个 NaN 的操作都返回默认 NaN
Flush-to-zero
清零模式控制位
24
FZ
0:禁用清零模式,
(符合 IEEE 754 标准)
1:使能清零模式
Rounding Mode
00:向最近值舍入(RN)模式
23:22
RMode
01:向正无穷大舍入(RP)模式
10:向负无穷大舍入(RM)模式
11:向 0 舍入(RZ)模式
21:8
78
Version 1.25
SWM341 系列
Input Denormal cumulative
7
IDC
6:5
-
-
4
IXC
累积异常位,另见 bit[7]。
3
UFC
在产生浮点异常时为 1,写 0 清除该位
2
OFC
IDC:输入非标准累积异常位,bit[7]
1
DZC
IXC:不精确的累积异常位
输入非标准累积异常,参见 bit[4:0]。
UFC:下溢累积异常位
OFC:溢出累积异常位
0
IOC
DZC:被零除累积异常位
IOC:非法操作累积异常位
79
Version 1.25
SWM341 系列
浮点默认状态控制寄存器 FPDSCR
寄存器
偏移
类型
复位值
描述
FPDSCR
0x0C
R/W
0x00
浮点默认状态控制寄存器
30
29
31
28
27
26
25
24
AHP
DN
FZ
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
19
RMode
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:27
-
FPSCR 寄存器的 AHP 位的值
交替半精度控制
26
AHP
0:IEEE 半精度格式
1:交替半精度格式
FPSCR 寄存器的 DN 位的值
25
DN
默认 NaN(非数据)模式控制
0:NaN 操作返回浮点运算
1:任何一个或多个 NaN 的操作都返回默认 NaN
FPSCR 寄存器的 FZ 位的值
Flush-to-zero
24
FZ
清零模式控制位
0:禁用清零模式,
(符合 IEEE 754 标准)
1:使能清零模式
FPSCR 寄存器的 RMode 位的值
00:向最近值舍入(RN)模式
23:22
RMode
01:向正无穷大舍入(RP)模式
10:向负无穷大舍入(RM)模式
11:向 0 舍入(RZ)模式
21:0
-
-
80
Version 1.25
SWM341 系列
介质和 FP 特性寄存器 0 MVFR0
寄存器
偏移
类型
复位值
描述
MVFR0
0x84
RO
0x10110021
介质和 FP 特性寄存器 0
31
30
29
28
27
26
FP_rounding_modes
23
22
21
14
20
19
18
6
17
16
9
8
Divide
13
12
11
FP_excep_trapping
7
24
Short_vectors
Square_root
15
25
5
10
Double_precision
4
3
Single_precision
2
1
0
A_SIMD_registers
位域
名称
描述
31:28
FP_rounding_modes
FP 舍入模式
27:24
Short_vectors
短向量
23:20
Square_root
平方根
19:16
Divide
除法
15:12
FP_excep_trapping
FP 异常陷阱
11:8
Double_precision
双精度
7:4
Single_precision
单精度
3:0
A_SIMD_registers
支持 16×64 位 FP 寄存器组
81
Version 1.25
SWM341 系列
介质和 FP 特性寄存器 1 MVFR1
寄存器
偏移
类型
复位值
描述
MVFR1
0x14
RO
0x11000011
介质和 FP 特性寄存器 1
31
30
29
28
27
26
FP_fused_MAC
23
22
21
25
24
FP_HPFP
20
19
18
17
16
11
10
9
8
3
2
1
0
15
14
13
12
-
7
6
5
4
D_NaN
FtZ_mode
位域
名称
描述
31:28
FP_fused_MAC
融合 MAC
27:24
FP_HPFP
FP 半精度 FP 转换
23:8
-
-
7:4
D_NaN
默认 NaN 模式
3:0
FtZ_mode
清为零模式
82
Version 1.25
SWM341 系列
6.6
系统管理(SYSCON)
6.6.1 概述
系统管理为整个芯片提供时钟源,包括系统时钟和所有外围设备时钟。该控制器还通过单独时钟
的开或关,时钟源选择和 PLL 来进行功耗控制。
6.6.2 特性
⚫
时钟控制
⚫
工作模式选择
⚫
休眠使能
⚫
RTC 唤醒设置
⚫
端口唤醒设置
⚫
BOD 掉电检测控制
⚫
复位控制及状态
⚫
UID
83
Version 1.25
SWM341 系列
6.6.3 模块结构框图
SYS
DMA
DBL
LCD
CRC
X2
CORDIC
GPIOM/N
20MHz HRC
AHB
/8
CPU
PLL
XIN
XOUT
APB1
GPIO
SYS
2-32MHz XTAL
TIMR
CLK_DIVx
UART
SPI
CLK
PWM
32KHz LRC
/2
APB2
PORT
X32K_IN
X32K_OUT
CAN
XTAL_32K
I2C
WDT
HRC
XTAL
HRC/4
ADC
XTAL/4
HRC/8
XTAL/8
CLKSEL.ADC
图 6-4 时钟结构框图
注:系统时钟:SYSCLK;AHB 时钟:HCLK;APB1 时钟:PCLK1;APB2 时钟:PCLK2。
SYSCLK = HCLK = PCLK1 = 2* PCLK2。
例如:系统时钟 SYSCLK 选择的是 40MHz,那么 PCLK1=40MHz,PCLK2=20MHz。
84
Version 1.25
SWM341 系列
6.6.4 功能描述
时钟控制
SWM341 有 5 个时钟源可供使用:
⚫
内部高频振荡器(RCHF):内部高频振荡器为片内时钟源,无需连接任何外部器件。频
率为 20MHz 或 40MHz,通过 HRCCR 寄存器进行切换,可提供较精确的固定频率时钟.
⚫
内部低频振荡器(RCLF)
:内部低频振荡器为片内时钟源,无需连接任何外部器件。频
率为 32KHz。
⚫
外部振荡器(XTAH)
:外部振荡器可接 4~32MHz 频率.
⚫
外部低频振荡器(XTAL):外部低频振荡器,支持 32.768KHz 时钟接入
⚫
PLL:支持 RCHF 或 XTAH 作为输入源
对于主时钟选择,通过 CLKSEL 寄存器,选择内部高频时钟或其他时钟。
CLKSEL 寄存器 SYS 选择内部高频时钟(RCHF)
,时钟源为 20MHZ 或 40MHZ(通过 HRCCR 寄
存器切换),此时 CLKSEL 寄存器 CLK_DIVX 无效。
CLKSEL 寄存器 SYS,选择其他时钟,时钟源可选片内高频 RC 振荡器(RCHF:20/40MHz)
、片
外高频晶体振荡器(XTAH:4~32MHz)
、片外低频晶体振荡器(XTAL:32.768KHz)
、片内 PLL、
片内低频 RC 振荡器(RCLF:32KHz),此时 CLKSEL 寄存器 CLK_DIVX 有效:
⚫
CLKSEL 寄存器 CLK_DIVX 选择内部 RCHF 时钟不分频
⚫
CLKSEL 寄存器 CLK_DIVX 选择内部 RCHF 时钟 4 分频
CLKSEL 寄存器 CLK 选择片外时钟。选择片外时钟前,需将相应引脚输入使能通过 INEN_x 寄存
器打开,并通过寄存器 PORTx_SEL 将相应引脚换至外接晶振功能,且将 XTALCR 寄存器中外接
晶振使能位使能。完成上述操作后,需根据外部晶振起振时间,使用软件产生一定时间,确保晶
振稳定震荡,最后将 CLKSEL 寄存器中相应位设置为片外震荡器。
注意:执行时钟切换时,需要保证目标时钟使能及通路打开,在 20MHZ 与 40MHZ 相互切换时,
需要先切换至 32KHZ 时钟
对于 ADC 时钟,通过 CLKSEL 寄存器 ADC_CLK 和 ADC_DIV 位配置,可通过 ADC_CLK 选择片内
高频 RC 振荡器(RCHF:20/40MHz)、片外高频晶体振荡器(XTAH:4~32MHz)
、片内 PLL。
可通过 ADC_DIV 选择 SARADC 时钟源分频,可选不分频、4 分频、8 分频。
内部 RCHF 及 RCLF 可通过 HRCCR 寄存器 ON 位与 LRCCR 寄存器 EN 位进行关闭操作,关闭前
需确认时钟已切换,并未使用即将执行关闭操作的时钟。
外设时钟控制功能可控制以下外设时钟打开及关闭:
⚫
GPIO
⚫
TIMER
85
Version 1.25
SWM341 系列
⚫
BTIMER
⚫
UART
⚫
I2C
⚫
SPI
⚫
WDT
⚫
SAR ADC
⚫
PWM
⚫
ANACON
⚫
DIV
⚫
CORDIC
⚫
LCD
⚫
CAN
⚫
RTC
⚫
CRC
上电后,以上模块均处于时钟关闭状态,需要通过设置 CLKEN 寄存器进行时钟使能,否则访问
对应模块寄存器操作无效。
IO 滤波(IOFILT)
SWM341 系列 GPIOA15/B2/B3/B4/B5/C0/C1/C2 提供了 IO 滤波功能。
可通过 IOFILTx 寄存器配置滤波 IO、滤波时钟、滤波窗口时间等。
休眠与唤醒设置
SWM341 系列提供浅睡眠和深睡眠模式,通过 SLEEP 寄存器进行使能操作。
深睡眠模式
深睡眠模式只支持 IO 端口唤醒,且 IO 为特定 WAKUP 引脚。
端口唤醒:
具体流程如下:
⚫
确认 RCLF(32KHZ 时钟)为使能状态
⚫
将需要执行唤醒操作的引脚对应 PxWKEN 寄存器及 INEN_x 寄存器指定位配置为 1,
使能相应端口对应位输入使能及唤醒功能
⚫
SLEEP 寄存器 STOP 置 1 后,芯片进入深睡眠模式
86
Version 1.25
SWM341 系列
⚫
唤醒端口 WAKUP,当 WAKUP 端口对应位产生下降沿时,芯片被唤醒,继续执行
程序。
⚫
唤醒后,端口对应 PxWKSR 寄存器对应位被置 1,可通过对该位写 1 进行清除(该
位对进入休眠无影响)
深睡眠模式下,芯片进入掉电状态,所有时钟均关闭,RAM 内数据也会丢失。通过向 SLEEP
寄存器 BIT[1]置 1,且 wakeup 引脚为高时,芯片进入睡眠模式。只能通过指定 wakeup 引脚
唤醒芯片,唤醒后,芯片相当于重新上电。
浅睡眠模式
浅睡眠模式下,芯片进入保持状态,所有时钟关闭,在功耗较低的前提下保持数据。可以通过配
置任意 I/O 引脚进行唤醒操作,也可以通过 RTC 定时器进行唤醒操作,或者两种唤醒操作同时
存在。IO 唤醒操作同样为下降沿唤醒。唤醒后,程序从睡眠使能语句继续执行。
注意:浅睡眠模式使能前需保证 RCLF(32KHZ)时钟为使能状态,且将所有不需要唤醒操作的
IO 输入使能关闭(PORTCON 模块中 INEN_x 寄存器)
。
在 sleep 之前,需要将时钟切换为内部高频。
RTC 唤醒
⚫
浅睡眠模式下,通过 SYSCON 模块中 RTCWKSR 寄存器及 RTCWKCR 寄存器进行定时器唤
醒操作。
⚫
流程如下:
⚫
关闭所有不需要唤醒功能的 IO 输入使能(PORTCON 模块中 INEN_x 寄存器)
⚫
配置 RTC 时钟源及唤醒时间
⚫
使能唤醒源,设置 RTCWKCR 寄存器 EN 位为 1 (使能前需通过写 1 清除 TWGFLG 寄存器
FLAG 位)
⚫
使能 RTC,RTC 开始计数
⚫
SLEEP 寄存器 SLLEP 置 1 后,芯片进入浅睡眠模式,RTC 计到设置值后唤醒芯片
⚫
唤醒后,RTCWKSR 寄存器 FLAG 位为 1(可通过对该位写 1 进行清除)
端口唤醒
⚫
浅睡眠模式下,可指定任意 IO 进行唤醒操作。示意图如图 6-5 所示。
⚫
具体流程如下:
⚫
确认 RCLF(32KHZ 时钟)为使能状态
⚫
将需要执行唤醒操作的引脚对应 PxWKEN 寄存器及 INEN_x 寄存器指定位配置为 1,使
能相应端口对应位输入使能及唤醒功能
⚫
SLEEP 寄存器 SLEEP 置 1 后,芯片进入浅睡眠模式
87
Version 1.25
SWM341 系列
⚫
唤醒端口可配置为 GPIO 端口,以及 UART 模块 RX 端口或 I2C 模块 DAT 端口,当配置端
口对应位产生下降沿时,芯片被唤醒,继续执行程序。使用通讯接口进行唤醒时,需
保证通讯采样速率低于 32KHZ,避免出现数据丢失现象
⚫
唤醒后,端口对应 PxWKSR 寄存器对应位被置 1,可通过对该位写 1 进行清除(该位对
进入休眠无影响)
注意:所有配置为唤醒功能的引脚,执行唤醒过程时只能有一个产生下降沿,对应引脚必须保证
为高电平。为保证功耗最低,需确认所有输入使能引脚无悬空输入状态
CLK
SLEEP
PIN1
PIN2
图 6-5 端口唤醒示意图
PLL 配置
PLL 的输入参考时钟源可设置为内部高频时钟或外部高频晶振输入,最大输出时钟可设置为
150MHz。
计算公式:
PLL 输出频率 = VCO / OUTDIV
VCO = 输入时钟源 / INDIV * 4 * FBDIV
具体配置步骤:
⚫
通过 PLLCR 寄存器选择 PLL 参考时钟源
⚫
通过 PLLDIV 寄存器 INDIV 位设置输入参考时钟源分频
⚫
通过 PLLDIV 寄存器 FB 位设置 PLL 反馈分频
⚫
通过 PLLDIV 寄存器 OUTDIV 位设置 PLL 输出分频
⚫
连续 2 次读取到 PLLLOCK 寄存器为 1 时,设置 PLLCR 寄存器 OUTEN 位使能 PLL 时钟输
出
BOD 掉电检测
芯片提供了低电压中断及复位功能,通过 BODCR 寄存器进行配置。
通过配置寄存器 BODCR,可选择电压低压 2.0V/1.7V 产生复位,当电压低于配置电压时,将产
生低压复位,使整个芯片处于复位状态。该功能为常开功能。
88
Version 1.25
SWM341 系列
通过配置寄存器 BODCR,可选择电压低压 2.7V/2.3V/2.0V 产生中断,当电压低于配置电压时,
将产生 BOD 中断信号,通过查询 BODIF 寄存器 IF 位可以获取状态。
IF 位为中断状态位,当芯片供电电压从中断电压设定值以上变为低于中断电压设定值时,该位
将被置 1(沿触发)。此时若 IE 位为非屏蔽状态(IE = 1)
,则 NVIC 控制器将接收到 BOD 中断。
该中断可通过向 IF 位写 1 清除。清除后,即使电压低于中断电压设定值,IF 位也不会发生变化,
也不会再次产生中断,直至供电电压再次出现从中断电压设定值以上至中断电压设定值以下的下
降沿。
用户 ID
芯片可以提供唯一 96 BIT ID 号用于加密使用。
89
Version 1.25
SWM341 系列
6.6.5 寄存器映射
名称
SYSCON
偏移
类型
复位值
描述
BASE:0x40000000
CLKSEL
0x00
R/W
0x01
时钟选择控制寄存器
CLKDIV
0x04
R/W
0x00
内部源时钟门控寄存器
CLKEN0
0x08
R/W
0x00
外设时钟门控寄存器 0
CLKEN1
0x0C
R/W
0x00
外设时钟门控寄存器 1
SLEEP
0x10
R/W
0x00
系统模式控制寄存器
RSTSR
0x24
R/W1C
0x00
芯片复位状态寄存器
RTCWKCR
0x30
R/W
0x00
RTC 唤醒使能控制寄存器
RTCWKSR
0x34
R/W1C
0x00
RTC 唤醒标志寄存器
USBPHYCR
0x70
R/W
0x50
USB 模块 PHY 控制寄存器
USBCR
0x74
R/W
0x00
USB 模块控制寄存器
CHIP_ID0
0x80
RO
—
芯片 96 位 ID 寄存器 0
CHIP_ID1
0x84
RO
—
芯片 96 位 ID 寄存器 1
CHIP_ID2
0x88
RO
—
芯片 96 位 ID 寄存器 2
PRNGCR
0x0d0
R/W
0x00
PRNG 控制寄存器
PRNGDL
0x0d4
RO
0x00
PRNG 随机数输出寄存器低 32 位数据
PRNGDH
0x0d8
RO
0x00
PRNG 随机数输出寄存器高 32 位数据
PAWKEN
0x100
R/W
0x00
PORTA 唤醒使能控制寄存器
PBWKEN
0x104
R/W
0x00
PORTB 唤醒使能控制寄存器
PCWKEN
0x108
R/W
0x00
PORTC 唤醒使能控制寄存器
PDWKEN
0x10C
R/W
0x00
PORTD 唤醒使能控制寄存器
PEWKEN
0x110
R/W
0x00
PORTE 唤醒使能控制寄存器
PMWKEN
0x120
R/W
0x00
PORTM 唤醒使能控制寄存器
PNWKEN
0x124
R/W
0x00
PORTN 唤醒使能控制寄存器
PAWKSR
0x130
R/W1C
0x00
PORTA 唤醒状态寄存器
PBWKSR
0x134
R/W1C
0x00
PORTB 唤醒状态寄存器
PCWKSR
0x138
R/W1C
0x00
PORTC 唤醒状态寄存器
PDWKSR
0x13C
R/W1C
0x00
PORTD 唤醒状态寄存器
PEWKSR
0x140
R/W
0x00
PORTE 唤醒状态寄存器
PMWKSR
0x150
R/W1C
0x00
PORTM 唤醒状态寄存器
PNWKSR
0x154
R/W1C
0x00
PORTN 唤醒状态寄存器
IOFILT0
0x400
R/W
0x00
IO 滤波窗口时间配置寄存器 0
IOFILT1
0x404
R/W
0x00
IO 滤波窗口时间配置寄存器 1
PRSTEN
0x720
R/W
0x0000_0000
芯片复位屏蔽寄存器
PRSTR0
0x724
R/W
0x0000_0000
芯片复位配置寄存器 0
PRSTR1
0x728
R/W
0x0000_0000
芯片复位配置寄存器 1
0x1
内部高频 RC 振荡器配置寄存器
ANACON
HRCCR
BASE:0x0400AA000
0x00
R/W
90
Version 1.25
SWM341 系列
BODCR
0x10
R/W
0x00
BOD 控制寄存器
BODIF
0x14
R/W1C
0x00
BOD 中断状态寄存器
ADCCR
0x18
R/W
0x00
ADC 控制寄存器
XTALCR
0x20
R/W
0x00
晶体振荡器控制寄存器
XTALST
0x24
R/W1C
0x00
晶体振荡器状态寄存器
PLLCR
0x40
R/W
0x00
PLL 控制寄存器
PLLDIV
0x44
R/W
0x00
PLL 分频寄存器
PLLST
0x4C
RO
0x00
PLL 状态寄存器
LRCCR
0x50
R/W
0x0000_0001
芯片内部低频 RC 配置寄存器
DACCR
0x90
R/W
0x00
DAC 控制寄存器
TEMPCR
0x98
R/W
0x00
TEMP 控制寄存器
91
Version 1.25
SWM341 系列
6.6.6 寄存器描述
时钟选择控制寄存器 CLKSEL
寄存器
偏移
类型
复位值
描述
CLKSEL
0x00
R/W
0x3001
时钟选择控制寄存器
30
29
31
28
27
26
25
24
23
22
21
ADC1DIV
15
13
-
19
12
5
11
名称
描述
31:25
-
-
17
4
10
3
16
ADC0
9
SDIO
RTC
位域
18
ADC0DIV
WDT
6
IOFILT
20
ADC1
14
7
SLEEP
8
-
2
CLK
1
0
CLK_DIVX
SYS
SLEEP 唤醒时钟选择
24
SLEEP
1:片外低频晶体振荡器(32.768KHz)
0:内部低频 RC 振荡器(32KHz)
SARADC 采样时钟源分频选择,对所有 SARADC 均有效
23:22
ADC1DIV
0x:不分频
10:时钟源的 4 分频
11:时钟源的 8 分频
SARADC 采样时钟选择,对所有 SARADC 均有效
21:20
ADC1
00:片内高频 RC 振荡器(20/40MHz)
01:片外高频晶体振荡器(4~32MHz)
1x:PLL
SARADC 采样时钟源分频选择,对所有 SARADC 均有效
19:18
ADC0DIV
0x:不分频
10:时钟源的 4 分频
11:时钟源的 8 分频
SARADC 采样时钟选择,对所有 SARADC 均有效
17:16
ADC0
00:片内高频 RC 振荡器(20/40MHz)
01:片外高频晶体振荡器(4~32MHz)
1x:PLL
15:14
-
-
92
Version 1.25
SWM341 系列
WDT 计数时钟选择
11:片外低频晶体振荡器(32.768KHz)
10:片内低频 RC 振荡器(32KHz)
13:12
WDT
01:片外高频晶体振荡器(4~32MHz)
00:片内高频 RC 振荡器(20/40MHz)
注:WDT 计数时钟在进行不同源选择时,必须先将 WDT 使能关闭,再进行时钟源
切换。
SDIO 时钟选择
11:系统时钟
10:系统时钟的 4 分频
01:系统时钟的 8 分频
11:10
SDIO
00:系统时钟的 2 分频
注 1:SDIO 时钟在进行不同源选择时,必须先将 SDIO 时钟使能关闭,再进行时
钟源切换。
注 2:SDIO 时钟频率小于 52MHz,因此需要根据配置的系统时钟频率来决定该分频
的数值。
9:8
-
滤波时钟选择
7:6
IOFILT
0x:片内高频 RC 振荡器(20/40MHz)
10:片外高频晶体振荡器(4~20MHz)
11:片内低频 RC 振荡器(32KHz)
32K 时钟选择
5
RTC
1:片外低频晶体振荡器(32.768KHz)
0:内部低频 RC 振荡器(32KHz)
CLK 选择
1xx:片内高频 RC 振荡器(20/40MHz)
4:2
CLK
011:片外高频晶体振荡器(4~20MHz)
010:片外低频晶体振荡器(32.768KHz)
001:PLL
000:片内低频 RC 振荡器(32KHz)
内部源时钟分频时钟 CLK_DIVX 选择
1
CLK_DIVX
1:SRC_CLK 8 分频
0:SRC_CLK
系统时钟选择
0
SYS
1:片内高频 RC 振荡器 RCHF(20/40MHz)
0:内部源时钟分频时钟 CLK_DIVX
注:更改 CLK 或 DIV 设置时,需要将此位先切换为 1,再进行时钟源或分频切换
93
Version 1.25
SWM341 系列
时钟选择控制寄存器 CLKDIV
寄存器
偏移
类型
复位值
描述
CLKDIV
0x04
R/W
0x00
源时钟控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:1
-
-
ON
内部源时钟 DIVCLK 分频时钟使能
0
ON
1:关闭
0:打开
注:更改 DIV 时,需保证此位为 1,在关闭状态下进行更改
94
Version 1.25
SWM341 系列
时钟门控控制寄存器 0 CLKEN0
寄存器
偏移
类型
复位值
描述
CLKEN0
0x08
R/W
0x00
时钟门控控制寄存器 0
31
30
29
28
27
26
25
24
-
LCD
DMA2D
CAN0
-
ADC0
ANAC
USB
23
22
21
20
19
18
17
16
-
SDIO
DIV
CORDIC
CRC
15
14
13
12
11
10
9
8
I2C0
SPI1
SPI0
PWM
TIMER
WDT
UART3
UART2
7
6
5
4
3
2
1
0
UART1
UART0
GPION
GPIOM
GPIOD
GPIOC
GPIOB
GPIOA
位域
名称
描述
31
-
-
30
LCD
LCD_COLOR 时钟使能
29
DMA2D
DMA2D 时钟使能
28
CAN0
CAN0 时钟使能
27
-
-
26
ADC0
SARADC_CTRL0 时钟使能
25
ANAC
ANA_CTRL 时钟使能
24
USB
USB 时钟使能
23
-
-
22
SDIO
SDIO 时钟使能
21
DIV
DIV 时钟使能
20
CORDIC
CORDIC 时钟使能
19
CRC
CRC 时钟使能
18:17
-
-
16
I2C1
I2C1 时钟使能
15
I2C0
I2C0 时钟使能
14
SPI1
SPI1 时钟使能
13
SPI0
SPI0 时钟使能
12
PWM
PWM 时钟使能
11
TIMER
TIMER 时钟使能
10
WDT
WDT 时钟使能
9
UART3
UART3 时钟使能
8
UART2
UART2 时钟使能
7
UART1
UART1 时钟使能
6
UART0
UART0 时钟使能
-
I2C1
95
Version 1.25
SWM341 系列
5
GPION
GPION 时钟使能
4
GPIOM
GPIOM 时钟使能
3
GPIOD
GPIOD 时钟使能
2
GPIOC
GPIOC 时钟使能
1
GPIOB
GPIOB 时钟使能
0
GPIOA
GPIOA 时钟使能
96
Version 1.25
SWM341 系列
时钟门控控制寄存器 1 CLKEN1
寄存器
偏移
类型
复位值
描述
CLKEN1
0x0C
R/W
0x00
时钟门控控制寄存器 1
30
29
31
28
27
-
26
25
24
DAC
JPEG
-
23
22
21
20
19
18
17
16
-
BTIMER
-
IOFILT
RTC
-
CAN1
ADC1
15
14
13
12
11
10
9
8
EFC
SDRAM
5
4
7
6
-
-
3
UART4
位域
名称
描述
31:27
-
-
27
QEI
QEI 时钟使能
26
DAC
DAC 时钟使能
25
JPEG
JPEG 时钟使能
24:23
-
-
22
BTIMER
BTIMER 时钟使能
21
-
-
20
IOFILT
IOFILT 时钟使能
19
RTC
RTC 时钟使能
18
-
-
17
CAN1
CAN1 时钟使能
16
ADC1
ADC1 时钟使能
15:14
-
-
13
SFC
SPI FLASH 时钟使能
12
SDRAM
SDRAM 时钟使能
11:9
-
-
8
SPI2
SPI2 时钟使能
7:5
-
-
4
UART4
UART4 时钟使能
3:1
-
-
0
GPIOE
GPIOE 时钟使能
2
-
SPI2
1
0
GPIOE
97
Version 1.25
SWM341 系列
系统模式控制寄存器 SLEEP
寄存器
偏移
类型
复位值
描述
SLEEP
0x10
R/W
0x00
系统模式控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
STOP
SLEEP
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:2
-
-
1
STOP
将该位置 1 后,系统将进入 STOP 模式
0
SLEEP
将该位置 1 后,系统将进入 SLEEP 模式
98
Version 1.25
SWM341 系列
芯片复位状态寄存器 RSTSR
寄存器
偏移
类型
复位值
描述
RSTSR
0x024
R/W1C
0x00
芯片复位状态寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
WDT
POR
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:2
-
WDT 复位状态标志寄存器,写 1 清零
1
WDT
1:出现 WDT 复位
0:未出现 WDT 复位
POR 复位状态标志寄存器,写 1 清零
0
POR
1:出现 POR 复位
0:未出现 POR 复位
99
Version 1.25
SWM341 系列
RTC 唤醒使能控制寄存器 RTCWKCR
寄存器
偏移
类型
复位值
描述
RTCWKCR
0x30
R/W
0x00
RTC 唤醒使能控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:1
-
-
EN
基本 RTC 唤醒使能寄存器
0
EN
1:使能基本 RTC 唤醒功能
0:禁止基本 RTC 唤醒功能
100
Version 1.25
SWM341 系列
RTC 唤醒标志寄存器 RTCWKSR
寄存器
偏移
类型
复位值
描述
RTCWKSR
0x34
R/W1C
0x00
RTC 唤醒标志寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:1
-
-
FLAG
基本 RTC 唤醒状态标志,写 1 清除
0
FLAG
0:未产生唤醒标志
1:已产生唤醒标志
101
Version 1.25
SWM341 系列
USB 模块 PHY 控制寄存器 USBPHYCR
寄存器
偏移
类型
复位值
描述
USBPHYCR
0x70
R/W
0x50
USB 模块 PHY 控制寄存器
31
30
29
PHY
TEST
23
22
28
27
26
25
24
19
18
17
16
11
10
9
8
21
20
-
15
14
13
12
-
位域
7
6
PLL
REF
名称
5
OTG
4
3
XCVR
TERN
2
1
OPMODE
0
ID
描述
phy 自测试结果,软件写 1 清零
31
PHY
1:自测试结果正常
0:自测试结果失败
30
TEST
phy 进入自测试模式,USB 工作时必须置 0
29:9
-
-
8
OTG
OTG 功能开关
1:使能 OTG 功能
0:不使能 OTG 功能
7
PLL
phy 内置 PLL 功能开关
USB 工作时必须置 1,不使用 USB 时可置 0 以节省功耗
参考时钟选择
6
REF
1:12MHz(默认值)
0:25MH
收发器模式选择
00:保留
5:4
XCVR
01:FS 全速(默认值)
10:LS 低速
11:无效值,不可用
端接模式选择,本项目不支持 HS 高速模式
3
TERN
0:保留
1:FS 全速
操作模式选择
00:正常操作(默认值)
2:1
OPMODE
01:不驱动
10:关闭 bit stuffing 和 NRZI encoding
11:正常操作但不自动生成 SYNC 和 EOP
102
Version 1.25
SWM341 系列
ID 信号采样使能,
0
ID
1:采样 ID PIN 状态
0:不采样 ID PIN 状态
103
Version 1.25
SWM341 系列
USB 模块控制寄存器 USBCR
寄存器
偏移
类型
复位值
描述
USBCR
0x74
R/W
0x00
USB 模块控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
RSTPLL
RST12M
RST48M
MODE
-
23
22
21
20
-
15
14
13
12
-
7
6
-
位域
名称
5
4
VBUS
ROLE
描述
usb otg 控制器当前工作角色,由控制器反馈,只读
31
MODE
0:host 模式
1:device 模式
30:6
-
5
VBUS
vbus 电压检测旁路
0:自动检测 vbus 电压状态,
1:强制 vbus 电压检测结果为高,用于 vbus pin 未封装出的产品形态
usb 角色配置
0X:ID PIN 自动识别,根据 ID PIN 状态,工作于 host 或 device 模式
4:3
ROLE
10:ID PIN 状态强制为低,工作于 host 模式,主要用于 ID PIN 未封装出的产品形态
11:ID PIN 状态强制为高,工作于 device 模式,主要用于 ID PIN 未封装出的产品形
态
2
RSTPLL
usb 控制器 PLL 时钟域复位控制
1
RST12M
usb 控制器 12M 时钟域复位控制
0
RST48M
usb 控制器 48M 时钟域复位控制
104
Version 1.25
SWM341 系列
芯片 96 位 ID 寄存器 0 CHIP_ID0
寄存器
偏移
类型
复位值
描述
CHIP_ID0
0x80
RO
—
芯片 96 位 ID 寄存器 0
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
ID0
23
22
21
20
ID0
15
14
13
12
ID0
7
6
5
4
ID0
位域
名称
描述
31:0
ID0
芯片 96 位 ID 寄存器 0
105
Version 1.25
SWM341 系列
芯片 96 位 ID 寄存器 1 CHIP_ID1
寄存器
偏移
类型
复位值
描述
CHIP_ID1
0x84
RO
—
芯片 96 位 ID 寄存器 1
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
ID1
23
22
21
20
ID1
15
14
13
12
ID1
7
6
5
4
ID1
位域
名称
描述
31:0
ID1
芯片 96 位 ID 寄存器 1
106
Version 1.25
SWM341 系列
芯片 96 位 ID 寄存器 2 CHIP_ID2
寄存器
偏移
类型
复位值
描述
CHIP_ID2
0x88
RO
—
芯片 96 位 ID 寄存器 2
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
ID2
23
22
21
20
ID2
15
14
13
12
ID2
7
6
5
4
ID2
位域
名称
描述
31:0
ID2
芯片 96 位 ID 寄存器 2
107
Version 1.25
SWM341 系列
随机数控制寄存器 PRNGCR
寄存器
偏移
类型
复位值
描述
PRNGCR
0x0d0
R/W
0x00
随机数控制寄存器
31
30
29
28
27
26
25
24
22
21
20
19
18
17
16
14
13
12
11
10
9
8
23
15
-
RDY
7
6
5
4
3
-
位域
名称
描述
31:9
-
-
8
RDY
7:3
-
2
1
0
CLKEN
CLK
SEEDCLR
PRNG 随机数准备标志,RO
当检测到该信号为 1 时,则可以读取 PRNG_DATAL 和 PRNG_DATAH
PRNG 随机数发生器时钟使能
2
CLKEN
0:所有时钟无效
1:正常工作
PRNG 随机数发生器时钟配置
1
CLK
0:三个时钟工作模式(RCHF、RCLF、XTALH)
;
1:两个时钟工作模式(RCHF、RCLF)
PRNG 种子清零寄存器
0
SEEDCLR
1:种子清零。此时随机数发生器不工作
0:随机数发生器工作
注:该信号如果有效,则其为高的时间不能短于 RCLF 一个周期。
108
Version 1.25
SWM341 系列
随机数输出寄存器低 32 位数据 PRNGDL
寄存器
偏移
类型
复位值
描述
PRNGDL
0x0d4
RO
0x00
随机数输出寄存器低 32 位数据
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
DATAL
23
22
21
20
DATAL
15
14
13
12
DATAL
7
6
5
4
DATAL
位域
名称
描述
31:0
DATAL
随机数输出寄存器低 32 位数据
109
Version 1.25
SWM341 系列
随机数输出寄存器高 32 位数据 PRNGDH
寄存器
偏移
类型
复位值
描述
PRNGDH
0x0d8
RO
0x00
随机数输出寄存器高 32 位数据
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
DATAH
23
22
21
20
DATAH
15
14
13
12
DATAH
7
6
5
4
DATAH
位域
名称
描述
31:0
DATAH
随机数输出寄存器高 31 位数据
110
Version 1.25
SWM341 系列
PORTA 唤醒使能控制寄存器 PAWKEN
寄存器
偏移
类型
复位值
描述
PAWKEN
0x100
R/W
0x00
PORTA 唤醒使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PAWKEN15
PAWKEN14
PAWKEN13
PAWKEN12
PAWKEN11
PAWKEN10
PAWKEN9
PAWKEN8
7
6
5
4
3
2
1
0
PAWKEN7
PAWKEN6
PAWKEN5
PAWKEN4
PAWKEN3
PAWKEN2
PAWKEN1
PAWKEN0
位域
名称
描述
31:16
-
-
15
PAWKEN15
PA15 输入唤醒使能
1:使能
14
PAWKEN14
PA14 输入唤醒使能
1:使能
13
PAWKEN13
PAWKEN12
PAWKEN11
10
PAWKEN10
9
PAWKEN9
8
PAWKEN8
PAWKEN7
6
PAWKEN6
5
PAWKEN5
1:使能
PAWKEN4
0:禁能
PA10 输入唤醒使能
1:使能
0:禁能
PA9 输入唤醒使能
1:使能
0:禁能
PA8 输入唤醒使能
0:禁能
PA7 输入唤醒使能
1:使能
0:禁能
PA6 输入唤醒使能
1:使能
0:禁能
PA5 输入唤醒使能
1:使能
4
0:禁能
PA11 输入唤醒使能
1:使能
7
0:禁能
PA12 输入唤醒使能
1:使能
11
0:禁能
PA13 输入唤醒使能
1:使能
12
0:禁能
0:禁能
PA4 输入唤醒使能
1:使能
0:禁能
111
Version 1.25
SWM341 系列
3
PAWKEN3
PA3 输入唤醒使能
1:使能
2
PAWKEN2
PA2 输入唤醒使能
1:使能
1
PAWKEN1
0
PAWKEN0
0:禁能
0:禁能
PA1 输入唤醒使能
1:使能
0:禁能
PA0 输入唤醒使能
1:使能
0:禁能
112
Version 1.25
SWM341 系列
PORTB 唤醒使能控制寄存器 PBWKEN
寄存器
偏移
类型
复位值
描述
PBWKEN
0x104
R/W
0x00
PORTB 唤醒使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PBWKEN15
PBWKEN14
PBWKEN13
PBWKEN12
PBWKEN11
PBWKEN10
PBWKEN9
PBWKEN8
7
6
5
4
3
2
1
0
PBWKEN7
PBWKEN6
PBWKEN5
PBWKEN4
PBWKEN3
PBWKEN2
PBWKEN1
PBWKEN0
位域
名称
描述
31:16
-
-
15
PBWKEN15
PB15 输入唤醒使能
1:使能
14
PBWKEN14
PB14 输入唤醒使能
1:使能
13
PBWKEN13
PBWKEN12
PBWKEN11
10
PBWKEN10
9
PBWKEN9
8
PBWKEN8
PBWKEN7
6
PBWKEN6
5
PBWKEN5
1:使能
PBWKEN4
0:禁能
PB10 输入唤醒使能
1:使能
0:禁能
PB9 输入唤醒使能
1:使能
0:禁能
PB8 输入唤醒使能
0:禁能
PB7 输入唤醒使能
1:使能
0:禁能
PB6 输入唤醒使能
1:使能
0:禁能
PB5 输入唤醒使能
1:使能
4
0:禁能
PB11 输入唤醒使能
1:使能
7
0:禁能
PB12 输入唤醒使能
1:使能
11
0:禁能
PB13 输入唤醒使能
1:使能
12
0:禁能
0:禁能
PB4 输入唤醒使能
1:使能
0:禁能
113
Version 1.25
SWM341 系列
3
PBWKEN3
PB3 输入唤醒使能
1:使能
2
PBWKEN2
PB2 输入唤醒使能
1:使能
1
PBWKEN1
0
PBWKEN0
0:禁能
0:禁能
PB1 输入唤醒使能
1:使能
0:禁能
PB0 输入唤醒使能
1:使能
0:禁能
114
Version 1.25
SWM341 系列
PORTC 唤醒使能控制寄存器 PCWKEN
寄存器
偏移
类型
复位值
描述
PCWKEN
0x108
R/W
0x00
PORTC 唤醒使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PCWKEN15
PCWKEN14
PCWKEN13
PCWKEN12
PCWKEN11
PCWKEN10
PCWKEN9
PCWKEN8
7
6
5
4
3
2
1
0
PCWKEN7
PCWKEN6
PCWKEN5
PCWKEN4
PCWKEN3
PCWKEN2
PCWKEN1
PCWKEN0
位域
名称
描述
31:16
-
-
15
PCWKEN15
PC15 输入唤醒使能
1:使能
14
PCWKEN14
PC14 输入唤醒使能
1:使能
13
PCWKEN13
PCWKEN12
PCWKEN11
10
PCWKEN10
9
PCWKEN9
8
PCWKEN8
PCWKEN7
6
PCWKEN6
5
PCWKEN5
1:使能
PCWKEN4
0:禁能
PC10 输入唤醒使能
1:使能
0:禁能
PC9 输入唤醒使能
1:使能
0:禁能
PC8 输入唤醒使能
0:禁能
PC7 输入唤醒使能
1:使能
0:禁能
PC6 输入唤醒使能
1:使能
0:禁能
PC5 输入唤醒使能
1:使能
4
0:禁能
PC11 输入唤醒使能
1:使能
7
0:禁能
PC12 输入唤醒使能
1:使能
11
0:禁能
PC13 输入唤醒使能
1:使能
12
0:禁能
0:禁能
PC4 输入唤醒使能
1:使能
0:禁能
115
Version 1.25
SWM341 系列
3
PCWKEN3
PC3 输入唤醒使能
1:使能
2
PCWKEN2
PC2 输入唤醒使能
1:使能
1
PCWKEN1
0
PCWKEN0
0:禁能
0:禁能
PC1 输入唤醒使能
1:使能
0:禁能
PC0 输入唤醒使能
1:使能
0:禁能
116
Version 1.25
SWM341 系列
PORTD 唤醒使能控制寄存器 PDWKEN
寄存器
偏移
类型
复位值
描述
PDWKEN
0x10C
R/W
0x00
PORTD 唤醒使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PDWKEN15
PDWKEN14
PDWKEN13
PDWKEN12
PDWKEN11
PDWKEN10
PDWKEN9
PDWKEN8
7
6
5
4
3
2
1
0
PDWKEN7
PDWKEN6
PDWKEN5
PDWKEN4
PDWKEN3
PDWKEN2
PDWKEN1
PDWKEN0
位域
名称
描述
31:16
-
-
15
PDWKEN15
PD15 输入唤醒使能
1:使能
14
PDWKEN14
PD14 输入唤醒使能
1:使能
13
PDWKEN13
PDWKEN12
PDWKEN11
10
PDWKEN10
9
PDWKEN9
8
PDWKEN8
PDWKEN7
6
PDWKEN6
5
PDWKEN5
1:使能
PDWKEN4
0:禁能
PD10 输入唤醒使能
1:使能
0:禁能
PD9 输入唤醒使能
1:使能
0:禁能
PD8 输入唤醒使能
0:禁能
PD7 输入唤醒使能
1:使能
0:禁能
PD6 输入唤醒使能
1:使能
0:禁能
PD5 输入唤醒使能
1:使能
4
0:禁能
PD11 输入唤醒使能
1:使能
7
0:禁能
PD12 输入唤醒使能
1:使能
11
0:禁能
PD13 输入唤醒使能
1:使能
12
0:禁能
0:禁能
PD4 输入唤醒使能
1:使能
0:禁能
117
Version 1.25
SWM341 系列
3
PDWKEN3
PD3 输入唤醒使能
1:使能
2
PDWKEN2
PD2 输入唤醒使能
1:使能
1
PDWKEN1
0
PDWKEN0
0:禁能
0:禁能
PD1 输入唤醒使能
1:使能
0:禁能
PD0 输入唤醒使能
1:使能
0:禁能
118
Version 1.25
SWM341 系列
PORTE 唤醒使能控制寄存器 PEWKEN
寄存器
偏移
类型
复位值
描述
PEWKEN
0x110
R/W
0x00
PORTE 唤醒使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PEWKEN15
PEWKEN14
PEWKEN13
PEWKEN12
PEWKEN11
PEWKEN10
PEWKEN9
PEWKEN8
7
6
5
4
3
2
1
0
PEWKEN7
PEWKEN6
PEWKEN5
PEWKEN4
PEWKEN3
PEWKEN2
PEWKEN1
PEWKEN0
位域
名称
描述
31:16
-
-
15
PEWKEN15
PE15 输入唤醒使能
1:使能
14
PEWKEN14
PE14 输入唤醒使能
1:使能
13
PEWKEN13
PEWKEN12
PEWKEN11
10
PEWKEN10
9
PEWKEN9
8
PEWKEN8
7
PEWKEN7
6
PEWKEN6
5
PEWKEN5
PEWKEN4
0:禁能
PE11 输入唤醒使能
1:使能
0:禁能
PE10 输入唤醒使能
1:使能
0:禁能
PE9 输入唤醒使能
1:使能
0:禁能
PE8 输入唤醒使能
1:使能
0:禁能
PE7 输入唤醒使能
1:使能
0:禁能
PE6 输入唤醒使能
1:使能
0:禁能
PE5 输入唤醒使能
1:使能
4
0:禁能
PE12 输入唤醒使能
1:使能
11
0:禁能
PE13 输入唤醒使能
1:使能
12
0:禁能
0:禁能
PE4 输入唤醒使能
1:使能
0:禁能
119
Version 1.25
SWM341 系列
3
PEWKEN3
PE3 输入唤醒使能
1:使能
2
PEWKEN2
PE2 输入唤醒使能
1:使能
1
PEWKEN1
0
PEWKEN0
0:禁能
0:禁能
PE1 输入唤醒使能
1:使能
0:禁能
PE0 输入唤醒使能
1:使能
0:禁能
120
Version 1.25
SWM341 系列
PORTM 唤醒使能控制寄存器 PMWKEN
寄存器
偏移
类型
复位值
描述
PMWKSR
0x150
R/W1C
0x00
PORTM 唤醒状态寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PMWKEN15
PMWKEN14
PMWKEN13
PMWKEN12
PMWKEN11
PMWKEN10
PMWKEN9
PMWKEN8
7
6
5
4
3
2
1
0
PMWKEN7
PMWKEN6
PMWKEN5
PMWKEN4
PMWKEN3
PMWKEN2
PMWKEN1
PMWKEN0
位域
名称
描述
31:16
-
-
15
PMWKEN15
PM15 输入唤醒使能
1:使能
14
PMWKEN14
PM14 输入唤醒使能
1:使能
13
PMWKEN13
PMWKEN12
PMWKEN11
10
PMWKEN10
9
PMWKEN9
8
PMWKEN8
7
PMWKEN7
6
PMWKEN6
5
PMWKEN5
PMWKEN4
0:禁能
PM11 输入唤醒使能
1:使能
0:禁能
PM10 输入唤醒使能
1:使能
0:禁能
PM9 输入唤醒使能
1:使能
0:禁能
PM8 输入唤醒使能
1:使能
0:禁能
PM7 输入唤醒使能
1:使能
0:禁能
PM6 输入唤醒使能
1:使能
0:禁能
PM5 输入唤醒使能
1:使能
4
0:禁能
PM12 输入唤醒使能
1:使能
11
0:禁能
PM13 输入唤醒使能
1:使能
12
0:禁能
0:禁能
PM4 输入唤醒使能
1:使能
0:禁能
121
Version 1.25
SWM341 系列
3
PMWKEN3
PM3 输入唤醒使能
1:使能
2
PMWKEN2
PM2 输入唤醒使能
1:使能
1
PMWKEN1
0
PMWKEN0
0:禁能
0:禁能
PM1 输入唤醒使能
1:使能
0:禁能
PM0 输入唤醒使能
1:使能
0:禁能
122
Version 1.25
SWM341 系列
PORTN 唤醒使能控制寄存器 PNWKEN
寄存器
偏移
类型
复位值
描述
PNWKEN
0x110
R/W
0x00
PORTN 唤醒使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
23
22
21
20
-
15
14
13
12
-
7
6
5
4
3
2
1
0
PNWKEN7
PNWKEN6
PNWKEN5
PNWKEN4
PNWKEN3
PNWKEN2
PNWKEN1
PNWKEN0
位域
名称
描述
31:8
-
-
7
PNWKEN7
PN7 输入唤醒使能
1:使能
6
PNWKEN6
PN6 输入唤醒使能
1:使能
5
PNWKEN5
PNWKEN4
PNWKEN3
2
PNWKEN2
1
PNWKEN1
0
PNWKEN0
0:禁能
PN4 输入唤醒使能
1:使能
3
0:禁能
PN5 输入唤醒使能
1:使能
4
0:禁能
0:禁能
PN3 输入唤醒使能
1:使能
0:禁能
PN2 输入唤醒使能
1:使能
0:禁能
PN1 输入唤醒使能
1:使能
0:禁能
PN0 输入唤醒使能
1:使能
0:禁能
123
Version 1.25
SWM341 系列
PORTA 唤醒状态寄存器 PAWKSR
寄存器
偏移
类型
复位值
描述
PAWKSR
0x130
R/W1C
0x00
PORTA 唤醒状态寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PAWKSR15
PAWKSR14
PAWKSR13
PAWKSR12
PAWKSR11
PAWKSR10
PAWKSR9
PAWKSR8
7
6
5
4
3
2
1
0
PAWKSR7
PAWKSR6
PAWKSR5
PAWKSR4
PAWKSR3
PAWKSR2
PAWKSR1
PAWKSR0
位域
名称
描述
31:16
-
PA15 输入唤醒状态标志位,写 1 清零
15
PAWKSR15
1:唤醒
0:未唤醒
PA14 输入唤醒状态标志位,写 1 清零
14
PAWKSR14
1:唤醒
0:未唤醒
PA13 输入唤醒状态标志位,写 1 清零
13
PAWKSR13
1:唤醒
0:未唤醒
PA12 输入唤醒状态标志位,写 1 清零
12
PAWKSR12
1:唤醒
0:未唤醒
PA11 输入唤醒状态标志位,写 1 清零
11
PAWKSR11
1:唤醒
0:未唤醒
PA10 输入唤醒状态标志位,写 1 清零
10
PAWKSR10
1:唤醒
0:未唤醒
PA9 输入唤醒状态标志位,写 1 清零
9
PAWKSR9
1:唤醒
0:未唤醒
PA8 输入唤醒状态标志位,写 1 清零
8
PAWKSR8
1:唤醒
0:未唤醒
124
Version 1.25
SWM341 系列
PA7 输入唤醒状态标志位,写 1 清零
7
PAWKSR7
1:唤醒
0:未唤醒
PA6 输入唤醒状态标志位,写 1 清零
6
PAWKSR6
1:唤醒
0:未唤醒
PA5 输入唤醒状态标志位,写 1 清零
5
PAWKSR5
1:唤醒
0:未唤醒
PA4 输入唤醒状态标志位,写 1 清零
4
PAWKSR4
1:唤醒
0:未唤醒
PA3 输入唤醒状态标志位,写 1 清零
3
PAWKSR3
1:唤醒
0:未唤醒
PA2 输入唤醒状态标志位,写 1 清零
2
PAWKSR2
1:唤醒
0:未唤醒
PA1 输入唤醒状态标志位,写 1 清零
1
PAWKSR1
1:唤醒
0:未唤醒
PA0 输入唤醒状态标志位,写 1 清零
0
PAWKSR0
1:唤醒
0:未唤醒
125
Version 1.25
SWM341 系列
PORTB 唤醒状态寄存器 PBWKSR
寄存器
偏移
类型
复位值
描述
PBWKSR
0x134
R/W1C
0x00
PORTB 唤醒状态寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PBWKSR15
PBWKSR14
PBWKSR13
PBWKSR12
PBWKSR11
PBWKSR10
PBWKSR9
PBWKSR8
7
6
5
4
3
2
1
0
PBWKSR7
PBWKSR6
PBWKSR5
PBWKSR4
PBWKSR3
PBWKSR2
PBWKSR1
PBWKSR0
位域
名称
描述
31:16
-
PB15 输入唤醒状态标志位,写 1 清零
15
PBWKSR15
1:唤醒
0:未唤醒
PB14 输入唤醒状态标志位,写 1 清零
14
PBWKSR14
1:唤醒
0:未唤醒
PB13 输入唤醒状态标志位,写 1 清零
13
PBWKSR13
1:唤醒
0:未唤醒
PB12 输入唤醒状态标志位,写 1 清零
12
PBWKSR12
1:唤醒
0:未唤醒
PB11 输入唤醒状态标志位,写 1 清零
11
PBWKSR11
1:唤醒
0:未唤醒
PB10 输入唤醒状态标志位,写 1 清零
10
PBWKSR10
1:唤醒
0:未唤醒
PB9 输入唤醒状态标志位,写 1 清零
9
PBWKSR9
1:唤醒
0:未唤醒
PB8 输入唤醒状态标志位,写 1 清零
8
PBWKSR8
1:唤醒
0:未唤醒
126
Version 1.25
SWM341 系列
PB7 输入唤醒状态标志位,写 1 清零
7
PBWKSR7
1:唤醒
0:未唤醒
PB6 输入唤醒状态标志位,写 1 清零
6
PBWKSR6
1:唤醒
0:未唤醒
PB5 输入唤醒状态标志位,写 1 清零
5
PBWKSR5
1:唤醒
0:未唤醒
PB4 输入唤醒状态标志位,写 1 清零
4
PBWKSR4
1:唤醒
0:未唤醒
PB3 输入唤醒状态标志位,写 1 清零
3
PBWKSR3
1:唤醒
0:未唤醒
PB2 输入唤醒状态标志位,写 1 清零
2
PBWKSR2
1:唤醒
0:未唤醒
PB1 输入唤醒状态标志位,写 1 清零
1
PBWKSR1
1:唤醒
0:未唤醒
PB0 输入唤醒状态标志位,写 1 清零
0
PBWKSR0
1:唤醒
0:未唤醒
127
Version 1.25
SWM341 系列
PORTC 唤醒状态寄存器 PCWKSR
寄存器
偏移
类型
复位值
描述
PCWKSR
0x138
R/W1C
0x00
PORTC 唤醒状态寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PCWKSR15
PCWKSR14
PCWKSR13
PCWKSR12
PCWKSR11
PCWKSR10
PCWKSR9
PCWKSR8
7
6
5
4
3
2
1
0
PCWKSR7
PCWKSR6
PCWKSR5
PCWKSR4
PCWKSR3
PCWKSR2
PCWKSR1
PCWKSR0
位域
名称
描述
31:16
-
PC15 输入唤醒状态标志位,写 1 清零
15
PCWKSR15
1:唤醒
0:未唤醒
PC14 输入唤醒状态标志位,写 1 清零
14
PCWKSR14
1:唤醒
0:未唤醒
PC13 输入唤醒状态标志位,写 1 清零
13
PCWKSR13
1:唤醒
0:未唤醒
PC12 输入唤醒状态标志位,写 1 清零
12
PCWKSR12
1:唤醒
0:未唤醒
PC11 输入唤醒状态标志位,写 1 清零
11
PCWKSR11
1:唤醒
0:未唤醒
PC10 输入唤醒状态标志位,写 1 清零
10
PCWKSR10
1:唤醒
0:未唤醒
PC9 输入唤醒状态标志位,写 1 清零
9
PCWKSR9
1:唤醒
0:未唤醒
PC8 输入唤醒状态标志位,写 1 清零
8
PCWKSR8
1:唤醒
0:未唤醒
128
Version 1.25
SWM341 系列
PC7 输入唤醒状态标志位,写 1 清零
7
PCWKSR7
1:唤醒
0:未唤醒
PC6 输入唤醒状态标志位,写 1 清零
6
PCWKSR6
1:唤醒
0:未唤醒
PC5 输入唤醒状态标志位,写 1 清零
5
PCWKSR5
1:唤醒
0:未唤醒
PC4 输入唤醒状态标志位,写 1 清零
4
PCWKSR4
1:唤醒
0:未唤醒
PC3 输入唤醒状态标志位,写 1 清零
3
PCWKSR3
1:唤醒
0:未唤醒
PC2 输入唤醒状态标志位,写 1 清零
2
PCWKSR2
1:唤醒
0:未唤醒
PC1 输入唤醒状态标志位,写 1 清零
1
PCWKSR1
1:唤醒
0:未唤醒
PC0 输入唤醒状态标志位,写 1 清零
0
PCWKSR0
1:唤醒
0:未唤醒
129
Version 1.25
SWM341 系列
PORTD 唤醒状态寄存器 PDWKSR
寄存器
偏移
类型
复位值
描述
PDWKSR
0x13C
R/W1C
0x00
PORTD 唤醒状态寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PDWKSR15
PDWKSR14
PDWKSR13
PDWKSR12
PDWKSR11
PDWKSR10
PDWKSR9
PDWKSR8
7
6
5
4
3
2
1
0
PDWKSR7
PDWKSR6
PDWKSR5
PDWKSR4
PDWKSR3
PDWKSR2
PDWKSR1
PDWKSR0
位域
名称
描述
31:16
-
PD15 输入唤醒状态标志位,写 1 清零
15
PDWKSR15
1:唤醒
0:未唤醒
PD14 输入唤醒状态标志位,写 1 清零
14
PDWKSR14
1:唤醒
0:未唤醒
PD13 输入唤醒状态标志位,写 1 清零
13
PDWKSR13
1:唤醒
0:未唤醒
PD12 输入唤醒状态标志位,写 1 清零
12
PDWKSR12
1:唤醒
0:未唤醒
PD11 输入唤醒状态标志位,写 1 清零
11
PDWKSR11
1:唤醒
0:未唤醒
PD10 输入唤醒状态标志位,写 1 清零
10
PDWKSR10
1:唤醒
0:未唤醒
PD9 输入唤醒状态标志位,写 1 清零
9
PDWKSR9
1:唤醒
0:未唤醒
PD8 输入唤醒状态标志位,写 1 清零
8
PDWKSR8
1:唤醒
0:未唤醒
130
Version 1.25
SWM341 系列
PD7 输入唤醒状态标志位,写 1 清零
7
PDWKSR7
1:唤醒
0:未唤醒
PD6 输入唤醒状态标志位,写 1 清零
6
PDWKSR6
1:唤醒
0:未唤醒
PD5 输入唤醒状态标志位,写 1 清零
5
PDWKSR5
1:唤醒
0:未唤醒
PD4 输入唤醒状态标志位,写 1 清零
4
PDWKSR4
1:唤醒
0:未唤醒
PD3 输入唤醒状态标志位,写 1 清零
3
PDWKSR3
1:唤醒
0:未唤醒
PD2 输入唤醒状态标志位,写 1 清零
2
PDWKSR2
1:唤醒
0:未唤醒
PD1 输入唤醒状态标志位,写 1 清零
1
PDWKSR1
1:唤醒
0:未唤醒
PD0 输入唤醒状态标志位,写 1 清零
0
PDWKSR0
1:唤醒
0:未唤醒
131
Version 1.25
SWM341 系列
PORTE 唤醒状态寄存器 PEWKSR
寄存器
偏移
类型
复位值
描述
PEWKSR
0x140
R/W1C
0x00
PORTE 唤醒状态寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PEWKSR15
PEWKSR14
PEWKSR13
PEWKSR12
PEWKSR11
PEWKSR10
PEWKSR9
PEWKSR8
7
6
5
4
3
2
1
0
PEWKSR7
PEWKSR6
PEWKSR5
PEWKSR4
PEWKSR3
PEWKSR2
PEWKSR1
PEWKSR0
位域
名称
描述
31:16
-
PE15 输入唤醒状态标志位,写 1 清零
15
PEWKSR15
1:唤醒
0:未唤醒
PE14 输入唤醒状态标志位,写 1 清零
14
PEWKSR14
1:唤醒
0:未唤醒
PE13 输入唤醒状态标志位,写 1 清零
13
PEWKSR13
1:唤醒
0:未唤醒
PE12 输入唤醒状态标志位,写 1 清零
12
PEWKSR12
1:唤醒
0:未唤醒
PE11 输入唤醒状态标志位,写 1 清零
11
PEWKSR11
1:唤醒
0:未唤醒
PE10 输入唤醒状态标志位,写 1 清零
10
PEWKSR10
1:唤醒
0:未唤醒
PE9 输入唤醒状态标志位,写 1 清零
9
PEWKSR9
1:唤醒
0:未唤醒
PE8 输入唤醒状态标志位,写 1 清零
8
PEWKSR8
1:唤醒
0:未唤醒
132
Version 1.25
SWM341 系列
PE7 输入唤醒状态标志位,写 1 清零
7
PEWKSR7
1:唤醒
0:未唤醒
PE6 输入唤醒状态标志位,写 1 清零
6
PEWKSR6
1:唤醒
0:未唤醒
PE5 输入唤醒状态标志位,写 1 清零
5
PEWKSR5
1:唤醒
0:未唤醒
PE4 输入唤醒状态标志位,写 1 清零
4
PEWKSR4
1:唤醒
0:未唤醒
PE3 输入唤醒状态标志位,写 1 清零
3
PEWKSR3
1:唤醒
0:未唤醒
PE2 输入唤醒状态标志位,写 1 清零
2
PEWKSR2
1:唤醒
0:未唤醒
PE1 输入唤醒状态标志位,写 1 清零
1
PEWKSR1
1:唤醒
0:未唤醒
PE0 输入唤醒状态标志位,写 1 清零
0
PEWKSR0
1:唤醒
0:未唤醒
133
Version 1.25
SWM341 系列
PORTM 唤醒状态寄存器 PMWKSR
寄存器
偏移
类型
复位值
描述
PMWKSR
0x150
R/W1C
0x00
PORTM 唤醒状态寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PMWKSR15
PMWKSR14
PMWKSR13
PMWKSR12
PMWKSR11
PMWKSR10
PMWKSR9
PMWKSR8
7
6
5
4
3
2
1
0
PMWKSR7
PMWKSR6
PMWKSR5
PMWKSR4
PMWKSR3
PMWKSR2
PMWKSR1
PMWKSR0
位域
名称
描述
31:16
-
PM15 输入唤醒状态标志位,写 1 清零
15
PMWKSR15
1:唤醒
0:未唤醒
PM14 输入唤醒状态标志位,写 1 清零
14
PMWKSR14
1:唤醒
0:未唤醒
PM13 输入唤醒状态标志位,写 1 清零
13
PMWKSR13
1:唤醒
0:未唤醒
PM12 输入唤醒状态标志位,写 1 清零
12
PMWKSR12
1:唤醒
0:未唤醒
PM11 输入唤醒状态标志位,写 1 清零
11
PMWKSR11
1:唤醒
0:未唤醒
PM10 输入唤醒状态标志位,写 1 清零
10
PMWKSR10
1:唤醒
0:未唤醒
PM9 输入唤醒状态标志位,写 1 清零
9
PMWKSR9
1:唤醒
0:未唤醒
PM8 输入唤醒状态标志位,写 1 清零
8
PMWKSR8
1:唤醒
0:未唤醒
134
Version 1.25
SWM341 系列
PM7 输入唤醒状态标志位,写 1 清零
7
PMWKSR7
1:唤醒
0:未唤醒
PM6 输入唤醒状态标志位,写 1 清零
6
PMWKSR6
1:唤醒
0:未唤醒
PM5 输入唤醒状态标志位,写 1 清零
5
PMWKSR5
1:唤醒
0:未唤醒
PM4 输入唤醒状态标志位,写 1 清零
4
PMWKSR4
1:唤醒
0:未唤醒
PM3 输入唤醒状态标志位,写 1 清零
3
PMWKSR3
1:唤醒
0:未唤醒
PM2 输入唤醒状态标志位,写 1 清零
2
PMWKSR2
1:唤醒
0:未唤醒
PM1 输入唤醒状态标志位,写 1 清零
1
PMWKSR1
1:唤醒
0:未唤醒
PM0 输入唤醒状态标志位,写 1 清零
0
PMWKSR0
1:唤醒
0:未唤醒
135
Version 1.25
SWM341 系列
PORTN 唤醒状态寄存器 PNWKSR
寄存器
偏移
类型
复位值
描述
PNWKEN
0x154
R/W1C
0x00
PORTN 唤醒状态寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
23
22
21
20
-
15
14
13
12
-
7
6
5
4
3
2
1
0
PNWKSR7
PNWKSR6
PNWKSR5
PNWKSR4
PNWKSR3
PNWKSR2
PNWKSR1
PNWKSR0
位域
名称
描述
31:8
-
PN7 输入唤醒状态标志位,写 1 清零
7
PNWKSR7
1:唤醒
0:未唤醒
PN6 输入唤醒状态标志位,写 1 清零
6
PNWKSR6
1:唤醒
0:未唤醒
PN5 输入唤醒状态标志位,写 1 清零
5
PNWKSR5
1:唤醒
0:未唤醒
PN4 输入唤醒状态标志位,写 1 清零
4
PNWKSR4
1:唤醒
0:未唤醒
PN3 输入唤醒状态标志位,写 1 清零
3
PNWKSR3
1:唤醒
0:未唤醒
PN2 输入唤醒状态标志位,写 1 清零
2
PNWKSR2
1:唤醒
0:未唤醒
PN1 输入唤醒状态标志位,写 1 清零
1
PNWKSR1
1:唤醒
0:未唤醒
PN0 输入唤醒状态标志位,写 1 清零
0
PNWKSR0
1:唤醒
0:未唤醒
136
Version 1.25
SWM341 系列
IO 滤波窗口时间配置寄存器 0 IOFILT0
寄存器
偏移
类型
复位值
描述
IOFILT0
0x400
R/W
0x00
IO 滤波窗口时间配置寄存器 0
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
-
5
IOSEL
4
CLKDIV
位域
名称
描述
31:7
-
-
TIM
0 组 IO 滤波选择控制位
00:GPIO B5 具有滤波功能
6:5
IOSEL
01:GPIO B4 具有滤波功能
10:GPIO B3 具有滤波功能
11:GPIO B2 具有滤波功能
0 组 IO 滤波时钟是否采用分频
4
CLKDIV
0:不分频
1:分频(固定为 32 分频)
0 组 IO 硬件滤波窗口时间配置寄存器(若配置则对某 IO 的输入具有滤波功能,则
该寄存器存在)
若滤波时钟分频:
3:0
TIM
滤波窗口时间=32*Tfilter_clk*2^ TIM
若滤波时钟不分频:
滤波窗口时间=Tfilter_clk*2^ TIM
当 TIM 为 0 时,则不具有滤波功能。因此,只有当将 TIM 配置大于 0 时,滤波功能
才能开启。
137
Version 1.25
SWM341 系列
IO 滤波窗口时间配置寄存器 1 IOFILT1
寄存器
偏移
类型
复位值
描述
IOFILT1
0x404
R/W
0x00
IO 滤波窗口时间配置寄存器 1
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
-
5
IOSEL
4
CLKDIV
位域
名称
描述
31:7
-
-
TIM
1 组 IO 滤波选择控制位
00:GPIO C2 具有滤波功能
6:5
IOSEL
01:GPIO C1 具有滤波功能
10:GPIOC0 具有滤波功能
11:GPIO A15 具有滤波功能
1 组 IO 滤波时钟是否采用分频
4
CLKDIV
0:不分频
1:分频(固定为 32 分频)
1 组 IO 硬件滤波窗口时间配置寄存器(若配置则对某 IO 的输入具有滤波功能,则
该寄存器存在)
若滤波时钟分频:
3:0
TIM
滤波窗口时间=32*Tfilter_clk*2^ TIM
若滤波时钟不分频:
滤波窗口时间=Tfilter_clk*2^ TIM
当 TIM 为 0 时,则不具有滤波功能。因此,只有当将 TIM 配置大于 0 时,滤波功能
才能开启。
138
Version 1.25
SWM341 系列
芯片复位屏蔽寄存器 PRSTEN
寄存器
偏移
类型
复位值
描述
PRSTEN
0x720
R/W
0x0000_0000
芯片复位屏蔽寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
PRSTEN
位域
名称
描述
31:8
-
-
7:0
PRSTEN
只有当该寄存器配置为 0x55 时,才能对 PRSTR0 和 PRSTR1 进行写操作。
139
Version 1.25
SWM341 系列
芯片复位配置寄存器 0 PRSTR0
寄存器
偏移
类型
复位值
描述
PRSTR0
0x724
R/W
0x0000_0000
芯片复位配置寄存器 0
31
30
29
28
27
26
25
24
-
LCD
-
CAN0
-
SARADC0
ANAC
USB
23
22
21
20
19
18
17
16
-
SDIO
DIV
CORDIC
CRC
15
14
13
12
11
10
9
8
I2C0
SPI1
SPI0
PWM
TIMER
WDT
UART3
UART2
7
6
5
4
3
2
1
0
UART1
UART0
GPION
GPIOM
GPIOD
GPIOC
GPIOB
GPIOA
位域
名称
描述
31
-
-
30
LCD
29
-
28
CAN0
27
-
26
SARADC0
25
ANAC
24
USB
23
-
22
SDIO
21
DIV
20
CORDIC
19
CRC
18:17
-
16
I2C1
-
I2C1
LCD 模块复位配置位
将该位置 1,则复位该模块。
CAN0 模块复位配置位
将该位置 1,则复位该模块。
SARADC0_CTRL 模块复位配置位
将该位置 1,则复位该模块。
ANAC 模块复位配置位
将该位置 1,则复位该模块。
USB 模块复位配置位
将该位置 1,则复位该模块。
SDIO 模块复位配置位
将该位置 1,则复位该模块。
DIV 模块复位配置位
将该位置 1,则复位该模块。
CORDIC 模块复位配置位
将该位置 1,则复位该模块。
CRC 模块复位配置位
将该位置 1,则复位该模块。
I2C1 模块复位配置位
将该位置 1,则复位该模块。
140
Version 1.25
SWM341 系列
15
I2C0
14
SPI1
13
SPI0
12
PWM
11
TIMER
10
WDT
9
UART3
8
UART2
7
UART1
6
UART0
5
GPION
4
GPIOM
3
GPIOD
2
GPIOC
1
GPIOB
0
GPIOA
I2C0 模块复位配置位
将该位置 1,则复位该模块。
SPI1 模块复位配置位
将该位置 1,则复位该模块。
SPI0 模块复位配置位
将该位置 1,则复位该模块。
PWM 模块复位配置位
将该位置 1,则复位该模块。
TIMER 模块复位配置位
将该位置 1,则复位该模块。
WDT 模块复位配置位
将该位置 1,则复位该模块。
UART3 模块复位配置位
将该位置 1,则复位该模块。
UART2 模块复位配置位
将该位置 1,则复位该模块。
UART1 模块复位配置位
将该位置 1,则复位该模块。
UART0 模块复位配置位
将该位置 1,则复位该模块。
GPION 模块复位配置位
将该位置 1,则复位该模块。
GPIOM 模块复位配置位
将该位置 1,则复位该模块。
GPIOD 模块复位配置位
将该位置 1,则复位该模块。
GPIOC 模块复位配置位
将该位置 1,则复位该模块。
GPIOB 模块复位配置位
将该位置 1,则复位该模块。
GPIOA 模块复位配置位
将该位置 1,则复位该模块。
141
Version 1.25
SWM341 系列
芯片复位配置寄存器 1 PRSTR1
寄存器
偏移
类型
复位值
描述
PRSTR1
0x728
R/W
0x0000_0000
芯片复位配置寄存器 1
31
30
29
28
27
26
23
22
21
20
19
-
BTIMR
-
IOFILT
RTC
15
14
13
12
11
7
6
SDRAM
5
名称
描述
31:26
-
-
25
JPEG
23:24
-
22
BTIMR
21
-
20
IOFILT
19
RTC
18:0
-
16
ADC1
12
SDRAM
8
SPI2
0
GPIOE
24
JPEG
-
17
16
10
ADC1
9
-
4
3
-
位域
18
25
2
8
SPI2
1
0
GPIOE
JPEG 模块复位配置位
将该位置 1,则复位该模块
BTIMR 模块复位配置位
将该位置 1,则复位该模块
IOFILT 模块复位配置位
将该位置 1,则复位该模块
RTC_BASE 模块复位配置位
将该位置 1,则复位该模块。
ADC1 模块复位配置位
将该位置 1,则复位该模块
SDRAM 模块复位配置位
将该位置 1,则复位该模块
SPI2 模块复位配置位
将该位置 1,则复位该模块
GPIOE 模块复位配置位
将该位置 1,则复位该模块
142
Version 1.25
SWM341 系列
内部高频 RC 振荡器配置寄存器 HRCCR
寄存器
偏移
类型
复位值
描述
HRCCR
0x00
R/W
0x1
内部高频 RC 振荡器配置寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
DBL
ON
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:3
-
内部高频 RC 振荡器倍频寄存器
1
DBL
00:20MHz(40MHz 的 2 分频)
01:40MHz
内部高频 RC 振荡器使能
0
ON
0:关闭
1:开启
143
Version 1.25
SWM341 系列
BOD 控制寄存器 BODCR
寄存器
偏移
类型
复位值
描述
BODCR
0x10
R/W
0
BOD 控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
23
22
21
20
-
15
14
13
12
-
7
6
RSTLVL
5
RSTLVL
4
3
INTLVL
位域
名称
描述
31:7
-
-
2
-
1
0
EN
-
BOD 复位电位配置寄存器
000: BOD 1.7V 产生复位
9:7
RSTLVL
001: BOD 1.9V 产生复位
010: BOD 2.1V 产生复位
011: BOD 2.7V 产生复位
BOD 中断电位配置寄存器
000: BOD 1.9V 产生中断
6:4
INTLVL
001: BOD 2.1V 产生中断
010: BOD 2.3V 产生中断
011: BOD 2.5V 产生中断
100: BOD 2.7V 产生中断
3:2
-
BOD 中断功能使能寄存器
1
IE
1:使能
0:关闭
0
-
-
144
Version 1.25
SWM341 系列
BOD 中断状态寄存器 BODIF
寄存器
偏移
类型
复位值
描述
BODIF
0x14
R/W1C
0
BOD 中断状态寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
ST
IF
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:2
-
-
1
ST
BOD 原始状态寄存器
BOD 中断状态标志位,写 1 清除
1:已触发中断电压
0
IF
0:未触发中断电压
注:只有当 BODCR.IE=1 时,BODIF.IF 才会置位
145
Version 1.25
SWM341 系列
ADC 控制寄存器 ADCCR
寄存器
偏移
类型
复位值
描述
ADCCR
0x18
R/W
0x00
ADC 控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
23
22
21
20
-
15
14
13
12
7
6
IVRLVL
IVRTRIM
IVRLVL
5
4
3
2
1
0
IVROuA
IVRFLT
1IVRSEL
0IVRSEL
1IVREN
0IVREN
位域
名称
描述
31:12
-
VREF1P2 输出 TRIM 控制字
000:1.2V
001:1.24V
010:1.28V
11:9
IVRTRIM
011:1.32V
100:1.16V
101:1.12V
110:1.08V
111:1.04V
ADC_BUFFER 选择内部电流基准时,VREF 输出修调控制字
00:1.2V
8:6
IVRLVL
01:1.6V
10:2.0V
11:2.5V
ADC_BUFFER 输出级驱动能力选择
5
IVROuA
0:输出级静态电流 50uA(缺省)
1:输出级静态电流 150uA
ADC_BUFFER 选择内部 Vref 是否通过滤波器
4
IVRFLT
0:通过高通滤波器(缺省)
1:通过低通滤波器
ADC1 选择内部 Vref 来源
3:2
1IVRSEL
0:选择电流基准(电流乘以电阻)
1:选择电压基准(VDD33 电阻分压)
146
Version 1.25
SWM341 系列
ADC0 选择内部 Vref 来源
2
0IVRSEL
0:选择电流基准(电流乘以电阻)
1:选择电压基准(VDD33 电阻分压)
1
1IVREN
ADC1 参考电压使能
0
0IVREN
ADC0 参考电压使能
147
Version 1.25
SWM341 系列
晶体振荡器控制寄存器 XTALCR
寄存器
偏移
类型
复位值
描述
XTALCR
0x20
R/W
0
晶体振荡器控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
9
8
1
0
ON
32KON
23
22
21
20
15
14
DRV
13
12
11
10
7
6
-
32KDRV
5
4
DET
32KDET
3
2
-
位域
名称
描述
31:6
-
-
19:16
DRV
高频晶体振荡器驱动能力控制信号,可微调频率
15:12
-
-
11:8
32KDRV
32K 低频晶振频率修调控制信号
7:6
-
外接高频晶振停振检测使能
5
DET
0:关闭
1:开启
外接 32K 低频晶振停振检测使能
4
32KDET
0:关闭
1:开启
3:2
-
1
ON
外接高频晶振使能
0:关闭
1:开启
外接 32K 低频晶振使能
0
32KON
0:关闭
1:开启
148
Version 1.25
SWM341 系列
晶体振荡器状态寄存器 XTALST
寄存器
偏移
类型
复位值
描述
XTALST
0x24
R/W1C
0
晶体振荡器状态寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
STOP
32KSTOP
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:2
-
外接高频晶振状态,写 1 清 0
1
STOP
0:正常
1:停振,发生停振后将自动切换至 RCHF
外接 32K 低频晶振状态,写 1 清 0
0
32KSTOP
0:正常
1:停振
149
Version 1.25
SWM341 系列
PLL 控制寄存器 PLLCR
寄存器
偏移
类型
复位值
描述
PLLCR
0x40
R/W
0
PLL 控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
RST
OFF
INSEL
OUTEN
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:4
-
PLL 模块 RESET 开关控制
3
RST
0:模块不复位
1:模块复位
PLL 模块 POWER DOWN 开关控制
2
OFF
0:模块开启
1:模块关闭,进入 powerdown 模式
参考时钟选择
1
INSEL
1:选择内部 20M 时钟作为参考时钟
0:选择高频晶体振荡器作为参考时钟
时钟输出使能
0
OUTEN
0:输出时钟关闭
1:输出时钟开启
150
Version 1.25
SWM341 系列
PLL 分频寄存器 PLLDIV
寄存器
偏移
类型
复位值
描述
PLLDIV
0x44
R/W
0
PLL 分频寄存器
30
29
31
28
27
26
25
23
22
21
OUTDIV
20
19
15
14
18
17
16
9
8
INDIV
13
12
11
10
7
6
24
5
FBDIV
4
3
2
1
0
FBDIV
位域
名称
描述
31:26
-
PLL Post 分频寄存器
25:24
OUTDIV
00:8 分频
01:4 分频
1x:2 分频
23:21
-
PLL Reference 分频寄存器
20:16
INDIV
0:不可赋值
N:N 分频
数值对应 1-31
15:9
-
PLL FeedBack 分频寄存器
8:0
FBDIV
0:不可赋值
N:N 分频
数值为 1-511,对应分频为 1-551
151
Version 1.25
SWM341 系列
PLL 状态寄存器 PLLST
寄存器
偏移
类型
复位值
描述
PLLST
0x4C
R/W
0
PLL 状态寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:1
-
-
LOCK
PLL LOCK 输出标志信号(只有当 CPU 连续两次检测到该寄存器为 1 后,
才能将 CLK_EN
0
LOCK
位置为有效,使用 PLL 时钟)
1:PLL 已锁定
0:PLL 未锁定
152
Version 1.25
SWM341 系列
内部低频 RC 配置寄存器 LRCCR
寄存器
偏移
类型
复位值
描述
LRCCR
0x050
R/W
0x0000_0001
内部低频 RC 配置寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:1
-
-
ON
内置低频 RC 使能
0
ON
0:关闭
1:开启
153
Version 1.25
SWM341 系列
DAC 控制寄存器 DACCR
寄存器
偏移
类型
复位值
描述
DACCR
0x90
R/W
0x00
DAC 控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
VRADJ
位域
名称
描述
31:5
-
DAC VREF 修调
0:1.15V
1:1.175
4:0
VRADJ
……
n:1.15+n*0.025V
……
28:1.8V
其他:保留
154
Version 1.25
SWM341 系列
温度传感器控制寄存器 TEMPCR
寄存器
偏移
类型
复位值
描述
TEMPCR
0x98
R/W
0x00
TEMP 控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:1
-
-
TEMPEN
TEMP(温度传感器)使能寄存器
0:关闭
0
TEMPEN
1:开启
注:温度传感器连接 ADC1_CH7,温度传感器输出电压随文档变化的趋势为 7mv/度
,具体的 ADC 读数与温度换算公式符合 y=kx+b
155
Version 1.25
SWM341 系列
6.7
引脚功能配置(PORTCON)
6.7.1 概述
端口控制模块主要包括管脚输入使能,管脚功能配置,I/O 上拉、下拉、开漏配置。SWM341 系
列所有型号 PORTCON 模块操作均相同,部分型号无对应管脚时,对应寄存器位无效。
6.7.2 特性
⚫
配置 I/O 引脚为特定功能
⚫
支持上拉/下拉/开漏/推挽功能
⚫
配置管脚输入使能
156
Version 1.25
SWM341 系列
6.7.3 模块结构框图
Analog Path
VDD
GPIO
数字外设
数字外设
数字外设
PULLU
Weak
Pull Up
PULLD
Weak
Pull Down
INEN
Digital Input
数字外设
数字外设
数字外设
模拟外设
PORTx_SEL
OPEND
VDD
DIR=1 或
外设输出模式
Digital Output
图 6-6 PORTCON 模块结构框图
注 1:five-volt tolerant I/O,5V 兼容 IO
注 2:VDD_FT 不同于 VDD,专为 5V 耐压 IO 设计,使得 3.3V 供电芯片的 IO 可以直连 5V 供电
芯片的 IO
157
Version 1.25
SWM341 系列
6.7.4 功能
引脚输入使能
本芯片引脚作为输入或需要输入的外设时,需要打开引脚对应输入使能寄存器(INEN_x)
,当引
脚所在寄存器对应位设置为 1 时,输入使能打开,引脚可获取外部状态。
功能选择配置
端口复用通过端口复用寄存器 PORTx_SEL 寄存器实现。当指定位配置为对应值时,引脚功能实
现切换。
每个端口可能具备以下功能:
⚫
通用输入输出接口:引脚作为通用输入输出功能,输入或输出指定数字电平
⚫
外设接口:将对应引脚切换至指定数字功能,如 TIMER/UART/PWM 等
⚫
模拟接口:将对应引脚切换至模拟功能,如模数转换器、时钟输入等
⚫
下载接口:使用仿真器连接下载程序及单步执行
配置示意图如图 6-7 所示。
PORTx_SEL
GPIO
外设接口
MUX
SWD
PINx
ADC/XI/XO
图 6-7 引脚配置示意图
上拉/下拉/推挽/开漏配置
本芯片每个引脚均可配置为以下模式:
⚫
上拉输入
⚫
下拉输入
158
Version 1.25
SWM341 系列
⚫
推挽输出
⚫
开漏输出
当对应引脚作为除 GPIO 之外的功能引脚时,此配置同样生效。
作为输入功能使用时,GPIO DIR 寄存器对应位为 0,该状态为上电默认状态。此时可以开启内
部上拉和下拉功能,通过配置 PULLU 及 PULLD 寄存器实现,将引脚所对应寄存器指定位配置为
1,即可实现该功能。如图 6-8 所示。
VCC
PULLU
IN
PIN
PULLD
GND
图 6-8 IO 输入上拉下拉
作为输出功能使用时,GPIO DIR 寄存器对应位为 1,此时可配置引脚状态为推挽输出或开漏输
出,,通过配置 OPEND 寄存器实现。
作为推挽输出时,GPIO OPEND 寄存器对应位为 0,芯片具备拉/灌电流的能力,GPIO DATA 寄存
器配置值将反映到对应引脚电平。如图 6-9 所示。
VCC
PIN
DATA
GND
图 6-9 推挽输出
作为开漏输出时,GPIO OPEND 寄存器对应位为 1,芯片只具备灌电流的能力,不具备拉电流能
力。GPIO 输出配置为 0 时,对应引脚将输出 0,配置为 1 时,输出高阻。若需要输出 1 时,需
要将内部/外部引脚接上拉电阻,通过上拉实现高电平输出。示意图如图 6-10 所示。
159
Version 1.25
SWM341 系列
PIN
DATA
图 6-10 开漏输出
160
Version 1.25
SWM341 系列
6.7.5 寄存器映射
名称
偏移
POTRG
类型
复位值
描述
BASE:0x400A0000
PORTA_SEL0
0x00
R/W
0x00
端口 A 功能配置寄存器 0
PORTA_SEL1
0x04
R/W
0x00
端口 A 功能配置寄存器 1
PORTB_SEL0
0x10
R/W
0x00
端口 B 功能配置寄存器 0
PORTB_SEL1
0x14
R/W
0x00
端口 B 功能配置寄存器 1
PORTC_SEL0
0x20
R/W
0x00
端口 C 功能配置寄存器 0
PORTC_SEL1
0x24
R/W
0x00
端口 C 功能配置寄存器 1
PORTD_SEL0
0x30
R/W
0x00
端口 D 功能配置寄存器 0
PORTD_SEL1
0x34
R/W
0x00
端口 D 功能配置寄存器 1
PORTE_SEL0
0x40
R/W
0x00
端口 E 功能配置寄存器 0
PORTE_SEL1
0x44
R/W
0x00
端口 E 功能配置寄存器 1
PORTM_SEL0
0x80
R/W
0x00
端口 M 功能配置寄存器 0
PORTM_SEL1
0x84
R/W
0x00
端口 M 功能配置寄存器 1
PORTN_SEL0
0x90
R/W
0x00
端口 N 功能配置寄存器 0
PORTN_SEL1
0x94
R/W
0x00
端口 N 功能配置寄存器 1
PORTn
BASE:0x400A0100
PULLU_A
0x00
R/W
0x00
端口 A 上拉使能控制寄存器
PULLU_B
0x10
R/W
0x00
端口 B 上拉使能控制寄存器
PULLU_C
0x20
R/W
0x00
端口 C 上拉使能控制寄存器
PULLU_D
0x30
R/W
0x00
端口 D 上拉使能控制寄存器
PULLU_E
0x40
R/W
0x00
端口 E 上拉使能控制寄存器
PULLU_M
0x80
R/W
0x00
端口 M 上拉使能控制寄存器
PULLU_N
0x90
R/W
0x00
端口 N 上拉使能控制寄存器
PULLD_A
0x100
R/W
0x00
端口 A 下拉使能控制寄存器
PULLD_B
0x110
R/W
0x00
端口 B 下拉使能控制寄存器
PULLD_C
0x120
R/W
0x00
端口 C 下拉使能控制寄存器
PULLD_D
0x130
R/W
0x00
端口 D 下拉使能控制寄存器
PULLE_E
0x140
R/W
0x00
端口 E 下拉使能控制寄存器
PULLD_M
0x180
R/W
0x00
端口 M 下拉使能控制寄存器
PULLD_N
0x190
R/W
0x00
端口 N 下拉使能控制寄存器
INEN_A
0x200
R/W
0x00
端口 A 输入使能控制寄存器
INEN_B
0x210
R/W
0x00
端口 B 输入使能控制寄存器
INEN_C
0x220
R/W
0x00
端口 C 输入使能控制寄存器
INEN_D
0x230
R/W
0x00
端口 D 输入使能控制寄存器
INEN_E
0x240
R/W
0x00
端口 E 输入使能控制寄存器
INEN_M
0x280
R/W
0x00
端口 M 输入使能控制寄存器
INEN_N
0x290
R/W
0x00
端口 N 输入使能控制寄存器
OPEND_A
0x300
R/W
0x00
端口 A 开漏使能控制寄存器
161
Version 1.25
SWM341 系列
OPEND_B
0x310
R/W
0x00
端口 B 开漏使能控制寄存器
OPEND_C
0x320
R/W
0x00
端口 C 开漏使能控制寄存器
OPEND_D
0x330
R/W
0x00
端口 D 开漏使能控制寄存器
OPEND_E
0x340
R/W
0x00
端口 E 开漏使能控制寄存器
OPEND_M
0x380
R/W
0x00
端口 M 开漏使能控制寄存器
OPEND_N
0x390
R/W
0x00
端口 N 开漏使能控制寄存器
DRVST_A
0x400
R/W
0x00
端口 A 驱动控制寄存器
DRVST_B
0x410
R/W
0x00
端口 B 驱动控制寄存器
DRVST_C
0x420
R/W
0x00
端口 C 驱动控制寄存器
DRVST_D
0x430
R/W
0x00
端口 D 驱动控制寄存器
DRVST_E
0x440
R/W
0x00
端口 E 驱动控制寄存器
DRVST_M
0x480
R/W
0x00
端口 M 驱动控制寄存器
DRVST_N
0x490
R/W
0x00
端口 N 驱动控制寄存器
162
Version 1.25
SWM341 系列
6.7.6 寄存器描述
PORTA_SEL0
寄存器
偏移
类型
复位值
描述
PORTA_SEL0
0x00
R/W
0xF0
端口 A 功能配置寄存器 0
30
29
31
28
27
26
PIN7
23
22
21
14
20
19
18
13
6
12
11
名称
16
10
9
8
1
0
PIN2
5
4
3
PIN1
位域
17
PIN4
PIN3
7
24
PIN6
PIN5
15
25
2
PIN0
描述
Port A7 功能选择
0000:GPIO
31:28
PIN7
0001:I2C1_SCL
0010:TIMR3_IN
0011:TIMR3_OUT
其它:保留
Port A6 功能选择
0000:GPIO
27:24
PIN6
0001:I2C1_SDA
0010:PWM_BRK0
0011:PWM_CLK0
其它:保留
Port A5 功能选择
0000:GPIO
23:20
PIN5
0001:PWM_BRK1
0010:PWM_CLK1
0011:LDQM_OUT
其它:保留
Port A4 功能选择
0000:GPIO
19:16
PIN4
0001:I2C0_SCL
0010:LCD_B5
1111:XO
其它:保留
163
Version 1.25
SWM341 系列
Port A3 功能选择
0000:GPIO
15:12
PIN3
0001:I2C0_SDA
0010:LCD_B6
1111:XI
其它:保留
Port A2 功能选择
0000:GPIO
0001:UART1_RX
11:8
PIN2
0010:PWM_BRK0
0011:HALL2
0100:LCD_B4
1111:ACMP0_INP
其它:保留
Port A1 功能选择
0000:GPIO
0001:I2C0_SCL
7:4
PIN1
0010:UART2_RTS
0011:HALL1
0100:LCD_B3
1111:ACMP1_INP
其它:保留
Port A0 功能选择
0000:GPIO
0001:I2C0_SDA
3:0
PIN0
0010:UART1_TX
0011:HALL0
0100:LCD_B7
1111:ACMP2_INP
其它:保留
164
Version 1.25
SWM341 系列
PORTA_SEL1
寄存器
偏移
类型
复位值
描述
PORTA_SEL1
0x04
R/W
0x00
端口 A 功能配置寄存器 1
30
29
31
28
27
26
PIN15
23
22
21
14
20
19
18
13
6
12
11
名称
16
10
9
8
1
0
PIN10
5
4
3
PIN9
位域
17
PIN12
PIN11
7
24
PIN14
PIN13
15
25
2
PIN8
描述
Port A15 功能选择
0000:GPIO
0001:HALL3
31:28
PIN15
0010:LCD_G3:
0011:FILTER1
1111:ADC0_CH7
1111:OPA3_OUT
其它:保留
Port A14 功能选择
0000:GPIO
0001:HALL5
27:24
PIN14
0010:LCD_G2
1111:ADC0_CH8
1111:OPA3_INP
其它:保留
Port A13 功能选择
0000:GPIO
0001:UART0_TX
0010:HALL4
23:20
PIN13
0011:BTIMR0_OUT
0100:LCD_G1
1111:ADC0_CH9
1111:OPA3_INN
其它:保留
165
Version 1.25
SWM341 系列
Port A12 功能选择
0000:GPIO
0001:UART0_RX
0010:HALL3
19:16
PIN12
0011:BTIMR1_OUT
0100:LCD_G0
0101:ADC0_TRIG1
1111:ADC0_CH10
其它:保留
Port A11 功能选择
0000:GPIO
0001:UART0_RTS
0010:PWM_CLK0
15:12
PIN11
0011:BTIMR2_OUT
0100:LCD_B7
0101:ADC1_TRIG1
1111:OPA1_INP
其它:保留
Port A10 功能选择
0000:GPIO
0001:UART0_CTS
0010:PWM_CLK1
11:8
PIN10
0011:BTIMR3_OUT
0100:CAN0_TX
0101:LCD_B6
1111:ADC0_CH11
1111:OPA1_OUT
其它:保留
Port A9 功能选择
0000:GPIO
7:4
PIN9
0001:CAN0_RX
0010:LCD_B5
1111:OPA1_INN
其它:保留
Port A8 功能选择
3:0
PIN8
0000:GPIO
其他:ISP
166
Version 1.25
SWM341 系列
PORTB_SEL0
寄存器
偏移
类型
复位值
描述
PORTB_SEL0
0x10
R/W
0x00
端口 B 功能配置寄存器 0
30
29
31
28
27
26
PIN7
23
22
21
14
20
19
18
13
6
12
11
名称
16
10
9
8
1
0
PIN2
5
4
3
PIN1
位域
17
PIN4
PIN3
7
24
PIN6
PIN5
15
25
2
PIN0
描述
Port B7 功能选择
31:28
PIN7
0000:GPIO
0001:MWEN_OUT
其它:保留
Port B6 功能选择
27:24
PIN6
0000:GPIO
0001:LDQM_OUT
其它:保留
Port B5 功能选择
0000:GPIO
0001:SPI1_SSEL
0010:UART3_CTS
0011:HALL2
23:20
PIN5
0100:BTIMR0_OUT
0101:CAN0_RX
0110:LCDC_RD_OUT:
0111:FILTER0
1111:ACMP1_INN
其它:保留
167
Version 1.25
SWM341 系列
Port B4 功能选择
0000:GPIO
0001:SPI1_MOSI
0010:UART3_RX
0011:HALL1
19:16
PIN4
0100:BTIMR1_OUT
0101:CAN0_TX:
0110:LCDC_RS_OUT
0111:FILTER0:
1111:ACMP2_INN
其它:保留
Port B3 功能选择
0000:GPIO
0001:SPI1_MISO
0010:UART3_TX:
0011:PWM2A
15:12
PIN3
0100:HALL0:
0101:BTIMR2_OUT
0110:CAN1_RX:
0111:LCDC_WNR_OUT
1000:FILTER0
其它:保留
Port B2 功能选择
0000:GPIO
0001:SPI1_SCLK
0010:UART3_RTS
11:8
PIN2
0011:PWM2B
0100:BTIMR3_OUT:
0101:CAN1_TX
0110:LCDC_CSN_OUT
0111:FILTER0
其它:保留
Port B1 功能选择
0000:GPIO
0001:PWM3B
7:4
PIN1
0010:TIMR0_IN
0011:TIMR0_OUT
0100:LCD_B0
0101:SD_D7
其它:保留
168
Version 1.25
SWM341 系列
Port B0 功能选择
0000:GPIO
0001:UART1_TX
0010:PWM3BN
3:0
PIN0
0011:DMA_TRIG1
0100:TIMR1_IN
0101:TIMR1_OUT
0110:SD_D6
其它:保留
169
Version 1.25
SWM341 系列
PORTB_SEL1
寄存器
偏移
类型
复位值
描述
PORTB_SEL1
0x14
R/W
0x00
端口 B 功能配置寄存器 1
30
29
31
28
27
26
PIN15
23
22
21
14
20
19
18
13
6
12
11
名称
16
10
9
8
1
0
PIN10
5
4
3
PIN9
位域
17
PIN12
PIN11
7
24
PIN14
PIN13
15
25
2
PIN8
描述
Port B15 功能选择
0000:GPIO
0001:JTAGTRSTN
0010:I2C1_SCL
31:28
PIN15
0011:UART2_CTS
0100:PWM4A:
0101:TIMR0_IN
0110:TIMR0_OUT
0111:LCD_B3
其它:保留
Port B14 功能选择
0000: GPIO
0001: JTAGTMSSWIO
0010: SPI0_SSEL
27:24
PIN14
0011:UART0_TX
0100:PWM4AN
0101:TIMR1_IN
0110:TIMR1_OUT
其它:保留
170
Version 1.25
SWM341 系列
Port B13 功能选择
0000: GPIO
0001: JTAGTDI
0010: I2C1_SDA
23:20
PIN13
0011:UART2_RX
0100:PWM4B
0101:TIMR2_IN
0110:TIMR2_OUT:
0111:LCD_B2
其它:保留
Port B12 功能选择
0000: GPIO
0001: JTAGSWCLK
0010: UART0_RX
19:16
PIN12
0011:PWM4BN
0100:TIMR3_IN
0101:TIMR3_OUT
1111:ACMP0_INN
其它:保留
Port B11 功能选择
0000: GPIO
0001: JTAGTDO
0010: UART2_TX
15:12
PIN11
0011:PWM_BRK2
0100:TIMR0_IN/、
0101:TIMR0_OUT
0110:LCD_B1
其它:保留
Port B10 功能选择
0000: GPIO
0001: SPI0_MOSI
11:8
PIN10
0010:TIMR1_IN:
0011:TIMR1_OUT
0100:MCSN0_OUT
其它:保留
Port B9 功能选择
0000: GPIO
0001: SPI0_MISO
7:4
PIN9
0010:TIMR2_IN
0011:TIMR2_OUT
0100:MRASN_OUT
其它:保留
171
Version 1.25
SWM341 系列
Port B8 功能选择
0000: GPIO
0001: SPI0_SCLK
3:0
PIN8
0010:TIMR3_IN
0011:TIMR3_OUT
0100:MCASN_OUT
其它:保留
172
Version 1.25
SWM341 系列
PORTC_SEL0
寄存器
偏移
类型
复位值
描述
PORTC_SEL0
0x20
R/W
0x00
端口 C 功能配置寄存器 0
30
29
31
28
27
26
PIN7
23
22
21
14
20
19
18
13
6
12
11
名称
16
10
9
8
1
0
PIN2
5
4
3
PIN1
位域
17
PIN4
PIN3
7
24
PIN6
PIN5
15
25
2
PIN0
描述
Port C7 功能选择
31:28
PIN7
0000: GPIO
0001: SPI1_SCLK
其它:保留
Port C6 功能选择
0000: GPIO
27:24
PIN6
0001: SPI1_MOSI
0010: BTIMR8_OUT
1111: ADC0_CH0
其它:保留
Port C5 功能选择
0000:GPIO
0001:I2C1_SCL
0010:SPI1_MISO
23:20
PIN5
0011:BTIMR9_OUT
0100:LCD_R1
1111:ADC0_CH1
1111:OPA0_INN
其它:保留
173
Version 1.25
SWM341 系列
Port C4 功能选择
0000: GPIO
0001: I2C1_SDA
0010: SPI1_SSEL
19:16
PIN4
0011: BTIMR10_OUT
0100: TIMR4_IN
0101: TIMR4_OUT
0110: LCD_R0
1111: ADC0_CH2
其它:保留
Port C3 功能选择
0000: GPIO
0001: UART3_TX
0010: PWM3AN
0011: BTIMR11_OUT
15:12
PIN3
0100: TIMR3_IN
0101: TIMR3_OUT
0110: LCD_G7
1111: ADC0_CH3
1111:OPA2_OUT
其它:保留
Port C2 功能选择
0000: GPIO
0001: I2C0_SCL
0010: UART3_RX
0011: PWM3A
11:8
PIN2
0100: TIMR2_IN
0101: TIMR2_OUT
0110: LCD_G6
0111: FILTER1
1111: ADC0_CH4
1111:OPA2_INP
其它:保留
174
Version 1.25
SWM341 系列
Port C1 功能选择
0000: GPIO
0001: I2C0_SDA
0010: UART2_RX
0011: HALL5
7:4
PIN1
0100: TIMR0_IN
0101: TIMR0_OUT
0110: LCD_G5
0111: FILTER1
1111: ADC0_CH5
1111: OPA2_INN
其它:保留
Port C0 功能选择
0000: GPIO
0001: UART2_TX
0010: HALL4
3:0
PIN0
0011: TIMR1_IN
0100: TIMR1_OUT
0101: LCD_G4
0110: FILTER
1111: ADC_CH6
其它:保留
175
Version 1.25
SWM341 系列
PORTC_SEL1
寄存器
偏移
类型
复位值
描述
PORTC_SEL1
0x24
R/W
0x00
端口 C 功能配置寄存器 1
30
29
31
28
27
26
PIN15
23
22
21
14
20
19
18
13
6
12
11
名称
16
10
9
8
1
0
PIN10
5
4
3
PIN9
位域
17
PIN12
PIN11
7
24
PIN14
PIN13
15
25
2
PIN8
描述
Port C15 功能选择
31:28
PIN15
0000: GPIO
0001: MDDATA15
其它:保留
Port C14 功能选择
27:24
PIN14
0000: GPIO
0001: MDDATA14
其它:保留
Port C13 功能选择
0000: GPIO
0001: I2C0_SDA
0010: UART0_TX
23:20
PIN13
0011: BTIMR3_OUT
0100: TIMR4_IN
0101: TIMR4_OUT
0110: LCD_R7
1111: ADC1_CH2
其它:保留
Port C12 功能选择
0000: GPIO
0001: UART0_RX
19:16
PIN12
0010: BTIMR4_OUT
0011: LCD_R6
1111: ADC1_CH3
其它:保留
176
Version 1.25
SWM341 系列
Port C11 功能选择
0000: GPIO
0001: BTIMR5_OUT
15:12
PIN11
0010: TIMR0_IN
0011: TIMR0_OUT
0100: LCD_R5
1111: ADC1_CH4
其它:保留
Port C10 功能选择
0000: GPIO
0001: BTIMR6_OUT
11:8
PIN10
0010: TIMR1_IN
0011: TIMR1_OUT
0100: LCD_R4
1111: ADC1_CH5
其它:保留
Port C9 功能选择
0000: GPIO
0001: BTIMR7_OUT
0010: TIMR2_IN
7:4
PIN9
0011: TIMR2_OUT
0100: LCD_R3
1111: ADC1_CH6
1111:OPA0_OUT
其它:保留
Port C8 功能选择
0000: GPIO
3:0
PIN8
0001: LCD_R2
0010:OPA0_INP
其它:保留
177
Version 1.25
SWM341 系列
PORTD_SEL0
寄存器
偏移
类型
复位值
描述
PORTD_SEL0
0x30
R/W
0x00
端口 D 功能配置寄存器 0
30
29
31
28
27
26
PIN7
23
22
21
14
20
19
18
13
6
12
11
名称
16
10
9
8
1
0
PIN2
5
4
3
PIN1
位域
17
PIN4
PIN3
7
24
PIN6
PIN5
15
25
2
PIN0
描述
Port D7 功能选择
0000: GPIO
0001: UPDN_OUT
31:28
PIN7
0010:I2C1_SDA
0011:FLASH_SO
0100:BTIMR8_OUT
其它:保留
Port D6 功能选择
0000: GPIO
0001: FLASH_CSN
27:24
PIN6
0010: UART3_RX
0011: PWM_CLK0
0100: BTIMR9_OUT
0101: CAN0_RX
其它:WAKEUP0
Port D5 功能选择
0000: GPIO
0001: FLASH_SCK
23:20
PIN5
0010: UART3_TX
0011: PWM_CLK1
0100: BTIMR10_OUT
0101: CAN0_TX
其它:保留
178
Version 1.25
SWM341 系列
Port D4 功能选择
0000: GPIO
0001: QEA_IN
0010:FLASH_HOLD:
19:16
PIN4
0011:UART1_RX
0100:HALL5
0101:BTIMR11_OUT
0110:CAN1_RX
0111:ADC0_TRIG1
其它:保留
Port D3 功能选择
0000: GPIO
0001: QEB_IN
0010:FLASH_WP
15:12
PIN3
0011:UART1_TX
0100:HALL4
0101:CAN1_TX:
0110:ADC1_TRIG1
其它:保留
Port D2 功能选择
0000: GPIO
11:8
PIN2
0001: INDEX_IN
0010:HALL3
0011:DAC_OUT
其它:保留
Port D1 功能选择
0000: GPIO
7:4
PIN1
0001: LCD_R5
1111: ADC1_CH0
其它:保留
Port D0 功能选择
0000: GPIO
0001: I2C0_SCL
3:0
PIN0
0010: TIMR3_IN
0011: TIMR3_OUT
0100:LCD_R4
0100: ADC1_CH1
其它:保留
179
Version 1.25
SWM341 系列
PORTD_SEL1
寄存器
偏移
类型
复位值
描述
PORTD_SEL1
0x34
R/W
0x00
端口 D 功能配置寄存器 1
30
29
31
28
27
26
PIN15
23
22
21
14
20
19
18
13
6
12
11
名称
16
10
9
8
1
0
PIN10
5
4
3
PIN9
位域
17
PIN12
PIN11
7
24
PIN14
PIN13
15
25
2
PIN8
描述
Port D15 功能选择
31:28
PIN15
0000: GPIO
其他: WAKEUP1
Port D14 功能选择
27:24
PIN14
0000: GPIO
其它:保留
Port D13 功能选择
23:20
PIN13
0000: GPIO
其它:保留
Port D12 功能选择
19:16
PIN12
0000: GPIO
其它:保留
Port D11 功能选择
15:12
PIN11
0000: GPIO
0001: PWM_CLK0
其它:保留
Port D10 功能选择
0000: GPIO
11:8
PIN10
0001: PWM_CLK1
0010: UDQM_OUT
其它:保留
180
Version 1.25
SWM341 系列
Port D9 功能选择
0000: GPIO
7:4
PIN9
0001: PWM1B
0010: TIMR3_IN
0011: TIMR3_OUT
其它:保留
Port D8 功能选择
0000: GPIO
0001: I2C1_SCL
3:0
PIN8
0010: FLASH_SI
0011: PWM1BN
0100: TIMR4_IN
0101: TIMR4_OUT
其它:保留
181
Version 1.25
SWM341 系列
PORTE_SEL0
寄存器
偏移
类型
复位值
描述
PORTE_SEL0
0x40
R/W
0x00
端口 E 功能配置寄存器 0
30
29
31
28
27
26
PIN7
23
22
21
14
20
19
18
13
6
12
11
名称
16
10
9
8
1
0
PIN2
5
4
3
PIN1
位域
17
PIN4
PIN3
7
24
PIN6
PIN5
15
25
2
PIN0
描述
Port E7 功能选择
31:28
PIN7
0000: GPIO
0001: MDDATA0
其它:保留
Port E6 功能选择
27:24
PIN6
0000: GPIO
0001: MDDATA1
其它:保留
Port E5 功能选择
23:20
PIN5
0000: GPIO
0001: MDDATA2
其它:保留
Port E4 功能选择
19:16
PIN4
0000: GPIO
0001: MDDATA3
其它:保留
Port E3 功能选择
15:12
PIN3
0000: GPIO
0001: MDDATA4
其它:保留
Port E2 功能选择
0000: GPIO
11:8
PIN2
0001: MDDATA5
其它:保留
182
Version 1.25
SWM341 系列
Port E1 功能选择
7:4
PIN1
0000: GPIO
0001: MDDATA6
其它:保留
Port E0 功能选择
3:0
PIN0
0000: GPIO
0001: MDDATA7
其它:保留
183
Version 1.25
SWM341 系列
PORTE_SEL1
寄存器
偏移
类型
复位值
描述
PORTE_SEL1
0x44
R/W
0x00
端口 E 功能配置寄存器 1
30
29
31
28
27
26
PIN15
23
22
21
14
20
19
18
13
6
12
11
名称
16
10
9
8
1
0
PIN10
5
4
3
PIN9
位域
17
PIN12
PIN11
7
24
PIN14
PIN13
15
25
2
PIN8
描述
Port E15 功能选择
31:28
PIN15
0000:GPIO
0001:MB0_OUT
其它:保留
Port E14 功能选择
27:24
PIN14
0000:GPIO
0001:MB1_OUT
其它:保留
Port E13 功能选择
23:20
PIN13
0000:GPIO
0001:MDDATA13
其它:保留
Port E12 功能选择
19:16
PIN12
0000:GPIO
0001:MDDATA12
其它:保留
Port E11 功能选择
15:12
PIN11
0000:GPIO
0001:MDDATA11
其它:保留
Port E10 功能选择
11:8
PIN10
0000:GPIO
0001:MDDATA10
其它:保留
184
Version 1.25
SWM341 系列
Port E9 功能选择
7:4
PIN9
0000:GPIO
0001:MDDATA9
其它:保留
Port E8 功能选择
3:0
PIN8
0000:GPIO
0001:MDDATA8
其它:保留
185
Version 1.25
SWM341 系列
PORTM_SEL0
寄存器
偏移
类型
复位值
描述
PORTM_SEL0
0x80
R/W
0x00
端口 M 功能配置寄存器 0
30
29
31
28
27
26
PIN7
23
22
21
14
20
19
18
13
6
12
11
名称
16
10
9
8
1
0
PIN2
5
4
3
PIN1
位域
17
PIN4
PIN3
7
24
PIN6
PIN5
15
25
2
PIN0
描述
Port M7 功能选择
31:28
PIN7
0000: GPIO
0001: UART2_TX
其它:保留
Port M6 功能选择
0000: GPIO
0001: I2C1_SCL
0010: UART2_RX
27:24
PIN6
0011: PWM1AN
0100: TIMR0_IN
0101: TIMR0_OUT
0110: SD_D1
其它:保留
Port M5 功能选择
0000: GPIO
0001: I2C1_SDA
0010: SPI0_MOSI
0011: UART3_RX
23:20
PIN5
0100: PWM0BN
0101: BTIMR0_OUT
0110: TIMR1_IN
0111: TIMR1_OUT
1000: SD_D0
其它:保留
186
Version 1.25
SWM341 系列
Port M4 功能选择
0000: GPIO
0001: SPI0_MISO
0010: UART3_TX
0011: PWM0AN
19:16
PIN4
0100: BTIMR1_OUT
0101: TIMR2_IN
0110: TIMR2_OUT
0111: LCDC_CSN_OUT
1000:SD_CMD
其它:保留
Port M3 功能选择
0000: GPIO
0001:SPI0_SSEL
0010:UART1_TX
15:12
PIN3
0011:PWM1A
0100:BTIMR2_OUT
0101:TIMR0_IN
0110:TIMR0_OUT
0111:SD_DETECT
其它:保留
Port M2 功能选择
0000: GPIO
0001: SPI0_SCLK
0010: SPI0_SCLK
0011:UART1_RX
11:8
PIN2
0100:PWM0B
0101:BTIMR3_OUT
0110:TIMR1_IN
0111:TIMR1_OUT:
1000:SD_CLK
其它:保留
Port M1 功能选择
0000: GPIO
0001: UART0_TX
7:4
PIN1
0010: PWM0A
0011: TIMR2_IN
0100: TIMR2_OUT
0101: CAN1_RX
其它:保留
187
Version 1.25
SWM341 系列
Port M0 功能选择
0000: GPIO
3:0
PIN0
0001: UART0_RX
0010: PWM_BRK1
0011: CAN1_TX
其它:保留
188
Version 1.25
SWM341 系列
PORTM_SEL1
寄存器
偏移
类型
复位值
描述
PORTM_SEL1
0x84
R/W
0x00
端口 M 功能配置寄存器 1
30
29
31
28
27
26
PIN15
23
22
21
14
20
19
18
13
6
12
11
名称
16
10
9
8
1
0
PIN10
5
4
3
PIN9
位域
17
PIN12
PIN11
7
24
PIN14
PIN13
15
25
2
PIN8
描述
Port M15 功能选择
0000: GPIO
31:28
PIN15
0001: TIMR2_IN
0010: TIMR2_OUT
0011: MA12_OUT
其它:保留
Port M14 功能选择
0000: GPIO
27:24
PIN14
0001: TIMR3_IN
0010: TIMR3_OUT
0011: MCKE_OUT
其它:保留
Port M13 功能选择
0000: GPIO
23:20
PIN13
0001: PWM_BRK0
0010: MCLK_OUT
其它:保留
Port M12 功能选择
0000: GPIO
19:16
PIN12
0001: PWM2A
0010: UDQM_OUT
其它:保留
189
Version 1.25
SWM341 系列
Port M11 功能选择
0000: GPIO
15:12
PIN11
0001: PWM2B
0010:LCD_RS_OUT
其它:保留
Port M10 功能选择
11:8
PIN10
0000: GPIO
0001: PWM3A
其它:保留
Port M9 功能选择
0000: GPIO
7:4
PIN9
0001: PWM2AN
0010: CAN0_RX
其它:保留
Port M8 功能选择
0000: GPIO
3:0
PIN8
0001: PWM2BN
0010: CAN0_TX
0011:LCD_WNR_OUT
其它:保留
190
Version 1.25
SWM341 系列
PORTN_SEL0
寄存器
偏移
类型
复位值
描述
PORTN_SEL0
0x90
R/W
0x00
端口 N 功能配置寄存器 0
30
29
31
28
27
26
PIN7
23
22
21
14
20
19
18
13
6
12
11
名称
16
10
9
8
1
0
PIN2
5
4
3
PIN1
位域
17
PIN4
PIN3
7
24
PIN6
PIN5
15
25
2
PIN0
描述
Port N7 功能选择
31:28
PIN7
0000:GPIO
0001: MA7_OUT
其它:保留
Port N6 功能选择
27:24
PIN6
0000:GPIO
0001: MA8_OUT
其它:保留
Port N5 功能选择
0000:GPIO
0001:I2C0_SCL
0010: SPI1_MOSI
0011: UART1_RX
0100: PWM3A
0101: DMA_TRIG0
23:20
PIN5
0110: BTIMR4_OUT
0111: TIMR2_IN
1000: TIMR2_OUT
1001: CAN0_RX
1010: LCD_R3
1011: SD_D5
1100:ADC0_TRIG0
其它:保留
191
Version 1.25
SWM341 系列
Port N4 功能选择
0000:GPIO
0001:I2C0_SDA
0010: SPI1_MISO
0011: UART1_RTS
0100: PWM2AN
19:16
PIN4
0101: BTIMR5_OUT
0110: TIMR3_IN
0111: TIMR3_OUT
1000: CAN0_TX
1001: SD_D4
1010: ADC1_TRIG0
其它:保留
Port N3 功能选择
0000:GPIO
15:12
PIN3
0001:UART1_CTS
0010:MA9_OUT
其它:保留
Port N2 功能选择
11:8
PIN2
0000:GPIO
0001:MA11_OUT
其它:保留
Port N1 功能选择
0000:GPIO
0001:SPI1_SSEL
0010:PWM2BN
7:4
PIN1
0011:BTIMR6_OUT
0100:TIMR0_IN
0101:TIMR0_OUT
0110:SD_D3
其它:保留
Port N0 功能选择
0000:GPIO
0001:SPI1_SCLK
0010:PWM3AN
3:0
PIN0
0011:BTIMR7_OUT
0100:TIMR1_IN
0101:TIMR1_OUT
0110:LCDC_RD_OUT
0111:SD_D2
其它:保留
192
Version 1.25
SWM341 系列
PORTN_SEL1
寄存器
偏移
类型
复位值
描述
PORTM_SEL1
0x94
R/W
0x00
端口 M 功能配置寄存器 1
30
29
31
28
27
26
PIN15
23
22
21
14
20
19
18
13
6
12
11
名称
16
10
9
8
1
0
PIN10
5
4
3
PIN9
位域
17
PIN12
PIN11
7
24
PIN14
PIN13
15
25
2
PIN8
描述
Port N15 功能选择
31:28
PIN15
0000: GPIO
0001: MA10_OUT
其它:保留
Port N14 功能选择
27:24
PIN14
0000: GPIO
0001: MA0_OUT
其它:保留
Port N13 功能选择
23:20
PIN13
0000: GPIO
0001: MA1_OUT
其它:保留
Port N12 功能选择
19:16
PIN12
0000: GPIO
0001: MA2_OUT
其它:保留
Port N11 功能选择
15:12
PIN11
0000: GPIO_M11
0001: MA3_OUT
其它:保留
Port N10 功能选择
0000: GPIO
11:8
PIN10
0001: MA4_OUT
其它:保留
193
Version 1.25
SWM341 系列
Port N9 功能选择
7:4
PIN9
0000: GPIO
0001: MA5_OUT
其它:保留
Port N8 功能选择
3:0
PIN8
0000: GPIO
0001: MA6_OUT
其它:保留
194
Version 1.25
SWM341 系列
PORTA 端口上拉功能寄存器 PULLU_A
寄存器
偏移
类型
复位值
描述
PULLU_A
0x00
R/W
0x00
端口 A 上拉使能控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 上拉电阻使能
0:禁能
14
PIN14
PIN14 上拉电阻使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 上拉电阻使能
0:禁能
1:使能
PIN9 上拉电阻使能
0:禁能
1:使能
PIN8 上拉电阻使能
1:使能
PIN7 上拉电阻使能
0:禁能
1:使能
PIN6 上拉电阻使能
0:禁能
1:使能
PIN5 上拉电阻使能
0:禁能
4
1:使能
PIN11 上拉电阻使能
0:禁能
7
1:使能
PIN12 上拉电阻使能
0:禁能
11
1:使能
PIN13 上拉电阻使能
0:禁能
12
1:使能
1:使能
PIN4 上拉电阻使能
0:禁能
1:使能
195
Version 1.25
SWM341 系列
3
PIN3
PIN3 上拉电阻使能
0:禁能
2
PIN2
PIN2 上拉电阻使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 上拉电阻使能
0:禁能
1:使能
PIN0 上拉电阻使能
0:禁能
1:使能
196
Version 1.25
SWM341 系列
PORTB 端口上拉功能寄存器 PULLU_B
寄存器
偏移
类型
复位值
描述
PULLU_B
0x10
R/W
0x00
端口 B 上拉使能控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 上拉电阻使能
0:禁能
14
PIN14
PIN14 上拉电阻使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 上拉电阻使能
0:禁能
1:使能
PIN9 上拉电阻使能
0:禁能
1:使能
PIN8 上拉电阻使能
1:使能
PIN7 上拉电阻使能
0:禁能
1:使能
PIN6 上拉电阻使能
0:禁能
1:使能
PIN5 上拉电阻使能
0:禁能
4
1:使能
PIN11 上拉电阻使能
0:禁能
7
1:使能
PIN12 上拉电阻使能
0:禁能
11
1:使能
PIN13 上拉电阻使能
0:禁能
12
1:使能
1:使能
PIN4 上拉电阻使能
0:禁能
1:使能
197
Version 1.25
SWM341 系列
3
PIN3
PIN3 上拉电阻使能
0:禁能
2
PIN2
PIN2 上拉电阻使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 上拉电阻使能
0:禁能
1:使能
PIN0 上拉电阻使能
0:禁能
1:使能
198
Version 1.25
SWM341 系列
PORTC 端口上拉功能寄存器 PULLU_C
寄存器
偏移
类型
复位值
描述
PULLU_C
0x20
R/W
0x00
端口 C 上拉使能控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 上拉电阻使能
0:禁能
14
PIN14
PIN14 上拉电阻使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 上拉电阻使能
0:禁能
1:使能
PIN9 上拉电阻使能
0:禁能
1:使能
PIN8 上拉电阻使能
1:使能
PIN7 上拉电阻使能
0:禁能
1:使能
PIN6 上拉电阻使能
0:禁能
1:使能
PIN5 上拉电阻使能
0:禁能
4
1:使能
PIN11 上拉电阻使能
0:禁能
7
1:使能
PIN12 上拉电阻使能
0:禁能
11
1:使能
PIN13 上拉电阻使能
0:禁能
12
1:使能
1:使能
PIN4 上拉电阻使能
0:禁能
1:使能
199
Version 1.25
SWM341 系列
3
PIN3
PIN3 上拉电阻使能
0:禁能
2
PIN2
PIN2 上拉电阻使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 上拉电阻使能
0:禁能
1:使能
PIN0 上拉电阻使能
0:禁能
1:使能
200
Version 1.25
SWM341 系列
PORTD 端口上拉功能寄存器 PULLU_D
寄存器
偏移
类型
复位值
描述
PULLU_D
0x30
R/W
0x00
端口 D 上拉使能控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 上拉电阻使能
0:禁能
14
PIN14
PIN14 上拉电阻使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 上拉电阻使能
0:禁能
1:使能
PIN9 上拉电阻使能
0:禁能
1:使能
PIN8 上拉电阻使能
1:使能
PIN7 上拉电阻使能
0:禁能
1:使能
PIN6 上拉电阻使能
0:禁能
1:使能
PIN5 上拉电阻使能
0:禁能
4
1:使能
PIN11 上拉电阻使能
0:禁能
7
1:使能
PIN12 上拉电阻使能
0:禁能
11
1:使能
PIN13 上拉电阻使能
0:禁能
12
1:使能
1:使能
PIN4 上拉电阻使能
0:禁能
1:使能
201
Version 1.25
SWM341 系列
3
PIN3
PIN3 上拉电阻使能
0:禁能
2
PIN2
PIN2 上拉电阻使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 上拉电阻使能
0:禁能
1:使能
PIN0 上拉电阻使能
0:禁能
1:使能
202
Version 1.25
SWM341 系列
PORTE 端口上拉功能寄存器 PULLU_E
寄存器
偏移
类型
复位值
描述
PULLU_E
0x40
R/W
0x00
端口 E 上拉使能控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 上拉电阻使能
0:禁能
14
PIN14
PIN14 上拉电阻使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 上拉电阻使能
0:禁能
1:使能
PIN9 上拉电阻使能
0:禁能
1:使能
PIN8 上拉电阻使能
1:使能
PIN7 上拉电阻使能
0:禁能
1:使能
PIN6 上拉电阻使能
0:禁能
1:使能
PIN5 上拉电阻使能
0:禁能
4
1:使能
PIN11 上拉电阻使能
0:禁能
7
1:使能
PIN12 上拉电阻使能
0:禁能
11
1:使能
PIN13 上拉电阻使能
0:禁能
12
1:使能
1:使能
PIN4 上拉电阻使能
0:禁能
1:使能
203
Version 1.25
SWM341 系列
3
PIN3
PIN3 上拉电阻使能
0:禁能
2
PIN2
PIN2 上拉电阻使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 上拉电阻使能
0:禁能
1:使能
PIN0 上拉电阻使能
0:禁能
1:使能
204
Version 1.25
SWM341 系列
PORTM 端口上拉功能寄存器 PULLU_M
寄存器
偏移
类型
复位值
描述
PULLU_M
0x80
R/W
0x00
端口 M 上拉使能控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 上拉电阻使能
0:禁能
14
PIN14
PIN14 上拉电阻使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 上拉电阻使能
0:禁能
1:使能
PIN9 上拉电阻使能
0:禁能
1:使能
PIN8 上拉电阻使能
1:使能
PIN7 上拉电阻使能
0:禁能
1:使能
PIN6 上拉电阻使能
0:禁能
1:使能
PIN5 上拉电阻使能
0:禁能
4
1:使能
PIN11 上拉电阻使能
0:禁能
7
1:使能
PIN12 上拉电阻使能
0:禁能
11
1:使能
PIN13 上拉电阻使能
0:禁能
12
1:使能
1:使能
PIN4 上拉电阻使能
0:禁能
1:使能
205
Version 1.25
SWM341 系列
3
PIN3
PIN3 上拉电阻使能
0:禁能
2
PIN2
PIN2 上拉电阻使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 上拉电阻使能
0:禁能
1:使能
PIN0 上拉电阻使能
0:禁能
1:使能
206
Version 1.25
SWM341 系列
PORTN 端口上拉功能寄存器 PULLU_N
寄存器
偏移
类型
复位值
描述
PULLU_N
0x90
R/W
0x00
端口 N 上拉使能控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 上拉电阻使能
0:禁能
14
PIN14
PIN14 上拉电阻使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 上拉电阻使能
0:禁能
1:使能
PIN9 上拉电阻使能
0:禁能
1:使能
PIN8 上拉电阻使能
1:使能
PIN7 上拉电阻使能
0:禁能
1:使能
PIN6 上拉电阻使能
0:禁能
1:使能
PIN5 上拉电阻使能
0:禁能
4
1:使能
PIN11 上拉电阻使能
0:禁能
7
1:使能
PIN12 上拉电阻使能
0:禁能
11
1:使能
PIN13 上拉电阻使能
0:禁能
12
1:使能
1:使能
PIN4 上拉电阻使能
0:禁能
1:使能
207
Version 1.25
SWM341 系列
3
PIN3
PIN3 上拉电阻使能
0:禁能
2
PIN2
PIN2 上拉电阻使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 上拉电阻使能
0:禁能
1:使能
PIN0 上拉电阻使能
0:禁能
1:使能
208
Version 1.25
SWM341 系列
PORTA 端口下拉功能寄存器 PULLD_A
寄存器
偏移
类型
复位值
描述
PULLD_A
0x100
R/W
0x00
端口 A 下拉使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 下拉电阻使能
0:禁能
14
PIN14
PIN14 下拉电阻使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 下拉电阻使能
0:禁能
1:使能
PIN9 下拉电阻使能
0:禁能
1:使能
PIN8 下拉电阻使能
1:使能
PIN7 下拉电阻使能
0:禁能
1:使能
PIN6 下拉电阻使能
0:禁能
1:使能
PIN5 下拉电阻使能
0:禁能
4
1:使能
PIN11 下拉电阻使能
0:禁能
7
1:使能
PIN12 下拉电阻使能
0:禁能
11
1:使能
PIN13 下拉电阻使能
0:禁能
12
1:使能
1:使能
PIN4 下拉电阻使能
0:禁能
1:使能
209
Version 1.25
SWM341 系列
3
PIN3
PIN3 下拉电阻使能
0:禁能
2
PIN2
PIN2 下拉电阻使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 下拉电阻使能
0:禁能
1:使能
PIN0 下拉电阻使能
0:禁能
1:使能
210
Version 1.25
SWM341 系列
PORTB 端口下拉功能寄存器 PULLD_B
寄存器
偏移
类型
复位值
描述
PULLD_B
0x110
R/W
0x00
端口 B 下拉使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 下拉电阻使能
0:禁能
14
PIN14
PIN14 下拉电阻使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 下拉电阻使能
0:禁能
1:使能
PIN9 下拉电阻使能
0:禁能
1:使能
PIN8 下拉电阻使能
1:使能
PIN7 下拉电阻使能
0:禁能
1:使能
PIN6 下拉电阻使能
0:禁能
1:使能
PIN5 下拉电阻使能
0:禁能
4
1:使能
PIN11 下拉电阻使能
0:禁能
7
1:使能
PIN12 下拉电阻使能
0:禁能
11
1:使能
PIN13 下拉电阻使能
0:禁能
12
1:使能
1:使能
PIN4 下拉电阻使能
0:禁能
1:使能
211
Version 1.25
SWM341 系列
3
PIN3
PIN3 下拉电阻使能
0:禁能
2
PIN2
PIN2 下拉电阻使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 下拉电阻使能
0:禁能
1:使能
PIN0 下拉电阻使能
0:禁能
1:使能
212
Version 1.25
SWM341 系列
PORTC 端口下拉功能寄存器 PULLD_C
寄存器
偏移
类型
复位值
描述
PULLD_C
0x120
R/W
0x00
端口 C 下拉使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 下拉电阻使能
0:禁能
14
PIN14
PIN14 下拉电阻使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 下拉电阻使能
0:禁能
1:使能
PIN9 下拉电阻使能
0:禁能
1:使能
PIN8 下拉电阻使能
1:使能
PIN7 下拉电阻使能
0:禁能
1:使能
PIN6 下拉电阻使能
0:禁能
1:使能
PIN5 下拉电阻使能
0:禁能
4
1:使能
PIN11 下拉电阻使能
0:禁能
7
1:使能
PIN12 下拉电阻使能
0:禁能
11
1:使能
PIN13 下拉电阻使能
0:禁能
12
1:使能
1:使能
PIN4 下拉电阻使能
0:禁能
1:使能
213
Version 1.25
SWM341 系列
3
PIN3
PIN3 下拉电阻使能
0:禁能
2
PIN2
PIN2 下拉电阻使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 下拉电阻使能
0:禁能
1:使能
PIN0 下拉电阻使能
0:禁能
1:使能
214
Version 1.25
SWM341 系列
PORTD 端口下拉功能寄存器 PULLD_D
寄存器
偏移
类型
复位值
描述
PULLD_D
0x130
R/W
0x00
端口 D 下拉使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 下拉电阻使能
0:禁能
14
PIN14
PIN14 下拉电阻使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 下拉电阻使能
0:禁能
1:使能
PIN9 下拉电阻使能
0:禁能
1:使能
PIN8 下拉电阻使能
1:使能
PIN7 下拉电阻使能
0:禁能
1:使能
PIN6 下拉电阻使能
0:禁能
1:使能
PIN5 下拉电阻使能
0:禁能
4
1:使能
PIN11 下拉电阻使能
0:禁能
7
1:使能
PIN12 下拉电阻使能
0:禁能
11
1:使能
PIN13 下拉电阻使能
0:禁能
12
1:使能
1:使能
PIN4 下拉电阻使能
0:禁能
1:使能
215
Version 1.25
SWM341 系列
3
PIN3
PIN3 下拉电阻使能
0:禁能
2
PIN2
PIN2 下拉电阻使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 下拉电阻使能
0:禁能
1:使能
PIN0 下拉电阻使能
0:禁能
1:使能
216
Version 1.25
SWM341 系列
PORTE 端口下拉功能寄存器 PULLD_E
寄存器
偏移
类型
复位值
描述
PULLE_E
0x140
R/W
0x00
端口 E 下拉使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 下拉电阻使能
0:禁能
14
PIN14
PIN14 下拉电阻使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 下拉电阻使能
0:禁能
1:使能
PIN9 下拉电阻使能
0:禁能
1:使能
PIN8 下拉电阻使能
1:使能
PIN7 下拉电阻使能
0:禁能
1:使能
PIN6 下拉电阻使能
0:禁能
1:使能
PIN5 下拉电阻使能
0:禁能
4
1:使能
PIN11 下拉电阻使能
0:禁能
7
1:使能
PIN12 下拉电阻使能
0:禁能
11
1:使能
PIN13 下拉电阻使能
0:禁能
12
1:使能
1:使能
PIN4 下拉电阻使能
0:禁能
1:使能
217
Version 1.25
SWM341 系列
3
PIN3
PIN3 下拉电阻使能
0:禁能
2
PIN2
PIN2 下拉电阻使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 下拉电阻使能
0:禁能
1:使能
PIN0 下拉电阻使能
0:禁能
1:使能
218
Version 1.25
SWM341 系列
PORTM 端口下拉功能寄存器 PULLD_M
寄存器
偏移
类型
复位值
描述
PULLD_M
0x180
R/W
0x00
端口 M 下拉使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 下拉电阻使能
0:禁能
14
PIN14
PIN14 下拉电阻使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 下拉电阻使能
0:禁能
1:使能
PIN9 下拉电阻使能
0:禁能
1:使能
PIN8 下拉电阻使能
1:使能
PIN7 下拉电阻使能
0:禁能
1:使能
PIN6 下拉电阻使能
0:禁能
1:使能
PIN5 下拉电阻使能
0:禁能
4
1:使能
PIN11 下拉电阻使能
0:禁能
7
1:使能
PIN12 下拉电阻使能
0:禁能
11
1:使能
PIN13 下拉电阻使能
0:禁能
12
1:使能
1:使能
PIN4 下拉电阻使能
0:禁能
1:使能
219
Version 1.25
SWM341 系列
3
PIN3
PIN3 下拉电阻使能
0:禁能
2
PIN2
PIN2 下拉电阻使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 下拉电阻使能
0:禁能
1:使能
PIN0 下拉电阻使能
0:禁能
1:使能
220
Version 1.25
SWM341 系列
PORTN 端口下拉功能寄存器 PULLD_N
寄存器
偏移
类型
复位值
描述
PULLD_N
0x190
R/W
0x00
端口 N 下拉使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 下拉电阻使能
0:禁能
14
PIN14
PIN14 下拉电阻使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 下拉电阻使能
0:禁能
1:使能
PIN9 下拉电阻使能
0:禁能
1:使能
PIN8 下拉电阻使能
1:使能
PIN7 下拉电阻使能
0:禁能
1:使能
PIN6 下拉电阻使能
0:禁能
1:使能
PIN5 下拉电阻使能
0:禁能
4
1:使能
PIN11 下拉电阻使能
0:禁能
7
1:使能
PIN12 下拉电阻使能
0:禁能
11
1:使能
PIN13 下拉电阻使能
0:禁能
12
1:使能
1:使能
PIN4 下拉电阻使能
0:禁能
1:使能
221
Version 1.25
SWM341 系列
3
PIN3
PIN3 下拉电阻使能
0:禁能
2
PIN2
PIN2 下拉电阻使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 下拉电阻使能
0:禁能
1:使能
PIN0 下拉电阻使能
0:禁能
1:使能
222
Version 1.25
SWM341 系列
PORTA 端口输入使能功能寄存器 INEN_A
寄存器
偏移
类型
复位值
描述
INEN_A
0x200
R/W
0x00
端口 A 输入使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 输入使能
0:禁能
14
PIN14
PIN14 输入使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 输入使能
0:禁能
1:使能
PIN9 输入使能
0:禁能
1:使能
PIN8 输入使能
1:使能
PIN7 输入使能
0:禁能
1:使能
PIN6 输入使能
0:禁能
1:使能
PIN5 输入使能
0:禁能
4
1:使能
PIN11 输入使能
0:禁能
7
1:使能
PIN12 输入使能
0:禁能
11
1:使能
PIN13 输入使能
0:禁能
12
1:使能
1:使能
PIN4 输入使能
0:禁能
1:使能
223
Version 1.25
SWM341 系列
3
PIN3
PIN3 输入使能
0:禁能
2
PIN2
PIN2 输入使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 输入使能
0:禁能
1:使能
PIN0 输入使能
0:禁能
1:使能
224
Version 1.25
SWM341 系列
PORTB 端口输入使能功能寄存器 INEN_B
寄存器
偏移
类型
复位值
描述
INEN_B
0x210
R/W
0x00
端口 B 输入使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 输入使能
0:禁能
14
PIN14
PIN14 输入使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 输入使能
0:禁能
1:使能
PIN9 输入使能
0:禁能
1:使能
PIN8 输入使能
1:使能
PIN7 输入使能
0:禁能
1:使能
PIN6 输入使能
0:禁能
1:使能
PIN5 输入使能
0:禁能
4
1:使能
PIN11 输入使能
0:禁能
7
1:使能
PIN12 输入使能
0:禁能
11
1:使能
PIN13 输入使能
0:禁能
12
1:使能
1:使能
PIN4 输入使能
0:禁能
1:使能
225
Version 1.25
SWM341 系列
3
PIN3
PIN3 输入使能
0:禁能
2
PIN2
PIN2 输入使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 输入使能
0:禁能
1:使能
PIN0 输入使能
0:禁能
1:使能
226
Version 1.25
SWM341 系列
PORTC 端口输入使能功能寄存器 INEN_C
寄存器
偏移
类型
复位值
描述
INEN_C
0x220
R/W
0x00
端口 C 输入使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 输入使能
0:禁能
14
PIN14
PIN14 输入使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 输入使能
0:禁能
1:使能
PIN9 输入使能
0:禁能
1:使能
PIN8 输入使能
1:使能
PIN7 输入使能
0:禁能
1:使能
PIN6 输入使能
0:禁能
1:使能
PIN5 输入使能
0:禁能
4
1:使能
PIN11 输入使能
0:禁能
7
1:使能
PIN12 输入使能
0:禁能
11
1:使能
PIN13 输入使能
0:禁能
12
1:使能
1:使能
PIN4 输入使能
0:禁能
1:使能
227
Version 1.25
SWM341 系列
3
PIN3
PIN3 输入使能
0:禁能
2
PIN2
PIN2 输入使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 输入使能
0:禁能
1:使能
PIN0 输入使能
0:禁能
1:使能
228
Version 1.25
SWM341 系列
PORTD 端口输入使能功能寄存器 INEN_D
寄存器
偏移
类型
复位值
描述
INEN_D
0x230
R/W
0x00
端口 D 输入使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 输入使能
0:禁能
14
PIN14
PIN14 输入使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 输入使能
0:禁能
1:使能
PIN9 输入使能
0:禁能
1:使能
PIN8 输入使能
1:使能
PIN7 输入使能
0:禁能
1:使能
PIN6 输入使能
0:禁能
1:使能
PIN5 输入使能
0:禁能
4
1:使能
PIN11 输入使能
0:禁能
7
1:使能
PIN12 输入使能
0:禁能
11
1:使能
PIN13 输入使能
0:禁能
12
1:使能
1:使能
PIN4 输入使能
0:禁能
1:使能
229
Version 1.25
SWM341 系列
3
PIN3
PIN3 输入使能
0:禁能
2
PIN2
PIN2 输入使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 输入使能
0:禁能
1:使能
PIN0 输入使能
0:禁能
1:使能
230
Version 1.25
SWM341 系列
PORTE 端口输入使能功能寄存器 INEN_E
寄存器
偏移
类型
复位值
描述
INEN_E
0x240
R/W
0x00
端口 E 输入使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 输入使能
0:禁能
14
PIN14
PIN14 输入使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 输入使能
0:禁能
1:使能
PIN9 输入使能
0:禁能
1:使能
PIN8 输入使能
1:使能
PIN7 输入使能
0:禁能
1:使能
PIN6 输入使能
0:禁能
1:使能
PIN5 输入使能
0:禁能
4
1:使能
PIN11 输入使能
0:禁能
7
1:使能
PIN12 输入使能
0:禁能
11
1:使能
PIN13 输入使能
0:禁能
12
1:使能
1:使能
PIN4 输入使能
0:禁能
1:使能
231
Version 1.25
SWM341 系列
3
PIN3
PIN3 输入使能
0:禁能
2
PIN2
PIN2 输入使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 输入使能
0:禁能
1:使能
PIN0 输入使能
0:禁能
1:使能
232
Version 1.25
SWM341 系列
PORTM 端口输入使能功能寄存器 INEN_M
寄存器
偏移
类型
复位值
描述
INEN_M
0x280
R/W
0x00
端口 M 输入使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 输入使能
0:禁能
14
PIN14
PIN14 输入使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 输入使能
0:禁能
1:使能
PIN9 输入使能
0:禁能
1:使能
PIN8 输入使能
1:使能
PIN7 输入使能
0:禁能
1:使能
PIN6 输入使能
0:禁能
1:使能
PIN5 输入使能
0:禁能
4
1:使能
PIN11 输入使能
0:禁能
7
1:使能
PIN12 输入使能
0:禁能
11
1:使能
PIN13 输入使能
0:禁能
12
1:使能
1:使能
PIN4 输入使能
0:禁能
1:使能
233
Version 1.25
SWM341 系列
3
PIN3
PIN3 输入使能
0:禁能
2
PIN2
PIN2 输入使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 输入使能
0:禁能
1:使能
PIN0 输入使能
0:禁能
1:使能
234
Version 1.25
SWM341 系列
PORTN 端口输入使能功能寄存器 INEN_N
寄存器
偏移
类型
复位值
描述
INEN_N
0x290
R/W
0x00
端口 N 输入使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
PIN15 输入使能
0:禁能
14
PIN14
PIN14 输入使能
0:禁能
13
PIN13
PIN12
PIN11
10
PIN10
9
PIN9
8
PIN8
PIN7
6
PIN6
5
PIN5
0:禁能
PIN4
1:使能
PIN10 输入使能
0:禁能
1:使能
PIN9 输入使能
0:禁能
1:使能
PIN8 输入使能
1:使能
PIN7 输入使能
0:禁能
1:使能
PIN6 输入使能
0:禁能
1:使能
PIN5 输入使能
0:禁能
4
1:使能
PIN11 输入使能
0:禁能
7
1:使能
PIN12 输入使能
0:禁能
11
1:使能
PIN13 输入使能
0:禁能
12
1:使能
1:使能
PIN4 输入使能
0:禁能
1:使能
235
Version 1.25
SWM341 系列
3
PIN3
PIN3 输入使能
0:禁能
2
PIN2
PIN2 输入使能
0:禁能
1
PIN1
0
PIN0
1:使能
1:使能
PIN1 输入使能
0:禁能
1:使能
PIN0 输入使能
0:禁能
1:使能
236
Version 1.25
SWM341 系列
PORTA 端口开漏功能寄存器 OPEND_A
寄存器
偏移
类型
复位值
描述
OPEND_A
0x300
R/W
0x00
端口 A 开漏使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
PIN15 开漏使能
15
PIN15
0:推挽模式
1:开漏模式
PIN14 开漏使能
14
PIN14
0:推挽模式
1:开漏模式
PIN13 开漏使能
13
PIN13
0:推挽模式
1:开漏模式
PIN12 开漏使能
12
PIN12
0:推挽模式
1:开漏模式
PIN11 开漏使能
11
PIN11
0:推挽模式
1:开漏模式
PIN10 开漏使能
10
PIN10
0:推挽模式
1:开漏模式
PIN9 开漏使能
9
PIN9
0:推挽模式
1:开漏模式
PIN8 开漏使能
8
PIN8
0:推挽模式
1:开漏模式
237
Version 1.25
SWM341 系列
PIN7 开漏使能
7
PIN7
0:推挽模式
1:开漏模式
PIN6 开漏使能
6
PIN6
0:推挽模式
1:开漏模式
PIN5 开漏使能
5
PIN5
0:推挽模式
1:开漏模式
PIN4 开漏使能
4
PIN4
0:推挽模式
1:开漏模式
PIN3 开漏使能
3
PIN3
0:推挽模式
1:开漏模式
PIN2 开漏使能
2
PIN2
0:推挽模式
1:开漏模式
PIN1 开漏使能
1
PIN1
0:推挽模式
1:开漏模式
PIN0 开漏使能
0
PIN0
0:推挽模式
1:开漏模式
238
Version 1.25
SWM341 系列
PORTB 端口开漏功能寄存器 OPEND_B
寄存器
偏移
类型
复位值
描述
OPEND_B
0x310
R/W
0x00
端口 B 开漏使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
PIN15 开漏使能
15
PIN15
0:推挽模式
1:开漏模式
PIN14 开漏使能
14
PIN14
0:推挽模式
1:开漏模式
PIN13 开漏使能
13
PIN13
0:推挽模式
1:开漏模式
PIN12 开漏使能
12
PIN12
0:推挽模式
1:开漏模式
PIN11 开漏使能
11
PIN11
0:推挽模式
1:开漏模式
PIN10 开漏使能
10
PIN10
0:推挽模式
1:开漏模式
PIN9 开漏使能
9
PIN9
0:推挽模式
1:开漏模式
PIN8 开漏使能
8
PIN8
0:推挽模式
1:开漏模式
239
Version 1.25
SWM341 系列
PIN7 开漏使能
7
PIN7
0:推挽模式
1:开漏模式
PIN6 开漏使能
6
PIN6
0:推挽模式
1:开漏模式
PIN5 开漏使能
5
PIN5
0:推挽模式
1:开漏模式
PIN4 开漏使能
4
PIN4
0:推挽模式
1:开漏模式
PIN3 开漏使能
3
PIN3
0:推挽模式
1:开漏模式
PIN2 开漏使能
2
PIN2
0:推挽模式
1:开漏模式
PIN1 开漏使能
1
PIN1
0:推挽模式
1:开漏模式
PIN0 开漏使能
0
PIN0
0:推挽模式
1:开漏模式
240
Version 1.25
SWM341 系列
PORTC 端口开漏功能寄存器 OPEND_C
寄存器
偏移
类型
复位值
描述
OPEND_C
0x320
R/W
0x00
端口 C 开漏使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
PIN15 开漏使能
15
PIN15
0:推挽模式
1:开漏模式
PIN14 开漏使能
14
PIN14
0:推挽模式
1:开漏模式
PIN13 开漏使能
13
PIN13
0:推挽模式
1:开漏模式
PIN12 开漏使能
12
PIN12
0:推挽模式
1:开漏模式
PIN11 开漏使能
11
PIN11
0:推挽模式
1:开漏模式
PIN10 开漏使能
10
PIN10
0:推挽模式
1:开漏模式
PIN9 开漏使能
9
PIN9
0:推挽模式
1:开漏模式
PIN8 开漏使能
8
PIN8
0:推挽模式
1:开漏模式
241
Version 1.25
SWM341 系列
PIN7 开漏使能
7
PIN7
0:推挽模式
1:开漏模式
PIN6 开漏使能
6
PIN6
0:推挽模式
1:开漏模式
PIN5 开漏使能
5
PIN5
0:推挽模式
1:开漏模式
PIN4 开漏使能
4
PIN4
0:推挽模式
1:开漏模式
PIN3 开漏使能
3
PIN3
0:推挽模式
1:开漏模式
PIN2 开漏使能
2
PIN2
0:推挽模式
1:开漏模式
PIN1 开漏使能
1
PIN1
0:推挽模式
1:开漏模式
PIN0 开漏使能
0
PIN0
0:推挽模式
1:开漏模式
242
Version 1.25
SWM341 系列
PORTD 端口开漏功能寄存器 OPEND_D
寄存器
偏移
类型
复位值
描述
OPEND_D
0x330
R/W
0x00
端口 D 开漏使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
PIN15 开漏使能
15
PIN15
0:推挽模式
1:开漏模式
PIN14 开漏使能
14
PIN14
0:推挽模式
1:开漏模式
PIN13 开漏使能
13
PIN13
0:推挽模式
1:开漏模式
PIN12 开漏使能
12
PIN12
0:推挽模式
1:开漏模式
PIN11 开漏使能
11
PIN11
0:推挽模式
1:开漏模式
PIN10 开漏使能
10
PIN10
0:推挽模式
1:开漏模式
PIN9 开漏使能
9
PIN9
0:推挽模式
1:开漏模式
PIN8 开漏使能
8
PIN8
0:推挽模式
1:开漏模式
243
Version 1.25
SWM341 系列
PIN7 开漏使能
7
PIN7
0:推挽模式
1:开漏模式
PIN6 开漏使能
6
PIN6
0:推挽模式
1:开漏模式
PIN5 开漏使能
5
PIN5
0:推挽模式
1:开漏模式
PIN4 开漏使能
4
PIN4
0:推挽模式
1:开漏模式
PIN3 开漏使能
3
PIN3
0:推挽模式
1:开漏模式
PIN2 开漏使能
2
PIN2
0:推挽模式
1:开漏模式
PIN1 开漏使能
1
PIN1
0:推挽模式
1:开漏模式
PIN0 开漏使能
0
PIN0
0:推挽模式
1:开漏模式
244
Version 1.25
SWM341 系列
PORTE 端口开漏功能寄存器 OPEND_E
寄存器
偏移
类型
复位值
描述
OPEND_E
0x340
R/W
0x00
端口 E 开漏使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
PIN15 开漏使能
15
PIN15
0:推挽模式
1:开漏模式
PIN14 开漏使能
14
PIN14
0:推挽模式
1:开漏模式
PIN13 开漏使能
13
PIN13
0:推挽模式
1:开漏模式
PIN12 开漏使能
12
PIN12
0:推挽模式
1:开漏模式
PIN11 开漏使能
11
PIN11
0:推挽模式
1:开漏模式
PIN10 开漏使能
10
PIN10
0:推挽模式
1:开漏模式
PIN9 开漏使能
9
PIN9
0:推挽模式
1:开漏模式
PIN8 开漏使能
8
PIN8
0:推挽模式
1:开漏模式
245
Version 1.25
SWM341 系列
PIN7 开漏使能
7
PIN7
0:推挽模式
1:开漏模式
PIN6 开漏使能
6
PIN6
0:推挽模式
1:开漏模式
PIN5 开漏使能
5
PIN5
0:推挽模式
1:开漏模式
PIN4 开漏使能
4
PIN4
0:推挽模式
1:开漏模式
PIN3 开漏使能
3
PIN3
0:推挽模式
1:开漏模式
PIN2 开漏使能
2
PIN2
0:推挽模式
1:开漏模式
PIN1 开漏使能
1
PIN1
0:推挽模式
1:开漏模式
PIN0 开漏使能
0
PIN0
0:推挽模式
1:开漏模式
246
Version 1.25
SWM341 系列
PORTM 端口开漏功能寄存器 OPEND_M
寄存器
偏移
类型
复位值
描述
OPEND_M
0x380
R/W
0x00
端口 M 开漏使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
PIN15 开漏使能
15
PIN15
0:推挽模式
1:开漏模式
PIN14 开漏使能
14
PIN14
0:推挽模式
1:开漏模式
PIN13 开漏使能
13
PIN13
0:推挽模式
1:开漏模式
PIN12 开漏使能
12
PIN12
0:推挽模式
1:开漏模式
PIN11 开漏使能
11
PIN11
0:推挽模式
1:开漏模式
PIN10 开漏使能
10
PIN10
0:推挽模式
1:开漏模式
PIN9 开漏使能
9
PIN9
0:推挽模式
1:开漏模式
PIN8 开漏使能
8
PIN8
0:推挽模式
1:开漏模式
247
Version 1.25
SWM341 系列
PIN7 开漏使能
7
PIN7
0:推挽模式
1:开漏模式
PIN6 开漏使能
6
PIN6
0:推挽模式
1:开漏模式
PIN5 开漏使能
5
PIN5
0:推挽模式
1:开漏模式
PIN4 开漏使能
4
PIN4
0:推挽模式
1:开漏模式
PIN3 开漏使能
3
PIN3
0:推挽模式
1:开漏模式
PIN2 开漏使能
2
PIN2
0:推挽模式
1:开漏模式
PIN1 开漏使能
1
PIN1
0:推挽模式
1:开漏模式
PIN0 开漏使能
0
PIN0
0:推挽模式
1:开漏模式
248
Version 1.25
SWM341 系列
PORTN 端口开漏功能寄存器 OPEND_N
寄存器
偏移
类型
复位值
描述
OPEND_N
0x390
R/W
0x00
端口 N 开漏使能控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
PIN15 开漏使能
15
PIN15
0:推挽模式
1:开漏模式
PIN14 开漏使能
14
PIN14
0:推挽模式
1:开漏模式
PIN13 开漏使能
13
PIN13
0:推挽模式
1:开漏模式
PIN12 开漏使能
12
PIN12
0:推挽模式
1:开漏模式
PIN11 开漏使能
11
PIN11
0:推挽模式
1:开漏模式
PIN10 开漏使能
10
PIN10
0:推挽模式
1:开漏模式
PIN9 开漏使能
9
PIN9
0:推挽模式
1:开漏模式
PIN8 开漏使能
8
PIN8
0:推挽模式
1:开漏模式
249
Version 1.25
SWM341 系列
PIN7 开漏使能
7
PIN7
0:推挽模式
1:开漏模式
PIN6 开漏使能
6
PIN6
0:推挽模式
1:开漏模式
PIN5 开漏使能
5
PIN5
0:推挽模式
1:开漏模式
PIN4 开漏使能
4
PIN4
0:推挽模式
1:开漏模式
PIN3 开漏使能
3
PIN3
0:推挽模式
1:开漏模式
PIN2 开漏使能
2
PIN2
0:推挽模式
1:开漏模式
PIN1 开漏使能
1
PIN1
0:推挽模式
1:开漏模式
PIN0 开漏使能
0
PIN0
0:推挽模式
1:开漏模式
250
Version 1.25
SWM341 系列
PORTA 端口驱动控制寄存器 DRVST_A
寄存器
偏移
类型
复位值
描述
DRVST_A
0x400
R/W
0x00
端口 A 驱动控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
PIN15 驱动控制位
15
PIN15
0:4mA
1:8mA
PIN14 驱动控制位
14
PIN14
0:4mA
1:8mA
PIN13 驱动控制位
13
PIN13
0:4mA
1:8mA
PIN12 驱动控制位
12
PIN12
0:4mA
1:8mA
PIN11 驱动控制位
11
PIN11
0:4mA
1:8mA
PIN10 驱动控制位
10
PIN10
0:4mA
1:8mA
PIN9 驱动控制位
9
PIN9
0:4mA
1:8mA
PIN8 驱动控制位
8
PIN8
0:4mA
1:8mA
251
Version 1.25
SWM341 系列
PIN7 驱动控制位
7
PIN7
0:4mA
1:8mA
PIN6 驱动控制位
6
PIN6
0:4mA
1:8mA
PIN5 驱动控制位
5
PIN5
0:4mA
1:8mA
PIN4 驱动控制位
4
PIN4
0:4mA
1:8mA
PIN3 驱动控制位
3
PIN3
0:4mA
1:8mA
PIN2 驱动控制位
2
PIN2
0:4mA
1:8mA
PIN1 驱动控制位
1
PIN1
0:4mA
1:8mA
PIN0 驱动控制位
0
PIN0
0:4mA
1:8mA
252
Version 1.25
SWM341 系列
PORTB 端口驱动控制寄存器 OPEND_B
寄存器
偏移
类型
复位值
描述
DRVST_B
0x410
R/W
0x00
端口 B 驱动控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
PIN15 驱动控制位
15
PIN15
0:4mA
1:8mA
PIN14 驱动控制位
14
PIN14
0:4mA
1:8mA
PIN13 驱动控制位
13
PIN13
0:4mA
1:8mA
PIN12 驱动控制位
12
PIN12
0:4mA
1:8mA
PIN11 驱动控制位
11
PIN11
0:4mA
1:8mA
PIN10 驱动控制位
10
PIN10
0:4mA
1:8mA
PIN9 驱动控制位
9
PIN9
0:4mA
1:8mA
PIN8 驱动控制位
8
PIN8
0:4mA
1:8mA
253
Version 1.25
SWM341 系列
PIN7 驱动控制位
7
PIN7
0:4mA
1:8mA
PIN6 驱动控制位
6
PIN6
0:4mA
1:8mA
PIN5 驱动控制位
5
PIN5
0:4mA
1:8mA
PIN4 驱动控制位
4
PIN4
0:4mA
1:8mA
PIN3 驱动控制位
3
PIN3
0:4mA
1:8mA
PIN2 驱动控制位
2
PIN2
0:4mA
1:8mA
PIN1 驱动控制位
1
PIN1
0:4mA
1:8mA
PIN0 驱动控制位
0
PIN0
0:4mA
1:8mA
254
Version 1.25
SWM341 系列
PORTC 端口驱动控制寄存器 OPEND_C
寄存器
偏移
类型
复位值
描述
DRVST_C
0x420
R/W
0x00
端口 C 驱动控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
PIN15 驱动控制位
15
PIN15
0:4mA
1:8mA
PIN14 驱动控制位
14
PIN14
0:4mA
1:8mA
PIN13 驱动控制位
13
PIN13
0:4mA
1:8mA
PIN12 驱动控制位
12
PIN12
0:4mA
1:8mA
PIN11 驱动控制位
11
PIN11
0:4mA
1:8mA
PIN10 驱动控制位
10
PIN10
0:4mA
1:8mA
PIN9 驱动控制位
9
PIN9
0:4mA
1:8mA
PIN8 驱动控制位
8
PIN8
0:4mA
1:8mA
255
Version 1.25
SWM341 系列
PIN7 驱动控制位
7
PIN7
0:4mA
1:8mA
PIN6 驱动控制位
6
PIN6
0:4mA
1:8mA
PIN5 驱动控制位
5
PIN5
0:4mA
1:8mA
PIN4 驱动控制位
4
PIN4
0:4mA
1:8mA
PIN3 驱动控制位
3
PIN3
0:4mA
1:8mA
PIN2 驱动控制位
2
PIN2
0:4mA
1:8mA
PIN1 驱动控制位
1
PIN1
0:4mA
1:8mA
PIN0 驱动控制位
0
PIN0
0:4mA
1:8mA
256
Version 1.25
SWM341 系列
PORTD 端口驱动控制寄存器 OPEND_D
寄存器
偏移
类型
复位值
描述
DRVST_D
0x430
R/W
0x00
端口 D 驱动控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
PIN15 驱动控制位
15
PIN15
0:4mA
1:8mA
PIN14 驱动控制位
14
PIN14
0:4mA
1:8mA
PIN13 驱动控制位
13
PIN13
0:4mA
1:8mA
PIN12 驱动控制位
12
PIN12
0:4mA
1:8mA
PIN11 驱动控制位
11
PIN11
0:4mA
1:8mA
PIN10 驱动控制位
10
PIN10
0:4mA
1:8mA
PIN9 驱动控制位
9
PIN9
0:4mA
1:8mA
PIN8 驱动控制位
8
PIN8
0:4mA
1:8mA
257
Version 1.25
SWM341 系列
PIN7 驱动控制位
7
PIN7
0:4mA
1:8mA
PIN6 驱动控制位
6
PIN6
0:4mA
1:8mA
PIN5 驱动控制位
5
PIN5
0:4mA
1:8mA
PIN4 驱动控制位
4
PIN4
0:4mA
1:8mA
PIN3 驱动控制位
3
PIN3
0:4mA
1:8mA
PIN2 驱动控制位
2
PIN2
0:4mA
1:8mA
PIN1 驱动控制位
1
PIN1
0:4mA
1:8mA
PIN0 驱动控制位
0
PIN0
0:4mA
1:8mA
258
Version 1.25
SWM341 系列
PORTE 端口驱动控制寄存器 OPEND_E
寄存器
偏移
类型
复位值
描述
DRVST_E
0x440
R/W
0x00
端口 E 驱动控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
PIN15 驱动控制位
15
PIN15
0:4mA
1:8mA
PIN14 驱动控制位
14
PIN14
0:4mA
1:8mA
PIN13 驱动控制位
13
PIN13
0:4mA
1:8mA
PIN12 驱动控制位
12
PIN12
0:4mA
1:8mA
PIN11 驱动控制位
11
PIN11
0:4mA
1:8mA
PIN10 驱动控制位
10
PIN10
0:4mA
1:8mA
PIN9 驱动控制位
9
PIN9
0:4mA
1:8mA
PIN8 驱动控制位
8
PIN8
0:4mA
1:8mA
259
Version 1.25
SWM341 系列
PIN7 驱动控制位
7
PIN7
0:4mA
1:8mA
PIN6 驱动控制位
6
PIN6
0:4mA
1:8mA
PIN5 驱动控制位
5
PIN5
0:4mA
1:8mA
PIN4 驱动控制位
4
PIN4
0:4mA
1:8mA
PIN3 驱动控制位
3
PIN3
0:4mA
1:8mA
PIN2 驱动控制位
2
PIN2
0:4mA
1:8mA
PIN1 驱动控制位
1
PIN1
0:4mA
1:8mA
PIN0 驱动控制位
0
PIN0
0:4mA
1:8mA
260
Version 1.25
SWM341 系列
PORTM 端口驱动控制寄存器 OPEND_M
寄存器
偏移
类型
复位值
描述
DRVST_M
0x480
R/W
0x00
端口 M 驱动控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
PIN15 驱动控制位
15
PIN15
0:4mA
1:8mA
PIN14 驱动控制位
14
PIN14
0:4mA
1:8mA
PIN13 驱动控制位
13
PIN13
0:4mA
1:8mA
PIN12 驱动控制位
12
PIN12
0:4mA
1:8mA
PIN11 驱动控制位
11
PIN11
0:4mA
1:8mA
PIN10 驱动控制位
10
PIN10
0:4mA
1:8mA
PIN9 驱动控制位
9
PIN9
0:4mA
1:8mA
PIN8 驱动控制位
8
PIN8
0:4mA
1:8mA
261
Version 1.25
SWM341 系列
PIN7 驱动控制位
7
PIN7
0:4mA
1:8mA
PIN6 驱动控制位
6
PIN6
0:4mA
1:8mA
PIN5 驱动控制位
5
PIN5
0:4mA
1:8mA
PIN4 驱动控制位
4
PIN4
0:4mA
1:8mA
PIN3 驱动控制位
3
PIN3
0:4mA
1:8mA
PIN2 驱动控制位
2
PIN2
0:4mA
1:8mA
PIN1 驱动控制位
1
PIN1
0:4mA
1:8mA
PIN0 驱动控制位
0
PIN0
0:4mA
1:8mA
262
Version 1.25
SWM341 系列
PORTN 端口驱动控制寄存器 OPEND_N
寄存器
偏移
类型
复位值
描述
DRVST_N
0x490
R/W
0x00
端口 N 驱动控制寄存器
31
30
29
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
PIN15 驱动控制位
15
PIN15
0:4mA
1:8mA
PIN14 驱动控制位
14
PIN14
0:4mA
1:8mA
PIN13 驱动控制位
13
PIN13
0:4mA
1:8mA
PIN12 驱动控制位
12
PIN12
0:4mA
1:8mA
PIN11 驱动控制位
11
PIN11
0:4mA
1:8mA
PIN10 驱动控制位
10
PIN10
0:4mA
1:8mA
PIN9 驱动控制位
9
PIN9
0:4mA
1:8mA
PIN8 驱动控制位
8
PIN8
0:4mA
1:8mA
263
Version 1.25
SWM341 系列
PIN7 驱动控制位
7
PIN7
0:4mA
1:8mA
PIN6 驱动控制位
6
PIN6
0:4mA
1:8mA
PIN5 驱动控制位
5
PIN5
0:4mA
1:8mA
PIN4 驱动控制位
4
PIN4
0:4mA
1:8mA
PIN3 驱动控制位
3
PIN3
0:4mA
1:8mA
PIN2 驱动控制位
2
PIN2
0:4mA
1:8mA
PIN1 驱动控制位
1
PIN1
0:4mA
1:8mA
PIN0 驱动控制位
0
PIN0
0:4mA
1:8mA
264
Version 1.25
SWM341 系列
6.8
通用 I/O (GPIO)
6.8.1 概述
通用输入输出模块主要功能包括数据控制、中断控制功能。SWM341 系列所有型号 GPIO 操作均
相同,不同型号 IO 数量可能不同。使用前需使能对应 GPIO 模块时钟。
6.8.2 特性
⚫
最高 112 个独立 IO
⚫
每个 IO 均支持位带功能
⚫
每个 IO 均可触发中断
⚫
中断触发条件可配置,支持电平触发/边沿触发
⚫
电平触发支持高电平/低电平
⚫
边沿触发中断可配置为上升沿/下降沿/双边沿触发
⚫
每个 IO 均支持上拉/下拉/推挽/开漏功能
⚫
部分 IO 支持 5V 兼容
265
Version 1.25
SWM341 系列
6.8.3 功能描述
数据控制
除 SWD/JTAG 引脚与 ISP 引脚外,所有引脚上电后默认状态均为 GPIO 浮空输入(DIR = 0)。SWD
引脚的修改可参考 FLASH 控制器和 ISP 章节中加密方式,ISP 默认下拉使能,保证浮空状态不会
进入 ISP 模式。
GPIO 方向寄存器(DIRx)用来将每个独立的管脚配置为输入模式或者输出模式:
⚫
当数据方向设为 0 时,GPIO 对应引脚配置为输入
通过读取相应数据寄存器(IDRx)对应位或对应 DATAPINx 寄存器获取指定 GPIO 端口当
前状态值
⚫
当数据方向设为 1 时,GPIO 对应引脚配置为输出
通过向对应端口数据寄存器(ODRx)对应位或对应 DATAPINx 寄存器写入值改变指定引
脚输出,0 输出低电平,1 输出高电平。此时对数据寄存器(DATAx)对应位进行读取
时,返回值为上次写入的输出值。
5v 输入兼容
本芯片所有 5V 兼容引脚作为输入时,不需要使能即可输入(PORT->PORTx_INEN 对应位不需要
置位)
。
当配置为输入模式时,如下 IO 可兼容 5V 输入:
N4/N5/D15
以上 IO 设置为输入模式时,可直接输入。
中断配置与清除
可根据需求将 GPIO 端口对应引脚配置为中断模式,
并通过相关寄存器配置中断极性及触发方式。
触发方式分为边沿触发和电平触发两种。
⚫
对于边沿触发中断,可以设置为上升沿触发,下降沿触发或双边沿触发。中断发生后,
标志位具备保持特性,必须通过软件对中断标志位进行清除
⚫
对于电平触发中断,当外部引脚输入为指定电平时,中断发生。当电平翻转后,中断
信号消失,无需软件进行清除。使用电平触发中断,需保证外部信号源保持电平稳定,
以便有效中断电平能被端口识别
使用以下寄存器来对产生中断触发方式和极性进行定义:
⚫
GPIO 中断触发方式寄存器(INTLVLTRG)
,用于配置电平触发或边沿触发
⚫
GPIO 中断触发极性寄存器(INTRISEEN)
,用于配置电平或边沿触发极性
⚫
GPIO 中断边沿触发配置寄存器(INTBE)
,选择为边沿触发后,用于配置单边沿触发或
双边沿触发
266
Version 1.25
SWM341 系列
通过 GPIO 中断使能寄存器(INTEN)可以使能或者禁止相应端口对应位中断,GPIO 原始中断状
态(INTRAWSTAUS)
不受使能位影响。当产生中断时,
可以在 GPIO 原始中断状态
(RAWINTSTAUS)
获取中断信号的状态。当中断使能寄存器(INTEN)对应位为 1 时,中断状态(INTSTAUS)寄
存器可读取到对应中断信号,且中断信号会进入中断配置模块及 NVIC 模块,执行中断程序。
通过写 1 到 GPIO 中断清除寄存器(INTCLR)指定位可以清除相应位中断。
267
Version 1.25
SWM341 系列
6.8.4 寄存器映射
名称
偏移
类型
GPIOA
BASE:0x40040000
GPIOB
BASE:0x40040800
GPIOC
BASE:0x40041000
GPIOD
BASE:0x40041800
GPIOE
BASE:0x400A1000
GPIOF
BASE:0x400A1800
GPIOM
BASE:0x40004000
GPION
BASE:0x40004800
复位值
描述
ODR
0x00
R/W
0x00
GPIO 写数据寄存器
DIR
0x04
R/W
0x00
GPIO 方向寄存器
INTLVLTRG
0x08
R/W
0x00
GPIO 中断触发条件
INTBE
0x0c
R/W
0x00
GPIO 中断边沿触发配置寄存器
INTRISEEN
0x10
R/W
0x00
GPIO 中断触发极性
INTEN
0x14
R/W
0x00
GPIO 中断使能
INTRAWSTAT
0x18
R/W
0x00
GPIO 中断原始状态
INTSTAT
0x1c
R/W
0x00
GPIO 中断状态
INTCLR
0x20
R/W
0x00
GPIO 中断清除
DMAEN
0x24
R/W
0x00
GPIO DMA 使能
IDR
0x30
R/W
0x00
GPIO 读数据寄存器
DATAPIN0
0x40
R/W
0x00
GPIO PIN0 数据寄存器
DATAPIN1
0x44
R/W
0x00
GPIO PIN1 数据寄存器
DATAPIN2
0x48
R/W
0x00
GPIO PIN2 数据寄存器
DATAPIN3
0x4c
R/W
0x00
GPIO PIN3 数据寄存器
DATAPIN4
0x50
R/W
0x00
GPIO PIN4 数据寄存器
DATAPIN5
0x54
R/W
0x00
GPIO PIN5 数据寄存器
DATAPIN6
0x58
R/W
0x00
GPIO PIN6 数据寄存器
DATAPIN7
0x5c
R/W
0x00
GPIO PIN7 数据寄存器
DATAPIN8
0x60
R/W
0x00
GPIO PIN8 数据寄存器
DATAPIN9
0x64
R/W
0x00
GPIO PIN9 数据寄存器
DATAPIN10
0x68
R/W
0x00
GPIO PIN10 数据寄存器
DATAPIN11
0x6c
R/W
0x00
GPIO PIN11 数据寄存器
DATAPIN12
0x70
R/W
0x00
GPIO PIN12 数据寄存器
DATAPIN13
0x74
R/W
0x00
GPIO PIN13 数据寄存器
DATAPIN14
0x78
R/W
0x00
GPIO PIN14 数据寄存器
DATAPIN15
0x7c
R/W
0x00
GPIO PIN15 数据寄存器
268
Version 1.25
SWM341 系列
6.8.5 寄存器描述
GPIOx 写数据寄存器 ODR
寄存器
偏移
类型
复位值
描述
ODR
0x00
R/W
0x00
GPIO 写数据寄存器
30
29
31
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
Px15 引脚数据写寄存器位
14
PIN14
Px14 引脚数据写寄存器位
13
PIN13
Px13 引脚数据写寄存器位
12
PIN12
Px12 引脚数据写寄存器位
11
PIN11
Px11 引脚数据写寄存器位
10
PIN10
Px10 引脚数据写寄存器位
9
PIN9
Px9 引脚数据写寄存器位
8
PIN8
Px8 引脚数据写寄存器位
7
PIN7
Px7 引脚数据写寄存器位
6
PIN6
Px6 引脚数据写寄存器位
5
PIN5
Px5 引脚数据写寄存器位
4
PIN4
Px4 引脚数据写寄存器位
3
PIN3
Px3 引脚数据写寄存器位
2
PIN2
Px2 引脚数据写寄存器位
1
PIN1
Px1 引脚数据写寄存器位
0
PIN0
Px0 引脚数据写寄存器位
269
Version 1.25
SWM341 系列
GPIOx 方向寄存器 DIR
寄存器
偏移
类型
复位值
描述
DIR
0x04
R/W
0x00
GPIO 方向寄存器
30
29
31
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
Px15 引脚方向寄存器位
15
PIN15
1:输出
0:输入
Px14 引脚方向寄存器位
14
PIN14
1:输出
0:输入
Px13 引脚方向寄存器位
13
PIN13
1:输出
0:输入
Px12 引脚方向寄存器位
12
PIN12
1:输出
0:输入
Px11 引脚方向寄存器位
11
PIN11
1:输出
0:输入
Px10 引脚方向寄存器位
10
PIN10
1:输出
0:输入
Px9 引脚方向寄存器位
9
PIN9
1:输出
0:输入
Px8 引脚方向寄存器位
8
PIN8
1:输出
0:输入
270
Version 1.25
SWM341 系列
Px7 引脚方向寄存器位
7
PIN7
1:输出
0:输入
Px6 引脚方向寄存器位
6
PIN6
1:输出
0:输入
Px5 引脚方向寄存器位
5
PIN5
1:输出
0:输入
Px4 引脚方向寄存器位
4
PIN4
1:输出
0:输入
Px3 引脚方向寄存器位
3
PIN3
1:输出
0:输入
Px2 引脚方向寄存器位
2
PIN2
1:输出
0:输入
Px1 引脚方向寄存器位
1
PIN1
1:输出
0:输入
Px0 引脚方向寄存器位
0
PIN0
1:输出
0:输入
271
Version 1.25
SWM341 系列
GPIOx 中断触发条件寄存器 INTLVLTRG
寄存器
偏移
类型
复位值
描述
INTLVLTRG
0x08
R/W
0x00
GPIO 中断触发方式
30
29
31
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
Px15 引脚中断敏感条件寄存器位
15
PIN15
1:电平检测
0:边沿检测
Px14 引脚中断敏感条件寄存器位
14
PIN14
1:电平检测
0:边沿检测
Px13 引脚中断敏感条件寄存器位
13
PIN13
1:电平检测
0:边沿检测
Px12 引脚中断敏感条件寄存器位
12
PIN12
1:电平检测
0:边沿检测
Px11 引脚中断敏感条件寄存器位
11
PIN11
1:电平检测
0:边沿检测
Px10 引脚中断敏感条件寄存器位
10
PIN10
1:电平检测
0:边沿检测
Px9 引脚中断敏感条件寄存器位
9
PIN9
1:电平检测
0:边沿检测
Px8 引脚中断敏感条件寄存器位
8
PIN8
1:电平检测
0:边沿检测
272
Version 1.25
SWM341 系列
Px7 引脚中断敏感条件寄存器位
7
PIN7
1:电平检测
0:边沿检测
Px6 引脚中断敏感条件寄存器位
6
PIN6
1:电平检测
0:边沿检测
Px5 引脚中断敏感条件寄存器位
5
PIN5
1:电平检测
0:边沿检测
Px4 引脚中断敏感条件寄存器位
4
PIN4
1:电平检测
0:边沿检测
Px3 引脚中断敏感条件寄存器位
3
PIN3
1:电平检测
0:边沿检测
Px2 引脚中断敏感条件寄存器位
2
PIN2
1:电平检测
0:边沿检测
Px1 引脚中断敏感条件寄存器位
1
PIN1
1:电平检测
0:边沿检测
Px0 引脚中断敏感条件寄存器位
0
PIN0
1:电平检测
0:边沿检测
273
Version 1.25
SWM341 系列
GPIOx 中断沿触发配置寄存器 INTBE
寄存器
偏移
类型
复位值
描述
INTBE
0x0c
R/W
0x00
GPIOx 中断沿触发配置寄存器
30
29
31
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
Px15 引脚中断沿触发配置寄存器位
15
PIN15
1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断
0:相应位为单边沿触发中断,由 INTRISEEN 寄存器相应位确定是上升沿/下降沿触
发
Px14 引脚中断沿触发配置寄存器位
14
PIN14
1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断
0:相应位为单边沿触发中断,由 INTRISEEN 寄存器相应位确定是上升沿/下降沿触
发
Px13 引脚中断沿触发配置寄存器位
13
PIN13
1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断
0:相应位为单边沿触发中断,由 INTRISEEN 寄存器相应位确定是上升沿/下降沿触
发
Px12 引脚中断沿触发配置寄存器位
12
PIN12
1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断
0:相应位为单边沿触发中断,由 INTRISEEN 寄存器相应位确定是上升沿/下降沿触
发
Px11 引脚中断沿触发配置寄存器位
11
PIN11
1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断
0:相应位为单边沿触发中断,由 INTRISEEN 寄存器相应位确定是上升沿/下降沿触
发
Px10 引脚中断沿触发配置寄存器位
10
PIN10
1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断
0:相应位为单边沿触发中断,由 INTRISEEN 寄存器相应位确定是上升沿/下降沿触
发
274
Version 1.25
SWM341 系列
Px9 引脚中断沿触发配置寄存器位
9
PIN9
1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断
0:相应位为单边沿触发中断,由 INTRISEEN 寄存器相应位确定是上升沿/下降沿触
发
Px8 引脚中断沿触发配置寄存器位
8
PIN8
1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断
0:相应位为单边沿触发中断,由 INTRISEEN 寄存器相应位确定是上升沿/下降沿触
发
Px7 引脚中断沿触发配置寄存器位
7
PIN7
1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断
0:相应位为单边沿触发中断,由 INTRISEEN 寄存器相应位确定是上升沿/下降沿触
发
Px6 引脚中断沿触发配置寄存器位
6
PIN6
1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断
0:相应位为单边沿触发中断,由 INTRISEEN 寄存器相应位确定是上升沿/下降沿触
发
Px5 引脚中断沿触发配置寄存器位
5
PIN5
1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断
0:相应位为单边沿触发中断,由 INTRISEEN 寄存器相应位确定是上升沿/下降沿触
发
Px4 引脚中断沿触发配置寄存器位
4
PIN4
1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断
0:相应位为单边沿触发中断,由 INTRISEEN 寄存器相应位确定是上升沿/下降沿触
发
Px3 引脚中断沿触发配置寄存器位
3
PIN3
1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断
0:相应位为单边沿触发中断,由 INTRISEEN 寄存器相应位确定是上升沿/下降沿触
发
Px2 引脚中断沿触发配置寄存器位
2
PIN2
1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断
0:相应位为单边沿触发中断,由 INTRISEEN 寄存器相应位确定是上升沿/下降沿触
发
Px1 引脚中断沿触发配置寄存器位
1
PIN1
1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断
0:相应位为单边沿触发中断,由 INTRISEEN 寄存器相应位确定是上升沿/下降沿触
发
Px0 引脚中断沿触发配置寄存器位
0
PIN0
1:相应位为双边沿触发中断,即上升沿和下降沿都会触发中断
0:相应位为单边沿触发中断,由 INTRISEEN 寄存器相应位确定是上升沿/下降沿触
发
275
Version 1.25
SWM341 系列
GPIOx 中断触发极性寄存器 INTRISEEN
寄存器
偏移
类型
复位值
描述
INTRISEEN
0x10
R/W
0x00
GPIO 中断触发极性
30
29
31
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
Px15 引脚中断事件寄存器位
15
PIN15
1:上升沿/高电平触发中断
0:下降沿/低电平触发中断
Px14 引脚中断事件寄存器位
14
PIN14
1:上升沿/高电平触发中断
0:下降沿/低电平触发中断
Px13 引脚中断事件寄存器位
13
PIN13
1:上升沿/高电平触发中断
0:下降沿/低电平触发中断
Px12 引脚中断事件寄存器位
12
PIN12
1:上升沿/高电平触发中断
0:下降沿/低电平触发中断
Px11 引脚中断事件寄存器位
11
PIN11
1:上升沿/高电平触发中断
0:下降沿/低电平触发中断
Px10 引脚中断事件寄存器位
10
PIN10
1:上升沿/高电平触发中断
0:下降沿/低电平触发中断
Px9 引脚中断事件寄存器位
9
PIN9
1:上升沿/高电平触发中断
0:下降沿/低电平触发中断
Px8 引脚中断事件寄存器位
8
PIN8
1:上升沿/高电平触发中断
0:下降沿/低电平触发中断
276
Version 1.25
SWM341 系列
Px7 引脚中断事件寄存器位
7
PIN7
1:上升沿/高电平触发中断
0:下降沿/低电平触发中断
Px6 引脚中断事件寄存器位
6
PIN6
1:上升沿/高电平触发中断
0:下降沿/低电平触发中断
Px5 引脚中断事件寄存器位
5
PIN5
1:上升沿/高电平触发中断
0:下降沿/低电平触发中断
Px4 引脚中断事件寄存器位
4
PIN4
1:上升沿/高电平触发中断
0:下降沿/低电平触发中断
Px3 引脚中断事件寄存器位
3
PIN3
1:上升沿/高电平触发中断
0:下降沿/低电平触发中断
Px2 引脚中断事件寄存器位
2
PIN2
1:上升沿/高电平触发中断
0:下降沿/低电平触发中断
Px1 引脚中断事件寄存器位
1
PIN1
1:上升沿/高电平触发中断
0:下降沿/低电平触发中断
Px0 引脚中断事件寄存器位
0
PIN0
1:上升沿/高电平触发中断
0:下降沿/低电平触发中断
277
Version 1.25
SWM341 系列
GPIOx 中断使能寄存器 INTEN
寄存器
偏移
类型
复位值
描述
INTEN
0x14
R/W
0x00
GPIO 中断使能
30
29
31
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
Px15 引脚中断使能寄存器位
15
PIN15
1:中断使能
0:中断禁止
Px14 引脚中断使能寄存器位
14
PIN14
1:中断使能
0:中断禁止
Px13 引脚中断使能寄存器位
13
PIN13
1:中断使能
0:中断禁止
Px12 引脚中断使能寄存器位
12
PIN12
1:中断使能
0:中断禁止
Px11 引脚中断使能寄存器位
11
PIN11
1:中断使能
0:中断禁止
Px10 引脚中断使能寄存器位
10
PIN10
1:中断使能
0:中断禁止
Px9 引脚中断使能寄存器位
9
PIN9
1:中断使能
0:中断禁止
Px8 引脚中断使能寄存器位
8
PIN8
1:中断使能
0:中断禁止
278
Version 1.25
SWM341 系列
Px7 引脚中断使能寄存器位
7
PIN7
1:中断使能
0:中断禁止
Px6 引脚中断使能寄存器位
6
PIN6
1:中断使能
0:中断禁止
Px5 引脚中断使能寄存器位
5
PIN5
1:中断使能
0:中断禁止
Px4 引脚中断使能寄存器位
4
PIN4
1:中断使能
0:中断禁止
Px3 引脚中断使能寄存器位
3
PIN3
1:中断使能
0:中断禁止
Px2 引脚中断使能寄存器位
2
PIN2
1:中断使能
0:中断禁止
Px1 引脚中断使能寄存器位
1
PIN1
1:中断使能
0:中断禁止
Px0 引脚中断使能寄存器位
0
PIN0
1:中断使能
0:中断禁止
279
Version 1.25
SWM341 系列
GPIOx 原始中断状态寄存器 INTRAWSTAT
寄存器
偏移
类型
复位值
描述
INTRAWSTAT
0x18
R/W
0x00
GPIO 中断原始状态
30
29
31
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
Px15 引脚原始中断状态寄存器位
15
PIN15
1:检测到中断触发条件
0:没有检测到中断触发条件
Px14 引脚原始中断状态寄存器位
14
PIN14
1:检测到中断触发条件
0:没有检测到中断触发条件
Px13 引脚原始中断状态寄存器位
13
PIN13
1:检测到中断触发条件
0:没有检测到中断触发条件
Px12 引脚原始中断状态寄存器位
12
PIN12
1:检测到中断触发条件
0:没有检测到中断触发条件
Px11 引脚原始中断状态寄存器位
11
PIN11
1:检测到中断触发条件
0:没有检测到中断触发条件
Px10 引脚原始中断状态寄存器位
10
PIN10
1:检测到中断触发条件
0:没有检测到中断触发条件
Px9 引脚原始中断状态寄存器位
9
PIN9
1:检测到中断触发条件
0:没有检测到中断触发条件
Px8 引脚原始中断状态寄存器位
8
PIN8
1:检测到中断触发条件
0:没有检测到中断触发条件
280
Version 1.25
SWM341 系列
Px7 引脚原始中断状态寄存器位
7
PIN7
1:检测到中断触发条件
0:没有检测到中断触发条件
Px6 引脚原始中断状态寄存器位
6
PIN6
1:检测到中断触发条件
0:没有检测到中断触发条件
Px5 引脚原始中断状态寄存器位
5
PIN5
1:检测到中断触发条件
0:没有检测到中断触发条件
Px4 引脚原始中断状态寄存器位
4
PIN4
1:检测到中断触发条件
0:没有检测到中断触发条件
Px3 引脚原始中断状态寄存器位
3
PIN3
1:检测到中断触发条件
0:没有检测到中断触发条件
Px2 引脚原始中断状态寄存器位
2
PIN2
1:检测到中断触发条件
0:没有检测到中断触发条件
Px1 引脚原始中断状态寄存器位
1
PIN1
1:检测到中断触发条件
0:没有检测到中断触发条件
Px0 引脚原始中断状态寄存器位
0
PIN0
1:检测到中断触发条件
0:没有检测到中断触发条件
281
Version 1.25
SWM341 系列
GPIOx 中断状态寄存器 INTSTAT
寄存器
偏移
类型
复位值
描述
INTSTAT
0x1c
R/W
0x00
GPIO 中断状态
30
29
31
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
Px15 引脚中断状态寄存器位
15
PIN15
1:检测到了中断
0:没有检测到中断
Px14 引脚中断状态寄存器位
14
PIN14
1:检测到了中断
0:没有检测到中断
Px13 引脚中断状态寄存器位
13
PIN13
1:检测到了中断
0:没有检测到中断
Px12 引脚中断状态寄存器位
12
PIN12
1:检测到了中断
0:没有检测到中断
Px11 引脚中断状态寄存器位
11
PIN11
1:检测到了中断
0:没有检测到中断
Px10 引脚中断状态寄存器位
10
PIN10
1:检测到了中断
0:没有检测到中断
Px9 引脚中断状态寄存器位
9
PIN9
1:检测到了中断
0:没有检测到中断
Px8 引脚中断状态寄存器位
8
PIN8
1:检测到了中断
0:没有检测到中断
282
Version 1.25
SWM341 系列
Px7 引脚中断状态寄存器位
7
PIN7
1:检测到了中断
0:没有检测到中断
Px6 引脚中断状态寄存器位
6
PIN6
1:检测到了中断
0:没有检测到中断
Px5 引脚中断状态寄存器位
5
PIN5
1:检测到了中断
0:没有检测到中断
Px4 引脚中断状态寄存器位
4
PIN4
1:检测到了中断
0:没有检测到中断
Px3 引脚中断状态寄存器位
3
PIN3
1:检测到了中断
0:没有检测到中断
Px2 引脚中断状态寄存器位
2
PIN2
1:检测到了中断
0:没有检测到中断
Px1 引脚中断状态寄存器位
1
PIN1
1:检测到了中断
0:没有检测到中断
Px0 引脚中断状态寄存器位
0
PIN0
1:检测到了中断
0:没有检测到中断
283
Version 1.25
SWM341 系列
GPIOx 中断清除寄存器 INTCLR
寄存器
偏移
类型
复位值
描述
INTCLR
0x20
R/W
0x00
GPIO 中断清除
30
29
31
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
Px15 引脚中断清除寄存器位,写 1 清除中断
14
PIN14
Px14 引脚中断清除寄存器位,写 1 清除中断
13
PIN13
Px13 引脚中断清除寄存器位,写 1 清除中断
12
PIN12
Px12 引脚中断清除寄存器位,写 1 清除中断
11
PIN11
Px11 引脚中断清除寄存器位,写 1 清除中断
10
PIN10
Px10 引脚中断清除寄存器位,写 1 清除中断
9
PIN9
Px9 引脚中断清除寄存器位,写 1 清除中断
8
PIN8
Px8 引脚中断清除寄存器位,写 1 清除中断
7
PIN7
Px7 引脚中断清除寄存器位,写 1 清除中断
6
PIN6
Px6 引脚中断清除寄存器位,写 1 清除中断
5
PIN5
Px5 引脚中断清除寄存器位,写 1 清除中断
4
PIN4
Px4 引脚中断清除寄存器位,写 1 清除中断
3
PIN3
Px3 引脚中断清除寄存器位,写 1 清除中断
2
PIN2
Px2 引脚中断清除寄存器位,写 1 清除中断
1
PIN1
Px1 引脚中断清除寄存器位,写 1 清除中断
0
PIN0
Px0 引脚中断清除寄存器位,写 1 清除中断
284
Version 1.25
SWM341 系列
GPIOx 读数据寄存器 IDR
寄存器
偏移
类型
复位值
描述
IDR
0x30
R/W
0x00
GPIO 读数据寄存器
30
29
31
28
27
26
25
24
19
18
17
16
23
22
21
20
-
15
14
13
12
11
10
9
8
PIN15
PIN14
PIN13
PIN12
PIN11
PIN10
PIN9
PIN8
7
6
5
4
3
2
1
0
PIN7
PIN6
PIN5
PIN4
PIN3
PIN2
PIN1
PIN0
位域
名称
描述
31:16
-
-
15
PIN15
Px15 引脚数据读寄存器位
14
PIN14
Px14 引脚数据读寄存器位
13
PIN13
Px13 引脚数据读寄存器位
12
PIN12
Px12 引脚数据读寄存器位
11
PIN11
Px11 引脚数据读寄存器位
10
PIN10
Px10 引脚数据读寄存器位
9
PIN9
Px9 引脚数据读寄存器位
8
PIN8
Px8 引脚数据读寄存器位
7
PIN7
Px7 引脚数据读寄存器位
6
PIN6
Px6 引脚数据读寄存器位
5
PIN5
Px5 引脚数据读寄存器位
4
PIN4
Px4 引脚数据读寄存器位
3
PIN3
Px3 引脚数据读寄存器位
2
PIN2
Px2 引脚数据读寄存器位
1
PIN1
Px1 引脚数据读寄存器位
0
PIN0
Px0 引脚数据读寄存器位
285
Version 1.25
SWM341 系列
GPIO DMA 触发使能寄存器 DMAEN
寄存器
偏移
类型
复位值
描述
DMAEN
0x24
R/W
0x00
GPIO DMA 使能寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
DMAEN
7
6
5
4
DMAEN
位域
名称
描述
31:16
-
1:通过对应位的 GPIO 沿状态(上升沿、下降沿、双沿)来触发 DMA 读取 GPIO 数
据寄存器
15:0
DMAEN
0:CPU 读取 GPIODATA 寄存器
注:沿状态通过 INTBE 和 INTRISEEN 寄存器来配置
286
Version 1.25
SWM341 系列
GPIOx PINn 数据寄存器 DATAPINx(x = 0~15)
寄存器
偏移
类型
复位值
描述
DATAPIN0
0x40
R/W
0x00
GPIO PIN0 数据寄存器
寄存器
偏移
类型
复位值
描述
DATAPIN1
0x44
R/W
0x00
GPIO PIN1 数据寄存器
寄存器
偏移
类型
复位值
描述
DATAPIN2
0x48
R/W
0x00
GPIO PIN2 数据寄存器
寄存器
偏移
类型
复位值
描述
DATAPIN3
0x4C
R/W
0x00
GPIO PIN3 数据寄存器
寄存器
偏移
类型
复位值
描述
DATAPIN4
0x50
R/W
0x00
GPIO PIN4 数据寄存器
寄存器
偏移
类型
复位值
描述
DATAPIN5
0x54
R/W
0x00
GPIO PIN5 数据寄存器
寄存器
偏移
类型
复位值
描述
DATAPIN6
0x58
R/W
0x00
GPIO PIN6 数据寄存器
寄存器
偏移
类型
复位值
描述
DATAPIN7
0x5C
R/W
0x00
GPIO PIN7 数据寄存器
寄存器
偏移
类型
复位值
描述
DATAPIN8
0x60
R/W
0x00
GPIO PIN8 数据寄存器
寄存器
偏移
类型
复位值
描述
DATAPIN9
0x64
R/W
0x00
GPIO PIN9 数据寄存器
寄存器
偏移
类型
复位值
描述
DATAPIN10
0x68
R/W
0x00
GPIO PIN10 数据寄存器
寄存器
偏移
类型
复位值
描述
DATAPIN11
0x6C
R/W
0x00
GPIO PIN11 数据寄存器
寄存器
偏移
类型
复位值
描述
DATAPIN12
0x70
R/W
0x00
GPIO PIN12 数据寄存器
寄存器
偏移
类型
复位值
描述
287
Version 1.25
SWM341 系列
DATAPIN13
0x74
R/W
0x00
GPIO PIN13 数据寄存器
寄存器
偏移
类型
复位值
描述
DATAPIN14
0x78
R/W
0x00
GPIO PIN14 数据寄存器
寄存器
偏移
类型
复位值
描述
DATAPIN15
0x7C
R/W
0x00
GPIO PIN15 数据寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:1
-
-
DATAPINi
GPIOx PINn 数据寄存器。
0
DATAPINi
读:GPIOx PINn 的输入数据
写:GPIOx PINn 的输出数据
288
Version 1.25
SWM341 系列
6.9
加强型定时器(TIMER)
6.9.1 概述
加强型计数器模块,SWM341 系列所有型号 TIMER 操作均相同,
不同型号 TIMER 数量可能不同。
使用前需使能 TIMER 模块时钟。
每个 TIMER 模块均具备定时器功能(使用片内时钟作为计数基准)和计数器功能(使用片外时
钟作为计数基准)、输出比较及输入捕获功能。
TIMER0 支持 Hall 功能及连续脉宽捕捉功能。
6.9.2 特性
⚫
5 路 32 位通用定时器
◼
24 位计数器
◼
8 位预分频
⚫
可单独配置计时触发条件为内部时钟或者外部输入
⚫
支持脉冲捕获及宽度测量,检测脉冲极性可配
⚫
支持脉冲发送功能,可作为 PWM 使用
⚫
TIMER0 支持 HALL 功能,可采集霍尔传感器角度
⚫
TIMER0~1 输出可作为外部触发事件信号
⚫
定时器溢出脉冲输出,可用于触发 ADC
289
Version 1.25
SWM341 系列
6.9.3 模块结构框图
LDVAL
时基单元
输出比较单元OC
输入捕获单元IC
EN
PCLK
0
TxI
1
HALT
8-bit PSC
24-bit Down
Counter
IE
CKSRC
=0
IF
IRQ
波形发生器
TxO
OCIE
OCIF
=
OCR
ICRIE
ICREN
ICRIF
ICRR
TxI
ICFIE
ICFEN
ICFIF
ICFR
图 6-11 TIMER 模块结构框图
290
Version 1.25
SWM341 系列
6.9.4 功能描述
定时器
使用 TIMERx 作为定时器时,为递减计数。流程如下:
⚫
将控制寄存器(CRx)中 MODx 位配置为定时器模式,CLKSRCx 位配置计数源选择,配
置为使用系统时钟作为计数源。
⚫
通过预分频寄存器(PREDIVx)配置定时器时钟分频值,装载值寄存器(LOADx)设置
计数起始值。
⚫
使能寄存器(EN)对应位使能为 1。
⚫
对应 TIMERx 开始递减计数,计数到 0 时,产生中断,同时重新装载计数值,进行下一
周期计数。
在计数过程中,可通过对当前值寄存器(VALUEx)进行读取,获取当前计数值。
定时器计数过程中改变装载值寄存器(LOADx)值,将在下个计数周期(计数到 0 重新装载)生
效,不会改变本周期计数值。
定时器计数过程中,可以通过 BRK 寄存器控制位置 1 暂停指定通道计数,置 0 后继续计数。
如图 6-12 所示。
CLK
VALUEx
V1
LDVALx
V1-1
V1-2
2
1
0
V1
V2
V2-1
V2-2
2
1
0
V2
IF
EN
图 6-12 定时器工作示意图
注:如图 6-12 中 CLK 不是系统时钟,是系统时钟经过 PREDIV 分频之后的时钟
计数器
使用 TIMERx 作为计数器时,为递减计数。流程如下:
⚫
将控制寄存器(CRx)中 MODx 位配置为定时器模式,CLKSRCx 位配置计数源选择,配
置为使用外部的 cntsrc 的上升沿。此时,对应 TIMER 将以配置为 CNT 引脚外部输入的
上升沿作为计数目标。
⚫
针对外部信号输入引脚进行如下操作:
◼
配置 PORTCON 模块中 INEN 寄存器使能引脚输入功能。
291
Version 1.25
SWM341 系列
◼
通过 PORT_SEL 寄存器将引脚切换为指定数字功能。
⚫
通过装载值寄存器(LOADx)设置计数目标值。
⚫
使能寄存器(EN)对应位使能为 1,对应 TIMERx 开始递减计数,计数到 0 时,产生中
断,同时重新装载计数值,进行下一周期计数。
在计数过程中,可通过对当前值寄存器(VALUEx)进行读取,获取当前计数值。
定时器计数过程中改变装载值寄存器(LOADx)值,将在下个计数周期(计数到 0 重新装载)生
效,不会改变本周期计数值。
计数器使用过程中,可以通过 BRK 寄存器控制位置 1 暂停指定通道计数,置 0 后继续计数。
示意图如图 6-13 所示。
CLK
TIMER_IN
VALUEx
V1
LDVALx
V1-1
V1-2
2
1
0
V2
V2-1
V2-2
2
1
0
V2
V1
IF
EN
图 6-13 计数器工作示意图
注:图中 CLK 不是系统时钟,是系统时钟经过 PREDIV 分频之后的时钟
级联
当 TIMER 无法满足计数宽度或时间长度时,可以通过级联方式,使计数周期为 TIMER 位宽相乘
的关系。最高支持两级级联。
使用方式如下:
⚫
TIMERn 根据需要设置为定时器或计数器模式
⚫
TIMERn+1 设置为级联模式(CLKSRCx 位配置为使用上一路计数器的进位标志)
⚫
LOADn = 目标计数值 A
⚫
LOADn+1 = 目标计数值 B,总计数周期为 A*B
⚫
使能 TIMERn+1 中断
⚫
使能 TIMERn+1
⚫
使能 TIMERn
⚫
TIMERn+1 中断产生,在中断程序中使能 TIMERn 中断
292
Version 1.25
SWM341 系列
⚫
TIMERn 中断产生,计数周期完成
示意图如图 6-14 所示:
CLK
VALUE0
0XFFFFFFF F
VALUE1
LDVAL0
3
2
0XFFFFFFF F
1
0XFFFFFFF F
LDVAL1
0
3
2
2
1
0
3
2
1
1
0
0
3
2
1
2
0
3
2
1
0X00000003
0XFFFFFFF F
0X00000002
IF0
IF1
EN0
EN1
图 6-14 级联模式工作示意图
注:图中 CLK 不是系统时钟,是系统时钟经过 PREDIV 分频之后的时钟
脉冲发送
所有 TIMER 模块均支持脉冲发送功能,可发送指定脉宽的方波。该计数器为向下计数。使用方
式如下:
⚫
⚫
⚫
⚫
针对外部信号输入引脚进行如下操作
◼
配置 PORTCON 模块中使能引脚输出功能
◼
通过 PORT_SEL 寄存器将引脚切换为 TIMER 对应数字功能
TIMER 初始化
◼
指定要被设置的定时器
◼
设置 TIMER 的工作模式为 OC(输出比较)模式
◼
设置定时周期
输出比较功能初始化
◼
指定要被设置的定时器
◼
设置当计数器的值递减到 MATCH 时引脚输出电平翻转
◼
设置初始输出电平
启动定时器
示意图如图 6-15 所示:
293
Version 1.25
SWM341 系列
LDVAL
OCMAT
IF
OCIF
TxO
图 6-15 脉冲发送示意图
脉冲捕捉
SWM341 提供了一个用于捕捉外部脉宽的模块,可记录外部单个脉冲宽度。该计数器为向上计
数。使用方式如下:
⚫
针对外部信号输入引脚进行如下操作
◼
配置 PORTCON 模块中 INEN 寄存器使能引脚输入功能
◼
通过 PORT_SEL 寄存器将引脚切换为 TIMER 对应数字功能
⚫
设置中断使能寄存器(IEx),使能中断
⚫
使能寄存器(EN)对应位使能为 1,启动捕捉功能
⚫
当指定引脚出现变化沿时,开始记录宽度,再次出现沿时,将对应种类的脉宽长度记
录于 ICLOWx 或 ICHIGHx 寄存器,并产生中断。
⚫
进入中断,读取脉冲长度寄存器,获取指定种类的脉冲宽度
⚫
如果不操作 EN 位,则持续记录电平宽度,直至 EN 位关闭。
捕捉高电平示意图如图 6-16 所示。
294
Version 1.25
SWM341 系列
CLK
P_CNT
0
1
2
3
4
0
1
2
0
HIGH
P_CVAL
0
4
0
2
0
PIF
PIE
EN
图 6-16 单次高电平捕捉示意图
注:图中 CLK 不是系统时钟,是系统时钟经过 PREDIV 分频之后的时钟
低电平示意图如图 6-17 所示。
CLK
P_CNT
0
1
2
3
4
0
1
2
0
HIGH
P_CVAL
0
4
0
2
0
PIF
PIE
EN
图 6-17 单次低电平捕捉示意图
注:图中 CLK 不是系统时钟,是系统时钟经过 PREDIV 分频之后的时钟
霍尔接口
本模块所有 HALL 接口为双边沿触发。
⚫
⚫
HALL 功能为指定引脚,且不同封装可能有所差异,具体引脚详见管脚排布:
◼
配置 PORTCON 模块中 INEN 寄存器使能引脚输入功能
◼
通过 PORT_SEL 寄存器将引脚切换为 HALL 功能
配置 HALLCR 寄存器,设置对应管脚计数及中断产生条件,支持上升沿/下降沿/双沿产
生中断
⚫
配置 TIMER0 装载值寄存器(LOADx)为 0xFFFFFFFF
⚫
使能控制寄存器使能位(EN)
⚫
当外部 HALL_X 引脚产生指定电平变化时,TIMER0 计数值自动装载至 HALL_X(本次覆
盖上次),并产生 TIMER 中断。同时 HALLIF 寄存器 IFx 将产生对应标示位,标识该对应
引脚产生电平变化。同时,也可通过 HALLSR 寄存器 STx 位查看对应 HALL_X 引脚目前
295
Version 1.25
SWM341 系列
电平值。
⚫
当 TIMER0 记载至 0 时,将重新从 0xFFFFFFFF 计数
双边沿记录示意图如图 6-18 所示。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
LDV0-2
LDV0-3
LDV0-4
LDV0-5
LDV0-2
0
LDV0-4
LDV0-1
0
LDV0-3
0
LDV0-2
CLK
HALL_A
HALL_B
HALL_C
HALL_A_IF
HALL_B_IF
HALL_C_IF
CV0
7
6
3
4
5
2
LDV0
LDV0
LDV0-1
0XFFFFFFFF
TIM_A
0
TIM_B
TIM_C
0
1
0
0
5
6
7
0
0
0
4
2
0
3
0
1
0
2
0
0
0
0
LDV0
0
0
0
LDV0-5
EN0
图 6-18 Hall 双边沿记录示意图
注:图中 CLK 不是系统时钟,是系统时钟经过 PREDIV 分频之后的时钟
ADC 采样触发功能
TIMER2/3 支持 SAR ADC 触发功能
对于 SAR ADC,配置 ADC 完成后,将寄存器(CTRL)中 TRIG 设置为 TIMER2 触发或 TIMER3
触发,则当对应 TIMER 计数值减至 0 时,将触发 SAR ADC 配置寄存器(CTRL)中选中的通道
进行采样。可以通过 ADC 采样完成中断进行结果获取。
此功能配置为定时器或脉冲发送均有效。
中断配置与清除
每路 TIMER 均具备独立中断,通过中断使能寄存器 IE 进行各 TIMER 中断使能。通过中断状态
寄存器 IF 进行中断查询及清除。
TIMER 中断
可通过配置中断使能寄存器 IEx 相应位使能中断。当检测到中断触发条件时,中断标志寄存器 IFx
相应位中置 1。如需清除此标志,需在相应标志位中写 1 清零(R/W1C)
,否则中断在开启状态
下会一直进入。
296
Version 1.25
SWM341 系列
HALL 中断
本模块 HALLx 信号触发中断的条件:
上升沿和下降沿。
可通过配置 HALL 中断使能寄存器 HALLIE
相应位使能中断。当检测到中断触发条件时,HALL 中断标志寄存器 HALLIF 相应位中置 1。如
需清除此标志,需在相应标志位中写 1 清零(R/W1C)
,否则中断在开启状态下会一直进入。
297
Version 1.25
SWM341 系列
6.9.5 寄存器映射
名称
偏移
类型
复位值
TIMER0
BASE:0x40046800
TIMER1
BASE:0x40046840
TIMER2
BASE:0x40046880
TIMER3
BASE:0x400468C0
TIMER4
BASE:0x40046900
描述
LOADx
0x0
RW
0x00
TIMERx 装载值寄存器
VALUEx
0x4
RO
0xFFFFF
TIMERx 当前计数值寄存器
CRx
0x8
RW
0x00
TIMERx 控制寄存器
IEx
0x10
RW
0x00
TIMERx 中断使能寄存器
IFx
0x14
R/W1C
0x00
TIMERx 中断状态。写 1 清零。
HALTx
0x18
R/W
0x00
TIMERx 暂停控制
OCCRx
0x1C
R/W
0x00
TIMER 发送脉冲控制信号
OCMATx
0x20
RW
0x00
PWM 输出脉冲反转值
ICLOWx
0x28
RO
0x00
输入脉冲低电平长度
ICHIGHx
0x2C
RO
0x00
输入脉冲高电平长度
PREDIVx
0x30
RW
0x00
TIMERx 预分频器装载值寄存器
HALLIE
0x400
RW
0x00
HALL 中断使能
HALLIF
0x408
R/W1C
0x00
HALL 中断状态
HALLEN
0x40C
RW
0x00
HALL 模式控制
HALL0V
0x410
RO
0x00
HALL0 信号触发时,计数器计数值
HALL3V
0x414
RO
0x00
HALL3 信号触发时,计数器计数值
HALLSR
0x41C
RO
0x00
外部 HALL 输入信号的状态寄存器
EN
0x440
RW
0x00
TIMER 使能寄存器
298
Version 1.25
SWM341 系列
6.9.6 寄存器描述
装载值寄存器 LOADx
寄存器
偏移
类型
复位值
描述
LOADx
0x0
RW
0x00
TIMERx 装载值寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
LOADx
15
14
13
12
LOADx
7
6
5
4
LOADx
位域
名称
描述
31:24
-
-
23:0
LOADx
定时器通道 x 的装载值
299
Version 1.25
SWM341 系列
当前值寄存器 VALUEx
寄存器
偏移
类型
复位值
描述
VALUEx
0x4
RO
0xFFFFF
TIMERx 当前计数值寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
VALUEx
15
14
13
12
VALUEx
7
6
5
4
VALUEx
位域
名称
描述
31:24
-
-
23:0
VALUEx
定时器通道 x 的计数器当前值
300
Version 1.25
SWM341 系列
控制寄存器 CRx
寄存器
偏移
类型
复位值
描述
CRx
0x8
R/W
0x00
TIMERx 控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
-
4
ICEDGEx
位域
名称
描述
31:6
-
-
MODEx
CLKSRCx
输入脉冲测量模式下,计数模式:
00:检测到上升沿或者下降沿后开始计数
5:4
ICEDGEx
01:检测到上升沿开始计数
10:检测到下降沿开始计数
定时器工作模式:
3:2
MODEx
00:普通定时器模式
01:输入脉冲测量模式
10:输出 PWM 模式
定时器计数源选择:
00:使用内部系统时钟上升沿
1:0
CLKSRCx
01:使用上一路计数器的进位标志(x=1 时,使用第 0 路;x=2 时,使用第 1 路;依
次类推,x=0 时,使用第 TM_NO-1 路,最多支持两级级联)
10:使用外部的 cntsrc 的上升沿
301
Version 1.25
SWM341 系列
中断使能寄存器 IEx
寄存器
偏移
类型
复位值
描述
IEx
0x10
R/W
0x00
TIMERx 中断使能寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
4
3
2
1
0
ICF
ICR
OC1
OC0
TO
23
22
21
20
-
15
14
13
12
-
7
6
5
-
位域
名称
描述
31:5
-
输入脉冲下降沿中断使能
4
ICF
1:使能
0:禁能
输入脉冲上升沿中断使能
3
ICR
1:使能
0:禁能
输出 PWM 翻转点 1 中断使能
2
OC1
1:使能
0:禁能
输出 PWM 翻转点 0 中断使能
1
OC0
1:使能
0:禁能
计数器溢出中断
0
TO
1:使能
0:禁能
302
Version 1.25
SWM341 系列
中断状态寄存器 IFx
寄存器
偏移
类型
复位值
描述
IFx
0x14
R,W1C
0x00
TIMERx 中断状态。写 1 清零。
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
4
3
2
1
0
ICF
ICR
OC1
OC0
TO
23
22
21
20
-
15
14
13
12
-
7
6
5
-
位域
名称
描述
31:5
-
输入脉冲下降沿中断状态,R/W1C
4
ICF
1:中断发生
0:中断未发生
输入脉冲上升沿中断状态,R/W1C
3
ICR
1:中断发生
0:中断未发生
输出 PWM 翻转点 1 中断状态,R/W1C
2
OC1
1:中断发生
0:中断未发生
输出 PWM 翻转点 0 中断状态,R/W1C
1
OC0
1:中断发生
0:中断未发生
计数器溢出中断状态,R/W1C
1:中断发生
0
TO
0:中断未发生
当使用级联功能时,高一级的中断不会触发,低一级的中断在全部计数结束后触发。
比如通道 0 和通道 1 级联,当通道 1 和通道 0 的计数都到 0 时,通道 0 的溢出中断
才会触发,通道 1 的溢出中断始终不会触发。
303
Version 1.25
SWM341 系列
暂停控制寄存器 HALTx
寄存器
偏移
类型
复位值
描述
BRKx
0x18
R/W
0x00
TIMERx 暂停控制
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:1
-
-
HALTx
定时器暂停控制
0
HALTx
1:暂停当前定时器的计数
0:当前定时器正常减计数
304
Version 1.25
SWM341 系列
发送脉冲控制信号寄存器 OCCRx
寄存器
偏移
类型
复位值
描述
OCCRx
0x1C
R/W
0x00
TIMER 发送脉冲控制信号
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
FORCEEN
INITLVL
FORCELVL
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:3
-
-
2
FORCEEN
Force Level,强制输出使能
1
INITLVL
Initial Level,初始输出电平
0
FORCELVL
Force Level,强制输出电平
305
Version 1.25
SWM341 系列
输出脉冲反转值寄存器 OCMATx
寄存器
偏移
类型
复位值
描述
OCMATx
0x20
R/W
0x00
PWM 输出脉冲反转值
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
OCMATx
15
14
13
12
OCMATx
7
6
5
4
OCMATx
位域
名称
描述
31:24
-
-
23:0
OCMATx
PWM 输出脉冲反转值
306
Version 1.25
SWM341 系列
输入脉冲低电平长度寄存器 ICLOWx
寄存器
偏移
类型
复位值
描述
ICLOWx
0x28
RO
0x00
输入脉冲低电平长度
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
ICLOWx
15
14
13
12
ICLOWx
7
6
5
4
ICLOWx
位域
名称
描述
31:24
-
-
23:0
ICLOWx
输入脉冲低电平长度
307
Version 1.25
SWM341 系列
输入脉冲高电平长度寄存器 ICHIGHx
寄存器
偏移
类型
复位值
描述
ICHIGHx
0x2C
RO
0x00
输入脉冲高电平长度
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
ICHIGHx
15
14
13
12
ICHIGHx
7
6
5
4
ICHIGHx
位域
名称
描述
31:24
-
-
23:0
ICHIGHx
输入脉冲高电平长度
308
Version 1.25
SWM341 系列
预分频器装载值寄存器 PREDIVx
寄存器
偏移
类型
复位值
描述
PREDIVx
0x30
RW
0x00
TIMERx 预分频器装载值寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
PREDIVx
位域
名称
描述
31:8
-
定时器时钟分频
0:1 分频
1:2 分频
7:0
PREDIVx
……
254:255 分频
255:256 分频
注:在级联模式下,除了第一级,其它级的这个字段必须设置为 0
309
Version 1.25
SWM341 系列
HALL 中断使能寄存器 HALLIE
寄存器
偏移
类型
复位值
描述
HALLIE
0x400
R/W
0x00
HALL 中断使能
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
HALL3
HALL0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:2
-
HALL3 中断使能。
1
HALL3
1:HALL 中断使能
0:HALL 中断禁能
注:此功能对应 Timer3
HALL0 中断使能。
0
HALL0
1:HALL 中断使能
0:HALL 中断禁能
注:此功能对应 Timer0
310
Version 1.25
SWM341 系列
HALL 中断状态寄存器 HALLIF
寄存器
偏移
类型
复位值
描述
HALLIF
0x408
R,W1C
0x00
HALL 中断状态
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
23
22
21
20
-
15
14
13
12
-
7
6
-
5
4
3
2
1
0
H3IN2
H3IN1
H3IN0
H0IN2
H0IN1
H0IN0
位域
名称
描述
31:6
-
输入 HALL3 信号 2 触发中断的状态,R/W1C
5
H3IN2
1:中断已发生
0:中断未发生
输入 HALL3 信号 1 触发中断的状态,R/W1C
4
H3IN1
1:中断已发生
0:中断未发生
输入 HALL3 信号 0 触发中断的状态,R/W1C
3
H3IN0
1:中断已发生
0:中断未发生
输入 HALL.0 信号 2 触发中断的状态,R/W1C
2
H0IN2
1:中断已发生
0:中断未发生
输入 HALL0 信号 1 触发中断的状态,R/W1C
1
H0IN1
1:中断已发生
0:中断未发生
输入 HALL0 信号 0 触发中断的状态,R/W1C
0
H0IN0
1:中断已发生
0:中断未发生
311
Version 1.25
SWM341 系列
HALL 触发使能寄存器 HALLEN
寄存器
偏移
类型
复位值
描述
HALLEN
0x404
R/W
0x00
HALL 触发使能寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
HALL3
HALL0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:2
-
输入 HALL3 信号触发使能
1
HALL3
0:不触发
1:触发
输入 HALL0 信号触发使能
0
HALL0
0:不触发
1:触发
312
Version 1.25
SWM341 系列
HALL0 信号触发时,Timer0 计数值寄存器 HALL0V
寄存器
偏移
类型
复位值
描述
HALL0V
0x410
RO
0x00
HALL0 信号触发时,计数器计数值
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
HALL0V
15
14
13
12
HALL0V
7
6
5
4
HALL0V
位域
名称
描述
31:24
-
-
23:0
HALL0V
HALL0 信号触发时,计数器 0 的计数值。
HALL0 输入跳变沿将 Timer0(加载值-当前值)存入此寄存器
313
Version 1.25
SWM341 系列
HALL3 信号触发时,Timer3 计数值寄存器 HALL3V
寄存器
偏移
类型
复位值
描述
HALL3V
0x414
RO
0x00
HALL3 信号触发时,计数器计数值
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
HALL3V
15
14
13
12
HALL3V
7
6
5
4
HALL3V
位域
名称
描述
31:24
-
-
23:0
HALL3V
HALL3 信号触发时,计数器 3 的计数值。
HALL3 输入跳变沿将 Timer3(加载值-当前值)存入此寄存器
314
Version 1.25
SWM341 系列
外部 HALL 输入信号的状态 HALLSR
寄存器
偏移
类型
复位值
描述
HALLSR
0x41C
RW
0x00
外部 HALL 输入信号的状态
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
23
22
21
20
-
15
14
13
12
-
7
6
-
5
4
3
2
1
0
H3IN2
H3IN1
H3IN0
H0IN2
H0IN1
H0IN0
位域
名称
描述
31:6
-
输入 HALL3 输入信号 2 当前状态,RW
5
H3IN2
1:中断已发生
0:中断未发生
输入 HALL3 输入信号 1 当前状态,RW
4
H3IN1
1:中断已发生
0:中断未发生
输入 HALL3 输入信号 0 当前状态,RW
3
H3IN0
1:中断已发生
0:中断未发生
输入 HALL0 输入信号 2 当前状态,RW
2
H0IN2
1:中断已发生
0:中断未发生
输入 HALL0 输入信号 1 当前状态,RW
1
H0IN1
1:中断已发生
0:中断未发生
输入 HALL0 输入信号 0 当前状态,RW
0
H0IN0
1:中断已发生
0:中断未发生
315
Version 1.25
SWM341 系列
使能寄存器 EN
寄存器
偏移
类型
复位值
描述
EN
0x440
R/W
0x00
TIMER 使能寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
4
3
2
1
0
EN4
EN3
EN2
EN1
EN0
23
22
21
20
-
15
14
13
12
-
7
6
5
-
位域
名称
描述
31:5
-
TIMER4 使能
4
EN4
1:使能
0:禁能
TIMER3 使能
3
EN3
1:使能
0:禁能
TIMER2 使能
2
EN2
1:使能
0:禁能
TIMER1 使能
1
EN1
1:使能
0:禁能
TIMER0 使能
0
EN0
1:使能
0:禁能
316
Version 1.25
SWM341 系列
6.10 基本定时器(BTIMER)
6.10.1 概述
基础计数器模块,SWM341 系列所有型号 BTIMER 操作均相同,不同型号 BTIMER 数量可能不
同。使用前需使能 BTIMER 模块时钟。
每个 BTIMER 模块均具备定时器功能,并具备一个 8 位分频器,每个定时器具备独立中断源。
6.10.2 特性
⚫
12 路 32 位通用定时器
◼
24 位计数器
◼
8 位预分频
⚫
每路均具备独立 8 位预分频
⚫
独立中断源
317
Version 1.25
SWM341 系列
6.10.3 模块结构框图
LDVAL
时基单元
EN
HALT
PCLK
8位预分频
24-bit Down
Counter
IE
=0
IF
IRQ
图 6-19 BTIMER 模块结构框图
318
Version 1.25
SWM341 系列
6.10.4 功能描述
使用 BTIMERx 作为定时器时,为递减计数,计数源为系统时钟。
定时器
使用流程如下:
⚫
通过预分频寄存器(PREDIVx)设置预分频目标值(8BIT),对系统时钟进行分频。
⚫
通过装载值寄存器(LOADx)设置计数目标值(24BIT)。
⚫
通过中断使能寄存器(IEx)配置中断使能。
⚫
通过使能寄存器(EN)进行对应 BTIMERx 使能。
⚫
对应 BTIMERx 开始递减计数,计数到 0 时,产生中断,同时重新从装载值寄存器
(LOADx)装载计数值,进行下一周期计数。
⚫
中断通过中断状态寄存器(IFx)进行查询(IEx 使能情况下),同时对该寄存器进
行写 1 操作清除中断
⚫
在计数过程中,可通过对当前值寄存器(VALUEx)进行读取,获取当前计数值。
⚫
定时器计数过程中改变装载值寄存器(LOADx)值,同时向装载位(RELOAD)写 1,
BTIMER 将立刻重新装载改变值并计数(RELAOD 位硬件自动清 0),当前计数周期
被中断。若不对装载位(RELOAD)进行操作,则改变值将在下个计数周期(计数
到 0 重新装载)生效,不会改变本周期计数值。
如图 6-20、图 6-21 所示。
CLK
CVALx
V1
LDVALx
V1
V1-1
V1-2
2
1
0
V2
V2-1
V2-2
2
1
0
V2
IF
EN
图 6-20 定时器工作示意图
319
Version 1.25
SWM341 系列
CLK
CVALx
V1
LDVALx
V1
V1-1
V1-2
30
29
V2
V2-1
V2-2
V2-3
2
1
0
V2
IF
EN
RELOAD
图 6-21 定时器 RELOAD 工作示意图
注:图中 CLK 不是系统时钟,是系统时钟经过 PREDIV 分频之后的时钟
脉冲发送
所有 TIMER 模块均支持脉冲发送功能,可发送指定脉宽的方波。该计数器为向下计数。使用方
式如下:
⚫
⚫
⚫
⚫
针对外部信号输入引脚进行如下操作
◼
配置 PORTCON 模块中使能引脚输出功能
◼
通过 PORT_SEL 寄存器将引脚切换为 TIMER 对应数字功能
TIMER 初始化
◼
指定要被设置的定时器
◼
设置 TIMER 的工作模式为 OC(输出比较)模式
◼
设置定时周期
输出比较功能初始化
◼
指定要被设置的定时器
◼
设置当计数器的值递减到 MATCH 时引脚输出电平翻转
◼
设置初始输出电平
启动定时器
示意图如图 6-15 所示:
320
Version 1.25
SWM341 系列
LDVAL
OCMAT
IF
OCIF
TxO
图 6-22 脉冲发送示意图
中断配置与清除
每路 TIMER 均具备独立中断,通过中断使能寄存器 IE 进行各 TIMER 中断使能。通过中断状态
寄存器 IF 进行中断查询及清除。
可通过配置中断使能寄存器 IEx 使能中断。当 TIMER 计数到 0 时,中断标志寄存器 IFx 置 1。如
需清除此标志,需在标志位中写 1 清零(R/W1C)
,否则中断在开启状态下会一直进入。
321
Version 1.25
SWM341 系列
6.10.5 寄存器映射
名称
偏移
类型
复位值
BTIMER0
BASE:0x40048800
BTIMER1
BASE:0x40048840
BTIMER2
BASE:0x40048880
BTIMER3
BASE:0x400488C0
BTIMER4
BASE:0x40048900
BTIMER5
BASE:0x40048940
BTIMER6
BASE:0x40048980
BTIMER7
BASE:0x400489C0
BTIMER8
BASE:0x40048A00
BTIMER9
BASE:0x40048A40
BTIMER10
BASE:0x40048A80
BTIMER11
BASE:0x40048AC0
描述
LOADx
0x0
RW
0x00
BTIMERx 装载值寄存器
VALUEx
0x4
RO
0xFFFFF
BTIMERx 当前计数值寄存器
CRx
0x8
RW
0x00
TIMERx 控制寄存器
IEx
0xC
RW
0x00
BTIMERx 中断使能寄存器
IFx
0x14
R/W1C
0x00
BTIMERx 中断状态。写 1 清零。
OCCRx
0x1C
R/W
0x00
TIMER 发送脉冲控制信号
OCMATx
0x20
RW
0x00
PWM 输出脉冲第一个反转值
PREDIVx
0x30
RW
0x00
BTIMERx 预分频器装载值寄存器
EN
0x440
R/W
0x00
BTIMER 使能寄存器
322
Version 1.25
SWM341 系列
6.10.6 寄存器描述
装载值寄存器 LOADx
寄存器
偏移
类型
复位值
描述
LOADx
0x0
RW
0x00
BTIMERx 装载值寄存器
30
29
31
28
27
26
25
23
22
21
24
RELOAD
20
19
18
17
16
11
10
9
8
3
2
1
0
LOADx
15
14
13
12
LOADx
7
6
5
4
LOADx
位域
名称
描述
31:25
-
-
24
RELOAD
23:0
LOADx
0:改变值将在下个计数周期(计数到 0 重新装载)生效,不会改变本周期计数值
1:立刻重新装载改变值并计数(RELAOD 位硬件自动清 0)
,当前计数周期被中断
定时器通道 x 的装载值
323
Version 1.25
SWM341 系列
当前值寄存器 VALUEx
寄存器
偏移
类型
复位值
描述
VALUEx
0x4
RO
0xFFFFF
BTIMERx 当前计数值寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
VALUEx
15
14
13
12
VALUEx
7
6
5
4
VALUEx
位域
名称
描述
31:24
-
-
23:0
VALUEx
定时器通道 x 的计数器当前值
324
Version 1.25
SWM341 系列
控制寄存器 CRx
寄存器
偏移
类型
复位值
描述
CRx
0x8
R/W
0x00
TIMERx 控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
MODEx
位域
名称
描述
31:4
-
-
-
定时器工作模式:
3:2
MODEx
00:普通定时器模式
01:输入脉冲测量模式
10:输出 PWM 模式
1:0
-
-
325
Version 1.25
SWM341 系列
中断使能寄存器 IEx
寄存器
偏移
类型
复位值
描述
IEx
0xC
R/W
0x00
BTIMERx 中断使能寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:1
-
-
IE
定时器通道 x 中断使能
0
IE
1:中断使能
0:中断禁能
326
Version 1.25
SWM341 系列
中断状态寄存器 IFx
寄存器
偏移
类型
复位值
描述
IFx
0x14
R,W1C
0x00
BTIMERx 中断状态寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:1
-
-
IF
定时器通道 x 中断状态,写 1 清除中断
0
IF
1:中断已触发
0:中断未触发
327
Version 1.25
SWM341 系列
发送脉冲控制信号寄存器 OCCRx
寄存器
偏移
类型
复位值
描述
OCCRx
0x1C
R/W
0x00
TIMER 发送脉冲控制信号
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
FORCEEN
INITLVL
FORCELVL
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:3
-
-
2
FORCEEN
Force Level,强制输出使能
1
INITLVL
Initial Level,初始输出电平
0
FORCELVL
Force Level,强制输出电平
328
Version 1.25
SWM341 系列
输出脉冲反转值寄存器 OCMATx
寄存器
偏移
类型
复位值
描述
OCMATx
0x20
R/W
0x00
PWM 输出脉冲反转值
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
OCMATx
15
14
13
12
OCMATx
7
6
5
4
OCMATx
位域
名称
描述
31:24
-
-
23:0
OCMATx
PWM 输出脉冲反转值
注:OCMAT = 0,占空比为 0;当 OCMAT > LOAD 时,占空比为 100%;
329
Version 1.25
SWM341 系列
预分频器装载值寄存器 PREDIVx
寄存器
偏移
类型
复位值
描述
PREDIVx
0x30
RW
0x00
BTIMERx 预分频器装载值寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
PREDIVx
位域
名称
描述
31:8
-
定定时器时钟分频
0:1 分频
1:2 分频
7:0
PREDIVx
……
254:255 分频
255:256 分频
注:在级联模式下,除了第一级,其它级的这个字段必须设置为 0
330
Version 1.25
SWM341 系列
使能寄存器 EN
寄存器
偏移
类型
复位值
描述
EN
0x440
R/W
0x00
BTIMER 使能寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
EN11
EN10
EN9
EN8
23
22
21
20
-
15
14
13
12
7
6
5
4
3
2
1
0
EN7
EN6
EN5
EN4
EN3
EN2
EN1
EN0
位域
名称
描述
31:12
-
BTIMER11 使能
11
EN11
1:使能
0:禁能
BTIMER10 使能
10
EN10
1:使能
0:禁能
BTIMER9 使能
9
EN9
1:使能
0:禁能
BTIMER8 使能
8
EN8
1:使能
0:禁能
BTIMER7 使能
7
EN7
1:使能
0:禁能
BTIMER6 使能
6
EN6
1:使能
0:禁能
BTIMER5 使能
5
EN5
1:使能
0:禁能
BTIMER4 使能
4
EN4
1:使能
0:禁能
331
Version 1.25
SWM341 系列
BTIMER3 使能
3
EN3
1:使能
0:禁能
BTIMER2 使能
2
EN2
1:使能
0:禁能
BTIMER1 使能
1
EN1
1:使能
0:禁能
BTIMER0 使能
0
EN0
1:使能
0:禁能
332
Version 1.25
SWM341 系列
6.11 正交编码器(QEI)
6.11.1 概述
SWM341 系列所有型号 QEI 操作均相同。使用前需使能对应 QEI 模块时钟。
正交编码器(增量式编码器或光电式编码器)用于检测旋转运动系统的位置和速度,正交编码器
可以用于多种电机的闭环控制,诸如开关磁阻(SR)电机和交流感应电机(ACM)等。
6.11.2 特性
⚫
可编程输入信号毛刺滤波
⚫
提供脉冲计数和计数方向的正交解码器
⚫
16 位向上/向下计数器
⚫
计数方向状态
⚫
×2 和×4 两种计数模式
⚫
索引复位/计数匹配复位模式
⚫
通用 16 位计数器(正向计数或反向计数)
⚫
QEI 产生的中断
⚫
A 相和 B 相输入的交换模式
333
Version 1.25
SWM341 系列
6.11.3 模块结构框图
dflt_clk
QEA
Frequency
divider of filter
Digital filter
Position
QEB
Digital filter
INDEX
Digital filter
SWPAB
Position & Direction
of rotation/ Timer
timer_dvid_clk
UPDN
QEA
Timer clk ctrl
TQCS
Pclk
图 6-23 QEI 模块结构框图
334
Version 1.25
SWM341 系列
6.11.4 功能描述
功能说明
典型的增量式编码器包括一个放置在电机转动轴上的带有开槽的轮子和一个用于检测开槽
的发射/接收装置,通常有三个输出,分别为 A 相、B 相和索引相(INDXE)
,所提供的信息可被
QEI 接口解码,用来提供电机的运动信息,包括旋转距离和旋转方向,编码盘的示意图如图 6-24
所示。
索引相
A相
B相
图 6-24 增量式正交编码盘示意图
时序说明
在正交编码器中 A 相(QEA)和 B 相(QEB)的位置关系是唯一的,如果 A 相超前 B 相,那
么电机的旋转方向被认为是正向,反之则被认为是反向旋转,索引相作为基准来确定电机的绝对
位置,电机每旋转一圈产生一个索引相脉冲信号,电机旋转时三个信号的相关时序如图 6-25 所
示。
335
Version 1.25
SWM341 系列
one cycle
QEA
正向
旋转
QEB
INDEX
01 00 10 11
QEA
反向
旋转
QEB
INDEX
11 10 00 01
图 6-25 三相信号正向/反向旋转时序关系
正交解码器
正交解码器的工作过程如图 6-26 和图 6-27 所示:
如图 6-26 中正交解码器工作在 x4 计数模式下,在 QEA、QEB 的上升沿和下降沿处都会计数。
计数的方向由正反转状态 UPDN 决定:
⚫
当 UPDN 为高电平时,表示电机正转,计数器在每个计数脉冲到来时累加计数结果;
⚫
当 UPDN 为低电平时,表示电机反转,计数器在每个计数脉冲到来时递减。
在电机换向旋转时若产生抖动(在图 6-26 中 jitter 为抖动部分)
,QEI 模块会根据检测到的计数
脉冲情况判断是否产生抖动,在电机抖动的情况下,计数器不工作,直到电机恢复稳定状态为止。
336
Version 1.25
SWM341 系列
jitter
QEA
QEB
PULS
POSCNT
UPDN
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
图 6-26 正交编码器 x4 计数模式示意图
如图 6-27 所示:正交编码器工作在 x2 计数模式下,在该模式下,计数脉冲只在 QEA 的上升沿
和下降沿处产生,QEB 只被用来判断旋转方向。
QEA
QEB
PULS
POSCNT
UPDN
+
+
+
+
+
-
-
-
-
图 6-27 正交编码器 x2 计数模式示意图
计数器复位模式
在 QEI 模块中支持两种复位模式:索引复位和计数匹配复位。
索引复位
索引复位的方式如图 6-28 所示,在 INDEX 信号到来时,QEI 计数器复位,旋转方向不变时计数
器每次都将在索引信号的同一位置发生复位,正向旋转和反向旋转时的复位位置相对称,将 QEI
模块配置在索引复位模式下,QEI 模块将会自动检测 INDEX 信号和电机正转/反转时索引信号的
复位位置。
337
Version 1.25
SWM341 系列
QEA
QEB
INDEX
11 10 00
10 11 01
复位
复位
图 6-28 QEI 计数器索引复位模式
匹配复位
计数匹配复位发生在计数器的累加值与预置的目标计数值相等时发生。
在电机正向旋转时,计数器的累加值与最大计数值相等时发生复位,复位后计数器的值被置 0;
在电机反向旋转时,计数器的累加值在等于零时发生复位,复位后计数器的值被复位为预置的最
大计数值,计数匹配复位方式如图 6-29 所示。
QEA
QEB
INDEX
CNT
+
+
+
M
0
+
-
不复位
0
M
-
复位
复位
不复位
图 6-29 计数匹配复位模式
配置方式
配置方式如下:
⚫
通过 PORTX_SEL 寄存器将引脚切换为 QEI 对应数字功能,并使能数字输入
⚫
配置 QEI 工作模式(X2、X4)
、最大计数值、复位源等设置
⚫
若需要使用中断,使能 QEI 相应中断
⚫
启动 QEI,开始计数
⚫
定时读取 QEI 位置计数器和最大值计数器,从而计算电机的转动方向和速度
338
Version 1.25
SWM341 系列
中断配置与清除
可通过配置 IE 寄存器设置 QEI 模块对应的中断,如需清除相应的中断标志,需在 IC 寄存器相应
位中将中断状态写 1 清零(R/W1C)
。
339
Version 1.25
SWM341 系列
6.11.5 寄存器映射
下表列出了 QEI 模块的相关寄存器,所列偏移量为寄存器相对于 QEI 模块基址的 16 进制增量:
名称
QEI
偏移
类型
复位值
描述
BASE:0x4004C800
CR
0x00
R/W
0x00
控制/状态寄存器
POSCNT
0x04
RO
0x00
位置计数器寄存器
MAXCNT
0x08
R/W
0x00
最大计数值寄存器
IE
0x20
R/W
0x00
中断使能寄存器
IM
0x24
R/W
0x00
中断状态屏蔽寄存器
IC
0x28
R/W
0x00
清除中断状态寄存器
IF
0x2C
RO
0x00
中断状态寄存器
IFOV
0x30
RO
0x00
中断溢出寄存器
340
Version 1.25
SWM341 系列
6.11.6 寄存器描述
控制/状态寄存器 CR
寄存器
偏移
类型
复位值
描述
CR
0x00
R/W
0x00
控制/状态寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
PAUSE
INDEX
-
2
1
0
23
22
21
20
-
15
14
13
12
7
6
5
4
MODE
RSTSRC
X2X4
ABSWAP
位域
名称
描述
31:11
-
-
3
-
ENA
空闲模式停止位
10
PAUSE
1:模块暂停工作
0:模块继续工作
索引信号状态位(写无效)
9
INDEX
1:索引引脚为高电平
0:索引引脚为低电平
8
-
工作模式选择位
7
MODE
1:QEI 解码器模式
0:保留
计数器复位模式选择位
6
RSTSRC
1:索引信号复位
0:计数匹配复位
QEI 计数模式选择位
5
X2X4
1:X4 计数模式
0:X2 计数模式
B 换向选择位
4
ABSWAP
1:A、B 换向
0:A、B 未换向
3:1
341
Version 1.25
SWM341 系列
QEI 模块使能
0
ENA
1:使能
0:禁能
342
Version 1.25
SWM341 系列
位置计数器寄存器 POSCNT
寄存器
偏移
类型
复位值
描述
POSCNT
0x04
RO
0x00
位置计数器寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
POSCNT
7
6
5
4
POSCNT
位域
名称
描述
31:16
-
-
15:0
POSCNT
位置计数器状态
343
Version 1.25
SWM341 系列
最大计数值寄存器 MAXCNT
寄存器
偏移
类型
复位值
描述
MAXCNT
0x08
R/W
0x00
最大计数值寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
MAXCNT
7
6
5
4
MAXCNT
位域
名称
描述
31:16
-
-
15:0
MAXCNT
最大计数值
344
Version 1.25
SWM341 系列
中断使能寄存器 IE
寄存器
偏移
类型
复位值
描述
IE
0x20
R/W
0x00
中断使能寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
ERROR
CNTOV
MATCH
INDEX
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:4
-
计数错误中断使能标志位
3
ERROR
1:使能
0:禁能
计数器溢出中断使能标志位
2
CNTOV
1:使能
0:禁能
计数匹配中断使能标志位
1
MATCH
1:使能
0:禁能
索引信号复位中断使能使能标志位
0
INDEX
1:使能
0:禁能
345
Version 1.25
SWM341 系列
中断状态屏蔽寄存器 IM
寄存器
偏移
类型
复位值
描述
IM
0x24
R/W
0x00
中断状态屏蔽寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
ERROR
CNTOV
MATCH
INDEX
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:4
-
屏蔽计数错误中断标志位
3
ERROR
1:未屏蔽
0:已屏蔽
屏蔽计数器溢出中断标志位
2
CNTOV
1:未屏蔽
0:已屏蔽
屏蔽计数匹配中断标志位
1
MATCH
1:未屏蔽
0:已屏蔽
屏蔽索引信号复位中断标志位
0
INDEX
1:未屏蔽
0:已屏蔽
346
Version 1.25
SWM341 系列
清除中断状态寄存器 IC
寄存器
偏移
类型
复位值
描述
IC
0x28
R/W
0x00
清除中断状态寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
ERROR
CNTOV
MATCH
INDEX
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:4
-
清除计数错误中断标志位
3
ERROR
1:清除
0:未清除
清除计数器溢出中断标志位
2
CNTOV
1:清除
0:未清除
清除计数匹配中断标志位
1
MATCH
1:清除
0:未清除
清除索引信号复位中断标志位
0
INDEX
1:清除
0:未清除
347
Version 1.25
SWM341 系列
中断状态寄存器 IF
寄存器
偏移
类型
复位值
描述
IF
0x2C
RO
0x00
中断状态寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
ERROR
CNTOV
MATCH
INDEX
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:4
-
计数错误中断标志位
3
ERROR
1: 有错误
0:无错误
计数器溢出中断标志位
2
CNTOV
1:已溢出
0:未溢出
计数匹配中断标志位
1
MATCH
1:计数匹配
0:计数未匹配
索引信号复位中断标志位
0
INDEX
1:以复位
0:未复位
348
Version 1.25
SWM341 系列
中断溢出寄存器 IFOV
寄存器
偏移
类型
复位值
描述
IFOV
0x30
RO
0x00
中断溢出寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
ERROR
CNTOV
MATCH
INDEX
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:4
-
计数错误中断溢出标志位
3
ERROR
1:溢出
0:未溢出
计数器溢出中断溢出标志位
2
CNTOV
1:溢出
0:未溢出
计数匹配中断溢出标志位
1
MATCH
1:溢出
0:未溢出
索引信号复位中断溢出标志位
0
INDEX
1:溢出
0:未溢出
349
Version 1.25
SWM341 系列
6.12 看门狗定时器(WDT)
6.12.1 概述
SWM341 系列所有型号 WDT 操作均相同。使用前需使能对应 WDT 模块时钟。
看门狗定时器(WDT)主要用于控制程序流程正确,在程序流长时间未按既定流程执行指定程
序的情况下复位芯片。
6.12.2 特性
⚫
产生计数器溢出复位信号,复位信号使能可配
⚫
具有 16 位计数位宽
◼
4-bit 预分频
⚫
可配置灵活、宽范围的溢出周期
⚫
具有中断功能
350
Version 1.25
SWM341 系列
6.12.3 模块结构框图
0
FEED
WDTEN
PCLK
16-bit Up
Counter
RSTEN
Reset
=
RSTV
INTEN
IRQ
=
INTV
图 6-30 WDT 模块结构框图
351
Version 1.25
SWM341 系列
6.12.4 功能描述
配置方式
看门狗定时器(WDT)主要用于控制程序流程正确,在程序流程时间未按既定流程执行指定程
序的情况下复位芯片。
看门狗发生中断及复位与计数值之间的关系示意图如图 6-31 所示:
counter
wdtrstvalue
wdtintvalue
该区域内喂
狗将发生
WDT复位
发生WDT中断
发生WDT复位
图 6-31 门狗发生中断及复位与计数值之间的关系示意图
配置方式如下:
⚫
配置复位值寄存器 RETVAL,设置复位值,WDT 为递增计数
⚫
配置控制寄存器 CR 中 RSTEN 位,设置以系统时钟为单位递增时产生中断或产生复位
⚫
将控制寄存器 CR 中 EN 位置 1,使能 WDT 模块
⚫
程序执行过程中通过向 FEED 寄存器写入 0x55 喂狗,重启计数
⚫
若当 VALUE 寄存器加至 RETVAL,依然未执行喂狗操作,则根据 CR 寄存器设置,产生
中断或复位信号
工作示意图如图 6-32 所示:
352
Version 1.25
SWM341 系列
RSTV
INTV
Feed
IRQ
Reset
图 6-32 WDT 工作示意图
控制寄存器 CR 中 RSTEN 位配置为复位使能时,使能后波形如图 6-33 所示:
CLK
RSTVAL
VAL
0
1
N-4
N-3
N-2
N-1
N
0
0
0
0
0
0
IF
T_rst
RST
图 6-33 WDT 配置为 RESET 模式波形图
控制寄存器 CR 中 RSTEN 位配置为复位失能时,使能后波形如图 6-34 所示,中断产生后,通过
IF 寄存器进行清除。
CLK
INTVAL
VAL
0
1
N-4
N-3
N-2
N-1
N
0
1
N-2
N-1
N
T_int
IF
RST
图 6-34 WDT 配置为中断模式波形图
353
Version 1.25
SWM341 系列
中断配置与清除
可通过配置 WDT 控制寄存器 CR 设置以系统时钟为单位递增时产生中断,
并使能中断,
启动 WDT,
当 VALUE 寄存器加至 RETVAL,依然未执行喂狗操作时,中断标志寄存器 IF 位置 1。如需清除
此标志,需在标志位中写 1 清零(R/W1C)
,否则中断在开启状态下会一直进入。
354
Version 1.25
SWM341 系列
6.12.5 存器映射
下表列出了 WDT 模块的相关寄存器,
所列偏移量为寄存器相对于 WDT 模块基址的 16 进制增量:
名称
WDT
偏移
类型
复位值
描述
BASE:0x400A0800
RSTVAL
0x00
R/W
0xFFFF
WDT 复位值寄存器
INTVAL
0x04
R/W
0xFFFF
WDT 中断值寄存器
CR
0x08
R/W
0x00
WDT 控制寄存器
IF
0x0C
R/W
0x00
WDT 中断状态寄存器
FEED
0x10
WO
0x00
WDT 重启计数器寄存器
355
Version 1.25
SWM341 系列
6.12.6 寄存器描述
WDT 复位值寄存器 RSTVAL
寄存器
偏移
类型
复位值
描述
RSTVAL
0x00
R/W
0xFFFF
WDT 复位值寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
RSTVAL
7
6
5
4
RSTVAL
位域
名称
描述
31:16
-
WDT 计数器的复位计数初始值。
15:0
RSTVAL
当 WDT 计数值计数到该寄存器设置值时,产生复位。
使能后配置无效
356
Version 1.25
SWM341 系列
WDT 中断值寄存器 INTVAL
寄存器
偏移
类型
复位值
描述
INTVAL
0x04
R/W
0xFFFFFFFF
WDT 中断值寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
INTVAL
7
6
5
4
INTVAL
位域
名称
描述
31:16
-
WDT 计数器中断目标值
当 WDT 计数值递增计数到该寄存器设置值时,产生中断
产生中断后,若未设置复位值则重新归 0 计数,若设置复位值,则继续计数直至复
15:0
INTVAL
位
当中断与复位同时使用时,INTVAL 需要小于 RSTVAL,产生中断后,若未执行喂狗操
作,则计数器继续计数,直至产生复位
使能后配置无效
357
Version 1.25
SWM341 系列
WDT 控制寄存器 CR
寄存器
偏移
类型
复位值
描述
CR
0x08
R/W
0x00
WDT 控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
23
22
21
20
-
15
14
13
12
7
6
CLKDIV
5
4
-
位域
名称
描述
31:12
-
-
3
2
1
0
WINEN
INTEN
RSTEN
EN
看门狗计数时钟预分频寄存器
0000:2
0001:4
0010:8
0011:16
0100:32
0101:64
0110:128
11:8
CLKDIV
0111:256
1000:512
1001:1024
1010:2048
1011:4096
1100:8192
1101:16384
1110:32768
1111:65536
7:4
-
WDT 窗口功能使能
3
WINEN
1:使能窗口功能
0:禁止窗口功能
WDT 中断输出使能位
2
INTEN
1:使能中断
0:禁止中断
358
Version 1.25
SWM341 系列
WDT 复位输出使能位
1
RSTEN
1:使能复位
0:禁止复位
WDT 启动位
0
EN
1:启动 WDT 计数
0:停止计数
359
Version 1.25
SWM341 系列
WDT 中断状态寄存器 IF
寄存器
偏移
类型
复位值
描述
IF
0x0C
R/W
0x00
WDT 中断状态寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
IF
-
位域
名称
描述
31:1
-
-
0
IF
WDT 中断位,高有效,R/W1C
硬件置位,写 1 清零
360
Version 1.25
SWM341 系列
WDT 重启寄存器 FEED
寄存器
偏移
类型
复位值
描述
FEED
0x10
WO
0x00
WDT 重启计数器寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
FEED
位域
名称
描述
31:8
-
-
7:0
FEED
看门狗重启计数器寄存器
当向该寄存器写入 0x55 后会重启看门狗计数器(喂狗操作)
361
Version 1.25
SWM341 系列
6.13 实时时钟(RTC)
6.13.1 概述
使用前需使能 RTC 模块时钟。RTC 控制器用于提供给用户实时的时间信息与日期信息。
6.13.2 特性
⚫
可自由设置日期(年、月、周、日)和时间(时、分、秒)
⚫
可自由设置闹钟(周、时、分、秒)
⚫
自动识别当前设置年份是否为闰年
⚫
支持 RTC 时钟校正功能
⚫
支持 RTC 中断从 SLEEP 模式下唤醒芯片
362
Version 1.25
SWM341 系列
6.13.3 模块结构框图
LRC32K
IF
XTAL32K
SEC
MIN
HOUR
DATE
Counter
MINSEC
DATHUR
CLKSEL.RTC
MONDAY
TRIM
IRQ
YEAR
=
ALARM
MINSECAL
DAYHURAL
图 6-35 RTC 模块结构框图
363
Version 1.25
SWM341 系列
6.13.4 功能描述
使用 RTC 前,需进行如下操作:
⚫
配置前,通过寄存器 EN 禁能 RTC;
⚫
读取配置状态寄存器 CFGABLE,当该寄存器 = 1 时,分别通过寄存器 MINSEC、DATHUR、
MONDAY、YEAR 配置 RTC 的初始计数值 ,通过寄存器 MINSECAL、DATHURAL 设置 RTC
闹钟时间;
⚫
通过寄存器 LOAD 加载各项初始值;
⚫
用户根据需要,通过寄存器 IE 使能天/时/分/秒等中断或闹钟中断;
⚫
通过寄存器 EN 使能 RTC;
⚫
若使能了天/时/分/秒等中断,计数到规定时间后进入中断;若使能了闹钟中断,计数
到闹钟设定时间后将芯片从休眠状态唤醒(进入闹钟中断前芯片需处于休眠状态)。
RTC 唤醒
浅睡眠模式下,通过 SYSCON 模块中 RTCWKSR 寄存器及 RTCWKCR 寄存器进行定时器唤醒操作。
在 sleep 之前,需要将时钟切换为内部高频。
流程如下:
⚫
关闭所有不需要唤醒功能的 IO 输入使能(PORTCON 模块中 INEN_x 寄存器)
⚫
配置 RTC 时钟源及唤醒时间
⚫
使能唤醒源,设置 RTCWKCR 寄存器 EN 位为 1 (使能前需通过写 1 清除 TWGFLG 寄存器
FLAG 位)
⚫
使能 RTC,RTC 开始计数
⚫
SLEEP 寄存器 SLLEP 置 1 后,芯片进入浅睡眠模式,RTC 计到设置值后唤醒芯片
⚫
唤醒后,RTCWKSR 寄存器 FLAG 位为 1(可通过对该位写 1 进行清除)
时钟源
RTC 时钟源可选择片外低频晶体振荡器(32.768KHz)或内部低频 RC 振荡器(32KHz)两个时钟
源,可通过 SYSCON 模块中 CLKSET 寄存器中 RCT(32K 时钟选择)设置 RTC 时钟源。
中断配置与清除
可通过配置中断使能寄存器 IE 相应位使能中断。当计数到设定时间时,中断标志寄存器 IF 对应
位置 1。如需清除此标志,需在对应标志位中写 1 清零(R/W1C)
,否则中断在开启状态下会一
直进入。
364
Version 1.25
SWM341 系列
6.13.5 寄存器映射
名称
RTC
偏移
类型
复位值
描述
BASE:0x4004B800
MINSEC
0x00
R/W
0x00
分秒计数寄存器
DATHUR
0x04
R/W
0x20
日时计数寄存器
MONDAY
0x08
R/W
0x08
月周计数寄存器
YEAR
0x0C
R/W
0x7df
年计数寄存器
MINSECAL
0x10
R/W
0x00
分秒闹铃设置寄存器
DAYHURAL
0x14
R/W
0x00
周时闹铃设置寄存器
LOAD
0x18
0x00
初始化计数器
IE
0x1C
R/W
0x00
中断使能寄存器
IF
0x20
R/W1C
0x00
中断标志寄存器
EN
0x24
R/W
0x01
RTC 使能寄存器
CFGABLE
0x28
RO
0x00
配置状态寄存器
TRIM
0x2C
RW
0x0
时钟调整寄存器
TRIMM
0x30
RW
0x0
时钟微调整寄存器
R/W,
AC
365
Version 1.25
SWM341 系列
6.13.6 寄存器描述
分秒计数寄存器 MINSEC
寄存器
偏移
类型
复位值
描述
MINSEC
0x00
R/W
0x00
分秒计数寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
1
0
23
22
21
20
-
15
14
13
12
7
6
MIN
5
4
3
MIN
2
SEC
位域
名称
描述
31:12
-
-
11:6
MIN
计时器分钟计数
5:0
SEC
计时器秒计数
366
Version 1.25
SWM341 系列
日时计数寄存器 DATHUR
寄存器
偏移
类型
复位值
描述
DATHUR
0x04
R/W
0x20
日时计数寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
23
22
21
20
-
15
14
13
12
-
7
6
5
DATE
4
3
DATE
2
1
0
HOUR
位域
名称
描述
31:10
-
-
9:5
DATE
计时器天计数
4:0
HOUR
计时器小时计数
367
Version 1.25
SWM341 系列
月周计数寄存器 MONDAY
寄存器
偏移
类型
复位值
描述
MONDAY
0x08
R/W
0x08
月周计数寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
-
4
MON
位域
名称
描述
31:7
-
-
DAY
计时器月计数
0000:保留
0001:1 月
0010:2 月
0011:3 月
0100:4 月
0101:5 月
0110:6 月
6:3
MON
0111:7 月
1000:8 月
1001:9 月
1010:10 月
1011:11 月
1100:12 月
1101:保留
1110:保留
1111:保留
计时器周计数
000:周日
001:周一
2:0
DAY
010:周二
011:周三
100:周四
101:周五
110:周六
368
Version 1.25
SWM341 系列
369
Version 1.25
SWM341 系列
年计数寄存器 YEAR
寄存器
偏移
类型
复位值
描述
YEAR
0x0C
R/W
0x7df
年计数寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
1
0
23
22
21
20
-
15
14
13
12
7
6
YEAR
5
4
3
2
YEAR
位域
名称
描述
31:12
-
-
11:0
YEAR
计时器年计数。支持 1901-2199
370
Version 1.25
SWM341 系列
分秒闹铃设置寄存器 MINSECAL
寄存器
偏移
类型
复位值
描述
MINSECAL
0x10
R/W
0x00
分秒闹铃设置寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
1
0
23
22
21
20
-
15
14
13
12
7
6
MIN
5
4
3
MIN
2
SEC
位域
名称
描述
31:12
-
-
11:6
MIN
定时器分钟设置
5:0
SEC
定时器秒设置
371
Version 1.25
SWM341 系列
周时闹铃设置寄存器 DATHURAL
寄存器
偏移
类型
复位值
描述
DAYHURAL
0x14
R/W
0x00
周时闹铃设置寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
SAT
FRI
THU
WED
3
2
1
0
23
22
21
20
-
15
14
13
12
7
6
5
TUE
MON
SUN
4
HOUR
位域
名称
描述
31:12
-
-
11
SAT
定时器周设置,设置为周六
10
FRI
定时器周设置,设置为周五
9
THU
定时器周设置,设置为周四
8
WED
定时器周设置,设置为周三
7
TUE
定时器周设置,设置为周二
6
MON
定时器周设置,设置为周一
5
SUN
定时器周设置,设置为周日
4:0
HOUR
定时器小时设置
372
Version 1.25
SWM341 系列
初始化寄存器 LOAD
寄存器
偏移
LOAD
0x18
31
30
类型
R/W,
AC
复位值
描述
0x00
初始化计数器
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
Load_alarm
LOAD
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:1
-
-
1
Load_alarm
0
LOAD
将 MISEAL 和 WEHOAL 寄存器装载到 alarm 同步寄存器,持续到 rtcclk 的上升沿来临,
自动清零
将 MINSEC、DATHUR、MONDAY、YEAR 的值装载到相关 cnt 计数器,将 TRIM 和 TRIMM
的值装载到 basecnt 中,持续到 rtcclk 的上升沿来临,自动清零
注:
需要在 MINSEC、DATHUR、MONDAY、YEAR、TRIM 和 TRIMM 配置完成后,再配置 load 信号;
需要在 MINSECAL 和 DATHURAL 配置完成后,再配置 load_alarm 信号。
若配置 LOAD 之后,需要关闭 pclk,则只需要等待 LOAD=0 之后,再关闭 pclk。
373
Version 1.25
SWM341 系列
中断使能寄存器 IE
寄存器
偏移
类型
复位值
描述
IE
0x1C
R/W
0x00
中断使能寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
23
22
21
20
-
15
14
13
12
-
7
6
5
4
3
2
1
0
QUARSE
HALFSE
CALIB
ALARM
DATE
HOUR
MIN
SEC
位域
名称
描述
31:8
-
四分之一秒中断使能
7
QUARSE
1:使能
0:禁能
半秒中断使能
6
HALFSE
1:使能
0:禁能
Rtc_calib 中断使能
5
CALIB
1:使能
0:禁能
闹钟中断使能
4
ALARM
1:使能
0:禁能
天中断使能
3
DATE
1:使能
0:禁能
小时中断使能
2
HOUR
1:使能
0:禁能
分钟中断使能
1
MIN
1:使能
0:禁能
秒中断使能
0
SEC
1:使能
0:禁能
374
Version 1.25
SWM341 系列
中断标志寄存器 IF
寄存器
偏移
类型
复位值
描述
IF
0x20
R/W1C
0x00
中断标志寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
23
22
21
20
-
15
14
13
12
-
7
6
5
4
3
2
1
0
QUARSE
HALFSE
CALIB
ALARM
DATE
HOUR
MIN
SEC
位域
名称
描述
31:8
-
四分之一秒中断状态,写 1 清零
7
QUARSE
1:中断已发生
0:中断未发生
半秒中断状态,写 1 清零
6
HALFSE
1:中断已发生
0:中断未发生
rtc 校正中断 写 1 清零
5
CALIB
1:中断已发生
0:中断未发生
闹钟中断状态,写 1 清零
4
ALARM
1:中断已发生
0:中断未发生
天中断状态,写 1 清零
3
DATE
1:中断已发生
0:中断未发生
小时中断状态,写 1 清零
2
HOUR
1:中断已发生
0:中断未发生
分钟中断状态,写 1 清零
1
MIN
1:中断已发生
0:中断未发生
秒中断状态,写 1 清零
0
SEC
1:中断已发生
0:中断未发生
375
Version 1.25
SWM341 系列
RTC 使能寄存器 EN
寄存器
偏移
类型
复位值
描述
EN
0x24
R/W
0x01
RTC 使能寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:1
-
-
EN
RTC 使能寄存器
0
EN
1:使能
0:禁能
376
Version 1.25
SWM341 系列
配置状态寄存器 CFGABLE
寄存器
偏移
类型
复位值
描述
CFGABLE
0x28
RO
0x00
配置状态寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
位域
名称
描述
31:1
-
-
CFGABLE
寄存器可配置指示。
0
CFGABLE
如果需要更改 RTC 的寄存器时,必须先查询此寄存器,当 CFGABLE 为 1 时,尽快配
置完所有的寄存器(IE 和 IF 的配置不需要关注这一位)
377
Version 1.25
SWM341 系列
时钟调整寄存器 TRIM
寄存器
偏移
类型
复位值
描述
TRIM
0x2C
RW
0x0
时钟调整寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
23
22
21
20
-
15
14
13
12
-
7
6
5
DEC
4
3
2
1
0
ADJ
位域
名称
描述
31:9
-
-
8
DEC
用于调整 BASECNT 的计数周期,默认为 32768,如果 DEC 为 1,则计数周期调整为
7:0
ADJ
32768-ADJ,否则调整为 32768+ADJ
378
Version 1.25
SWM341 系列
时钟微调整寄存器 TRIMM
寄存器
偏移
类型
复位值
描述
TRIMM
0x30
RW
0x0
时钟微调整寄存器
31
30
29
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
23
22
21
20
-
15
14
13
12
-
7
6
5
4
-
inrc
cycles
位域
名称
描述
31:4
-
-
3
inrc
用于计数周期微调整(n 个周期调整一次)
,如果 inrc 为 1 ,则第 n 个计数
2:0
cycles
周期调整为(32768±ADJ)-1,否则调整为(32768±ADJ)+1;(cycles=0 时,不进行微调整;
cycles=1,则 n 为 2;cycles=7,则 n 为 8;以此类推)
379
Version 1.25
SWM341 系列
目标值寄存器 CALIBREFCNT
寄存器
偏移
类型
复位值
描述
CALIBREFCNT
0X60
RW
0X0
Refclk 时钟下 cnt_ref_target
31
30
29
28
27
26
25
24
22
21
20
19
18
17
16
23
-
CALIBREFCNT
15
14
13
12
11
10
9
8
6
5
4
3
2
1
0
CALIBREFCNT
7
CALIBREFCNT
位域
名称
描述
31:21
-
-
20:0
CALIBREFCNT
参考时钟下,cnt_ref 计时 500ms,应计目标值
380
Version 1.25
SWM341 系列
6.14 UART 接口控制器(UART)
6.14.1 概述
不同型号具备 UART 数量可能不同。使用前需使能对应 UART 模块时钟。
UART 模块支持波特率配置,最高速度可达到模块时钟 16 分频。具备深度为 8 的 FIFO,同时提
供了多种中断供选择。
6.14.2 特性
⚫
支持标准的 UART 协议
⚫
支持全双工模式
⚫
支持波特率可配置
⚫
支持 8 位/9 位数据格式选择
⚫
可配置的奇偶校验位
⚫
支持 1 位/2 位停止位选择
⚫
支持波特率自动调整
⚫
深度为 8 字节的发送和接收 FIFO
⚫
支持 break 操作自动检测
⚫
支持接收超时中断
⚫
支持 LIN 模式
⚫
支持发送/接收数据 LSB/MSB 选择
⚫
支持发送/接收数据电平反向
381
Version 1.25
SWM341 系列
6.14.3 模块结构框图
APB总线
写UARTxDATA
读UARTxDATA
UARTxDATA
8级深度
TX FIFO
8级深度
RX FIFO
FIFO水
位检测
发送完成
TX移位寄存器
接收完成
RX移位寄存器
RXD
RTS
CTS
TXD
PCLK
/16
/BAUD
EN
图 6-36 UART 模块结构图
382
Version 1.25
SWM341 系列
6.14.4 功能描述
数据格式及波特率配置
数据位
可以通过 CTRL 寄存器的 NINEBIT 位选择支持 9 位数据模式。该位默认为 8 位数据模式。
奇偶校验位
CTRL 寄存器 PAREN 位使能奇偶校验,PARMD 位选择奇偶校验模式,分别有奇校验、偶校验、
常 1、常 0 等四种校验格式,根据需求可以灵活选择配置具体如下表:
校验类型
CTRL[21]
CTRL[20]
CTRL[19]
无校验
x
x
0
奇校验
0
0
1
偶校验
0
1
1
校验位常为 1
1
0
1
校验位常为 0
1
1
1
停止位
停止位位数默认为 1 位,可通过向 CTRL 寄存器 STOPMD 选择停止位位数为 2 位。
字符格式如图 6-37 所示:
(IDLE)
St
0
1
2
3
4
5
6
7
[8]
[P]
Sp1 [Sp2]
St/IDL
图 6-37 UART 字符格式
使能波特率配置后,对 BAUD 寄存器 BAUD 位写入特定值,配置波特率。配置方式如下:
目标波特率 = 系统主时钟 / (BAUD.BAUD *16 +BAUD.FRAC + 1)
在配置 BAUD 寄存器 BAUD 位后,可通过 BAUD 寄存器 FRAC 位进行波特率微调,使波特率的误
差在 5%以内,提高波特率精度。
波特率配置完成后,需将 CTRL 寄存器 EN 位使能,使能 UART 模块,使波特率配置生效。
自动波特率功能
UART 自动波特率功能可以自动测量 UART_RX 脚输入数据的波特率。当自动波特率测量完成后,
测量的结果保存在 BAUD 寄存器的 BAUD 位。
自动波特率的检测时间,从 UART_RX 数据的起始位到第一个上升沿的时间,通过配置 BAUD 寄
存器 ABRBIT 位设定即 2 ABRDBITS 位时间。配置 BAUD 寄存器 ABREN 位,使能自动波特率检测功
能。初始阶段,RXD 保持为 1,一旦检测到下降沿,即为接收到起始位,自动波特率计数器开始
计数,当检测到第一个上升沿时,自动波特率计数器停止计数。
383
Version 1.25
SWM341 系列
自动波特率计数值除以检测时间长度的结果保存在 BAUD 位,ABREN 位清零。
当自动波特率计数器溢出,BAUD 寄存器的 ABRERR 置 1,调节失败,写 1 清零。
配置流程:
⚫
选择检测时间的长度,配置 BAUD 寄存器 ABRBIT 位
⚫
配置 BAUD 寄存器 ABREN 位,使能自动波特率检测功能
⚫
等待接收调节的数据,查看 BAUD 寄存器 ABREN 位,清零表示波特率检测完成
⚫
查看 BAUD 寄存器 ABRERR 位,查看自动调节波特率时计数器是否溢出
⚫
如果数据未溢出,则表示成功
n=11
n=10
n=01
n=00
RX_PIN
start
autobaud_count
bit0
bit1 bit2
bit3
0 1 2 3 .... .... ..
bit4
bit5
bit6
bit7
parity stop
.. .. ........ ...... ....
m
autobaud_en
flexbaud
Old baud
m÷2^n
图 6-38 自动波特率示意图
FIFO 及中断设置
UART 模块包含深度为 8 的接收 FIFO 及发送 FIFO,同时提供了与 FIFO 相配合的状态位中断,
供操作中使用。使用方式如下:
⚫
通过 FIFO 寄存器配置中断触发条件,并获取 FIFO 内部数据数量
◼
TXTHR 位设置发送 FIFO 阈值,当 TXFIFO 中数据量不超过设置值时,触发中断。当
TXTHR 位配置为 0 且使能 CTRL 中 TXIE 发送端 FIFO 中断时,UART 使能后即触发发
送中断
◼
RXTHR 位设置接收 FIFO 阈值,当 RXFIFO 中数据量不小于设置值时,触发中断。当
RXTHR 位配置为 0 且使能 CTRL 中 RXIE 发送端 FIFO 中断时,UART 使能后接收到 1
个数据值即触发接收中断
⚫
通过 CTRL 寄存器 RXIE 位及 TXIE 位,使能 FIFO 中断
⚫
通过查询 BAUD 寄存器 RXTHRF 或 TXTHRF 位获取 FIFO 状态
384
Version 1.25
SWM341 系列
数据发送及接收
将 CTRL 寄存器 EN 位置使能后,使能 UART 模块
对于发送操作:
⚫
向 DATA 寄存器写入数据,数据发送至 UART_TX 线
⚫
通过读取 CTRL 寄存器 TXIDLE 位状态,获取当前发送状态
⚫
可通过读取 BAUD 寄存器 TXD 位,获取当前 TX 线实时状态
对于接收操作
⚫
通过判断 DATA 寄存器中 VAILD 位,判断是否接收到有效数据
⚫
读取 DATA 寄存器,可获得 UART_RX 线接收的数据
⚫
可通过读取 BAUD 寄存器 RXD 位,获取当前 RX 线实时状态
⚫
可设置接收超时中断。使能后,当接收相邻两个数据间隔时长超过设置时长时,将触
发中断
电平反向
通过设置 CFG 寄存器的 TXINV 位及 RXINV 位,分别对 TX 和 RX 线设置取反,设置后电平立刻
生效
大小端控制
通过 CFG 寄存器的 MSBF 位进行配置,设置数据传输是从高位(MSB)开始传输还是从低位(LSB)
开始传输。
BRKDET LIN Fram
UART 支持 LIN 功能。在主机模式下,支持 LIN_BREAK 产生,在从机模式下,支持 LIN_BREAK
检测。报文是以报文帧的格式传输和发送。报文帧由主机节点发送的报文头和从机发送的应答组
成。报文帧的报头包括 break 域,同步域和帧识别码(帧 ID)
。帧 ID 仅作为定义帧的用途,从
机负责响应相关的帧 ID,响应由数据域和校验域组成。
Frame slot
Frame
Header
Break
Field
Synch
Field
Response
space
Protected
Identifier
Data1
Response
Data2
Data N
Check
Sum
图 6-39 LIN Fram 示意图
385
Version 1.25
SWM341 系列
当使用 LIN Fram 时,可通过 LINCR 寄存器进行相关设置。
发送操作:
与正常的 UART 发送相比,选用 LIN Fram 发送时,除了基本操作步骤外,还需:
⚫
通过 LINCR 寄存器将 GENBRK 位置 1,拉低 TX 线。该位保持为 1 时,TX 将持续保持低
电平,直至该位清除
⚫
通过 LINCR 寄存器将 GENBRKIE 位置 1,使能 Break 信号发送完成中断
⚫
设置 LINCR 寄存器 GENBRK,发送 Break 信号至总线
⚫
Break 信号发送完成后,中断产生,LINCR 寄存器 GENBRKIF 位置 1。可通过读此寄存器
判断是否发送完成
注意:发送 BREAK 信号时,向 DATA 寄存器写入数据,数据同样会执行发送操作,但数据电平
不会体现到 TX 线上,除非发送数据期间清除 CTRL 寄存器 GENBRK 位。
接收操作:
与正常的 UART 接收相比,选用 LIN Fram 接收时,除了基本操作步骤外,还需:
⚫
通过 LINCR 寄存器将 BRKIE 位置 1,使能检测到 Break 信号中断
⚫
设置 LINCR 寄存器 BRKIE 位及 BRKDET 位,当 RX 线接收到 Break 信号时,将触发中断
⚫
检测到 Break 信号并产生中断后,LINCR 寄存器 BRKDETIE 位置 1。可通过读此寄存器判
断是否检测到 Break 信号
当 Break 信号不够长时,丢弃 Break,BRKDETIF 不置 1,如图 6-40 所示:
RX
Break State
idle
bit0
bit1
bit2
bit3
bit4
bit5
bit6
bit7
bit8
bit9
bit10
idle
BRKDETIF
图 6-40 Break 信号不够长示意图
当 Break 信号恰好够长时,等接收线上收到高电平后,检测到 Break,BRKDETIF 置 1,如图 6-41
所示:
RX
Break State
idle
bit0
bit1
bit2
bit3
bit4
bit5
bit6
bit7
bit8
bit9
bit10
idle
LINBRKST
图 6-41 Break 信号恰好够长示意图
386
Version 1.25
SWM341 系列
当 Break 信号足够长时,等接收线上收到高电平后,检测到 Break,LINBRKST 置 1,如图 6-42
所示:
RX
Break State
idle
bit0
bit1
bit2
bit3
bit4
bit5
bit6
bit7
bit8
bit9
bit10
idle
LINBRKST
图 6-42 Break 信号足够长示意图
硬件流控
硬件流控(RTS/CTS)制主要功能为防止串口传输时出现丢失数据的现象,使用流控制功能时需
将通信两端的 RTS 和 CTS 对应相连,通过 RTS 和 CTS 可以控制两个串口设备间的串行数据流。
RTS 流控制
RTS 为输出信号,通过自动流控控制寄存器使能该信号并设置有效极性(高电平/低电平)以及
触发阈值,当 RTS 为有效电平时表示可以接收数据,当接收数据达到所设置的阈值时,RTS 无
效。
CTS 流控制
CTS 为输入信号,通过自动流控控制寄存器使能该信号并设置有效极性(高电平/低电平),当
RTS 为有效电平时表示可以发送数据。
Receiver
FIFO
Receiver
(串转并)
RXD
TXD
Transmitter
(并转串)
Transmitter
FIFO
Threshold
Detection
Auto RTS
Flow Control
RTS
CTS
Auto CTS
Flow Control
Transmitter
FIFO
Transmitter
(并转串)
TXD
RXD
Receiver
(串转并)
Receiver
FIFO
Auto CTS
Flow Control
CTS
RTS
Auto RTS
Flow Control
Threshold
Detection
图 6-43 硬件流控
接收中断与超时中断
以如下配置为例:
387
Version 1.25
SWM341 系列
方式一:FIFO 清空后,不产生超时中断
⚫
配置 FIFO 寄存器 RXLVL 位为 3,即 RXThreshold=3,接收 FIFO 取值 3
⚫
配置 CTRL 寄存器RXIE 位为 1,
即 RXThresholdIEn=1,
配置接收 FIFO 中的个数> RXThreshold
时触发中断
⚫
配置 TOCR 寄存器 TIME 位为 10,即 TimeoutTime = 10,超时时长 =
TimeoutTime/(Baudrate/10) 秒
⚫
配置 UARTx.TOCR 寄存器 MODE 位为 0,FIFO 清空后,不产生超时中断
⚫
配置 CTRL 寄存器 TOIE 位为 1,即 TimeoutIEn = 1,超时中断,超过
TimeoutTime/(Baudrate/10) 秒没有在 RX 线上接收到数据且接收 FIFO 中数据个数不为
零时可触发中断
对方发送 8 个数据
接收FIFO中数据个数 > RXThreshold
产生接收中断请求,ISR中将数据读走
接
收
到
第
一
个
数
据
接
收
到
第
二
个
数
据
接
收
到
第
三
个
数
据
接
收
到
第
四
个
数
据
接
收
到
第
五
个
数
据
接收FIFO中数据个数 > RXThreshold
产生接收中断请求,ISR中将数据读走
接
收
到
第
七
个
数
据
接
收
到
第
六
个
数
据
接
收
到
第
八
个
数
据
图 6-44 对方发送 8 个数据接收 FIFO 示意图
每接收到一个数据,RX FIFO 中数据个数加一,当 RX FIFO 中数据个数大于 RXThreshold 时,触
发接收中断。
对方发送 9 个数据
接收FIFO中数据个数 > RXThreshold
产生接收中断请求,ISR中将数据读走
接
收
到
第
一
个
数
据
接
收
到
第
二
个
数
据
接
收
到
第
三
个
数
据
接
收
到
第
四
个
数
据
接
收
到
第
五
个
数
据
接
收
到
第
六
个
数
据
接
收
到
第
七
个
数
据
接收FIFO中数据个数 > RXThreshold
产生接收中断请求,ISR中将数据读走
接
收
到
第
八
个
数
据
10个字符时间内未接收到新的字符
产生超时中断请求,ISR中将数据读走
图 6-45 对方发送 9 个数据接收 FIFO 示意图
只有当接收 FIFO 中有数据,且在指定时间内未接收到新的数据时,才会触发超时中断。
388
Version 1.25
SWM341 系列
若应用中希望通过数据间时间间隔作为帧间隔依据,即不管对方发送过来多少个数据,最后都能
产生超时中断,可以通过在接收 ISR 中从 RX FIFO 中读取数据时总是少读一个(即让一个数据留
在 RX FIFO 中)来实现。
方式二:无论 FIFO 是否清空,间隔指定时间后均产生超时中断
⚫
配置 FIFO 寄存器 RXLVL 位为 3,即 RXThreshold=3,接收 FIFO 取值 3
⚫
配置 CTRL 寄存器RXIE 位为 1,
即 RXThresholdIEn=1,
配置接收 FIFO 中的个数> RXThreshold
时触发中断
⚫
配置 TOCR 寄存器 TIME 位为 10,即 TimeoutTime = 10,超时时长 =
TimeoutTime/(Baudrate/10) 秒
⚫
配置 UARTx.TOCR 寄存器 MODE 位为 1,无论 FIFO 是否清空,间隔指定时间后均产生超
时中断
⚫
配置 CTRL 寄存器 TOIE 位为 1,即 TimeoutIEn = 1,超时中断,超过
TimeoutTime/(Baudrate/10) 秒没有在 RX 线上接收到数据时可触发中断
无论接收 FIFO 中是否有数据,只要在指定时间内未接收到新的数据时,就会触发超时中断。
发送中断
以如下配置为例:
⚫
配置 FIFO 寄存器 TXLVL 位为 3,即 TXThreshold = 4,发送 FIFO 取值 4
⚫
配置 CTRL 寄存器 TXIE 位为 1,即 TXThresholdIEn = 1,配置发送 FIFO 中的个数>
TXThreshold 时触发中断
将待发送数据填入发送FIFO
开启发送中断
发
送
出
第
一
个
数
据
发
送
出
第
二
个
数
据
发送FIFO中数据个数 TXThreshold
产生发送中断请求,ISR中将数据填入
若没有剩余数据需要发送,关闭发送中断
发送FIFO中数据个数 TXThreshold
产生发送中断请求,ISR中将数据填入
发
送
出
第
三
个
数
据
发
送
出
第
四
个
数
据
发
送
出
第
五
个
数
据
发
送
出
第
六
个
数
据
发
送
出
第
七
个
数
据
发
送
出
第
八
个
数
据
FIFO
将
待
发
送
数
据
填
入
发
送
发
送
出
第
九
个
数
据
发
送
出
第
十
个
数
据
发
送
出
第
十
一
个
数
据
发
送
出
第
十
二
个
数
据
图 6-46 发送 FIFO 示意图
每发送出一个数据,TX FIFO 中数据个数减 1,当 TX FIFO 中数据个数小于等于 TXThreshold 时,
触发发送中断。
如果初始化时 TX FIFO 中数据个数为零,
则开启发送中断后会立即触发发送中断。
建议在发送 FIFO
填入数据后再开启发送中断。
389
Version 1.25
SWM341 系列
中断清除
此模块中中断状态位详见寄存器中各个中断标志位属性,当其中断标志位属性为 R/W1C 时,如
需清除此标志,需在对应标志位中写 1 清零(R/W1C)
,否则中断在开启状态下会一直进入;当
其中断标志位属性为 AC 时,表示此中断状态位会自动清零;当其中断标志位属性为 RO 时,表
示此标志位会随着水位的变化而改变,标志位只与其当前状态有关,不需要清除。具体详见寄存
器描述。
390
Version 1.25
SWM341 系列
6.14.5 寄存器映射
名称
偏移
类型
UART0
BASE: 0x40042000
UART1
BASE: 0x40042800
UART2
BASE: 0x40043000
UART3
BASE: 0x40043800
UART4
BASE: 0x40044000
复位值
描述
DATA
0x00
R/W
0x0
UART 数据寄存器
CTRL
0x04
R/W
0x1
UART 控制及状态寄存器
BAUD
0x08
R/W
0x184000
UART 波特率控制寄存器
FIFO
0x0C
R/W
0x0
UART 数据队列寄存器
LINCR
0x10
R/W
0x0
LIN Frame 控制寄存器
CTSCR/ RTSCR
0x14
R/W
0x0
自动流控控制寄存器
CFG
0x18
R/W
0x334
配置寄存器
TOCR
0x1C
R/W
0x0
接收超时控制寄存器
391
Version 1.25
SWM341 系列
6.14.6 寄存器描述
数据接口寄存器 DATA
寄存器
偏移
类型
复位值
描述
DATA
0x00
R/W
0
UART 数据寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
PARERR
VALID
DATA
2
1
0
23
22
21
20
-
15
14
13
12
7
6
5
4
3
DATA
位域
名称
描述
31:11
-
当前读回的的数据是否存在校验错误,RO
10
PARERR
1:存在
0:不存在
数据有效位,RO
9
VALID
1:DATA 字段有有效的接收数据
0:DATA 字段无有效的接收数据
当 DATA 字段有有效的接收数据时,该位硬件置 1,读取数据后自动清零
UART 数据位
8:0
DATA
读操作,返回缓存中接收到的数据
写操作,将待发送的数据写入缓存中
392
Version 1.25
SWM341 系列
控制及状态寄存器 CTRL
寄存器
偏移
类型
复位值
描述
CTRL
0x04
R/W
1
UART 控制及状态寄存器
30
29
31
28
27
26
25
24
19
18
17
16
PAREN
NINEBIT
11
10
9
8
LOOP
EN
-
23
22
21
STOP2B
20
PARMD
15
14
13
-
TOIE
BAUDEN
7
6
5
4
3
2
1
0
-
TXDOIE
RXOV
RXIE
RXNE
TXIE
TXFF
TXIDLE
位域
名称
描述
31:24
-
-
12
-
-
停止位模式
23:22
STOP2B
00:1 位
01:2 位
1x:保留
奇偶校验位模式
00:奇校验
21:20
PARMD
01:偶校验
10:常 1
11:常 0
奇偶校验使能位
19
PAREN
1:使能
0:禁能
数据位模式
18
NINEBIT
1:9 位数据位
0:8 位数据位
17:15
-
接收数据超时中断
14
TOIE
1:使能
0:禁能
13:11
-
回环测试模式使能位(从 TX 线发送出去的数据,在自身 RX 线上可以收到,从而测
试硬件是否正常工作)
10
LOOP
1:使能
0:禁能
393
Version 1.25
SWM341 系列
UART 模块使能位
9
EN
1:使能
0:禁能
8:7
-
发送完成中断使能位
6
TXDOIE
1:使能
0:禁能
接收端 FIFO 溢出标志位,W1C
5
RXOV
1:接收 FIFO 溢出
0:接收 FIFO 没有溢出
接收端 FIFO 中断使能位
4
RXIE
1:接收 FIFO 达到预定的数量时产生中断
0:接收 FIFO 达到预定的数量时不产生中断
注:接收 FIFO 中此位为 0 表示接收到 1 个数据,依次类推
接收端 FIFO 非空标志位,RO
3
RXNE
1:非空
0:空
发送端 FIFO 中断使能位
2
TXIE
1:当发送 FIFO 内的数据少于预定的数量时产生中断
0:当发送 FIFO 内的数据少于预定的数量时不产生中断
注:发送 FIFO 中此位为 0 表示发送 0 个数据,依次类推
发送端 FIFO 满标志位,RO
1
TXFF
1:发送 FIFO 内的数据满
0:发送 FIFO 内的数据不满
发送线空闲标志位,RO
0
TXIDLE
1:发送线空闲
0:发送线忙,正在发送数据
394
Version 1.25
SWM341 系列
波特率寄存器 BAUD
寄存器
偏移
类型
复位值
描述
BAUD
0x08
R/W
0x184000
UART 波特率控制寄存器
30
29
31
28
FRAC
27
26
TXDOIF
OVST
25
24
ABRBIT
23
22
21
20
19
18
17
16
ABREN
RXIF
TOIF
TXTHRF
RXTHRF
-
TXIF
RXTOIF
15
14
13
12
11
10
9
8
RXD
TXD
7
6
2
1
0
BAUD
5
4
3
BAUD
位域
名称
描述
31:28
FRAC
波特率设置微调(波特率分频值的小数部分),参考 BAUD 的设置
发送完成中断状态位
1:中断已产生
27
TXDOIF
0:中断未产生
RO,表示此标志位会随着水位的变化而改变,标志位只与其当前状态有关,不需要
清除
自动调节波特率时,计数器溢出中断标志,R/W1C
26
ABRERR
1:自动调节波特率时,计数器溢出,调节失败。
0:自动调节波特率时,计数器没有溢出。
自动调节波特率时,检测的时间长度
00:1 位长度
25:24
ABRBIT
01:2 位长度
10:4 位长度
11:8 位长度
1:打开波特率自动调节功能。
23
ABREN
0:关闭波特率自动调节功能。
调节完成自动清零,R/W,AC
1:接收数据缓存达到预定数量
22
RXIF
0:接收数据缓存未达到预定数量
RO,表示此标志位会随着水位的变化而改变,标志位只与其当前状态有关,不需要
清除
1:接收数据超出 TIME 确定的时间
0:接收数据未超出 TIME 确定的时间
21
TOIF
RO,表示此标志位会随着水位的变化而改变,标志位只与其当前状态有关,不需要
清除
超过 TOTIME/BAUDRAUD 秒没有接收到新的数据时若 TOIE=1,此位由硬件置位
395
Version 1.25
SWM341 系列
1:发送数据缓存达到预定数量
20
TXTHRF
0:发送数据缓存未达到预定数量
RO,表示此标志位会随着水位的变化而改变,标志位只与其当前状态有关,不需要
清除
1:接收数据缓存达到预定数量
19
RXTHRF
0:接收数据缓存未达到预定数量
RO,表示此标志位会随着水位的变化而改变,标志位只与其当前状态有关,不需要
清除
18
-
1:发送数据缓存内的数据少于预定的数量
17
TXIF
0:发送数据缓存内的数据大于预定的数量
RO,表示此标志位会随着水位的变化而改变,标志位只与其当前状态有关,不需要
清除
接收或超时中断标志
11:中断已产生
16
RXTOIF
0:中断未产生
RO,表示此标志位会随着水位的变化而改变,标志位只与其当前状态有关,不需要
清除
15
RXD
直接读取接收线状态,RO
14
TXD
直接读取发送线状态,RO
用于控制 UART 工作的波特率
13:0
BAUD
得到的波特率为:系统主时钟 / (BAUD.BAUD *16 +BAUD.FRAC + 1)
可通过 BAUD 寄存器 FRAC 位进行波特率微调,使波特率的误差在 5%以内。
396
Version 1.25
SWM341 系列
数据队列寄存器 FIFO
寄存器
偏移
类型
复位值
描述
FIFO
0x0C
R/W
0
UART 数据队列寄存器
30
29
31
28
27
26
23
22
21
14
20
19
18
13
6
17
16
9
8
1
0
RXTHR
12
11
10
7
24
TXTHR
15
25
TXLVL
5
4
3
2
-
RXLVL
位域
名称
描述
31:28
-
设置发送 FIFO 中断(TXIF)阈值
27:24
TXTHR
1:当发送 FIFO 里的水位小于等于设置值时产生中断
0:当发送 FIFO 里的水位小于等于设置值时不产生中断
23:20
-
19:16
RXTHR
设置接收 FIFO 中断(RXIF)阈值
1:当接收 FIFO 里的水位大于设置值时产生中断
0:当接收 FIFO 里的水位大于设置值时不产生中断
15:12
-
-
11:8
TXLVL
发送缓存的实际水位
7:4
-
-
3:0
RXLVL
接收缓存的实际水位
397
Version 1.25
SWM341 系列
LIN Frame 控制寄存器 LINCR
寄存器
偏移
类型
复位值
描述
LINCR
0x10
R/W
0x0
LIN Frame 控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
4
3
2
1
0
GENBRK
GENBRKIF
GENBRKIE
BRKDETIF
BRKDETIE
23
22
21
20
-
15
14
13
12
-
7
6
5
-
位域
名称
描述
31:5
-
发送 LIN Break
4
GENBRK
1:发送
0:不发送
发送完成自动清零,R/W,AC
LIN Break 发送完成中断状态,R/W1C
3
GENBRKIF
1:中断已产生
0:中断未产生
发送 LIN Break 完成中断的使能
2
GENBRKIE
1:使能
0:禁能
检测到 LIN Break 中断状态,R/W1C
1
BRKDETIF
1:中断已产生
0:中断未产生
检测到 LIN Break 中断的使能
0
BRKDETIE
1:使能
0:禁能
398
Version 1.25
SWM341 系列
自动流控控制寄存器 CTSCR/ RTSCR
寄存器
偏移
类型
复位值
描述
CTSCR/ RTSCR
0x14
R/W
0x0
自动流控控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
23
22
21
20
-
15
14
13
12
-
7
6
CTSCR_STAT
5
RTSCR_STAT
4
RTSCR_THR
位域
名称
描述
31:9
-
-
8
RTSCR_STAT
RTS 的当前状态,RO
7
CTSCR_STAT
CTS 的当前状态,RO
3
2
1
0
RTSCR_POL
CTSCR_POL
RTSCR_EN
CTSCR_EN
RTS 流控的触发阈值
000:触发阈值为 1byte,内部缓存的剩余空间最多只剩 1 个 BYTE
6:4
RTSCR_THR
001:触发阈值为 2bytes,内部缓存的剩余空间最多只剩 2 个 BYTE
010:触发阈值为 4bytes,内部缓存的剩余空间最多只剩 4 个 BYTE
011:触发阈值为 6bytes,内部缓存的剩余空间最多只剩 6 个 BYTE
RTS 信号的极性
3
RTSCR_POL
1:高有效,rts 输出高,可以接收数据
0:低有效,rts 输出低,可以接收数据
CTS 信号的极性
2
CTSCR_POL
1:高有效,cts 输入为高,可以发送数据
0:低有效,cts 输入为低,可以发送数据
RTS 流控使能
1
RTSCR_EN
1:rts 信号发挥流控的作用
0:忽略 rts
CTS 流控使能
0
CTSCR_EN
1:cts 信号发挥流控的作用
0:忽略 cts
399
Version 1.25
SWM341 系列
配置寄存器 CFG
寄存器
偏移
类型
复位值
描述
CFG
0x18
R/W
0
CFG 寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
TXINV
RXINV
3
2
23
22
21
20
-
15
14
13
12
7
6
5
BRKRXLEN
4
BRKTXLEN
位域
名称
描述
31:12
-
-
11
TXINV
BRKRXLEN
1
0
MSBF
RXEN
1:发送时电平取反
0:发送时电平不取反
10
RXINV
1:接收时电平取反
0:接收时电平不取反
接收 BRK 的判定长度。
0000:表示收到 1 bit 的 0
9:6
BRKRXLEN
0001:表示收到 2 bit 的 0
N:表示收到(n+1)bit 的 0
1111:表示收到 16bit 的 0
发送 BRK 的长度。
0001:表示发送 1bit 的 0
5:2
BRKTXLEN
0010:表示发送 2bit 的 0
n:表示发送 n bit 的 0
1111:表示发送 15bit 的 0
1
MSBF
1:发送和接收时 MSB 在前
0:发送和接收时 LSB 在前
接收打开使能
0
RXEN
1:接收打开。可接收外来的数据。
0:接收关闭。不能接收外来的数据。接收的数据一直是 1。
400
Version 1.25
SWM341 系列
接收超时控制寄存器 TOCR
寄存器
偏移
类型
复位值
描述
TOCR
0x1C
R/W
0x0
接收超时控制寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
1
0
23
22
21
20
-
15
14
-
7
6
13
12
IFCLR
MODE
5
4
TIME
3
2
TIME
位域
名称
描述
31:14
-
-
13
IFCLR
超时计数器清零,写 1 清除中断,R/W1C
12
MODE
1:无论 FIFO 是否清空,间隔指定时间后均产生超时中断
0:FIFO 清空后,不产生超时中断
接收数据超时中断的触发条件。
11:0
TIME
计时单位为 10 个 SYMBOL TIME
具体和实际波特率的设置相关。如波特率为 9600,则计时单位为 1/960 秒。
401
Version 1.25
SWM341 系列
6.15 I2C 总线控制器(I2C)
6.15.1 概述
SWM341 系列所有型号 I2C 操作均相同,不同型号 I2C 数量可能不同。使用前需使能对应 I2C
模块时钟。
I2C 模块提供了 MASTER 模式及 SLAVE 模式,基本操作及配置详见功能描述章节。
6.15.2 特性
⚫
支持通过 APB 总线进行配置
⚫
支持 master、slave 两种模式
⚫
支持 I2C 输入信号数字滤波
⚫
支持 Standard-mode(100kbps)、Fast-mode(400kbps)、Fast-mode Plus(1Mbps)、
High-speed mode(3.4Mbps)
⚫
SCL/SDA 线上数据可读
⚫
Master 模式特性:
⚫
◼
支持 clock synchronization
◼
支持多 master 总线仲裁
◼
支持 clock stretching,slave 器件可通过拉低 SCL 来 hold 总线
◼
支持 SCL LOW 超时报警
◼
支持读、写操作
◼
支持发出的 SCL 时钟周期最大为(2^17)*pclk
◼
SCL 时钟占空比可配置
Slave 模式特性:
◼
支持多 slave
◼
支持 7 位、10 位两种地址模式
◼
支持地址 mask,一个 slave 器件可以占用多个地址
◆
7 位地址模式,一个 slave 器件最多可占用 128 个地址
◆
10 位地址模式,一个 slave 器件最多可占用 256 个地址
◼
支持 clock stretching,slave 器件可通过拉低 SCL 来 hold 总线
◼
支持读、写操作
402
Version 1.25
SWM341 系列
6.15.3 模块结构框图
APB总线
写I2CxDATA
读I2CxDATA
I2CxDATA
发送
数据移位寄存器
SDA
接收
PCLK
/CLKDIV
SCL
SLAVE=0
=
SLVIF
SLVCR.ADDR
图 6-47 I2C 模块结构框图
注:I2CxDATA 主机模式下是 MSTDAT,从机模式下写入、读出时分别是 SLVTX、SLVRX
403
Version 1.25
SWM341 系列
6.15.4 功能描述
基本操作
总线设置
I2C 总线采用串行数据线(SDA)和串行时钟线(SCL)传输数据。I2C 总线的设备端口为开漏输出,
必须在接口外接上拉电阻。
数据在主从设备之间通过 SCL 时钟信号在 SDA 数据线上逐字节同步传输。每一个 SCL 时钟脉冲
发送一位数据,高位在前。每发送一个字节的数据产生一个应答信号。在时钟线 SCL 高电平期
间对数据的每一位进行采样。数据线 SDA 在时钟线 SCL 为低改变,在时钟线 SCL 为高电平时保
持稳定。
协议介绍
通常情况下,一个标准的通信包含四个部分:开始信号、从机地址、数据传输、停止信号。如图
6-48 所示:
SDA
SCL
6..0
S
Adress
7..0
R/W
A
DATA
7..0
A
DATA
A/A
P
图 6-48 I2C 通信示意图
起始位发送
当总线空闲时,表示没有主机设备占用总线(SCL 和 SDA 都保持高电平)
,主机可以通过发送一
个起始信号启动传输。启动信号,通常被称为 S 位。SCL 为高电平时,SDA 由高电平向低电平跳
变。启动信号表示开始新的数据传输。
重新启动是没有先产生一个停止信号的启动信号。主机使用此方法与另一个从机或者在不释放总
线的情况下与相同的从机改变数据传输方向(例如从写入设备到写入设备的转换)
。
当命令寄存器的 STA 位被置位,同时 RD 或者 WR 位被置位时,系统核心产生一个启动信号。根
据 SCLK 的当前的不同状态,生成启动信号或重复启动信号。
地址发送
在开始信号后,由主机传输的第一个字节数据是从机地址。包含 7 位的从设备地址和 1 位的 RW
指示位。RW 指示位信号表示与从机的数据传输方向。在系统中的从机不可以具有相同的地址。
只有从机地址和主机发送的地址匹配时才能产生一个应答位(在第九个时钟周期拉低 SDA)进行
响应。对于 10 位从机地址,模块通过产生两个从机地址支持。
404
Version 1.25
SWM341 系列
发送从机地址为一次写操作,在传输寄存器中保存从机地址并对 WR 位置位,从机地址将被发
送到总线上。
数据发送
一旦成功取得了从机地址,主机就可以通过 R/W 位控制逐字节的发送数据。每传输一个字节都
需要在第九个时钟周期产生一个应答位。
如果从机信号无效,主机可以生成一个停止信号中止数据传输或生成重复启动的信号并开始一个
新的传输周期。如果从机返回一个 NACK 信号,主机就会产生一个停止信号放弃数据传输,或者
产生一个重新启动信号开始一个新的传输周期。
如果主机作为接收设备,没有应答从机,从机就会释放 SDA,主机产生停止信号或者重新启动信
号。
向从机写入数据,需把将要发送的数据存入传输寄存器中并设置 WR 位。从从机中读取数据,
需设置 RD 位。在数据传输过程中系统核心设置 TIP 提示标志,指示传输正在进行。当传输完成
后 TIP 提示标志会自动清除。当中断使能时,中断标志位 IF 被置位,并产生中断。当中断标志
位 IF 被置位后,接收寄存器收到有效数据。当 TIP 提示标志复位后,用户可以发出新的写入或
读取命令。
停止位发送
主机可以通过生成一个停止信号终止通信。停止信号通常被称为 P 位,被定义为 SCL 为高电平
时,SDA 由低电平向高电平跳变。
Master SCL 周期配置
图 6-49 Master SCL 周期配置示意图
主机发送模式
I2C 模块作为主机,初始化配置操作如下:
⚫
配置 PORTCON 模块中端口对应 PORTx_SEL 寄存器,将指定引脚切换为功能复用
⚫
配置 PORTCON 模块中端口对应 PULLU_x 上拉使能寄存器,使能端口内部上拉电阻(也
可使用外部上拉电阻)
⚫
配置 PORTCON 模块中端口对应 INEN_x 输入使能寄存器,使能 I2C 数据线输入功能
⚫
配置 CR 寄存器的 EN 位,关闭 I2C 模块,确保配置寄存器过程中模块未工作
405
Version 1.25
SWM341 系列
⚫
配置 CR 寄存器的 MASTER 位,将 I2C 模块设置为主机模式
⚫
配置 CR 寄存器的 EN 位,I2C 模块总线使能
⚫
设置时序配置寄存器 CLK,假设 pclk=48M,希望 I2C 工作在 Standard-mode(100kbps)
速度下,则每个 SCL 480 个 pclk,可以设置 SCLL=0Xa0,SCLH =0x50,DIV=0x01
⚫
查询 SR.BUSY,如果为 1,则等待直至其变为 0;如果为 0,则进行下一步
⚫
发送 Start。设置 MCR.STA=1,查询该位,直至其变为 0
⚫
发 slave 地址字节
◼
设置 TXDATA 为【7 位 slave 地址字节左移一位】
◼
设置 MCR.WR=1,查询该位,直至其变为 0(或查询到 IF 的 TXDONE=1(发送成功)
或 AL=1(仲裁丢失总线)
,并写 1 清除)
◼
如果 TXDONE=1,读 TR.RXACK,如果该位为 0,表示 slave 地址匹配成功
◼
如果 AL=1,表示本 master 失去总线,不能再进行后续操作,需重新查询 SR.BUSY
位直至 1,才可以重新发送 Start 位,重新申请总线操作
⚫
向 slave 发送待写数据
◼
设置 TXDATA,准备待写入 slave 的数据
◼
设置 MCR.WR=1,查询该位,直至其变为 0(或查询到 RIST 的 TXDONE=1,并写 1
清除)
◼
⚫
读 TR.RXACK,如果该位为 0,表示写数据成功
发 STOP。设置 MCR.STO=1,查询该位,直至其变为 0
示意图如图 6-50 所示:
1 (read)
S
SLAVE ADDRESS
R/W
A
DATA
A
DATA
A
P
BUSY
master
STA
WR
Write TXDATA
TXDE
W1C
TXF
RD
Read RXDATA
RXDNE
W1C
RXF
Read RXDATA
W1C
STO
406
Version 1.25
SWM341 系列
图 6-50 Master 寄存器时序示意图
注:图中红色部分表示软件操作
主机接收模式
I2C 作为主机接收模式,需将 I2C 模块设置为 MASTER,初始化过程与主发送模式相同。
I2C 作为主机从从机接收数据操作流程如下:
⚫
配置 PORTCON 模块中端口对应 PORTx_SEL 寄存器,将指定引脚切换为功能复用
⚫
配置 PORTCON 模块中端口对应 PULLU_x 上拉使能寄存器,使能端口内部上拉电阻(也
可使用外部上拉电阻)
⚫
配置 PORTCON 模块中端口对应 INEN_x 输入使能寄存器,使能 I2C 数据线输入功能
⚫
配置 CR 寄存器的 EN 位,关闭 I2C 模块,确保配置寄存器过程中模块未工作
⚫
配置 CR 寄存器的 MASTER 位,将 I2C 模块设置为主机模式
⚫
配置 CR 寄存器的 EN 位,I2C 模块总线使能
⚫
设置时序配置寄存器 CLK,假设 pclk=48M,希望 I2C 工作在 Standard-mode(100kbps)
速度下,则每个 SCL 480 个 pclk,可以设置 SCLL=0Xa0,SCLH =0x50,DIV=0x01
⚫
查询 SR.BUSY,如果为 1,则等待直至其变为 0;如果为 0,则进行下一步
⚫
发送 Start。设置 MCR.STA=1,查询该位,直至其变为 0
⚫
发 slave 地址字节
◼
设置 TXDATA 为【7 位 slave 地址字节地址右移 1 位】
◼
设置 MCR.WR=1,查询该位,直至其变为 0(或查询到 IF 的 TXDONE=1(发送成功)
或 AL=1(仲裁丢失总线)
,并写 1 清除)
◼
如果 TXDONE=1,读 TR.RXACK,如果该位为 0,表示 slave 地址匹配成功
◼
如果 AL=1,表示本 master 失去总线,不能再进行后续操作,需重新查询 SR.BUSY
位直至 1,才可以重新发送 Start 位,重新申请总线操作
⚫
⚫
从 slave 读数据
◼
设置 TR.TXACK=0
◼
设置 MCR.RD=1,查询直到 IF.RXNE=1
◼
读取 RXDATA,得到 slave 数据
◼
查询 MCR.RD,直至其变为 0(或查询到 IF.RXDONE=1,并写 1 清除)
发 STOP。设置 MCR.STO=1,查询该位,直至其变为 0
407
Version 1.25
SWM341 系列
从发送模式
I2C 作为从发送模式,需将 I2C 模块设置为 SLAVE,具体软件配置操作如下:
⚫
配置 PORTCON 模块中端口对应 PORTx_SEL 寄存器,将指定引脚切换为功能复用
⚫
配置 PORTCON 模块中端口对应 PULLU_x 上拉使能寄存器,使能端口内部上拉电阻(也
可使用外部上拉电阻)
⚫
配置 PORTCON 模块中端口对应 INEN_x 输入使能寄存器,使能 I2C 数据线输入功能
⚫
配置 CR 寄存器的 EN 位,关闭 I2C 模块,确保配置寄存器过程中模块未工作
⚫
配置 CR 寄存器的 MASTER 位,将 I2C 模块设置为从机模式
⚫
配置 CR 寄存器的 EN 位,I2C 模块总线使能
⚫
设置 slave 地址模式。SCR.SADDR10=0
⚫
设置 slave 地址 SADDR
⚫
查询直至 IF.RXSTA,表示检测到 I2C 总线上有 start 发出
⚫
查询直至 IF.RXNE=1。表示有 master 选中本器件
⚫
如果 SADDR 中设置了地址 mask,则读取 RXDATA,判断 master 发送的实际地址
⚫
如果判断到 TR.SLVRD=1,表示 master 希望从 slave 读取数据
⚫
准备数据,写 TXDATA
⚫
查询直到 RXDONE=1,表示之前地址匹配后,返回 ACK 结束
⚫
查询直到 IF.TXE=1,就可以向 TXDATA 中写入新数据了
⚫
查询直到 IF.TXDONE=1,表示数据发送完成。然后写 1 清除
⚫
查询 TR.RXACK,如果为 0,表示 master 希望继续接收数据,则可重新向 TXDATA 中写
入数据;如果 RXACK=1,表示 master 希望结束读操作,则设置 TR.TXCLR,清除之前预
准备到 TXDATA 中的最后一个数据。转入下一步
⚫
查询到 IF.RXSTO,表示检测到 I2C 总线上有 STOP 发出。本次会话结束
示意图如图 6-51 所示:
408
Version 1.25
SWM341 系列
1
S
SLAVE ADDRESS
(read)
R/W
A
DATA
A
DATA
A
P
BUSY
slave
W1C
RSTA
Read RXDATA
RXDNE
W1C
RXF
SLV_STRETCH_BUSY
t1
Write TXDATA
Write TXDATA
TXDE
W1C
W1C
TXF
W1C
RSTO
图 6-51 Slave 寄存器时序示意图
注 1:图中红色部分表示软件操作
注 2:图中 t1= tLOW,由 CLK 寄存器设置
从接收模式
I2C 作为从接收模式,需将 I2C 模块设置为 SLAVE,操作流程如下:
⚫
配置 PORTCON 模块中端口对应 PORTx_SEL 寄存器,将指定引脚切换为功能复用
⚫
配置 PORTCON 模块中端口对应 PULLU_x 上拉使能寄存器,使能端口内部上拉电阻(也
可使用外部上拉电阻)
⚫
配置 PORTCON 模块中端口对应 INEN_x 输入使能寄存器,使能 I2C 数据线输入功能
⚫
配置 CR 寄存器的 EN 位,关闭 I2C 模块,确保配置寄存器过程中模块未工作
⚫
配置 CR 寄存器的 MASTER 位,将 I2C 模块设置为从机模式
⚫
配置 CR 寄存器的 EN 位,I2C 模块总线使能
⚫
设置 slave 地址模式。SCR.SADDR10=0
⚫
设置 slave 地址 SADDR
⚫
查询直至 IF.RXSTA,表示检测到 I2C 总线上有 start 发出
⚫
查询直至 IF.RXNE=1。表示有 master 选中本器件
⚫
如果 SADDR 中设置了地址 mask,则读取 RXDATA,判断 master 发送的实际地址
⚫
如果判断到 TR.SLVWR=1,表示 master 希望向 slave 写入数据
⚫
查询直到 RXDONE=1,表示之前地址匹配后,返回 ACK 结束。然后写 1 清除
⚫
设置 TR.TXACK=0
⚫
查询直到 IF.RXNE=1,表示 slave 接收到新数据,读取 RXDATA
409
Version 1.25
SWM341 系列
⚫
查询直到 RXDONE=1,表示之前接收数据后,返回 ACK 结束。然后写 1 清除
⚫
可重复查询 IF.RXNE 位,继续接收数据,直到查询到 IF.RXSTO,表示本次会话结束
时钟延展 clock stretching
clock stretching 通过将 SCL 线拉低来暂停一个传输,直到释放 SCL 线为高电平,传输才继续进行。
以 master-receiver,slave-transmitter 为例,具体软件配置操作如下:
⚫
配置 PORTCON 模块中端口对应 PORTx_SEL 寄存器,将指定引脚切换为功能复用
⚫
配置 PORTCON 模块中端口对应 PULLU_x 上拉使能寄存器,使能端口内部上拉电阻(也
可使用外部上拉电阻)
⚫
配置 PORTCON 模块中端口对应 INEN_x 输入使能寄存器,使能 I2C 数据线输入功能
⚫
配置 CR 寄存器的 EN 位,关闭 I2C 模块,确保配置寄存器过程中模块未工作
⚫
配置 CR 寄存器的 MASTER 位,将 I2C 模块设置为主机模式
⚫
配置 CR 寄存器的 EN 位,I2C 模块总线使能
⚫
设置时序配置寄存器 CLK,假设 pclk=48M,希望 I2C 工作在 Standard-mode(100kbps)
速度下,则每个 SCL 480 个 pclk,可以设置 SCLL=0Xa0,SCLH =0x50,DIV=0x01
⚫
查询 SR.BUSY,如果为 1,则等待直至其变为 0;如果为 0,则进行下一步
⚫
发送 Start。设置 MCR.STA=1,查询该位,直至其变为 0
⚫
发 slave 地址字节
◼
设置 TXDATA 为【7 位 slave 地址字节左移一位】
◼
设置 MCR.WR=1,查询该位,直至其变为 0(或查询到 IF 的 TXDONE=1(发送成功)
或 AL=1(仲裁丢失总线)
,并写 1 清除)
◼
如果 TXDONE=1,读 TR.RXACK,如果该位为 0,表示 slave 地址匹配成功
◼
如果 AL=1,表示本 master 失去总线,不能再进行后续的步骤 6~7,需查询直至
SR.BUSY=1,才可以回到步骤 4,重新发送 Start 位,重新申请总线操作
⚫
向 slave 发送待写数据
◼
设置 TXDATA,准备待写入 slave 的数据
◼
设置 MCR.WR=1,查询该位,直至其变为 0(或查询到 RIST 的 TXDONE=1,并写 1
清除)
◼
⚫
读 TR.RXACK,如果该位为 0,表示写数据成功
发 STOP。设置 MCR.STO=1,查询该位,直至其变为 0
410
Version 1.25
SWM341 系列
HS-MODE
以 master-transmitter 为例
具体软件配置操作如下:
⚫
设置 CR.HS=0,以普通模式发第一个字节
⚫
以主机发送模式的方式,先在 F/S-mode 下发送 START 和 master code。在此过程中,可
以进行 multi-master 的总线仲裁
⚫
如果本 master 获得了总线控制权。则进行如下步骤
⚫
设置 CR.HS=1。才可以设置为高速模式
⚫
设置 CLK 寄存器。假设 pclk=60M,希望 I2C 工作在 HS-mode(3.4Mbps)速度下,则每
个 SCL 14 个 pclk,可以设置 SCLL=0x0A,SCLH=0x05,DIV=0x0
⚫
以主机发送模式的方式,以 High-speed 发送 Sr 和 slave 地址(不需要再判断 IF.AL 位)
、
写数据等
以 slave-receiver 为例
具体软件配置操作如下:
⚫
根据 F/S-mode 速度设置 CLK 寄存器
⚫
设置 CR.MASTER=0(slave)
,CR.EN=1,CR.HS=0
⚫
设置 slave SCR.MCDE=1,等待 master 发送 master code
⚫
查询直到 RXNE=1,表示接收到 master code
⚫
读取 RXDATA 中的数据,判断是 multi-master 中的哪一个 master 获得了总线。
(对于
single-master 情况,可以省略此判断,但 RXDATA 中的数据需要读走,否则会影响后续
地址和数据的接收)
⚫
设置 HS-mode,后续操作在 HS-mode 下进行。设置 CR.HS=1;设置 SCR.MCDE=0
⚫
根据 HS-mode 速度设置 CLK 寄存器
⚫
设置 slave 地址模式及地址。设置 SCR.SADDR10,并相应设置 SADDR
⚫
查询直到 IF.RXSTA=1,表示接收到 Sr
⚫
查询直到 RXNE=1,表示接收到匹配的地址
⚫
根据从机接收模式的操作继续后续操作,直至结束本次会话
中断清除
此模块中中断状态位详见寄存器中各个中断标志位属性,当其中断标志位属性为 R/W1C 时,如
需清除此标志,需在对应标志位中写 1 清零(R/W1C)
,否则中断在开启状态下会一直进入;当
其中断标志位属性为 AC 时,表示此中断状态位会自动清零;当其中断标志位属性为 RO 时,表
411
Version 1.25
SWM341 系列
示此标志位会随着水位的变化而改变,标志位只与其当前状态有关,不需要清除。具体详见寄存
器描述。
412
Version 1.25
SWM341 系列
6.15.5 寄存器映射
名称
偏移
类型
I2C0
BASE: 0x400A6000
I2C1
BASE: 0x400A6800
复位值
描述
CR
0x0
R/W
0x0000_010C
通用配置寄存器
SR
0x4
RO
0x0000_0006
通用状态寄存器
TR
0x8
R/W
0x0000_0000
通用传输寄存器
RXDATA
0xC
RO
0x0000_0000
接收数据寄存器
TXDATA
0x10
R/W
0x0000_0000
发送数据寄存器
IF
0x14
R/W
0x0000_0001
中断标志寄存器
IE
0x18
R/W
0x0000_0001
中断使能寄存器
MCR
0x20
R/W
0x0000_0000
Master 控制寄存器
CLK
0x24
R/W
0x0003_4080
时序配置寄存器
SCR
0x30
R/W
0x0000_0000
Slave 控制寄存器
SADDR
0x34
R/W
0x0000_0000
Slave 地址寄存器
413
Version 1.25
SWM341 系列
6.15.6 寄存器描述
通用配置寄存器 CR
寄存器
偏移
类型
复位值
描述
CR
0x0
R/W
0x0000_010C
通用配置寄存器
30
29
31
28
27
26
25
24
19
18
17
16
11
10
9
8
3
2
1
0
HS
MASTER
EN
23
22
21
20
-
15
14
13
12
-
7
6
5
-
4
DNF
位域
名称
描述
31:7
-
Receive SDA、SCL 数字噪声滤波(Digital Noise Filter)
。
0000:滤波不使能。
6:3
DNF
0001:滤波使能,且滤波能力最大 1 个系统时钟。
……
1111:滤波使能,且滤波能力最大 15 个系统时钟。
High-Speed mode。仅在 master 模式下有效。
2
HS
0:Standard-mode, F
很抱歉,暂时无法提供与“SWM34SRET6-50”相匹配的价格&库存,您可以联系我们找货
免费人工找货