0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
SWM34SRET6-50

SWM34SRET6-50

  • 厂商:

    SYNWIT(华芯微特)

  • 封装:

    LQFP64_10X10MM

  • 描述:

    32位MCU微控制器 ARM Cortex-M33 150MHz 2V~3.6V LQFP64

  • 数据手册
  • 价格&库存
SWM34SRET6-50 数据手册
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 价格&库存

很抱歉,暂时无法提供与“SWM34SRET6-50”相匹配的价格&库存,您可以联系我们找货

免费人工找货