SN32F240

Size: px
Start display at page:

Download "SN32F240"

Transcription

1 SN32F240B 系列 用户参考手册 SN32F248B/247B/246B/2451B SONiX 32 位 Cortex-M0 单片机 SONiX 公司保留对以下所有产品在可靠性, 功能和设计方面的改进作进一步说明的权利 SONiX 不承担由本手册所涉及的产品或电路的运用和使用所引起的任何责任,SONiX 的产品不是专门设计来应用于外科植入 生命维持和任何 SONiX 产品的故障会对个体造成伤害甚至死亡的领域 如果将 SONiX 的产品应用于上述领域, 即使这些是由 SONIX 在产品设计和制造上的疏忽引起的, 用户应赔偿所有费用 损失 合理的人身伤害或死亡所直接或间接产生的律师费用, 并且用户保证 SONiX 及其雇员 子公司 分支机构和销售商与上述事宜无关 SONiX TECHNOLOGY CO., LTD Page 1 Version 1.1

2 版本 时间 修改说明 /06/08 初版 /07/17 1. 增加 PFPA 功能 修改记录 2. 修改 SN32F248BF 引脚配置 3. 修改 LPMODE[3:0] 映射值 4. 增加 SYS0_CLKCFG & FLASH_CTRL 描述符 SONiX TECHNOLOGY CO., LTD Page 2 Version 1.1

3 Table of Content 修改记录 产品简介 功能特性 系统框图 时钟产生框图 引脚配置 引脚说明 引脚电路图 中央处理器 (CPU) 存储器 系统 TICK 定时器 操作 SYSTICK 用法说明及技巧 SYSTICK 寄存器 系统 Tick 定时器控制和状态寄存器 (SYSTICK_CTRL) 系统 Tick 定时器重装值寄存器 (SYSTICK_LOAD) 系统 Tick 定时器当前值寄存器 (SYSTICK_VAL) 系统 Tick 定时器校准值寄存器 (SYSTICK_CALIB) 嵌套向量中断控制器 (NVIC) 中断和异常向量 NVIC 寄存器 IRQ0~31 中断设置使能寄存器 (NVIC_ISER) IRQ0~31 中断清零使能寄存器 (NVIC_ICER) IRQ0~31 中断挂起设置寄存器 (NVIC_ISPR) IRQ0~31 中断清零挂起寄存器 (NVIC_ICPR) IRQ0~31 中断优先级寄存器 (NVIC_IPRn)(n=0~7) 应用中断和复位控制 (AIRC) 编译选项表 核心寄存器简介 系统控制 SONiX TECHNOLOGY CO., LTD Page 3 Version 1.1

4 3.1 复位 上电复位 (POR) 看门狗复位 (WDT RESET) 掉电复位 掉电复位简述 系统工作电压简述 掉电复位性能改进 外部复位 RC 复位电路 二极管 & RC 复位电路 稳压二级管复位电路 电压偏置复位电路 外部复位 IC 软件复位 系统时钟 内部 RC 时钟源 内部高速 RC 振荡器 (IHRC) 内部低速 RC 振荡器 (ILRC) 系统时钟 (SYSCLK) 选择 CLOCK-OUT 功能 系统控制寄存器 模拟模块控制寄存器 (SYS0_ANBCTRL) 时钟源状态寄存器 (SYS0_CSST) 系统时钟配置寄存器 (SYS0_CLKCFG) AHB 时钟分频寄存器 (SYS0_AHBCP) 系统复位状态寄存器 (SYS0_RSTST) LVD 控制寄存器 (SYS0_LVDCTRL) 外部复位引脚控制寄存器 (SYS0_EXRSTCTRL) SWD 引脚控制寄存器 (SYS0_SWDCTRL) 中断向量表对应寄存器 (SYS0_IVTM) 噪声侦测控制寄存器 (SYS0_NDTCTRL) 噪声侦测状态寄存器 (SYS0_NDTSTS) 系统控制寄存器 AHB 时钟使能寄存器 (SYS1_AHBCLKEN) APB 时钟预分频寄存器 1 (SYS1_APBCP1) SONiX TECHNOLOGY CO., LTD Page 4 Version 1.1

5 44 系统操作模式 概述 普通模式 低功耗模式 睡眠模式 深度睡眠模式 系统唤醒 概述 唤醒时间 PMU 状态结构图 操作模式 COMPARSION 表 PMU 寄存器... 错误! 未定义书签 电源控制寄存器 (PMU_CTRL)... 错误! 未定义书签 55 外设功能引脚配置 (PFPA) 概述 特性 引脚配置表 PFPA 寄存器 PFPA CT16B1 寄存器 (PFPA_CT16B1) GPIO 端口 (GPIO) 概述 GPIO 模式 GPIO 寄存器 GPIO Port n 数据寄存器 (GPIOn_DATA) (n=0,1,2,3) GPIO Port n 模式寄存器 (GPIOn_MODE) (n=0,1,2,3) GPIO Port n 配置寄存器 (GPIOn_CFG) (n=0,1,2,3) GPIO Port n 中断 Sense 寄存器 (GPIOn_IS) (n=0,1,2,3) GPIO Port n 中断双边沿 Sense 寄存器 (GPIOn_IBS) (n=0,1,2,3) GPIO Port n 中断事件寄存器 (GPIOn_IEV) (n=0,1,2,3) GPIO Port n 中断使能寄存器 (GPIOn_IE) (n=0,1,2,3) GPIO Port n 中断源状态寄存器 (GPIOn_RIS) (n=0,1,2,3) GPIO Port n 中断清零寄存器 (GPIOn_IC) (n=0,1,2,3) GPIO Port n 位设置操作寄存器 (GPIOn_BSET) (n=0,1,2,3) GPIO Port n 位清零操作寄存器 (GPIOn_BCLR) (n=0,1,2,3) SONiX TECHNOLOGY CO., LTD Page 5 Version 1.1

6 通道 12- 位 SAR ADC 概述 ADC 转换时间 ADC 控制注意事项 ADC 信号 ADC 编程 ADC 电路 ADC 寄存器 ADC 管理寄存器 (ADC_ADM) ADC 数据寄存器 (ADC_ADB) ADC 中断使能寄存器 (ADC_IE) ADC 中断源状态寄存器 (ADC_RIS) 位带捕获功能的 TIMER 概述 特性 引脚说明 框图 定时器操作 边沿对齐向上计数模式 PWM PWM 模式 PWM 模式 CT16BN 寄存器 CT16Bn 定时器控制寄存器 (CT16Bn_TMRCTRL) (n=0,1) CT16Bn 定时器计数器寄存器 (CT16Bn_TC) (n=0,1) CT16Bn 预分频寄存器 (CT16Bn_PRE) (n=0,1) CT16Bn 预分频计数器寄存器 (CT16Bn_PC) (n=0,1) CT16Bn 计数控制寄存器 (CT16Bn_CNTCTRL) (n=0) CT16Bn 匹配控制寄存器 (CT16Bn_MCTRL) (n=0) CT16Bn 匹配控制寄存器 (CT16Bn_MCTRL) (n=1) CT16Bn 匹配控制寄存器 2(CT16Bn_MCTRL2) (n=1) CT16Bn 匹配控制寄存器 3 (CT16Bn_MCTRL3) (n=1) CT16Bn 匹配寄存器 0 (CT16Bn_MR0) (n=0) CT16Bn 匹配寄存器 0~24 (CT16Bn_MR0~24) (n=1) SONiX TECHNOLOGY CO., LTD Page 6 Version 1.1

7 CT16Bn 捕获控制寄存器 (CT16Bn_CAPCTRL) (n=0) CT16Bn 捕获 0 寄存器 (CT16Bn_CAP0) (n=0) CT16Bn 外部匹配寄存器 (CT16Bn_EM)(n=1) CT16Bn 外部匹配寄存器 (CT16Bn_EMC)(n=1) CT16Bn 外部匹配控制寄存器 2(CT16Bn_EMC2)(n=1) CT16Bn PWM 控制寄存器 (CT16Bn_PWMCTRL) (n=1) CT16Bn PWM 控制寄存器 2 (CT16Bn_PWMCTRL2) (n=1) CT16Bn PWM 使能寄存器 (CT16Bn_PWMENB) (n=1) PWM IO 使能寄存器 (CT16Bn_PWMIOENB) (n=1 ) CT16Bn 定时器中断源状态寄存器 (CT16Bn_RIS) (n=0) CT16Bn 时器中断源状态寄存器 (CT16Bn_RIS) (n=1) CT16Bn 定时器中断清零寄存器 (CT16Bn_IC) (n=0) CT16Bn 定时器中断清零寄存器 (CT16Bn_IC) (n=1) 看门狗定时器 (WDT) 概述 框图 WDT 寄存器 看门狗配置寄存器 (WDT_CFG) 看门狗定时器常量寄存器 (WDT_TC) 看门狗 Feed 寄存器 (WDT_FEED) SPI 概述 特性 引脚说明 接口说明 SPI 通讯流程 单帧 多帧 AUTO-SEL SPI 寄存器 SPI n 控制寄存器 0 (SPIn_CTRL0) (n=0) SPI n 控制寄存器 1 (SPIn_CTRL1) (n=0) SPI n 时钟分频寄存器 (SPIn_CLKDIV) (n=0) SONiX TECHNOLOGY CO., LTD Page 7 Version 1.1

8 SPI n 状态寄存器 (SPIn_STAT) (n=0) SPI n 中断使能寄存器 (SPIn_IE) (n=0) SPI n 中断源状态寄存器 (SPIn_RIS) (n=0) SPI n 中断清零寄存器 (SPIn_IC) (n=0) SPI n 数据寄存器 (SPIn_DATA) (n=0) SPI n 数据 Fetch 寄存器 (SPIn_DFDLY) (n=0) I2C 概述 特征 引脚说明 波形特征 I2C 主机模式 主机发送模式 主机接收模式 仲裁 I2C 从机模式 从机发送模式 从机接收模式 I2C 寄存器 I2C n 控制寄存器 (I2Cn_CTRL) (n=0) I2C n 状态寄存器 (I2Cn_STAT) (n=0) I2C n TX 数据寄存器 (I2Cn_TXDATA) (n=0) I2C n RX 数据寄存器 (I2Cn_RXDATA) (n=0) I2C n 从机地址 0 寄存器 (I2Cn_SLVADDR0) (n=0) I2C n 从机地址 1~3 寄存器 (I2Cn_SLVADDR1~3) (n=0) I2C n SCL 高电平时间寄存器 (I2Cn_SCLHT) (n=0) I2C n SCL 低电平时间寄存器 (I2Cn_SCLLT) (n=0) I2C n 超时控制寄存器 (I2Cn_TOCTRL) (n=0) 通用异步收发器 (UART) 概述 特征 引脚说明 框图 波特率计算 SONiX TECHNOLOGY CO., LTD Page 8 Version 1.1

9 12.6 自动波特流 AUTO-BAUD AUTO-BAUD 模式 UART 寄存器 UART n 接收缓存寄存器 (UARTn_RB) (n=0, 1, 2) UART n 发送保持寄存器 (UARTn_TH) (n=0, 1, 2) UART n 除数锁存 LSB 寄存器 (UARTn_DLL) (n=0, 1, 2) UART n 除数锁存 MSB 寄存器 (UARTn_DLM) (n=0, 1, 2) UART n 中断使能寄存器 (UARTn_IE) (n=0, 1, 2) UART n 中断标识寄存器 (UARTn_II) (n=0, 1, 2) UART n FIFO 控制寄存器 (UARTn_FIFOCTRL) (n=0, 1, 2) UART n 线控制寄存器 (UARTn_LC) (n=0, 1, 2) UART n 线状态寄存器 (UARTn_LS) (n=0, 1, 2) UART n 高速缓存寄存器 (UARTn_SP) (n=0, 1, 2) UART n 自动波特控制寄存器 (UARTn_ABCTRL) (n=0, 1, 2) UART n 小数分频寄存器 (UARTn_FD) (n=0, 1, 2) UART n 控制寄存器 (UARTn_CTRL) (n=0, 1, 2) UART n 半双工传输使能寄存器 (UARTn_HDEN) (n=0,1,2) USB FS 设备接口 概述 特征 引脚说明 框图 USB SRAM ACCESS USB 机构 USB 中断 USB 枚举 USB 寄存器 USB 中断使能寄存器 (USB_INTEN) USB 中断事件状态寄存器 (USB_INSTS) USB 中断事件状态清零寄存器 (USB_INSTSC) USB 设备地址寄存器 (USB_ADDR) USB 配置寄存器 (USB_CFG) USB 信号控制寄存器 (USB_SGCTL) SONiX TECHNOLOGY CO., LTD Page 9 Version 1.1

10 USB EP0 控制寄存器 (USB_EP0CTL) USB Epn 控制寄存器 (USB_EPnCTL, n = 1 ~ 4) USB EP 数据 Toggle 寄存器 (USB_EPTOGGLE) USB Epn 缓存器偏移寄存器 (USB_EPnBUFOS, n = 1 ~ 4) USB 帧数字寄存器 (USB_FRMNO) USB PHY 参数寄存器 (USB_PHYPRM) USB PHY 参数寄存器 2(USB_PHYPRM2) PS/2 控制寄存器 (USB_PS2CTL) USB 读 / 写地址寄存器 (USB_RWADDR) USB 读 / 写数据寄存器 (USB_RWDATA) USB 读 / 写状态寄存器 (USB_RWSTATUS) USB 读 / 写地址寄存器 2 (USB_RWADDR2) USB 读 / 写数据寄存器 2 (USB_RWDATA2) USB 读 / 写状态寄存器 2(USB_RWSTATUS2) FLASH 概述 嵌入式 FLASH 存储器 特征 机构 读操作 编程 / 擦除 嵌入式引导加载程序 FLASH 存储器控制器 (FMC) 代码加密 (CS) 编程 FLASH 存储器 擦除操作 按页擦除 批量擦除 读保护 HW CHECKSUM FMC 寄存器 Flash 低电压控制寄存器 (FLASH_LPCTRL) Flash 状态寄存器 (FLASH_STATUS) Flash 控制寄存器 (FLASH_CTRL) SONiX TECHNOLOGY CO., LTD Page 10 Version 1.1

11 Flash 数据寄存器 (FLASH_DATA) Flash 地址寄存器 (FLASH_ADDR) Flash Checksum 寄存器 (FLASH_CHKSUM) SERIAL-WIRE 调试 (SWD) 概述 特征 引脚说明 调试注意事项 局限性 恢复调试功能 引脚上的内部上拉 / 下拉电阻 开发工具 SN-LINK-V SN32F240B STARTER-KIT 电气特性 极限参数 电气特性 FLASH ROM 烧录引脚 封装信息 LQFP 64 PIN LQFP 48 PIN QFN 46 PIN QFN 33 PIN 芯片正印命名规则 概述 命名规则 命名举例 日期码规则 SONiX TECHNOLOGY CO., LTD Page 11 Version 1.1

12 1 产品简介 1.1 功能特性 存储器配置 工作电压 2.5V ~ 5.5V 64KB 的 Flash ROM 8KB 的用户 RAM 定时器 256 字节的 USB FIFO RAM 1 个 16 位通用定时器 CT16B0, 带 CAP0 1 个 16 位通用定时器 CT16B1, 带 24-ch PWM 工作频率高达 48MHz 接口 中断源 - 1 个 I2C 控制器, 支持 I2C-bus 规格 ARM Cortex-M0 内置嵌套向量中断控制器 ( NVIC) - 1 个 SPI 控制器, 支持 SPI 协议 - 3 个 UART 控制器, 带波特率发生器 I/O 引脚配置 16+1-ch 12-bit SAR ADC, 带 4-level 内部参考电压 双向 :P0, P1, P2, P ch 外部 ADC 输入 唤醒 :P0, P1, P2, P3 电平变化 -1-ch 电池测量 上拉电阻 :P0, P1, P2, P3. -4-level 内部参考电压源 (VDD, 4.5V, 3V, 2V) 20mA Sink/10mA 驱动 :P0, P1, P2, P3. 系统时钟 可编程看门狗定时器 (WDT) 内部高速时钟 :RC type 48MHz. 可编程看门狗频率和时钟源及分频器 内部低速时钟 :RC type 32KHz. Sys tick 定时器 串行调试 (SWD) 24 位定时器. 系统时钟频率决定 SysTick 定时器时钟 工作模式 SysTick 定时器用于产生一个 10ms 的中断 正常 睡眠和深度睡眠 LVD 支持不同的门限值 Fcpu ( 指令周期 ) 复位 :1.65V for VCORE 1.8V 复位 :2.4V/2.7V/3.0V/3.6V for VDD 中断 :2.4V/2.7V/3.0V/3.6V for VDD FCPU = FHCLK = FSYSCLK/1, FSYSCLK/2, FSYSCLK /4,, FSYSCLK /128. 支持在线烧录 (ISP) 全速 USB V 稳压器输出 稳压器输出 3.3v 电压到 D+ 内部 1.5k 上拉电阻 驱动电流 :60mA 支持 1 个全速 USB 设备地址 USB D+ 内部上拉电阻的电源. 支持 PS/2 模式 可作为 P0.0~P0.7. (3.3V IOs) 的 IO 电源 1 个控制 EP 和 4 个可配置的 INT/BULK 端点 可作为外围 3.3V 设备的电源 EP0 支持 64 字节 FIFO 深度可编程的 EP1~EP4 FIFO 深度 封装形式 LQFP64Pin, LQFP48Pin, QFN46 pin, QFN 33 pin 共 5 个端点共用 256B USBSRAM SONiX TECHNOLOGY CO., LTD Page 12 Version 1.1

13 产品列表 单片机名称 ROM RAM FCPU (Max MHz) 定时器 UART I2C SPI PWM 12-bit ADC GPIO 带唤醒功能 封装 SN32F248BF 64KB 8KB 48 MHz 16-bitx CH LQFP64 SN32F247BF 64KB 8KB 48 MHz 16-bitx CH LQFP48 SN32F246BJ 64KB 8KB 48 MHz 16-bitx CH QFN46 SN32F2451BJ 64KB 8KB 48 MHz 16-bitx CH QFN33 SONiX TECHNOLOGY CO., LTD Page 13 Version 1.1

14 1.2 系统框图 SN32F240B Series SWDIO SWCLK TEST/DEBUG INTERFACE EEPROM 64KB SRAM 8KB POWER REGULATOR 1 VDD 2.5V~5.5V ARM CORTEX-M0 AHB-LITE BUS VCORE POWER REGULATOR 2 VBUS 4.0~5.5V CLOCK GENERATION Clocks Boot ROM 3KB VREG33 CLKOUT ILRC 32KHz IHRC 48MHz AHB TO APB BRIDGE Controls POWER CONTROL/ SYSTEM FUNCTIONS /RESET SYS LVD PMU WDT URXD0/1/2 UTXD0/1/2 MISO0 MOSI0 SCK0 SEL0 UART0/1/2 SPI0 APB BUS SAR ADC GPIO AIN0~AIN15 GPIO0_0~15 GPIO1_0~15 GPIO2_0~15 GPIO3_3~11 SCL0 SDA0 I2C0 USB D+ D- CT16B1_PWM[23:0] 16-bit TIMER 1 with 24 PWM 16-bit TIMER 0 CT16B0_CAP0 SONiX TECHNOLOGY CO., LTD Page 14 Version 1.1

15 1.3 时钟产生框图 SN32F240B Series HCLK AHB clock for AHB to APB bridge, to AHB matrix, to Cortex-M0 FCLK, HCLK, and System Timer, to SYS, and to PMU WDTCLKEN AHB clock for WDT CLKOUT CLKOUT Prescaler /1,2,4,,128 HCLK IHRC ILRC WDT Clock Prescaler /1, 2, 4, 8, 16, 32 WDT_PCLK WDT clock source WDT register block WDTCLKSEL CLKOUTSEL ILRC 32KHz AHB clock for ADC IHRC 48MHz ADCCLKEN ADC_PCLK ADC clock source ADC register block AHB clock for UARTn IHRC ILRC SYSCLK AHB Prescaler /1,2,4,,128 HCLK UARTnCLKEN n=0,1,2 UARTn_PCLK UARTn clock source UARTn register block AHB clock for I2Cn SYSCLKSEL AHBCP I2CnCLKEN n=0 I2Cn_PCLK I2Cn clock source I2Cn register block USB_PCLK = 48MHz AHB clock for SPIn USBCLKEN USB USB clock source register block AHB clock for USB SPInCLKEN n=0 SPIn_PCLK SPIn clock source SPIn register block CT16BnCLKEN n=0,1 CT16Bn_PCLK CT16Bn clock source AHB clock for CT16Bn CT16Bn register block AHB clock for GPIOn GPIOn block GPIOnCLKEN n=0,1,2,3 PFPA blcok AHB clock for PFPA AHB clock for SRAM SRAM block AHB clock for FLASH FLASH block SONiX TECHNOLOGY CO., LTD Page 15 Version 1.1

16 URXD2/PWM00A/P0.0 UTXD2/PWM01A/P0.1 MISO0/PWM02A/P0.2 MOSI0/PWM03A/P0.3 SCK0/PWM04A/P0.4 SEL0/PWM05A/P0.5 SCL0/PWM06A/P0.6 SDA0/PWM07A/P0.7 PWM08A/P0.8 PWM09A/P0.9 UTXD0/PWM10A/P0.10 URXD0/PWM11A/P0.11 PWM12A/P0.12 PWM13A/P0.13 PWM14A/P0.14 PWM15A/P0.15 P2.15/AIN15/PWM23B P3.11 P3.10 P3.9/CT16B0_CAP0 P3.8/CLKOUT P3.7/RESET P3.6/SWCLK P3.5/SWDIO VSS VDD VREG33 DN DP P3.4 P3.3 P1.15/PWM07B 1.4 引脚配置 SN32F240B Series SN32F248BF (LQFP 64 pins) PWM08B/AVREF/P2.0/AIN P1.14/PWM06B PWM09B/P2.1/AIN P1.13/PWM05B BOOT/PWM10B/P2.2/AIN P1.12/PWM04B PWM11B/P2.3/AIN P1.11/PWM03B PWM12B/P2.4/AIN P1.10/PWM02B PWM13B/P2.5/AIN P1.9/PWM01B/UTXD1 PWM14B/P2.6/AIN P1.8/PWM00B/URXD1 PWM15B/P2.7/AIN7 8 PWM16B/P2.8/AIN8 9 PWM17B/P2.9/AIN9 10 PWM18B/P2.10/AIN10 11 PWM19B/P2.11/AIN11 12 PWM20B/P2.12/AIN12 13 PWM21B/P2.13/AIN13 14 PWM22B/P2.14/AIN14 15 VDDIO1 16 SN32F248BF P1.7/PWM23A 40 P1.6/PWM22A 39 P1.5/PWM21A 38 P1.4/PWM20A 37 P1.3/PWM19A 36 P1.2/PWM18A 35 P1.1/PWM17A 34 P1.0/PWM16A 33 VDD SONiX TECHNOLOGY CO., LTD Page 16 Version 1.1

17 PWM19B/AIN11/P2.11 VDDIO1 URXD2/PWM00A/P0.0 UTXD2/PWM01A/P0.1 MISO0/PWM02A/P0.2 MOSI0/PWM03A/P0.3 SCK0/PWM04A/P0.4 SEL0/PWM05A/P0.5 SCL0/PWM06A/P0.6 SDA0/PWM07A/P0.7 UTXD0/PWM10A/P0.10 URXD0/PWM11A/P0.11 P3.11 P3.10 P3.9/CT16B0_CAP0 P3.8/CLKOUT P3.7/RESET P3.6/SWCLK P3.5/SWDIO VSS VDD VREG33 DN DP SN32F240B Series SN32F247BF (LQFP 48 pins) PWM23B/AIN15/P P1.13/PWM05B PWM08B/AVREF/AIN0/P P1.12/PWM04B PWM09B/AIN1/P P1.11/PWM03B BOOT/PWM10B/AIN2/P P1.10/PWM02B PWM11B/AIN3/P P1.9/PWM01B/UTXD1 PWM12B/AIN4/P2.4 6 PWM13B/AIN5/P2.5 7 PWM14B/AIN6/P2.6 8 PWM15B/AIN7/P2.7 9 PWM16B/AIN8/P PWM17B/AIN9/P PWM18B/AIN10/P SN32F247BF P1.8/PWM00B/URXD1 30 P1.7/PWM23A 29 P1.6/PWM22A 28 P1.5/PWM21A 27 P1.4/PWM20A 26 P1.3/PWM19A 25 VDD SONiX TECHNOLOGY CO., LTD Page 17 Version 1.1

18 PWM17B/AIN9/P2.9 VDDIO1 URXD2/PWM00A/P0.0 UTXD2/PWM01A/P0.1 MISO0/PWM02A/P0.2 MOSI0/PWM03A/P0.3 SCK0/PWM04A/P0.4 SEL0/PWM05A/P0.5 SCL0/PWM06A/P0.6 SDA0/PWM07A/P0.7 UTXD0/PWM10A/P0.10 URXD0/PWM11A/P0.11 VDD PWM19A/P1.3 P2.15/AIN15/PWM23B P3.11 P3.10 P3.9/CT16B0_CAP0 P3.8/CLKOUT P3.7/RESET P3.6/SWDCLK P3.5/SWDIO VSS VDD VREG33 DN DP P1.13/PWM05B SN32F240B Series SN32F246BJ (QFN 46pins) PWM08B/AVREF/AIN0/P P1.12/PWM04B PWM09B/AIN1/P P1.11/PWM03B BOOT/PWM10B/AIN2/P P1.10/PWM02B PWM11B/AIN3/P P1.9/PWM01B/UTXD1 PWM12B/AIN4/P2.4 5 PWM13B/AIN5/P2.5 6 PWM14B/AIN6/P2.6 7 PWM15B/AIN7/P2.7 8 PWM16B/AIN8/P2.8 9 SN32F246BJ P1.8/PWM00B/URXD1 27 P1.7/PWM23A 26 P1.6/PWM22A 25 P1.5/PWM21A 24 P1.4/PWM20A SONiX TECHNOLOGY CO., LTD Page 18 Version 1.1

19 MISO0/PWM02A/P0.2 MOSI0/PWM03A/P0.3 SCK0/PWM04A/P0.4 SEL0/PWM05A/P0.5 SCL0/PWM06A/P0.6 SDA0/PWM07A/P0.7 VSS VDD P3.8/CLKOUT P3.7/RESET P3.6/SWCLK P3.5/SWDIO VSS VDD VREG33 DN SN32F240B Series SN32F2451BJ (QFN 33pins 4x4) CT16B0_CAP0/P DP PWM08B/AVREF/AIN0/P P1.11/PWM03B PWM09B/AIN1/P P1.10/PWM02B BOOT/PWM10B/AIN2/P P1.9/PWM01B/UTXD1 SN32F2451BJ PWM11B/AIN3/P P1.8/PWM00B/URXD1 PWM12B/AIN4/P P1.7/PWM23A PWM13B/AIN5/P P1.6/PWM22A VDDIO VSS 17 P1.5/PWM21A SONiX TECHNOLOGY CO., LTD Page 19 Version 1.1

20 1.5 引脚说明 SN32F240B Series 引脚名称 引脚类型 功能说明 VDD, VSS P 数字电路电源输入端 VDDIO1 P P0.0~P0.7 的 I/O 驱动电源输入端 VREG33 O USB 3.3V 稳压器提供的 3.3V 电压输出 DP/PSCLK DN/PSDATA P0.0/ CT16B1_PWM00A/ URXD2 P0.1/ CT16B1_PWM01A/ UTXD2 P0.2/ CT16B1_PWM02A/ MISO0 P0.3/ CT16B1_PWM03A/ MOSI0 P0.4/ CT16B1_PWM04A/ SCK0 P0.5/ CT16B1_PWM05A/ SEL0 P0.6/ CT16B1_PWM06A/ SCL0 P0.7/ CT16B1_PWM07A/ SDA0 P0.8/ CT16B1_PWM08A P0.9/ CT16B1_PWM09A I/O D+ USB 差分信号线 I/O PSCLK PS/2 的时钟引脚, 带内部 5K 上拉电阻 I/O D- USB 差分信号线 I/O PSDATA PS/2 的数据引脚, 带内部 5K 上拉电阻 I/O P0.0 通用数字输入 / 出引脚 O CT16B1_PWM00A CT16B1 的 PWM 输出 00 I URXD2 UART2 的接收器输入 I/O P0.1 通用数字输入 / 出引脚 O CT16B1_PWM01A CT16B1 的 PWM 输出 01 O UTXD2 UART2 的发送器输出 I/O P0.2 通用数字输入 / 出引脚 O CT16B1_PWM02A CT16B1 的 PWM 输出 02 I/O MISO0 SPI0 的主进从出 I/O P0.3 通用数字输入 / 出引脚 O CT16B1_PWM03A CT16B1 的 PWM 输出 03 I/O MOSI0 SPI0 的主出从进 I/O P0.4 通用数字输入 / 出引脚 O CT16B1_PWM04A CT16B1 的 PWM 输出 04 I/O SCK0 SPI0 的串行时钟 I/O P0.5 通用数字输入 / 出引脚 O CT16B1_PWM05A CT16B1 的 PWM 输出 05 I SEL0 SPI0 的从选择 I/O P0.6 通用数字输入 / 出引脚 O CT16B1_PWM06A CT16B1 的 PWM 输出 06 I/O SCL0 I2C0 时钟输入 / 输出 I/O P0.7 通用数字输入 / 出引脚 O CT16B1_PWM07A CT16B1 的 PWM 输出 07 I/O SDA0 I2C0 数据输入 / 输出 I/O P0.8 通用数字输入 / 出引脚 O CT16B1_PWM08A CT16B1 的 PWM 输出 08 I/O P0.9 通用数字输入 / 出引脚 O CT16B1_PWM09A CT16B1 的 PWM 输出 09 SONiX TECHNOLOGY CO., LTD Page 20 Version 1.1

21 P0.10/ CT16B1_PWM10A/ UTXD0 P0.11/ CT16B1_PWM11A/ URXD0 P0.12/ CT16B1_PWM12A P0.13/ CT16B1_PWM13A P0.14/ CT16B1_PWM14A P0.15/ CT16B1_PWM15A P1.0/ CT16B1_PWM16A P1.1/ CT16B1_PWM17A P1.2/ CT16B1_PWM18A P1.3/ CT16B1_PWM19A P1.4/ CT16B1_PWM20A P1.5/ CT16B1_PWM21A P1.6/ CT16B1_PWM22A P1.7/ CT16B1_PWM23A P1.8/ CT16B1_PWM00B/ URXD1 P1.9/ CT16B1_PWM01B/ UTXD1 P1.10/ CT16B1_PWM02B P1.11/ CT16B1_PWM03B I/O P0.10 通用数字输入 / 出引脚 O CT16B1_PWM10A CT16B1 的 PWM 输出 10 O UTXD0 UART0 的发送器输出 I/O P0.11 通用数字输入 / 出引脚 O CT16B1_PWM11A CT16B1 的 PWM 输出 11 I URXD0 UART0 的接收器输入 I/O P0.12 通用数字输入 / 出引脚 O CT16B1_PWM12A CT16B1 的 PWM 输出 12 I/O P0.13 通用数字输入 / 出引脚 O CT16B1_PWM13A CT16B1 的 PWM 输出 13 I/O P0.14 通用数字输入 / 出引脚 O CT16B1_PWM14A CT16B1 的 PWM 输出 14 I/O P0.15 通用数字输入 / 出引脚 O CT16B1_PWM15A CT16B1 的 PWM 输出 15 I/O P1.0 通用数字输入 / 出引脚 O CT16B1_PWM16A CT16B1 的 PWM 输出 16 I/O P1.1 通用数字输入 / 出引脚 O CT16B1_PWM17A CT16B1 的 PWM 输出 17 I/O P1.2 通用数字输入 / 出引脚 O CT16B1_PWM18A CT16B1 的 PWM 输出 18 I/O P1.3 通用数字输入 / 出引脚 O CT16B1_PWM19A CT16B1 的 PWM 输出 19 I/O P1.4 通用数字输入 / 出引脚 O CT16B1_PWM20A CT16B1 的 PWM 输出 20 I/O P1.5 通用数字输入 / 出引脚 O CT16B1_PWM21A CT16B1 的 PWM 输出 21 I/O P1.6 通用数字输入 / 出引脚 O CT16B1_PWM22A CT16B1 的 PWM 输出 22 I/O P1.7 通用数字输入 / 出引脚 O CT16B1_PWM23A CT16B1 的 PWM 输出 23 I/O P1.8 通用数字输入 / 出引脚 O CT16B1_PWM00B CT16B1 的 PWM 输出 00 I URXD1 UART1 的接收器输入 I/O P1.9 通用数字输入 / 出引脚 O CT16B1_PWM01B CT16B1 的 PWM 输出 01 O UTXD1 UART1 的发送器输出 I/O P1.10 通用数字输入 / 出引脚 O CT16B1_PWM02B CT16B1 的 PWM 输出 02 I/O P1.11 通用数字输入 / 出引脚 O CT16B1_PWM03B CT16B1 的 PWM 输出 03 SONiX TECHNOLOGY CO., LTD Page 21 Version 1.1

22 P1.12/ CT16B1_PWM04B P1.13/ CT16B1_PWM05B P1.14/ CT16B1_PWM06B P1.15/ CT16B1_PWM07B P2.0/ CT16B1_PWM08B/ AIN0 P2.1/ CT16B1_PWM09B/ AIN1 P2.2/ CT16B1_PWM10B/ AIN2/ BOOT P2.3/ CT16B1_PWM11B/ AIN3 P2.4/ CT16B1_PWM12B/ AIN4 P2.5/ CT16B1_PWM13B/ AIN5 P2.6/ CT16B1_PWM14B/ AIN6 P2.7/ CT16B1_PWM15B/ AIN7 P2.8/ CT16B1_PWM16B/ AIN8 P2.9/ CT16B1_PWM17B/ AIN9 I/O P1.12 通用数字输入 / 出引脚 O CT16B1_PWM04B CT16B1 的 PWM 输出 04 I/O P1.13 通用数字输入 / 出引脚 O CT16B1_PWM05B CT16B1 的 PWM 输出 05 I/O P1.14 通用数字输入 / 出引脚 O CT16B1_PWM06B CT16B1 的 PWM 输出 06 I/O P1.15 通用数字输入 / 出引脚 O CT16B1_PWM07B CT16B1 的 PWM 输出 07 I/O P2.0 通用数字输入 / 出引脚 O CT16B1_PWM08B CT16B1 的 PWM 输出 08 I AIN0 ADC 通道输入 0 I/O P2.1 通用数字输入 / 出引脚 O CT16B1_PWM09B CT16B1 的 PWM 输出 09 I AIN1 ADC 通道输入 1 I/O P2.2 通用数字输入 / 出引脚 O CT16B1_PWM10B CT16B1 的 PWM 输出 10 I AIN2 ADC 通道输入 2 I BOOT 引导装载程序检查引脚 I/O P2.3 通用数字输入 / 出引脚 O CT16B1_PWM11B CT16B1 的 PWM 输出 11 I AIN3 ADC 通道输入 3 I/O P2.4 通用数字输入 / 出引脚 O CT16B1_PWM12B CT16B1 的 PWM 输出 12 I AIN4 ADC 通道输入 4 I/O P2.5 通用数字输入 / 出引脚 O CT16B1_PWM13B CT16B1 的 PWM 输出 13 I AIN5 ADC 通道输入 5 I/O P2.6 通用数字输入 / 出引脚 O CT16B1_PWM14B CT16B1 的 PWM 输出 14 I AIN6 ADC 通道输入 6 I/O P2.7 通用数字输入 / 出引脚 O CT16B1_PWM15B CT16B1 的 PWM 输出 15 I AIN7 ADC 通道输入 7 I/O P2.8 通用数字输入 / 出引脚 O CT16B1_PWM16B CT16B1 的 PWM 输出 16 I AIN8 ADC 通道输入 8 I/O P2.9 通用数字输入 / 出引脚 O CT16B1_PWM17B CT16B1 的 PWM 输出 17 I AIN9 ADC 通道输入 9 SONiX TECHNOLOGY CO., LTD Page 22 Version 1.1

23 P2.10/ I/O P2.10 通用数字输入 / 出引脚 CT16B1_PWM18B/ O CT16B1_PWM18B CT16B1 的 PWM 输出 18 AIN10 I AIN10 ADC 通道输入 10 P2.11/ I/O P2.11 通用数字输入 / 出引脚 CT16B1_PWM19B/ O CT16B1_PWM19B CT16B1 的 PWM 输出 19 AIN11 I AIN11 ADC 通道输入 11 P2.12/ I/O P2.12 通用数字输入 / 出引脚 CT16B1_PWM20B/ O CT16B1_PWM20B CT16B1 的 PWM 输出 20 AIN12 I AIN12 ADC 通道输入 12 P2.13/ I/O P2.13 通用数字输入 / 出引脚 CT16B1_PWM21B/ O CT16B1_PWM21B CT16B1 的 PWM 输出 21 AIN13 I AIN13 ADC 通道输入 13 P2.14/ I/O P2.14 通用数字输入 / 出引脚 CT16B1_PWM22B/ O CT16B1_PWM22B CT16B1 的 PWM 输出 22 AIN14 I AIN14 ADC 通道输入 14 P2.15/ I/O P2.15 通用数字输入 / 出引脚 CT16B1_PWM23B/ O CT16B1_PWM23B CT16B1 的 PWM 输出 23 AIN15 I AIN15 ADC 通道输入 15 P3.3 I/O P3.3 通用数字输入 / 出引脚 P3.4 I/O P3.4 通用数字输入 / 出引脚 P3.5/ I/O P3.5 通用数字输入 / 出引脚 SWDIO I/O SWDIO 串行调试输入 / 输出 P3.6/ I/O P3.6 通用数字输入 / 出引脚 SWCLK I/O SWCLK 串行时钟 P3.7/ I/O P3.7 通用数字输入 / 出引脚 RESET I RESET 外部复位输入 P3.8/ I/O P3.8 通用数字输入 / 出引脚 CLKOUT O CLKOUT 时钟输出引脚 P3.9/ I/O P3.9 通用数字输入 / 出引脚 CT16B0_CAP0 I CT16B0_CAP0 CT16B0 的捕获输入 0 P3.10 I/O P3.10 通用数字输入 / 出引脚 P3.11 I/O P3.11 通用数字输入 / 出引脚 SONiX TECHNOLOGY CO., LTD Page 23 Version 1.1

24 1.6 引脚电路图 SN32F240B Series 正常双向 I/O 引脚 RPU GPIOPn_MODE GPIOn_CFG Pin I/O Input Bus GPIOPn_MODE GPIOn_CFG Output Latch I/O Output Bus RPD 双向 I/O 引脚, 与特殊数字输入功能引脚共用, 如 SPI,I2C : RPU Specific Input Function Control Bit GPIOPn_MODE GPIOn_CFG Specific Input Bus Pin I/O Input Bus GPIOPn_MODE GPIOn_CFG Output Latch Output Bus RPD *. Specific Output Function Control Bit *. Some specific functions switch I/O direction directly, not through GPIOn_MODE register. 双向 I/O 引脚, 与特殊数字输出功能引脚共用, 如 SPI,I2C : RPU GPIOPn_MODE GPIOn_CFG Pin I/O Input Bus GPIOPn_MODE GPIOn_CFG Output Latch Output Bus Specific Output Bus RPD *. Specific Output Function Control Bit Specific Input Function Control Bit *. Some specific functions switch I/O direction directly, not through GPIOn_MODE register. SONiX TECHNOLOGY CO., LTD Page 24 Version 1.1

25 2 中央处理器 (CPU) 2.1 存储器 0xFFFF FFFF Reserved 0xE xE Private Peripheral Bus Reserved Debug Control NVIC 0xE000 F000 0xE000 ED00 0xE000 E000 0xE Reserved 0xE x Reserved for External Device Reserved 0xA Reserved for External FMC SYS0 SYS1 USB 0x x x x4005 E000 0x4005 C000 0x Reserved 0x Reserved for Peripheral GPIO 3 GPIO 2 GPIO 1 GPIO 0 PFPA 0x4004 C000 0x4004 A000 0x x x x Peripheral Reserved 0x x x x1FFF 2C40 0x1FFF 2C00 0x1FFF x1FFF x1FFF x1FFF x1FFF 0C00 0x1FFF 0000 Reserved 8 KB SRAM Reserved 64B Code option Reserved 64B Code option Reserved 64B Code option Reserved 3 KB Boot ROM PMU Reserved ADC Reserved SPI 0 Reserved I2C0 UART0 UART1 UART2 WDT 0x x x x x4001 E000 0x4001 C000 0x4001 A000 0x x x x x Reserved Reserved 0x x KB on-chip FLASH CT16B1 CT16B0 0x x x SONiX TECHNOLOGY CO., LTD Page 25 Version 1.1

26 2.2 系统 TICK 定时器 SysTick 定时器是 Cortex-M0 的一个集成部分, 可以产生一个 10ms 的中断, 用于操作系统或者其他系统软件管理 由于 SysTick 定时器是 Cortex-M0 的一部分, 通过提供一个标准定时器 ( 基于 Cortex-M0 的设备上有效 ) 使软件移植更 容易 详情请参考 Cortex-M0 用户指南 操作 SysTick 定时器是一个 24 位递减计数定时器, 递减计数至 0 时产生中断 Systick 定时器由 Systick 控制寄存器控制使能, 时钟频率固定为系统时钟, 它可以提供一个固定的 10ms 中断. SysTick 定时器的框图 SYSTICK_CALIB SYSTICK_LOAD System Clock 1 Load data SYSTICK_VAL 24-bit down counter Private Peripheral Bus Ref. clock 0 clock CLKSOURCE (Fix to 1) SYSTICK_CTRL ENABLE COUNTFLAG TICKINT SysTick interrupt SONiX TECHNOLOGY CO., LTD Page 26 Version 1.1

27 当使能 SysTick 定时器, 定时器从当前数值 (SYSTICK_VAL) 开始递减计数至 0, 在下一个时钟沿将重新载入值到 SysTick 重装值寄存器 (SYSTICK_LOAD) 中, 然后在随后的时钟里递减计数 当计数器计数至 0 时,COUNTFLAG 状态位置 1, 读取后该位清零 注 : 当处理器因调试而停止时, 计数器不会进行递减计数 SYSTICK 用法说明及技巧 中断控制器时钟更新 SysTick 计数器 一些操作可以使 Systick 时钟信号停止以进入低功耗模式, 此时 SysTick 计数器停止计数 软件务必使用整字 (word) 方式操作 Systick 寄存器 SysTick 计数器重装数据和当前数据不会由 HW 来初始化 这意味着 SysTick 计数器正确的初始化流程如下 : 1. 将重装值编程到 SYSYTICK_LOAD 寄存器中 2. 通过写入任意值到 SYSTICK_VAL 寄存器, 将当前值清除 3. 对控制和状态 (SYSTICK_CTRL) 寄存器进行编程 SYSTICK 寄存器 系统 Tick 定时器控制和状态寄存器 (SYSTICK_CTRL) 地址 : 0xE000 E010 ( 参考 Cortex-M0 规格 ) 31:17 Reserved R 0 16 COUNTFLAG SysTick 计数器递减计数到 0 时, 该位置 1, 被读取后清零 15:3 Reserved R 0 2 CLKSOURCE 选择 SysTick 定时器时钟源 R 1 0: 参考时钟 ;1: 系统时钟 ( 固定 ) 1 TICKINT SysTick 中断使能位 0: 禁止 SysTick 中断 1: 使能 SysTick 中断 ( 当 SysTick 计数器递减计数到 0 时产生中断 ) 0 ENABLE SysTick 计数器使能位 0: 禁止 ;1: 使能 SONiX TECHNOLOGY CO., LTD Page 27 Version 1.1

28 系统 Tick 定时器重装值寄存器 (SYSTICK_LOAD) 地址 : 0xE000 E014 ( 参考 Cortex-M0 规格 ) 重装寄存器需设置当 SysTick 递减计数到 0 时, 重新装载的数据 此寄存器由软件来初始化 如果系统或外部时钟运行在预期的频率,SYSTICK_CALIB 寄存器的值可以使用作为重装寄存器的值 下面的示例说明选择 SysTick 定时器重装值, 以获得 10ms 的间隔时间, 系统时钟设置为 48MHz SysTick 时钟 = 系统时钟 = 48MHz RELOAD =(SysTick 时钟频率 10 ms) 1 = (48 MHz 10 ms) 1 = 0x000752FF 31:24 Reserved R 0 23:0 RELOAD 使能计数器且计数到 0 时, 此值重新装入 SYSTICK_VAL 寄存器 系统 Tick 定时器当前值寄存器 (SYSTICK_VAL) 地址 : 0xE000 E018 ( 参考 Cortex-M0 规格 ) 31:24 Reserved R 0 23:0 CURRENT 读取该寄存器会返回 SysTick 计数器的当前值 ; 写入任何值将清除 SysTick 计 数器和 SYSTICK_CTRL 寄存器中的 COUNTFLAG 位 系统 Tick 定时器校准值寄存器 (SYSTICK_CALIB) 地址 : 0xE000 E01C ( 参考 Cortex-M0 规格 ) 31 NOREF 显示是否提供参考时钟给 M0 1: 没有提供参考时钟 30 SKEW 显示 TENMS 的值是否准确, 一个不准确的 TENMS 值会影响 SysTick 作为软 件实时时钟的匹配度 0:TENMS 的值是准确的 ;1:TENMS 的值不准确, 或者不存在 R 1 R 0 29:24 Reserved R 0 23:0 TENMS 为 10ms 定时作用的重装数值, 同时受系统时钟偏差影响 如果这个值读出 为 0, 则此校准值是不确定的 R/W 0x7A11F SONiX TECHNOLOGY CO., LTD Page 28 Version 1.1

29 2.3 嵌套向量中断控制器 (NVIC) 包括内核异常在内的所有中断, 都由 NVIC 来管理 NVIC 的特性如下 : NVIC 支持 32 个向量中断 ; 带有硬件掩膜优先级的 4 级可编程中断优先级 ; 快速响应异常情形和中断处理 ; 对延迟中断的有效处理 ; 对系统控制寄存器的操作 ; 产生软件中断 中断和异常向量 Execution No. Priority Function Description Address Offset Reserved 0x Reset Reset 0x NMI_Handler Non maskable interrupt. 0x HardFault_Handler All class of fault 0x C 4~10 Reserved Reserved Reserved - 11 Settable SVCCalll 0x C 12~13 Reserved Reserved Reserved - 14 Settable PendSV 0x Settable SysTick 0x C 16 Settable IRQ0/NDTIRQ NDT 0x Settable IRQ1/USBIRQ USB 0x Settable IRQ2/ 0x Settable IRQ3/ 0x C 20 Settable IRQ4/ 0x Settable IRQ5/ 0x Settable IRQ6/SPI0IRQ SPI0 0x Settable IRQ7/ 0x C SONiX TECHNOLOGY CO., LTD Page 29 Version 1.1

30 24 Settable IRQ8/ 0x SN32F240B Series 25 Settable IRQ9/ 0x Settable IRQ10/I2C0IRQ I2C0 0x Settable IRQ11/ 0x C 28 Settable IRQ12/UART0IRQ UART0 0x Settable IRQ13/UART1IRQ UART1 0x Settable IRQ14/UART2IRQ UART2 0x Settable IRQ15/ CT16B0IRQ CT16B0 0x C 32 Settable IRQ16/CT16B1IRQ CT16B1 0x Settable IRQ17/ 0x Settable IRQ18/ 0x Settable IRQ19/ 0x C 36 Settable IRQ20/ 0x Settable IRQ21/ 0x Settable IRQ22/ 0x Settable IRQ23/ 0x C 40 Settable IRQ24/ADCIRQ ADC 0x A0 41 Settable IRQ25/WDTIRQ WDT 0x A4 42 Settable IRQ26/LVDIRQ LVD 0x A8 43 Settable IRQ27/ 0x AC 44 Settable IRQ28/P3IRQ GPIO interrupt status of port 3 0x B0 45 Settable IRQ29/P2IRQ GPIO interrupt status of port 2 0x B4 46 Settable IRQ30/P1IRQ GPIO interrupt status of port 1 0x B8 47 Settable IRQ31/P0IRQ GPIO interrupt status of port 0 0x BC SONiX TECHNOLOGY CO., LTD Page 30 Version 1.1

31 2.3.2 NVIC 寄存器 IRQ0~31 中断设置使能寄存器 (NVIC_ISER) 地址 : 0xE000 E100 ( 参考 Cortex-M0 规格 ) ISER 使能中断, 并显示已使能的中断 31:0 SETENA[31:0] 中断设置 - 使能位 写 0: 无影响 ;1: 使能中断 读 0: 禁止中断 ;1: 使能中断 IRQ0~31 中断清零使能寄存器 (NVIC_ICER) 地址 : 0xE000 E180( 参考 Cortex-M0 规格 ) ICER 禁止中断, 并显示已使能的中断 31:0 CLRENA[31:0] 中断清零 - 使能位 写 0: 无影响 ;1: 禁止中断 读 0: 禁止中断 ;1: 使能中断 IRQ0~31 中断挂起设置寄存器 (NVIC_ISPR) 地址 : 0xE000 E200 ( 参考 Cortex-M0 规格 ) ISPR 迫使中断进入挂起状态, 并显示正在挂起的中断 注 : 写 1 到 ISPR 位需符合 : 1 对正处于挂起状态的中断请求无影响 ; 2 禁止的中断设置其状态为挂起状态 31:0 SETPEND[31:0] 中断设置挂起位 写 0: 无影响 ;1: 改变中断状态为挂起状态读 0: 中断未处于挂起状态 ;1: 中断处于挂起状态 SONiX TECHNOLOGY CO., LTD Page 31 Version 1.1

32 IRQ0~31 中断清零挂起寄存器 (NVIC_ICPR) 地址 : 0xE000 E280 ( 参考 Cortex-M0 规格 ) ICPR 可以取消中断的挂起状态, 并显示正在挂起的中断 注 : 写入 1 到 ICPR, 并不影响相应中断的有效状态 31:0 CLRPEND[31:0] 中断清除挂起位 写 0: 无影响 ;1: 禁止中断的挂起状态 读 0: 中断没有处于挂起状态 ;1: 中断处于挂起状态 IRQ0~31 中断优先级寄存器 (NVIC_IPRn)(n=0~7) 地址 : 0xE000 E x4 * n ( 参考 Cortex-M0 规格 ) 中断优先级寄存器为每个中断提供 8-bit 优先权选择级别, 每个寄存器管理 4 个优先级字段 这意味着寄存器的数量是明确 定义的, 且与执行的中断的数量相对应 31:24 PRI_(4*n+3) 每个优先级字段的优先级设定值为 值越小, 对应中断的优先级越高 处理器只处理每个优先级字段的 bits[31:30], 而 bits[29:24] 读出为 0 且写入无效, 因此如果写 255 到优先级寄存器, 寄存器只保存为 :16 PRI_(4*n+2) 每个优先级字段的优先级设定值为 值越小, 对应中断的优先级 越高 处理器只处理每个优先级字段的 bits[23:22], 而 bits[21:16] 读出为 0 且写入无效, 因此如果写 255 到优先级寄存器, 寄存器只保存为 :8 PRI_(4*n+1) 每个优先级字段的优先级设定值为 值越小, 对应中断的优先级 越高 处理器只处理每个优先级字段的 bits[15:14], 而 bits[13:8] 读出为 0 且写入无效, 因此如果写 255 到优先级寄存器, 寄存器只保存为 192 7:0 PRI_4*n 每个优先级字段的优先级设定值为 值越小, 对应中断的优先级 越高 处理器只处理每个优先级字段的 bits[7:6], 而 bits[5:0] 读出为 0 且 写入无效, 因此如果写 255 到优先级寄存器, 寄存器只保存为 192 SONiX TECHNOLOGY CO., LTD Page 32 Version 1.1

33 2.4 应用中断和复位控制 (AIRC) SN32F240B Series 地址 : 0xE000 ED0C ( 参考 Cortex-M0 规格 ) 根据 Cortex-M0 的规格书, 整个 MCU, 包括内核, 都可以通过软件设置 AIRC 寄存器的 SYSRESREQ 位来复位 注 : 在写入数据到该寄存器时, 用户必须同时写入 0x05FA 到 VECTKEY, 否则处理器会忽略此次写动作 31:16 VECTKEY 寄存器关键字 读取为未知数 ; 写入 0x05FA 到 VECTKEY, 否则写动作无效 15 ENDIANESS 数据字节顺序应用位 R 0 0: 小端排列 ;1: 大端排列 14:3 Reserved R 0 2 SYSRESETREQ 系统复位请求位, 该位读取为 0 W 0 0: 没有影响 ;1: 请求系统复位 1 VECTCLRACTIVE 保留以用来调试, 该位读取为 0 写入数据到寄存器时, 用户必须写 W 0 入 0 到该位, 否则会发生未知情形 0 Reserved R 编译选项表 地址 : 0x1FFF :16 Code Security[15:0] 代码加密 000 0x0000: CS0 0x5A5A: CS1 0xA5A5: CS2 Other: CS2 15:0 Reserved R All 0 SONiX TECHNOLOGY CO., LTD Page 33 Version 1.1

34 2.6 核心寄存器简介 SN32F240B Series Register Description( 参考 Cortex-M0 规格 ) R0~R12 通用存储寄存器, 用于存储操作数据 堆栈指针 (SP) 在 thread 模式下,CONTROL 寄存器指示堆栈指针的使用, 主堆栈指针 (MSP) 或者处理堆栈 SP (R13) 指针 (PSP) 在复位以后, 处理器装载地址 0x 处的值到 MSP LR (R14) PC (R15) Link 寄存器 (LR) 存储子程序,CALL 功能及其它异常的返回信息 程序计数器 (PC) 包含了当前程序地址 复位时, 处理器装载地址 0x 的复位向量值到 PC 程序状态寄存器 (PSR) 包含了下面几种 : 应用程序状态寄存器 (APSR); 中断程序状态寄存器 (IPSR); 执行程序状态寄存器 (EPSR) 这些寄存器在 32 位 PSR 中是相互独立的 PSR PRIMASK CONTROL PRIMASK 寄存器可阻止所有已配置优先权的异常事件的发生 处理器在 Thread 模式下运行时, 控制寄存器控制所使用的堆栈 SONiX TECHNOLOGY CO., LTD Page 34 Version 1.1

35 3 系统控制 3.1 复位 发生以下情形时系统复位 : 1. 低电平到 RST 引脚触发复位 ( 外部复位 ); 2. 上电复位 (POR 复位 ); 3. LVD 复位 ; 4. 看门狗定时器复位 (WDT 复位 ) 5. 软件复位 (SW 复位 ) 系统复位源可通过系统复位状态寄存器 (SYS0_RSTST) 的复位标志位来识别 复位源作用于 RST 引脚, 且 RST 引脚在延迟阶段保持低电平 复位程序的复位向量地址位于储存器的 0x 处 详情请参考中断和异常向量 系统复位需要一定的时间, 并提供完整的上电复位规程 对于不同类型的振荡器, 完成复位所需要的时间也不同 因 此,VDD 的上升速度和不同晶振的起振时间都不固定 RC 振荡器的启动时间非常短, 晶体振荡器的启动时间则比较 长 在用户终端使用的过程中, 应注意考虑主机对上电复位时间的要求 下面给出了复位时序图 Power VDD VSS LVD Detect Level External Reset Watchdog Reset VDD VSS Watchdog Normal Run Watchdog Stop External Reset Low Detect External Reset High Detect Watchdog Overflow System Status System Normal Run System Stop Power On Delay Time External Reset Delay Time Watchdog Reset Delay Time SONiX TECHNOLOGY CO., LTD Page 35 Version 1.1

36 3.1.1 上电复位 (POR) 对于大部分上电情形而言, 上电复位与 LVD 操作密切相关 系统上电过程呈逐渐上升的曲线形式, 需要一定时间才能达到 正常电平值 上电复位的时序如下 : 上电 : 系统检测到电源电压上升并等待其稳定 ; 外部复位 ( 使能外部复位引脚时才有效 ): 系统检测外部复位引脚状态 如果不为高电平, 系统保持复位状态直到外部复位引脚的复位结束 系统初始化 : 所有的系统寄存器被置为默认状态 ; 振荡器开始工作 : 振荡器开始提供系统时钟 ; 执行程序 : 上电结束后, 程序从引导装载程序处开始运行 看门狗复位 (WDT RESET) 看门狗复位是系统的一种保护设置 在正常状态下, 由程序将看门狗定时器清零 若出错, 系统处于未知状态, 程序无法清除看门狗, 导致看门狗定时器溢出, 此时系统复位 看门狗复位后, 系统重启进入正常状态 看门狗复位的时序如下 : 看门狗定时器状态 : 系统检测看门狗定时器是否溢出, 若溢出, 则系统复位 ; 系统初始化 : 初始化所有的系统寄存器, 且系统就绪 ; 振荡器起振 : 振荡器正常工作并提供系统时钟 ; 执行程序 : 上电复位结束, 程序从地址 0x00 开始执行, 看门狗定时器应用时需注意 : 清看门狗定时器之前, 请先检查 I/O 口的状态和 RAM 数据, 可降低系统错误率 ; 不能在中断里清看门狗定时器, 否则无法起到侦测程序跑飞的目的 ; 程序中应该只有一个清看门狗的动作, 这种架构能够最大限度的发挥看门狗的保护功能 注 : 关于看门狗定时器的详细内容, 请参阅看门狗定时器有关章节 SONiX TECHNOLOGY CO., LTD Page 36 Version 1.1

37 3.1.3 掉电复位 SN32F240B Series 掉电复位简述 掉电复位针对外部因素引起的系统电压跌落情形 ( 例如 : 干扰或外部负载的变化 ), 掉电复位可能会引起系统工作状态不正常或程序执行错误 VDD V1 System Work Well Area VSS V2 V3 System Work Error Area 掉电复位示意图 电压跌落可能会进入系统死区 系统死区意味着电源不能满足系统的最小工作电压要求 上图是一个典型的掉电复位示意图 图中,VDD 受到严重的干扰, 电压值降的非常低 虚线以上区域系统正常工作, 在虚线以下的区域内, 系统进入错误的工作状态, 这个区域称作死区 当 VDD 跌至 V1 时, 系统仍处于正常状态 ; 当 VDD 跌至 V2 和 V3 时, 系统进入死区, 则容易导致出错 以下情况系统可能进入死区 : DC 运用中 : DC 运用中一般都采用电池供电, 当电池电压过低或单片机驱动负载时, 系统电压可能跌落并进入死区 这时, 电源不会 进一步下降, 达不到系统复位电压, 因此系统维持在死区 AC 运用中 : 系统采用 AC 供电时,DC 电压值由 AC 电源调控 这种电源通常受到 AC 噪音的影响, 使 DC 电压值降低 当外部负载过高, 如驱动马达时, 负载动作, 包括产生的干扰也影响到 DC 电源 VDD 若由于受到干扰而跌落时, 则系统将有可能进入不稳定工作状态 在 AC 运用中, 系统上 下电时间都较长 其中, 上电时序保护使得系统正常上电, 但下电过程却和 DC 运用中情形类似, AC 电源关断后,VDD 电压在缓慢下降的过程中易进入死区 SONiX TECHNOLOGY CO., LTD Page 37 Version 1.1

38 系统工作电压简述 为了改善系统掉电复位的性能 首先必须明确系统具有的最低工作电压值 系统最低工作电压与系统执行速度和电压值有关 不同的系统执行速度下最低工作电压值也不同 电气特性章节说明了系统电压与执行速率之间的关系 Vdd (V) System Mini. Operating Voltage. Normal Operating Area Reset Area Dead-Band Area System Reset Voltage. System Rate (Fcpu) 如上图所示, 系统正常工作电压区域一般高于系统复位电压, 同时复位电压由低电压检测 (LVD) 电平决定 当系统执行 速度提高时, 系统最低工作电压也相应提高, 甚至高于系统复位电压 系统复位电压之上的系统最低工作电压即为死区 掉电复位性能改进 如何改善系统掉电复位性能, 有以下几点建议 : LVD 复位 ; 看门狗复位 ; 降低系统工作速度 ; 采用外部复位电路 ( 稳压二极管复位电路, 电压偏移复位电路, 外部 IC 复位 ) 情形 注 : 稳压二极管复位电路 电压偏移复位电路 和 外部 IC 复位 能够充分改进掉电复位 DC 低电量和 AC 缓慢掉电的 SONiX TECHNOLOGY CO., LTD Page 38 Version 1.1

39 LVD 复位 : Power VDD VSS LVD Detect Voltage Power is below LVD Detect Voltage and System Reset. System Status System Normal Run System Stop Power On Delay Time 低电压检测 (LVD) 是 SONiX 32 位单片机内置的掉电复位保护装置, 当 VDD 跌落并低于 LVD 检测电压值时,LVD 给出一个中断信号到 NVIC, 这个信号可以使能 NVIC 的中断使能寄存器中的中断, 以便触发 CPU 中断 ; 若不能触发中断, 则 SW 通过读取寄存器的显示状态来监控该信号 可以选择一个附加的极限值强制系统复位 不同的单片机有不同的 LVD 检测电平,LVD 检测电平值仅为一个电压点, 并不能覆盖所有死区范围 因此采用 LVD 来改进掉电复位依赖于系统要求和环境状况 电源变化较大时,LVD 能够起到保护作用, 如果电源变化触发 LVD, 系统工作仍出错, 那么 LVD 就不能起到保护作用, 就需要采用其它复位方法 更多 LVD 信息请参考电气特性章节 看门狗复位 : 看门狗定时器用于保证系统正常工作 通常, 会在主程序中将看门狗定时器清零, 但不要在多个分支程序中清看门狗 若程序正常运行, 看门狗不会复位 当系统进入死区或程序运行出错的时候, 看门狗定时器不会被程序清零 看门狗定时器继续计数直至溢出, 系统复位 看门狗定时器的溢出信号触发系统复位, 并在复位流程后返回正常模式 这种方法还能改进掉电复位, 并保证系统返回正常模式 如果看门狗复位后电源仍处于死区, 则系统复位失败, 保持复位状态, 直到系统工作电压恢复到正常值 降低系统工作速度 : 系统工作速度越快, 且存在死区, 降低系统工作速度可以降低系统进入死区几率 最低工作电压值越低, 系统工作速度也越低 所以, 可选择合适的电压以避免系统进入死区, 并找出对应的系统工作速度 调整系统工作速度为这个值, 系统将从死区退出 这个方法需要调整整个程序时序使其满足系统要求 外部电路复位 : 外部复位也能够完全改善掉电复位性能, 是一个完整的方案 有三种外部复位方式可改善掉电复位性能 : 稳压二极管复位电路, 电压偏移复位电路和外部 IC 复位 它们都采用外部复位信号控制单片机从掉电状态或死区复位 下一章将介绍外部复位信息 SONiX TECHNOLOGY CO., LTD Page 39 Version 1.1

40 3.1.4 外部复位 外部复位功能由外部复位引脚控制寄存器 (SYS0_EXRSTCTRL) 控制, 初始值为 1, 即使能外部复位功能 外部复位引 脚为施密特触发结构, 低电平有效 复位引脚处于高电平时, 系统正常运行 当复位引脚输入低电平信号时, 系统复位 外部复位操作在上电和正常工作模式时有效 需要注意的是, 在系统上电完成后, 外部复位引脚必须输入高电平, 否则系统将一直保持在复位状态 外部复位的时序如下 : 外部复位 ( 当且仅当外部复位引脚为使能状态 ): 系统检测外部复位引脚的状态, 如果外部复位引脚不为高电平, 则系统会一直保持在复位状态, 直到外部复位结束 ; 系统初始化 : 所有的系统寄存器被置为初始状态, 且系统就绪 ; 振荡器开始工作 : 振荡器开始提供系统时钟 ; 执行程序 : 上电结束后, 程序从引导装载程序处开始运行 外部复位可以在上电过程中使系统复位 良好的外部复位电路可以保护系统以免进入未知的工作状态, 如 AC 应用中的掉 电复位等 RC 复位电路 VDD R1 47K ohm C1 0.1uF R2 100 ohm RST VSS MCU VCC GND 上图为一个由电阻 R1 和电容 C1 组成的基本 RC 复位电路, 它在系统上电的过程中能够为复位引脚提供一个缓慢上升的 复位信号 这个复位信号的上升速度低于 VDD 的上电速度, 系统根据计时差别发出上电信号 注 : 此 RC 复位电路不能解决非正常上电和掉电复位问题 SONiX TECHNOLOGY CO., LTD Page 40 Version 1.1

41 二极管 & RC 复位电路 VDD DIODE C1 0.1uF R1 47K ohm R2 100 ohm RST VSS MCU VCC GND 上图是更优化的复位电路 R1 和 C1 电路操作与基本复位电路类似, 同样是提供上电信号 对于电源异常情况, 复位电 路可以提供简易的保护措施 二极管正向导通高电压至 VDD, 使复位引脚电压值与 VDD 电压保持一致, 这种架构能解决 轻微掉电复位问题 注 : 基本复位电路 和 二极管及 RC 复位电路 中的电阻 R2 100ohm 都是必不可少的限流电阻, 限制来自外部 电容 C 的电流流入复位引脚, 以避免复位引脚 ESD(Electrostatic Discharge) 或 EOS(Electrical Over-stress) 击 穿 SONiX TECHNOLOGY CO., LTD Page 41 Version 1.1

42 稳压二级管复位电路 VDD R1 33K ohm R2 10K ohm B E C Q1 RST MCU Vz R3 40K ohm VSS VCC GND 稳压二极管复位电路是一种简单的 LVD 电路, 基本上可以完全解决掉电复位问题 如上图电路中, 利用稳压管的击穿电压作为电路复位检测值, 当 VDD 高于 Vz + 0.7V 时,PNP 三极管 C 端输出高电平, 单片机正常工作 ; 当 VDD 低于 Vz + 0.7V 时,PNP 三极管 C 端输出低电平, 单片机复位 稳压管规格不同则电路复位检测值不同, 根据电路的要求选择合适的稳压二极管 电压偏置复位电路 VDD R1 47K ohm R2 10K ohm B E C R3 2K ohm Q1 RST MCU VSS VCC GND 电压偏置复位电路是一种低成本的 LVD 电路, 基本上可以完全解决掉电复位问题 与稳压二极管复位电路相比, 这种复位电路的检测电压值的精确度有所降低 电路中, 利用 R1 和 R2 偏置电压作为电路复位检测值, 当 VDD 电压值高于或等于分压值 0.7V x(r1 + R2)/ R1 时,PNP 三极管 C 端输出高电平, 单片机正常工作 ;VDD 低于 0.7V x(r1 + R2) / R1 时,PNP 三极管 C 端输出低电平, 单片机复位 SONiX TECHNOLOGY CO., LTD Page 42 Version 1.1

43 R1,R2 电阻决定复位检测电压 根据电路的要求选择合适的 R1,R2 值 上图中, 单片机复位引脚上电压随 VDD 电压 变化而变化, 两者之间的差值为 0.7V 如果 VDD 跌落并低于复位引脚复位检测值, 那么系统将被复位 如果希望提升电 路复位电平, 可将分压电阻设置为 R2>R1, 并选择 VDD 与 C 端之间的结电压高于 0.7V 分压电阻 R1 和 R2 在电路中要 耗电, 此处的功耗必须计入整个系统的功耗中 注 : 在电源不稳定如掉电复位的情况下 稳压二极管复位电路 和 偏压复位电路 能够保护电路在电压跌落时 避免系统出错 当电压跌落至低于复位检测值时, 将触发系统复位, 系统执行复位程序 从而保证系统能在电源不 稳定的情况下正常工作 外部复位 IC VDD VDD Reset IC Bypass Capacitor 0.1uF RST RST MCU VSS VSS VCC GND 外部复位电路还可以使用外部复位 IC 来增强 MCU 复位的可靠性 这个方案成本较高但效果很好 根据不同的应用和系统 要求, 选择合适的复位 IC, 复位电路可以解决所有与电源变化有关的问题 软件复位 整个单片机, 包括内核部分, 都可以由软件通过设置 Cortes-M0 规格中位于 AIRC( 应用中断和复位控制 ) 寄存器中的 SHYSRESREQ 位来复位 软件初始化系统复位的流程如下 : 1 通过设置 SYSRESREQ 位初始化软件复位 ; 2 宣告内部复位; 3 内部复位完成后, 单片机从存储器加载初始的堆栈指针, 初始的程序计数器, 并由程序计数器指定第一条指令, 然后开始执行程序 SONiX TECHNOLOGY CO., LTD Page 43 Version 1.1

44 3.2 系统时钟 SN32F240B Series 不同的时钟源都可用来驱动系统时钟 (SYSCLK): 48 MHz 内部高速 RC 时钟 (IHRC) 32 KHz 内部低速 RC 时钟 (ILRC) 每个时钟源在不使用时都可以独立的打开或关闭, 以使功耗达到最优状态 该单片机为双时钟系统, 包括高速时钟和低速时钟 高速时钟由外部振荡电路和内部 PLL 电路提供 ; 低速时钟则由内部低 速 RC 振荡电路 (ILRC 32KHz) 提供 内部 RC 时钟源 内部高速 RC 振荡器 (IHRC) 内部高速 48MHz RC 振荡器, 在普通环境下, 其精确度为 ±0.25% 通过模拟模块控制寄存器 (SYS0_ANBCLTRL) 中 的 IHRCEN 位, 可以使 IHRC 自由切换开关 内部低速 RC 振荡器 (ILRC) 系统低速时钟源即内置的低速振荡器, 采用 RC 振荡电路 低速时钟的输出频率受系统电压和环境温度的影响, 通常为 32KHZ 注 : 只能通过 HW 来切换 ILRC 的状态 SONiX TECHNOLOGY CO., LTD Page 44 Version 1.1

45 3.2.2 系统时钟 (SYSCLK) 选择 系统复位后,IHRC 作为系统时钟 当直接使用时钟源作为系统时钟时,IHRC 仍然正常工作 若一个时钟源转换到另一个时钟源时, 需等待目标时钟源准备好 ( 启动延迟后时钟稳定 ) 若选择一个未准备好的时钟源, 则需等待其准备好之后才会开始转换 SYS0_CSST 寄存器的 Ready 位显示已经准备好的时钟源,SYS0_CLKCFG 寄存器的 SYSCLKST 位则显示的是当前作为系 统时钟的时钟源 CLOCK-OUT 功能 单片机时钟输出 (CLKOUT) 性能允许时钟输出到外部 CLKOUT 引脚 此对应 GPIO 的配置寄存器需设定成时钟输出功能 3 种时钟信号可以作为时钟输出 : 1. HCLK 2. IHRC 3. ILRC 由 SYS1_AHBCLKEN 寄存器的 CLKOUTSEL 位选择控制 SONiX TECHNOLOGY CO., LTD Page 45 Version 1.1

46 3.3 系统控制寄存器 0 基地址 : 0x 模拟模块控制寄存器 (SYS0_ANBCTRL) 地址偏移量 : 0x00 复位值 : 0x 注 : 若选择 IHRC 作为系统时钟或者准备作为系统时钟, 则 HRCEN 位不能被清零 31:1 Reserved R 0 0 IHRCEN 内部高速时钟使能位 R/W 1 注 : 若选择 IHRC 作为系统时钟或者准备作为系统时钟, 则该位不能被清零 0: 禁止内部 48MHz RC 振荡器 ; 1: 使能内部 48MHz RC 振荡器 时钟源状态寄存器 (SYS0_CSST) 地址偏移量 : 0x08 31:1 Reserved R 0 0 IHRCRDY IHRC 时钟准备标志位 IHRCEN 位清零之后,6 个 IHRC 时钟周期后 HW 将清零 IHRCRDY 0:IHRC 没有准备好 ; 1:IHRC 已经准备好 R 1 SONiX TECHNOLOGY CO., LTD Page 46 Version 1.1

47 3.3.3 系统时钟配置寄存器 (SYS0_CLKCFG) 地址偏移量 : 0x0C 31:6 Reserved R 0 4 SYSCLKST 系统时钟切换状态 通过 HW 设置和清零, 以显示当前作为系统时钟的时钟源 0:IHRC 作为系统时钟 ; 1:ILRC 作为系统时钟 ; R 0 3:1 Reserved R 0 0 SYSCLKSEL 系统时钟切换 通过 SW 设置和清零 0: IHRC; 1: ILRC; 其它 : 保留 AHB 时钟分频寄存器 (SYS0_AHBCP) 地址偏移量 : 0x10 31:3 Reserved R 0 2:0 AHBPRE[2:0] AHB 时钟源分频值 000: SYSCLK / 1 001: SYSCLK / 2 010: SYSCLK / 4 011: SYSCLK / 8 100: SYSCLK / : SYSCLK / : SYSCLK / : SYSCLK / 128 其他 : 保留 R/W 010b SONiX TECHNOLOGY CO., LTD Page 47 Version 1.1

48 3.3.5 系统复位状态寄存器 (SYS0_RSTST) 地址偏移量 : 0x14 该寄存器包括复位源 31:5 Reserved R 0 4 PORRSTF POR 复位标志位 发生 POR 复位时, 由 HW 设置 0:Read 没有发生 POR 复位 ;Write 将该位清零 ; 1: 发生 POR 复位 3 EXTRSTF 外部复位标志位 从复位引脚发生复位时, 由 HW 设置 0:Read 没有从复位引脚发生复位 ;Write 将该位清零 ; 1: 从复位引脚发生复位 2 LVDRSTF LVD 复位标志位 发生 LVD 复位时, 由 HW 设置 0:Read 没有发生 LVD 复位 ;Write 将该位清零 ; 1: 发生 LVD 复位 1 WDTRSTF WDT 复位标志位 发生 WDT 复位时, 由 HW 设置 0:Read 没有发生 WDT 复位 ;Write 将该位清零 ; 1: 发生 WDT 复位 0 SWRSTF 软件复位标志位 发生软件复位时, 由 HW 设置 0:Read 没有发生软件复位 ;Write 将该位清零 ; 1: 发生软件复位 R/W 1 R/W LVD 控制寄存器 (SYS0_LVDCTRL) 地址偏移量 : 0x18 LVD 控制寄存器选择 4 个独立的临界值, 用于产生一个 LVD 中断给 NVIC 或 LVD 复位 31:16 Reserved R 0 15 LVDEN 14 LVDRSTEN LVD 使能 0: 禁止 1: 使能 LVD 复位使能 0: 禁止 标志 1: 使能 复位. 13:7 Reserved R 0 6:4 LVDINTLVL[2:0] LVD 中断电平 010: 2.40V. R/W 010b 011: 2.70V. 100: 3.00V. 101: 3.60V. 其它 : 保留 SONiX TECHNOLOGY CO., LTD Page 48 Version 1.1

49 3 Reserved R 0 2:0 LVDRSTLVL[2:0] LVD 复位电平 010: 2.40V. R/W 010b 011: 2.70V. 100: 3.00V. 101: 3.60V. 其它 : 保留 外部复位引脚控制寄存器 (SYS0_EXRSTCTRL) 地址偏移量 : 0x1C 31:1 Reserved R 0 0 RESETDIS 外部复位引脚禁止位 0: 使能外部复位引脚 (P3.7 作为复位引脚 ); 1: 禁止 (P3.7 作为 GPIO 引脚 ) R/W SWD 引脚控制寄存器 (SYS0_SWDCTRL) 地址偏移量 : 0x20 31:1 Reserved R 0 0 SWDDIS SWD 引脚禁止位 0: 使能 SWD 引脚 (P3.5 作为 SWDIO 引脚,P3.6 作为 SWCLK 引脚 ); 1: 禁止 (P3.5 和 P3.6 作为 GPIO 引脚 ) SONiX TECHNOLOGY CO., LTD Page 49 Version 1.1

50 3.3.9 中断向量表对应寄存器 (SYS0_IVTM) 地址偏移量 : 0x24 该寄存器决定 ARM 中断向量表是否映射于 ROM 或 SRAM 31:16 IVTMKEY[15:0] IVTM 寄存器键 读为 0 对该寄存器的写操作无效, 除非同时将 0xA5A5 写入 IVTMKEY W 0 15:2 Reserved R 0 1:0 IVTM[1:0] 中断表对应选择 00: 对应于 Boot ROM 01: 对应于 User ROM 10: 对应于 SRAM 11: 保留 R/W By BLEN in code option 噪声侦测控制寄存器 (SYS0_NDTCTRL) 地址偏移量 : 0x28 31:2 Reserved R 0 1 NDT5V_IE NDT0: 禁止 VDD 5V 中断使能位 0: 禁止 1: 使能 (NDT5V IP 检测到的 IC VDD 5V 域内的噪声会触发 NDT 中断 IRQ0) 0 Reserved R 噪声侦测状态寄存器 (SYS0_NDTSTS) 地址偏移量 : 0x2C 31:2 Reserved R 0 1 NDT5V_DET NDT5V IP 的电源噪声状态 0: 没有检测到电源噪声 1: NDT5V IP 检测到电源噪声 * 通过写 1 到 SYS0_NDTSTS[1] 清零 0 Reserved R 0 SONiX TECHNOLOGY CO., LTD Page 50 Version 1.1

51 3.4 系统控制寄存器 1 SN32F240B Series 基地址 : 0x4005 E AHB 时钟使能寄存器 (SYS1_AHBCLKEN) 地址偏移量 : 0x00 SYS_AHBCLKEN 寄存器使能 AHB 时钟提供给独立系统和外设模块 注 : 1. 禁止时钟时, 不能通过 SW 读取外设模块的值, 该值返回为 0 2. 若 CLKOUTSEL 不为 0, 则 HW 直接将 GPIO 替换为 CLKOUT 功能 31 Reserved R 0 30:28 CLKOUTSEL[2:0] 时钟输出源 000: 禁止 001: ILRC 时钟 100: HCLK 101: IHRC 时钟 其他 : 27:25 Reserved R 0 24 WDTCLKEN 使能 WDT 时钟 0: 禁止 1: 使能 R/W 1 23:22 Reserved R 0 21 I2C0LKEN 使能 I2C0 时钟 0: 禁止 1: 使能 20:19 Reserved R 0 18 UART2CLKEN 使能 UART2 时钟 0: 禁止 1: 使能 17 UART1CLKEN 使能 UART1 时钟 0: 禁止 1: 使能 16 UART0CLKEN 使能 UART0 时钟 0: 禁止 1: 使能 15:13 Reserved R 0 SONiX TECHNOLOGY CO., LTD Page 51 Version 1.1

52 12 SPI0CLKEN 使能 SPI0 时钟 0: 禁止 1: 使能 11 ADCCLKEN 使能 ADC 时钟 0: 禁止 1: 使能 SN32F240B Series 10:8 Reserved R 0 7 CT16B1CLKEN 使能 CT16B1 时钟 0: 禁止 1: 使能 6 CT16B0CLKEN 使能 CT16B0 时钟 0: 禁止 1: 使能 5 Reserved R 0 4 USBCLKEN 使能 USB 时钟 0: 禁止 1: 使能 3 P3CLKEN 使能 P3 时钟 0: 禁止 1: 使能 2 P2CLKEN 使能 P2 时钟 0: 禁止 1: 使能 1 P1CLKEN 使能 P1 时钟 0: 禁止 1: 使能 0 P0CLKEN 使能 P0 时钟 0: 禁止 1: 使能 R/W 1 R/W 1 R/W 1 R/W 1 SONiX TECHNOLOGY CO., LTD Page 52 Version 1.1

53 3.4.2 APB 时钟预分频寄存器 1 (SYS1_APBCP1) 地址偏移量 : 0x08 注 : 改变预分频值后, 必须通过 SYS1_PRST 寄存器复位相应的外设 31 Reserved R 0 30:28 CLKOUTPRE [2:0] 时钟输出源预分频值 000: 时钟输出源 /1 001: 时钟输出源 /2 010: 时钟输出源 /4 011: 时钟输出源 /8 100: 时钟输出源 /16 101: 时钟输出源 /32 110: 时钟输出源 /64 111: 时钟输出源 /128 其它 : 保留 27:23 Reserved R 0 22:20 WDTPRE[2:0] WDT 时钟源预分频值 000: WDT_PCLK = WDT 时钟源 /1 001: WDT_PCLK = WDT 时钟源 /2 010: WDT_PCLK = WDT 时钟源 /4 011: WDT_PCLK = WDT 时钟源 /8 100: WDT_PCLK = WDT 时钟源 /16 101: WDT_PCLK = WDT 时钟源 /32 其它 : 保留 19:0 Reserved R 0 SONiX TECHNOLOGY CO., LTD Page 53 Version 1.1

54 4 系统操作模式 4.1 概述 针对不同的时钟速率以及省电等原因, 单片机内置 3 种操作模式 这些模式控制振荡器,OP 代码的操作和模拟外设的操作 普通模式 睡眠模式 深度睡眠模式 4.2 普通模式 普通模式下,ARM Cortex-M0 核, 存储器, 外设都由系统时钟来计时 SYS1_AHBCLKEN 寄存器控制外设的运行状况 所选的外设都有独立的外设时钟, 同时它们不光有系统时钟, 还有自己的时钟分频器, 而且这些外设时钟还可以单独禁止 通过模块的使能位, 可以随时单独的控制各种不同的模拟模块 (IHRC,Flash 和 LVD) 4.3 低功耗模式 有 2 种模式来降低功耗 : 睡眠模式和深度睡眠模式 PMU_CTRL 寄存器控制进入的模式 根据需要, 通过改变时钟源, 和或者改变系统时钟的分频值来改变系统时钟速率, 从而可以根据应用需求在处理速度和系统功耗之间找到一个平衡点 程序运行期间, 功耗管理可选择关闭芯片上各独立外设的时钟, 通过关闭应用中未使用外设的时钟来达到降低功耗的目的 所选外设时钟都有时钟分频器, 用于功耗管理 注 : 1: 深度睡眠模式下, 不支持调试模式 2: 低功耗模式下, 将没有输出的引脚设置为合适的模式以减小功耗, 强烈建议将这些引脚设置为输入上拉模式 SONiX TECHNOLOGY CO., LTD Page 54 Version 1.1

55 4.3.1 睡眠模式 SN32F240B Series 睡眠模式下,ARM Cortex-M0 核的系统时钟停止工作, 指令也暂停执行 外设功能, 若在 SYS1_AHBCLKEN 寄存器中使能时钟, 则睡眠模式下继续工作, 并且会产生中断使处理器恢复运行 睡眠模式消除了处理器, 内存系统和相关的控制器以及内部总线使用的动态功耗 模拟模块 (IHRC,Flash 和 LVD) 的电源状态由模块的使能位决定 处理器状态和寄存器, 外设寄存器和内部 SRAM 值都保持原样, 引脚的逻辑电平保持静态 中断发生时可以将系统从睡眠模式下唤醒 睡眠模式下,RESET 引脚保持有效状态 通过下面的步骤, 可以进入睡眠模式 : 1. 写入 4 到 PMU_CTRL 寄存器 2. 执行 ARM Cortex-M0 WFI 指令 深度睡眠模式 在深度睡眠模式下,ARM Cortex-M0 核的系统时钟停止工作, 指令也暂停执行 振荡器的电源状态处于掉电模式时, 外设功能的时钟停止工作, 时钟源也停止工作 处理器状态和寄存器, 外设寄存器和内部 SRAM 值都保持原样, 引脚的逻辑电平保持静态 所有的 GPIO 引脚都有唤醒功能, 用户必须通过 GPIO 寄存器设置 GPIO 引脚的边沿极性, 使其可以唤醒 MCU, 只有边沿触 发才有唤醒功能 当 GPIO 产生 GPIO 中断事件到 ARM 内核时, 系统退出深度睡眠模式, 此外, 必须在 NVIC 中使能中断对 应的输入引脚 唤醒时间为 56us,VDD=3.3V 深度睡眠模式下,RESET 引脚保持有效状态 通过下面的步骤, 可以进入深度睡眠模式 : 1. 写入 2 到 PMU_CTRL 寄存器中 2. 执行 ARM WFI 指令 深度睡眠模式的优点在于, 它可以使振荡器等发生模块处于掉电状态, 从而更好地降低睡眠模式的动态功耗 此外, 在深 度睡眠模式下可使 Flash 处于掉电状态以降低静态的漏电功耗, 但这也会导致唤醒 Flash 存储器需要更长的时间 SONiX TECHNOLOGY CO., LTD Page 55 Version 1.1

56 4.4 系统唤醒 SN32F240B Series 概述 低功耗模式下, 系统不执行程序 唤醒触发信号可以将系统唤醒进入普通模式 唤醒功能内置中断操作, 系统被唤醒时触 发系统执行中断服务程序 睡眠模式的唤醒触发源为所有中断和 RESET 引脚 深度睡眠的唤醒触发源为 GPIO 中断和 RESET 引脚 唤醒时间 系统进入睡眠模式后, 由 F/W 使能或禁止高速时钟 若高速时钟停止运行, 单片机需要从睡眠模式下唤醒, 则单片机需要等待 2048 个外部高速振荡器时钟周期和 32 个内部高速振荡器时钟周期, 以使振荡电路进入稳定工作状态, 等待的这一段时间就称为唤醒时间 唤醒时间结束后, 系统才进入到普通模式 注 : 若时钟没有停止运行, 则系统从睡眠模式唤醒就不需要唤醒时间 系统在深度睡眠模式下时, 高速时钟停止运行 单片机从深度睡眠模式唤醒时, 单片机需要等待 10us 的唤醒时间 唤醒 时间结束后, 系统才进入到普通模式 IHRC 唤醒时间的计算如下 : HRC 的总唤醒时间 = 10us 例 :FIHRC=48MHz, 唤醒时间计算如下 总的唤醒时间 = 10us (FIHRC = 48MHz) 注 : 高速时钟的启动时间与高速时钟的 VDD 和振荡器类型有关 SONiX TECHNOLOGY CO., LTD Page 56 Version 1.1

57 4.5 PMU 状态结构图 SN32F240B Series 4.6 操作模式 COMPARSION 表 工作模式 普通模式 睡眠模式 低功耗模式 深度睡眠模式 HCLK IHRC, ILRC IHRC ILRC - IHRC HW 使能 By IHRCEN FW 禁止 HW 禁止 ILRC HW 使能 HW 使能 HW 使能 HW 禁止 Cortex-M0 运行 停止 停止 停止 Flash ROM 使能 / 待机 待机 待机 使能 / 待机 Data RAM 使能 / 待机 待机 待机 待机 3-level LVD By LVDEN By LVDEN By LVDEN USB By USBEN By USBEN 禁止 外设 外设的使能位 禁止 HCLK IO 状态 输出低电平 输出低电平 输出低电平 唤醒源 N/A 所有中断,RESET 引脚 GPIO0/1/2/3 中断, RESET 引脚 SONiX TECHNOLOGY CO., LTD Page 57 Version 1.1

58 4.7 操作模式 COMPARSION 表 低功耗模式 工作模式 普通模式 睡眠模式 深度睡眠模式 HCLK IHRC, ILRC IHRC ILRC - IHRC HW 使能 By IHRCEN FW 禁止 HW 禁止 ILRC HW 使能 HW 使能 HW 使能 HW 禁止 Cortex-M0 运行 停止 停止 停止 Flash ROM 使能 / 待机 待机 待机 使能 / 待机 Data RAM 使能 / 待机 待机 待机 待机 3-level LVD By LVDEN By LVDEN By LVDEN USB By USBEN By USBEN 禁止 外设 外设的使能位 禁止 HCLK IO 状态 输出低电平 输出低电平 输出低电平 唤醒源 N/A 所有中断,RESET 引脚 GPIO0/1/2/3 中断, RESET 引脚 4.8 PMU 寄存器 基地址 : 0x 电源控制寄存器 (PMU_CTRL) 地址偏移量 : 0x40 电源控制寄存器可选择是否进入 ARM Cortex-M0 所控制的不同掉电模式 ( 睡眠模式或深度睡眠模式 ), 并且提供独立的 标志位来指示睡眠模式或深度睡眠模式 31:3 Reserved R 0 2:0 MODE[2:0] 低功耗模式选择控制位 010:WFI 指令使 MCU 进入深度睡眠模式 : 100:WFI 指令使 MCU 进入睡眠模式 : 其它 : 禁止 SONiX TECHNOLOGY CO., LTD Page 58 Version 1.1

59 5 外设功能引脚配置 (PFPA) 5.1 概述 PFPA 寄存器用于在不同的封装中为外部引脚灵活地提供不同的数字外设功能 5.2 特性 灵活地提供引脚的数字外设功能 支持 PWM 功能 5.3 引脚配置表 Peripheral Pin Name PA PB CT16B1_PWM00 P0.0 P1.8 CT16B1_PWM01 P0.1 P1.9 CT16B1_PWM02 P0.2 P1.10 CT16B1_PWM03 P0.3 P1.11 CT16B1_PWM04 P0.4 P1.12 CT16B1_PWM05 P0.5 P1.13 CT16B1_PWM06 P0.6 P1.14 CT16B1_PWM07 P0.7 P1.15 CT16B1_PWM08 P0.8 P2.0 CT16B1_PWM09 P0.9 P2.1 CT16B1_PWM10 P0.10 P2.2 CT16B1_PWM CT16B1_PWM11 P0.11 P2.3 CT16B1_PWM12 P0.12 P2.4 CT16B1_PWM13 P0.13 P2.5 CT16B1_PWM14 P0.14 P2.6 CT16B1_PWM15 P0.15 P2.7 CT16B1_PWM16 P1.0 P2.8 CT16B1_PWM17 P1.1 P2.9 CT16B1_PWM18 P1.2 P2.10 CT16B1_PWM19 P1.3 P2.11 CT16B1_PWM20 P1.4 P2.12 CT16B1_PWM21 P1.5 P2.13 CT16B1_PWM22 P1.6 P2.14 CT16B1_PWM23 P1.7 P2.15 SONiX TECHNOLOGY CO., LTD Page 59 Version 1.1

60 5.4 PFPA 寄存器 SN32F240B Series 基地址 : 0x PFPA CT16B1 寄存器 (PFPA_CT16B1) 地址偏移量 : 0x00 31:24 Reserved R 0 23 PWM23 下列引脚配置为 CT16B1_PWM23. 1: P2.15; 0: P PWM22 下列引脚配置为 CT16B1_PWM22. 1: P2.14; 0: P PWM21 下列引脚配置为 CT16B1_PWM21. 1: P2.13; 0: P PWM20 下列引脚配置为 CT16B1_PWM20. 1: P2.12; 0: P PWM19 下列引脚配置为 CT16B1_PWM19. 1: P2.11;0: P PWM18 下列引脚配置为 CT16B1_PWM18. 1: P2.10;0: P PWM17 下列引脚配置为 CT16B1_PWM17. 1: P2.9;0: P PWM16 下列引脚配置为 CT16B1_PWM16. 1: P2.8;0: P PWM15 下列引脚配置为 CT16B1_PWM15. 1: P2.7;0: P PWM14 下列引脚配置为 CT16B1_PWM14. 1: P2.6;0: P PWM13 下列引脚配置为 CT16B1_PWM13. 1: P2.5;0: P PWM12 下列引脚配置为 CT16B1_PWM12. 1: P2.4;0: P PWM11 下列引脚配置为 CT16B1_PWM11. 1: P2.3;0: P PWM10 下列引脚配置为 CT16B1_PWM10. 1: P2.2;0: P PWM09 下列引脚配置为 CT16B1_PWM09. 1: P2.1;0: P0.9 8 PWM08 下列引脚配置为 CT16B1_PWM08. 1: P2.0;0: P0.8 SONiX TECHNOLOGY CO., LTD Page 60 Version 1.1

61 7 PWM07 下列引脚配置为 CT16B1_PWM07. 1: P1.15;0: P0.7 6 PWM06 下列引脚配置为 CT16B1_PWM06. 1: P1.14;0: P0.6 5 PWM05 下列引脚配置为 CT16B1_PWM05. 1: P1.13;0: P0.5 4 PWM04 下列引脚配置为 CT16B1_PWM04. 1: P1.12;0: P0.4 3 PWM03 下列引脚配置为 CT16B1_PWM03. 1: P1.11;0: P0.3 2 PWM02 下列引脚配置为 CT16B1_PWM02. 1: P1.10;0: P0.2 1 PWM01 下列引脚配置为 CT16B1_PWM01. 1: P1.9;0: P0.1 0 PWM00 下列引脚配置为 CT16B1_PWM00. 1: P1.8;0: P0.0 注 : (1) 同一 PWMn 只能选择 PA 或 PB 输出 例如,PWM00 只能选择 PA(P0.0) 或 PB(P1.8) 输出, 不能同时选择 PA(P0.0) 和 PB(P1.8) 输出 (2) 不同 PWMn 能选择 PA 和 PB 输出 例如,PWM00 可以选择 PA(P0.0) 输出和 PWM01 可以选择 PB(P1.9) 输出 SONiX TECHNOLOGY CO., LTD Page 61 Version 1.1

62 6 GPIO 端口 (GPIO) 6.1 概述 GPIO 端口可以通过 SW 来设置为输入或输出模式 每个独立的引脚可以作为外部中断输入引脚使用 可以通过单一的上升沿或者下降沿, 或者双边沿触发来触发中断 可以对单独中断电平进行编程 内部上拉电阻寄存器 所有 GPIO 引脚默认为输入和悬浮引脚 6.2 GPIO 模式 GPIOn_CFG(n = ) 寄存器的 MODE 位允许每个引脚选择内置上拉电阻, 或者选择不可用模式, 或与不可用 且禁止 Schmitt 触发模式 内置电阻配置为上拉使能状态, 没有上拉 Schmitt 触发使能 ( 默认 ), 或没有上拉 Schmitt 触发禁止 6.3 GPIO 寄存器 基地址 : 0x (GPIO 0) 0x (GPIO 1) 0x (GPIO 2) 0x4004 A000 (GPIO 3) GPIO Port n 数据寄存器 (GPIOn_DATA) (n=0,1,2,3) 地址偏移量 : 0x00 31:16 Reserved R 0 15:0 DATA[15:0] Pn.0~Pn.15 输入数据 ( 读 ) 或输出数据 ( 写 ) SONiX TECHNOLOGY CO., LTD Page 62 Version 1.1

63 6.3.2 GPIO Port n 模式寄存器 (GPIOn_MODE) (n=0,1,2,3) 地址偏移量 : 0x04 注 : 使能特殊功能 ( 外设 ) 时,HW 会直接切换 I/O 模式, 而不通过 GPIOn_MODE 寄存器 31:16 Reserved R 0 15:0 MODE[15:0] 选择引脚 x 作为输入或输出引脚 (x = 0~15) 0: Pn.x 配置为输入引脚 1: Pn.x 配置为输出引脚 GPIO Port n 配置寄存器 (GPIOn_CFG) (n=0,1,2,3) 地址偏移量 : 0x08 复位值 : n=0 0xAAAA AAAA n=1 0xAAAA AAAA n=2 0xAAAA AAAA n=3 0x00AA AA80 注 : 使能特殊功能 ( 外设 ) 时,HW 会直接切换 I/O 模式, 而不通过 GPIOn_MODE 寄存器 31:30 CFG15[1:0] Pn.15 的配置位 00: 使能上拉电阻 R/W 10b 01: 保留 10: 无效模式 ( 不使能上拉电阻, 使能 Schmitt 触发 ) 11: 无效模式 ( 不使能上拉电阻, 禁止 Schmitt 触发, 数据寄存器保持低电 平 ) 29:28 CFG14[1:0] Pn.14 的配置位 00: 使能上拉电阻 R/W 10b 01: 保留 10: 无效模式 ( 不使能上拉电阻, 使能 Schmitt 触发 ) 11: 无效模式 ( 不使能上拉电阻, 禁止 Schmitt 触发, 数据寄存器保持低电 平 ) SONiX TECHNOLOGY CO., LTD Page 63 Version 1.1

64 27:26 CFG13[1:0] Pn.13 的配置位 00: 使能上拉电阻 R/W 10b 01: 保留 10: 无效模式 ( 不使能上拉电阻, 使能 Schmitt 触发 ) 11: 无效模式 ( 不使能上拉电阻, 禁止 Schmitt 触发, 数据寄存器保持低电 平 ) 25:24 CFG12[1:0] Pn.12 的配置位 00: 使能上拉电阻 R/W 10b 01: 保留 10: 无效模式 ( 不使能上拉电阻, 使能 Schmitt 触发 ) 11: 无效模式 ( 不使能上拉电阻, 禁止 Schmitt 触发, 数据寄存器保持低电 平 ) 23:22 CFG11[1:0] Pn.11 的配置位 00: 使能上拉电阻 R/W 10b 01: 保留 10: 无效模式 ( 不使能上拉电阻, 使能 Schmitt 触发 ) 11: 无效模式 ( 不使能上拉电阻, 禁止 Schmitt 触发, 数据寄存器保持低电 平 ) 21:20 CFG10[1:0] Pn.10 的配置位 00: 使能上拉电阻 R/W 10b 01: 保留 10: 无效模式 ( 不使能上拉电阻, 使能 Schmitt 触发 ) 11: 无效模式 ( 不使能上拉电阻, 禁止 Schmitt 触发, 数据寄存器保持低电 平 ) 19:18 CFG9[1:0] Pn.9 的配置位 00: 使能上拉电阻 R/W 10b 01: 保留 10: 无效模式 ( 不使能上拉电阻, 使能 Schmitt 触发 ) 11: 无效模式 ( 不使能上拉电阻, 禁止 Schmitt 触发, 数据寄存器保持低电 平 ) 17:16 CFG8[1:0] Pn.8 的配置位 00: 使能上拉电阻 R/W 10b 01: 保留 10: 无效模式 ( 不使能上拉电阻, 使能 Schmitt 触发 ) 11: 无效模式 ( 不使能上拉电阻, 禁止 Schmitt 触发, 数据寄存器保持低电 平 ) 15:14 CFG7[1:0] Pn.7 的配置位 00: 使能上拉电阻 R/W 10b 01: 保留 10: 无效模式 ( 不使能上拉电阻, 使能 Schmitt 触发 ) 11: 无效模式 ( 不使能上拉电阻, 禁止 Schmitt 触发, 数据寄存器保持低电 平 ) 13:12 CFG6[1:0] Pn.6 的配置位 00: 使能上拉电阻 R/W 10b 01: 保留 10: 无效模式 ( 不使能上拉电阻, 使能 Schmitt 触发 ) SONiX TECHNOLOGY CO., LTD Page 64 Version 1.1

65 11: 无效模式 ( 不使能上拉电阻, 禁止 Schmitt 触发, 数据寄存器保持低电 平 ) 11:10 CFG5[1:0] Pn.5 的配置位 00: 使能上拉电阻 R/W 10b 01: 保留 10: 无效模式 ( 不使能上拉电阻, 使能 Schmitt 触发 ) 11: 无效模式 ( 不使能上拉电阻, 禁止 Schmitt 触发, 数据寄存器保持低电 平 ) 9:8 CFG4[1:0] Pn.4 的配置位 00: 使能上拉电阻 R/W 10b 01: 保留 10: 无效模式 ( 不使能上拉电阻, 使能 Schmitt 触发 ) 11: 无效模式 ( 不使能上拉电阻, 禁止 Schmitt 触发, 数据寄存器保持低电 平 ) 7:6 CFG3[1:0] Pn.3 的配置位 00: 使能上拉电阻 R/W 10b 01: 保留 10: 无效模式 ( 不使能上拉电阻, 使能 Schmitt 触发 ) 11: 无效模式 ( 不使能上拉电阻, 禁止 Schmitt 触发, 数据寄存器保持低电 平 ) 5:4 CFG2[1:0] Pn.2 的配置位 00: 使能上拉电阻 R/W 10b 01: 保留 10: 无效模式 ( 不使能上拉电阻, 使能 Schmitt 触发 ) 11: 无效模式 ( 不使能上拉电阻, 禁止 Schmitt 触发, 数据寄存器保持低电 平 ) 3:2 CFG1[1:0] Pn.1 的配置位 00: 使能上拉电阻 R/W 10b 01: 保留 10: 无效模式 ( 不使能上拉电阻, 使能 Schmitt 触发 ) 11: 无效模式 ( 不使能上拉电阻, 禁止 Schmitt 触发, 数据寄存器保持低电 平 ) 1:0 CFG0[1:0] Pn.0 的配置位 00: 使能上拉电阻 R/W 10b 01: 保留 10: 无效模式 ( 不使能上拉电阻, 使能 Schmitt 触发 ) 11: 无效模式 ( 不使能上拉电阻, 禁止 Schmitt 触发, 数据寄存器保持低电 平 ) SONiX TECHNOLOGY CO., LTD Page 65 Version 1.1

66 6.3.4 GPIO Port n 中断 Sense 寄存器 (GPIOn_IS) (n=0,1,2,3) 地址偏移量 : 0x0C 31:16 Reserved R 0 15:0 IS[15:0] 选择 Pn.x 上的中断是由电平触发还是边沿触发 (x = 0~15) 0: Pn.x 上的中断是由边沿触发 1: Pn.x 上的中断是由事件触发 GPIO Port n 中断双边沿 Sense 寄存器 (GPIOn_IBS) (n=0,1,2,3) 地址偏移量 : 0x10 31:16 Reserved R 0 15:0 IBS[15:0] 选择是否由双边沿触发 Pn.x 的中断 (x = 0~15) 0: 由寄存器 GPIOn_IEV 控制 Pn.x 的中断 ; 1: 由双边沿触发 Pn.x 的中断 GPIO Port n 中断事件寄存器 (GPIOn_IEV) (n=0,1,2,3) 地址偏移量 : 0x14 31:16 Reserved R 0 15:0 IEV[15:0] 选择是在上升沿还是下降沿触发 Pn.x 的中断 (x = 0~15) 0: 取决于寄存器 GPIOn_IS 的设置, 上升沿或者 Pn.x 为高电平触发中断 ; 1: 取决于寄存器 GPIOn_IS 的设置, 下降沿或者 Pn.x 为低电平触发中断 GPIO Port n 中断使能寄存器 (GPIOn_IE) (n=0,1,2,3) 地址偏移量 : 0x18 将 GPIOn_IE 寄存器的位为高时, 允许相对应的引脚触发各自的中断 ; 反之将寄存器的位清零则禁止各自的中断 31:16 Reserved R 0 15:0 IE[15:0] 选择 Pn.x 的中断使能位 (x = 0~15) 0: 禁止 Pn.x 的中断 1: 使能 Pn.x 的中断 SONiX TECHNOLOGY CO., LTD Page 66 Version 1.1

67 6.3.8 GPIO Port n 中断源状态寄存器 (GPIOn_RIS) (n=0,1,2,3) 地址偏移量 : 0x1C SN32F240B Series 该寄存器显示 GPIO 控制中断源的状态, 若 GPIOn_IE 寄存器的对应位置 1, 则发送 GPIO 中断到中断控制器中 31:16 Reserved R 0 15:0 IF[15:0] GPIO 中断源标志位 (x=0~15) 0: Pn.x 上没有中断 1: Pn.x 上满足中断要求 R GPIO Port n 中断清零寄存器 (GPIOn_IC) (n=0,1,2,3) 地址偏移量 : 0x20 31:16 Reserved R 0 15:0 IC[15:0] 选择 pin x 上的中断标志被清零 (x=0~15) 0: 无影响 1: 清除 Pn.x 上的中断标志位 W GPIO Port n 位设置操作寄存器 (GPIOn_BSET) (n=0,1,2,3) 地址偏移量 : 0x24 为了让 SW 设置 GPIO 位而不影响到其它引脚的单次写操作, 若 GPIOn_BSET 寄存器的相应位置 1, 则 GPIO 位也置 1 31:16 Reserved R 0 15:0 BSET[15:0] 位设置使能位 (x = 0~15) 0: 不影响 Pn.x; 1:Pn.x 位置 1 W GPIO Port n 位清零操作寄存器 (GPIOn_BCLR) (n=0,1,2,3) 地址偏移量 : 0x28 为了让 SW 将 GPIO 位清零而不影响到其它引脚的单次写操作, 若该寄存器的相应位置 1, 则 GPIO 位被清零 31:16 Reserved R 0 15:0 BCLR[15:0] 位清零使能位 (x = 0~15) 0: 不影响 Pn.x;1: 清零 Pn.x 位 W 0 SONiX TECHNOLOGY CO., LTD Page 67 Version 1.1

68 通道 12- 位 SAR ADC 7.1 概述 模数转换器共有 16 个外部输入源和 1 个内部通道, 用于电压源 (2V/3V/4.5V), 高达 4096 阶的分辨率, 将模拟信号转换成 12 位数字信号 ADC 操作流程为 : 首先选择输入源 (AIN0~AIN15), 然后设置 GCHS 和 ADS 位为 1, 开始转换 转换完成后,ADC 电路将 EOC 位置 1, 最终值输出到 ADB 寄存器 当使能 ADC(ADENB = 1) 和使能全局通道 (GCHS= 1) 时,ADC 共用引脚供 ADC 使用, 并且硬件自动禁用 GPIO 功能和禁用上拉 / 下拉电阻器 当禁用 ADC 或禁用全局通道使,ADC 针返回 GPIO 上一个状态, 包括上拉电阻 利用 CHS[3:0] 选择 AIN 引脚,GCHS 使能全局 ADC 通道, 模拟信号输入到 ADC Engine ADC 的分辨率可通过 ADR 寄存器的 ADLEN 位选择 8 位或者 12 位,ADC 的转换率可通过 ADCKS[1:0] 位来选择, 这两个参数决定了 ADC 的转换时间 AIN16 是内部 2v 或 3v 或 4.5v 输入通道, 从外面没有任何输入引脚 而此时,ADC 参考电压必须为内部 VDD 和外部电 压, 不是内部 2v 或 3v 或 4.5v AIN16 可以是电池系统中较好用的电量检测器 为了选择合适的内部 AVREFH 和比较值, 系统内置有高性能和低成本的低电检测器 Internal Reference Voltage Source (2V, 3V, 4.5V) VHS[2] Internal reference AVREFHSEL, ADENB VDD AIN0/AVREFH VHS[1:0] CHS[4:0] External reference ADCKS[1:0] AIN1 GCHS ADC High Reference Voltage ADC Clock Counter AIN2 AIN14.. Internal Vss Analog Input SAR ADC ENGINE ADC Low Reference Voltage 12 or 8 EOC ADCIRQ ADB[11:0] AIN15 AIN17/ VDD ADENB ADS AIN18/ VSS AIN16 SONiX TECHNOLOGY CO., LTD Page 68 Version 1.1

69 注 : 分辨率为 8 位时, 转换时间为 12 steps; 分辨率为 12 位时, 转换时间为 16 steps 注 : 模拟输入电平必须在 AVREFH 和 AVSS 之间 注 :AVREFH 电平必须在 AVDD 和 AVSS+2.0V 之间 注 :ADC 应用时须注意以下几点 : 1. 设置 ADC 输入引脚 I/O 方向为输入模式 2. 禁止 ADC 输入引脚的上拉电阻 3. 进入省电模式 ( 睡眠 / 深度睡眠模式 ) 前必须禁止 ADC(ADENB = 0) 以省电 4. 使能 ADC(ADENB =1) 后延时 100us 等待 ADC 电路稳定 7.2 ADC 转换时间 ADC 转换时间从 ADS=1( 开始 AD 转换 ) 到 EOC=1(AD 转换结束 ), 转换时间长度取决于 ADC 的分辨率和 ADC 的时钟频率 位 ADCKS[2:0] 控制 ADC 的时钟源,AD 转换时间会影响 ADC 的性能 若输入高速率的模拟信号, 则必须选择较高的 ADC 转换速率 如果 AD 转换时间慢于模拟信号的转换速率,ADC 的结果则会出错 故选择一个正确的 ADC 时钟频率和 ADC 分辨率决定一个正确的 ADC 转换速度是非常重要的 12- 位 ADC 转换时间 = 1/(ADC clock /4)*16 sec ADLEN ADCKS [2:0] ADC Clock ADC_PCLK = 4 MHz ADC 转换时间 ADC 转换速率 (us) (KHz) ADC_PCLK = 16 MHz ADC 转换时间 ADC 转换速率 (us) (KHz) 000 ADC_PCLK ADC_PCLK/ ADC_PCLK/ ADC_PCLK/ ADC_PCLK/ ADC_PCLK/ SONiX TECHNOLOGY CO., LTD Page 69 Version 1.1

70 8- 位 ADC 转换时间 = 1/(ADC clock /4)*12 sec ADLEN ADCKS [2:0] ADC Clock ADC_PCLK = 4 MHz ADC 转换时间 ADC 转换速率 (us) (KHz) ADC_PCLK = 16 MHz ADC 转换时间 ADC 转换速率 (us) (KHz) 000 ADC_PCLK ADC_PCLK/ ADC_PCLK/ ADC_PCLK/ ADC_PCLK/ ADC_PCLK/ ADC 控制注意事项 ADC 信号 ADC 高参考电压包括内部 Vdd/4.5V/3V/2V 或来自 AVREFHSEL 位控制的 P2.0/AVREFH 引脚的外部参考电压源 若 AVREFHSEL=0,ADC 参考电压来自内部电压源 ; 若 EVHENB=1,ADC 参考电压来自外部电压源 (P2.0/AVREFH) ADC 参考电压范围的限制是 (ADC 高参考电压 - 低参考电压之间 ) 2V ADC 低参考电压为 Vss = 0V 所以,ADC 高参 考电压为 2V~Vdd 这个范围是 ADC 外部高参考电压范围 ADC 内部低参考电压 = 0V ADC 内部高参考电压 = VDD/4.5V/3V/2V (AVREFHSEL=0) ADC 外部高参考电压 = 2V~VDD (AVREFHSEL =1) ADC 采样输入信号电压必须从 ADC 低参考电压到 ADC 高参考电压 如果 ADC 输入信号电压超出了范围,ADC 转换结 果会出错 ( 全标度或零 ) ADC 低参考电压 (VSS) ADC 取样输入电压 ADC 高参考电压 SONiX TECHNOLOGY CO., LTD Page 70 Version 1.1

71 7.3.2 ADC 编程 执行 ADC 之前首先要设置 ADC 配置,ADC 程序设置流程和注意事项如下所示 : 步骤 1: 使能 ADC ADENB 是 ADC 控制位, ADENB=1 时使能 ADC,ADENB=0 时禁止 ADC 使能 ADENB 后, 系统必须由程序延时 100us 作为 ADC 启动时间, 然后设置 ADS 开始 ADC 转换 100us 的延迟时间必须在 ADENB 位置 1 ( 而不是 ADS 位置 1) 后, 否则 ADC 转换结果会出错 通常来说, 系统在普通工作条件下设置 ADENB 位一次, 延迟时间也只执行一次 步骤 2: 若外部电压源作为 ADC 高参考电压, 设置 AVREFHESL=1 ADC 外部高参考电压从 P2.0 引脚输入, 必须将 P2.0 设置为无上拉电阻的输入模式 步骤 3: 通过 CHS[2:0] 选择 ADC 输入引脚, 并使能 ADC 全局输入 当某个 AIN 引脚作为模拟信号输入引脚时, 必须将该引脚设置为输入引脚, 并由程序禁止上拉电阻 步骤 4: 设置 ADS=1, 开始 AD 转换 步骤 5: 通过检测 EOC=1 或者 ADCIF=1, 等待 ADC 转换结束 若使能 ADC 中断, 在 ADC 中断发生时, 程序先执行 ADC 中断 ADC 结束后,ADS 自动清零 EOC 位实时显示 ADC 的处理状态,ADS=1 时清零 用户无需通过程序清零 ADC 电路 External High Reference Voltage 47uF C 0.1uF B AVREFH MCU Analog Signal Input 0.1uF A AINn/P2.n VSS VCC Main Power Trunk GND 模拟信号从 ADC 输入引脚 AINn/P2.n 输入 ADC 输入信号必须通过一个 0.1uF 的电容 A 这个 0.1uF 的电容设置在 ADC 输入引脚和 VSS 之间, 且要尽可能的靠近 ADC 输入引脚 不能将电容的 GND 直接连接到电源干线上的 GND, 必须通 过 VSS 引脚 该电容可以减少电源干扰对模拟信号的影响 若 ADC 高参考电压由外部电压源提供, 外部高参考电压连接到 AVREFH(P2.0) 引脚 在 AVREFH 引脚和 VSS 之间连 接电容, 首先在图中 C 处连接一个 47uF 的电容, 再在 B 处连接一个 0.1uF 的电容, 且要尽可能的靠近 AVREFH 引脚 不能将电容的 GND 直接连接到电源干线上的 GND, 必须通过 VSS 引脚 SONiX TECHNOLOGY CO., LTD Page 71 Version 1.1

72 7.4 ADC 寄存器 SN32F240B Series 基地址 : 0x ADC 管理寄存器 (ADC_ADM) 地址偏移量 : 0x00 注 : 如果 AIN5 通道被选为内部 2v 3v 或 4.5v 的输入通道, 没有从外部接入的输入引脚 此时,ADC 参考电压 必须为内部 VDD 或外部电压, 而不是内部 2v 3v 或 4.5v 31:17 Reserved R 0 16 GCHS ADC 全局通道选择位 0: 禁止 AIN 通道 1: 使能 AIN 通道 15:13 VHS[2:0] 内部参考电压选择 00b 000: 内部 2.0V 001: 内部 3.0V 010: 内部 4.5V 其它 : 保留 111: VDD 12 AVREFHSEL ADC 参考高电压源选择位 0: 内部参考电压 (P2.0 为 GPIO 引脚或者 AIN0 引脚 ); 1: 使能外部参考电压, 由 P2.0 输入 11 ADENB ADC 使能位 省电模式下, 禁止 ADC, 以减少功耗 0: 禁止 1: 使能 10:8 ADCKS[2:0] ADC 时钟源分频器 000: ADC_PCLK / 1 001: ADC_PCLK / 2 010: ADC_PCLK / 4 011: ADC_PCLK / 8 101: ADC_PCLK / : ADC_PCLK / 32 其它 : 保留 7 ADLEN ADC 分辨率控制位 0: 8 位 ADC. 1:12 位 ADC. SONiX TECHNOLOGY CO., LTD Page 72 Version 1.1

73 6 ADS ADC 启动控制位 0: 停止 AD 转换 ; 1: 开始执行 AD 转换 ADC 结束后,ADS 自动清零 5 EOC ADC 状态位 实时显示 ADC 的处理状态,ADS=1 时清零 0:ADC 处理中 ; 1: 转换结束,ADS 位复位 4:0 CHS[4:0] ADC 输入通道选择位 00000: AIN : AIN : AIN : AIN : AIN : AIN : AIN : AIN : AIN : AIN : AIN : AIN : AIN : AIN : AIN : AIN : AIN16( 内部参考电压 4.5V/3V/2V) 10001: AIN17 (VDD) 10010: AIN18 (VSS) Other: Reserved SONiX TECHNOLOGY CO., LTD Page 73 Version 1.1

74 7.4.2 ADC 数据寄存器 (ADC_ADB) 地址偏移量 : 0x04 注 :ADC 缓存器 (ADB) 的初始值是未知的 31:12 Reserved R 0 11:0 ADB[11:0] 8 位 ADC:ADB11~ADB4 位 12 位 ADC:ADB11~ADB0 位 R 0 AIN 的输入电压与 ADB 输出数据的对应表 AIN n ADB11 ADB10 ADB9 ADB8 ADB7 ADB6 ADB5 ADB4 ADB3 ADB2 ADB1 ADB0 0/4096*VREFH /4096*VREFH /4096*VR EFH /4096*VR EFH 针对不同的应用, 用户可能需要精度介于 8 位到 12 位之间的 ADC 转换器 首先,AD 分辨率必须设为 12 位分辨率的模 式, 再进行 ADC 转换程序, 然后删除 ADC 数据的 LSB, 得到新的分辨率结果 如下表所示 : ADB11 ADB10 ADB9 ADB8 ADB7 ADB6 ADB5 ADB4 ADB3 ADB2 ADB1 ADB0 8-bit O O O O O O O O X X X X 9-bit O O O O O O O O O X X X 10-bit O O O O O O O O O O X X 11-bit O O O O O O O O O O O X 12-bit. O O O O O O O O O O O O O = 选中,X = 删除 SONiX TECHNOLOGY CO., LTD Page 74 Version 1.1

75 7.4.3 ADC 中断使能寄存器 (ADC_IE) 地址偏移量 : 0x0C ADC 中断使能寄存器可以控制 A/D 通道在转换完成后产生中断 例如 : 可以通过 A/D 通道连续地执行 AD 转换来监控传 感器 更多更新的数据结果是当用户需要时才来读取 在这种情况下, 不需要这些 AD 通道在转换结束后产生中断 31:19 Reserved R 0 18:0 IE[18:0] 转换完成后, 允许控制 AD 通道产生中断 若 bit x 是 1 个,AIN x 转换完 成后产生一个中断 ADC 中断源状态寄存器 (ADC_RIS) 地址偏移量 : 0x10 31:19 Reserved R 0 18:0 EOCIF[18:0] ADC 中断源标志位 (x = 0~ 18) 0:Read AINx 没有产生中断 ; Write 写 0 到相应位, 清零该位 ; 若相应 IE 位置 1 则复位中断 ; 1:AINx 请求中断 (AINx 完成转换后 ) SONiX TECHNOLOGY CO., LTD Page 75 Version 1.1

76 8 16 位带捕获功能的 TIMER0 8.1 概述 每个计数 / 定时器用于对外设时钟 (PCLK) 信号或外部提供的时钟信号进行计数, 且根据 4 个匹配寄存中指定的定时时间, 可以使计数 / 定时器有选择地产生中断请求或完成其它操作 每个计数 / 定时器都有一路输入信号捕获通道, 当输入信号发生变化时, 便可将此时间值记录下来, 可选择捕获功能触发中断 PWM 模式下, 高达 24 个匹配寄存器和 1 个全局寄存器可以用于提供单边沿信号的 PWM 输出到匹配输出引脚上 8.2 特性 2 个 16 位计数 / 定时器, 带可编程 8 位预分频器 计数器或定时器操作 2 路 16 位捕获通道, 当有输入信号发生改变时, 可以迅速记录下时间 每一捕获事件都可以选择是否产生中断 可以设定定时器和预分频器在指定的捕获事件发生时被清零 这一特性可以应用于简单的脉宽测量, 通过在输入脉冲的起始边沿清除定时器, 在输入脉冲的尾端边沿便可取得此脉冲宽度的时间值 4 个 16 位匹配寄存器有如下功能 : 连续计数, 可选择在计数到匹配数值时是否产生中断 在计数到匹配数据时停止计数, 可选择是否产生中断 在计数到匹配数据时复位定时器, 可选择是否产生中断 多达 24 路 (CT16B1)PWM 输出, 每路 PWM 输出都和某一匹配寄存器一一对应, 具体功能如下 : 在计数到匹配数据时, 输出低 在计数到匹配数据时, 输出高 在计数到匹配数据时, 反转电平 在计数到匹配数据时, 保持状态 8.3 引脚说明 Pin Name Type Description GPIO Configuration CT16Bn_CAP0 I 捕获通道输入 0 取决于 GPIOn_CFG CT16Bn_PWMx O Match/PWM 输出的输出通道 x SONiX TECHNOLOGY CO., LTD Page 76 Version 1.1

77 8.4 框图 MRxSTOP PCLK CEN CRST PC STOP CEN CRST TC STOP MRx MRxIF MRxIE MRx Interrupt RESET RESET MRxRST PRE PWMxEN PWMxMODE PWMxIOEN EMCx CT16Bn_PWMx CAP0 CAP0EN CAP0FE CAP0RE CAP0IE CAP0IE CT16Bn_CAP0 CAP0 Interrupt SONiX TECHNOLOGY CO., LTD Page 77 Version 1.1

78 8.5 定时器操作 边沿对齐向上计数模式 下图显示一被配置过的定时器, 其在计数到匹配数据时复位计数并产生中断请求 CT16Bn_PRE 寄存器设置为 2, CT16Bn_MRx 设置为 6 匹配事件发生后, 在定时器周期结束时定时器复位 在此给出了达到匹配值得完整长度周期 中断显示了当定时器计数值达到匹配值后, 在下个时钟到达时, 匹配事件发生 PCLK CT16Bn_PC CT16Bn_TC TC Reset Interrupt 下图显示一被配置过的定时器, 其在计数到匹配数据时停止计数并产生中断请求 CT16Bn_PRE 寄存器设置为 2, CT16Bn_MRx 设置为 6 定时器达到匹配值后的下个时钟内,CT16Bn_TMRCTRL 寄存器的 CEN 位清零, 中断显示匹配事件发生 PCLK CT16Bn_PC CT16Bn_TC CEN bit 1 0 Interrupt SONiX TECHNOLOGY CO., LTD Page 78 Version 1.1

79 8.6 PWM PWM 模式 1 在向上计数时, 若 TC<MRn, 则 PWMn 为 0 边沿对齐向上计数模式操作流程如下 : 1 在每个 PWM 周期的起始端 ( 定时器设置为 0), 所有信号边沿被 PWM 控制输出低电平, 除非 CT16Bn_MR0~3 寄存器的匹配值为 0 2 到达匹配值后, 每个 PWM 输出高电平 ; 若没有达到匹配值, 则继续输出低电平 3 若写入 CT16Bn_MR0~3 寄存器的匹配值大于 PWM 周期长度, 且 PWM 信号已经是高电平, 则在下个 PWM 周期开始时清除 PWM 信号 4 若匹配寄存器的值和定时器的复位值(PWM 周期长度 ) 相同, 则 PWM 在下个时钟 tick 输出低电平 因此,PWM 将一直输出由时钟 tick 宽度决定的正极脉冲, 其周期取决于 PWM 周期的长度 5 若匹配寄存器设置为 0,PWM 首先输出高电平, 定时器返回到 0,PWM 会一直保持高电平 PWM2 PWM1 CT16Bn_MR2=100 CT16Bn_MR1=25 PWM0 CT16Bn_MR0=60 CT16Bn_TC (TC resets) 注 : 当选择的匹配输出作为 PWM 输出执行时, 除了匹配寄存器需要设置 PWM 周期长度外,CT16Bn_MCTRL 寄存器的定时器复位位 (MRnRST) 和定时器停止位 (MRnSTOP) 都必须为 0 对于这些寄存器, 当相应匹配寄存器的值和定时器的值相匹配时, 设置 MRnR 位为 1 以使能定时器复位 SONiX TECHNOLOGY CO., LTD Page 79 Version 1.1

80 8.6.2 PWM 模式 2 在向下计数时, 若 TC<MRn, 则 PWMn 为 1 边沿对齐向上计数模式操作流程如下 : 1 在每个 PWM 周期的起始端 ( 定时器设置为 0), 所有信号边沿被 PWM 控制输出高电平, 除非 CT16Bn_MR0~3 寄存器的匹配值为 0 2 到达匹配值后, 每个 PWM 输出低电平 ; 若没有达到匹配值, 则继续输出高电平 3 若写入 CT16Bn_MR0~3 寄存器的匹配值大于 PWM 周期长度, 且 PWM 信号已经是低电平, 则在下个 PWM 周期开始时输出高电平 4 若匹配寄存器的值和定时器的复位值(PWM 周期长度 ) 相同, 则 PWM 在下个时钟 tick 输出高电平 因此,PWM 将一直输出由时钟 tick 宽度组成的低电平脉冲, 其周期取决于 PWM 周期的长度 5 若匹配寄存器设置为 0,PWM 首先输出低电平, 定时器返回到 0,PWM 会一直保持低电平 PWM2 CT16Bn_MR2=100 PWM1 CT16Bn_MR1=25 PWM0 CT16Bn_MR0=60 CT16Bn_TC (TC resets) 注 : 当选择的匹配输出作为 PWM 输出执行时, 除了匹配寄存器需要设置 PWM 周期长度外,CT16Bn_MCTRL 寄存 器的定时器复位位 (MRnRST) 和定时器停止位 (MRnSTOP) 都必须为 0 对于这些寄存器, 当相应匹配寄存器的 值和定时器的值相匹配时, 设置 MRnR 位为 1 以使能定时器复位 SONiX TECHNOLOGY CO., LTD Page 80 Version 1.1

81 8.7 CT16Bn 寄存器 基地址 : 0x (CT16B0) 0x (CT16B1) CT16Bn 定时器控制寄存器 (CT16Bn_TMRCTRL) (n=0,1) 地址偏移量 : 0x00 注 : 为了正确地初始化 TC 和 PC,SW 会通过将 CRST 设为 1 来复位 TC 和 PC, 然后通过将 CRST 设为 1 使能 计数器 31:2 Reserved R 0 1 CRST 0 CEN 计数器复位位 0: 禁止计数器复位 ; 1: 在 PCLK 的下个正极边沿, 定时 / 计数器和预分频计数器同步复位, 复位完成后由 HW 将该位清零 计数器使能位 0: 禁止计数器 ; 1: 使能定时器 / 计数器和预分频计数器开始计数 CEN 位最后设置! * 通常是边沿对齐向上计数模式 CT16Bn 定时器计数器寄存器 (CT16Bn_TC) (n=0,1) 地址偏移量 : 0x04 预分频计数器计数结束时,16 位定时器计数器递增 除非是在其达到上限之前复位, 否则 TC 将计数到 0x0000FFF, 然 后返回 0 x 该事件不会引起中断, 但如有必要, 匹配寄存器可用来检测溢出 31:16 Reserved R 0 15:0 TC[15:0] 定时器计数器 SONiX TECHNOLOGY CO., LTD Page 81 Version 1.1

82 8.7.3 CT16Bn 预分频寄存器 (CT16Bn_PRE) (n=0,1) 地址偏移量 : 0x08 31:8 Reserved R 0 7:0 PRE[7:0] 预分频最大值 CT16Bn 预分频计数器寄存器 (CT16Bn_PC) (n=0,1) 地址偏移量 : 0x0C 在应用于定时器计数器之前,8 位预分频计数器通过部分恒定值控制 PCLK 的分频 定时器溢出之前, 它可以控制定时器的分辨率和时间最大值之间的关系 预分频计数器在每个 PCLK 递增计数, 在达到存储在预分频寄存器的值后, 定时器计数器递增计数, 而预分频计数器在下个 PCLK 复位 这促使下列情况出现 :PR=0 时,TC 在每个 PCLK 递增计数 ;PR=1 时, 则在每 2 个 PCLK 递增计数, 等等 31:8 Reserved R 0 7:0 PC[7:0] 预分频计数器 CT16Bn 计数控制寄存器 (CT16Bn_CNTCTRL) (n=0) 地址偏移量 : 0x10 该寄存器用于选择定时器模式或者计数器模式, 计数器模式下选择用于计数的引脚和边沿 选择计数器模式作为操作模式时,CAP 输入 ( 由 CIS 位选择 ) 在 PCLK 时钟的每个上升沿采样 比较两个连续的 CAP 输 入采样信号后, 在选择的 CAP 输入电平上, 下列 4 个事件中的其中一件是经过验证的 : 上升沿, 下降沿, 边沿或无变换 只有确认过的事件发生, 而且该事件符合该寄存器的 CTM 位选择的事件, 定时器计数器寄存器才会递增计数 为了使外部提供给计数器的时钟信号可以得到有效处理, 计数器对提供的外部时钟信号会有所限制 因为两个连续的 PCLK 时钟的上升沿才能确定 CAP 输入引脚上输入信号的一个边沿, 所以 CAP 输入信号的频率不能超过 PCLK 时钟频率的 1/2, 因此, 通过 CAP 输入的高 / 低电平的持续时间不能短于 1/(2 x PCLK) 注 : 若选择了计数器模式, 捕获控制寄存器 (CAPCTRL) 的位 2~0 必须由程序设置为 0x00 SONiX TECHNOLOGY CO., LTD Page 82 Version 1.1

83 31:4 Reserved R 0 3:2 CIS[1:0] 计数输入选择 在计数器模式 (CTM[1:0] 不是 00) 下, 该位选择 CAP 引脚对 时钟进行采样 00: CT16Bn_CAP0 其它 : 保留 1:0 CTM[1:0] 计数器 / 定时器模式 此字段选择 PCLK 的上升沿对定时器预分频计数器 (PC) 递增计数, 或将 PC 清零并且定时器计数器递增计数 00: 定时器模式,PCLK 的每个上升沿 ; 01: 计数器模式,TC 在 CIS 位选择的 CAP0 输入的上升沿递增计数 ; 10: 计数器模式,TC 在 CIS 位选择的 CAP0 输入的下降沿递增计数 ; 11: 计数器模式,TC 在 CIS 位选择的 CAP0 输入的上升 / 下降沿递增计数 CT16Bn 匹配控制寄存器 (CT16Bn_MCTRL) (n=0) 地址偏移量 : 0x14 31:3 Reserved R 0 2 MR0STOP 停止 MR0: 若 MR0 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 1 MR0RST MR0 和 TC 匹配时复位 TC 0: 禁止 1: 使能 0 MR0IE MR0 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 CT16Bn 匹配控制寄存器 (CT16Bn_MCTRL) (n=1) 地址偏移量 : 0x14 31:30 Reserved R 0 29 MR9STOP 停止 MR9: 若 MR9 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 28 MR9RST MR9 和 TC 匹配时复位 TC 0: 禁止 1: 使能 SONiX TECHNOLOGY CO., LTD Page 83 Version 1.1

84 27 MR9IE MR9 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 26 MR8STOP 停止 MR8: 若 MR8 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 25 MR8RST MR8 和 TC 匹配时复位 TC 0: 禁止 1: 使能 24 MR8IE MR8 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 23 MR7STOP 停止 MR7: 若 MR7 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 22 MR7RST MR7 和 TC 匹配时复位 TC 0: 禁止 1: 使能 21 MR7IE MR7 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 20 MR6STOP 停止 MR6: 若 MR6 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 19 MR6RST MR6 和 TC 匹配时复位 TC 0: 禁止 1: 使能 18 MR6IE MR6 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 17 MR5STOP 停止 MR5: 若 MR5 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 16 MR5RST MR5 和 TC 匹配时复位 TC 0: 禁止 1: 使能 15 MR5IE MR5 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 14 MR4STOP 停止 MR4: 若 MR4 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 13 MR4RST MR4 和 TC 匹配时复位 TC 0: 禁止 SONiX TECHNOLOGY CO., LTD Page 84 Version 1.1

85 1: 使能 12 MR4IE MR4 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 11 MR3STOP 停止 MR3: 若 MR3 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 10 MR3RST MR3 和 TC 匹配时复位 TC 0: 禁止 1: 使能 9 MR3IE MR3 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 8 MR2STOP 停止 MR2: 若 MR2 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 7 MR2RST MR2 和 TC 匹配时复位 TC 0: 禁止 1: 使能 6 MR2IE MR2 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 5 MR1STOP 停止 MR1: 若 MR1 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 4 MR1RST MR1 和 TC 匹配时复位 TC 0: 禁止 1: 使能 3 MR1IE MR1 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 2 MR0STOP 停止 MR0: 若 MR0 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 1 MR0RST MR0 和 TC 匹配时复位 TC 0: 禁止 1: 使能 0 MR0IE MR0 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 SONiX TECHNOLOGY CO., LTD Page 85 Version 1.1

86 8.7.8 CT16Bn 匹配控制寄存器 2(CT16Bn_MCTRL2) (n=1) 地址偏移量 : 0x18 31:30 Reserved R 0 29 MR19STOP 停止 MR19: 若 MR19 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 28 MR19RST MR19 和 TC 匹配时复位 TC 0: 禁止 1: 使能 27 MR19IE MR19 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 26 MR18STOP 停止 MR18: 若 MR18 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 25 MR18RST MR18 和 TC 匹配时复位 TC 0: 禁止 1: 使能 24 MR18IE MR18 和 TC 匹配时, 根据 CM[2:0] 产生中断. 0: 禁止 1: 使能 23 MR17STOP 停止 MR17: 若 MR17 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 22 MR17RST MR17 和 TC 匹配时复位 TC 0: 禁止 1: 使能 21 MR17IE MR17 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 20 MR16STOP 停止 MR16: 若 MR16 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 19 MR16RST MR16 和 TC 匹配时复位 TC 0: 禁止 1: 使能 18 MR16IE MR16 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 17 MR15STOP 停止 MR15: 若 MR15 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 SONiX TECHNOLOGY CO., LTD Page 86 Version 1.1

87 16 MR15RST MR15 和 TC 匹配时复位 TC 0: 禁止 1: 使能 15 MR15IE MR15 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 14 MR14STOP 停止 MR14: 若 MR14 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 13 MR14RST MR14 和 TC 匹配时复位 TC 0: 禁止 1: 使能 12 MR14IE MR14 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 11 MR13STOP 停止 MR13: 若 MR13 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 10 MR13RST MR13 和 TC 匹配时复位 TC 0: 禁止 1: 使能 9 MR13IE MR13 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 8 MR12STOP 停止 MR12: 若 MR12 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 7 MR12RST MR12 和 TC 匹配时复位 TC 0: 禁止 1: 使能 6 MR12IE MR12 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 5 MR11STOP 停止 MR11: 若 MR11 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 4 MR11RST MR11 和 TC 匹配时复位 TC 0: 禁止 1: 使能 3 MR11IE MR11 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 2 MR10STOP 停止 MR10: 若 MR10 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 SONiX TECHNOLOGY CO., LTD Page 87 Version 1.1

88 1 MR10RST MR10 和 TC 匹配时复位 TC 0: 禁止 1: 使能 0 MR10IE MR10 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 CT16Bn 匹配控制寄存器 3 (CT16Bn_MCTRL3) (n=1) 地址偏移量 : 0x1C 31:15 Reserved R 0 14 MR24STOP 停止 MR24: 若 MR24 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: Disable 1: 使能 13 MR24RST MR24 和 TC 匹配时复位 TC 0: 禁止 1: 使能 12 MR24IE MR24 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 11 MR23STOP 停止 MR23: 若 MR23 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: Disable 1: 使能 10 MR23RST MR23 和 TC 匹配时复位 TC 0: 禁止 1: 使能 9 MR23IE MR23 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 8 MR22STOP 停止 MR22: 若 MR22 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 7 MR22RST MR22 和 TC 匹配时复位 TC 0: 禁止 1: 使能 6 MR22IE MR22 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 5 MR21STOP 停止 MR21: 若 MR21 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 SONiX TECHNOLOGY CO., LTD Page 88 Version 1.1

89 4 MR21RST MR21 和 TC 匹配时复位 TC 0: 禁止 1: 使能 3 MR21IE MR21 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 2 MR20STOP 停止 MR20: 若 MR20 和 TC 匹配,TC 和 PC 停止工作,CEN 位清零 0: 禁止 1: 使能 1 MR20RST MR20 和 TC 匹配时复位 TC 0: 禁止 1: 使能 0 MR20IE MR20 和 TC 匹配时, 根据 CM[2:0] 产生中断 0: 禁止 1: 使能 CT16Bn 匹配寄存器 0 (CT16Bn_MR0) (n=0) 地址偏移量 : 0x20 匹配寄存器的值不断地与定时器计数器 (TC) 的值进行比较, 当 2 个值相等时, 自动触发动作 该动作可能是产生中断, 复位 TC 或者停止定时器, 通过设置 CT16Bn0_MCTRL 寄存器控制 31:16 Reserved R 0 15:0 MR[15:0] TC 匹配值 CT16Bn 匹配寄存器 0~24 (CT16Bn_MR0~24) (n=1) MR 0 ~ 24: 地址偏移量 : 0x20, 0x24, 0x28, 0x2C, 0x30, 0x34, 0x38, 0x3C 0x40, 0x44, 0x48, 0x4C, 0x50, 0x54, 0x58, 0x5C, 0x60, 0x64, 0x68, 0x6C, 0x70, 0x74, 0x78, 0x7C 0x80 匹配寄存器的值不断地与定时器计数器 (TC) 的值进行比较, 当 2 个值相等时, 自动触发动作 该动作可能是产生中断, 复位 TC 或者停止定时器, 通过设置 CT16Bn1_MCTRL 寄存器控制 31:16 Reserved R 0 15:0 MR[15:0] TC 匹配值 SONiX TECHNOLOGY CO., LTD Page 89 Version 1.1

90 CT16Bn 捕获控制寄存器 (CT16Bn_CAPCTRL) (n=0) 地址偏移量 : 0x80 发生捕获事件时, 捕获寄存器是否将值装入计时器 / 定时器, 或者是否由捕获事件产生中断, 都通过捕获控制寄存器来控 制 同时设置上升位和下降位为有效配置, 这样导致上升 / 下降沿发生捕获事件 注 : 若 CNTCTRL 寄存器选择了计数器模式, 则 CAPCTRL[2:0] 必须编程为 0x0 31:4 Reserved R 0 3 CAP0EN 捕获 0 功能使能位 0: 禁止 1: 使能 HW 直接切换 I/O 配置 2 CAP0IE CT16Bn_CAP0 事件中断 : 因 CT16Bn_CAP0 事件而载入了 CAP0 将产生中 断 0: 禁止 1: 使能 1 CAP0FE CT16Bn_CAP0 下降沿捕获 : 当 CT16Bn_CAP0 检测到输入信号按照先 1 后 0 的顺序变化时,CAP0 保存此时 TC 数值 0: 禁止 1: 使能 0 CAP0RE CT16Bn_CAP0 上升沿捕获 : 当 CT16Bn_CAP0 检测到输入信号按照先 0 后 1 的顺序变化时,CAP0 保存此时 TC 数值 0: 禁止 1: 使能 SONiX TECHNOLOGY CO., LTD Page 90 Version 1.1

91 CT16Bn 捕获 0 寄存器 (CT16Bn_CAP0) (n=0) 地址偏移量 : 0x84 每个捕获寄存器都与一个设备引脚相关联, 当此设备引脚上有指定的事件发生时, 计数器 / 定时器数值便可以保存在对应 的捕获寄存器中 捕获控制寄存器的设置决定是否使能捕获功能, 以及捕获事件是否在相关联引脚的上升沿 下降沿或双边沿发生 31:16 Reserved R 0 15:0 CAP0[15:0] TC 捕获值. R CT16Bn 外部匹配寄存器 (CT16Bn_EM)(n=1) 地址偏移量 : 0x88 外部匹配寄存器提供 CT16Bn_PWM[23:0] 的状态 若匹配输出配置为 PWM 输出, 外部匹配寄存器的功能由 PWM 规则决定 31:24 Reserved R 0 23 EM23 TC 和 MR23 相等时, 该位根据 EMC23 位进行动作, 并驱动 CT16Bn_PWM23 输出状态 22 EM22 TC 和 MR22 相等时, 该位根据 EMC22 位进行动作, 并驱动 CT16Bn_PWM22 输出状态 21 EM21 TC 和 MR21 相等时, 该位根据 EMC21 位进行动作, 并驱动 CT16Bn_PWM21 输出状态 20 EM20 TC 和 MR20 相等时, 该位根据 EMC20 位进行动作, 并驱动 CT16Bn_PWM20 输出状态 19 EM19 TC 和 MR19 相等时, 该位根据 EMC19 位进行动作, 并驱动 CT16Bn_PWM19 输出状态 18 EM18 TC 和 MR18 相等时, 该位根据 EMC18 位进行动作, 并驱动 CT16Bn_PWM18 输出状态 17 EM17 TC 和 MR17 相等时, 该位根据 EMC17 位进行动作, 并驱动 CT16Bn_PWM17 输出状态 16 EM16 TC 和 MR16 相等时, 该位根据 EMC16 位进行动作, 并驱动 CT16Bn_PWM16 输出状态 15 EM15 TC 和 MR15 相等时, 该位根据 EMC15 位进行动作, 并驱动 CT16Bn_PWM15 输出状态 14 EM14 TC 和 MR14 相等时, 该位根据 EMC14 位进行动作, 并驱动 CT16Bn_PWM14 输出状态 13 EM13 TC 和 MR13 相等时, 该位根据 EMC13 位进行动作, 并驱动 CT16Bn_PWM13 输出状态 SONiX TECHNOLOGY CO., LTD Page 91 Version 1.1

92 12 EM12 TC 和 MR12 相等时, 该位根据 EMC12 位进行动作, 并驱动 CT16Bn_PWM12 输出状态 11 EM11 TC 和 MR11 相等时, 该位根据 EMC11 位进行动作, 并驱动 CT16Bn_PWM11 输出状态 10 EM10 TC 和 MR10 相等时, 该位根据 EMC10 位进行动作, 并驱动 CT16Bn_PWM10 输出状态 9 EM9 TC 和 MR9 相等时, 该位根据 EMC9 位进行动作, 并驱动 CT16Bn_PWM9 输出 状态 8 EM8 TC 和 MR8 相等时, 该位根据 EMC8 位进行动作, 并驱动 CT16Bn_PWM8 输出 状态 7 EM7 TC 和 MR7 相等时, 该位根据 EMC7 位进行动作, 并驱动 CT16Bn_PWM7 输出 状态 6 EM6 TC 和 MR6 相等时, 该位根据 EMC6 位进行动作, 并驱动 CT16Bn_PWM6 输出 状态 5 EM5 TC 和 MR5 相等时, 该位根据 EMC5 位进行动作, 并驱动 CT16Bn_PWM5 输出 状态 4 EM4 TC 和 MR4 相等时, 该位根据 EMC4 位进行动作, 并驱动 CT16Bn_PWM4 输出 状态 3 EM3 TC 和 MR3 相等时, 该位根据 EMC3 位进行动作, 并驱动 CT16Bn_PWM3 输出 状态 2 EM2 TC 和 MR2 相等时, 该位根据 EMC2 位进行动作, 并驱动 CT16Bn_PWM2 输出 状态 1 EM1 TC 和 MR1 相等时, 该位根据 EMC1 位进行动作, 并驱动 CT16Bn_PWM1 输出 状态 0 EM0 TC 和 MR0 相等时, 该位根据 EMC0 位进行动作, 并驱动 CT16Bn_PWM0 输出 状态 CT16Bn 外部匹配寄存器 (CT16Bn_EMC)(n=1) 地址偏移量 : 0x8C 外部匹配寄存器提供 CT16Bn_PWM[23:0] 的控制 若匹配输出配置为 PWM 输出, 外部匹配寄存器的功能由 PWM 规则决定 31:30 EMC15[1:0] CT16Bn_PWM15 功能决定位 00: 无功能 01: CT16Bn_PWM15 引脚为低电平 10: CT16Bn_PWM15 引脚为高电平 11: 反转 CT16Bn_PWM15 引脚状态 29:28 EMC14[1:0] CT16Bn_PWM14 功能决定位 00: 无功能. 01: CT16Bn_PWM14 引脚为低电平 10: CT16Bn_PWM14 引脚为高电平 11: 反转 CT16Bn_PWM14 引脚状态 SONiX TECHNOLOGY CO., LTD Page 92 Version 1.1

93 27:26 EMC13[1:0] CT16Bn_PWM13 功能决定位 00: 无功能 01: CT16Bn_PWM13 引脚为低电平 10: CT16Bn_PWM13 引脚为高电平 11: 反转 CT16Bn_PWM13 引脚状态 25:24 EMC12[1:0] CT16Bn_PWM12 功能决定位 00: 无功能 01: CT16Bn_PWM12 引脚为低电平 10: CT16Bn_PWM12 引脚为高电平 11: 反转 CT16Bn_PWM12 引脚状态 23:22 EMC11[1:0] CT16Bn_PWM11 功能决定位 00: 无功能 01: CT16Bn_PWM11 引脚为低电平 10: CT16Bn_PWM11 引脚为高电平 11: 反转 CT16Bn_PWM11 引脚状态 21:20 EMC10[1:0] CT16Bn_PWM10 功能决定位 00: 无功能 01: CT16Bn_PWM10 引脚为低电平 10: CT16Bn_PWM10 引脚为高电平 11: 反转 CT16Bn_PWM10 引脚状态 19:18 EMC9[1:0] CT16Bn_PWM9 功能决定位 00: 无功能 01: CT16Bn_PWM9 引脚为低电平 10: CT16Bn_PWM9 引脚为高电平 11: 反转 CT16Bn_PWM9 引脚状态 17:16 EMC8[1:0] CT16Bn_PWM8 功能决定位 00: 无功能 01: CT16Bn_PWM8 引脚为低电平 10: CT16Bn_PWM8 引脚为高电平 11: 反转 CT16Bn_PWM8 引脚状态 15:14 EMC7[1:0] CT16Bn_PWM7 功能决定位 00: 无功能 01: CT16Bn_PWM7 引脚为低电平 10: CT16Bn_PWM7 引脚为高电平 11: 反转 CT16Bn_PWM7 引脚状态 13:12 EMC6[1:0] CT16Bn_PWM6 功能决定位 00: 无功能 01: CT16Bn_PWM6 引脚为低电平 10: CT16Bn_PWM6 引脚为高电平 11: 反转 CT16Bn_PWM6 引脚状态 SONiX TECHNOLOGY CO., LTD Page 93 Version 1.1

94 11:10 EMC5[1:0] CT16Bn_PWM5 功能决定位 00: 无功能 01: CT16Bn_PWM5 引脚为低电平 10: CT16Bn_PWM5 引脚为高电平 11: 反转 CT16Bn_PWM5 引脚状态 9:8 EMC4[1:0] CT16Bn_PWM4 功能决定位 00: 无功能 01: CT16Bn_PWM4 引脚为低电平 10: CT16Bn_PWM4 引脚为高电平 11: 反转 CT16Bn_PWM4 引脚状态 7:6 EMC3[1:0] CT16Bn_PWM3 功能决定位 00: 无功能 01: CT16Bn_PWM3 引脚为低电平 10: CT16Bn_PWM3 引脚为高电平 11: 反转 CT16Bn_PWM3 引脚状态 5:4 EMC2[1:0] CT16Bn_PWM2 功能决定位 00: 无功能 01: CT16Bn_PWM2 引脚为低电平 10: CT16Bn_PWM2 引脚为高电平 11: 反转 CT16Bn_PWM2 引脚状态 3:2 EMC1[1:0] CT16Bn_PWM1 功能决定位 00: 无功能 01: CT16Bn_PWM1 引脚为低电平 10: CT16Bn_PWM1 引脚为高电平 11: 反转 CT16Bn_PWM1. 1:0 EMC0[1:0] CT16Bn_PWM0 功能决定位 00: 无功能 01: CT16Bn_PWM0 引脚为低电平 10: CT16Bn_PWM0 引脚为高电平 11: 反转 CT16Bn_PWM0. SONiX TECHNOLOGY CO., LTD Page 94 Version 1.1

95 CT16Bn 外部匹配控制寄存器 2(CT16Bn_EMC2)(n=1) 地址偏移量 : 0x90 外部匹配控制寄存器 2 提供 CT16Bn_PWM[23:0] 的控制 若匹配输出配置为 PWM 输出, 外部匹配寄存器的功能由 PWM 规 则决定 31:16 Reserved R 0 15:14 EMC23[1:0] CT16Bn_PWM23 功能决定位 00: 无功能 01: CT16Bn_PWM23 引脚为低电平 10: CT16Bn_PWM23 引脚为高电平 11: 反转 CT16Bn_PWM23 引脚状态 13:12 EMC22[1:0] CT16Bn_PWM22 功能决定位 00: 无功能 01: CT16Bn_PWM22 引脚为低电平 10: CT16Bn_PWM22 引脚为高电平 11: 反转 CT16Bn_PWM22 引脚状态 11:10 EMC21[1:0] CT16Bn_PWM21 功能决定位 00: 无功能 01: CT16Bn_PWM21 引脚为低电平 10: CT16Bn_PWM21 引脚为高电平 11: 反转 CT16Bn_PWM21 引脚状态 9:8 EMC20[1:0] CT16Bn_PWM20 功能决定位 00: 无功能 01: CT16Bn_PWM20 引脚为低电平 10: CT16Bn_PWM20 引脚为高电平 11: 反转 CT16Bn_PWM20 引脚状态 7:6 EMC19[1:0] CT16Bn_PWM19 功能决定位 00: 无功能 01: CT16Bn_PWM19 引脚为低电平 10: CT16Bn_PWM19 引脚为高电平 11: 反转 CT16Bn_PWM19 引脚状态 5:4 EMC18[1:0] CT16Bn_PWM18 功能决定位 00: 无功能 01: CT16Bn_PWM18 引脚为低电平 10: CT16Bn_PWM18 引脚为高电平 11: 反转 CT16Bn_PWM18 引脚状态 3:2 EMC17[1:0] CT16Bn_PWM17 功能决定位 00: 无功能 01: CT16Bn_PWM17 引脚为低电平 10: CT16Bn_PWM17 引脚为高电平 11: 反转 CT16Bn_PWM17 引脚状态 SONiX TECHNOLOGY CO., LTD Page 95 Version 1.1

96 1:0 EMC16[1:0] CT16Bn_PWM16 功能决定位 00: 无功能 01: CT16Bn_PWM16 引脚为低电平 10: CT16Bn_PWM16 引脚为高电平 11: 反转 CT16Bn_PWM16 引脚状态 CT16Bn PWM 控制寄存器 (CT16Bn_PWMCTRL) (n=1) 地址偏移量 : 0x94 PWM 控制寄存器用于配置匹配输出作为 PWM 输出 每个匹配输出都可独立作为 PWM 输出或者匹配输出执行, 其功能 由 CT16Bn_EM 寄存器控制 对于每个定时器来说, 在 CT16Bn_PWMCTRL 和 CT16Bn_PWMCTRL2 输出上可以选择最多由 4 条单边沿控制的 PWM 输出 额外的匹配寄存器决定 PWM 周期长度 在其它的匹配寄存器发生匹配时,PWM 输出高电平 定时器由设置 PWM 周期长度的匹配寄存器复位 定时器复位为 0 时, 将配置为 PWM 输出的所有当前高电平匹配输出都清零 31:30 PWM15MODE[1:0] 29:28 PWM14MODE[1:0] 27:26 PWM13MODE[1:0] PWM15 输出 00: PWM 模式 1. 向上计数期间,TC<MR15,PWM15 为 0 01: PWM 模式 2. 向上计数期间,TC<MR15,PWM15 为 1 10: PWM15 强制为 0 11: PWM15 强制为 1 PWM14 输出 00: PWM 模式 1. 向上计数期间,TC<MR14,PWM14 为 0 01: PWM 模式 2. 向上计数期间,TC<MR14,PWM14 为 1 10: PWM14 强制为 0 11: PWM14 强制为 1 PWM13 输出 00: PWM 模式 1. 向上计数期间,TC<MR13,PWM13 为 0 01: PWM 模式 2. 向上计数期间,TC<MR13,PWM13 为 1 10: PWM13 强制为 0 11: PWM13 强制为 1 SONiX TECHNOLOGY CO., LTD Page 96 Version 1.1

97 25:24 PWM12MODE[1:0] 23:22 PWM11MODE[1:0] 21:20 PWM10MODE[1:0] 19:18 PWM9MODE[1:0] 17:16 PWM8MODE[1:0] PWM12 输出 00: PWM 模式 1. 向上计数期间,TC<MR12,PWM12 为 0 01: PWM 模式 2. 向上计数期间,TC<MR12,PWM12 为 1 10: PWM12 强制为 0 11: PWM12 强制为 1 PWM11 输出 00: PWM 模式 1. 向上计数期间,TC<MR11,PWM11 为 0 01: PWM 模式 2. 向上计数期间,TC<MR11,PWM11 为 1 10: PWM11 强制为 0 11: PWM11 强制为 1 PWM10 输出 00: PWM 模式 1. 向上计数期间,TC<MR10,PWM10 为 0 01: PWM 模式 2. 向上计数期间,TC<MR10,PWM10 为 1 10: PWM10 强制为 0 11: PWM10 强制为 1 PWM9 输出 00: PWM 模式 1. 向上计数期间,TC<MR9,PWM9 为 0 01: PWM 模式 2. 向上计数期间,TC<MR9,PWM9 为 1 10: PWM9 强制为 0 11: PWM9 强制为 1 PWM8 输出 00: PWM 模式 1. 向上计数期间,TC<MR8,PWM8 为 0 01: PWM 模式 2. 向上计数期间,TC<MR8,PWM8 为 1 10: PWM8 强制为 0 11: PWM8 强制为 1 SN32F240B Series 15:14 PWM7MODE[1:0] PWM7 输出 00: PWM 模式 1. 向上计数期间,TC<MR7,PWM7 为 0 01: PWM 模式 2. 向上计数期间,TC<MR7,PWM7 为 1 10: PWM7 强制为 0 11: PWM7 强制为 1 SONiX TECHNOLOGY CO., LTD Page 97 Version 1.1

98 13:12 PWM6MODE[1:0] 11:10 PWM5MODE[1:0] 9:8 PWM4MODE[1:0] 7:6 PWM3MODE[1:0] 5:4 PWM2MODE[1:0] PWM6 输出 00: PWM 模式 1. 向上计数期间,TC<MR6,PWM6 为 0 01: PWM 模式 2. 向上计数期间,TC<MR6,PWM6 为 1 10: PWM6 强制为 0 11: PWM6 强制为 1 PWM5 输出 00: PWM 模式 1. 向上计数期间,TC<MR5,PWM5 为 0 01: PWM 模式 2. 向上计数期间,TC<MR5,PWM5 为 1 10: PWM5 强制为 0 11: PWM5 强制为 1 PWM4output. 00: PWM 模式 1. 向上计数期间,TC<MR4,PWM4 为 0 01: PWM 模式 2. 向上计数期间,TC<MR4,PWM4 为 1 10: PWM4 强制为 0 11: PWM4 强制为 1 PWM3 输出 00: PWM 模式 1. 向上计数期间,TC<MR3,PWM3 为 0 01: PWM 模式 2. 向上计数期间,TC<MR3,PWM3 为 1 10: PWM3 强制为 0 11: PWM3 强制为 1 PWM2 输出 00: PWM 模式 1. 向上计数期间,TC<MR2,PWM2 为 0 01: PWM 模式 2. 向上计数期间,TC<MR2,PWM8 为 1 10: PWM2 强制为 0 11: PWM2 强制为 1 SN32F240B Series 3:2 PWM1MODE[1:0] PWM1 输出 00: PWM 模式 1. 向上计数期间,TC<MR1,PWM1 为 0 01: PWM 模式 2. 向上计数期间,TC<MR1,PWM1 为 1 10: PWM1 强制为 0 11: PWM1 强制为 1 SONiX TECHNOLOGY CO., LTD Page 98 Version 1.1

99 1:0 PWM0MODE[1:0] PWM0 输出 00: PWM 模式 1. 向上计数期间,TC<MR0,PWM0 为 0 01: PWM 模式 2. 向上计数期间,TC<MR0,PWM0 为 1 10: PWM0 强制为 0 11: PWM0 强制为 1 SN32F240B Series CT16Bn PWM 控制寄存器 2 (CT16Bn_PWMCTRL2) (n=1) 地址偏移量 : 0x98 PWM 控制寄存器用于配置匹配输出作为 PWM 输出 每个匹配输出都可独立作为 PWM 输出或者匹配输出执行, 其功能由 CT16Bn_EM 寄存器控制 对于每个定时器来说, 在 CT16Bn_PWMCTRL 和 CT16Bn_PWMCTRL2 输出上可以选择最多由 4 条单边沿控制的 PWM 输出 额外的匹配寄存器决定 PWM 周期长度 在其它的匹配寄存器发生匹配时,PWM 输出高电平 定时器由设置 PWM 周期长度的匹配寄存器复位 定时器复位为 0 时, 将配置为 PWM 输出的所有当前高电平匹配输出都清零 31:16 Reserved R 0 15:14 PWM23MODE[1:0] 13:12 PWM22MODE[1:0] 11:10 PWM21MODE[1:0] PWM23 输出 00: PWM 模式 1. 向上计数期间,TC<MR23,PWM23 为 0 01: PWM 模式 2. 向上计数期间,TC<MR23,PWM23 为 1 10: PWM23 强制为 0 11: PWM23 强制为 1 PWM22 输出 00: PWM 模式 1. 向上计数期间,TC<MR22,PWM22 为 0 01: PWM 模式 2. 向上计数期间,TC<MR22,PWM22 为 1 10: PWM22 强制为 0 11: PWM22 强制为 1 PWM21 输出 00: PWM 模式 1. 向上计数期间,TC<MR21,PWM21 为 0 01: PWM 模式 2. 向上计数期间,TC<MR21,PWM21 为 1 10: PWM21 强制为 0 11: PWM21 强制为 1 SONiX TECHNOLOGY CO., LTD Page 99 Version 1.1

100 9:8 PWM20MODE[1:0] 7:6 PWM19MODE[1:0] 5:4 PWM18MODE[1:0] 3:2 PWM17MODE[1:0] 1:0 PWM16MODE[1:0] PWM20 输出 00: PWM 模式 1. 向上计数期间,TC<MR20,PWM20 为 0 01: PWM 模式 2. 向上计数期间,TC<MR20,PWM20 为 1 10: PWM20 强制为 0 11: PWM20 强制为 1 PWM19 输出 00: PWM 模式 1. 向上计数期间,TC<MR19,PWM19 为 0 01: PWM 模式 2. 向上计数期间,TC<MR19,PWM19 为 1 10: PWM19 强制为 0 11: PWM19 强制为 1 PWM18 输出 00: PWM 模式 1. 向上计数期间,TC<MR18,PWM18 为 0 01: PWM 模式 2. 向上计数期间,TC<MR18,PWM18 为 1 10: PWM18 强制为 0 11: PWM18 强制为 1 PWM17 输出 00: PWM 模式 1. 向上计数期间,TC<MR17,PWM17 为 0 01: PWM 模式 2. 向上计数期间,TC<MR17,PWM17 为 1 10: PWM17 强制为 0 11: PWM17 强制为 1 PWM16 输出 00: PWM 模式 1. 向上计数期间,TC<MR16,PWM16 为 0 01: PWM 模式 2. 向上计数期间,TC<MR16,PWM16 为 1 10: PWM16 强制为 0 11: PWM16 强制为 1 SN32F240B Series SONiX TECHNOLOGY CO., LTD Page 100 Version 1.1

101 CT16Bn PWM 使能寄存器 (CT16Bn_PWMENB) (n=1) 地址偏移量 : 0x9C PWM 控制寄存器用于配置匹配输出作为 PWM 输出 每个匹配输出都可独立作为 PWM 输出或者匹配输出执行, 其功能 由 CT16Bn_EM 寄存器控制 对于每个定时器来说, 在 CT16Bn_PWMCTRL 和 CT16Bn_PWMCTRL2 输出上可以选择最多由 4 条单边沿控制的 PWM 输出 额外的匹配寄存器决定 PWM 周期长度 在其它的匹配寄存器发生匹配时,PWM 输出高电平 定时器由设置 PWM 周期长度的匹配寄存器复位 定时器复位为 0 时, 将配置为 PWM 输出的所有当前高电平匹配输出都清零 31:24 Reserved R 0 23 PWM23EN PWM23 使能 0: EM23 控制 CT16Bn_PWM23 1: 为 CT16Bn_PWM23 使能 PWM 模式 22 PWM22EN PWM22 使能 0: EM22 控制 CT16Bn_PWM22 1: 为 CT16Bn_PWM22 使能 PWM 模式 21 PWM21EN PWM21 使能 0: EM21 控制 CT16Bn_PWM21 1: 为 CT16Bn_PWM21 使能 PWM 模式 20 PWM20EN PWM20 使能 0: EM20 控制 CT16Bn_PWM20 1: 为 CT16Bn_PWM20 使能 PWM 模式 19 PWM19EN PWM19 使能 0: EM19 控制 CT16Bn_PWM19 1: 为 CT16Bn_PWM19 使能 PWM 模式 18 PWM18EN PWM18 使能 0: EM18 控制 CT16Bn_PWM18 1: 为 CT16Bn_PWM18 使能 PWM 模式 17 PWM17EN PWM17 使能 0: EM17 控制 CT16Bn_PWM17 1: 为 CT16Bn_PWM17 使能 PWM 模式 16 PWM16EN PWM16 使能 0: EM16 控制 CT16Bn_PWM16 1: 为 CT16Bn_PWM16 使能 PWM 模式 15 PWM15EN PWM15 使能 0: EM15 控制 CT16Bn_PWM15 1: 为 CT16Bn_PWM15 使能 PWM 模式 14 PWM14EN PWM14 使能 0: EM14 控制 CT16Bn_PWM14 1: 为 CT16Bn_PWM14 使能 PWM 模式 13 PWM13EN PWM13 使能 0: EM13 控制 CT16Bn_PWM13 1: 为 CT16Bn_PWM13 使能 PWM 模式 12 PWM12EN PWM12 使能 0: EM12 控制 CT16Bn_PWM12 1: 为 CT16Bn_PWM12 使能 PWM 模式 11 PWM11EN PWM11 使能 0: EM11 控制 CT16Bn_PWM11 1: 为 CT16Bn_PWM11 使能 PWM 模式 10 PWM10EN PWM10 使能 0: EM17 控制 CT16Bn_PWM10 1: 为 CT16Bn_PWM10 使能 PWM 模式 SONiX TECHNOLOGY CO., LTD Page 101 Version 1.1

102 9 PWM9EN PWM9 使能 0: EM9 控制 CT16Bn_PWM9 1: 为 CT16Bn_PWM9 使能 PWM 模式 8 PWM8EN PWM8 使能 0: EM8 控制 CT16Bn_PWM8 1: 为 CT16Bn_PWM8 使能 PWM 模式 7 PWM7EN PWM7 使能 0: EM7 控制 CT16Bn_PWM7 1: 为 CT16Bn_PWM7 使能 PWM 模式 6 PWM6EN PWM6 使能 0: EM6 控制 CT16Bn_PWM6 1: 为 CT16Bn_PWM6 使能 PWM 模式 5 PWM5EN PWM5 使能 0: EM5 控制 CT16Bn_PWM5 1: 为 CT16Bn_PWM5 使能 PWM 模式 4 PWM4EN PWM4 使能 0: EM4 控制 CT16Bn_PWM4 1: 为 CT16Bn_PWM4 使能 PWM 模式 3 PWM3EN PWM3 使能 0: EM3 控制 CT16Bn_PWM3 1: 为 CT16Bn_PWM3 使能 PWM 模式 2 PWM2EN PWM2 使能 0: EM1 控制 CT16Bn_PWM1 1: 为 CT16Bn_PWM1 使能 PWM 模式 1 PWM1EN PWM1 使能 0: EM1 控制 CT16Bn_PWM1 1: 为 CT16Bn_PWM1 使能 PWM 模式 0 PWM0EN PWM0 使能 0: EM0 控制 CT16Bn_PWM0 1: 为 CT16Bn_PWM0 使能 PWM 模式 SONiX TECHNOLOGY CO., LTD Page 102 Version 1.1

103 PWM IO 使能寄存器 (CT16Bn_PWMIOENB) (n=1 ) 地址偏移量 : 0xA0 PWM 控制寄存器用于配置匹配输出作为 PWM 输出 每个匹配输出都可独立作为 PWM 输出或者匹配输出执行, 其功能 由 CT16Bn_EM 寄存器控制 对于每个定时器来说, 在 CT16Bn_PWMCTRL 和 CT16Bn_PWMCTRL2 输出上可以选择最多由 4 条单边沿控制的 PWM 输 出 额外的匹配寄存器决定 PWM 周期长度 在其它的匹配寄存器发生匹配时,PWM 输出高电平 定时器由设置 PWM 周 期长度的匹配寄存器复位 定时器复位为 0 时, 将配置为 PWM 输出的所有当前高电平匹配输出都清零 31:24 Reserved R 0 23 PWM23IOEN CT16Bn_PWM23/GPIO 选择位 0: CT16Bn_PWM23 引脚用作 GPIO 1: CT16Bn_PWM23 引脚用作匹配输出, 且输出信号取决于 PWM23EN 位 22 PWM22IOEN CT16Bn_PWM22/GPIO 选择位 0: CT16Bn_PWM22 引脚用作 GPIO 1: CT16Bn_PWM22 引脚用作匹配输出, 且输出信号取决于 PWM22EN 位 21 PWM21IOEN CT16Bn_PWM21/GPIO 选择位 0: CT16Bn_PWM21 引脚用作 GPIO 1: CT16Bn_PWM21 引脚用作匹配输出, 且输出信号取决于 PWM21EN 位 20 PWM20IOEN CT16Bn_PWM20/GPIO 选择位 0: CT16Bn_PWM20 引脚用作 GPIO 1: CT16Bn_PWM20 引脚用作匹配输出, 且输出信号取决于 PWM20EN 位 19 PWM19IOEN CT16Bn_PWM19/GPIO 选择位 0: CT16Bn_PWM19 引脚用作 GPIO 1: CT16Bn_PWM19 引脚用作匹配输出, 且输出信号取决于 PWM19EN 位 18 PWM18IOEN CT16Bn_PWM18/GPIO 选择位 0: CT16Bn_PWM18 引脚用作 GPIO 1: CT16Bn_PWM18 引脚用作匹配输出, 且输出信号取决于 PWM18EN 位 17 PWM17IOEN CT16Bn_PWM17/GPIO 选择位 0: CT16Bn_PWM17 引脚用作 GPIO 1: CT16Bn_PWM17 引脚用作匹配输出, 且输出信号取决于 PWM17EN 位 16 PWM16IOEN CT16Bn_PWM16/GPIO 选择位 0: CT16Bn_PWM16 引脚用作 GPIO 1: CT16Bn_PWM16 引脚用作匹配输出, 且输出信号取决于 PWM16EN 位 15 PWM15IOEN CT16Bn_PWM15/GPIO 选择位 0: CT16Bn_PWM15 引脚用作 GPIO 1: CT16Bn_PWM15 引脚用作匹配输出, 且输出信号取决于 PWM15EN 位 14 PWM14IOEN CT16Bn_PWM14/GPIO 选择位 0: CT16Bn_PWM14 引脚用作 GPIO 1: CT16Bn_PWM14 引脚用作匹配输出, 且输出信号取决于 PWM14EN 位 SONiX TECHNOLOGY CO., LTD Page 103 Version 1.1

104 13 PWM13IOEN CT16Bn_PWM13/GPIO 选择位 0: CT16Bn_PWM13 引脚用作 GPIO 1: CT16Bn_PWM13 引脚用作匹配输出, 且输出信号取决于 PWM13EN 位 12 PWM12IOEN CT16Bn_PWM12/GPIO 选择位 0: CT16Bn_PWM12 引脚用作 GPIO 1: CT16Bn_PWM12 引脚用作匹配输出, 且输出信号取决于 PWM12EN 位 11 PWM11IOEN CT16Bn_PWM11/GPIO 选择位 0: CT16Bn_PWM11 引脚用作 GPIO 1: CT16Bn_PWM11 引脚用作匹配输出, 且输出信号取决于 PWM11EN 位 10 PWM10IOEN CT16Bn_PWM10/GPIO 选择位 0: CT16Bn_PWM10 引脚用作 GPIO 1: CT16Bn_PWM10 引脚用作匹配输出, 且输出信号取决于 PWM10EN 位 9 PWM9IOEN CT16Bn_PWM9/GPIO 选择位 0: CT16Bn_PWM9 引脚用作 GPIO 1: CT16Bn_PWM9 引脚用作匹配输出, 且输出信号取决于 PWM9EN 位 8 PWM8IOEN CT16Bn_PWM8/GPIO 选择位 0: CT16Bn_PWM8 引脚用作 GPIO 1: CT16Bn_PWM8 引脚用作匹配输出, 且输出信号取决于 PWM8EN 位 7 PWM7IOEN CT16Bn_PWM7/GPIO 选择位 0: CT16Bn_PWM7 引脚用作 GPIO 1: CT16Bn_PWM7 引脚用作匹配输出, 且输出信号取决于 PWM7EN 位 6 PWM6IOEN CT16Bn_PWM6/GPIO 选择位 0: CT16Bn_PWM6 引脚用作 GPIO 1: CT16Bn_PWM6 引脚用作匹配输出, 且输出信号取决于 PWM6EN 位 5 PWM5IOEN CT16Bn_PWM5/GPIO 选择位 0: CT16Bn_PWM5 引脚用作 GPIO 1: CT16Bn_PWM5 引脚用作匹配输出, 且输出信号取决于 PWM5EN 位 4 PWM4IOEN CT16Bn_PWM4/GPIO 选择位 0: CT16Bn_PWM4 引脚用作 GPIO 1: CT16Bn_PWM4 引脚用作匹配输出, 且输出信号取决于 PWM4EN 位 3 PWM3IOEN CT16Bn_PWM3/GPIO 选择位 0: CT16Bn_PWM3 引脚用作 GPIO 1: CT16Bn_PWM3 引脚用作匹配输出, 且输出信号取决于 PWM3EN 位 2 PWM2IOEN CT16Bn_PWM2/GPIO 选择位 0: CT16Bn_PWM2 引脚用作 GPIO 1: CT16Bn_PWM2 引脚用作匹配输出, 且输出信号取决于 PWM2EN 位 1 PWM1IOEN CT16Bn_PWM1/GPIO 选择位 0: CT16Bn_PWM1 引脚用作 GPIO 1: CT16Bn_PWM1 引脚用作匹配输出, 且输出信号取决于 PWM1EN 位 0 PWM0IOEN CT16Bn_PWM0/GPIO 选择位 0: CT16Bn_PWM0 引脚用作 GPIO 1: CT16Bn_PWM0 引脚用作匹配输出, 且输出信号取决于 PWM0EN 位 SONiX TECHNOLOGY CO., LTD Page 104 Version 1.1

105 CT16Bn 定时器中断源状态寄存器 (CT16Bn_RIS) (n=0) 地址偏移量 : 0xA4 该寄存器显示定时器 /PWM 中断的原始状态, 若 CT16Bn_IE 寄存器的相应位置 1, 定时器 /PWM 中断发送到中断控制器 31:26 Reserved R 0 25 CAP0IF 捕获通道 0 的中断标志位 R 0 0:CAP0 无中断 ; 1:CAP0 发生中断请求 24:1 Reserved R 0 0 MR0IF 匹配通道 0 的中断标志位 0: 匹配通道 0 无中断 ; 1: 匹配中断 0 发生中断请求 R CT16Bn 时器中断源状态寄存器 (CT16Bn_RIS) (n=1) 地址偏移量 : 0xA4 该寄存器显示定时器 /PWM 中断的原始状态, 若 CT16Bn_IE 寄存器的相应位置 1, 定时器 /PWM 中断发送到中断控制器 31:25 Reserved R 0 24 MR24IF 匹配通道 24 的中断标志位 0: 匹配通道 24 无中断 1: 匹配通道 24 发生中断请求 23 MR23IF 匹配通道 23 的中断标志位 0: 匹配通道 23 无中断 1: 匹配通道 23 发生中断请求 22 MR22IF 匹配通道 22 的中断标志位 0: 匹配通道 22 无中断 1: 匹配通道 22 发生中断请求 21 MR21IF 匹配通道 21 的中断标志位 0: 匹配通道 21 无中断 1: 匹配通道 21 发生中断请求 20 MR20IF 匹配通道 20 的中断标志位 0: 匹配通道 20 无中断 1: 匹配通道 20 发生中断请求 19 MR19IF 匹配通道 19 的中断标志位 0: 匹配通道 19 无中断 1: 匹配通道 19 发生中断请求 R 0 R 0 R 0 R 0 R 0 R 0 SONiX TECHNOLOGY CO., LTD Page 105 Version 1.1

106 18 MR18IF 匹配通道 18 的中断标志位 0: 匹配通道 18 无中断 1: 匹配通道 18 发生中断请求 17 MR17IF 匹配通道 17 的中断标志位 0: 匹配通道 17 无中断 1: 匹配通道 17 发生中断请求 16 MR16IF 匹配通道 16 的中断标志位 0: 匹配通道 16 无中断 1: 匹配通道 16 发生中断请求 15 MR15IF 匹配通道 15 的中断标志位 0: 匹配通道 15 无中断 1: 匹配通道 15 发生中断请求 14 MR14IF 匹配通道 14 的中断标志位 0: 匹配通道 14 无中断 1: 匹配通道 14 发生中断请求 13 MR13IF 匹配通道 13 的中断标志位 0: 匹配通道 13 无中断 1: 匹配通道 13 发生中断请求 12 MR12IF 匹配通道 12 的中断标志位 0: 匹配通道 12 无中断 1: 匹配通道 12 发生中断请求 11 MR11IF 匹配通道 11 的中断标志位 0: 匹配通道 11 无中断 1: 匹配通道 11 发生中断请求 10 MR10IF 匹配通道 10 的中断标志位 0: 匹配通道 10 无中断 1: 匹配通道 10 发生中断请求 9 MR9IF 匹配通道 9 的中断标志位 0: 匹配通道 9 无中断 1: 匹配通道 9 发生中断请求 8 MR8IF 匹配通道 8 的中断标志位 0: 匹配通道 8 无中断 1: 匹配通道 8 发生中断请求 7 MR7IF 匹配通道 7 的中断标志位 0: 匹配通道 7 无中断 1: 匹配通道 7 发生中断请求 6 MR6IF 匹配通道 6 的中断标志位 0: 匹配通道 6 无中断 1: 匹配通道 6 发生中断请求 5 MR5IF 匹配通道 5 的中断标志位 0: 匹配通道 5 无中断 1: 匹配通道 5 发生中断请求 4 MR4IF 匹配通道 4 的中断标志位 0: 匹配通道 4 无中断 1: 匹配通道 4 发生中断请求 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 SONiX TECHNOLOGY CO., LTD Page 106 Version 1.1

107 3 MR3IF 匹配通道 4 的中断标志位 0: 匹配通道 4 无中断 1: 匹配通道 4 发生中断请求 2 MR2IF 匹配通道 2 的中断标志位 0: 匹配通道 2 无中断 1: 匹配通道 2 发生中断请求 1 MR1IF 匹配通道 1 的中断标志位 0: 匹配通道 1 无中断 1: 匹配通道 1 发生中断请求 1 MR0IF 匹配通道 0 的中断标志位 0: 匹配通道 0 无中断 1: 匹配通道 0 发生中断请求 R 0 R 0 R 0 R CT16Bn 定时器中断清零寄存器 (CT16Bn_IC) (n=0) 地址偏移量 : 0xA8 31:26 Reserved R 0 25 CAP0IC 0: 无影响 W 0 1: CAP0IF 位清零 24:1 Reserved R 0 0 MR0IC 0: 无影响 1: MR0IF 位清零 W CT16Bn 定时器中断清零寄存器 (CT16Bn_IC) (n=1) 地址偏移量 : 0xA8 31:25 Reserved R 0 24 MR24IC 0: 无影响 1: MR24IF 位清零 23 MR23IC 0: 无影响 1: MR23IF 位清零 22 MR22IC 0: 无影响 1: MR22IF 位清零 21 MR21IC 0: 无影响 1: MR21IF 位清零 20 MR20IC 0: 无影响 1: MR20IF 位清零 W 0 W 0 W 0 W 0 W 0 SONiX TECHNOLOGY CO., LTD Page 107 Version 1.1

108 19 MR19IC 0: 无影响 1: MR19IF 位清零 18 MR18IC 0: 无影响 1: MR18IF 位清零 17 MR17IC 0: 无影响 1: MR17IF 位清零 16 MR16IC 0: 无影响 1: MR16IF 位清零 15 MR15IC 0: 无影响 1: MR15IF 位清零 14 MR14IC 0: 无影响 1: MR14IF 位清零 13 MR13IC 0: 无影响 1: MR13IF 位清零 12 MR12IC 0: 无影响 1: MR12IF 位清零 11 MR11IC 0: 无影响 1: MR11IF 位清零 10 MR10IC 0: 无影响 1: MR10IF 位清零 9 MR9IC 0: 无影响 1: MR9IF 位清零 8 MR8IC 0: 无影响 1: MR8IF 位清零 7 MR7IC 0: 无影响 1: MR7IF 位清零 6 MR6IC 0: 无影响 1: MR6IF 位清零 5 MR5IC 0: 无影响 1: MR5IF 位清零 4 MR4IC 0: 无影响 1: MR4IF 位清零. 3 MR3IC 0: 无影响 1: MR3IF 位清零 2 MR2IC 0: 无影响 1: MR2IF 位清零 1 MR1IC 0: 无影响 1: MR1IF 位清零 0 MR0IC 0: 无影响 1: MR0IF 位清零 W 0 W 0 W 0 W 0 W 0 W 0 W 0 W 0 W 0 W 0 W 0 W 0 W 0 W 0 W 0 W 0 W 0 W 0 W 0 W 0 SONiX TECHNOLOGY CO., LTD Page 108 Version 1.1

109 9 看门狗定时器 (WDT) 9.1 概述 若系统进入了错误的工作状态, 看门狗可以在合理的时间范围内使单片机复位 使能看门狗时, 若在预订的时间范围内用户程序加载 ( 或重载 ) 看门狗定时器失败, 则看门狗会使系统复位或者产生一个中断 看门狗由 128 个固定的预分频分频器和一个 8 位计数器组成, 时钟经由预分频提供给定时器 定时器递减计数, 计数器递减 到 0x01 时为最小值 因此, 看门狗的最小间隔为 TWDT_PCLK 128 1, 最大间隔为 TWDT_PCLK 看门狗按照下列方法进行操作 : 1 通过 APB 时钟预分频寄存器 1(SYS1_APBCP1) 中的 WDTPRE 位为看门狗时钟设置预分频值 ; 2 在 WDT_TC 寄存器中设置看门狗定时器的恒定重载值 ; 3 使能看门狗, 通过 WDT_CFG 寄存器设置看门狗定时器的操作模式 ; 4 通过写入 0X55AA 到 WDT_FEED 寄存器再次加载值给看门狗, 以防止看门狗计数器溢出引起复位或产生中断 设置 WDT_CFG 寄存器的 WDTEN 位时, 看门狗开始运行, 时间恒定值载入看门狗计数器, 计数器开始递减计数 看门 狗在复位模式下工作时, 计数器溢出后,CPU 复位, 随着外部复位, 系统从向量表中将数据导入堆栈指针和程序计数器 中 不管何时写入 0x55AA 到 WDT_FEED 寄存器中,WDT_TC 的值重载入看门狗计数器, 并阻止看门狗复位或者中断 看门狗定时器的时钟有一种 : WDT_PCLK WDT_PCLK 用于看门狗定时器计数 多种时钟都可用作 WDT_PCLK 的时 钟源 :ILRC 在 AHB 时钟使能寄存器 (SYS1_AHBCLKEN) 中禁止看门狗寄存器模块的时钟以省电 当看门狗正在运行且有操作时钟源时, 任何时候都可能发生看门狗中断或复位 SONiX TECHNOLOGY CO., LTD Page 109 Version 1.1

110 9.2 框图 SN32F240B Series Feed Watchdog WDT_TC WDT_FEED Feed OK Reload Counter WDT_PCLK /128 8-bit Down Counter underflow Enable Counter WDT_CFG WDINT WDTIE WDTEN WDT Reset WDT Interrupt SONiX TECHNOLOGY CO., LTD Page 110 Version 1.1

111 9.3 WDT 寄存器 基地址 : 0x 看门狗配置寄存器 (WDT_CFG) 地址偏移量 : 0x00 WDT_CFG 寄存器通过 WDTEN 和 WDTIE 位的组合控制看门狗的操作 该寄存器显示看门狗定时器中断的 Raw 状态 若 WDTINT 和 WDTIE 位都置 1, 则发送 WDT 中断到中断控制器中 31:16 WDKEY 看门狗寄存器按键 读取为 0 执行写动作时必须写入 0x5AFA 到寄存器的 WDKEY 位, 否则执 行的写动作会被忽略 W 0 15:3 Reserved R 0 2 WDTINT 看门狗中断标志位 < 读 > 0: 看门狗没有引起中断 ; 1: 看门狗超时, 并引起中断 ( 当且仅当 WDTIE =1 时 ) < 写 > 0: 清除该位 清零之前 SW 会重新设置看门狗 1 WDTIE 看门狗中断使能位 0: 看门狗超时, 引起芯片复位 ( 看门狗复位模式 ); 看门狗计数器下溢引 0 WDTEN 看门狗使能位 0: 禁止 起单片机复位, 并将 WDTINT 位清零 ; 1: 看门狗超时引起中断 ( 看门狗中断模式 ) 1: 使能 使能看门狗时,WDT_TC 的值装入看门狗计数器 看门狗定时器常量寄存器 (WDT_TC) 地址偏移量 : 0x08 WDT_TC 寄存器决定超时的时间值, 每次清看门狗, 都会重装 WDT_TC 的数值到看门狗定时器中 它是一个 8 位计数器, 定时器的超时时间为 TWDT_PCLK 128 x 1 ~ TWDT_PCLK 128 x 256. 看门狗溢出时间 = (31.25us x 1) x 128 x 1 ~ (31.25us x 32) x 128 x 256 = 4ms ~ 32768ms SONiX TECHNOLOGY CO., LTD Page 111 Version 1.1

112 31:16 WDKEY 看门狗寄存器按键 W 0 读取为 0 执行写动作时必须写入 0x5AFA 到寄存器的 WDKEY 位, 否则执行的写动作会被忽略 15:8 Reserved R 0 7:0 TC[7:0] 看门狗定时器恒定重装值 = TC[7:0] : 定时器恒定值 = : 定时器恒定值 = : 定时器恒定值 = : 定时器恒定值 = 256 R/W 0xFF 看门狗时钟源固定为 ILRC 看门狗 Feed 寄存器 (WDT_FEED) 地址偏移量 : 0x0C 31:16 WDKEY 看门狗寄存器按键 读取为 0 执行写动作时必须写入 0x5AFA 到寄存器的 WDKEY 位, 否则执行的写动作会被忽略 15:0 FV[15:0] Feed 值 ( 读取为 0x0) 0x55AA: 清看门狗,WDT_TC 的值重装到看门狗计数器 W 0 W 0 SONiX TECHNOLOGY CO., LTD Page 112 Version 1.1

113 10 SPI 10.1 概述 SPI 控制器可以与总线上多主机和多从机间交互通讯 在数据传送过程中, 只有单个主机和单个从机可以在总线上进行通 讯 数据传送为全双工的 4~16 位的数据帧从主机流向从机, 或者从从机流向主机 实际上, 在这些数据流中通常只有一 个携带着有意义的数据 10.2 特性 兼容摩托罗拉 SPI 总线 同步串行通讯 支持主机或从机操作 8 帧 FIFO, 用于发送或接收 4~16 位帧 SPI 的最大速度为 24Mbps( 主机 ) 或 6Mbps( 从机 ) 数据发送格式为 MSB 或者 LSB, 由寄存器控制 数据采样的起始相位位置可以选择第一个相位或者第二个相位, 由寄存器控制 10.3 引脚说明 Pin Name Type Description GPIO Configuration SCKn O SPI 串行时钟 ( 主机 ) I SPI 串行时钟 ( 从机 ) 取决于 GPIOn_CFG SELn O SPI 从机选择 ( 主机 ) I SPI 从机选择 ( 从机 ) 取决于 GPIOn_CFG MISOn I 主机输入, 从机输出 ( 主机 ) 取决于 GPIOn_CFG O 主机输入, 从机输出 ( 从机 ) MOSIn O 主机输出, 从机输入 ( 主机 ) I 主机输出, 从机输入 ( 从机 ) 取决于 GPIOn_CFG SONiX TECHNOLOGY CO., LTD Page 113 Version 1.1

114 10.4 接口说明 SPI SPI 接口是 1 个 4 线接口, 其中 SSEL 信号作为一个从机信号进行选择 SPI 格式的主要特性是 : 空闲状态和 SCK 信号的相位 都可通过 SPIn_CTRL1 寄存器的 CPOL 和 CPHA 位进行编程 CPOL 时钟极性控制位为低时, 在 SCK 引脚生成稳定的低电平状态 CPOL 时钟极性控制位为高时, 则在 CLK 引脚产生稳 定的高电平状态, 此时并没有发送数据 CPHA 时钟相位位控制数据在哪个时钟相位上被采样 若 CPHA=1,SCK 的第一个边沿进行数据转换,SCK 的第二个边沿 进行数据的接收和发送 ; 若 CPHA=0, 第一个位已经确定, 在 SCK 的第一个边沿进行数据的接收和发送 SPI 数据发送时序图如下 : SCK MLSB CPOL CPHA Idle Status Diagrams Low MSB bit1 LSB High MSB bit1 LSB Low MSB bit1 LSB Next data High MSB bit1 LSB Next data Low LSB bit MSB High LSB bit MSB SONiX TECHNOLOGY CO., LTD Page 114 Version 1.1

115 1 0 0 Low LSB bit MSB Next data High LSB bit MSB Next data 通讯流程 单帧 CS CPOL=0 CPHA=1 CPOL=1 CPHA=0 SPI CPOL=1 CPHA=1 CPOL=0 CPHA=0 DATA MSB DATA LSB MSB LSB LSB MSB SONiX TECHNOLOGY CO., LTD Page 115 Version 1.1

116 多帧 SN32F240B Series CS CPOL=0 SCK CPHA=1 SPI CPOL=1 SCK CPHA=0 CPOL=1 SCK CPHA=1 CPOL=0 SCK CPHA=0 DATA F0 msb F0 F0 F0 lsb F1 msb F1 F1 F1 lsb 10.5 AUTO-SEL Auto-SEL 功能的默认为禁止状态, 若使能 Auto-SEL 功能, 硬件控制 Auto-SEL 数据流 若禁止 Auto-SEL 功能 (SELDIS = 1),HW 不能控制 SELn 引脚,SELn 引脚为 GPIO 引脚 若使能 Auto-SEL 功能 (SELDIS = 0),SPI HW 控制 SELn 活动 SONiX TECHNOLOGY CO., LTD Page 116 Version 1.1

117 10.6 SPI 寄存器 基地址 : 0x4001 C000 (SPI0) SPI n 控制寄存器 0 (SPIn_CTRL0) (n=0) 地址偏移量 :0x00 注 : 1. 当 SSPEN=1 时, 如果改变 SSP 的任何配置, 都必须使用 FRESET[1:0] 复位 SSP FSM 2. 当 SSPEN=1 时,HW 直接切换 FORMAT 位决定的 I/O 配置 31:19 Reserved R 0 18 SELDIS Auto-SEL 功能禁止位, 仅针对 SPI 模式 0: 使能 Auto-SEL 流程控制 ; 1: 禁止 Auto-SEL 流程控制 R/W 1 17:15 RXFIFOTH[2:0] RX FIFO 门限 000: RX FIFO 门限 = : RX FIFO 门限 = : RX FIFO 门限 = 7. 14:12 TXFIFOTH[2:0] TX FIFO 门限 000: TX FIFO 门限 = : TX FIFO 门限 = : TX FIFO 门限 = 7. 11:8 DL[3:0] 数据长度 = DL[3:0] ~0001: 保留 0010: 数据长度 = : 数据长度 = : 数据长度 = 16. R/W R/W R/W 000b 000b 1111b 7:6 FRESET[1:0] SPI FSM 和 FIFO 复位位 00: 无影响 01: 保留 10: 保留 W 0 SONiX TECHNOLOGY CO., LTD Page 117 Version 1.1

118 11: 复位状态机和 FIFO(BUF_BUSY=0, 移入 BUF 的数据清零, TX_EMPTY=1,TX_FULL=0,RX_EMPTY=1,RX_FULL=0, 和 FIFO 的数 据清零 ), 该位由 HW 自动清零 SN32F240B Series 5 Reserved R 0 4 FORMAT 接口格式 0: SPI. 1: 保留 3 MS 主机 / 从机选择位 0: 主机 1: 从机 2 SDODIS 从机数据输出禁止位 ( 仅用于从机模式 ) 0: 使能从机数据输出 ; 1: 禁止从机数据输出 (MISO=0) 1 LOOPBACK 回路模式使能位 0: 禁止 1: 数据输入来自数据输出 0 SPIEN SPI 使能位 0: 禁止 1: 使能, 且 HW 直接参考 FORMAT 位切换 I/O 配置 SPI n 控制寄存器 1 (SPIn_CTRL1) (n=0) 地址偏移量 : 0x04 31:3 Reserved R 0 2 CPHA 边沿采样的时钟相位 0:CPOL=0 时, 在时钟下降沿改变数据, 上升沿锁存,CPOL=1 时, 在时 钟上升沿改变数据, 下降沿锁存 ; 1:CPOL=0 时, 在时钟上升沿改变数据, 下降沿锁存,CPOL=1 时, 在时 钟下降沿改变数据, 上升沿锁存 1 CPOL 时钟极性选择位 0: 在低电平 SCK 空闲 1: 在高电平 SCK 空闲 0 MLSB MSB/LSB 选择位 0: 先发送 MSB; 1: 先发送 LSB SONiX TECHNOLOGY CO., LTD Page 118 Version 1.1

119 SPI n 时钟分频寄存器 (SPIn_CLKDIV) (n=0) 地址偏移量 : 0x08 31:8 Reserved R 0 7:0 DIV[7:0] SPIn 时钟分频 0: SCK = SPIn_PCLK / 2 1: SCK = SPIn_PCLK / 4 2: SCK = SPIn_PCLK / 6 X: SCK = SPIn_PCLK / (2X+2) SPI n 状态寄存器 (SPIn_STAT) (n=0) 地址偏移量 : 0x0C 31:7 Reserved R 0 6 RXFIFOTHF RX FIFO 临界值标志位 0: Data in RX FIFO RXFIFOTH. 1: Data in RX FIFO > RXFIFOTH. 5 TXFIFOTHF TX FIFO 临界值标志位 0: Data in TX FIFO > TXFIFOTH. 1: Data in TX FIFO TXFIFOTH. 4 BUSY 繁忙标志位 0: SPI 控制器空闲 1: SPI 控制器正在工作 3 RX_FULL RX FIFO 全满标志位 0: RX FIFO 非全满 1: RX FIFO 全满 2 RX_EMPTY RX FIFO 全空标志位 0: RX FIFO 非全空 1: RX FIFO 全空 1 TX_FULL TX FIFO 全满标志位 0: TX FIFO 非全满 1: TX FIFO 全满 0 TX_EMPTY TX FIFO 全空标志位 0: TX FIFO 非全空, 主机模式下, 发送机自动开始发送 ; 1: TX FIFO 全空 R 0 R 1 R 0 R 0 R 1 R 0 R 1 SONiX TECHNOLOGY CO., LTD Page 119 Version 1.1

120 SPI n 中断使能寄存器 (SPIn_IE) (n=0) 地址偏移量 : 0x10 该寄存器用于控制 SPI 控制器中 4 个中断的使能状态 31:4 Reserved R 0 3 TXFIFOTHIE TX FIFO 临界值中断使能位 0: 禁止 1: 使能 2 RXFIFOTHIE RX FIFO 临界值中断使能位 0: 禁止 1: 使能 1 RXTOIE RX 超时中断使能位 0: 禁止 1: 使能 0 RXOVFIE RX 超时中断使能位 0: 禁止 1: 使能 SPI n 中断源状态寄存器 (SPIn_RIS) (n=0) 地址偏移量 : 0x14 该寄存器包含每个中断的状态, 不管是否在 SSPn_IE 寄存器中使能了中断 该寄存器显示 SPI 控制中断源状态 若 SPIn_IE 寄存器的相应位置 1 时, 会发送一个 SPI 中断到中断控制器中 31:4 Reserved R 0 3 TXFIFOTHIF TX FIFO 临界值中断标志位 0: 没有 TX FIFO 临界值中断 ;1: 触发 TX FIFO 临界值中断 2 RXFIFOTHIF RX FIFO 临界值中断标志位 0: 没有 RX FIFO 临界值中断 ;1: 触发 FIFO 临界值中断 1 RXTOIF RX 超时中断标志位 当 RX FIFO 不空时, 并且超时时间内 (32*SPIn_PCLK) 没有被读出, 则发生 RXTO 这个超时时间对主机模式和从机模式是一样的 0: 没有发生 RXTO;1: 发生 RXTO 0 RXOVFIF RX 溢出中断标志位 当 RX FIFO 全满时, 并且另外一帧被完全接收, 则发生 RXOVF ARM 规格 描述当此种情况发生时, 新帧数据覆盖前帧数据 0: 没有发生 RXOVF;1: 发生 RXOVF R 0 R 0 R 0 R 0 SONiX TECHNOLOGY CO., LTD Page 120 Version 1.1

121 SPI n 中断清零寄存器 (SPIn_IC) (n=0) 地址偏移量 : 0x18 31:4 Reserved R 0 3 TXFIFOTHIC 0: 无影响 1: 清 TXFIFOTHIF 位 2 RXFIFOTHIC 0: 无影响 1: 清 RXFIFOTHIF 位 1 RXTOIC 0: 无影响 1: 清 RXTOIF 位 0 RXOVFIC 0: 无影响 1: 清 RXOVFIF 位 W 0 W 0 W 0 W SPI n 数据寄存器 (SPIn_DATA) (n=0) 地址偏移量 : 0x1C 31:16 Reserved R 0 15:0 DATA[15:0] 写 当 SPIn_STAT 寄存器 TX_FULL=0(TX FIFO 非全满 ) 时,SW 写入需要发送 的数据帧到此寄存器 若 TX FIFO 为空, 且 SPI 控制器在总线上也并不繁忙, 可以即刻开始传送数据 否则需等待前面的数据已经发送 ( 接收 ), 写入的数据才会被发送读 当 SPIn_STAT 寄存器的 RX_EMPTY=0(RX FIFO 非空 ) 时,SW 从此寄存器 中读取数据 SW 读取此寄存器的数据时,SPI 控制器从 RX FIFO 的最近的帧 中返回数据 若数据长度小于 16 位, 这些数据向右靠齐, 剩下的高位则填满 SPI n 数据 Fetch 寄存器 (SPIn_DFDLY) (n=0) 地址偏移量 : 0x20 31:1 Reserved R 0 0 DFETCH_EN SPI 数据 fetch 控制位 0: 禁止 1: SCKn 频率大于 6MHz 时使能 SONiX TECHNOLOGY CO., LTD Page 121 Version 1.1

122 11 I2C 11.1 概述 I2C 总线是两线的内部 IC 控制用的双向通讯总线 : 串行时钟线 (SCL) 和串行数据线 (SDA) 每个设备都通过唯一的地址进行识别, 可以作为单一接收设备 ( 如 LCD 驱动 ) 或者兼具收发功能的发送设备 ( 如存储器 ) 根据是否已经初始化数据传送或者分配设备地址, 发送设备或接收设备可工作在主机或者从机模式下 I2C 是多主机总线, 可由与之连接的多个主机控制, 并且兼容 SMBus 2.0 根据方向位 (R/W) 的状态, 可在 I2C 总线上处理 2 种数据传送 数据由主机发送器发送到从机接收器 : 主机发送的第一个字节是从机地址, 接下来是数据字节 ; 从机在接收到每个字节后, 都返回一个应答信号 数据由从机发送器发送到主机接收器 : 主机发送第一个字节 ( 从机地址 ), 从机返回一个应答信号 接下来由从机发送数据字节到主机 主机在所有接收到 的数据之后会返回一个应答信号, 除了最后一个字节 在接收到最后一个字节之后, 主机返回一个非应答信号 主机 设备产生所有串行时钟脉冲和 START 以及 STOP 信号 一个发送终止以 STOP 信号为依据, 或者以重复 START 信号为依据 因为重复 START 信号是下一个串行发送的前提,I2C 总线是不会释放 I2C 接口是以字节为单位, 有 4 种操作模式 : 主机发送模式 ; 主机接收模式 ; 从机发送模式 ; 从机接收模式 11.2 特征 I2C 接口符合整个 I2C 规范, 支持关闭 ARM Cortex-M0 功能, 而不影响同一 I2C 总线上的其它设备 标准 I2C-compliant 总线接口可配置为主机或从机 I2C 主机特征 : 产生时钟 ; 产生 START 和 STOP 信号 I2C 从机特征 : 可编程控制 I2C 的地址检测 ; 可选择识别多达 4 个不同的从机地址 ; STOP 数据位检测 支持不同的通讯速度 : 标准速度 ( 高达 100KHz); 高速速度 ( 高达 400KHz) 仲裁负责管理多个同时发送的主机, 而避免总线上串行数据损坏 SONiX TECHNOLOGY CO., LTD Page 122 Version 1.1

123 可编程时钟允许调整的 I2C 发送速率 主机和从机之间的数据传输是双向传送 串行时钟同步允许设备使用不同的速率通过串行总线进行通信 串行时钟同步是用于设备挂起和恢复串行传输的一种握手机制 监控模式用于监测所有 I2C 总线通讯, 忽略从机地址 I2C 总线可用于进行测试和诊断 7 位 /10 位寻址的生成和检测以及通用调用 11.3 引脚说明 Pin Name Type Description GPIO Configuration SCLn I/O I2C 串行时钟 开漏输出输入时取决于 GPIOn_CFG SDAn I/O I2C 串行数据 开漏输出输入时取决于 GPIOn_CFG 11.4 波形特征 SDA S START Signal Data Change Allowed Data Change Allowed P STOP Signal SONiX TECHNOLOGY CO., LTD Page 123 Version 1.1

124 11.5 I2C 主机模式 主机发送模式 Write 1 to STA bit, START condition begins STA=0 From Slave ACK_STAT=1 SDA A7 Transmit Address A6 A5 A4 A3 A2 A1 R/W=0 ACK_=0 D7 Transmission Data D6 D5 D4 D3 D2 D1 D0 ACK_ SCL S 1 Write address and TXDATA Start transmit SCL held Low P Write 1 to STA bit SDA=1, SCL=1 Complete of Start bit SDA 1st-bit SCL Write to TXDATA Falling edge of ninth clock, End of transmission Repeat Start 主机接收模式 Write 1 to STA bit START condition begins STA=0 From Slave Write 1 to ACK bit Start Acknowledge sequence ACK from Master Write 1 to ACK bit Start Acknowledge sequence Write 1 to STO bit SDA A7 Transmit Address to Slave R/W=1 A6 A5 A4 A3 A2 A1 ACK_=0 D7 Receiving Data from Slave D6 D5 D4 D3 D2 D1 D0 ACK_ D6 Receiving Data from Slave D6 D5 D4 D3 D2 D1 D0 ACK_ Write address and TXDATA Start transmit ACK_ is not sent SCL S Data shifted in failing edgeof SCL P Master terminal transfer 仲裁 在主机发送模式下, 仲裁逻辑检查每个发送的逻辑 1 在 I2C 总线上是否实际上表现为一个逻辑 1 若总线上的另一个设备否决了逻辑 1 并将 SDA 拉为低电平, 则仲裁丢失,I2C 模块立即从主机发送切换到从机接收 I2C 模块继续输出时钟脉冲 (SCL) 直至当前串行字节发送完成 仲裁也可能在主机接收模式下丢失 在此模式下, 仲裁丢失仅仅发生在 I2C 模块返回一个 NAK 信号时 当总线上的另一个 设备将信号拉为低电平时, 仲裁丢失 因为只有在串行字节的末端才会发生这种情况,I2C 模块不再产生时钟脉冲 SONiX TECHNOLOGY CO., LTD Page 124 Version 1.1

125 11.6 I2C 从机模式 从机发送模式 SDA SCL S A7 1 Receiving Address A6 A5 A A3 A2 5 6 R/W=1 A ACK_ Transmission Data D7 D6 D5 D4 D3 D2 D D0 8 R/W=0 ACK_ 9 P 从机接收模式 SDA SCL S A7 1 Receiving Address A6 2 A5 3 A4 4 A3 5 A2 6 R/W=0 A1 ACK_ D7 1 D6 2 Receiving Data D5 3 D4 4 D3 5 D2 6 D1 7 ACK_ D0 D D6 2 Receiving Data D5 3 D4 4 D3 5 D2 6 D1 7 ACK_ D0 8 9 P Terminate by Master SONiX TECHNOLOGY CO., LTD Page 125 Version 1.1

126 11.7 I2C 寄存器 基地址 : 0x (I2C0) I2C n 控制寄存器 (I2Cn_CTRL) (n=0) 地址偏移量 : 0x00 设置寄存器中的这些位用于控制 I2C 接口的操作 当 STA=1 时, 且 I2C 接口还未在主机模式时, 它进入主机模式, 检测总线的状态, 若总线空闲则产生一个 START 信号 若总线正在繁忙时, 则等待一个 STOP 信号 ( 释放总线 ), 在延迟半个内部时钟周期后产生一个 START 信号 如果 I2C 接口已经进入主机模式时, 且已经开始传送和接收数据, 它传送一个重复 START 信号 STA 信号可以在任何时候设置, 包括 I2C 接口处于寻址的从机模式 当在主机模式下 STO=1 时, 一个 STOP 信号发送到 I2C 总线上 当总线检测到 STOP 信号时, 自动将 STO 清零 从机模式下, 设置 STO 位可以从错误环境下恢复成正常状态 在这种情况下, 不会有 STOP 信号发送至总线 硬件就好像是已经接收到一个 STOP 信号, 然后切换到 非寻址的 从机接收模式 如果 STA 和 STO 都设置为 1 时, 若接口位于主机模式下, 一个 STOP 信号发送到 I2C 总线上, 然后再发送一个 START 信号 若 I2C 接口位于从机模式下, 产生一个内部 STOP 信号, 但不发送到总线上 注 : 1. 应该最后设置 I2CEN 位 2. HW 将自动分配 SCL0/SCL1 和 SDA0/SDA1 引脚为开漏功能的输出引脚替代 GPIO 引脚 3. 接收数据时,ACK 和 NACK 位不能同时设置为 1 4. 主机模式下, 用户必须设置 ACK 或 NACK 位为 1, 以进行下一个 RX 处理 31:9 Reserved R 0 8 I2CEN I2C 接口使能位 0: 禁止 STO 位被强制设为 0 1: 使能 I2CEN 复位时, 总线状态处于丢失状态, 因此 I2CEN 不能用于暂时释放 I2C 总线,ACK 标志位可代替使用 7 MODE I2C 模式选择位 0: 标准 / 高速模式 1: 保留 R 0 6 Reserved 5 STA START 位 0: 无 START 信号或者产生重复的 START 信号 ; 1: 促使 I2C 接口进入主机模式, 发送一个 START 或者重复的 START 信号, 由 HW 自动清零 SONiX TECHNOLOGY CO., LTD Page 126 Version 1.1

127 4 STO STOP 标志 0:STOP 信号空闲 ; 1: 促使 I2C 接口在主机模式下发送一个 STOP 信号, 或者在从机模式下从错误的环境下恢复到正常的状态 由 HW 自动清零 3 Reserved R 0 2 ACK ACK(SDA 为低电平 ) 信号标志 0: 主机模式 无功能 ; 从机模式 接收地址或数据后返回一个 NACK; 1: 以下情况时, 在 SCLn 的应答时钟脉冲条件下返回一个应答信号 : 接收到从地址寄存器的地址 ; 当 ADR 寄存器的通用调用位 (GC) 置 1 时, 接收到通用调用地址 ; 当 I2C 处于主机接收模式时, 接收到数据字节 ; 当 I2C 处于可寻址的从机接收模式时, 接收到数据字节 硬件在发送完 ACK 后将自动清除此位 1 NACK NACK(SDA 为高电平 ) 信号标志 0: 无功能 1: 以下情况时, 在 SCLn 的应答时钟脉冲条件下返回一个非应答信号 : 当 I2C 处于主机接收模式时, 数据字节被接收 硬件在发送完 NACK 信号后将自动清除此位 0 Reserved R I2C n 状态寄存器 (I2Cn_STAT) (n=0) 地址偏移量 : 0x04 发生 I2C 中断时, 检查该寄存器, 通过写 I2Cn_CRTL 或 I2Cn_TXDATA 寄存器, 所有的状态都自动清零 I2CIF=1 时,SCL 串行时钟的低电平周期被延长, 串行发送则处于挂起状态 当 SCL 为高电平时, 则不受 I2CIF 状态的影响 在 NVIC 中断控制器中使能 I2C 中断时, 以下事件可以触发 I2C 中断 : START/Repeat START condition STOP condition 超时发送或接收数据字节发送或接收 ACK 发送或接收 NACK SONiX TECHNOLOGY CO., LTD Page 127 Version 1.1

128 31:16 Reserved R 0 15 I2CIF I2C 中断标志位 0: I2C 的状态未改变 ; 1: 读 I2C 状态改变 ; 写 将该标志位清零 14:10 Reserved R 0 9 TIMEOUT 超时状态位 0: 未超时 ; 1: 超时 8 LOST_ARB 仲裁丢失位 0: 未仲裁丢失 ; 1: 仲裁丢失 R 0 R 0 7 SLV_TX_HIT 0: 从机地址不匹配 ; 1: 从机地址匹配, 从机模式下为 TX 模式 6 SLV_RX_HIT 0: 从机地址不匹配 ; 1: 从机地址匹配, 从机模式下为 RX 模式 5 MST 主机 / 从机状态位 0:I2C 处于从机状态 ; 1:I2C 处于主机状态 4 START_DN Start 处理状态位 0: 无 START 信号 ; 1: 主机模式 发送一个 START 信号, 从机模式 接收到一个 START 信号 3 STOP_DN Stop 处理状态位 0: 无 STOP 位 ; 1: 主机模式 发送一个 STOP 信号, 从机模式 接收到一个 STOP 信号 2 NACK_STAT NACK 处理状态位 0: 没有接收到 NACK; 1: 接收到 NACK 1 ACK_STAT ACK 处理状态位 0: 没有接收到 ACK; 1: 接收到 ACK 0 RX_DN RX 处理状态位 0: 没有发送 RX ACK/NACK; 1: 已经发送 8 位 RX ACK/NACK R 0 R 0 R 0 R 0 R 0 R 0 R 0 R 0 SONiX TECHNOLOGY CO., LTD Page 128 Version 1.1

129 I2C n TX 数据寄存器 (I2Cn_TXDATA) (n=0) 地址偏移量 : 0x08 该寄存器包含待发送的数据 在主机 TX 模式下,CPU 写入该寄存器可触发 TX 功能 ; 从机 TX 模式下,CPU 必须在下一次 TX 前写入该寄存器 31:8 Reserved R 0 7:0 DATA[7:0] 待发送的数据 x I2C n RX 数据寄存器 (I2Cn_RXDATA) (n=0) 地址偏移量 : 0x0C 31:8 Reserved R 0 7:0 DATA[7:0] 包含接收的数据,RX_DN=1 时读该寄存器 R 0x I2C n 从机地址 0 寄存器 (I2Cn_SLVADDR0) (n=0) 地址偏移量 : 0x10 仅用于从机模式下 主机模式下, 该寄存器没有影响 若该寄存器包含 0x00,I2C 不会在总线上应答任何地址 复位时, 寄存器 ADR0~ADR3 被清零, 此时处于禁止状态 31 ADD_MODE 从机地址模式 0:7 位地址模式 ; 1:10 位地址模式 30 GCEN 通用调用地址使能位 0: 禁止 ; 1: 使能通用调用地址 (0x00) RW 0 RW 0 29:10 Reserved R 0 9:0 ADDR[9:0] I2C 从机地址 ADD_MODE=1 时,ADD[9:0] 有效 ; ADD_MODE=0 时,ADD[7:1] 有效 SONiX TECHNOLOGY CO., LTD Page 129 Version 1.1

130 I2C n 从机地址 1~3 寄存器 (I2Cn_SLVADDR1~3) (n=0) 地址偏移量 : 0x14, 0x18, 0x1C SN32F240B Series 31:10 Reserved R 0 9:0 ADDR[9:0] I2C 从机地址 ADD_MODE=1 时,ADD[9:0] 有效 ; ADD_MODE=0 时,ADD[7:1] 有效 I2C n SCL 高电平时间寄存器 (I2Cn_SCLHT) (n=0) 地址偏移量 : 0x20 注 :I2C 位频率 = I2Cn_PCLK / (I2Cn_SCLHT+I2Cn_SCLLT) 31:8 Reserved R 0 7:0 SCLH[7:0] 计算 SCL 高电平周期时间 SCL 高电平周期时间 = (SCLH+1) * I2C0_PCLK 周期 R/W 0x I2C n SCL 低电平时间寄存器 (I2Cn_SCLLT) (n=0) 地址偏移量 : 0x24 31:8 Reserved R 0 7:0 SCLL[7:0] 计算 SCL 低电平周期时间 SCL 低电平周期时间 = (SCLL+1) * I2C0_PCLK 周期 R/W 0x04 SONiX TECHNOLOGY CO., LTD Page 130 Version 1.1

131 I2C n 超时控制寄存器 (I2Cn_TOCTRL) (n=0) 地址偏移量 : 0x2C 当主机 / 从机 SCL 保持低电平超过以下时间时, 会发生超时现象 : TO * 32 * I2C0_PCLK cycle. 发生 I2C 超时中断时,I2C 发送会返回到 IDLE 状态, 并发出一个 TO 中断以通知用户 这就意味着超时后由 HW 释放 SCL/SDA 主机模式下, 用户可以在超时中断后发出一个 STOP 信号 通过写 I2Cn_CTRL 或 I2Cn_TXDATA 寄存器可以自动清除超时状态 31:16 Reserved R 0 15:0 TO[15:0] 计数检测超时 0: 禁止超时检测 ; 1: 超时周期时间 = N*I2Cn_PCLK 周期 R/W 0x0 SONiX TECHNOLOGY CO., LTD Page 131 Version 1.1

132 12 通用异步收发器 (UART) 12.1 概述 UART 提供了一个灵活的方式用于和符合 NRZ 异步串行数据格式行业标准的外部设备进行全双工数据交换 串行接口用 于低速数据发送或者与低速外部设备进行通讯 利用小数波特率发生器,UART 可以提供范围非常宽的波特率 12.2 特征 全双工, 两线异步数据传输 单线半双工通信 寄存器位置符合 工业标准 接收器 FIFO 触发点为 1 个字节 内置波特率产生器 包含软件或硬件流程控制机制 12.3 引脚说明 Pin Name Type Description GPIO Configuration UTXDn O 串行发送数据 URXDn I 串行接收数据 取决于 GPIOn_CFG SONiX TECHNOLOGY CO., LTD Page 132 Version 1.1

133 12.4 框图 SN32F240B Series TX UARTn_TH TSR UTXD SCR UART Baud Rate Generator DLL DLM INTERRUPT APB RX UARTn_IE UARTn_RB RSR URXD UARTn_II UARTn_FC UARTn_LS UARTn_LC SONiX TECHNOLOGY CO., LTD Page 133 Version 1.1

134 12.5 波特率计算 UART 波特率计算公式如下 : UARTn_PCLK UARTBAUDRATE = Oversampling x (256 x DLM + DLL) x (1 + DIVADDVAL / MULVAL) UARTn_PCLK 是外设时钟,UARTn_DLM 和 UARTn_DLL 是标准的 UART 波特率分频寄存器,UARTn_FD 寄存器中的 DIVADDVAL 和 MULVAL 是 UART 小数波特率发生器的特定参数 MULVAL 和 DIVADDVAL 的值应当符合下列条件 : 1. 1 MULVAL DIVADDVAL DIVADDVAL< MULVAL 4. 重复采样为 8 次或 16 次发送 / 接收数据时, 不要修改 UARTn_FD 寄存器的值, 否则数据丢失或损坏 可以通过设置 UARTn_FD 寄存器的 OVER8 位选择重复采样的方式, 且采样时钟为波特率时钟的 16 倍或 8 倍 OVER8=1: 只重复采样 8 次可以获得更高的速度 ( 高达 UARTn_PCLK/8) 但在这种情况下, 会降低接收器对时钟偏 差的最大容错性 Sampled values RX Sampling Clock / 8 3 / 8 3 / 8 1-BIT TIME SONiX TECHNOLOGY CO., LTD Page 134 Version 1.1

135 OVER8=0: 重复采样 16 次, 可以增加接收器对时钟偏差的容错性 在这种情况下, 最高速度限制为 UARTn_PCLK / 16 Sampled values RX Sampling Clock / 16 7 / 16 7 / 16 1-BIT TIME 如果 UARTn_FD 寄存器值不符合这两个要求, 那么小数分频器的输出是不确定的 如果 DIVADDVAL 为零, 则禁止小数分 频器, 时钟不会分频 无论有无小数分频器, 都可操作 USART 通过设置不同的小数分频器, 可以获得所需的波特率 下面的算法说明了如何 寻找一组合适的 DLM DLL MULVAL 和 DIVADDVAL 值, 这样一组参数可以生成一个波特率, 与所需波特率的误差小于 1.1% 举例说明 : 选择 DIVADDVAL MULVAL DLM 和 DLL 生成 BR=115200, 此时 UARTn_PCLK=12MHz, 重复采样为 16 次 UARTBAUDRATE = UARTn_PCLK Oversampling x (256 x DLM + DLL) x (1 + DIVADDVAL / MULVAL) = x (256 x DLM + DLL) x (1 + DIVADDVAL / MULVAL) (256 x DLM + DLL) x (1 + DIVADDVAL / MULVAL) = 6.51 因为 MULVAL 和 DIVADDVAL 的值须符合下列条件 : 1. 1 MULVAL DIVADDVAL DIVADDVAL< MULVAL 因此, 建议 UART 的设置为 :DLM = 0,DLL = 4,DIVADDVAL = 5 以及 MULVAL = 8 则生成的波特率为 , 与原来 的相对误差为 0.16% SONiX TECHNOLOGY CO., LTD Page 135 Version 1.1

136 12.6 自动波特流 SN32F240B Series AUTO-BAUD 基于 AT 协议 ( 海耶斯命令 ),UART 自动波特功能可用于测量输入的波特率 若使能自动波特性能, 将测量接收数据 流的位时间, 相应地设置除数锁存寄存器 UARTn_DLM 和 UARTn_DLL 通过设置 UARTn_ABCTRL 寄存器的 START 位启动自动波特率功能, 通过清 START 位停止该功能 一旦完成自动波特率 功能, 或读取该位返回到自动波特率状态 ( 等待 / 完成 ),START 位就清零 开始自动波特率功能后, 清 FIFO, 写 TX FIFO 无效, 发送器停止发送, 直到完成自动波特率功能或者停止自动波特率功能 可通过 UARTn_ABCTRL 寄存器的 MODE 位选择两种自动波特率测量模式 MODE0 模式下, 波特率在 UART RX 引脚的两 个连续的下降沿上 (START 位的下降沿和 LSB 的下降沿 ) 测量 ;MODE1 模式下, 波特率在 URXD 引脚的下降沿和随后的 上升沿之间测量 (START 位的长度 ) 有超时现象发生时 ( 速率测量计数器溢出 ),UARTn_ABCTRL 寄存器的 AUTORESTART 位可以自动重新测量波特率 若 该位置 1, 则在 URXD 引脚的下一个下降沿重新开始测量波特率 自动波特率功能可以产生两个中断 1. 若使能中断 (UARTn_IE 寄存器的 ABTOIE 位置 1, 自动波特率测量计数器溢出 ), 会设置 UARTn_II 寄存器的 ABTOINT 中断 ; 2. 若使能中断 (UARTn_IE 寄存器的 ABTOIE 位置 1, 自动波特率已经测量完成 ), 会设置 UARTn_II 寄存器的 ABEOINT 中断 必须通过设置 UARTn_IE 寄存器的相应 ABTOINTCLR 和 ABEOIE 位来将自动波特中断清零 在自动波特率期间, 必须禁止小数波特率发生器 (DIVADDVAL = 0), 当自动波特率使用时, 任何写 UARTn_DLM 和 UARTn_DLL 寄存器的操作必须在写 UARTn_ABCTRL 寄存器之前执行 UART 支持的最大和最小波特率是受 UARTn_PCLK 和数据个位, 停止位, 校验位的影响 SONiX TECHNOLOGY CO., LTD Page 136 Version 1.1

137 AUTO-BAUD 模式 SW 等待一个 AT 命令时, 需配置 UART 为预期的字符格式, 并且设置 ACR START 位 分频器中的该初始值锁存 DLM, DLM 可忽略 由于 ASCII 码的 A 和 a (A=0x41,a=0x61), 因此 UART RX 引脚侦测到 START 位且预期字符的 LSB 由 2 个下降沿限定 当 ACR START 位置 1 时, 自动波特率协议将按以下步骤执行 : 1 设置 START 位时, 波特率测量计数器复位,RSR 复位,RSR 波特率切换到最高速率 2 URXD 引脚的下降沿触发 START 位, 速率测量计数器开始对 UARTn_PCLK 的周期进行计数 3 在 START 位的接收过程中,RSR 的波特率输入端产生 16 个具有 UART 输入时钟频率的脉冲, 保证 START 位存储在 RSR 中 4 在收到 START( 以及 UARTn_ABCTRL 寄存器的 MODE=0 时字符 LSB) 过程中, 速率计数器以 UART 输入时钟频率 (UARTn_PCLK) 持续递增计数 5 若 MODE=0, 速率计数器在 UART RX 引脚的下一个下降沿停止计数 ; 若 MODE=1, 速率计数器在 URXD 下一个上升沿停止计数 速率计数器加载到 UARTn_DLM/URATn_DLL 中, 波特率转换为正常运行 设置 DLM/DLL 后, 若使能,UARTn_II 寄存器 的自动波特率中断结束位 ABEOINT 置 1 RSR 继续接收剩下的字符 AUTO-BAUD RATE MODE 0 波形 A (0x41) or a (0x61) Start bit0 bit1 bit2 bit3 bit4 bit5 bit6 bit7 Parity Stop URXD Start bit LSB of A or a START bit in USARTn_ABCTRL Rate Counter 16 x Baud Rtae 16 Cycles 16 Cycles SONiX TECHNOLOGY CO., LTD Page 137 Version 1.1

138 AUTO-BAUD RATE MODE 1 波形 A (0x41) or a (0x61) Start bit0 bit1 bit2 bit3 bit4 bit5 bit6 bit7 Parity Stop URXD Start bit LSB of A or a START bit in USARTn_ABCTRL Rate Counter 16 x Baud Rtae 16 Cycles 12.7 UART 寄存器 基地址 : 0x (UART0) 0x (UART1) 0x (UART2) UART n 接收缓存寄存器 (UARTn_RB) (n=0, 1, 2) 地址偏移量 : 0x00 该寄存器是 UART RX FIFO 的字节, 包含接收到的字符, 可以通过总线接口来读取 LSB( 位 0) 为第一个接收到的数据 位, 若接收到的数据不足 8 位, 剩下的 MSBs 则用 0 来填充 如果要访问该寄存器,UARTn_LC 寄存器的除数锁存访问位 (DLAB) 必须为 0 由于 PE FE 和 BI 位和 USART RX FIFO 的字节相对应 ( 如下一次从该寄存器读取字节 ), 因此将接收字节及其状态位成对读出的正确方式是 : 首先要读取 UARTn_LS 寄存器的内容, 然后读取 UARTn_RB 寄存器的字节 31:8 Reserved R 0 7:0 RB[7:0] 包含接收的字节 R 0 SONiX TECHNOLOGY CO., LTD Page 138 Version 1.1

139 UART n 发送保持寄存器 (UARTn_TH) (n=0, 1, 2) 地址偏移量 : 0x00 该寄存器是 UART TX FIFO 的字节, 包含 TX FIFO 中的字符, 可以通过总线接口写入 LSB 为第一个发送出去的数据位 如果要访问该寄存器,UARTn_LC 寄存器的除数锁存访问位 (DLAB) 必须为 0 31:8 Reserved R 0 7:0 TH[7:0] 发送器有效时, 发送该字节 W UART n 除数锁存 LSB 寄存器 (UARTn_DLL) (n=0, 1, 2) 地址偏移量 : 0x00 UART 除数锁存是 UART 波特率发生器的一部分, 它保存了用于产生波特率时钟的 UARTn_PCLK 时钟的分频值 ( 可选择是否使用小数分频器 ), 波特率时钟应该是波特率的倍数, 此倍数由过采样寄存器决定 ( 典型为 16 倍 ) UARTn_DLL 和 UARTn_DLM 寄存器一起构成一个 16 位除数,UARTn_LC 寄存器的 DLAB 位必须为 1 以便能访问这些寄存器 DLL 包含了除数的低 8 位,DLM 则包含了高 8 位 0 值表示为 0x :8 Reserved R 0 7:0 DLL[7:0] UART 除数锁存 LSB 寄存器和 DLM 寄存器, 共同决定 UART 的波特率 UART n 除数锁存 MSB 寄存器 (UARTn_DLM) (n=0, 1, 2) 地址偏移量 : 0x04 31:8 Reserved R 0 7:0 DLM[7:0] UART 除数锁存 MSB 寄存器和 DLM 寄存器, 共同决定 UART 的波特率 SONiX TECHNOLOGY CO., LTD Page 139 Version 1.1

140 UART n 中断使能寄存器 (UARTn_IE) (n=0, 1, 2) 地址偏移量 : 0x04 如果要访问 UARTn_IE 寄存器,UARTn_LC 寄存器的 DLAB 位必须为 0 31:10 Reserved R 0 9 ABTOIE 自动波特率超时中断使能位 0: 禁止 ; 1: 使能 8 ABEOIE 结束自动波特率中断使能位 0: 禁止 ; 1: 使能 7:5 Reserved R 0 4 TEMTIE TEMT 中断使能位 通过 UARTn_LS 寄存器的 TEMT 位读取该中断的状态 0: 禁止 ; 1: 使能 3 Reserved R 0 2 RLSIE 接收线状态 (RLS) 中断使能位 通过 UARTn_LS[4:1] 读取该中断的状态 0: 禁止 ; 1: 使能 1 THREIE THRE 中断使能位 通过 UARTn_LS 寄存器的 THRE 位读取该中断的状态 0: 禁止 ; 1: 使能 0 RDAIE RDA 中断使能位 使能接收数据有效中断, 还控制字符接收超时中断 0: 禁止 ; 1: 使能 SONiX TECHNOLOGY CO., LTD Page 140 Version 1.1

141 UART n 中断标识寄存器 (UARTn_II) (n=0, 1, 2) 地址偏移量 : 0x08 该寄存器提供一个状态码, 来指示挂起中断的中断源和优先级 在访问 UARTn_II 寄存器期间禁止中断, 若在这期间有中断发生, 记录该中断, 并在下一次访问 USARTn_II 寄存器时读 出 31:10 Reserved R 0 9 ABTOIF 自动波特率超时中断标志位 0: 自动波特率没有超时 ; 1: 自动波特率超时并使能中断 8 ABEOIF 结束自动波特率中断标志位 0: 自动波特率没有结束 ; 1: 自动波特率已经结束并使能中断 R 0 R 0 7:6 FIFOEN 等同于 UARTn_FIFOCTRL 寄存器的 FIFOEN 位 R 1 5:4 Reserved R 0 3:1 INTID[2:0] 中断标识, 识别 UARTn RX FIFO 相对应的中断 0x3:1 接收线状态 (RLS); 0x2:2a 接收数据有效 (RDA); 0x1:3a THRE 中断 ; 0x7:3b TEMT 中断 ; 其它 : 保留 0 INTSTATUS 中断状态 通过评估 UARTn_II[3:1] 来确定挂起的中断 0: 至少有一个中断挂起 ; 1: 没有中断挂起 R 0 R 1 根据自动波特率功能, 超时信号或者自动波特率结束条件来设置 UARTn_II[9:8] 位 在自动波特率控制寄存器中设置相应的清零位将自动波特率中断条件清零 通过 UARTn_II[3:0] 的状态, 中断处理程序可以确定中断源以及如何清除激活的中断 在退出中断服务程序前, 必须读取 UARTn_II 寄存器来清除中断 Interrupt UARTn_II [3:0] Priority Interrupt Source Interrupt Reset RLS 0110 Highest 溢出错误 (OE), 优先权错误 (PE), 帧错误 (FE), 间隔中断 (BI) 读取 UARTn_LS 寄存器 RDA nd Level FIFO 中的 RX 数据到达触发等级 (FCR0=1) 读取 UARTn_RB 寄存器或 UART FIFO 低于触发等级 THRE rd Level THRE 读取 UARTn_II 寄存器 ( 中断源 ) 或写入 THR 寄存器 TEMT rd Level TEMT 读取 UARTn_II 寄存器 ( 中断源 ) 或写入 THR 寄存器 SONiX TECHNOLOGY CO., LTD Page 141 Version 1.1

142 UART n FIFO 控制寄存器 (UARTn_FIFOCTRL) (n=0, 1, 2) 地址偏移量 : 0x08 31:8 Reserved R 0 7:6 RXTL[1:0] RX 触发等级 在激活一个中断之前, 这 2 个位决定可以写入多少个接收器 W 0 UART FIFO 字符 00: 触发等级 0(1 个字符 ); 其它 : 保留 5:1 Reserved R 0 0 FIFOEN 使能 FIFO 0: 没有影响 1: 使能 UART RX 和 TX FIFOs, 访问 UARTn_FIFOCTRL[7:1], 为合适的 UART 操作, 该位必须置 1 W UART n 线控制寄存器 (UARTn_LC) (n=0, 1, 2) 地址偏移量 : 0x0C UARTn_LC 寄存器决定准备发送 / 接收的数据字符的格式 31:8 Reserved R 0 7 DLAB 除数锁存访问位 0: 禁止访问 ; 1: 使能访问 6 BC 间隔控制位 0: 禁止间隔发送 ; 1: 使能间隔发送, 输出引脚 UART TXD 强制为逻辑 0 5:4 PS[1:0] 校验选择位 00: 奇数校验, 发送字符中 1 的个数加上附加校验位 (1 或 0) 的 1 的总个数为奇数 ; 01: 偶数校验, 发送字符中 1 的个数加上附加校验位 (1 或 0) 的 1 的总个数为偶数 ; 10: 强制为 1; 11: 强制为 0 3 PE 校验使能位 0: 禁止生成和检测校验位 ; 1: 使能生成和检测校验位 2 SBS Stop 位选择位 0:1 个 STOP 位 ; SONiX TECHNOLOGY CO., LTD Page 142 Version 1.1

143 1:2 个 STOP 位 (WLS 位 =00 为 1.5) 1:0 WLS[1:0] 字长度选择位 00:5 位字符长度 ; 01:6 位字符长度 ; 10:7 位字符长度 ; 11:8 位字符长度 UART n 线状态寄存器 (UARTn_LS) (n=0, 1, 2) 地址偏移量 : 0x14 注 : 1 间隔中断(BI) 与 UARTn_RB FIFO 的字符有关 2 帧错误(FE) 与 UARTn_RB FIFO 的字符有关 3 优先权错误(PE) 与 UARTn_RB FIFO 的字符有关 31:8 Reserved R 0 7 RXFE RX FIFO 错误标志 一个 RX 错误, 如帧错误, 奇偶校验错误, 或 Break 中断加载到 UARTn_RB 寄 存器中时,RXFE = 1 读取 UARTn_LS 寄存器, 且 UART FIFO 中不再有错 误时, 该位被清零 0:UARTn_RB 寄存器中没有包含 UART RX 错误, 或 FIFOEN=0 1:UARTn_RB 寄存器至少包含了一个 UART RX 错误 6 TEMT 发送器空标志 THR 和 TSR 都为空时,TEMT = 1;TSR 或 THR 包含有效数据时 TEMT 被清零 0:THR 和 / 或 TSR 中包含有效数据 ; 1:THR 和 TSR 都为空 5 THRE 发送器保持寄存器空标志 THRE 表示 UART 准备好接收发送过来的新字符 另外, 若 THREIE=1, 该位 会使 UART 请求 THRE 中断, 从 THR 发送字符到 TSR 时,THRE=1 CPU 加载 发送器保持寄存器的同时, 该位复位为逻辑 0 0:THR 包含有效数据 ; 1:THR(TX FIFO) 为空 4 BI 间隔中断标志 RXD1 保持一个全字符 (START,DATA,PARITY,STOP) 传输时间的空 白状态 ( 全 0) 时, 发生间隔中断 一旦检测到间隔条件, 接收器便进入空 闲状态直至 RXD1 进入到标记状态 ( 全 1) 通过读 UARTn_LS 寄存器清 BI 位 Break 检测的时间取决于 UARTn_FIFOCTRL 寄存器的 FIFOEN 位 注 : 间隔中断与 UARTn_RB FIFO 顶端的字符有关 R 0 R 1 R 1 R 0 SONiX TECHNOLOGY CO., LTD Page 143 Version 1.1

144 0: 间隔中断状态无效 ; 1: 间隔中断状态有效 3 FE 帧错误标志 当接收到的字符 STOP 位为逻辑 0 时, 发生帧错误 通过读 UARTn_LS 寄存器 将 FE 位清零 帧错误检测的时间取决于 UARTn_FIFOCTRL 寄存器的 FIFOEN 位 检测到帧错误时,RX 将试图重新与数据同步, 并假设错误的 STOP 位实际上 就是超前的 START 位 但是, 即使没有帧错误, 也不能假定下一个接收的数 据是正确的, 注 : 帧错误与 UARTn_RB FIFO 顶端的字符有关 0: 帧错误状态无效 ;1: 帧错误状态有效 2 PE 奇偶校验错误标志 当接收字符的校验位是错误的, 则发生奇偶校验错误 通过读 UARTn_LS 寄 存器将 PE 位清零 奇偶校验错误的检测时间取决于 UARTn_FIFOCTRL 寄存 器的 FIFOEN 位 注 : 奇偶校验错误与 UARTn_RB FIFO 顶端的字符有关 0: 奇偶校验错误状态无效 ;1: 奇偶校验错误状态有效 1 OE 溢出错误标志 溢出错误条件在错误发生后会置 1 通过读 UARTn_LS 寄存器将 OE 位清零, 当 UART RSR 有新的字符且 UARTn_RB FIFO 处于全满状态时,OE=1 此时, UARTn_RB FIFO 不会被覆盖,UARTn_RS 寄存器中的字符将丢失 0:Overrun 错误状态无效 ; 1:Overrun 错误状态有效 0 RDR 接收器数据准备标志位 UARTn_RB FIFO 中有未读取的字符时 RDR=1,UARTn_RB FIFO 为空时该 位清零 0:UARTn_RB FIFO 为空 ; 1:UARTn_RB FIFO 包含有效数据 R 0 R 0 R 0 R UART n 高速缓存寄存器 (UARTn_SP) (n=0, 1, 2) 地址偏移量 : 0x1C UARTn_SP 寄存器对 UART 操作无影响 用户自行决定对该寄存器进行写或者读操作 不提供中断接口向主机指示此寄 存器所发生的读写操作 31:8 Reserved R 0 7:0 PAD[7:0] 可读可写的字节 SONiX TECHNOLOGY CO., LTD Page 144 Version 1.1

145 UART n 自动波特控制寄存器 (UARTn_ABCTRL) (n=0, 1, 2) 地址偏移量 : 0x20 该寄存器控制测量波特率生成的输入时钟 / 数据率的过程, 用户自行决定对该寄存器进行读或者写操作 此外, 为产生波 特率, 该寄存器还控制时钟的预分频 寄存器的复位值保持禁止的 UART 的小数功能, 以确保该 UART 的 SW 和 HW 对 未配备该项功能的 UARTs 的兼容性 31:10 Reserved R 0 9 ABTOIFC 自动波特率超时中断标志清零位 0: 没有影响 ; 1: 清 ABTOIF 位, 由 HW 自动将该位清零 8 ABEOIFC 自动波特率中断标志清零结束位 0: 没有影响 ; 1: 清 ABEOIF 位, 由 HW 自动将该位清零 W 0 W 0 7:3 Reserved R 0 2 AUTORESTART 启动模式 0: 不启动 1 MODE 自动波特率模式选择位 0: 模式 0; 1: 在超时情况下重启 ( 计数器在下一个 UART RX 下降沿重启 ) 1: 模式 1 0 START 在自动波特率完成后自动将该位清零 0: 自动波特率停止 ( 自动波特率不工作 ); 1: 自动波特率启动 ( 自动波特率工作 ), 自动波特率运行位, 自动波特率 完成后, 由 HW 自动将该位清零 UART n 小数分频寄存器 (UARTn_FD) (n=0, 1, 2) 地址偏移量 : 0x28 UARTn_FD 寄存器控制生成波特率的时钟预分频器, 用户可自行决定对该寄存器进行读或者写操作 预分频器根据指定的 小数要求使用 APB 时钟并产生一个输出时钟 多数应用情况下,UART 会在每个数据 bit 持续的时间内对所接收的数据进行 16 次采样, 且 UART 发送的 bits 也为 16 个 输入时钟宽 OVER8 位允许软件控制输入时钟和 bit 时钟的比率 此项功能可以在智能卡模式下使用, 还可以为其它模式 提供一个可供选择的小数分频功能 注 : 若小数分频器有效 (DIVADDVAL > 0) 且 UARTn_DLM = 0,UARTn_DLL 寄存器的值必须 3 SONiX TECHNOLOGY CO., LTD Page 145 Version 1.1

146 31:8 Reserved R 0 8 OVER8 重复采样值 0: 重复采样 16 次 ; 1: 重复采样 8 次 7:4 MULVAL[3:0] 波特率预分频器乘数值为 MULVAL[3:0] : 波特率预分频器乘数值为 1; 0001: 波特率预分频器乘数值为 2; 1111: 波特率预分频器乘数值为 16 3:0 DIVADDVAL[3:0] 波特率产生预分频除数值 若该字段为 0, 小数波特率产生器不影响 UART 波特率 UART n 控制寄存器 (UARTn_CTRL) (n=0, 1, 2) 地址偏移量 : 0x30 除了配有 HW 流控制 ( 自动 CTS 和自动 RTS 机制 ) 外, 该寄存器还可使能 SW 流控制 TXEN=1 时, 只要数据有效,UART 就一直保持发送状态, 一旦 TXEN 变为 0,UART 就停止发送数据 强烈建议使用 UART HW 实施自动流控制功能来抵消 SW 流控制 TXEN 的限制 31:8 Reserved R 0 7 TXEN 0: 禁止 TX 功能 将阻止 UARTn_TH 寄存器或 TX FIFO 中的字符进入发送移 位寄存器中 6 RXEN 0: 禁止 RX 功能 1: 一旦前面的数据已经发送, 写入 UARTn_TH 寄存器的数据从 TXD 引脚输 出 如果正在发送一个字符时该位清零, 则结束该字符的发送, 同时也不 发送更多的字符直到该位重新置 1 1: 使能 RX R/W 1 R/W 1 5:4 Reserved R 0 3:1 MODE[2:0] UARTn 模式 000: UART 模式其它 : 保留 0 UARTEN UART 使能位 0: 禁止 所有 UART 引脚都作为 GPIO 引脚 ; 1: 使能 HW 自动将 GPIO 切换为 UART 引脚 SONiX TECHNOLOGY CO., LTD Page 146 Version 1.1

147 UART n 半双工传输使能寄存器 (UARTn_HDEN) (n=0,1,2) 地址偏移量 : 0x34 UART 复位后进入全双工传输模式, 意味着 TX 和 RX 都独立工作 HDEN 位置 1 后,UART 进入半双工传输模式, 在该 模式下,UART 确保接收器空闲时为锁存状态, 否则在接收到完整的连续的字符后进入到锁存状态, 必须由 SW 处理线路 冲突 在接收正在发送的数据的过程中,UART 的动作是无法预知的, 因此, 接收或发送数据时, 不能更改 HDEN 寄存器的值, 否则会丢失或毁坏数据 31:1 Reserved R 0 0 HDEN 半双工传输模式使能位 0: 禁止 ; 1: 使能 SONiX TECHNOLOGY CO., LTD Page 147 Version 1.1

148 13 USB FS 设备接口 13.1 概述 USB 做为 PC 与外围通信的一种接口标准, 是一种快速 双向中断管道 低成本 动态可连接的串行接口, 满足 PC 平台未来发展的需要 SONiX USB 单片机可以最优化与诸如鼠标 键盘 摇杆和游戏垫等计算机外设的人机交互 USB 遵循的规范 : 遵循 USB 规范 V2.0 支持 1 个全速 USB 设备地址 支持 1 个控制端点和 4 个可配置端点 ( 用于中断 /Bulk 发送 ) 集成 USB 收发器 5V-3.3V 稳压器输出, 以便 D+1.5K 欧姆的内部电阻上拉 13.2 特征 符合 USB 规范 V2.0 支持 1 个全速 USB 设备地址 支持 1 个控制端点, 最大数据包尺寸为 8 字节,16 字节,32 字节或者 64 字节 支持 4 个可配置端点, 用于中断 /Bulk 发送 支持 USB SRAM 尺寸为 256 字节, 与所有的 5 个端点共用 可灵活配置不同端点 FIFO 的地址偏移量 ( 端点 0 除外 ) 5V-3.3V 稳压器输出, 以便 D+1.5K 欧姆的内部电阻上拉 集成 USB 收发器 系统时钟 SYSCLK/1, SYSCLK/2, SYSCLK/4 下的 FS USB 功能 13.3 引脚说明 Pin Name Type Description GPIO Configuration DP I/O USB 差分信号 D+ N/A DN I/O USB 差分信号 D- N/A SONiX TECHNOLOGY CO., LTD Page 148 Version 1.1

149 13.4 框图 SN32F240B Series IHRC 48MHz NVIC INT SFR USB D+ DP USB Transceiver SIE EP Control USB SRAM 256 BYTE USB D- DN Buffer Control APB Wrapper APB Bus 13.5 USB SRAM ACCESS 单片机中有 256 字节的 SRAM,5 个端点共用此缓冲器 激活 USB 功能之前, 用户应当在缓冲偏移寄存器中配置每个端点的有效起始地址 USB_EPnBUFOS 块用来控制每个端点的有效起始地址 访问 USB SRAM 的原则如下所示 : 每个 EPnBUFOS 都设置为字对齐的,2 LSB 位等于 0 EPn SRAM 缓存器的最大长度由用户定义, 但每个端点都应该有自己的 EPn SRAM 缓存器, 且相互间不重叠 000h ~ 03Fh 040h ~ 0FFh USB SRAM start address (USB_SRAM) = USB_BA + 0x100 EP0 SRAM Buffer (64 bytes) EP1 SRAM Buffer (N bytes) EPn SRAM Buffer (M bytes) EP1BUFOS EP2BUFOS EPnBUFOS SONiX TECHNOLOGY CO., LTD Page 149 Version 1.1

150 13.6 USB 机构 SN32F240B Series USB 机构实现单片机与 USB 主机的通信, 硬件可独立地完成如下 USB 动作 : USB 机构将完成 : 对接收到的编码数据译码, 对将要发送的数据格式化 ; CRC 的校验和产生由硬件完成 若 CRC 错误, 硬件将不回应 USB 主机 ; 硬件自动更新发送数据同步校准位 ( 数据 1/0); 发送相应的 ACK/NAK/STALL 握手信号 ; 不同类型令牌包 (SETUP IN OUT) 的识别 接收到有效令牌包后, 对相应寄存器的状态位置 1 ; 将有效的接收到的数据放入相应的端点 FIFOs; 填充校验位 地址检查 忽略无效地址的传输 端点检查 检查到来自 USB 主机的请求后, 对寄存器的相关位进行设置 FW 完成以下功能 : 通过解码 USB 设备请求协调列举数据 ; 填写 / 清空 FIFO 复位 / 挂起 / 唤醒功能 远程唤醒功能 ; USB 通信时, 决定采用何种中断请求 13.7 USB 中断 USB 功能接收 USB 主机的命令并产生相关的中断, 并进入 USB_IRQ_Handler 要求 FW 检查 USB 的状态位以了解 USB 主机产生的是哪一种中断 在以下情况下会产生 USB 中断 : 端点 0 设置为接收到令牌包 (SETUP token); 成功从主机完成读取事务 (IN) 后, 设备会接收到一个 ACK 应答信号 端点在 ACK OUT 模式下, 接收到数据后产生中断 ; USB 主机发送 USB 挂起请求给设备 ; USB 总线复位 / 重启事件发生 ; 总线上 USB 事务处理完成后,UDB 端点中断 ; 使能 NAK 中断时 NAK 握手 SONiX TECHNOLOGY CO., LTD Page 150 Version 1.1

151 13.8 USB 枚举 典型的 USB 枚举流程如下 : 1. 主机发送 Setup 包后, 再发送 DATA 包到 USB 地址 0, 请求设备发送设备描述符 2. FW 解码请求, 从程序存储列表中找到设备描述符 3. 主机执行控制读取顺序,FW 在 USB 总线上通过内置 USB SRAM 发送设备描述符来做出响应 4. 主机接收到描述符后, 发送 SETUP 包和 DATA 包给地址 0 以给设备分配新 USB 地址 5. 无数据控制阶段结束后,FW 会将新地址存储在 USB 设备地址寄存器中 6. 主机利用新的 USB 地址请求发送设备描述符 ; 7. FW 解码请求命令, 并从程序存储列表中找出设备描述符 ; 8. 主机执行控制读取顺序,FW 在 USB 总线上通过发送设备描述符来做出响应 9. 主机发出控制读命令, 请求配置和说明描述符 ; 10. 一旦设备接收到一个 Set Configuration 请求后,USB 功能开始使用 ; 11. FW 对端点 0~N 的各事务进行相应的操作 SONiX TECHNOLOGY CO., LTD Page 151 Version 1.1

152 13.9 USB 寄存器 SN32F240B Series 基地址 : 0x4005 C000 R: 只读,W: 只写,R/W: 读 / 写 Register Offset R/W Description Reset Value USB_INTEN 0x00 R/W USB 中断使能寄存器 0x0000_0000 USB_INSTS 0x04 R USB 中断事件状态寄存器 0x0000_0000 USB_INSTSC 0x08 W USB 中断事件状态清零寄存器 0x0000_0000 USB_ADDR 0x0C R/W USB 设备地址寄存器 0x0000_0000 USB_CFG 0x10 R/W USB 配置寄存器 0x0000_0000 USB_SGCTL 0x14 R/W USB 信号控制寄存器 0x0000_0000 USB_EP0CTL 0x18 R/W USB Endpoint 0 控制寄存器 0x0000_0000 USB_EP1CTL 0x1C R/W USB Endpoint 1 控制寄存器 0x0000_0000 USB_EP2CTL 0x20 R/W USB Endpoint 2 控制寄存器 0x0000_0000 USB_EP3CTL 0x24 R/W USB Endpoint 3 控制寄存器 0x0000_0000 USB_EP4CTL 0x28 R/W USB Endpoint 4 控制寄存器 0x0000_0000 USB_EPTOGGLE 0x3C R/W USB Endpoint 数据 Toggle 寄存器 0x0000_003F USB_EP1BUFOS 0x48 R/W USB Endpoint 1 缓存器偏移寄存器 0x0000_0040 USB_EP2BUFOS 0x4C R/W USB Endpoint 2 缓存器偏移寄存器 0x0000_0080 USB_EP3BUFOS 0x50 R/W USB Endpoint 3 缓存器偏移寄存器 0x0000_00C0 USB_EP4BUFOS 0x54 R/W USB Endpoint 4 缓存器偏移寄存器 0x0000_00E0 USB_FRMNO 0x60 R USB 帧数字寄存器 0x0000_0000 USB_PHYPRM 0x64 R/W USB PHY 参数寄存器 0x0000_0000 USB_PHYPRM2 0x6C R/W USB PHY 参数寄存器 2 0x0000_0000 USB_PS2CTL 0x70 R/W USB PS/2 控制寄存器 0x0000_0000 USB_RWADDR 0x78 R/W USB FIFO 读 / 写地址寄存器 0x0000_0000 USB_RWDATA 0x7C R/W USB FIFO 数据寄存器 0x0000_0000 USB_RWSTATUS 0x80 R/W USB FIFO 读 / 写状态寄存器 0x0000_0000 USB_RWADDR2 0x84 R/W USB FIFO 读 / 写地址寄存器 2 0x0000_0000 USB_RWDATA2 0x88 R/W USB FIFO 数据寄存器 2 0x0000_0000 USB_RWSTATUS2 0x8C R/W USB FIFO 读 / 写状态寄存器 2 0x0000_0000 USB_SRAM 0x100 R/W USB 256 字节 SRAM Undefined SONiX TECHNOLOGY CO., LTD Page 152 Version 1.1

153 USB 中断使能寄存器 (USB_INTEN) 地址偏移量 : 0x00 复位值 : 0x BUS_IE 总线事件中断使能位 0: 禁止总线事件中断 ; 1: 使能总线事件中断, 包括 BUS_RESET BUS_SUSPEND 和 BUS_RESUME 触发 USB 中断 30 USB_SOF_IE USB SOF 中断使能位 0: 禁止 USB SOF 中断 ; 1: 使能 USB SOF 中断 29 USB_IE USB 事件中断使能位 0: 禁止 USB 事件中断 ; 1: 使能 USB 事件中断,EP1~EP6 的 NAK 触发的 USB 中断除外 28 BUSWK_IE BUSWK_IE: 总线唤醒事件中断使能位 0: 禁止总线唤醒事件中断 ; 1: 使能总线唤醒事件中断 27:5 Reserved R 0 4 EPN_ACK_EN 使能所有 EP(1~4) ACK 中断 0: 禁止 EP1~4 ACK 中断功能 ; 1: 使能 EP1 to 4 ACK 中断功能 3 EP4_NAK_EN EP4 NAK 中断使能位 0: 禁止 EP4 NAK 中断功能 ; 1: 使能 EP4 NAK 中断功能 2 EP3_NAK_EN EP3 NAK 中断使能位 0: 禁止 EP3 NAK 中断功能 ; 1: 使能 EP3 NAK 中断功能 1 EP2_NAK_EN EP2 NAK 中断使能位 0: 禁止 EP2 NAK 中断功能 ; 1: 使能 EP2 NAK 中断功能 0 EP1_NAK_EN EP1 NAK 中断使能位 0: 禁止 EP1 NAK 中断功能 ; 1: 使能 EP1 NAK 中断功能 SONiX TECHNOLOGY CO., LTD Page 153 Version 1.1

154 USB 中断事件状态寄存器 (USB_INSTS) 地址偏移量 : 0x04 复位值 : 0x BUS_RESET 30 BUS_SUSPEND 29 BUS_RESUME USB 总线复位信号 (>2.5us SE0) 标志位 0: 没有检测到总线复位信号 ; 1: 检测到总线复位信号, 写入 1 到 USB_INSTSC[31] 清零 USB 总线挂起信号 (>3ms 空闲状态 ) 标志位 0: 没有检测到总线挂起 ; 1: 检测到总线挂起 USB 总线恢复信号标志位 0: 没有检测到总线恢复信号 ; 1: 检测到挂起模式下的总线恢复信号, 写入 1 到 USB_INSTSC[29] 清零 R 0 R 0 R 0 28:27 Reserved R 0 26 USB_SOF USB SOF 包接收标志位 0: 没有 USB SOF 包 ; 25 BUS_WAKEUP 总线唤醒标志位 0: 没有从挂起模式唤醒 ; 24 EP0_PRESETUP 23 EP0_SETUP 1: 接收到 USB SOF 包, 写入 1 到 USB_INSTSC[26] 清零 1: 从挂起模式唤醒, 写入 1 到 USB_INSTSC[25] 清零 * 当 USB PLL48MHz 关闭, 从挂起模式唤醒时, 该标志位应设置为 1 EP0 Setup token 包标志位 该标志位不触发 USB 中断 0: 没有 EP0 Setup token 包 ; 1: 接收到 EP0 Setup token 包, 写入 1 到 USB_INSTSC[24] 清零 EP0 Setup transaction 标志位 0: 没有 EP0 Setup transaction; 1: 完成 EP0 Setup transaction, 写入 1 到 USB_INSTSC[23] 清零 22 EP0_IN EP0 IN ACK transaction 标志位 0: 没有 EP0 IN ACK Transaction; R 0 R 0 R 0 R 0 R 0 1: 完成 EP0 IN ACK transaction, 写入 1 到 USB_INSTSC[22] 清零 21 EP0_OUT EP0 OUT ACK transaction 标志位 0: 没有 EP0 OUT ACK transaction; R 0 1: 完成 EP0 OUT ACK transaction, 写入 1 到 USB_INSTSC[21] 清零 20 EP0_IN_STALL EP0 IN STALL transaction 标志位 0: 没有 EP0 IN STALL transaction; R 0 1: 完成 EP0 IN STALL transaction, 写入 1 到 USB_INSTSC[20] 清零 19 EP0_OUT_STALL EP0 OUT STALL transaction 标志位 0: 没有 EP0 OUT STALL transaction; 1: 完成 EP0 OUT STALL transaction, 写入 1 到 USB_INSTSC[19] 清零 R 0 SONiX TECHNOLOGY CO., LTD Page 154 Version 1.1

155 18 ERR_SETUP 接收到错误的 setup 数据标志位, 该位不触发 USB 中断 0: 接收到普通的 8 字节 Setup DATA0; 1:Setup 数据不是 8 字节或者不是 DATA0, 写入 1 到 USB_INSTSC[18] 清零 R 0 17 ERR_TIMEOUT 超时状态标志位, 该位不触发 USB 中断 0: 没有超时 ; 1: 发送 IN 数据包后, 主机 ACK 响应超时, 写入 1 到 USB_INSTSC[17] 清零 R 0 16:12 Reserved R 0 11 EP4_ACK EP4 ACK transaction 标志位 0: 没有 EP4 ACK transaction; 1: 完成 EP4 ACK transaction, 写入 1 到 USB_INSTSC[11] 清零 10 EP3_ACK EP3 ACK transaction 标志位 0: 没有 EP3 ACK transaction; 1: 完成 EP3 ACK transaction, 写入 1 到 USB_INSTSC[10] 清零 9 EP2_ACK EP2 ACK transaction 标志位 0: 没有 EP2 ACK transaction; 1: 完成 EP2 ACK transaction, 写入 1 到 USB_INSTSC[9] 清零 8 EP1_ACK EP1 ACK transaction 标志位 0: 没有 EP1 ACK transaction; 1: 完成 EP1 ACK transaction, 写入 1 到 USB_INSTSC[8] 清零 R 0 R 0 R 0 R 0 7:4 Reserved R 0 3 EP4_NAK EP4 NAK transaction 标志位 0: 没有 EP4 NAK transaction; 1: 完成 EP4 NAK transaction, 写入 1 到 USB_INSTSC[3] 清零 2 EP3_NAK EP3 NAK transaction 标志位 0: 没有 EP3 NAK transaction; R 0 R 0 1: 完成 EP3 NAK transaction, 写入 1 到 USB_INSTSC[2] 清零 1 EP2_NAK EP2 NAK transaction 标志位 0: 没有 EP2 NAK transaction; R 0 1: 完成 EP2 NAK transaction, 写入 1 到 USB_INSTSC[1] 清零 0 EP1_NAK EP1 NAK transaction 标志位 0: 没有 EP1 NAK transaction; R 0 1: 完成 EP1 NAK transaction, 写入 1 到 USB_INSTSC[0] 清零 SONiX TECHNOLOGY CO., LTD Page 155 Version 1.1

156 USB 中断事件状态清零寄存器 (USB_INSTSC) 地址偏移量 : 0x08 复位值 : 0x BUS_RESETC 0: 无影响 1: BUS_RESET 位清零 W 0 30 Reserved R - 29 BUS_RESUMEC 0: 无影响 1: BUS_RESUME 位清零 W 0 28:27 Reserved R - 26 USB_SOFC 0: 无影响 1: USB_SOF 位清零 W 0 25 BUS_WAKEUPC 0: 无影响 1: BUS_WAKEUP 位清零 W 0 24 EP0_PRESETUPC 0: 无影响 1: EP0_PRESETUP 位清零 23 EP0_SETUPC 0: 无影响 1: EP0_SETUP 位清零 22 EP0_INC 0: 无影响 1: EP0_IN 位清零 21 EP0_OUTC 0:. 无影响 1: EP0_OUT 位清零 20 EP0_IN_STALLC 0: 无影响 1: EP0_IN_STALL 位清零 19 EP0_OUT_STALLC 0: 无影响 1: EP0_OUT_STALL 位清零 18 ERR_SETUPC 0: 无影响 1: ERR_SETUP 位清零 17 ERR_TIMEOUTC 0: 无影响 1: ERR_TIMEOUT 位清零 W 0 W 0 W 0 W 0 W 0 W 0 W 0 W 0 16:12 Reserved R - 11 EP4_ACKC 0: 无影响 1: EP4_ACK 位清零 10 EP3_ACKC 0: 无影响 1: EP3_ACK 位清零 9 EP2_ACKC 0: 无影响 1: EP2_ACK 位清零 8 EP1_ACKC 0: 无影响 1: EP1_ACK 位清零 W 0 W 0 W 0 W 0 7:4 Reserved R - SONiX TECHNOLOGY CO., LTD Page 156 Version 1.1

157 3 EP4_NAKC 0: 无影响 1: EP4_NAK 位清零 2 EP3_NAKC 0: 无影响 1: EP3_NAK 位清零 1 EP2_NAKC 0: 无影响 1: EP2_NAK 位清零 0 EP1_NAKC 0: 无影响 1: EP1_NAK 位清零 W 0 W 0 W 0 W USB 设备地址寄存器 (USB_ADDR) 地址偏移量 : 0x0C 复位值 : 0x :7 Reserved R 0 6:0 UADDR USB 设备地址 USB 配置寄存器 (USB_CFG) 地址偏移量 : 0x10 复位值 : 0x VREG33_EN 内部 VREG33 输出功能位, 如果禁止 VREG33_EN,VREG33 切换为 R/W 1 IC_VDD 0: 禁止 ;1: 使能 * 如果禁止 VREG33,VREG33 切换为 IC_VDD 30 PHY_EN PHY 收发器功能位 进入睡眠 / 深度睡眠 / 深度掉电模式后, 自动禁止 PHY 0: 禁止 PHY 收发器功能 ;1: 使能 PHY 收发器功能 29 DPPU_EN 内部 D+ 1.5k 上拉电阻功能位 0: 禁止内部 D+ 1.5k 上拉电阻 ;1: 使能内部 D+ 1.5k 上拉电阻 28 SIE_EN USB 串行接口引擎使能位 0: 禁止 USB SIE 功能 ;1: 使能 USB SIE 功能 27 ESD_EN USB ESD 保护使能位 0: 禁止 ESD 保护 ;1: 使能 ESD 保护 SONiX TECHNOLOGY CO., LTD Page 157 Version 1.1

158 26 DIS_PDEN 内部 D+ 和 D - 175k 下拉电阻使能位 0: 禁止 1: 使能 25:4 Reserved R 0 3 EP4_DIR EP4 IN/OUT 方向设置位 0: 只与 IN token 包握手 ;1: 只与 OUT token 包握手 2 EP3_DIR EP3 IN/OUT 方向设置位 0: 只与 IN token 包握手 ;1: 只与 OUT token 包握手 1 EP2_DIR EP2 IN/OUT 方向设置位 0: 只与 IN token 包握手 ;1: 只与 OUT token 包握手 0 EP1_DIR EP1 IN/OUT 方向设置位 0: 只与 IN token 包握手 ;1: 只与 OUT token 包握手 USB 信号控制寄存器 (USB_SGCTL) 地址偏移量 : 0x14 复位值 : 0x :3 Reserved R 0 2 BUS_DRVEN 驱动 USB 总线使能位 0: 没有驱动 USB 总线, 写操作对 BUS_DP 和 BUS_DN 没有影响 ;1: 驱 动 USB 总线, 通过设置 BUS_DP 和 BUS_DN 位来设置 D+/D- 总线的状态 1 BUS_DP USB D+ 状态位 0:D+ 为低电平 ; 1:D+ 为高电平 0 BUS_DN USB D- 状态位 0:D- 为低电平 ; 1:D- 为高电平 SONiX TECHNOLOGY CO., LTD Page 158 Version 1.1

159 USB EP0 控制寄存器 (USB_EP0CTL) 地址偏移量 : 0x18 复位值 : 0x ENDP_EN EP0 功能使能位 0: 禁止 EP0 功能, 与 EP0 SETUP/IN/OUT Token 没有握手 ; 1: 使能 EP0 功能 30:29 ENDP_STATE[1:0] 端点握手状态位 0 00:NAK 01:ACK 对于 IN transaction, 设备与 IN Transaction 握手 Data0/1; 对于 OUT transaction, 设备与 OUT token 和后面的 Data0/1 握手 ACK IN/OUT ACK Transaction 完成后,ENDP_STATE 自动返回到 NAK 状态 10/11:INOUT_STALL 设备与 IN 或 OUT token 握手 STALL USB Setup transaction 完成后,ENDP_STATE 自动返回到 NAK 28 IN_STALL_EN EP0 与 EP0 IN transaction 握手 STALL 使能控制位 0: 禁止 1: 使能 IN_STALL_EN 使能只对 EP0 IN token 有效 EP0 与 EP0 OUT transaction 的 握手状态取决于 OUT_STALL_EN 和 ENDP_STATE 的设置 USB Setup transaction 完成后, 该位自动清零 27 OUT_STALL_EN EP0 与 EP0 OUT transaction 握手 STALL 使能控制位 0: 禁止 1: 使能 OUT_STALL_EN 使能只对 EP0 OUT token 有效 EP0 与 EP0 IN transaction 的握手状态取决于 IN_STALL_EN 和 ENDP_STATE 的设置 USB Setup transaction 完成后, 该位自动清零 26:7 Reserved - R 0 6:0 ENDP_CNT[6:0] 端点字节计数位 对于 IN transaction,endp_cnt 显示上传给主机的字节数 IN transaction 的最大字节数取决于 USB 设备描述符的 MaximumPacketSize0 宣告, 对于 USB FS 设备, 不能超过 64 字节 对于 OUT transaction,endp_cnt 显示从主机接收到的字节数 SONiX TECHNOLOGY CO., LTD Page 159 Version 1.1

160 USB Epn 控制寄存器 (USB_EPnCTL, n = 1 ~ 4) 地址偏移量 : 0x1C, 0x20, 0x24, 0x28 复位值 : 0x ENDP_EN EPn 功能使能位 0: 禁止 EPn 功能, 没有与 EPn IN/OUT token 握手 ; 1: 使能 EPn 功能 30:29 ENDP_STATE[1:0] 端点握手状态位 00:NAK 对于 IN direction usage, 设备与 IN token 握手 NAK; 对于 OUT direction usage, 设备与 OUT token 握手 NAK 01:ACK 对于 IN direction usage, 设备与 IN token 握手 Data0/1; 对于 OUT direction usage, 设备与 OUT token 和后面的 Data0/1 握手 ACK IN/OUT ACK Transaction 完成后,ENDP_STATE 自动返回到 NAK 状态 10/11:STALL 对于 IN direction usage, 设备与 IN token 握手 STALL 对于 OUT direction usage, 设备与 OUT token 和后面的 Data0/1 握手 STALL 28:7 Reserved :0 ENDP_CNT[6:0] 端点字节计数位 对于 IN direction usage,endp_cnt 显示上传给主机的字节数 对于 IN direction usage,endp_cnt 显示从主机接收到的字节数 USB EP 数据 Toggle 寄存器 (USB_EPTOGGLE) 地址偏移量 : 0x3C 复位值 : 0x F 31:4 Reserved R 0 3 EP4_DATA01 0: 清除 EP4 的 toggle 为 DATA0;1:HW 自动设置 toggle 位 R/W 1 2 EP3_DATA01 0: 清除 EP3 的 toggle 为 DATA0;1:HW 自动设置 toggle 位 R/W 1 1 EP2_DATA01 0: 清除 EP2 的 toggle 为 DATA0;1:HW 自动设置 toggle 位 R/W 1 0 EP1_DATA01 0: 清除 EP1 的 toggle 为 DATA0;1:HW 自动设置 toggle 位 R/W 1 SONiX TECHNOLOGY CO., LTD Page 160 Version 1.1

161 USB Epn 缓存器偏移寄存器 (USB_EPnBUFOS, n = 1 ~ 4) 地址偏移量 : 0x48, 0x4C, 0x50, 0x54 复位值 : 0x :8 Reserved R 0 7:2 OFFSET[5:0] 每个端点数据缓存器的偏移地址位 有效的偏移地址为 : R/W 40, USB_SRAM 地址 + {EPnBUFOS[7:2], 2 b00} 80, USB_SRAM 地址 = USB_BA + 0x100 C0, EP0 的偏移地址固定为 USB_SRAM 地址 E0 1:0 Reserved R USB 帧数字寄存器 (USB_FRMNO) 地址偏移量 : 0x60 复位值 : 0x :11 Reserved R 0 10:0 FRAME_NO[10:0] Start-Of-Frame(SOF) 包的 11 位帧数字 接收到 SOF 包时,H/W 自动 更新该数字 R USB PHY 参数寄存器 (USB_PHYPRM) 地址偏移量 : 0x64 复位值 : 0x :26 USB PHY 参数值 PHY_PARAM[5:0] 建议设置为 0x20 25:0 Reserved R 0 SONiX TECHNOLOGY CO., LTD Page 161 Version 1.1

162 USB PHY 参数寄存器 2(USB_PHYPRM2) 地址偏移量 : 0x6C 复位值 : 0x :15 Reserved R 0 14:0 PHY_PARAM2[14:0] USB PHY 参数值 PS/2 控制寄存器 (USB_PS2CTL) 地址偏移量 : 0x70 复位值 : 0x PS2ENB PS/2 内部 5k ohm 上拉电阻控制位 30:4 Reserved R 0 3 SDA PS/2 SDA 数据缓存器 2 SCK PS/2 SCK 数据缓存器 1 SDAM PS2/ SDA 模式控制位 0 SCKM SCKM PS/2 SCK 模式控制位 USB 读 / 写地址寄存器 (USB_RWADDR) 地址偏移量 : 0x78 复位值 : 0x :8 Reserved R 0 7:2 RWADDR[5:0] 从 USB FIFO 读取 USB FIFO 地址或写 USB FIFO 地址到 USB FIFO 中 1:0 Reserved R 0 SONiX TECHNOLOGY CO., LTD Page 162 Version 1.1

163 USB 读 / 写数据寄存器 (USB_RWDATA) 地址偏移量 : 0x7C 复位值 : 0x :0 RWDATA[31:0] 从 USB FIFO 读取数据或写数据到 USB FIFO 中 USB 读 / 写状态寄存器 (USB_RWSTATUS) 地址偏移量 : 0x80 复位值 : 0x :2 Reserved R 0 1 R_STATUS USB FIFO 的读取状态 * 如果 F/W 是从 USB FIFO 读取数据, 该位应设置为 1 当硬件完成读操作 (RWDATA 内容写入地址 RWADDR, 作为从 USB FIFO 读取的新数据 ), 该位由硬件自动清 0 0 W_STATUS USB FIFO 的写状态 * 如果 F/W 是写数据到 USB FIFO 中, 该位应设置为 1 当硬件完成读操作 (RWDATA 内容被读作新数据, 且新数据写入 USB FIFO 的地址 RWADDR ), 该位由硬件自动清 USB 读 / 写地址寄存器 2 (USB_RWADDR2) 地址偏移量 : 0x84 复位值 : 0x :8 Reserved R 0 7:2 RWADDR[5:0] 从 USB FIFO 读取 USB FIFO 地址或写 USB FIFO 地址到 USB FIFO 中 1:0 Reserved R 0 SONiX TECHNOLOGY CO., LTD Page 163 Version 1.1

164 USB 读 / 写数据寄存器 2 (USB_RWDATA2) 地址偏移量 : 0x88 复位值 : 0x :8 RWDATA[31:0] 从 USB FIFO 读取数据或写数据到 USB FIFO 中 USB 读 / 写状态寄存器 2(USB_RWSTATUS2) 地址偏移量 : 0x8C 复位值 : 0x :2 Reserved R 0 1 R_STATUS USB FIFO 的读取状态 * 如果 F/W 是从 USB FIFO 读取数据, 该位应设置为 1 当硬件完成读操作 (RWDATA 内容写入地址 RWADDR, 作为从 USB FIFO 读取的新数据 ), 该位由硬件自动清 0 0 W_STATUS USB FIFO 的写状态 * 如果 F/W 是写数据到 USB FIFO 中, 该位应设置为 1 当硬件完成读操作 (RWDATA 内容被读作新数据, 且新数据写入 USB FIFO 的地址 RWADDR ), 该位由硬件自动清 0 SONiX TECHNOLOGY CO., LTD Page 164 Version 1.1

165 14 FLASH 14.1 概述 SONiX 32 位单片机集成了在线编程 (ISP)FLASH 存储器的特性, 以便存储升级的代码 可以经由 SONiX 32 位单片机编程接口或者应用代码灵活地对 Flash 存储器进行编程控制 SONiX 32 位单片机为用户提供了安全选项以防止未经授权的不安全信息存储到 Flash 存储器中 在编程或者擦除 Flash 过程中, 单片机停止工作, 但外设 ( 定时器 WDT I/O PWM 等 ) 仍在正常工作 在写 Flash 或者擦除 Flash 之前, 若看门狗处于使能状态, 则需要将其清零 擦除动作会将 Flash 页中的所有位都置为逻辑 0 HW 会控制系统时钟, 并自动将 RAM 中的数据删除开始编程, 编程完成后,HW 释放系统时钟, 单片机会执行下一条指令 14.2 嵌入式 FLASH 存储器 Flash 存储器为 32 位宽度的存储器, 可用于存储代码和数据常量, 位于芯片内存的特定基地址 内置的高性能 Flash 存储器模块有以下主要特性 : 存储器构架 :Flash 存储器可作为用户 ROM 用户 ROM 引导 ROM 可达 16K 32 位, 分为 64 页, 每页 1024 字节 可达 位, 分为 48 页, 每页 64 字节 基于 AHB 协议,Flash 接口实现指令和数据的访问, 实现了对 Flash 存储器的操作 ( 编程 / 擦除 ), 编程 / 擦除操作可在产品 的整个工作电压范围内执行 14.3 特征 读取接口 (32-bit) Flash 编程 / 擦除动作 编译选项 (Code Option), 包括代码加密 (CS) 嵌入式 Flash 存储控制器 (FMC) 管理主存储块和编译选项的写操作 编程 / 擦除操作需要的高压由内部产生 主要的 Falsh 存储器可以通过设定不同的代码加密级别 (CS) 进行读 / 写保护 在对 Flash 存储器进行写操作时, 任何试图对 Flash 存储器进行读取的操作都会中断总线, 写操作完成后, 才会开始正确的读操作 这就意味着在进行写 / 擦除操作时, 不能安排读取代码或者数据 在 Flash 存储器进行写和擦除操作时,IHRC 应该由 FMC 设为 ON 状态 可以通过 ICP 和 ISP 对 Flash 存储器进行编程和擦除操作 SONiX TECHNOLOGY CO., LTD Page 165 Version 1.1

166 14.4 机构 SN32F240B ROM Block Name Base Address Size (Byte) Page 0 0x ~ 0x F 64 Page 1 0x ~ 0x F 用户 ROM... 64KB... Page x0000FF80 ~ 0x0000FFBF 64 Page x0000FFC0 ~ 0x0000FFFF 64 Page 0 0x1FFF0000 ~ 0x1FFF003F 引导程序... 3KB... Page 47 0x1FFF0BC0 ~ 0x1FFF0BFF 读操作 作为一个通用的存储空间, 嵌入式 Flash 模块可以直接进行寻址 读操作是访问 Flash 模块内容并提供需要的数据 读取界面由一个读取控制器 ( 一面访问 Flash 存储器 ), 和一个 AHB 接口 ( 另一面与 CPU 接口 ) 组成 读取界面的主要任 务是产生控制信号, 从 Flash 存储器中读取 CPU 需要的内容 14.6 编程 / 擦除 Flash 存储器的擦除操作按页执行 为了保证不产生过度的编程,IHRC 提供 Flash 编程和擦除控制器时钟 14.7 嵌入式引导加载程序 嵌入式引导加载程序利用 USB 接口对 Flash 存储器进行编程 SONiX TECHNOLOGY CO., LTD Page 166 Version 1.1

167 14.8 FLASH 存储器控制器 (FMC) SN32F240B Series FMC 控制 Flash 存储器的编程和擦除 代码加密 (CS) 代码加密是一种允许用户使能不同加密等级的机制, 以便访问内置 Flash 和限制 ISP 操作 注 : 只有 MCU 重新启动后, 改变的代码加密才会生效 User ROM CS0 CS1 CS2 Description Read O X X WRITER FW (Flash emulation) SWD Erase O O(*) O(*) (*) WRITER 将把 CS 等级改为 CS0 Program O O O Read O O O Erase O O O Program O O O Read O X X Erase O X X Program O X X 注 : 用户可能试图改变安全级别, 从 CS2 改为 CS0, 或者从 CS1 改为 CS0,HW 会有以下操作 : 1 首先将用户 ROM 擦除, 用户不能在调试模式下执行该操作, 这是由于 SWD 通信在擦除操作时可能会失败 2 更新安全级别 SONiX TECHNOLOGY CO., LTD Page 167 Version 1.1

168 CS1 CS2 CS0 includes: - New option byte programming includes: - Option byte erase - Mass Erase 编程 FLASH 存储器 Flash 存储器可以一次编程 1 页 (32 位 ) 通过执行标准的页写入操作,CPU 可以编程主要的 Flash 存储器 FLASH_CTRL 寄存器的 PG 位必须设置为 1 当数据进入 FLASH _DATA 寄存器时,FMC 会初步增加数据地址, 并检查待编程的地址 如果发生以下错误, 会跳过编程操作, 并且通过 FLASH_STATUS 寄存器的 PGERR 位发出一个警告 通过 FLASH_STATUS 寄存器的 EOP 位显示编程操作完成 - 开始擦除 / 编程, 并找出页界地址 - 开始擦除 / 编程, 并找出非法地址 (>ROM size) - 填入数据, 且地址已经是页界地址 标准模式下的主要 Flash 存储器编程流程如下 1. 在 FLASH_CTRL 寄存器中设置 PG 2. 目标地址填入 FLASH_ADDR 寄存器中 3. 等待 BUSY 位复位 4. 执行连续数据写, 直到所有数据都已经填入 FLASH_DATA 寄存器 5. 等待 BUSY 位复位 6. 设置起始位开始编程 7. 等待 BUSY 位复位 8. ( 可选 ) 读取被编程的值, 并进行校检 擦除操作 Flash 存储器可以按页擦除 SONiX TECHNOLOGY CO., LTD Page 168 Version 1.1

169 按页擦除 可以利用 FMC 的页擦除特性对 Flash 存储器的整页进行擦除 要擦除一页, 其流程如下 : 1 设置 FLASH_CTRL 寄存器的 PER 位为 1; 2 对 FLASH_ADDR 寄存器进行编程以选择一页进行擦除 ; 3 设置 FLASH_CTRL 寄存器的 STRT 位为 1; 4 等待 BUSY 位复位 ; 5 ( 可选 ) 读取被擦除页的内容并进行校验 批量擦除 当 Flash 存储器读保护选项由受保护变为不受保护时, 可以由 HW 在重新编程读保护选项前将用户 ROM 进行批量擦除 14.9 读保护 在编译选项中设置代码安全字节可以激活读保护选项 当 Flash 存储器读保护选项由受保护变为不受保护时, 可以由 HW 在重新烧录读保护选项前将用户 ROM 进行批量擦除 HW CHECKSUM HW checksum 是用户 ROM 的 checksum, 若使能读保护, 用户可以通过烧录器或者 ISP AP 读出 HW 的 checksum 值 SONiX TECHNOLOGY CO., LTD Page 169 Version 1.1

170 14.11 FMC 寄存器 基地址 : 0x Flash 低电压控制寄存器 (FLASH_LPCTRL) 地址偏移量 : 0x00 31:16 FMCKEY FMC 校检位 读取为 0, 当写入数据到该寄存器时, 必须写入 0x5AFA 到 FMCKEY, 否则 会忽略对该寄存器的写动作 W 0 15:4 Reserved R 0 3:0 LPMODE[3:0] Flash 低电压模式选择位 0000b: 8KHz < HCLK 12MHz. 0010b: HCLK 8KHz ( 慢速模式 ). 0011b: 12MHz < HCLK 24MHz. 1101b: HCLK > 24MHz 其它 : 保留 R/W 0000b 注 :SYSCLKSEL 位必须为 1( 系统时钟 = ILRC), 且 AHBPRE[2:0] 应设置为大于等于 010 (AHBPRE[2:0] 不能为 000 或 001), 当切换为慢速模式时 (LPMODE[3:0] = 0010b) Flash 状态寄存器 (FLASH_STATUS) 地址偏移量 : 0x04 复位值 : 0x :3 Reserved R 0 2 ERR 编程错误标志位 0: 读 没有错误 写 清除该位 1: 发生以下情况时, 由 HW 设置 : - 开始擦除 / 编程, 并找出页界地址 - 开始擦除 / 编程, 并找出非法地址 (>ROMsize) - 填入数据, 且地址已经是页界地址 1 Reserved R 0 0 BUSY Busy 标志位 R 0 SONiX TECHNOLOGY CO., LTD Page 170 Version 1.1

171 0: Flash 操作不忙 1: Flash 操作正在进行 这需要在 Flash 操作开始之前进行设置, 当操作完成 或发生错误时, 由 HW 复位 SN32F240B Series Flash 控制寄存器 (FLASH_CTRL) 地址偏移量 : 0x08 31:7 Reserved R 0 7 CHK Checksum 计算选择 6 START 开始擦除 / 编程操作 该位只能由 SW 设置为 1,BUSY 位复位时, 该位也复位 1: 触发擦除 / 编程操作 该位仅由 SW 置 1,BUSY 位复位时, 该位也复位 0: 停止 / 完成操作 5:3 Reserved R 0 2 MER 批量擦除操作选择位 选择擦除所有用户页 该位仅由 SW 置 1,BUSY 位复位时, 该位也复位 1 PER 页擦除操作选择位 该位仅由 SW 置 1,BUSY 位复位时, 该位也复位 0 PG Flash 编程操作选择位 该位仅由 SW 置 1,BUSY 位复位时, 该位也复位 Flash 数据寄存器 (FLASH_DATA) 地址偏移量 : 0x0C 进行页编程操作时, 应该由 SW 更新该寄存器, 显示需待编程的数据 31:0 DATA[31:0] 待编程的数据 Flash 地址寄存器 (FLASH_ADDR) 地址偏移量 : 0x10 由 SW 升级待擦除或者编程的 Flash 地址, 填满 Flash 地址之前,PG 位或者 PER 位应设置为 1 SONiX TECHNOLOGY CO., LTD Page 171 Version 1.1

172 注 : 当 FLASH_STATUS 寄存器的 BUSY 位置 1 时, 会阻止对该寄存器的写访问 31:0 FAR[31:0] Flash 地址 选择按页擦除时, 则选择一个页面进行擦除 ; 或者选择按页编程时, 则选择一个页面进行编程 Flash Checksum 寄存器 (FLASH_CHKSUM) 地址偏移量 : 0x14 31:16 BRCHKSUM[15:0] Boot ROM 的 Checksum 值 R 0 15:0 URCHKSUM[15:0] 用户 ROM 的 Checksum 值 R 0 SONiX TECHNOLOGY CO., LTD Page 172 Version 1.1

173 15 SERIAL-WIRE 调试 (SWD) 15.1 概述 SWD 功能集成到 ARM Cortex-M0 中, ARM Cortex-M0 配为可支持 4 个断点和 2 个观察点 15.2 特征 支持 ARM Serial Wire 调试 (SWD) 模式 ; 直接调试访问所有存储器 寄存器和外设 ; 调试期不需要目标源 ; 多达 4 个断点 ; 多达 2 个可作为触发器的数据观察点 15.3 引脚说明 Pin Name Type Description GPIO Configuration SWCLK I SWD 模式下的 Serial Wire 时钟引脚 SWDIO I/O SWD 模式下的 Serial Wire 数据输入 / 输出引脚 15.4 调试注意事项 局限性 调试模式改变了 ARM Cortex-M0 CPU 用于降低功耗的工作模式, 而这一影响还会波及到整个系统 这些差异意味着不应该在调试阶段进行功耗测量, 否则测量结果会比应用中的正常操作时偏高 在调试阶段, 每当 CPU 停止工作时,SysTick 定时器会自动停止工作, 其它的外设则不受影响 恢复调试功能 用户代码可以禁止 SWD 功能以便将 P3.5 和 P3.6 作为 GPIO 使用, 此时不能通过 SWD 功能来调试或者下载 FW 在引导程序期间,SONiX 提供引导加载程序来检查 P2.2( 引导引脚 ) 的状态, 在此期间若 P2.2 为低电平,MCU 会用引导 加载程序代替用户程序, 故不能禁止 SWD 功能 退出引导加载程序后, 用户程序可以将 P2.2 配置为其它功能 ( 如 GPIO) 使用 SONiX TECHNOLOGY CO., LTD Page 173 Version 1.1

174 注 : 我们强烈建议不要将 BOOT 引脚设置为输出引脚用于驱动 LED, 否则 BOOT 引脚的状态会在 BOOT 步骤时变低 引脚上的内部上拉 / 下拉电阻 为了避免不受控制的 I/O 电平, 在 SWD 输入引脚上内置了上拉电阻和下拉电阻 SWDIO/JTMS: 内部上拉 SWCLK/JTCK: 内部下拉 SW 一旦禁止了 SWD 功能,GPIO 控制器将再次控制相关功能 SONiX TECHNOLOGY CO., LTD Page 174 Version 1.1

175 16 开发工具 SONIX 提供一套嵌入式的 ICE 仿真系统进行 32 位系列单片机 FW 开发 SONiX 32- 位系列嵌入式 ICE 仿真系统包括 : SONiX 32- 位 MCU Starter-Kit. SN-LINK-V3 USB 线, 用于 SN-LINK-V3 和 PC 通讯 IDE 工具 (KEIL RVMDK) SONiX 32-bit MCU Starter-Kit. SN-LINK-V3 IDE 工具 SONiX 32- 位系列嵌入式 ICE 仿真器特征如下 : 目标板工作电压 :2.5V~5.5V. 高达 4 个硬件断点 系统时钟速率高达 48MHz 振荡器支持 IHRC ILRC SONiX 32- 位系列嵌入式 ICE 仿真器的局限性 : SWCLK 和 SWDIO 引脚与 GPIO 引脚共用 在嵌入 ICE 模式下, 共用的 GPIO 功能被屏蔽 SONiX TECHNOLOGY CO., LTD Page 175 Version 1.1

176 16.1 SN-LINK-V3 SN-LINK-V3 是一个高速仿真器, 用于 SONiX 32 位单片机, 基于 SWD 协议进行调试和编程 除了调试功能外, 程序员还可以通过 SN-LINK-V3 从 PC 下载 FW 到单片机进行设计生产, 甚至是大批量的生产 SN-LINK-V3 通过 SWD 接口连接到 SONiX 32 位 MCU, 该模块的引脚定义如下图所示 : SWDIO VSS SWCLK VDD SONiX TECHNOLOGY CO., LTD Page 176 Version 1.1

177 16.2 SN32F240B STARTER-KIT SN32F240B Series SONiX 32 位 MCU Starter-kit 是一个简易的开发平台, 包括实际芯片和 I/O 接口, 用于输入信号或驱动用户应用的额外装 置, 当目标板未准备好时, 它也是一个简单的开发平台 由于集成了 SWD 调试电路, 目标板也可替换 Starter-kit JP3 : 微型 USB 连接器 JP2 : USB 电源连接器 JP1 : VDDIO1 电源连接器 : 选择 VDDIO1 源 (P0.0~P0.7) ( 板上的 5.0V/3.3V) J1 : GND 连接器 J2 : VDD 连接器 J3 : VREG33 输出连接器 U1 : SN32F248BF 实际芯片 RESET 按钮 : 外部重置触发源 J8 : SN-LINK 连接器 JP5 : 使单片机停在引导加载程序的短路 SONiX TECHNOLOGY CO., LTD Page 177 Version 1.1

178 17 电气特性 17.1 极限参数 供电电压 (Vdd) V ~ 5.5V 输入电压 (Vin). Vss 0.2V ~ Vdd + 0.2V 工作环境温度 (Topr) C ~ + 85 C 存储环境温度 (Tstor). 40 C ~ C 17.2 电气特性 除非另有定义, 否则所有电压均指 Vss, 一般而言,Vdd = 5V, Fosc = 48MHz, 环境温度为 25 参数 SYM. 说明 MIN. TYP. MAX. UNIT Vdd1 为 Core 和外部 Rail 提供电压 V 工作电压 Vdd2 USB 模式 V VDD rise rate VPOR VDD rise rate 保证内部上电复位 V/ms 功耗 系统时钟 = 12MHz [1][2][3] ma Idd1 正常模式 系统时钟 = 24MHz [1][2][3] ma 供电电流 系统时钟 = 48MHz [1][2][3] ma Idd2 睡眠模式 系统时钟 = 32KHz [1][3][4] ua Idd3 深度睡眠模式 Vdd=5V [1][5] ua Port Pins, RESET pin 高电平输入电压 VIH 0.7Vdd - Vdd V 低电平输入电压 VIL Vss - 0.3Vdd V 输入电压 Vi 0 - Vdd V 输出电压 Vo 0 - Vdd V I/O 口上拉电阻 RPU Vin = Vss, Vdd = 5.0V KΩ Vin = Vss, Vdd = 3.3V KΩ I/O 高电平输出源电流 IOH VOP = Vdd 0.5V; ma I/O 低电平输出灌电流 IOL VOP = Vss + 0.5V ma ADC ADC 工作电压 VADC V AIN0 ~ AIN15 输入电压 Vani 0 - Avrefh V ADC 参考电压 Vref V *ADC 使能时间 Tast 设置 ADENB = 1 之后, 准备开始转换 us *ADC 电流消耗 IADC Vdd=3.3V, ADS=0-100* - ua ADC 时钟频率 FADCLK Vdd=3.3V MHz ADC 转换周期时间 FADCYL VDD=2.5V~5.5V /FADCLK SONiX TECHNOLOGY CO., LTD Page 178 Version 1.1

179 ADC 采样率 FADSMP Vdd=3.3V KHz 微分非线性 DNL Vdd=5.5V, AVREFH=2.4V LSB 积分非线性 INL Vdd=5.5V, AVREFH=2.4V LSB 无遗漏码 NMC Vdd=5.5V, AVREFH=2.4V Bits ADC 偏移电压 VADCoffset mv FLASH 持续时间 TEN 擦除 + 编程 10K *100K - Cycle 页擦除时间 TME 所有用户 ROM 存储器 ms 页编程时间 TPG 1- 页 (64 字节 ) ms 低电压检测器 LVD 中断 / 复位 MISC Level V Level V Level V Level V 3.3V 稳压器输出电压 VREG33 VCC 3.60V, IVREG33 60 ma V IHRC 频率 FIHRC T=25, Vdd=5V, USB 功能打开 MHz * Parameters with star mark are non-verified design reference. [1] 所有引脚配置为 GPIO 输出低电平, 禁止上拉电阻,, 且 VDD=5V, 执行 IDD 测量 [2] 使能 IHRC 和 ILRC [3] 使能 LVD 和 GPIO 外设 [4] 禁止 IHRC, 使能 ILRC [5] 关闭所有振荡器和模拟块 SONiX TECHNOLOGY CO., LTD Page 179 Version 1.1

180 18 FLASH ROM 烧录引脚 SN32F240B 系列烧录信息 单片机名称 SN32F248BF SN32F247BF SN32F246BJ SN32F2451BJ MP PRO 烧录器连接器 Flash IC / JP3 引脚配置 Number Name Number Pin Number Pin Number Pin Number Pin 1 VDD 55 VDD 40 VDD 37 VDD 27 VDD 2 GND 56 VSS 41 VSS 38 VSS 28 VSS 3 CLK 61 P P P3.9 1 P3.9 4 CE 5 PGM 58 P P P P3.6 6 OE 57 P P P P3.5 7 D1 8 D0 9 D3 10 D2 11 D5 12 D4 13 D7 14 D6 15 VDD HLS 18 RST ALSB/PDB 60 P P P P3.8 SONiX TECHNOLOGY CO., LTD Page 180 Version 1.1

181 19 封装信息 19.1 LQFP 64 PIN SONiX TECHNOLOGY CO., LTD Page 181 Version 1.1

182 19.2 LQFP 48 PIN SN32F240B Series SYMBOLS MIN NOR MAX (mm) A A A c D 9.00 BSC D BSC E 9.00 BSC E BSC e 0.5 BSC b L L1 1 REF SONiX TECHNOLOGY CO., LTD Page 182 Version 1.1

183 19.3 QFN 46 PIN SN32F240B Series SONiX TECHNOLOGY CO., LTD Page 183 Version 1.1

184 19.4 QFN 33 PIN SONiX TECHNOLOGY CO., LTD Page 184 Version 1.1

MICROCHIP EVM Board : APP APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pi

MICROCHIP EVM Board : APP APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pi MICROCHIP EVM Board : APP001 1-1. APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pin 16 I/O Extension Interface 1-2. APP001 Block_A Block_B

More information

USB解决方案.ppt

USB解决方案.ppt USB USB? RS232 USB USB HID U modem ADSL cable modem IrDA Silabs USB CP210x USB UART USB RS-232 USB MCU 15 USB 12 FLASH MCU 3 USB MCU USB MCU C8051F32x 10 ADC 1.5%, Vref CPU 25MIPS 8051 16KB Flash -AMUX

More information

FM1935X智能非接触读写器芯片

FM1935X智能非接触读写器芯片 FM33A0xx MCU 2017. 05 2.0 1 (http://www.fmsh.com/) 2.0 2 ... 3 1... 4 1.1... 4 1.2... 4 1.3... 5 1.3.1... 5 1.3.2... 5 1.4... 8 1.4.1 LQFP100... 8 1.4.2 LQFP80... 9 1.4.3... 9 2... 15 2.1 LQFP100... 15

More information

ARM Cortex-M3 (STM32F) STMicroelectronics ( ST) STM32F103 Core: ARM 32-bit Cortex -M3 CPU 72 MHz, 90 DMIPS with 1.25 DMIPS/MHz Single-cycle multiplica

ARM Cortex-M3 (STM32F) STMicroelectronics ( ST) STM32F103 Core: ARM 32-bit Cortex -M3 CPU 72 MHz, 90 DMIPS with 1.25 DMIPS/MHz Single-cycle multiplica CP Chip Power ARM Cortex-M3 (STM32F) ARM Cortex-M3 (STM32F) STMicroelectronics ( ST) STM32F103 Core: ARM 32-bit Cortex -M3 CPU 72 MHz, 90 DMIPS with 1.25 DMIPS/MHz Single-cycle multiplication and hardware

More information

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0 SH79F6431 1. SH79F6431 1T 8051 FLASH SH79F JET51 Keil µ vision JTAG 1.1. SH79F6431 LQFP64 1.2. (Target Board) SH79F6431 1 V 1.0 1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F6431 1 2 1 B. 1(VCC/GND)

More information

SPHE8202R Design Guide Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provi

SPHE8202R Design Guide Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provi SPHE8202R Design Guide V2.0 JUN, 2007 19, Innovation First Road Science Park Hsin-Chu Taiwan 300 R.O.C. Tel: 886-3-578-6005 Fax: 886-3-578-4418 Web: www.sunplus.com SPHE8202R Design Guide Important Notice

More information

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor 1 4.1.1.1 (Load) 14 1.1 1 4.1.1.2 (Save) 14 1.1.1 1 4.1.2 (Buffer) 16 1.1.2 1 4.1.3 (Device) 16 1.1.3 1 4.1.3.1 (Select Device) 16 2 4.1.3.2 (Device Info) 16 2.1 2 4.1.3.3 (Adapter) 17 2.1.1 CD-ROM 2 4.1.4

More information

DS_MM32P021_Ver1.9.0

DS_MM32P021_Ver1.9.0 产品手册 Datasheet MM32P021 32 位基于 ARM Cortex M0 核心的微控制器 版本 :1.9.0 保留不通知的情况下, 更改相关资料的权利 目录 1. 总介... 5 1.1 概述... 5 1.2 产品特性... 5 2. 规格说明... 6 2.1 器件对比... 6 2.2 功能简述... 6 3. 引脚定义... 7 3.1 引脚配置... 7 3.2 引脚描述...

More information

ICD ICD ICD ICD ICD

ICD ICD ICD ICD ICD MPLAB ICD2 MPLAB ICD2 PIC MPLAB-IDE V6.0 ICD2 usb PC RS232 MPLAB IDE PC PC 2.0 5.5V LED EEDATA MPLAB ICD2 Microchip MPLAB-IDE v6.0 Windows 95/98 Windows NT Windows 2000 www.elc-mcu.com 1 ICD2...4 1.1 ICD2...4

More information

SMART 7P 0 HR7P OTPMCU A/D I/O OTP ROM RAM HR7P HR7P HR7PPMB MSOP0 7+input HR7PPSC HR7PPSD SOP SOP6 +input input HR7PERB SSOP0 7

SMART 7P 0 HR7P OTPMCU A/D I/O OTP ROM RAM HR7P HR7P HR7PPMB MSOP0 7+input HR7PPSC HR7PPSD SOP SOP6 +input input HR7PERB SSOP0 7 上海东软载波微电子有限公司 SMART www.essemi.com SMART 7P 0 HR7P OTPMCU A/D I/O OTP ROM RAM HR7P HR7P HR7PPMB MSOP0 7+input 06 6 6 HR7PPSC HR7PPSD SOP SOP6 +input 06 6 +input 06 6 6 6 HR7PERB SSOP0 7+input 06 6 6 HR7PESC

More information

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe   Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L 1 SH88F516 8051 64K FLASH 1024 EEPROM SH88F516 JET51 S-Lab Keil µ vision ISP51 Keil µ vision ISP51 ISP51 PC RS232 MCU SH88F516 SH88F516 1.1 SH88F516 1.1 SH88F516 SH88Fxx: QFP44, DIP40 RAM Flash E2 ADC

More information

版权声明 龙芯 免责声明 据 龙芯 2 Building No.2, Loongson Industrial Park, Zhongguancun Environmental Protection Park (Tel) (Fax)

版权声明 龙芯 免责声明 据 龙芯 2 Building No.2, Loongson Industrial Park, Zhongguancun Environmental Protection Park (Tel) (Fax) 2018 9 29 龙芯 版权声明 龙芯 免责声明 据 龙芯 2 Building No.2, Loongson Industrial Park, Zhongguancun Environmental Protection Park (Tel) 010-62546668 (Fax) 010-62600826 阅读指南 龙芯 1C101 处理器数据手册 龙芯 1C101 修订历史 序号 更新日期 版本号

More information

基于 ARM Cortex-M0 的 ES32F065x 系列 MCU 内核 ARM 32 位 Cortex-M0 CPU 最高频率可达 48MHz 存储 最大 256K Byte FLASH 存储器 最大 32K Byte SRAM 数据存储电源 复位 芯片工作电压范围 : 2.2V 5.5V P

基于 ARM Cortex-M0 的 ES32F065x 系列 MCU 内核 ARM 32 位 Cortex-M0 CPU 最高频率可达 48MHz 存储 最大 256K Byte FLASH 存储器 最大 32K Byte SRAM 数据存储电源 复位 芯片工作电压范围 : 2.2V 5.5V P 32 位 MCU ES32F0654 ES32F0653 产品简介 产品简介 数据手册 参考手册 上海东软载波微电子有限公司 2018-11-20 V1.0 1/22 基于 ARM Cortex-M0 的 ES32F065x 系列 MCU 内核 ARM 32 位 Cortex-M0 CPU 最高频率可达 48MHz 存储 最大 256K Byte FLASH 存储器 最大 32K Byte SRAM

More information

基于 ARM Cortex-M0 的 ES32F033x 系列 MCU 内核 ARM 32 位 Cortex-M0 CPU 最高频率可达 48MHz 存储 最大 256K Byte FLASH 存储器 最大 32K Byte SRAM 数据存储电源 复位 芯片工作电压范围 : 2.2V VDD 5.

基于 ARM Cortex-M0 的 ES32F033x 系列 MCU 内核 ARM 32 位 Cortex-M0 CPU 最高频率可达 48MHz 存储 最大 256K Byte FLASH 存储器 最大 32K Byte SRAM 数据存储电源 复位 芯片工作电压范围 : 2.2V VDD 5. 32 位 MCU ES32F0334 产品简介 产品简介 数据手册 参考手册 上海东软载波微电子有限公司 2018-11-20 V1.0 1/18 基于 ARM Cortex-M0 的 ES32F033x 系列 MCU 内核 ARM 32 位 Cortex-M0 CPU 最高频率可达 48MHz 存储 最大 256K Byte FLASH 存储器 最大 32K Byte SRAM 数据存储电源 复位

More information

untitled

untitled EDM12864-GR 1 24 1. ----------------------------------------------------3 2. ----------------------------------------------------3 3. ----------------------------------------------------3 4. -------------------------------------------------------6

More information

untitled

untitled 0755 85286856 0755 82484849 路 4.5V ~5.5V 流 @VDD=5.0V,

More information

目 录

目 录 1 Quick51...1 1.1 SmartSOPC Quick51...1 1.2 Quick51...1 1.3 Quick51...2 2 Keil C51 Quick51...4 2.1 Keil C51...4 2.2 Keil C51...4 2.3 1 Keil C51...4 2.4 Flash Magic...9 2.5 ISP...9 2.6...10 2.7 Keil C51...12

More information

2 PIC PIC 1 / CPU PIC MCU PIC RC

2 PIC PIC 1 / CPU PIC MCU PIC RC 2 PIC PIC 1 /... 2-2 2... 2-3 3... 2-4 4... 2-4 5... 2-4 6 CPU... 2-5 7 PIC MCU... 2-6 8 PIC16... 2-6 9... 2-7 10... 2-7 11 RC... 2-7 12... 2-8 13... 2-8 14 NOP... 2-9 15 PMD... 2-9 16... 2-10 17 WDTWDT...

More information

P4i45GL_GV-R50-CN.p65

P4i45GL_GV-R50-CN.p65 1 Main Advanced Security Power Boot Exit System Date System Time Floppy Drives IDE Devices BIOS Version Processor Type Processor Speed Cache Size Microcode Update Total Memory DDR1 DDR2 Dec 18 2003 Thu

More information

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x 115 AVR W.V. Awdrey ATMEL AVR PIC AVR PIC AVR RISC AVR PIC AVR AVR AVR AVR AVR ATtiny15 AVR AVR AVR RAM ROM 121 116 122 ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r31 3 16 X Y Z 6-1 118 7 0

More information

KL DSC DEMO 使用说明

KL DSC DEMO 使用说明 :0755-82556825 83239613 : (0755)83239613 : http://www.kingbirdnet.com EMAIL Good989@163.com 1 1 KB3000 DTU... 3 1.1... 3 1.2... 3 1.3... 3 1.4... 3 2... 4 2.1 GSM/GPRS... 4 2.2... 4 2.3... 5 2.4... 6 2.5...

More information

XNS104 产品说明书 AD 型 2.4G 高速无线收发单片机概述 2.4GHz 高速无线收发单片机 XNS104 是一个带 12 位 ADC, 以 OTP 为程序存储基础, 带 2.4G 高速无线收发芯片的单片机 无线收发单元工作在 GHz 世界通用 ISM 频段, 它集

XNS104 产品说明书 AD 型 2.4G 高速无线收发单片机概述 2.4GHz 高速无线收发单片机 XNS104 是一个带 12 位 ADC, 以 OTP 为程序存储基础, 带 2.4G 高速无线收发芯片的单片机 无线收发单元工作在 GHz 世界通用 ISM 频段, 它集 XNS104 产品说明书 AD 型 2.4G 高速无线收发单片机概述 2.4GHz 高速无线收发单片机 XNS104 是一个带 12 位 ADC, 以 OTP 为程序存储基础, 带 2.4G 高速无线收发芯片的单片机 无线收发单元工作在 2.400--2.483GHz 世界通用 ISM 频段, 它集成射频收发通路 频率发生器 晶体振荡器 调制解调器等功能模块, 并且支持一对多组网和带 ACK 的通信模式

More information

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63> 第三章 Q3 1 1. 省略了 I/O 操作的复杂逻辑, 易实现, 耗费低 ; 2. 可以利用丰富的内存寻址模式实现灵活的 I/O 操作 Q3 2 假设存储单元 ds1 处寄存器地址为 0x2000, 代码如下 #define ds1 0x2000 while ( *ds1 == 0 ) ; Q3 3 假设设备 (dev1) 中有两个寄存器 ds1 和 dd1,dev1 的地址为 0x1000,ds1

More information

第十四章 STC单片机比较器原理及实现

第十四章 STC单片机比较器原理及实现 第 14 章 STC 单片机比较器 原理及实现 何宾 2015.02 1 本章主要内容 STC 单片机比较器结构 STC 单片机比较器寄存器组 STC 单片机比较器应用 2 STC 单片机比较器结构 STC15W 系列单片机内置了模拟比较器 对于 STC15W201S STC15W404S, 以及 STC15W1K16S 系 列单片机的比较器内部结构 3 STC 单片机比较器结构 S T C 15W

More information

PTS7_Manual.PDF

PTS7_Manual.PDF User Manual Soliton Technologies CO., LTD www.soliton.com.tw - PCI V2.2. - PCI 32-bit / 33MHz * 2 - Zero Skew CLK Signal Generator. - (each Slot). -. - PCI. - Hot-Swap - DOS, Windows 98/2000/XP, Linux

More information

STM32 for sensorless vector control

STM32 for sensorless vector control STM32 PMSM FOC Shanghai, March,2008 Agenda STM32 FOC Clark Parke Circle limitation Mar 08 1 Agenda / Hall PMSM PLL MC_State_observer_param.h Mar 08 2 Agenda MC_Control_param.h / PI Mar 08 3 Plan STM32

More information

SPMC75F2413A_EVM_使用说明_V1.2.doc

SPMC75F2413A_EVM_使用说明_V1.2.doc SPMCFA EVM V. - Jan 0, 00 http://www.sunplusmcu.com ................ SPMCFA........... EEPROM.... I/O............ LED.... LED.... RS-........0............ EVM................ 0.....0..... SPMCFA EVM SPMCFA

More information

Tel:010-62981668-2930 1

Tel:010-62981668-2930  1 Access 93C46 with SPI function V1.0.0 Jan. 31, 2005 http://www.sunplusmcu.com Tel:010-62981668-2930 http://www.sunplusmcu.com E-mail:mcu@sunplus.com.cn 1 0 0...2 1...3 2...4 2.1...4 2.2...5 3...6 3.1 AT93C46...6

More information

目录

目录 ALTERA_CPLD... 3 11SY_03091... 3 12SY_03091...4....5 21 5 22...8 23..10 24..12 25..13..17 3 1EPM7128SLC.......17 3 2EPM7032SLC.......18 33HT46R47......19..20 41..20 42. 43..26..27 5151DEMO I/O...27 52A/D89C51...28

More information

1 TPIS TPIS 2 2

1 TPIS TPIS 2 2 1 1 TPIS TPIS 2 2 1. 2. 3. 4. 3 3 4 5 4 TPIS TPIS 6 5 350 Mark Coil F3/F6 350 M 150 M 25 M 7.12M 8 M F3 F6 F4 F7 F8 8M AA 7 350 28V 5V IC HCPL2731 0.5mA 6 8 (TPIS) TPIS 9 7 IC AT89C2051 AT89C2051 CMOS8

More information

51 C 51 isp 10 C PCB C C C C KEIL

51 C 51 isp 10   C   PCB C C C C KEIL http://wwwispdowncom 51 C " + + " 51 AT89S51 In-System-Programming ISP 10 io 244 CPLD ATMEL PIC CPLD/FPGA ARM9 ISP http://wwwispdowncom/showoneproductasp?productid=15 51 C C C C C ispdown http://wwwispdowncom

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 STC 单片机比较器原理及实现 主讲 : 何宾 Email:hebin@mail.buct.edu.cn 2016.03 STC 单片机比较器结构 STC15W 系列单片机内置了模拟比较器 对于 STC15W201S STC15W404S, 以及 STC15W1K16S 系列单片机的比较器内部结 构 STC 单片机比较器结构 从图中可以看出, 比较器正端输入 CMP+ 的输入电压来自单片机的 P5.5

More information

untitled

untitled TD3200 V1.3 2005-02-25 BOM 31050155 518057 www.emersonnetworkpower.com.cn 800-820-6510 800021-230171410755-86010800 E-mailinfo@emersonnetwork.com.cn ... 1 1.1...1 1.2...2 1.3...4... 5 2.1...5 2.2...5

More information

PCM-3386用户手册.doc

PCM-3386用户手册.doc PCM-3386 BBPC-4x86 10/100M PC/104 (Lanry technology Co. Ltd. Zhuhai) 38 1012836 (Address: Room 1012,Linhai Building,No. 38,west of Shihua Road,Zhuhai City,Guangdong Province,China) (post code)519015 (phone)0756-3366659

More information

2 14 PORTC.1 PORTB.3 PORTA.2/T0 GND PORTB.2 PORTA.0 PORTC.3 PORB.0/OSCO PORTB.1/OSCI PORTC.0 PORTC.2 SH69P21 /SOP PORTA

2 14 PORTC.1 PORTB.3 PORTA.2/T0 GND PORTB.2 PORTA.0 PORTC.3 PORB.0/OSCO PORTB.1/OSCI PORTC.0 PORTC.2 SH69P21 /SOP PORTA 1K 4 SH6610C 4 OTP ROM 1K X 16 RAM 88 X 4-24 - 64 2.4V-5.5V - fosc = 30kHz - 4MHz, = 2.4V - 5.5V - fosc = 4MHz - 8MHz, = 4.5V - 5.5V 11 CMOS I/O 4 ( ) 8 / - 0 PORTA.0 ( / / ) - 0 - PORTB ( ) ( ) - 32.768kHz,

More information

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2 Terminal Mode No User User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2 Mon1 Cam-- Mon- Cam-- Prohibited M04 Mon1 Cam03 Mon1 Cam03

More information

P4V88+_BIOS_CN.p65

P4V88+_BIOS_CN.p65 1 Main H/W Monitor Boot Security Exit System Overview System Time System Date [ 17:00:09] [Wed 12/22/2004] BIOS Version : P4V88+ BIOS P1.00 Processor Type : Intel (R) Pentium (R) 4 CPU 2.40 GHz Processor

More information

General Description: Preliminary TTP916 Consumer IC VCD/DVD LCD Green mode Stand-by mode( 1W ) Features: 2.2V-5.5V LCD RAM read condition 2.6V-5.5V RC

General Description: Preliminary TTP916 Consumer IC VCD/DVD LCD Green mode Stand-by mode( 1W ) Features: 2.2V-5.5V LCD RAM read condition 2.6V-5.5V RC General Description: IC VCD/DVD LCD Green mode Stand-by mode( 1W ) Features: 2.2V-5.5V LCD RAM read condition 2.6V-5.5V RC 15K 300pF 256KHZ default on 32 function key Built-in TT6221/TT6222 decoder Provide

More information

68369 (ppp quickstart guide)

68369 (ppp quickstart guide) Printed in USA 04/02 P/N 68369 rev. B PresencePLUS Pro PC PresencePLUS Pro PresencePLUS Pro CD Pass/Fails page 2 1 1. C-PPCAM 2. PPC.. PPCAMPPCTL 3. DB9D.. STPX.. STP.. 01 Trigger Ready Power 02 03 TRIGGER

More information

33023A.book(31026A_cn.fm)

33023A.book(31026A_cn.fm) 26 第 26 章看门狗定时器与休眠模式 目录 看门狗定时器与休眠模式 本章包括下面一些主要内容 : 26.1 简介... 26-2 26.2 控制寄存器... 26-3 26.3 看门狗定时器 (WDT) 的操作... 26-4 26.4 休眠省电模式... 26-7 26.5 初始化... 26-9 26.6 设计技巧... 26-10 26.7 相关应用笔记... 26-11 26.8 版本历史...

More information

电子技术基础 ( 第 版 ) 3. 图解单相桥式整流电路 ( 图 4-1-3) 电路名称电路原理图波形图 整流电路的工作原理 1. 单相半波整流电路 u 1 u u sin t a t 1 u 0 A B VD I A VD R B

电子技术基础 ( 第 版 ) 3. 图解单相桥式整流电路 ( 图 4-1-3) 电路名称电路原理图波形图 整流电路的工作原理 1. 单相半波整流电路 u 1 u u sin t a t 1 u 0 A B VD I A VD R B 直流稳压电源 第 4 章 4.1 整流电路及其应用 学习目标 1. 熟悉单相整流电路的组成, 了解整流电路的工作原理. 掌握单相整流电路的输出电压和电流的计算方法, 并能通过示波器观察整流电路输出电压的波形 3. 能从实际电路中识读整流电路, 通过估算, 能合理选用整流元器件 4.1.1 认识整流电路 1. 图解单相半波整流电路 ( 图 4-1-1) 电路名称电路原理图波形图 4-1-1. 图解单相全波整流电路

More information

untitled

untitled XZL024 http://item.taobao.com/item.htm?id=6321822194 1 1 1.1 1.2 1.3 1.4 2 2.1 2.2 2.3 3 USBee Suite 3.1 3.2 3.3 3.4 4 RS232 RS485 RS422 CAN http://item.taobao.com/item.htm?id=6321822194 2 1 XZL024 PC

More information

MICROMASTER 410/420/430/440 DA kW 250kW MICROMASTER Eco & MIDIMASTER Eco MICROMASTER, MICROMASTER Vector DA64 MIDIMASTER Vector 90kW (Low

MICROMASTER 410/420/430/440 DA kW 250kW MICROMASTER Eco & MIDIMASTER Eco MICROMASTER, MICROMASTER Vector DA64 MIDIMASTER Vector 90kW (Low DA51.2 2002 micromaster MICROMASTER 410/420/430/440 0.12kW 250kW s MICROMASTER 410/420/430/440 DA51.2 2002 0.12kW 250kW MICROMASTER Eco & MIDIMASTER Eco MICROMASTER, MICROMASTER Vector DA64 MIDIMASTER

More information

P4VM800_BIOS_CN.p65

P4VM800_BIOS_CN.p65 1 Main H/W Monitor Boot Security Exit System Overview System Time System Date [ 17:00:09] [Fri 02/25/2005] BIOS Version : P4VM800 BIOS P1.00 Processor Type : Intel (R) Pentium (R) 4 CPU 2.40 GHz Processor

More information

Chroma 61500/ bit / RMS RMS VA ()61500 DSP THD /61508/61507/61609/61608/ (61500 ) Chroma STEP PULSE : LISTLIST 100 AC DC

Chroma 61500/ bit / RMS RMS VA ()61500 DSP THD /61508/61507/61609/61608/ (61500 ) Chroma STEP PULSE : LISTLIST 100 AC DC MODEL 61509/61508/61507/ 61609/61608/61607 PROGRAMMABLE AC POWER SOURCE MODEL 61509/61508/61507/ 61609/61608/61607 61509/61609: 6kVA 61508/61608: 4.5kVA 61507/61607: 3kVA : 0-175V/0-350V/Auto : DC, 15Hz-2kHz

More information

上海东软载波微电子有限公司 SMART

上海东软载波微电子有限公司 SMART 上海东软载波微电子有限公司 SMART www.essemi.com SMART 7P 0 HR7P/ES7P OTPMCU A/D I/O OTP ROM RAM ES7P7x ES7P7PSD SOP +input 0 ES7P7PSF SOP0 7+input 0 ES7P7PRF SSOP0 7+input 0 EEPROM MHz 0 ~.V ~.V MHz, KHz MHz 0 ~.V

More information

PCI Express

PCI Express PCI Express 1-Gigabit Wall Chip-to-Chip Line Card Interconnect PL2 PCI PL3 SFI-4/SPI-4 SFI-5/SPI-5 2.488-3.125 Gbps 16 ch 3GIO I/O Interconnect Rapid I/O (Parallel) HyperTransport Rapid I/O (Serial) 1.25,

More information

VioCard-300 user manual

VioCard-300 user manual VioGate VioCard-300 ( 2.0.0) 2005 2005 2 15 2 3 VioGate 绍... 6 1.1 产 简... 6 1.2 产... 6 1.3... 7 1.4 内... 7 1.5 导览... 8 VioGate... 10 2.1 VioGate 络 认...10 2.2 VioGate...11 软... 16 3.1 VioCard-300 盘...16

More information

設計目標規格書

設計目標規格書 ARM Cortex -M0 32 位 微 控 制 器 NuMicro M051 系 列 技 术 参 考 手 册 - 1 - 版 本 V2.0 目 录 1 概 述 11 2 特 征 12 3 框 图 16 4 选 型 表 17 5 管 脚 配 置 18 5.1 QFN 33 pin 18 5.2 LQFP 48 pin 19 5.3 管 脚 描 述 20 6 功 能 描 述 23 6.1 ARM Cortex

More information

2005.book

2005.book ...4... 4... 7...10... 10... 10... 10... 10... 11... 11 PCC... 11 TB170... 12 /... 12...13... 13 BP150 / BP151 / BP152 / BP155... 14...15... 15... 15... 15... 15... 15... 15... 16 PS465 / PS477... 17 PS692

More information

,Microchip Technology PIC LCD, PIC16F913/914/ 916/917/946 PIC18F6390/6490/8390/8490 PIC16F65J90/85J90 Microchip LCD LCD, Microchip 的优势 LCD PIC, LCD LC

,Microchip Technology PIC LCD, PIC16F913/914/ 916/917/946 PIC18F6390/6490/8390/8490 PIC16F65J90/85J90 Microchip LCD LCD, Microchip 的优势 LCD PIC, LCD LC LCD PIC 单片机解决方案 集成 LCD 驱动器模块的 PIC 单片机 www.microchip.com/lcd ,Microchip Technology PIC LCD, PIC16F913/914/ 916/917/946 PIC18F6390/6490/8390/8490 PIC16F65J90/85J90 Microchip LCD LCD, Microchip 的优势 LCD PIC,

More information

单片机应用编程技巧(专家:邓宏杰)

单片机应用编程技巧(专家:邓宏杰) 编 者 注 : 本 文 件 为 电 子 工 程 专 辑 网 站 编 辑 部 原 创, 电 子 工 程 专 辑 享 有 本 文 章 完 全 著 作 权, 如 需 转 载 该 文 章, 必 须 经 过 电 子 工 程 专 辑 网 站 编 辑 部 同 意 联 系 电 子 工 程 专 辑 网 站 编 辑 部, 请 发 信 至 eetcol@globalsources.com 单 片 机 应 用 编 程 技

More information

MSP430X1XX 系列微控制器具有以下特征 结构框图 超低功耗结构体系 A 额定工作电流在 1MHz V 工作电压 C11X P11X 和 E11X 为 V 从备用模式唤醒为 6 S 丰富的中断能力减少了查询的需要灵活强大的处理能力源操作数有七种寻址模

MSP430X1XX 系列微控制器具有以下特征 结构框图 超低功耗结构体系 A 额定工作电流在 1MHz V 工作电压 C11X P11X 和 E11X 为 V 从备用模式唤醒为 6 S 丰富的中断能力减少了查询的需要灵活强大的处理能力源操作数有七种寻址模 新一代超低功耗 16 位单片机 TI MSP430 系列 美国 TI 公司的 MSP430 系列单片机可以分为以下几个系列 X1XX X3XX X4XX 等等 而且 在不断发展 从存储器角度 又可分为 ROM C 型 OTP P 型 EPROM E 型 Flash Memory F 型 系列的全部成员均为软件兼容 可以方便地在系列各型号间移植 MSP430 系列单片机 的 MCU 设计成适合各种应用的

More information

設計目標規格書

設計目標規格書 ARM Cortex -M0 32 位微控制器 NuMicro M051 DN/DE 系列 产品简介 The information described in this document is the exclusive intellectual property of Nuvoton Technology Corporation and shall not be reproduced without

More information

SDP 1 2 3 4 8 9 10 12 19

SDP 1 2 3 4 8 9 10 12 19 SDP SDP 1 2 3 4 8 9 10 12 19 SDP 2 SDP CANBUS 3m/s 48 1 2 N 3 4 5 6 7 8 9 EMC EMC ENS008212 EN618003 10 IP21 SDP 3 1 1 4 2 5 3 P24 103 104 N24 G24 P24 101 102 N24 G24 J2 J3 n P2 P1 P3 J2 J1 J3 1 P2 P1

More information

Ch03_嵌入式作業系統建置_01

Ch03_嵌入式作業系統建置_01 Chapter 3 CPU Motorola DragonBall ( Palm PDA) MIPS ( CPU) Hitachi SH (Sega DreamCast CPU) ARM StrongARM CPU CPU RISC (reduced instruction set computer ) CISC (complex instruction set computer ) DSP(digital

More information

STC90C51RC-cn.pdf

STC90C51RC-cn.pdf STC90.STC90C5RC/RD+ STC90C5RC/RD+ 805 5.5V - 3.3V 3.6V - 2.0V V 040MHz080MHz48MHz 4K / 8K / 3K / 6K / 32K / 40K/ 48K/ 56K/ 6K 28052RAM I/O35/39P/P2/P3/P4805I/OP0 I/O ISP/ IAP RxD/P3.0, TxD/P3. EEPROM MAX80

More information

Bus Hound 5

Bus Hound 5 Bus Hound 5.0 ( 1.0) 21IC 2007 7 BusHound perisoft PC hound Bus Hound 6.0 5.0 5.0 Bus Hound, IDE SCSI USB 1394 DVD Windows9X,WindowsMe,NT4.0,2000,2003,XP XP IRP Html ZIP SCSI sense USB Bus Hound 1 Bus

More information

bingdian001.com

bingdian001.com TSM12M TSM12 STM8L152C6, STM8L152R8 MSP430F5325 whym1987@126.com! /******************************************************************************* * : TSM12.c * : * : 2013/10/21 * : TSM12, STM8L f(sysclk)

More information

MCU DSP MSO MCU DSP MSO MSO MSO MCU/DSP I/O MSO 16 Microchip IC18 turn-on MSO chirp MCU I/O I 2 C

MCU DSP MSO MCU DSP MSO MSO MSO MCU/DSP I/O MSO 16 Microchip IC18 turn-on MSO chirp MCU I/O I 2 C MSO MCU DSP MSO MCU DSP MSO MSO MSO MCU/DSP I/O MSO 16 Microchip IC18 turn-on MSO chirp MCU I/O I 2 C 03 Keysight MSO MSO MSO DSO holdoff infinite-persistence / de-skew MSO 1 MSO MSO MSO MSO MCU DSP 1

More information

<4D6963726F736F667420576F7264202D2031303130315FB971BEF7BB50B971A46CB8735FB773A55FA5ABA5DFB7E7AADAB0AAAFC5A475B77EC2BEB77EBEC7AED55FA97EAE61C0F4B9D2B4BCBC7AB1B1A8EEA874B2CE2E646F63>

<4D6963726F736F667420576F7264202D2031303130315FB971BEF7BB50B971A46CB8735FB773A55FA5ABA5DFB7E7AADAB0AAAFC5A475B77EC2BEB77EBEC7AED55FA97EAE61C0F4B9D2B4BCBC7AB1B1A8EEA874B2CE2E646F63> 全 國 高 職 學 生 102 年 度 專 題 製 作 競 賽 報 告 書 居 家 環 境 智 慧 控 制 系 統 群 別 : 電 機 與 電 子 群 參 賽 作 品 名 稱 : 居 家 環 境 智 慧 控 制 系 統 關 鍵 詞 : 環 境 監 控 ZigBee 感 測 元 件 目 錄 壹 摘 要... 2 貳 研 究 動 機...2 參 研 究 方 法...3 一 研 究 器 材...3 二 研

More information

GW EDA VHDL VHDL VHDL VHDL ADC009 0 FPGA PC GW EDA a GW EDA beda README.TXT c d 0 e J MZH +V GND -V D/A +V GND S JA J D D D D D D D D C K J J VGA VGA B EDA JB B J HC B RS- CON CON HC PS/ CPLD/FPGA J RS-

More information

Cube20S small, speedy, safe Eextremely modular Up to 64 modules per bus node Quick reaction time: up to 20 µs Cube20S A new Member of the Cube Family

Cube20S small, speedy, safe Eextremely modular Up to 64 modules per bus node Quick reaction time: up to 20 µs Cube20S A new Member of the Cube Family small, speedy, safe Eextremely modular Up to 64 modules per bus de Quick reaction time: up to 20 µs A new Member of the Cube Family Murrelektronik s modular I/O system expands the field-tested Cube family

More information

GH1220 Hall Switch

GH1220 Hall Switch Unipolar Hall Switch - Medium Sensitivity Product Description The DH220 is a unipolar h all switch designed in CMOS technology. The IC internally includes a voltage regulator, Hall sensor with dynamic

More information

iml v C / 0W EVM - pplication Notes. IC Description The iml8683 is a Three Terminal Current Controller (TTCC) for regulating the current flowin

iml v C / 0W EVM - pplication Notes. IC Description The iml8683 is a Three Terminal Current Controller (TTCC) for regulating the current flowin iml8683-220v C / 0W EVM - pplication Notes iml8683 220V C 0W EVM pplication Notes Table of Content. IC Description... 2 2. Features... 2 3. Package and Pin Diagrams... 2 4. pplication Circuit... 3 5. PCB

More information

untitled

untitled XILINX Platform Cbale USB www.hseda.com ...... Platform Cable USB Compatible.................. impact.........1 platform Cable USB Compatible.........1...1...1...1...1...1 Platform Cable USB Compatible

More information

, , STC11F01-35C-SOP16 RMB 1.99 STC10F04-35C-LQFP44 R MB 2. 99 , STC12C5A08AD-35C-LQFP44,RMB 7.5 , STC12C5201AD-SOP16,RMB 2.49 STC12C5202AD-LQFP32,RMB 3.99 0.1uF 0.1uF 0.1uF STC 89 E 2 PROM Data Flash

More information

iml v C / 4W Down-Light EVM - pplication Notes. IC Description The iml8683 is a Three Terminal Current Controller (TTCC) for regulating the cur

iml v C / 4W Down-Light EVM - pplication Notes. IC Description The iml8683 is a Three Terminal Current Controller (TTCC) for regulating the cur iml8683-220v C / 4W Down-Light EVM - pplication Notes iml8683 220V C 4W Down Light EVM pplication Notes Table of Content. IC Description... 2 2. Features... 2 3. Package and Pin Diagrams... 2 4. pplication

More information

untitled

untitled (100V 120V 220V 230V) i ii ! (Return Lead) iii iv 1....... 1 1-1.... 1 1-2.... 2 2..... 4 3..... 3-1.... 3-2.... 3-3....... 4..... 9 5......... 5-1.LCD..... 5-2.... 5-3.... 5-4.... 6..... 6-1.... 6-2....

More information

Microsoft Word - sim6xF0xC-0225.doc

Microsoft Word - sim6xF0xC-0225.doc 8-pin 内置 EEPROM 增强型八位 FLASH 单片机 技术相关信息 应用范例 -HA0075S MCU 复位电路和振荡电路的应用范例 特性 CPU 特性 工作电压 : f SYS =8MHz:2.2V~5.5V f SYS =12MHz:2.7V~5.5V f SYS =20MHz:4.5V~5.5V V DD =5V, 系统时钟为 20MHz 时, 指令周期为 0.2µs 提供省电模式和唤醒功能,

More information

P4Dual-915GL_BIOS_CN.p65

P4Dual-915GL_BIOS_CN.p65 1 Main H/W Monitor Boot Security Exit System Overview System Time System Date Total Memory DIMM 1 DIMM 2 [ 14:00:09] [Wed 01/05/2005] BIOS Version : P4Dual-915GL BIOS P1.00 Processor Type : Intel (R) Pentium

More information

中文手册

中文手册 PCC-3428 PC/104 1. PCC-3428 1.1 PCC-3428 90mm 96mm ST CPU STPC Atlas Atlas CPU 486 DX/DX2 CPU DX2 133MHz Atlas 2D LCD/CRT 100MHz SDRAM 64MBytes PCC-3428 10/100Mbps DOC EIDE USB PC/104 ST STPC Atlas STPC

More information

Microsoft Word - LD5515_5V1.5A-DB-01 Demo Board Manual

Microsoft Word - LD5515_5V1.5A-DB-01 Demo Board Manual Subject LD5515 Demo Board Model Name (5V/1.5A) Key Features Built-In Pump Express TM Operation Flyback topology with PSR Control Constant Voltage Constant Current High Efficiency with QR Operation (Meet

More information

控制器 EtherCAT EtherCAT EtherCAT 接下一个电机驱动模块 (X4) 接下一个电机驱动模块 (X5) X11 IN X4 IN X3 OUT X5 IN X6 OUT X2 X1 X4 IN X3 OUT X5 IN X6 OUT X2 X1 SYS STA DC BUS D

控制器 EtherCAT EtherCAT EtherCAT 接下一个电机驱动模块 (X4) 接下一个电机驱动模块 (X5) X11 IN X4 IN X3 OUT X5 IN X6 OUT X2 X1 X4 IN X3 OUT X5 IN X6 OUT X2 X1 SYS STA DC BUS D 控制器 thert thert thert 接下一个电机驱动模块 () 接下一个电机驱动模块 () 电机驱动模块 电机驱动模块 电源模块 接下一个电机驱动模块 () 接下一个电机驱动模块 () 接下一个电机驱动模块 () 接下一个电机驱动模块 () X 0 X 0 4 /RK /RK 注 注 制动电阻阻值 Ω Φ 80: 适用电机驱动模块型号 8-M-XXXX--XX Φ : 适用电机驱动模块型号

More information

<4D F736F F D203034CAB5D1E9CBC D20B5C4494F20BDD3BFDACAB5D1E92E646F63>

<4D F736F F D203034CAB5D1E9CBC D20B5C4494F20BDD3BFDACAB5D1E92E646F63> 实验四 ARM 的 I/O 接口实验 一 实验目的 1. 了解 S3C44B0X 的通用 I/O 接口 2. 掌握 I/0 功能的复用并熟练的配置, 进行编程实验二 实验设备 1. EL-ARM-830 教学实验箱,PentiumII 以上的 PC 机, 仿真器电缆 2. PC 操作系统 WIN98 或 WIN2000 或 WINXP,ARM SDT2.5 或 ADS1.2 集成开发环境, 仿真器驱动程序

More information

untitled

untitled FBC0409 V1.0 1.0 05.06.22 SIA 2005 SIA SIA SIA SIA SIA 114 86-24-23970133 HTTP://WWW.SIA.CN YANG@SIA.CN 2 ...5...5...6 PIN...6...7 1 CPU...8 2...8 4...8 5 DMA...9 7....9 8...9 9...10 A...10 B...10...11.

More information

mdt1030

mdt1030 深圳市英锐恩科技有限公司 第 1 页 单片机集成方案全方位解决服务商 优质智能电子产品 芯 方案解决商 Micon MDT1030 产品用户参考手册 全球销售及服务联系信息 : 深圳市英锐恩科技有限公司 ENROO-TECH(SHENZHEN)CO.,LTD 中国 深圳市福田区福华路嘉汇新城汇商中心 27 楼 2701 室 Enroo-Tech Technologies CO., Limited Light-Tech

More information

, STC11F01-35C-SOP16 RMB 1.99 STC10F04-35C-LQFP44 R MB 2. 99

, STC11F01-35C-SOP16 RMB 1.99 STC10F04-35C-LQFP44 R MB 2. 99 , STC11F01-35C-SOP16 RMB 1.99 STC10F04-35C-LQFP44 R MB 2. 99 , STC12C5A08AD-35C-LQFP44,RMB 7.5 , STC12C5201AD-SOP16,RMB 2.49 STC12C5202AD-LQFP32,RMB 3.99 , , 0.1uF STC 89LE58 RD+ 32K 1280 16K+ 0.1uF

More information

r_09hr_practical_guide_kor.pdf

r_09hr_practical_guide_kor.pdf PRACTICAL GUIDE TO THE EDIROL R-09HR 3 4 PRACTICAL GUIDE TO THE EDIROL R-09HR 5 Situation 1 6 1 2 3 PRACTICAL GUIDE TO THE EDIROL R-09HR WAV MP3 WAV 24 bit/96 khz WAV 16 bit/44.1 khz MP3 128 kbps/44.1

More information

Microsoft Word - P SDV series.DOC

Microsoft Word - P SDV series.DOC 片式压敏电阻器 SDV 系列 Chip SDV Series Operating Temp. : -55 ~ +125 特征 SMD 结构适合高密度安装 优异的限压比, 响应时间短 (

More information

T stg -40 to 125 C V cc 3.8V V dc RH 0 to 100 %RH T a -40 to +125 C -0.3 to 3.6V V -0.3 to VDD+0.3 V -10 to +10 ma = 25 = 3V) VDD

T stg -40 to 125 C V cc 3.8V V dc RH 0 to 100 %RH T a -40 to +125 C -0.3 to 3.6V V -0.3 to VDD+0.3 V -10 to +10 ma = 25 = 3V) VDD 1/16 T stg -40 to 125 C V cc 3.8V V dc RH 0 to 100 %RH T a -40 to +125 C -0.3 to 3.6V V -0.3 to VDD+0.3 V -10 to +10 ma (@T = 25 C, @Vdd = 3V) VDD 1.8 3.0 3.6 V (1) 0.08 0.3 µa Idd 300 450 500 µa 0.25

More information

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C AUTOMATIC TROLLEY H K Hwang K K Chen J-S Lin S-C Wang M-L Li C-C Lin W-B Lin Dept. Of Electrical Engineering Far East College ABSTRACT This paper proposes an automatic trolley which can move automatically

More information

Cerris IROS

Cerris IROS 上海海栎创微电子有限公司 CSM212/216/224 数据手册 具有专用电容检测模块的 8 位单片机 Rev: V1.2 www.hynitron.com CSM212/216/224 是一款具有高性能精简指令集且集成电容触控功能的 EERPOM 型 8051 单片机 此单 片机集成有硬件触控 CDC 模块, 可多次编程的 EEPROM 存储器和常用通讯接口, 为各种触摸按键的应用 提供了一种简单而又有效的实现方法

More information

DATASHEET SEARCH SITE ==

DATASHEET SEARCH SITE == , STC 89 1280 8/16/32/64k IAP SRAM ISP P0 8 P1 8051 E 2 PROM + P2 IAP STC Data Flash P4.0P4.3 P3 MAX810 I/O P4 A/D UART A / D 3 STC 89 P I I E 2 P 4 S A ROM EMI P P STC 89C51 RC 4K 512 2K STC 89C52 RC

More information

PROTEUS VSM

PROTEUS  VSM Proteus VSM-- 1/1 PROTEUS VSM Proteus VSM ISIS Prospice VSM Proteus PROSPICE ARM7 PIC AVR HC11 8051 CPU LCD RS232 LED IAR Keil Hitech C make 6000 SPICE SPICE DLL SPICE3F5 14 FM PROTEUS PCB LED/LCD / 300

More information

MENU SYD8821: Ultra Low Power Bluetooth 4.2 Single Mode SoC General Description Key Features Applications Key Para

MENU SYD8821: Ultra Low Power Bluetooth 4.2 Single Mode SoC General Description Key Features Applications Key Para SYD8821: Ultra Low Power Bluetooth 4.2 Single Mode SoC 1.1 General Description The SYD8821 is a low power and high performance 2.4GHz Bluetooth Low Energy SoC. SYD8821 integrates all Bluetooth smart devices

More information

DL1621-1

DL1621-1 General Description: DL1621-1, 含 LCD 的控制线路, 搭配 MCU 来使用, 将使使用者的成本降低, 以及应用更加. 宽广 Features: 工作电压 2.4V-5.5V 系统频率 : - 内建 RC 振荡器 (256Khz) - 外挂 32768Hz 晶振 - 外灌 256Khz 输入 ( 由 OSCI 脚 ) 提供简单 3 pins 串接接口 (CKRB/ CKWB/

More information

Applications

Applications 概述 FM1905 是 24 点 内存映象和多功能的 LCD 驱动器,FM1905 的软件配置特性使它适用于多种 LCD 应用场合, 包括 LCD 模块和显示子系统 用于连接主控制器和 FM1905 的管脚只有 3 条,FM1905 还有一个节电命令用于降 低系统功耗 特点 工作电压 3.0 ~5.0V 内嵌 256KHz RC 振荡器 可外接 32KHz 晶片或 256KHz 频率源输入 可选 1/2

More information

128K Flash EPROM 的程序?\(Bank=64K\) 切?

128K Flash EPROM 的程序?\(Bank=64K\) 切? 应用说明 华邦 8 位单片机 (8051 内核 ) 应用说明 华邦 8 位单片机 (8051 内核 ) ANSC-UC08-0007 目录 - 1. 应用说明 :...4 1.1...4 1.2 相关寄存器介绍...4 1.2.1 串行口控制寄存器 (SCON)... 4 1.2.2 串行数据缓冲寄存器 (SBUF)... 5 1.2.3 串行口控制 1 (SCON1)... 5 1.2.4 串行数据接收缓冲

More information

Microsoft Word - AP1515V02

Microsoft Word - AP1515V02 Document No. Rev.: V0.20 Page: 1 of 9 Revision History Rev. DRN # History Initiator Effective Date V01 V02 Initial document 黃宗文 Add second package description 葉宗榮 2014/05/15 2015/09/08 Initiator: 雷晨妤 (DCC)

More information

JTAG ICE PC JTAG ICE JTAG ISP... 5 IDE AVR STUDIO JTAGICE JTAGICE... 12

JTAG ICE PC JTAG ICE JTAG ISP... 5 IDE AVR STUDIO JTAGICE JTAGICE... 12 ... 3... 3... 3... 3... 4 1JTAG ICE PC... 4 2JTAG ICE... 4 3... 4 4... 4 5JTAG... 5 6ISP... 5 IDE... 6 1 AVR STUDIO... 6 2 JTAGICE... 6 3JTAGICE... 12 4.... 16 5.... 17 6. JTAG ICE... 19 ISP... 20 1PonyProg2000...

More information

ch08.PDF

ch08.PDF 8-1 CCNA 8.1 CLI 8.1.1 8-2 8-3 8.1.21600 2500 1600 2500 / IOS 8-4 8.2 8.2.1 A 5 IP CLI 1600 2500 8-5 8.1.2-15 Windows 9598NT 2000 HyperTerminal Hilgraeve Microsoft Cisco HyperTerminal Private Edition (PE)

More information

2 12

2 12 SHENZHEN BRILLIANT CRYSTAL TECHNOLOGIC CO.,LTD. The specification for the following models Graphic LCM serial communication control board CB001 PROPOSED BY APPROVED Design Approved TEL:+86-755-29995238

More information

Microsoft Word - MSP430 Launchpad 指导书.docx

Microsoft Word - MSP430 Launchpad 指导书.docx Contents 3... 9... 14 MSP430 LAUNCHPAD 指导书 3 第一部分第一个工程 New Project File > New > CCS Project Project name: ButtonLED Device>Family: MSP430 Variant: MSP430G2553 Project templates and examples : Empty Project

More information

Huawei Technologies Co

Huawei Technologies Co Testbench Preliminary itator 1 TESTBENCH... 3 2 TESTBENCH... 3 2.1 Testbench... 3 2.2... 4 2.2.1 HDL... 4 2.2.2... 5 2.2.3 PLI... 5 2.3... 6 2.4... 6 2.4.1... 6 2.4.2... 7 3 TESTBENCH... 9 3.1 2-4... 9

More information

SST SPAC SST SoftICE SST89C5x/SST89x554RC /564RD /SST89x516/5xRD / SoftICE SoftICE MCU SoftICE SS

SST SPAC SST SoftICE SST89C5x/SST89x554RC /564RD /SST89x516/5xRD / SoftICE SoftICE MCU SoftICE SS SST SoftICE SST89C5x/SST89x554RC /564RD /SST89x516/5xRD2 1...2 1.1...2 1.2...2 1.3 /...2 2 SoftICE...2 3 SoftICE MCU...2 4 SoftICE...3 4.1 SST BootLoader SOFTICE...3 4.2 SoftICE SST MCU...6 5 SoftICE...7

More information

ARM JTAG实时仿真器安装使用指南

ARM JTAG实时仿真器安装使用指南 ARM JTAG Version 1.31 2003. 11. 12 ARM JTAG ARM JTAG.3 ARM 2.1.4 2.2.4 ARM JTAG 3.1 18 3.2 18 3.2.1 Multi-ICE Server.18 3.2.2 ADS..21 ARM JTAG 4.1 Multi-ICE Server 33 4.1.1 Multi-ICE Server..... 33 4.1.2

More information

技 术 支 持 电 话 1.800.283.5936 1.801.974.3760 传 真 1.801.977.0087 电 子 邮 件 网 址 CONVERGE PRO 880/880T/840T/8i, CON

技 术 支 持 电 话 1.800.283.5936 1.801.974.3760 传 真 1.801.977.0087 电 子 邮 件 网 址  CONVERGE PRO 880/880T/840T/8i, CON CONVERGE PRO 880 880T 840T 8i TH20 CONVERGE SR 1212 专 业 会 议 系 统 安 装 和 操 作 手 册 技 术 支 持 电 话 1.800.283.5936 1.801.974.3760 传 真 1.801.977.0087 电 子 邮 件 tech.support@clearone.com 网 址 www.clearone.com CONVERGE

More information

Microsoft Word - ha0283s_HT32F125x_ClockMonitor&Frequency

Microsoft Word - ha0283s_HT32F125x_ClockMonitor&Frequency HT32F125x 时钟监控和时钟变频 文件编码 :HA0283S 概述 简介本手册介绍了有关 HT32F125x 单片机的时钟故障检测和系统变频 HT32F125x 系列正是支持这些功能的单片机 时钟监控电路可以用来检测外部高速晶振 HSE 的时钟故障 如果 HSE 时钟出现故障, 它将被除能, 内部高速 RC 振荡器 HSI 将自动切换为系统时钟源 更多细节请参考章节 "HSE 时钟故障检测 "

More information

_NT K_SC_A5_ _print.pdf

_NT K_SC_A5_ _print.pdf The power behind competitiveness Ultron NTUPS www.deltagreentech.com.cn Ultron NT ii 1 : ---------------------------------------------------------1 2 : --------------------------------------------------------------------4

More information