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

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
FU5821T

FU5821T

  • 厂商:

    FORTIORTECH(峰岹科技)

  • 封装:

    TSSOP-16

  • 描述:

    单片机嵌入式和可配置的单相BLDC电机控制器

  • 数据手册
  • 价格&库存
FU5821T 数据手册
FU5821 Fortior Tech FU5821 MCU Embedded and Configurable Single-Phase BLDC Motor Controller Datasheet www.fortiortech.com FU5821 目 录 目 录 ................................................................................................................................................2 1 2 3 系统介绍 ................................................................................................................................... 11 1.1 特性....................................................................................................................................... 11 1.2 应用场景............................................................................................................................... 12 1.3 概述....................................................................................................................................... 12 1.4 系统框图............................................................................................................................... 12 1.4.1 FU5821T 功能框图 ............................................................................................................... 12 1.5 Memory 空间 ........................................................................................................................ 13 1.5.1 Program Memory .................................................................................................................. 13 1.5.2 Data Memory ........................................................................................................................ 13 1.5.3 SFR ......................................................................................................................................... 14 1.5.4 XSFR....................................................................................................................................... 15 引脚定义 ................................................................................................................................... 17 2.1 FU5821T TSSOP16 引脚列表 ................................................................................................ 17 2.2 FU5821T 封装-TSSOP16........................................................................................................ 19 封装信息 ................................................................................................................................... 20 3.1 TSSOP16 ................................................................................................................................ 20 4 订购信息 ................................................................................................................................... 21 5 电气特性 ................................................................................................................................... 22 6 5.1 绝对最大额定值................................................................................................................... 22 5.2 全局电气特性....................................................................................................................... 22 5.3 GPIO 电气特性 ..................................................................................................................... 23 5.4 Predriver IO 电气特性 .......................................................................................................... 23 5.5 OSC 电气特性 ....................................................................................................................... 24 5.6 复位电气特性....................................................................................................................... 24 5.7 LDO 电气特性 ....................................................................................................................... 24 5.8 封装热阻............................................................................................................................... 24 复位控制 ................................................................................................................................... 25 6.1 复位源(RST_SR) .................................................................................................................... 25 6.2 复位使能............................................................................................................................... 25 6.3 外部引脚复位、上电复位 ................................................................................................... 25 6.4 低电压侦测复位................................................................................................................... 25 REV_1.1 2 www.fortiortech.com FU5821 7 8 9 6.5 看门狗溢出复位................................................................................................................... 25 6.6 RSTFED 复位 ......................................................................................................................... 26 6.7 软复位................................................................................................................................... 26 6.8 复位寄存器........................................................................................................................... 26 6.8.1 RST_SR(0xC9) ................................................................................................................... 26 中断控制 ................................................................................................................................... 28 7.1 简介....................................................................................................................................... 28 7.2 启动中断源........................................................................................................................... 28 7.3 外部中断............................................................................................................................... 28 7.4 中断说明............................................................................................................................... 29 7.5 中断寄存器........................................................................................................................... 30 7.5.1 IE(0xA8)............................................................................................................................ 30 7.5.2 IP0(0xB8).......................................................................................................................... 30 7.5.3 IP1(0xC0).......................................................................................................................... 31 7.5.4 IP2(0xC8).......................................................................................................................... 31 7.5.5 IP3(0xD8) ......................................................................................................................... 32 7.5.6 TCON(0x88) ..................................................................................................................... 32 I2C(Inter-Integrated Circuit bus) ................................................................................................. 34 8.1 简介....................................................................................................................................... 34 8.2 操作说明............................................................................................................................... 35 8.2.1 主机模式............................................................................................................................... 35 8.2.2 从机模式............................................................................................................................... 35 8.2.3 I2C 中断源 ............................................................................................................................ 36 8.3 I2C 寄存器 ............................................................................................................................ 37 8.3.1 I2C_CR(0x4028) ............................................................................................................... 37 8.3.2 I2C_ID(0x4029) ................................................................................................................ 37 8.3.3 I2C_DR(0x402A) ............................................................................................................... 38 8.3.4 I2C_SR(0x402B) ............................................................................................................... 38 UART(Universal Asynchronous Receiver/Transmitter) ............................................................... 41 9.1 简介....................................................................................................................................... 41 9.2 UART 操作说明..................................................................................................................... 41 9.2.1 模式 0.................................................................................................................................... 41 9.2.2 模式 1.................................................................................................................................... 41 9.2.3 模式 2.................................................................................................................................... 41 REV_1.1 3 www.fortiortech.com FU5821 10 9.2.4 模式 3.................................................................................................................................... 42 9.2.5 UART 中断源......................................................................................................................... 42 9.3 UART1 寄存器....................................................................................................................... 43 9.3.1 UT_CR(0x98) .................................................................................................................... 43 9.3.2 UT_DR(0x99).................................................................................................................... 43 9.3.3 UT_BAUD(0x9A,0x9B)...................................................................................................... 44 TIM1 .......................................................................................................................................... 45 10.1 Timer1 操作说明 .................................................................................................................. 45 10.1.1 Timer 计数单元 .................................................................................................................... 46 10.1.1.1 Timer clock 控制器 ....................................................................................................... 46 10.1.1.2 基本定时器................................................................................................................... 47 10.1.1.3 重载定时器................................................................................................................... 48 10.1.1.4 过程定时器................................................................................................................... 49 10.1.2 10.1.2.1 输入滤波............................................................................................................................... 50 滤波 .............................................................................................................................. 50 10.1.3 位置检测事件....................................................................................................................... 50 10.1.4 Timer1 中断 .......................................................................................................................... 50 10.2 Timer1 寄存器 ...................................................................................................................... 51 10.2.1 TIM1_CR0(0xB1) .............................................................................................................. 51 10.2.2 TIM1_CR1(0xB2) .............................................................................................................. 52 10.2.3 TIM1_CR2(0xB3) .............................................................................................................. 52 10.2.4 TIM1_CR3(0xB4) .............................................................................................................. 53 10.2.5 TIM1_CR4(0xB5) .............................................................................................................. 53 10.2.6 TIM1_CR5(0xB6) .............................................................................................................. 54 10.2.7 TIM1_CR6(0xB7) .............................................................................................................. 55 10.2.8 TIM1_CR7(0xB8) .............................................................................................................. 55 10.2.9 TIM1_CR8(0xC1) .............................................................................................................. 56 10.2.10 TIM1_CR9(0xDC).............................................................................................................. 57 10.2.11 TIM1_CR10(0xDD) ........................................................................................................... 57 10.2.12 TIM1_IRE(0xD1) ............................................................................................................... 58 10.2.13 TIM1_SR(0xD4) ................................................................................................................ 59 10.2.14 TIM1_DBR2(0xBA) ........................................................................................................... 60 10.2.15 TIM1_DBR3(0xBB) ........................................................................................................... 61 10.2.16 TIM1_DBRB(0xDE) ........................................................................................................... 62 REV_1.1 4 www.fortiortech.com FU5821 11 12 10.2.17 TIM1__BCNTR(0xD2、0xD3) ........................................................................................... 63 10.2.18 TIM1__BCOR(0xC2、0xC3) ............................................................................................. 63 10.2.19 TIM1__RCNTR(0xBC、0xBD) ........................................................................................... 64 10.2.20 TIM1__RARR(0xBE、0xBF) .............................................................................................. 64 10.2.21 TIM1__SCNTR(0xC4、0xC5) ............................................................................................ 65 10.2.22 TIM1__SARR(0xC6、0xC7) .............................................................................................. 65 10.2.23 TIM1__FPWMDDR(0xCC、0xCD) .................................................................................... 66 10.2.24 TIM1__PWMDR(0xCA、0xCB) ........................................................................................ 66 10.2.25 TIM1__RPWMDDR(0xCE、0xCF)..................................................................................... 67 TIM2 .......................................................................................................................................... 68 11.1 TIM2 操作说明 ..................................................................................................................... 68 11.1.1 时钟控制器........................................................................................................................... 68 11.1.2 TIM2_CNTR 的读写和计数 .................................................................................................. 68 11.1.3 输出模式............................................................................................................................... 69 11.1.3.1 高/低电平输出模式 ..................................................................................................... 69 11.1.3.2 PWM 模式 .................................................................................................................... 69 11.1.3.3 中断事件....................................................................................................................... 69 11.1.4 输入信号滤波和边沿检测 ................................................................................................... 70 11.1.5 输入 timer 模式 .................................................................................................................... 71 11.2 TIM2 寄存器 ......................................................................................................................... 72 11.2.1 TIM2_CR0(0xA1) ................................................................................................................... 72 11.2.2 TIM2_CR1(0xA9) ................................................................................................................... 73 11.2.3 TIM2_CNTR(0xAB,0xAA) ....................................................................................................... 74 11.2.4 TIM2_DR(0xAC,0xAD) ........................................................................................................... 74 11.2.5 TIM2_ARR(0xAE,0xAF) .......................................................................................................... 75 TIM3 .......................................................................................................................................... 76 12.1 TIM3 操作说明 ..................................................................................................................... 76 12.1.1 时钟控制器........................................................................................................................... 76 12.1.2 TIM3_CNTR 的读写和计数 .................................................................................................. 76 12.1.3 输出模式............................................................................................................................... 77 12.1.3.1 高/低电平输出模式 ..................................................................................................... 77 12.1.3.2 PWM 模式 .................................................................................................................... 77 12.1.3.3 中断事件....................................................................................................................... 77 12.1.4 REV_1.1 输入信号滤波和边沿检测 ................................................................................................... 78 5 www.fortiortech.com FU5821 13 14 15 12.1.5 输入 timer 模式 .................................................................................................................... 79 12.2 TIM3 寄存器 ......................................................................................................................... 80 12.2.1 TIM3_CR0(0x9C).................................................................................................................... 80 12.2.2 TIM3_CR1(0x9D) ................................................................................................................... 81 12.2.3 TIM3_CNTR(0xA2,0xA3) ........................................................................................................ 82 12.2.4 TIM3_DR(0xA4,0xA5) ............................................................................................................ 82 12.2.5 TIM3_ARR(0xA7,0xA6) .......................................................................................................... 83 TIM4 .......................................................................................................................................... 84 13.1 TIM4 操作说明 ..................................................................................................................... 84 13.1.1 时钟控制器........................................................................................................................... 84 13.1.2 TIM4_CNTR 的读写和计数 .................................................................................................. 84 13.1.3 输出模式............................................................................................................................... 85 13.1.3.1 高/低电平输出模式 ..................................................................................................... 85 13.1.3.2 PWM 模式 .................................................................................................................... 85 13.1.3.3 中断事件....................................................................................................................... 85 13.1.4 输入信号滤波和边沿检测 ................................................................................................... 86 13.1.5 输入 timer 模式 .................................................................................................................... 87 13.2 TIM4 寄存器 ......................................................................................................................... 88 13.2.1 TIM4_CR0(0x9E) .................................................................................................................... 88 13.2.2 TIM4_CR1(0x9F) .................................................................................................................... 89 13.2.3 TIM4_CNTR(0x92,0x93) ........................................................................................................ 90 13.2.4 TIM4_DR(0x94,0x95)............................................................................................................. 90 13.2.5 TIM4_ARR(0x96,0x97)........................................................................................................... 91 SYS_TICK.................................................................................................................................... 92 14.1 操作说明............................................................................................................................... 92 14.2 寄存器................................................................................................................................... 92 14.2.1 DRV_SR(0xDF) ....................................................................................................................... 92 Driver ........................................................................................................................................ 93 15.1 操作说明............................................................................................................................... 93 15.1.1 简介....................................................................................................................................... 93 15.1.2 输出控制模块....................................................................................................................... 94 15.1.2.1 计数比较模块............................................................................................................... 95 15.1.2.2 死区模块....................................................................................................................... 95 15.1.2.3 主输出使能 MOE.......................................................................................................... 96 REV_1.1 6 www.fortiortech.com FU5821 15.1.2.4 15.1.2.4.1 16 17 18 中断 .............................................................................................................................. 97 比较匹配中断 ....................................................................................... 97 15.2 寄存器................................................................................................................................... 98 15.2.1 DRV_CR(0xE1) .................................................................................................................... 98 15.2.2 DRV_SR(0xDF) ....................................................................................................................... 99 15.2.3 DRV_OUT(0xF8) ................................................................................................................ 100 15.2.4 DRV_ARR(0xE4,0xE5) .......................................................................................................... 101 15.2.5 DRV_DR(0xE2,0xE3) ............................................................................................................ 101 15.2.6 DRV_DTR(0xE9) ................................................................................................................... 102 15.2.7 DRV__CNTR(0xE6,0xE7) ...................................................................................................... 102 16 Watchdog timer (WDT) ........................................................................................................ 103 16.1 WDT 使用注意事项 ............................................................................................................ 103 16.2 WDT 操作说明.................................................................................................................... 103 16.3 WDT 寄存器........................................................................................................................ 104 16.3.1 WDT_CR(0x4026)........................................................................................................... 104 16.3.2 WDT_ARR(0x4027) ........................................................................................................ 104 16.3.3 CCFG1 (0x401E) ................................................................................................................... 104 RTC 与时钟校准 ...................................................................................................................... 105 17.1 RTC 基本功能框图 ............................................................................................................. 105 17.2 RTC 操作说明 ..................................................................................................................... 105 17.3 RTC 寄存器 ......................................................................................................................... 105 17.3.1 计数寄存器:RTC_TM(0x402C,0x402D) ................................................................... 105 17.3.2 控制寄存器:RTC_STA(0x402E)................................................................................... 106 17.4 时钟校准............................................................................................................................. 106 17.4.1 简介..................................................................................................................................... 106 17.4.2 寄存器................................................................................................................................. 107 IO ............................................................................................................................................ 108 18.1 IO 简介 ................................................................................................................................ 108 18.2 IO 操作说明 ........................................................................................................................ 108 18.3 IO 寄存器 ............................................................................................................................ 109 18.3.1 P0_OE(0xFC) .................................................................................................................. 109 18.3.2 P1_OE(0xFD) .................................................................................................................. 109 18.3.3 P0_AN(0x4031) .............................................................................................................. 110 18.3.4 P1_AN(0x4030) .............................................................................................................. 110 REV_1.1 7 www.fortiortech.com FU5821 19 20 18.3.5 P0_PU(0x4033) .............................................................................................................. 111 18.3.6 P1_PU(0x4034) .............................................................................................................. 111 18.3.7 PH_SEL(0x403C)............................................................................................................. 112 18.3.8 P0(0x80)/P1(0x90) ................................................................................................... 113 ADC ......................................................................................................................................... 114 19.1 ADC 简介............................................................................................................................. 114 19.2 ADC 框图............................................................................................................................. 114 19.3 ADC 操作说明 ..................................................................................................................... 115 19.3.1 输出数据格式..................................................................................................................... 116 19.4 ADC 寄存器......................................................................................................................... 117 19.4.1 ADC_CR(0x4039)............................................................................................................ 117 19.4.2 ADC_MASK(0x4036,0x4037) ............................................................................................... 118 19.4.3 ADC_SCYC(0x4038) ............................................................................................................. 119 19.4.4 ADC0_DR(0x0100,0x0101) .................................................................................................. 120 19.4.5 ADC1_DR(0x0102,0x0103) .................................................................................................. 120 19.4.6 ADC2_DR(0x0104,0x0105) .................................................................................................. 121 19.4.7 ADC3_DR(0x0106,0x0107) .................................................................................................. 121 19.4.8 ADC4_DR(0x0108,0x0109) .................................................................................................. 122 19.4.9 ADC5_DR(0x010A,0x10B).................................................................................................... 122 19.4.10 ADC6_DR(0x010C,0x010D) ................................................................................................. 123 19.4.11 ADC7_DR(0x010E,0x010F) .................................................................................................. 123 19.4.12 ADC8_DR(0x0110,0x0111) .................................................................................................. 124 19.4.13 ADC9_DR(0x0112,0x0113) .................................................................................................. 124 19.4.14 ADC10_DR(0x0114,0x115) .................................................................................................. 125 比较器 .................................................................................................................................... 126 20.1 比较器操作说明................................................................................................................. 126 20.1.1 比较器 CMP0 ...................................................................................................................... 126 20.1.2 比较器 LOCP ....................................................................................................................... 126 20.1.2.1 母线电流保护............................................................................................................. 127 20.1.2.2 逐波限流..................................................................................................................... 127 20.1.3 比较器 HALL_COMP ........................................................................................................... 128 20.2 当 HALLP、HALLC、HALLN 全使能时,通过配置 TIM1_CR6/TIM1_CR7 中的 HALLP_REF/HALLN_REF,使得 HALLP/HALLN 的输出提前 HALLC 输出。比较器寄存器 .............. 128 20.2.1 REV_1.1 CMP_CR0(0xD5) .................................................................................................................. 129 8 www.fortiortech.com FU5821 21 22 23 24 20.2.2 CMP_CR1(0xD6) .................................................................................................................. 130 20.2.3 CMP_CR2(0xD9) .................................................................................................................. 131 20.2.4 CMP_CR3(0xDA) .................................................................................................................. 132 20.2.5 CMP_SR(0xD7) .................................................................................................................... 133 20.2.6 LCP_DR(0x403A).................................................................................................................. 134 20.2.7 OCP_DR(0x403B) ................................................................................................................. 134 20.2.8 TSD_CR(0x402F) .................................................................................................................. 135 低压检测 ................................................................................................................................. 136 21.1 简介..................................................................................................................................... 136 21.2 操作说明............................................................................................................................. 136 21.3 寄存器................................................................................................................................. 137 21.3.1 LVSR(0xDB) .......................................................................................................................... 137 FLASH ...................................................................................................................................... 138 22.1 简介..................................................................................................................................... 138 22.2 操作说明............................................................................................................................. 138 22.3 FLASH 寄存器 ..................................................................................................................... 139 22.3.1 FLA_CR ................................................................................................................................ 139 22.3.2 FLA_KEY ............................................................................................................................... 140 CRC(循环冗余校验计算单元) .............................................................................................. 141 23.1 CRC 功能框图 ..................................................................................................................... 141 23.2 CRC16 生成多项式 ............................................................................................................. 141 23.3 CRC16 基本逻辑图 ............................................................................................................. 141 23.4 操作说明............................................................................................................................. 142 23.4.1 计算单个字节的 CRC ......................................................................................................... 142 23.4.2 批量计算 ROM 数据 CRC ................................................................................................... 142 23.5 CRC 寄存器 ......................................................................................................................... 144 23.5.1 控制寄存器:CRC_CR(0x4022) .......................................................................................... 144 23.5.2 输入数据寄存器:CRC_DIN(0x4021) ................................................................................ 145 23.5.3 结果输出寄存器:CRC_DR(0x4023) ................................................................................. 145 23.5.4 自动计算起点寄存器:CRC_BEG(0x4024) ....................................................................... 146 23.5.5 自动计算块数寄存器:CRC_CNT(0x4025) ....................................................................... 146 休眠模式 ................................................................................................................................. 147 24.1 简介..................................................................................................................................... 147 24.2 PCON 寄存器 ...................................................................................................................... 148 REV_1.1 9 www.fortiortech.com FU5821 25 代码保护 ................................................................................................................................. 149 25.1 简介..................................................................................................................................... 149 25.2 操作说明............................................................................................................................. 149 Copyright Notice ............................................................................................................................. 151 REV_1.1 10 www.fortiortech.com FU5821 1 系统介绍 特性 1.1 ◼ 电源电压:5~22V ◼ 双核:8051 内核和 ME ◼ 指令周期大多为 1T 或 2T ◼ 6kB Flash ROM、带 CRC 校验功能、支持程序自烧录和代码保护功能 ◼ 256 bytes IRAM,256 bytes XRAM ◼ ME:智能引擎控制 ◼ 4 级优先级中断、15 个中断源 ◼ GPIO: FU5821T:8 个 GPIO ◼ 定时器: 3 个通用定时器 1 个 BLDC 电机专用定时器 1 个 RTC 定时器 ◼ 1 个 I2C ◼ 1 个 UART,支持反向输入模式, P1.1/RXD/TXD 支持单线模式 ◼ 模拟外设: 10 位 ADC,2uS 转换时间,参考电压为 VDD5 ADC 通道数: FU5821T:6 通道 内置 VCC 电压采样通道 3 组模拟比较器组(5 个比较器) DAC:3 路 6 位,1 路 4 位 ◼ 驱动类型: 2P2N Predriver 输出 ◼ BLDC 控制支持自动换相、逐波限流,支持 HALL、BEMF 检测 ◼ 时钟: 系统时钟为内置 24MHz±2%精准时钟 内置 32.8kHz 低速时钟 ◼ Watch-dog 两线制 FICE 协议提供在线仿真功能 REV_1.1 11 www.fortiortech.com FU5821 应用场景 1.2 有 HALL 单相直流无刷电机。 概述 1.3 FU5821 是一款集成电机控制引擎(ME)和 8051 内核的直流无刷单相电机驱动专用芯片,ME 集 成 Smart Engine 模块,可独立完成高速电机运算; 8051 内核用于参数配置和日常事务处理,双核并 行工作实现各种高性能电机控制。其中 8051 内核大部分指令周期为 1T 或 2T,芯片内部集成有高 速比较器、Pre-driver、ADC、CRC、I2C、UART、多种 TIMER、PWM 等功能,内置高压 LDO, 适用于有 HALL 单相 BLDC 电机的方波驱动控制。 FU5821 的封装形态:FU5821T(TSSOP16) 系统框图 1.4 VCC RSTN/FICEK TIMER3 TIM3 FICE RESET TIMER2 CRC TIMER1 RTC SysTic k CMP0 C0P C0M ME 8051 CORE PORT0 256 IRAM Smart Engine P1.1/TIM3/SCL/RXD/AD7 P1.2/TIM4S/TIM2/TXDS/FICED Protecti on 6K FLASH P0.6/ISEN/AD0 MUX P0.1/TIM4/SDA/TXD P0.2/HALP/AD2 P0.3/HALM/AD3 P0.4/TIM2S/C0P/AD6 TIM4 TIMER4 FICED TXD RXD UART LDO5 TIM2 SCL SDA I2C LVD VDD5 FU5821T 功能框图 1.4.1 2P2N Predriver H_PU H_PV L_U L_V VSS OCP DAC ISEN 10 Bit ADC AD0 AD2~3 AD5~7 AD10 HALM HALP WDT 24MHz FOSC x3 SYS_CLK P1.6/C0M/AD5 LCP 256 XRAM PORT1 图 1-1 FU5821T 功能框图 REV_1.1 12 www.fortiortech.com FU5821 Memory 空间 1.5 内部存储空间分为指令空间(Program Memory)和数据空间(Data Memory),两个空间独立 编址。 1.5.1 Program Memory 指令空间可寻址范围 0x0000-0x17FF,复位后 CPU 从 0x0000 开始执行。指令空间存储介质为 FLASH。 1.5.2 Data Memory 数 据 空 间 分 为 外 部 数 据 空 间 ( External Data Memory ) 和 内 部 数 据 空 间 ( Internal Data Memory&SFRs) 。 外部数据空间仅可通过 MOVX 指令访问,范围为 0x0000-0x00FF。内部数据空间如图 1-2 所示。0x00-0x1F 包含 4 组,每组 8 个寄存器;0x20~0x2F 的 16Bytes 支持 bit 寻址操作;0x300x7F 支持直接寻址和间接寻址;0x80-0xFF 间接寻址时访问的是 RAM 空间,直接寻址时访问的是 SFRs。堆栈空间位于内部数据空间。 REV_1.1 13 www.fortiortech.com FU5821 SFR 1.5.3 表 1-1 特殊功能寄存器(SFR) 地址映射 Addr 0(8) 0xF8 DRV_OUT 0xF0 B 1(9) 2(A) 3(B) 4(C) 5(D) P0_OE P1_OE 6(E) 7(F) DRV_DTR 0xE8 0xE0 ACC DRV_CR DRV_DRL DRV_DRH DRV_ARRL DRV_ARRH DRV_CNTRL DRV_CNTRH 0xD8 IP3 CMP_CR2 CMP_CR3 LVSR TIM1_CR9 TIM1_CR10 TIM1_DBRB DRV_SR 0xD0 PSW TIM1_ IER TIM1__BCNTRL TIM1__BCNTRH TIM1_SR CMP_CR0 CMP_CR1 CMP_SR 0xC8 IP2 RST_SR TIM1__PWMDRL TIM1__PWMDRH TIM1__FPWMDDRL TIM1__FPWM,DDRH TIM1_RPWMDDRL TIM1__RPWMDDRH 0xC0 IP1 TIM1_CR8 TIM1_BCORL TIM1_BCORH TIM1__SCNTRL TIM1__SCNTRH TIM1__SARRL TIM1__SARRH 0xB8 IP0 TIM1_CR7 TIM1_DBR2 TIM1_DBR3 TIM1__RCNTRL TIM1__RCNTRH TIM1__RARRL TIM1__RARRH TIM1_CR0 TIM1_CR1 TIM1_CR2 TIM1_CR3 TIM1_CR4 TIM1_CR5 TIM1_CR6 TIM2_CR1 TIM2__CNTRL TIM2__CNTRH TIM2__DRL TIM2__DRH TIM2__ARRL TIM2__ARRH TIM2_CR0 TIM3__CNTRL TIM3__CNTRH TIM3__DRL TIM3__DRH TIM3__ARRL TIM3__ARRH UT_DR UT_BAUDL UT_BAUDH TIM3_CR0 TIM3_CR1 TIM4_CR0 TIM4_CR1 TIM4__CNTRL TIM4__CNTRH TIM4__DRL TIM4__DRH TIM4__ARRL TIM4__ARRH DPL DPH FLA_KEY FLA_CR 0xB0 0xA8 IE 0xA0 0x98 UT_CR 0x90 P1 0x88 TCON 0x80 P0 SP PCON 注 1:地址低 4 位为 0 或 8 地址的寄存器可位寻址 注 2:有双下划线的寄存器需要使用一变量将其值读出,如果直接读取寄存器,那么读出来的值是不 正确的 REV_1.1 14 www.fortiortech.com FU5821 1.5.4 XSFR 表 1-2 扩展特殊功能寄存器(XSFR) 地址映射 Addr 0(8) 1(9) 2(A) 3(B) 4(C) 0x4038 ADC_SCYC ADC_CR LCP_DR OCP_DR 0x4030 P1_AN P0_AN 0x4028 I2C_CR I2C_ID 0x4020 5(D) 6(E) 7(F) PH_SEL CAL_CR0 CAL_CR1 P0_PU P1_PU ADC_MASKH ADC_MASKL I2C_DR I2C_SR RTC0TMH RTC0TML RTC0STA TSD_CR CRC_DIN CRC_CR CRC_DR CRC_BEG CRC_CNT WDT_CR WDT_REL DBG_DAT0L DBG_DAT1H DBG_DAT1L DBG_DAT2H DBG_DAT2L DBG_DAT3H DBG_DAT3L 0x4018 0x4010 0x4008 0x4000 0x0078 DBG_DAT0H 0x0080 0x0088 0x0090 0x0098 0x00a0 0x00a8 0x00b0 ME_TABLE 0x00b8 0x00c0 0x00c8 0x00d0 0x00d8 0x00e0 0x00e8 REV_1.1 15 www.fortiortech.com FU5821 Addr 0(8) 1(9) 2(A) 3(B) 4(C) 5(D) 6(E) 7(F) 0x0100 ADC0_DRH ADC0_DRL ADC1_DRH ADC1_DRL ADC2_DRH ADC2_DRL ADC3_DRH ADC3_DRL 0x0108 ADC4_DRH ADC4_DRL ADC5_DRH ADC5_DRL ADC6_DRH ADC6_DRL ADC7_DRH ADC7_DRL 0x0110 ADC8_DRH ADC8_DRL ADC9_DRH ADC9_DRL ADC10_DRH ADC10_DRL 0x00f0 0x00f8 注 1:有双下划线的寄存器需要使用一变量将其值读出,如果直接读取寄存器,那么读出来的值是不正确的。 芯片 SFR 分为两部分,一部分映射在内部数据空间的 SFR 区域,一部分映射在外部数据空间。 REV_1.1 16 www.fortiortech.com FU5821 2 引脚定义 FU5821T TSSOP16 引脚列表 2.1 FU5821T TSSOP16 IO 类型 功能描述 P0.1/ TIM4/ SDA/ TXD 1 DB/ DO/ DB/ DO GPIO P0.1,可配置外部中断 0 输入,输出为集电极开漏输 出 Timer4 输出,集电极开路输出 I2C SDA 数据,集电极开路输出 UART TXD 输出 H_PU 2 DO 2P2N 模式 Predriver 上桥 U 相电压输出,内置上拉电阻 H_PV 3 DO 2P2N 模式 Predriver 上桥 V 相电压输出,内置上拉电阻 L_U 4 DO 2P2N 模式 Predriver 下桥 U 相电压输出,内置下拉电阻 L_V 5 DO 2P2N 模式 Predriver 下桥 V 相电压输出,内置下拉电阻 VCC 6 P 电源输入,外接 2.2uF 或更大滤波电容 VSS 7 P 数字地 VDD5 8 P 中压电源输入或内部 5V LDO 输出电源, 外接 1~4.7uF/10V 电容. RSTN/ FICEK 9 DI/ DI 外部复位输入,内置上拉电阻 FICE 调试接口时钟端 10 DB/ DO/ DB/ DO/ DB GPIO P1.2,可配置外部中断 0/1 输入 Timer4 功能转移后输出 Timer2 捕获模式输入或者 PWM 输出 UART 功能转移后 TXD 输出 FICE 数据端口 11 DB/ AI/ AI GPIO P1.6,可配置外部中断 1 输入 比较器 C0 负入端 ADC 通道 5 输入 12 DB/ DB/ AI/ AI GPIO P0.4,可配置外部中断 0/1 输入 Timer2 功能转移后捕获模式输入或者 PWM 输出 比较器 C0 正输入端 ADC 通道 6 输入 13 DI/ AI/ AI 输入端口 P0.6 母线电流检测输入 ADC 通道 0 输入 14 DB/ AI/ AI GPIO P0.2,用于 HALL 逻辑电平输入 差分 HALL 正输入 ADC 通道 2 输入 PAD 名称 P1.2/ TIM4S/ TIM2/ TXDS/ FICED P1.6/ C0M/ AD5 P0.4/ TIM2S/ C0P/ AD6 P0.6/ ISEN/AD0 P0.2/ HALP/ AD2 REV_1.1 17 www.fortiortech.com FU5821 PAD 名称 FU5821T TSSOP16 IO 类型 15 DB/AI/ AI 16 DI/ DI/ DB/ DI/ AI P0.3/ HALM/ AD3 P1.1/ TIM3/SCL/ RXD/ AD7 功能描述 GPIO P0.3 差分 HALL 负输入 ADC 通道 3 输入 GPIO P1.1,可配置外部中断 0/1 输入,可配置输入上拉或 下拉 Timer3 捕获模式输入 I2C SCL 时钟,集电极开路输出 UART RXD 输入 ADC 通道 7 输入 注: IO 类型说明: DI = 数字输入 DO = 数字输出 DB = 数字双向 AI = 模拟输入 AO = 模拟输出 P = 电源 REV_1.1 18 www.fortiortech.com FU5821 FU5821T 封装-TSSOP16 2.2 1 16 P1.1/TIM3/SCL/RXD/AD7 H_PU 2 15 P0.3/HALM/AD3 H_PV 3 14 P0.2/HALP/AD2 L_U 4 13 P0.6/ISEN/AD0 L_V 5 12 P0.4/TIM2S/C0P/AD6 VCC 6 11 P1.6/C0M/AD5 VSS 7 10 P1.2/TIM4S/TIM2/TXDS/FICED VDD5 8 9 RSTN/FICEK FU5821 P0.1/TIM4/SDA/TXD 图 2-1 FU5821T 封装-TSSOP16 REV_1.1 19 www.fortiortech.com FU5821 3 封装信息 3.1 TSSOP16 图 3-1 TSSOP16 封装尺寸图 REV_1.1 20 www.fortiortech.com FU5821 4 订购信息 表 4-1 产品型号选择 REV_1.1 24 6K √ — √ — — √ — √ √ 21 模拟外设 DAC √ √ — GPIO DMA I2C/UART ADC EMC Mode Table Look-up 驱动类型 Soft Switch 外 部 慢 时 钟 PWM 内 部 慢 时 钟 P+N Predriver 外 部 快 时 钟 N+N Predriver XRAM(Byte) 256 内 部 快 时 钟 驱动接口 8 定 时 通 个 位 个 位 器 道 数 数 数 数 数 5 1 6 1 0 4 6 / 4 VREF FU5821T FLASH(kByte) 型号 MIPS(Peak) 时钟电路 比 无 运 较 铅 放 器 — — 5 √ 封装 TSSOP 20 www.fortiortech.com FU5821 电气特性 5 绝对最大额定值 5.1 表 5-1 绝对最大额定值 最 小 典 型 值 值 参数 条件 最大值 单位 工作时环境温度 TA VCC TIM2_ARR,输出比较信号 TIM2_OC 始 终为低电平;配置 TIM2_CR0 寄存器的 T2_OCM = 1,TIM2_DR > TIM2_ARR,输出比较信号 TIM2_OC 始终为高电平; 需要注意的是,只能通过配置 TIM2_DR > TIM2_ARR 能达到长期输出高/低电平的效果。配置 TIM2_DR=0 会有 1 个时钟周期的脉冲。 11.1.3.2 PWM 模式 PWM 模 式 根 据 TIM2_ARR 决 定 PWM 周 期 , TIM2_DR 决 定 占 空 比 , 占 空 比 =TIM2_DR/TIM2_ARR x 100%。配置 TIM2_CR0 寄存器的 T2_OCM= 0,输出根据 TIM2_DR 寄存 器和数值 TIM2_CNTR 的比较结果(TIM2_CNTR<TIM2_DR)输出低电平,反之输出高电平。配 置 TIM2_CR0 寄存器的 T2_OCM= 1,输出根据 TIM2_DR 寄存器和数值 TIM2_CNTR 的比较结果 (TIM2_CNTR<TIM2_DR)输出高电平,反之输出低电平。 11.1.3.3 中断事件 a) 当 TIM2_CNTR = TIM2_DR,产生比较匹配事件,中断标记 TIM2_CR1 寄存器的 T2IR 置 一,计数器接着计数; b) 当 TIM2_CNTR = TIM2_ARR,产生上溢事件,中断标记 TIM2_CR1 寄存器的 T2IF 置一, 计数器清零,根据 TIM2_CR0 寄存器的 T2OPM 是否重新计数,T2OPM=1,停止计数;T2OPM=0, 重新计数。 REV_1.1 69 www.fortiortech.com FU5821 TIM2_CNTR 0000 0001 0002 103B 103C 103D TIM2_DR 103C TIM2_ARR 3002 3000 3001 0000 0001 TIM2_OC (T2OCM=0) TIM2_OC (T2OCM=1) T2IR T2IF match overflow 图 11-2 输出模式输出波形 11.1.4 输入信号滤波和边沿检测 T2NM 0 TI from GPIO 1 FILTER TI_NEG EDGE ↓ DETECTOR TI_POS ↑ 图 11-3 输入信号滤波和边沿检测框图 TIM2 的输入信号由外部 PIN 脚输入,输入可选择是否进行噪声滤波,边沿检测模块检测输入的 上升沿和下降沿供下一模块使用。 CLK Before Filter After Filter 4clk 4clk 4clk 图 11-4 滤波模块时序图 滤波电路可以根据 TIM2_CR1 寄存器的 T2_NM 可以选择滤波脉宽为 4/8/16 时钟周期的输入噪 声。使能滤波功能,滤波后的信号比滤波前的信号大概延迟 4/8/16 个时钟周期 REV_1.1 70 www.fortiortech.com FU5821 11.1.5 输入 timer 模式 T2DR T2FE T2OCM 0 TI from GPIO FILTER 1 T2OPM CLOCK CONTROL T2PSC T2IP TI_NEG EDGE ↓ DETECTOR TI_POS ↑ clk T2ARR CNTR T2IR T2IF COUNTER T2CEN clk_psc 图 11-5 输入 timer 模式原理框图 输入 timer 模式检测 PWM 信号脉宽和一个周期的时长, (根据 T2OCM =0 选择相邻两个上升 沿为 1 个周期,上升沿到下降沿为脉宽(高电平脉宽);T2OCM=1 选择相邻相邻两个下降沿为 1 个 周期,下降沿到上升沿为脉宽(低电平脉宽)),分别将计数值 TIM2_CNTR 存在 TIM2_DR 和 TIM2_ARR;输入信号可选择是否滤波; TI TI_NEG TI_POS TIM2_CNTR TIM2_DR XXXX 0000 0001 103B 103C 103D 0000 3000 3001 0000 103C XXXX TIM2_ARR 0001 3001 T2IR T2IP H level software start clear H level detect period detect 图 11-6 输入 timer 模式(T2OCM=0)时序图 以 T2OCM=0 为例,配置 TIM2_CR1 寄存器的 T2CEN = 1 使能计数器,计数器向上计数; 当检测到输入的下降沿时,即输入的高电平检测完毕,此时将 TIM2_CNTR 的值存进 TIM2_DR, 同时中断标记 TIM2_CR1 寄存器的 T2IR 置一,TIM2_CNTR 接着向上计数; 当检测到输入的第二个上升沿时,当检测到输入的一个 PWM 周期时,此时将 TIM2_CNTR 的 值存进 TIM2_ARR,同时中断标记 TIM2_CR1 寄存器的 T2IP 置一,TIM2_CNTR 清零,根据 TIM2_CR0 寄存器的 T2OPM 是否重新计数,T2OPM=1,停止计数;T2OPM=0,重新计数。 当 timer 尚未检测到输入的第二个上升沿,计数值 TIM2_CNTR 达到 0xFFFF,发生上溢事件, 中断标记 TIM2_CR1 寄存器的 T2IF 置一,TIM2_CNTR 清零,根据 TIM2_CR0 寄存器的 T2OPM 是否重新计数,T2OPM=1,停止计数;T2OPM=0,重新计数。 REV_1.1 71 www.fortiortech.com FU5821 11.2 11.2.1 TIM2 寄存器 TIM2_CR0(0xA1) 表 11-2 TIM2_CR0(0xA1) 位 7 名称 RSV 类型 R R/W 复位值 0 0 字段 名称 [7] RSV 6 5 4 3 2 1 0 TOCM TIRE RSV TOPM TMOD R/W R/W R R R/W R/W 0 0 0 0 0 0 TPSC 描述 保留 计数器时钟分频选择 这些位用于对 MCU 时钟进行 N 分频作为基本计数器的计数时钟,假设 MCU 时钟为 [6:5] TPSC 24MHz(41.67ns) 00:0x01 (24MHz) 01:0x04(6MHz) 10:0x10 (1.5MHz) 11:0x40(375KHz) 输出模式:比较模式选择 0:TIM2_CNTR<TIM2_DR,输出 0;TIM2_CNTR≥TIM2_DR,输出 1 [4] TOCM 1:TIM2_CNTR<TIM2_DR,输出 1;TIM2_CNTR≥TIM2_DR,输出 0 输入 timer 模式:周期沿选择 0:相邻两个上升沿为 1 个周期,上升沿到下降沿为脉宽(高电平脉宽) 1:相邻两个下降沿为 1 个周期,下降沿到上升沿为脉宽(低电平脉宽) 输出模式:比较匹配中断使能 [3] TIRE 输入 timer 模式:脉宽检测中断使能 0: 禁止事件中断; 1: 使能事件中断; [2] RSV 保留 单次模式 下列事件发生 [1] TOPM 输出模式:计数器上溢事件 输入 timer 模式:PWM 周期检测或计数器上溢事件 0:在发生更新事件时,计数器不停止; 1:在发生更新事件时,计数器停止(清除 T2CEN)。 工作模式选择 [0] TMOD 0:输入 timer 模式 1:输出模式 REV_1.1 72 www.fortiortech.com FU5821 TIM2_CR1(0xA9) 11.2.2 表 11-3 TIM2_CR1(0xA9) 位 7 6 5 4 3 2 1 名称 TIR TIP TIF TIPE TIFE 类型 R/W0 R/W0 R/W0 R/W0 R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 TINM 0 TEN 描述 输出模式:比较匹配标记 当计数器值 TIM2_CNTR 与比较值 TIM2_DR 匹配时该位由硬件置 1。它由软件清 0。 输入 timer 模式:脉宽检测标记 [7] TIR timer 检测到输入脉宽(根据 T2OCM 选择即上升沿到下降沿或者下降沿到上升沿) , 该位由硬件置 1。它由软件清 0。 0:无事件发生; 1:事件发生。 输出模式:无 输入 timer 模式:PWM 周期检测标记 [6] TIP timer 检测到输入一个 PWM 周期(根据 T2OCM 选择即上升沿到上升沿或者下降沿到 下降沿) ,该位由硬件置 1。它由软件清 0。 0:无事件发生; 1:事件发生。 输出模式:计数器上溢标记 当计数器值 TIM2_CNTR 与比较值 TIM2_ARR 匹配时,TIM2_CNTR 清零,该位由硬 件置 1。它由软件清 0。 输入 timer 模式:计数器上溢标记 [5] TIF Timer 尚 未 检 测 到 输 入 一 个 PWM 周 期 ( 即 上 升 沿 到 上 升 沿 ), 而 计 数 器 的 值 TIM2_CNTR 累加到 0xFFFF,产生上溢事件,TIM2_CNTR 清零,该位由硬件置 1。 它由软件清 0。 0:无事件发生; 1:事件发生。 输出模式:无 [4] TIPE 输入 timer 模式:PWM 周期检测中断使能 0: 禁止事件中断; 1: 使能事件中断 输出模式:计数器上溢中断使能 [3] TIFE 输入 timer 模式:计数器上溢中断使能 0: 禁止更新事件中断; 1: 使能更新事件中断 输入噪声脉宽选择,当噪声的脉宽小于设定值,噪声会被滤除 00:不滤波 [2:1] TINM 01:4 个系统时钟周期 10:8 个系统时钟周期 11:16 个系统时钟周期 REV_1.1 73 www.fortiortech.com FU5821 基本计数器使能 [0] TEN 0:禁止计数器; 1:使能计数器 11.2.3 TIM2_CNTR(0xAB,0xAA) 表 11-4 TIM2_CNTRH(0xAB)TIM2_CNTRL(0xAA) TIM2__CNTR(0xAB,0xAA) TIM2__CNTRH(0xAB) 位 7 6 5 4 3 2 1 0 TIM2__CNTRH 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 3 2 1 0 TIM2__CNTRL(0xAA) 7 位 6 5 4 TIM2__CNTRL 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 [15:0] 11.2.4 描述 TIM2__CNTR 基本计数器的计数值 TIM2_DR(0xAC,0xAD) 表 11-5 TIM2_DRH(0xAD)TIM2_DRL(0xAC) TIM2__DR(0xAD,0xAC) TIM2__DRH(0xAD) 位 7 6 5 4 3 2 1 0 TIM2__DRH 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 3 2 1 0 TIM2__DRL(0xAC) 位 7 6 5 4 TIM2__DRL 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 输出模式:比较匹配值(软件写),FG 模式参考 FG 输出产生 [15:0] TIM2__DR 输入 timer 模式:检测到输入脉宽(根据 T2OCM 选择即上升沿到下降沿或者下降沿 到上升沿)的计数值(硬件写) REV_1.1 74 www.fortiortech.com FU5821 11.2.5 TIM2_ARR(0xAE,0xAF) 表 11-6 TIM2_ARRH(0xAF)TIM2_ARRL(0xAE) TIM2__ARR(0xAE,0xAF) TIM2__ARRH(0xAF) 位 7 6 5 4 3 2 1 0 TIM2__ARRH 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 3 2 1 0 TIM2__ARRL(0xAE) 位 7 6 5 4 TIM2__ARRL 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 输出模式:重载值(软件写) ,FG 模式参考 FG 输出产生 [15:0] TIM2__ARR 输入 timer 模式:检测到一个 PWM 周期(根据 T2OCM 选择即上升沿到上升沿或者 下降沿到下降沿)的计数值(硬件写) REV_1.1 75 www.fortiortech.com FU5821 12 TIM3 12.1 TIM3 操作说明 TIM3 支持输出和输入 timer 两种模式: 1. 输出模式:产生输出波形(PWM, 单次模式) 2. 输入 timer 模式:检测输入 PWM 的高低电平持续时间,可用于算出 PWM 占空比 TIM3 主要特性包括: 12.1.1 1. 2-bit 可编程分频器对基本计数器的计数时钟进行分频 2. 16 位向上计数的基本计数器,计数时钟源为时钟控制器的输出 3. 输入滤波模块 4. 边沿检测模块 5. 输出模块产生 PWM、单次比较输出 6. 中断事件产生 时钟控制器 时钟控制器用于产生基本定时器的计数时钟源,由预分频器对计数时钟进行分频。预分频器基 于一个由 2 位寄存器 PSC 控制的 8 位计数器,可选择 4 种分频系数,时钟源为内部时钟。由于这 个控制寄存器没有缓冲器,分频系数改变会立刻更新,所以应该在基本定时器不工作时更新分频系 数。 计数器的频率可以由下式计算: fCK_CNT=fCK_PSC/T3PSC 表 12-1 寄存器 T3PSC 不同的值对应不同的时钟频率 T2PSC 系数(16进制) CLK(Hz) 00 0x01 48M 01 0x04 6M 10 0x10 1.5M 11 0x40 375K 12.1.2 TIM3_CNTR 的读写和计数 TIM3_CNTR 计数仅在 T3CEN=1 时进行。软件对 TIM3_CNTR 的写操作是直接改变寄存器的 值,因此软件需在计数不使能时执行写操作。软件读 TIM3_CNTR 时,先读高字节,硬件不会将此 时刻低字节缓存,因此软件需在计数不使能时执行读操作。 REV_1.1 76 www.fortiortech.com FU5821 12.1.3 输出模式 T3ARR T3OCM T3OPM clk T3PSC CLOCK CONTROL T3DR T3CEN = CNTR T3IR oc ocn COUNTER clk_psc 0 timx_oc 1 T3IF 图 12-1 输出模式原理框图 输出模式根据配置 TIM3_CR0 寄存器的 T3_OCM 和比较结果产生输出信号,同时产生相应中 断。 12.1.3.1 高/低电平输出模式 配置 TIM3_CR0 寄存器的 T3_OCM= 0,TIM3_DR > TIM3_ARR,输出比较信号 TIM3_OC 始 终为低电平;配置 TIM3_CR0 寄存器的 T3_OCM = 1,TIM3_DR > TIM3_ARR,输出比较信号 TIM3_OC 始终为高电平; 需要注意的是,只能通过配置 TIM3_DR > TIM3_ARR 能达到长期输出高/低电平的效果。配置 TIM3_DR=0 会有 1 个时钟周期的脉冲。 12.1.3.2 PWM 模式 PWM 模 式 根 据 TIM3_ARR 决 定 PWM 周 期 , TIM3_DR 决 定 占 空 比 , 占 空 比 =TIM3_DR/TIM3_ARR x 100%。配置 TIM3_CR0 寄存器的 T3_OCM= 0,输出根据 TIM3_DR 寄存 器和数值 TIM3_CNTR 的比较结果(TIM3_CNTR<TIM3_DR)输出低电平,反之输出高电平。配置 TIM3_CR0 寄存器的 T3_OCM= 1,输出根据 TIM3_DR 寄存器和数值 TIM3_CNTR 的比较结果 (TIM3_CNT R<TIM3_DR)输出高电平,反之输出低电平。 12.1.3.3 中断事件 a) 当 TIM3_CNTR = TIM3_DR,产生比较匹配事件,中断标记 TIM3_CR1 寄存器的 T3IR 置 一,计数器接着计数; b) 当 TIM3_CNTR = TIM3_ARR,产生上溢事件,中断标记 TIM3_CR1 寄存器的 T3IF 置一, 计数器清零,根据 TIM3_CR0 寄存器的 T3OPM 是否重新计数,T3OPM=1,停止计数;T3OPM=0, 重新计数。 REV_1.1 77 www.fortiortech.com FU5821 TIM3_CNTR 0000 0001 0002 103B 103C 103D TIM3_DR 103C TIM3_ARR 3002 3000 3001 0000 0001 TIM3_OC (T3OCM=0) TIM3_OC (T3OCM=1) T3IR T3IF match overflow 图 12-2 输出模式输出波形 12.1.4 输入信号滤波和边沿检测 T3NM 0 TI from GPIO 1 FILTER TI_NEG EDGE ↓ DETECTOR TI_POS ↑ 图 12-3 输入信号滤波和边沿检测框图 TIM3 的输入信号由外部 PIN 脚输入,输入可选择是否进行噪声滤波,边沿检测模块检测输入的 上升沿和下降沿供下一模块使用。 CLK Before Filter After Filter 4clk 4clk 4clk 图 12-4 滤波模块时序图 滤波电路可以根据 TIM3_CR1 寄存器的 T3_NM 可以选择滤波脉宽为 4/8/16 时钟周期的输入噪 声。使能滤波功能,滤波后的信号比滤波前的信号大概延迟 4/8/16 个时钟周期 REV_1.1 78 www.fortiortech.com FU5821 12.1.5 输入 timer 模式 T3DR T3FE T3OCM 0 TI from GPIO FILTER 1 T3OPM CLOCK CONTROL T3PSC T3IP TI_NEG EDGE ↓ DETECTOR TI_POS ↑ clk T3ARR CNTR T3IR T3IF COUNTER T3CEN clk_psc 图 12-5 输入 timer 模式原理框图 输入 timer 模式检测 PWM 信号脉宽和一个周期的时长, (根据 T3OCM =0 选择相邻两个上升 沿为 1 个周期,上升沿到下降沿为脉宽(高电平脉宽);T3OCM=1 选择相邻相邻两个下降沿为 1 个 周期,下降沿到上升沿为脉宽(低电平脉宽)),分别将计数值 TIM3_CNTR 存在 TIM3_DR 和 TIM3_ARR;输入信号可选择是否滤波; TI TI_NEG TI_POS TIM3_CNTR TIM3_DR XXXX 0000 0001 103B 103C 103D 0000 3000 3001 0000 103C XXXX TIM3_ARR 0001 3001 T3IR T3IP H level software start clear H level detect period detect 图 12-6 输入 timer 模式(T3OCM=0)时序图 以 T3OCM=0 为例,配置 TIM3_CR1 寄存器的 T3CEN = 1 使能计数器,计数器向上计数; 当检测到输入的下降沿时,即输入的高电平检测完毕,此时将 TIM3_CNTR 的值存进 TIM3_DR, 同时中断标记 TIM3_CR1 寄存器的 T3IR 置一,TIM3_CNTR 接着向上计数; 当检测到输入的第二个上升沿时,当检测到输入的一个 PWM 周期时,此时将 TIM3_CNTR 的 值存进 TIM3_ARR,同时中断标记 TIM3_CR1 寄存器的 T3IP 置一,TIM3_CNTR 清零,根据 TIM3_CR0 寄存器的 T3OPM 是否重新计数,T3OPM=1,停止计数;T3OPM=0,重新计数。 当 timer 尚未检测到输入的第二个上升沿,计数值 TIM3_CNTR 达到 0xFFFF,发生上溢事件, 中断标记 TIM3_CR1 寄存器的 T3IF 置一,TIM3_CNTR 清零,根据 TIM3_CR0 寄存器的 T3OPM 是否重新计数,T3OPM=1,停止计数;T3OPM=0,重新计数。 REV_1.1 79 www.fortiortech.com FU5821 12.2 12.2.1 TIM3 寄存器 TIM3_CR0(0x9C) 表 12-2 TIM3_CR0(0x9C) 位 7 名称 RSV 类型 R R/W 复位值 0 0 字段 名称 [7] RSV 6 5 4 3 2 1 0 TOCM TIRE RSV TOPM TMOD R/W R/W R/W R R/W R/W 0 0 0 0 0 0 TPSC 描述 保留 计数器时钟分频选择 这些位用于对 MCU 时钟进行 N 分频作为基本计数器的计数时钟 [6:5] TPSC 00:0x01 (24MHz) 01:0x04(6MHz) 10:0x10 (1.5MHz) 11:0x40(375KHz) 注:TIM3 的输入 timer 模式下,00 对应的是 48MHz 输出模式:比较模式选择 0:TIM3_CNTR<TIM3_DR,输出 0;TIM3_CNTR≥TIM3_DR,输出 1 [4] TOCM 1:TIM3_CNTR<TIM3_DR,输出 1;TIM3_CNTR≥TIM3_DR,输出 0 输入 timer 模式:周期沿选择 0:相邻两个上升沿为 1 个周期,上升沿到下降沿为脉宽(高电平脉宽) 1:相邻两个下降沿为 1 个周期,下降沿到上升沿为脉宽(低电平脉宽) 输出模式:比较匹配中断使能 [3] TIRE 输入 timer 模式:脉宽检测中断使能 0: 禁止事件中断; 1: 使能事件中断; [2] RSV 保留 单次模式 下列事件发生 [1] TOPM 输出模式:计数器上溢事件 输入 timer 模式:PWM 周期检测或计数器上溢事件 0:在发生更新事件时,计数器不停止; 1:在发生更新事件时,计数器停止(清除 T3CEN)。 工作模式选择 [0] TMOD 0:输入 timer 模式 1:输出模式 REV_1.1 80 www.fortiortech.com FU5821 TIM3_CR1(0x9D) 12.2.2 表 12-3 TIM3_CR1(0xA9) 位 7 6 5 4 3 2 1 0 名称 TIR TIP TIF TIPE TIFE 类型 R/W0 R/W0 R/W0 R/W0 R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 T3CEN TINM 描述 输出模式:比较匹配标记 当计数器值 TIM3_CNTR 与比较值 TIM3_DR 匹配时该位由硬件置 1。它由软件清 0。 输入 timer 模式:脉宽检测标记 [7] TIR timer 检测到输入脉宽(根据 T3OCM 选择即上升沿到下降沿或者下降沿到上升沿) , 该位由硬件置 1。它由软件清 0。 0:无事件发生; 1:事件发生。 输出模式:无 输入 timer 模式:PWM 周期检测标记 [6] TIP timer 检测到输入一个 PWM 周期(根据 T3OCM 选择即上升沿到上升沿或者下降沿到 下降沿) ,该位由硬件置 1。它由软件清 0。 0:无事件发生; 1:事件发生。 输出模式:计数器上溢标记 当计数器值 TIM3_CNTR 与比较值 TIM3_ARR 匹配时,TIM3_CNTR 清零,该位由硬 件置 1。它由软件清 0。 输入 timer 模式:计数器上溢标记 [5] TIF Timer 尚 未 检 测 到 输 入 一 个 PWM 周 期 ( 即 上 升 沿 到 上 升 沿 ), 而 计 数 器 的 值 TIM3_CNTR 累加到 0xFFFF,产生上溢事件,TIM3_CNTR 清零,该位由硬件置 1。 它由软件清 0。 0:无事件发生; 1:事件发生。 输出模式:无 [4] TIPE 输入 timer 模式:PWM 周期检测中断使能 0: 禁止事件中断; 1: 使能事件中断 输出模式:计数器上溢中断使能 [3] TIFE 输入 timer 模式:计数器上溢中断使能 0: 禁止更新事件中断; 1: 使能更新事件中断 输入噪声脉宽选择,当噪声的脉宽小于设定值,噪声会被滤除 00:不滤波 [2:1] TINM 01:4 个系统时钟周期 10:8 个系统时钟周期 11:16 个系统时钟周期 REV_1.1 81 www.fortiortech.com FU5821 基本计数器使能 T3CEN [0] 0:禁止计数器; 1:使能计数器 12.2.3 TIM3_CNTR(0xA2,0xA3) 表 12-4 TIM3_CNTRH(0xA3)TIM3_CNTRL(0xA2) TIM3__CNTR(0xA3,0xA2) TIM3__CNTRH(0xA3) 7 位 6 5 4 3 2 1 0 TIM3__CNTRH 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 3 2 1 0 TIM3__CNTRL(0xA2) 7 位 6 5 4 TIM3__CNTRL 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 [15:0] 12.2.4 描述 TIM3__CNTR 基本计数器的计数值 TIM3_DR(0xA4,0xA5) 表 12-5 TIM3_DRH(0xA5)TIM3_DRL(0xA4) TIM3__DR(0xA5,0xA4) TIM3__DRH(0xA5) 位 7 6 5 4 3 2 1 0 TIM3__DRH 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 3 2 1 0 TIM3__DRL(0xA4) 位 7 6 5 4 TIM3__DRL 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 输出模式:比较匹配值(软件写),FG 模式参考 FG 输出产生 [15:0] TIM3__DR 输入 timer 模式:检测到输入脉宽(根据 T3OCM 选择即上升沿到下降沿或者下降沿 到上升沿)的计数值(硬件写) REV_1.1 82 www.fortiortech.com FU5821 12.2.5 TIM3_ARR(0xA7,0xA6) 表 12-6 TIM3_ARRH(0xA7)TIM3_ARRL(0xA6) TIM3__ARR(0xA6,0xA7) TIM3__ARRH(0xA7) 位 7 6 5 4 3 2 1 0 TIM3__ARRH 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 3 2 1 0 TIM3__ARRL(0xA6) 位 7 6 5 4 TIM3__ARRL 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 输出模式:重载值(软件写) ,FG 模式参考 FG 输出产生 [15:0] TIM3__ARR 输入 timer 模式:检测到一个 PWM 周期(根据 T3OCM 选择即上升沿到上升沿或者 下降沿到下降沿)的计数值(硬件写) REV_1.1 83 www.fortiortech.com FU5821 13 TIM4 13.1 TIM4 操作说明 TIM4 支持输出和输入 timer 两种模式: 1. 输出模式:产生输出波形(PWM, 单次模式) 2. 输入 timer 模式:检测输入 PWM 的高低电平持续时间,可用于算出 PWM 占空比 TIM4 主要特性包括: 13.1.1 1. 2-bit 可编程分频器对基本计数器的计数时钟进行分频 2. 16 位向上计数的基本计数器,计数时钟源为时钟控制器的输出 3. 输入滤波模块 4. 边沿检测模块 5. 输出模块产生 PWM、单次比较输出 6. 中断事件产生 时钟控制器 时钟控制器用于产生基本定时器的计数时钟源,由预分频器对计数时钟进行分频。预分频器基 于一个由 2 位寄存器 PSC 控制的 8 位计数器,可选择 4 种分频系数,时钟源为内部时钟。由于这 个控制寄存器没有缓冲器,分频系数改变会立刻更新,所以应该在基本定时器不工作时更新分频系 数。 计数器的频率可以由下式计算: fCK_CNT=fCK_PSC/T4PSC 假设 MCU 时钟为 24MHz(41.67ns) 表 13-1 寄存器 T4PSC 不同的值对应不同的时钟频率 T2PSC 系数(16进制) CLK(Hz) 00 0x01 24M 01 0x04 6M 10 0x10 1.5M 11 0x40 375K 13.1.2 TIM4_CNTR 的读写和计数 TIM4_CNTR 计数仅在 T4CEN=1 时进行。软件对 TIM4_CNTR 的写操作是直接改变寄存器的 值,因此软件需在计数不使能时执行写操作。软件读 TIM4_CNTR 时,先读高字节,硬件不会将此 时刻低字节缓存,因此软件需在计数不使能时执行读操作。 REV_1.1 84 www.fortiortech.com FU5821 13.1.3 输出模式 T4ARR T4OCM T4OPM clk T4PSC CLOCK CONTROL T4DR T4CEN = CNTR T4IR oc ocn COUNTER clk_psc 0 timx_oc 1 T4IF 图 13-1 输出模式原理框图 输出模式根据配置 TIM4_CR0 寄存器的 T4_OCM 和比较结果产生输出信号,同时产生相应中 断。 13.1.3.1 高/低电平输出模式 配置 TIM4_CR0 寄存器的 T4_OCM= 0,TIM4_DR > TIM4_ARR,输出比较信号 TIM4_OC 始 终为低电平;配置 TIM4_CR0 寄存器的 T4_OCM = 1,TIM4_DR > TIM4_ARR,输出比较信号 TIM4_OC 始终为高电平; 需要注意的是,只能通过配置 TIM4_DR > TIM4_ARR 能达到长期输出高/低电平的效果。配置 TIM4_DR=0 会有 1 个时钟周期的脉冲。 13.1.3.2 PWM 模式 PWM 模 式 根 据 TIM4_ARR 决 定 PWM 周 期 , TIM4_DR 决 定 占 空 比 , 占 空 比 =TIM4_DR/TIM4_ARR x 100%。配置 TIM4_CR0 寄存器的 T4_OCM= 0,输出根据 TIM4_DR 寄存 器和数值 TIM4_CNTR 的比较结果(TIM4_CNTR<TIM4_DR)输出低电平,反之输出高电平。配置 TIM4_CR0 寄存器的 T4_OCM= 1,输出根据 TIM4_DR 寄存器和数值 TIM4_CNTR 的比较结果 (TIM4_CNTR<TIM4_DR)输出高电平,反之输出低电平。 13.1.3.3 中断事件 a) 当 TIM4_CNTR = TIM4_DR,产生比较匹配事件,中断标记 TIM4_CR1 寄存器的 T4IR 置 一,计数器接着计数; b) 当 TIM4_CNTR = TIM4_ARR,产生上溢事件,中断标记 TIM4_CR1 寄存器的 T4IF 置一, 计数器清零,根据 TIM4_CR0 寄存器的 T4OPM 是否重新计数,T4OPM=1,停止计数;T4OPM=0, 重新计数。 REV_1.1 85 www.fortiortech.com FU5821 TIM4_CNTR 0000 0001 0002 103B 103C 103D TIM4_DR 103C TIM4_ARR 3002 3000 3001 0000 0001 TIM4_OC (T4OCM=0) TIM4_OC (T4OCM=1) T4IR T4IF match overflow 图 13-2 输出模式输出波形 13.1.4 输入信号滤波和边沿检测 T4NM 0 TI from GPIO 1 FILTER TI_NEG EDGE ↓ DETECTOR TI_POS ↑ 图 13-3 输入信号滤波和边沿检测框图 TIM4 的输入信号由外部 PIN 脚输入,输入可选择是否进行噪声滤波,边沿检测模块检测输入的 上升沿和下降沿供下一模块使用。 CLK Before Filter After Filter 4clk 4clk 4clk 图 13-4 滤波模块时序图 滤波电路可以根据 TIM4_CR1 寄存器的 T4_NM 可以选择滤波脉宽为 4/8/16 时钟周期的输入噪 声。使能滤波功能,滤波后的信号比滤波前的信号大概延迟 4/8/16 个时钟周期 REV_1.1 86 www.fortiortech.com FU5821 13.1.5 输入 timer 模式 T4DR T4FE T4OCM 0 TI from GPIO 1 FILTER T4OPM CLOCK CONTROL T4PSC T4IP TI_NEG EDGE ↓ DETECTOR TI_POS ↑ clk T4ARR CNTR T4IR T4IF COUNTER T4CEN clk_psc 图 13-5 输入 timer 模式原理框图 输入 timer 模式检测 PWM 信号脉宽和一个周期的时长, (根据 T4OCM =0 选择相邻两个上升 沿为 1 个周期,上升沿到下降沿为脉宽(高电平脉宽);T4OCM=1 选择相邻相邻两个下降沿为 1 个 周期,下降沿到上升沿为脉宽(低电平脉宽)),分别将计数值 TIM4_CNTR 存在 TIM4_DR 和 TIM4_ARR;输入信号可选择是否滤波; TI TI_NEG TI_POS TIM4_CNTR TIM4_DR XXXX 0000 0001 103B 103C 103D 0000 3000 3001 0000 103C XXXX TIM4_ARR 0001 3001 T4IR T4IP H level software start clear H level detect period detect 图 13-6 输入 timer 模式(T4OCM=0)时序图 以 T4OCM=0 为例,配置 TIM4_CR1 寄存器的 T4CEN = 1 使能计数器,计数器向上计数; 当检测到输入的下降沿时,即输入的高电平检测完毕,此时将 TIM4_CNTR 的值存进 TIM4_DR, 同时中断标记 TIM4_CR1 寄存器的 T4IR 置一,TIM4_CNTR 接着向上计数; 当检测到输入的第二个上升沿时,当检测到输入的一个 PWM 周期时,此时将 TIM4_CNTR 的 值存进 TIM4_ARR,同时中断标记 TIM4_CR1 寄存器的 T4IP 置一,TIM4_CNTR 清零,根据 TIM4_CR0 寄存器的 T4OPM 是否重新计数,T4OPM=1,停止计数;T4OPM=0,重新计数。 当 timer 尚未检测到输入的第二个上升沿,计数值 TIM4_CNTR 达到 0xFFFF,发生上溢事件, 中断标记 TIM4_CR1 寄存器的 T4IF 置一,TIM4_CNTR 清零,根据 TIM4_CR0 寄存器的 T4OPM 是否重新计数,T4OPM=1,停止计数;T4OPM=0,重新计数。 REV_1.1 87 www.fortiortech.com FU5821 13.2 13.2.1 TIM4 寄存器 TIM4_CR0(0x9E) 表 13-2 TIM4_CR0(0x9E) 位 7 名称 RSV 类型 R R/W 复位值 0 0 字段 名称 [7] RSV 6 5 4 3 2 1 0 TOCM TIRE RSV TOPM TMOD R/W R/W R/W R R/W R/W 0 0 0 0 0 0 TPSC 描述 保留 计数器时钟分频选择 这些位用于对 MCU 时钟进行 N 分频作为基本计数器的计数时钟,假设 MCU 时钟为 [6:5] TPSC 24MHz(41.67ns) 00:0x01 (24MHz) 01:0x04(6MHz) 10:0x10 (1.5MHz) 11:0x40(375KHz) 输出模式:比较模式选择 0:TIM4_CNTR<TIM4_DR,输出 0;TIM4_CNTR≥TIM4_DR,输出 1 [4] TOCM 1:TIM4_CNTR<TIM4_DR,输出 1;TIM4_CNTR≥TIM4_DR,输出 0 输入 timer 模式:周期沿选择 0:相邻两个上升沿为 1 个周期,上升沿到下降沿为脉宽(高电平脉宽) 1:相邻两个下降沿为 1 个周期,下降沿到上升沿为脉宽(低电平脉宽) 输出模式:比较匹配中断使能 [3] TIRE 输入 timer 模式:脉宽检测中断使能 0: 禁止事件中断; 1: 使能事件中断; [2] RSV RSV 单次模式 下列事件发生 [1] TOPM 输出模式:计数器上溢事件 输入 timer 模式:PWM 周期检测或计数器上溢事件 0:在发生更新事件时,计数器不停止; 1:在发生更新事件时,计数器停止(清除 T4CEN)。 工作模式选择 [0] TMOD 0:输入 timer 模式 1:输出模式 REV_1.1 88 www.fortiortech.com FU5821 TIM4_CR1(0x9F) 13.2.2 表 13-3 TIM4_CR1(0x9F) 位 7 6 5 4 3 2 1 名称 TIR TIP TIF TIPE TIFE 类型 R/W0 R/W0 R/W0 R/W0 R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 TINM 0 TEN 描述 输出模式:比较匹配标记 当计数器值 TIM4_CNTR 与比较值 TIM4_DR 匹配时该位由硬件置 1。它由软件清 0。 输入 timer 模式:脉宽检测标记 [7] TIR timer 检测到输入脉宽(根据 T4OCM 选择即上升沿到下降沿或者下降沿到上升沿) , 该位由硬件置 1。它由软件清 0。 0:无事件发生; 1:事件发生。 输出模式:无 输入 timer 模式:PWM 周期检测标记 [6] TIP timer 检测到输入一个 PWM 周期(根据 T4OCM 选择即上升沿到上升沿或者下降沿到 下降沿) ,该位由硬件置 1。它由软件清 0。 0:无事件发生; 1:事件发生。 输出模式:计数器上溢标记 当计数器值 TIM4_CNTR 与比较值 TIM4_ARR 匹配时,TIM4_CNTR 清零,该位由硬 件置 1。它由软件清 0。 输入 timer 模式:计数器上溢标记 [5] TIF Timer 尚 未 检 测 到 输 入 一 个 PWM 周 期 ( 即 上 升 沿 到 上 升 沿 ), 而 计 数 器 的 值 TIM4_CNTR 累加到 0xFFFF,产生上溢事件,TIM4_CNTR 清零,该位由硬件置 1。 它由软件清 0。 0:无事件发生; 1:事件发生。 输出模式:无 输入 timer 模式:PWM 周期检测中断使能 [4] TIPE 0: 禁止事件中断; 1: 使能事件中断 输出模式:计数器上溢中断使能 [3] TIFE 输入 timer 模式:计数器上溢中断使能 0: 禁止更新事件中断; 1: 使能更新事件中断 输入噪声脉宽选择,当噪声的脉宽小于设定值,噪声会被滤除 [2:1] TINM 00:不滤波 01:4 个系统时钟周期 10:8 个系统时钟周期 REV_1.1 89 www.fortiortech.com FU5821 11:16 个系统时钟周期 基本计数器使能 T4CEN [0] 0:禁止计数器; 1:使能计数器 13.2.3 TIM4_CNTR(0x92,0x93) 表 13-4 TIM4_CNTRH(0x93)TIM4_CNTRL(0x92) TIM4__CNTR(0x93,0x92) TIM4__CNTRH(0x93) 位 7 6 5 4 3 2 1 0 TIM4__CNTRH 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 3 2 1 0 TIM4__CNTRL(0x92) 位 7 6 5 4 TIM4__CNTRL 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 [15:0] 13.2.4 描述 TIM4__CNTR 基本计数器的计数值 TIM4_DR(0x94,0x95) 表 13-5 TIM4_DRH(0x95)TIM4_DRL(0x94) TIM4__DR(0x95,0x94) TIM4__DRH(0x95) 位 7 6 5 4 3 2 1 0 TIM4__DRH 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 3 2 1 0 TIM4__DRL(0x94) 位 7 6 5 4 TIM4__DRL 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 输出模式:比较匹配值(软件写),FG 模式参考 FG 输出产生 [15:0] TIM4__DR 输入 timer 模式:检测到输入脉宽(根据 T4OCM 选择即上升沿到下降沿或者下降沿 到上升沿)的计数值(硬件写) REV_1.1 90 www.fortiortech.com FU5821 13.2.5 TIM4_ARR(0x96,0x97) 表 13-6 TIM4_ARRH(0x97)TIM4_ARRL(0x96) TIM4__ARR(0x96,0x97) TIM4__ARRH(0x97) 位 7 6 5 4 3 2 1 0 TIM4__ARRH 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 3 2 1 0 TIM4__ARRL(0x96) 位 7 6 5 4 TIM4__ARRL 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 输出模式:重载值(软件写) ,FG 模式参考 FG 输出产生 [15:0] TIM4__ARR 输入 timer 模式:检测到一个 PWM 周期(根据 T4OCM 选择即上升沿到上升沿或者 下降沿到下降沿)的计数值(硬件写) REV_1.1 91 www.fortiortech.com FU5821 14 SYS_TICK 14.1 操作说明 SYS_TICK 用于固定 1ms 产生中断,使能 DRV_SR 寄存器的 STIE 位即可使 SYS_TICK 工作且 产生中断。中断入口为 10。 14.2 寄存器 DRV_SR(0xDF) 14.2.1 表 14-1DRV_SR(0xDF) 位 7 6 5 4 3 2 1 0 名称 SYSTIF SYSTIE RSV DCIF RSV RSV DCIM1 DCIM0 类型 R/W0 R/W R R/W0 R R R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 SysTick 中断标志 [7] SYSTIF 该位由硬件置 1。它由软件清 0。 0:无事件发生 1:SYS TICK 中断产生 SysTick 中断使能 [6] SYSTIE 使能后可产生 SYS TICK 中断 0:不使能 1:使能 [5] RSV 保留 比较匹配中断标志 当计数值等于 DRV_COMR 时,根据 DCIM 设置判断计数方向,符合则产生中断标记 [4] DCIF 该位由硬件置 1。它由软件清 0。 0:无事件发生 1:比较中断产生 [3] RSV 保留 [2] RSV 保留 比较匹配中断模式配置 当计数值等于 DRV_COMR 时,根据 DCIM 的设置判断是否产生中断标记 [1:0] DCIM 00:不产生中断 01:上升方向 10:下降方向 11:上升/下降方向 REV_1.1 92 www.fortiortech.com FU5821 15 Driver 15.1 15.1.1 操作说明 简介 FU5821 系列为内置 PreDriver 输出 MOEH VCC x2 VCC LS H_PU High Side Predriver H_PV UH VH DRVOE EN MOEL EN UL VL Motor x2 LS Low Side Predrdriver L_V L_U ISEN 图 15-1 FU5821 PREDRIVER 模块框图 2P2N Predriver 驱动模式时,VCC 为输入信号,在 H_PU/H_PV 及 L_U/L_V 引脚为 Predriver 的输出信号,注意 H_PU/H_PV 与内部信号 UH/VH 为反向关系。DRVOE 为模块的使能端,MOEH, MOEL 为 2P2N 模式下的输出使能端,如图 15-1 所示。 配置寄存器 DRV_CR 的 DRVOE=1,使能 Predriver 输出,此时 UH/VH 分别被反向后送至 H_PU/H_PV 引脚用于驱动 PMOS 的栅极,UL/VL 分别被送至 L_U/L_V 引脚用于驱动 NMOS 的栅 极。由 PMOS 和 NMOS 驱动电机运转。 REV_1.1 93 www.fortiortech.com FU5821 15.1.2 输出控制模块 0 0 0 1 1 UHE 0 UHP 0 0 DEAD ZONE OCUH OCUL 1 1 ULP DRV_DR TIM1 TIM1_PWMDR ULE COUNTER PWM 0 0 0 1 1 VHE 0 DEAD ZONE OCVH OCVL VHP 0 0 1 1 VLP VLE 图 15-2 输出控制模块前级框图 DRV_DR 在输入 TIM1 处理后,得到 PWM 的比较值 TIM1__PWMDR,XHE/XLE 使能即为输 出 PWM,XHP/XLP 使能即为输出反相,以 U 相上桥为例: UHE=0,UHP=0 时,输出 0; UHE=1,UHP=0 时,输出 PWM; UHE=0,UHP=1 时,输出 1; UHE=1,UHP=1 时,输出反相 PWM; 假设需要设置 U 相上桥 PWM,U 相下桥互补输出,V 相下桥常开时,UHE=1,UHP=0;ULE=1, HLP=1;VLE=0,VLP=1; 假设需要设置 U 相上桥 PWM,V 相下桥常开时,UHE=1,UHP=0;VLE=0,VLP=1; REV_1.1 94 www.fortiortech.com FU5821 15.1.2.1 计数比较模块 通过 TIM1_PWMDR 计数比较得到 PWM 占空比。 cntr TIM1_PWMDR 0 t PWM 图 15-3 PWM 生成图 占空比 = TIM1_PWMDR/ DRV_ARRx 100%(假设 DRV_ARR=750,TIM1_PWMDR =375, 则 PWM 占空比=50%) 15.1.2.2 死区模块 PWM 输出支持死区插入。对于互补输出,如果 DRV_DTR 寄存器不等于 0,就使能了死区 插入。通过 DRV_DTR 设置死区时间。当 PWM 上升沿发生时,XH 的实际输出高电平比 PWM 的 上升沿延迟 DRV_DTR 设定的时间;当 PWM 下降沿发生时,XL 的实际输出高电平比 PWM 的下降 沿延迟 DRV_DTR 设定的时间。如果延迟时间大于实际输出的脉宽,那么对应的通道脉宽不延迟, 相反的通道脉宽不产生。 PWM XH(XHP=0,XHE=1) XL(XLP=1,XLP=1) tdelay tdelay tdelay tdelay 图 15-4 带死区插入的互补输出 REV_1.1 95 www.fortiortech.com FU5821 OCxREF XH(XHP=0,XHE=1) XL(XLP=1,XLP=1) 图 15-5 死区时间大于负电平 OCxREF XH(XHP=0,XHE=1) XL(XLP=1,XLP=1) 图 15-6 死区时间大于正电平 15.1.2.3 主输出使能 MOE MOEH OISUH OCUH 0 1 UH DRVOE MOEL OISUL OCUL 0 1 UL GATE DRIVER MOEH OISVH OCVH 0 1 VH MOEL OISVL OCVL 0 1 VL 图 15-7 输出控制模块后级框图 使能 MOE 后,输出来源于计数器比较值,用于控制电机输出。禁止 MOE 后,输出来源于软件 设置的空闲电平,用于控制电机不输出,即停机状态。 REV_1.1 96 www.fortiortech.com FU5821 15.1.2.4 15.1.2.4.1 中断 比较匹配中断 设置 DRV_SR 寄存器的 DCIM 配置向上计数或者向下计数时进行比较匹配,设置比较匹配值 DRV_COMR,当计数器的计数值等于 DRV_COMR,符合 DCIM 的设置则产生中断事件,下溢中断 标记 DCIF 硬件置 1。软件对 DCIF 写 0 可清中断标记,写 1 无效 TIM1_PWMDR cntr DCIM = 11 DCIF DCIM = 10 DCIF DCIM = 01 DCIF DCIM = 00(Disable) DCIF 图 15-8 DRV 比较匹配中断 REV_1.1 97 www.fortiortech.com FU5821 15.2 寄存器 DRV_CR(0xE1) 15.2.1 表 15-1 DRV_CR(0xE1) 位 7 6 5 4 3 2 1 0 名称 DRVEN RSV BTIMEN HREVEN LREVEN RSV RSV DRVOE 类型 R/W R R/W R/W R/W R R R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 计数器使能 [7] DRVEN 0:禁止 1:使能 [6] RSV 保留 基本计数器模块使能 [5] BTIMEN 0:禁止 1:使能 上管反相使能: [4] HREVEN 0:正常 1:反相 下管反相使能: [3] LREVEN 0:正常 1:反相 [1] RSV [0] DRVOE 保留 Driver 输出使能 0:禁止 1:使能 REV_1.1 98 www.fortiortech.com FU5821 DRV_SR(0xDF) 15.2.2 表 15-2 DRV_SR(0xDF) 位 7 6 5 4 3 2 1 0 名称 SYSTIF SYSTIE RSV DCIF RSV RSV DCIM1 DCIM0 类型 R/W0 R/W R R/W0 R R R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 SysTick 中断标志 [7] SYSTIF 该位由硬件置 1。它由软件清 0。 0:无事件发生 1:SYS TICK 中断产生 SysTick 中断使能 [6] SYSTIE 使能后可产生 SYS TICK 中断 0:不使能 1:使能 [5] RSV 保留 比较匹配中断标志 当计数值等于 DRV_COMR 时,根据 DCIM 设置判断计数方向,符合则产生中断标记 [4] DCIF 该位由硬件置 1。它由软件清 0。 0:无事件发生 1:比较中断产生 [3] RSV 保留 [2] RSV 保留 比较匹配中断模式配置 当计数值等于 DRV_COMR 时,根据 DCIM 的设置判断是否产生中断标记 [1:0] DCIM 00:不产生中断 01:上升方向 10:下降方向 11:上升/下降方向 REV_1.1 99 www.fortiortech.com FU5821 15.2.3 DRV_OUT(0xF8) 表 15-3 DRV_OUT(0xF8) 位 7 6 5 4 3 2 1 0 名称 MOEH MOEL RSV RSV OISVH OISVL OISUH OISUL 类型 R/W R/W R R R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 上管输出使能 该位用于选择 UVW 上桥输出的来源。该位软件可置 1 和清 0,母线电流保护产生(见 [7] MOEH 31.1.1.1)时,硬件自清零,关闭输出。 0: 禁止,输出来源于空闲电平 OISUH/OISVH 1:使能,输出来源于计数器比较值 下管输出使能 该位用于选择 UVW 下桥输出的来源。该位软件可置 1 和清 0,母线电流保护产生(见 [6] MOEL 31.1.1.1)时,硬件自清零,关闭输出。 0: 禁止,输出来源于空闲电平 OISUL/OISVL 1:使能,输出来源于计数器比较值 [5] RSV 保留 [4] RSV 保留 [3] OISVH [2] OISVL [1] OISUH VH 的输出空闲电平 参考 OISUL 描述 VL 的输出空闲电平 参考 OISUL 描述 UH 的输出空闲电平 参考 OISUL 描述 UL 的输出空闲电平 [0] OISUL 该位设置输出 UL 的空闲电平。当 MOE=0,输出空闲电平关闭对应的 MOS。 0:低电平 1:高电平 REV_1.1 100 www.fortiortech.com FU5821 DRV_ARR(0xE4,0xE5) 15.2.4 表 15-4 DRV_ARRH(0xE5)DRV_ARRL(0xE4) DRV_ARRH(0xE5) 位 7 6 5 4 3 RSV 名称 2 1 0 DRV_ARR[11:8] 类型 R R R R R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 3 2 1 0 DRV_ARRL(0x E4) 位 7 6 5 4 DRV_ARR[7:0] 名称 类型 R/W R/W R/W R/W R/W R/W R/W R 复位值 0 0 0 0 0 0 0 0 字段 名称 [15:12] RSV 描述 保留 计数器的重载值,决定载波周期和运算周期(中央对齐模式) DRV 计数器从 0 开始计数到 DRV_ARR/2 - 1,产生上溢事件,然后向下计数到 0。 [11:0] DRV_ARR 计算公式为 注:LSB 恒为 0,不可写 DRV_ARR 的值以时钟 48MHz 计算,取值范围(0,4095) DRV_DR(0xE2,0xE3) 15.2.5 表 15-6 DRV_DRH(0xE3)DRV_DRL(0xE2) DRV_DRH(0xE3) 位 7 6 5 4 3 RSV 名称 2 1 0 DRV_DR[11:8] 类型 R R R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 3 2 1 0 DRV_DRL(0xE2) 位 7 6 5 4 DRV_DR[7:0] 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 [15:12] RSV 描述 保留 手动控制输出时设定的比较值 软件写 PWM 占空比 占空比 = DRV_DR/ DRV_ARRx 100%(假设 DRV_ARR=750,DRV_DR=375,则占空 [11:0] DRV_DR 比=50%) 注:当使用该寄存器作为比较源时,输出 PWM 以上桥为参考,当同一相对管互补输出, 下桥 PWM 反相。 DRV_DR 的值以时钟 48MHz 计算,取值范围 (0,4095) REV_1.1 101 www.fortiortech.com FU5821 DRV_DTR(0xE9) 15.2.6 表 15-7 DRV_DTR(0xE9) 位 7 6 5 4 3 2 1 0 DRV_DTR 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 上下管死区时间 [7:0] DRV_DTR DTR 为插入互补输出之间的死区持续时间 DT= (DTR+1) x 41.67ns 注:当 DTR=0,不插入死区 DRV__CNTR(0xE6,0xE7) 15.2.7 表 15-8 DRV__CNTRH(0xE7)DRV__CNTRL(0xE6) DRV_CNTRH(0xE7) 位 7 6 5 4 3 RSV 名称 2 1 0 DRV_CNTR[11:8] 类型 R R R R R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 3 2 1 0 DRV_CNTRL(0xE6) 位 7 6 5 4 DRV_CNTR[7:0] 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 [15:12] RSV 描述 保留 计数器值 [11:0] DRV_CNTR CNTR 对应的占空比 = DRV__CNTR*4/ DRV_ARRx 100% DRV__CNTR 的值以时钟 12MHz 计算,取值范围(0,4095) REV_1.1 102 www.fortiortech.com FU5821 16 16Watchdog timer (WDT) 看门狗定时器是一个工作在 LS_OSC 时钟域下的定时器,主要用于监控主程序运行,防止 MCU 出现死机的情况。看门狗的工作原理是:启动看门狗后,看门狗的定时器开始运行;当看门狗定时 器溢出时,看门狗会发送信号使 MCU 复位,主程序将重新运行。所以,在主程序运行过程中,每隔 一段时间就要对看门狗的定时器进行初始化,以防止看门狗定时器溢出,俗称“喂狗”。 FU5821 的看门狗在启动后就会从 0 开始计时,如果没有“喂狗”操作,当计时到 FFFC 时看门狗 会输出一个长度为 4 个 LS_OSC 周期的信号使 MCU 复位,程序从头开始运行;如果程序在运行中 定时给看门狗发送“喂狗”信号,那么看门狗定时器将会从设定的初始值开始计数,看门狗将不会令 MCU 复位。 16.1 WDT 使用注意事项 1、 MCU 进入待机模式或者睡眠模式时,WDT 将停止计数,但计数值仍会保留。 2、 MCU 在仿真过程中,WDT 将会被自动禁用 3、 WDT 定时器溢出使 MCU 复位,那么 RST_SR[RSTWDT]将会置一 16.2 WDT 操作说明 1、 配置 CCFG1[WDTEN]启动看门狗计数,启动后看门狗会开始计数; 2、 设置 WDT_ARR,本步也可以放在启动看门狗之前; 3、 在程序的运行中设置 WDT_CR[WDTRF]为 1,即可令看门狗定时器初始化 REV_1.1 103 www.fortiortech.com FU5821 16.3 WDT 寄存器 WDT_CR(0x4026) 16.3.1 表 16-1 WDT_CSR(0x4026) 位 7 6 5 4 3 2 RSV 名称 1 0 WDTF WDTRF 类型 R R R R R R R/W0 R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 [7:2] RSV 保留 [1] WDTF 看门狗复位标志 看门狗初始化标志 [0] WDTRF 1:初始化看门狗计数器; 0:不初始化 WDT_ARR(0x4027) 16.3.2 表 16-2 WDT_ARR(0x4027) 位 7 6 5 4 3 2 1 0 WDT_ARR 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 [7:0] 描述 WDT_ARR 看门狗重载计数器,设置看门狗计数器重新置位后的值的高 8 位。 CCFG1 (0x401E) 16.3.3 表 16-3 CCFG1(0x401E) 位 7 6 RSV 名称 5 4 3 WDT_EN 2 1 0 RSV 类型 R/W R/W R/W R/W R/W R/W R/W R 复位值 0 0 0 0 0 0 0 0 字段 名称 [7:6] RSV 描述 保留 WDT 使能 [5] WDT_EN 0: 禁止 1: 使能 [4:0] REV_1.1 RSV 保留 104 www.fortiortech.com FU5821 RTC 与时钟校准 17 17.1 RTC 基本功能框图 RTC_EN (active high) RTC_OV/IF CNT_PROC RTC_TMH[7:0] MCU_DATA_BUS INT_CTRL RTC_TML[7:0] OV/IF INT RTC_EN (active high) INT OUT 图 17-1RTC 基本功能框图 17.2 RTC 操作说明 写寄存器 RTC_TMH 和 RTC_TML,设置 RTC 计数的重载值; 设置 RTC_STA[RTC_EN]为 1,使能 RTC 计数。 17.3 17.3.1 RTC 寄存器 计数寄存器:RTC_TM(0x402C,0x402D) 表 17-1RTC_TMH(0x402C)RTC_TML(0x402D) RTC_TM(0x402C,0x402D) RTC_TMH(0x402C) 位 7 6 5 4 3 2 1 0 RTC_TMH 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 1 1 1 1 1 1 1 1 位 7 6 5 3 2 1 0 RTC_TML(0x402D) 4 RTC_TML 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 1 1 1 1 1 1 1 1 字段 名称 描述 RTC 计数寄存器。 [15:0] RTC_TM 写入后,RTC 计数器以 32768Hz 从 0 计数到 RTC_TM[15:0]后溢出,中断,并重载为 0 继续计数。 读出值为正在计数的值,为计数瞬间值。 REV_1.1 105 www.fortiortech.com FU5821 控制寄存器:RTC_STA(0x402E) 17.3.2 表 17-2 RTC_STA(0x402E) 位 7 6 5 4 3 名称 RTC_EN RTC_IF ISOSCSEL ISOSCEN 类型 R/W R/W R/W R/W R 复位值 0 0 0 0 0 字段 名称 2 1 0 R R R 0 0 0 RSV 描述 RTC 使能 7 RTC_EN 0:禁止 1:使能 RTC 中断标志 6 RTC_IF 当 RTCIE 为 1 时,此位溢出后将产生中断,MCU 可软件清 0 此位。 当 RTCIE 为 0 时,此位溢出后不会产生中断,但仍有标志,MCU 可读取该标志后将其 清 0。 内部慢时钟源选择: 5 ISOSCSEL 0:内部时钟源 1:外部时钟源 内部慢时钟使能 4 ISOSCEN 0:内部慢时钟禁止 1:内部慢时钟使能 [3:0] RSV 17.4 保留 时钟校准 17.4.1 简介 时钟校准模块内部慢时钟校准快时钟功能,其中慢时钟可由寄存器 SCK_SEL 选择慢时钟源,可 以是内部慢时钟或者外部慢时钟。校准原理是使用一个长度 12 位的计数器连续累积计 8 个慢时钟周 期的长度。 校准方法:MCU 写 CAL_STA=1 开始进行校准过程,读 CAL_BSY 标志位可知校准是否完成, CAL_BSY=0 表示校准结束,MCU 读取 CAL_ARR 的值即是使用快时钟连续累积计 8 个慢时钟的 值。 REV_1.1 106 www.fortiortech.com FU5821 寄存器 17.4.2 表 17-3 CAL_CR0(0x403E)CAL_CR1(0x403F) CAL_CR0、CAL_CR1(0x403E、0x403F) CAL_CR0(0x403E) 位 7 6 5 4 3 名称 CAL_STA 类型 R/W R R R R/W R/W R/W R/W 复位值 1 0 0 0 0 0 0 0 3 2 1 0 RSV 2 1 0 CAL_ARR[11:8] CAL_CR1(0x403F) 位 7 6 5 4 CAL_ARR[7:0] 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 CLOCK_CAL 使能 [15] CAL_STA 写 1:启动时钟校准功能。 读 0:表示校准过程完成。 读 1:表示校准过程正在进行中。 [14:13] RSV 保留 校准计数值 [12:0] CAL_ARR 使用快时钟连续累积计数 8 个慢时钟周期的值。 特别地,当此值为 0 时表示无对应慢时钟输入,当此值为 1FFF 时表示计数溢出(原因 可能是慢时钟太慢或者快时钟太快) 。 REV_1.1 107 www.fortiortech.com FU5821 18 IO 18.1 IO 简介 最多可以支持 12 个通用 I/O 引脚,分别为 P0.1~P0.6,P1.1~P1.6。每个 GPIO 端口有相关 的控制和配置寄存器用来满足不同应用的需求。 18.2 IO 操作说明 1、 端口 P0.1~P0.6,P1.1~P1.6 映射到寄存器 P0,P1。 2、 P0_OE,P1_OE 用于配置 P0.1~P0.5 和 P1.1~P1.6 的输入/输出使能,P0.6 只能输入使 能。当端口配置为输入时,施密特触发输入使能,所有的 IO 口除 P0.1 都可以选择是否开启上拉, 其中 P1.1 还可以选择下拉输入。 3、 P0.2~P0.6,P1.1~P1.6 均可使能上拉电阻,配置 P0_PU,P1_PU,对应的位为一。其 中 P0.2 的上拉电阻阻值约为 6kΩ,其余 PAD 的上拉电阻阻值约为 35kΩ ,复位脚 RSTN 为 35 kΩ 固 定上拉; 4、 P1.1 可使能下拉电阻,下拉电阻约为 10kΩ,配置 P1_PU[0]选择是否使能。 5、 所有 IO 端口在数字输出 0 时上拉电阻会被自动关闭。 6、 P0.1/P0.3/P0.4/P0.5/P1.1/P1.2/P1.4/P1.5 可配置为外部中断 0 输入,但是一次只能配置 一个,P0.3/P0.4/P0.5/P1.1/P1.2/P1.4/P1.5 可配置为外部中断 1 输入,一次也只能配置一个。INT0 和 INT1 都可以配置为上升沿中断、下降沿中断或者电平改变触发中断。 7、 P0.2~P0.6,P1.1,P1.4~P1.6 可配置为模拟 PAD,配置 P0_AN,P1_AN 对应的位为一。 PAD 配置为模拟 PAD 后,对应 PAD 的所有数字功能配置失效,寄存器 P0,P1 对应的位检测到的 端口状态为 0。 8、 P0.2~P0.6,P1.1,P1.4~P1.6 在端口配置为模拟模式后上拉会自动关闭, 9、 P1.1 支持防倒灌; 10、 U、V 输出的输出源 OCUH/OCVH 和 OCUL/OCVL 来自于 TIMER1 模块。DRV_OUT 寄存器的 MOEH/MOEL 选择寄存器配置的空闲电平(DRV_OUT 寄存器的 OISUH/OISVH 和 OISUL/OISVL)还是输出源 OCUH/OCVH 和 OCUL/OCVL 送进 DRIVER 模块。 11、 DRV_OUT 寄存器的 MOEH/MOEL 可以由软件写零和写一,当发生过流保护时硬件会 自动清零。 12、 REV_1.1 IO 优先级: 108 www.fortiortech.com FU5821 18.3 a) 对于所有复用端口,GPIO 的优先级最低 b) P0.1:UART> I2C> TIMER4 > GPIO c) P0.4:COP>TIMER2S > GPIO d) P1.1:UART >I2C> TIMER3 > GPIO e) P1.2:FICE>UART>TIM2>TIM4S > GPIO IO 寄存器 18.3.1 P0_OE(0xFC) 表 18-1 P0_OE(0xFC) 位 7 6 5 4 3 2 1 名称 RSV RSV 类型 R R R/W R/W R/W R/W R/W R 复位值 0 0 0 0 0 0 0 0 字段 名称 2 1 0 P0_OE 0 RSV 描述 P0.5~P0.1 的数字输出使能 [5:1] P0_OE 1:输出 0:输入 18.3.2 P1_OE(0xFD) 表 18-2 P1_OE(0xFD) 位 7 6 5 4 3 名称 RSV 类型 R R/W R/W R/W R/W R/W R/W R 复位值 0 0 0 0 0 0 0 0 字段 名称 P1_OE RSV 描述 P1.6~P1.1 的数字输出使能 [6:1] P1_OE 1:输出 0:输入 REV_1.1 109 www.fortiortech.com FU5821 P0_AN(0x4031) 18.3.3 表 18-3 P0_AN(0x4031) 位 7 6 5 4 3 名称 RSV 类型 R R/W R/W R/W R/W 复位值 0 0 0 0 0 字段 名称 2 1 0 RSV RSV R/W R R 0 0 0 3 2 1 0 RSV RSV RSV HBMOD P0_AN 描述 P0.6~P0.2 的模拟模式使能 [6:2] P2_AN 1:使能 0:禁止 P1_AN(0x4030) 18.3.4 表 18-4 P1_AN(0x4030) 位 7 名称 RSV 类型 R R/W R/W R R R R R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 [7] RSV 6 5 4 P1_AN 描述 保留 P1.6~P1.4 的模拟模式使能 [6:4] P1_AN 1:使能 0:禁止 [3:2] RSV 保留 P1.3 模式配置,与 P1_OE.3 组合决定 P1.3 的功能模式。 [1] HBMOD [0] RSV REV_1.1 HBMODE P1_OE.3 P1.3 模式 0 0 数字输入 0 1 数字输出 1 0 模拟模式 1 1 数字强驱动输出,输出高可提供强 驱动。 保留 110 www.fortiortech.com FU5821 18.3.5 P0_PU(0x4033) 表 18-5 P0_PU(0x4053) 位 7 6 5 4 3 名称 RSV 类型 R R/W R/W R/W R/W 复位值 0 0 0 0 0 字段 名称 2 1 0 RSV RSV R/W R R 0 0 0 2 1 0 P0_PU 描述 P0.6~P0.2 的上拉电阻使能 [6:2] P0_PU 1:使能 0:禁止 18.3.6 P1_PU(0x4034) 表 18-6 P1_PU(0x4054) 位 7 6 5 4 3 名称 LVMOD 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 P1_PU P11PL 描述 P1.1 1.8V 输入模式使能 [7] LVMOD 1:使能 0:禁止 P16~P1.1 的上拉电阻使能 [6:1] P1_PU 1:使能 0:禁止 P11 的下拉电阻使能 [0] P11PL 1:使能 0:禁止 REV_1.1 111 www.fortiortech.com FU5821 PH_SEL(0x403C) 18.3.7 表 18-7 PH_SEL(0x404C) 位 7 6 5 4 3 2 1 0 名称 UARTSSEL UARTEN T4SSEL T4SEL T3SEL T2SSEL T2SEL RSV 类型 R/W R/W R/W R/W R/W R/W R/W R 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 端口复用为 UART [7] UARTSSEL UART 端口功能转移 0:UART 端口不转移,P1.1,RXD,P0.1,TXD 1:UART 端口转移,P1.1,RXD,P1.2,TXDS 端口复用为 UART [6] UARTEN UART 使能 0:UART1 功能禁止 1:UART1 功能使能 端口复用为 TIM4 [5] T4SSEL TIMER4 端口使能转移 0:P0.1 复用为 TIM4 1:P1.2 复用为 TIM4 端口复用为 TIM4 TIMER4 端口使能 [4] T4SEL 0:不使能 1:P0.1 或 P1.2(功能转移 PH_SEL[T4SSEL]=1)作为 TIMER4 的输入输出 注:端口优先级参考 IO 操作说明 端口复用为 TIM3 TIMER3 端口使能 [3] T3SEL 0:不使能 1:P1.1 作为 TIMER3 的输入输出 注:端口优先级参考 IO 操作说明 端口复用为 TIM2 [2] T2SSEL TIMER4 端口使能转移 0:P1.2 作为 TIMER2 的输入输出 1:P0.4 作为 TIMER2 的输入输出 端口复用为 TIM3S TIMER2 端口 2 使能 [1] T2SEL 0:P1.2 作为 GPIO 1:P1.2 或 P0.4(功能转移 PH_SEL[T2SSEL]=1)作为 TIMER2 的输入输出 注:端口优先级参考 IO 操作说明 [0] RSV REV_1.1 保留 112 www.fortiortech.com FU5821 18.3.8 P0(0x80)/P1(0x90) 端口输出寄存器 P0/1 支持读写访问, RMW(read-modify-write) 指令访问的是寄存器的值(RMW 指令参见) ,其他指令访问的是 PORT 管脚。 表 18-8 P0/P1 P0(0x80)/P1(0x90) 位 7 6 5 4 3 2 1 0 名称 RSV GPx[6] GPx[5] GPx[4] GPx[3] GPx[2] GPx[1] RSV 类型 R R/W R/W R/W R/W R/W R/W R 复位值 0 0 0 0 0 0 0 0 寄存器名称 功能描述 R/W 初始值 P0[6:1] 端口寄存器 0 R/W 0x00 P1[6:1] 端口寄存器 1 R/W 0x00 表 18-9 read modify write instructions 指令 功能描述 ANL Logic AND ORL Logic OR XRL Logic exclusive OR JBC Jump if bit is set and clear CPL Complement bit INC,DEC Increment, decrement byte DJNZ Decrement and jump if not zero MOV Px,y, C Move carry bit to bit y of port x CLR Px,y Clear bit y of port x SETB Px,y Set bit y of port x REV_1.1 113 www.fortiortech.com FU5821 19 ADC 19.1 ADC 简介 FU5821 系列的 ADC 是一个 10 位逐次逼近寄存器(SAR)ADC,内部支持 11 个通道,采样方式为 顺序采样(即从 AD0 依次到 AD10) ,采样结果支持右对齐和左次高位对齐。其中 AD0~AD9 为外部引 脚 ADC 通道,AD10 为 VCC 引脚经过 1/10 电阻分压比后直接送入 ADC 进行采样。 19.2 ADC 框图 ADC_MASK[10:0] VCC P0.6/AD0 P0.5/AD1 P0.2/AD2 P0.3/AD3 P1.5/AD4 P1.6/AD5 P0.4/AD6 P1.1/AD7 P1.3/AD8 P1.4/AD9 ADC AMUX 图 19-1 ADC 多路复用器框图 ADC_CR ADCIF ADCIE ADCALIGN ADCBSY ADC_EN Interrupt to MCU VDD5 TIM2_CRO[ADCTRGE N]=1 Trigger From AMUX0 VDD5 10-Bit SAR ADC ADC0_DRH/DRL ADC1_DRH/DRL ... ADC10_DRH/DRL ADC_SCYC 图 19-2 ADC 功能框图 REV_1.1 114 www.fortiortech.com FU5821 19.3 ADC 操作说明 软件写寄存器 ADC_CR[ADCBSY]置 1 时将进行顺序扫描采样模式。 ADC_MASK ADCEN ADCBSY ADCDR0 ADCDR1 Clear 0 By Hardware SET 1 START ADC Sampling time ... C onvension Sampl ing time C onvension R esult 0 R esult 1 MCU Read Results . . . 图 19-3 ADC 顺序扫描采样时序图 如图 20-3 所示,启动 ADC 操作 ⚫ 设置对应通道的编号即设置寄存器 ADC_MASK ⚫ 设置合适的每个通道的采样时钟周期延时(最小值为 3) ⚫ 设置 ADC_CR 寄存器的 ADCEN 位为 1 ⚫ 设置 ADC_CR 寄存器的 ADCBSY 位为 1 后,ADC 开始工作 ⚫ 当读取 ADCBSY 为零后可以读取 ADC 转换结果 ⚫ ADC 转换顺序根据使能的通道号从低到高(即当使能 CH2/3/4 后,依次采样转换 CH2/3/4,然后在读取 ADCBSY 为零后读取单次转换结果) REV_1.1 115 www.fortiortech.com FU5821 19.3.1 输出数据格式 寄存器 ADC_DRH 和 ADC_DRL 包含每次转换完成时 ADC 输出转换代码的高字节和低字节。 数据可以根据 ADC_CR[ADCALIGN]选择右对齐或左次高位对齐。输入从 0 到 VDD5,输出数据代 码如下表所示。ADC_DRH 和 ADC_DRL 寄存器中未使用的位被置为 0。 输入电压 REV_1.1 右对齐 左次高对齐 ADC_CR[ADCALIGN]=0 ADC_CR[ADCALIGN]=1 0 0x0000 0x0000 VDD5/2 0x0200 0x4000 VDD5 0x03FF 0x7FE0 116 www.fortiortech.com FU5821 19.4 ADC 寄存器 ADC_CR(0x4039) 19.4.1 表 19-1 ADC_CR(0x4039) 位 7 6 5 4 名称 ADCEN ADCBSY RSV 类型 R/W R/W1 R R/W 复位值 0 0 0 0 字段 名称 3 2 1 0 ADCALIGN ADCIE ADCIF R/W R/W R/W R/W 0 0 0 0 RSV 描述 使能 ADC [7] ADCEN 0:禁止。 1:使能。 ADC 启动 & ADC 忙标志 MCU 操作 ADC 时应先写 ADCEN 位,使电路准备好,再写 ADCBSY 进行转换。MCU [6] ADCBSY 写 1 后开始 ADC 转换,转换完毕硬件自动清 0。MCU 也可以读取此位以判断 ADC 是 否处于转换过程中。若此位已经为 1 时 MCU 再写 1 无意义。此位 MCU 只可写 1,写 0 无意义,读出时表示 ADC 状态。 ADC_MASK=0 时此位写 1 无意义。 [5] RSV 保留 [4:3] RSV 保留 [2] ADCALIGN ADC 数据次高位对齐使能 0:ADC 数据右对齐。 1:ADC 数据次高位对齐。(TRIG 模式不受影响) ADC 中断使能。用于控制 ADCIF 是否向 MCU 发起中断事件。 (不包含 TRIG 模式中 [1] ADCIE 断) 0:禁止。 1:使能。 ADC 中段标志 当本次 ADC 转换完毕时, 若 ADCIE=1 则向 MCU 发起 ADC 中断事件。 此位不受 ADCIE [0] ADCIF 控制。 0:本次 ADC 转换未完毕。 1:本次 ADC 转换完毕。 REV_1.1 117 www.fortiortech.com FU5821 ADC_MASK(0x4036,0x4037) 19.4.2 表 19-2 ADC_MASK={ ADC_MASKH, ADC_MASKL}(0x4036~0x4037) ADC_MASKH(0x4036) 位 7 6 5 4 3 2 1 0 名称 RSV RSV RSV RSV RSV CH10EN CH9EN CH8EN 类型 R R R R R R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 ADC_MASKL(0x4037) 位 7 6 5 4 3 2 1 0 名称 CH7EN CH6EN CH5EN CH4EN CH3EN CH2EN CH1EN CH0EN 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 [15] RSV 保留位 [14] RSV 保留位 [13] RSV 保留位 [12] RSV 保留位 [11] RSV 保留位 [10] CH10EN ADC 第 10 通道使能,片内 VCC 电压 [9] CH9EN ADC 第 9 通道使能 [8] CH8EN ADC 第 8 通道使能, [7] CH7EN ADC 第 7 通道使能 [6] CH6EN ADC 第 6 通道使能 [5] CH5EN ADC 第 5 通道使能 [4] CH4EN ADC 第 4 通道使能 [3] CH3EN ADC 第 3 通道使能 [2] CH2EN ADC 第 2 通道使能 [1] CH1EN ADC 第 1 通道使能 [0] CH0EN ADC 第 0 通道使能 REV_1.1 118 www.fortiortech.com FU5821 19.4.3 ADC_SCYC(0x4038) 表 19-3 ADC_SCYC (0x4038) ADC_SCYC(0x4038) 位 7 6 名称 RSV RSV 类型 R 复位值 0 字段 名称 [7:6] RSV 5 4 3 2 1 0 ADC_SCYC [5:4] ADC_SCYC [3:2] ADC_SCYC [1:0] R R/W R/W R/W R/W R/W R/W 0 0 1 0 1 0 1 描述 保留位 ADC 采样周期设置,通道 AD8、AD9、AD10 共用设置。 , [5:4] ADC_S 00: 0.6uS CYC 01: 1.3uS,默认值 [5:4] 10: 2uS 11: 2.6uS ADC 采样周期设置,通道 AD4、AD5、AD6、AD7 共用设置。 , [3:2] ADC_S 00: 0.6uS CYC 01: 1.3uS,默认值 [3:2] 10: 2uS 11: 2.6uS ADC 采样周期设置,通道 AD0、AD1、AD2、AD3 共用设置。 , [1:0] ADC_S 00: 0.6uS CYC 01: 1.3uS,默认值 [1:0] 10: 2uS 11: 2.6uS REV_1.1 119 www.fortiortech.com FU5821 19.4.4 ADC0_DR(0x0100,0x0101) 表 19-4 ADC0_DR={ADC0_DRH,ADC0_DRL}(0x0100~0x0101) ADC0_DR={ADC0_DRH,ADC0_DRL}(0x0100~0x0101) ADC0_DRH(0x0100) 位 7 6 5 4 3 2 RSV 名称 1 0 DH[1] DH[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 ADC0_DRL(0x0101) 位 7 6 5 4 3 2 1 0 名称 DL[7] DL[6] DL[5] DL[4] DL[3] DL[2] DL[1] DL[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 [15:12] RSV 保留 [11:8] DH 软件启动 ADC 转换完成后,第 0 通道的高 2 位 ADC 转换数据 [7:0] DL 19.4.5 软件启动 ADC 转换完成后,第 0 通道的低 8 位数据 注:硬件自动启动的 ADC 结果不会更新至此寄存器 ADC1_DR(0x0102,0x0103) 表 19-5 ADC1_DR={ADC1_DRH,ADC1_DRL}(0x0102~0x0103) ADC1_DR={ADC1_DRH,ADC1_DRL}(0x0102~0x0103) ADC1_DRH(0x0102) 位 7 6 5 4 3 2 RSV 名称 1 0 DH[1] DH[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 ADC1_DRL(0x0103) 位 7 6 5 4 3 2 1 0 名称 DL[7] DL[6] DL[5] DL[4] DL[3] DL[2] DL[1] DL[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 [15:10] RSV 保留 [9:8] DH 软件启动 ADC 转换完成后,第 1 通道的高 2 位 ADC 转换数据 [7:0] DL REV_1.1 软件启动 ADC 转换完成后,第 1 通道的低 8 位数据 注:硬件自动启动的 ADC 结果不会更新至此寄存器 120 www.fortiortech.com FU5821 19.4.6 ADC2_DR(0x0104,0x0105) 表 19-6 ADC2_DR={ADC2_DRH, ADC2_DRL}(0x0104~0x0105) ADC2_DR={ADC2_DRH,ADC2_DRL}(0x0104~0x0105) ADC2_DRH(0x0104) 位 7 6 5 4 3 2 RSV 名称 1 0 DH[1] DH[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 ADC2_DRL(0x0105) 位 7 6 5 4 3 2 1 0 名称 DL[7] DL[6] DL[5] DL[4] DL[3] DL[2] DL[1] DL[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 [15:10] RSV 保留 [9:8] DH 软件启动 ADC 转换完成后,第 2 通道的高 2 位 ADC 转换数据 [7:0] DL 19.4.7 软件启动 ADC 转换完成后,第 2 通道的低 8 位数据 注:硬件自动启动的 ADC 结果不会更新至此寄存器 ADC3_DR(0x0106,0x0107) 表 19-7 ADC3_DR={ADC3_DRH, ADC3_DRL}(0x0106~0x0107) ADC3_DR={ADC3_DRH,ADC3_DRL}(0x0106~0x0107) ADC3_DRH(0x0106) 位 7 6 5 4 3 2 RSV 名称 1 0 DH[1] DH[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 ADC3_DRL(0x0107) 位 7 6 5 4 3 2 1 0 名称 DL[7] DL[6] DL[5] DL[4] DL[3] DL[2] DL[1] DL[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 [15:10] RSV 保留 [9:8] DH 软件启动 ADC 转换完成后,第 3 通道的高 2 位 ADC 转换数据 [7:0] DL 软件启动 ADC 转换完成后,第 3 通道的低 8 位数据 REV_1.1 121 www.fortiortech.com FU5821 19.4.8 ADC4_DR(0x0108,0x0109) 表 19-8 ADC4_DR={ADC4_DRH,ADC4_DRL}(0x0108~0x0109) ADC4_DR={ADC4_DRH,ADC4_DRL}(0x0108~0x0109) ADC4_DRH(0x0108) 位 7 6 5 4 3 2 RSV 名称 1 0 DH[1] DH[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 ADC4_DRL(0x0108) 位 7 6 5 4 3 2 1 0 名称 DL[7] DL[6] DL[5] DL[4] DL[3] DL[2] DL[1] DL[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 [15:10] RSV 保留 [9:8] DH 软件启动 ADC 转换完成后,第 4 通道的高 2 位 ADC 转换数据 [7:0] DL 软件启动 ADC 转换完成后,第 4 通道的低 8 位数据 19.4.9 ADC5_DR(0x010A,0x10B) 表 19-9 ADC5_DR={ADC5_DRH, ADC5_DRL}(0x010A~0x010B) ADC5_DR={ADC5_DRH,ADC5_DRL}(0x010A~0x010B) ADC5_DRH(0x010A) 位 7 6 5 4 3 2 RSV 名称 1 0 DH[1] DH[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 ADC5_DRL(0x010B) 位 7 6 5 4 3 2 1 0 名称 DL[7] DL[6] DL[5] DL[4] DL[3] DL[2] DL[1] DL[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 [15:10] RSV 保留 [9:8] DH 软件启动 ADC 转换完成后,第 5 通道的高 2 位 ADC 转换数据 [7:0] DL 软件启动 ADC 转换完成后,第 5 通道的低 8 位数据 REV_1.1 122 www.fortiortech.com FU5821 19.4.10 ADC6_DR(0x010C,0x010D) 表 19-10 ADC6_DR={ADC6_DRH, ADC6_DRL}(0x010C~0x010D) ADC6_DR={ADC6_DRH,ADC6_DRL}(0x010C~0x010D) ADC6_DRH(0x010C) 位 7 6 5 4 3 2 RSV 名称 1 0 DH[1] DH[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 ADC6_DRL(0x010D) 位 7 6 5 4 3 2 1 0 名称 DL[7] DL[6] DL[5] DL[4] DL[3] DL[2] DL[1] DL[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 [15:10] RSV 保留 [9:8] DH 软件启动 ADC 转换完成后,第 6 通道的高 2 位 ADC 转换数据 [7:0] DL 软件启动 ADC 转换完成后,第 6 通道的低 8 位数据 19.4.11 ADC7_DR(0x010E,0x010F) 表 19-11 ADC7_DR={ADC7_DRH,ADC7_DRL}(0x010E~0x010F) ADC7_DR={ADC7_DRH,ADC7_DRL}(0x010E~0x010F) ADC7_DRH(0x010E) 位 7 6 5 4 3 2 RSV 名称 1 0 DH[1] DH[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 ADC7_DRL(0x010F) 位 7 6 5 4 3 2 1 0 名称 DL[7] DL[6] DL[5] DL[4] DL[3] DL[2] DL[1] DL[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 [15:10] RSV 保留 [9:8] DH 软件启动 ADC 转换完成后,第 7 通道的高 2 位 ADC 转换数据 [7:0] DL 软件启动 ADC 转换完成后,第 7 通道的低 8 位数据 REV_1.1 123 www.fortiortech.com FU5821 19.4.12 ADC8_DR(0x0110,0x0111) 表 19-12 ADC8_DR={ADC8_DRH,ADC8_DRL}(0x010~0x011) ADC8_DR={ADC8_DRH,ADC8_DRL}(0x0110~0x0111) ADC8_DRH(0x0110) 位 7 6 5 4 3 2 RSV 名称 1 0 DH[1] DH[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 ADC8_DRL(0x0111) 位 7 6 5 4 3 2 1 0 名称 DL[7] DL[6] DL[5] DL[4] DL[3] DL[2] DL[1] DL[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 [15:10] RSV 保留 [9:8] DH 软件启动 ADC 转换完成后,第 8 通道的高 2 位 ADC 转换数据 [7:0] DL 软件启动 ADC 转换完成后,第 8 通道的低 8 位数据 19.4.13 ADC9_DR(0x0112,0x0113) 表 19-13 ADC9_DR={ADC9_DRH,ADC9_DRL}(0x0112~0x0113) ADC9_DR={ADC9_DRH,ADC9_DRL}(0x0112~0x0113) ADC9_DRH(0x0112) 位 7 6 5 4 3 2 RSV 名称 1 0 DH[1] DH[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 ADC9_DRL(0x0113) 位 7 6 5 4 3 2 1 0 名称 DL[7] DL[6] DL[5] DL[4] DL[3] DL[2] DL[1] DL[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 [15:10] RSV 保留 [9:8] DH 软件启动 ADC 转换完成后,第 9 通道的高 2 位 ADC 转换数据 [7:0] DL 软件启动 ADC 转换完成后,第 9 通道的低 8 位数据 REV_1.1 124 www.fortiortech.com FU5821 19.4.14 ADC10_DR(0x0114,0x115) 表 19-14 ADC10_DR={ADC10_DRH,ADC10_DRL}(0x0114~0x0115) ADC10_DR={ADC10_DRH,ADC10_DRL}(0x0114~0x0115) ADC10_DRH(0x0114) 位 7 6 5 4 3 2 RSV 名称 1 0 DH[1] DH[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 ADC10_DRL(0x0115) 位 7 6 5 4 3 2 1 0 名称 DL[7] DL[6] DL[5] DL[4] DL[3] DL[2] DL[1] DL[0] 类型 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 [15:10] RSV 保留 [9:8] DH 软件启动 ADC 转换完成后,第 10 通道的高 2 位 ADC 转换数据 [7:0] DL 软件启动 ADC 转换完成后,第 10 通道的低 8 位数据 REV_1.1 125 www.fortiortech.com FU5821 比较器 20 20.1 比较器 CMP0 P0.4/COP 0 P1.5/COPS 1 CMP0EN CMP0FS 20.1.1 比较器操作说明 CMP0OUT P1.6/COM 图 20-1 比较器 CMP3 的输入输出相关信号 如果要使能比较器 CMP0,需配置: 1. 配置 CMP_CR0 寄存器的 CMP0FS,选择 P0.4 还是 P0.5 作为正向输入端口。 2. 使能比较器 0,CMP_CR0 寄存器的 CMP0EN=1。 LCP_DR[5:0] OCP_DR[3:0] OCPEN 比较器 LOCP LCPEN 20.1.2 LCPOUT DAC DAC P0.6/ISEN(C3P) OCPOUT 图 20-2 比较器 LCP/OCP 的输入输出相关信号 1. 如果需要使用限流比较器,则需要打开 CMP_CR1 寄存器的 LCP_EN,配置不同 LCP_DR 的值,实现不同的限流比较输出。 REV_1.1 126 www.fortiortech.com FU5821 2. 如果需要使用过流比较器,则需要打开 CMP_CR2 寄存器的 OCP_EN,配置不同 OCP_DR 的值,实现不同的过流比较输出。 20.1.2.1 母线电流保护 母线电流保护是根据母线电流保护信号的产生,自动关闭电机的输出,以达到保护芯片和电机 的目的。配置 CMP_CR2 寄存器的 OCP_IM 为 00 之外的其他值时,上报对应保护中断并自动触发 关 MOE 事件,该事件会根据 CMP_CR2 寄存器的 OCP_MOEH_EN、OCP_MOEDL_EN 配置, OCP_MOEH_EN 为 1 时,关闭上桥输出,OCP_MOEL_EN 为 1 时,关掉下桥输出,两者可同时为 1。 母线电流保护事件可以配置 CMP_CR2 寄存器的 OCP_SRC 来选择母线电流保护信号的来源, OCP_SRC=0 时,过流保护信号来源与 OCP 比较器,母线采样电压从 P1.6/ISENSE 管脚输出到 OCP 比较器正端,过流比较阀值通过 OCP_DR 寄存器产生不同的 DAC 电压输入到 OCP 比较器负 端,从而实现不同母线电流的过流保护。 母线电流保护事件的输入信号可以配置 CMP_CR2 寄存器的 LOCP,使能滤波功能,通过 CMP_CR2 寄存器的 LOCP=00/01/10/11 选择滤波宽度 4/8/16/32 个时钟周期。使能滤波功能,滤 波后的信号会比滤波前的信号大概延迟 4~5/8~9/16~17/32~33 时钟周期。 20.1.2.2 逐波限流 逐波限流功能根据母线电流采样产生,配置 CMP_CR1 寄存器的 LCP_IM=01/11,在限流比较 器 LCP 上升沿时,自动触发关 MOE 事件,该事件会根据 CMP_CR1 寄存器的 LCP_MOEH_EN、 LCP_MOEDL_EN 配置,OCP_MOEH_EN 为 1 时,关闭上桥输出,OCP_MOEL_EN 为 1 时,关 掉下桥输出,两者可同时为 1,在 DRV 计数器的上溢下溢事件每隔一段时间后自动使能 MOE,通 过控制 CMP_CR1 寄存器的 LCP_MOE_MD=00/01/10/11 选择 40us/20us/9us/4us 后自动使能 MOE。 REV_1.1 127 www.fortiortech.com FU5821 I 20us/10us/9us/4us 限流值 MOEH LCP_MOEH_EN MOEL LCP_MOEL_EN 图 20-3 逐波限流 20.1.3 比较器 HALL_COMP 比较器 HALL_COMP 内含三个比较器输出,当 CMP_CR3 寄存器的 HALL_EN=1 时,比较器 HALL_COMP 才使能,HALL_COMP 使能后,如果 CMP_CR3 寄存器的 HALLPN=1,则此时 HALL_COMP 比较器只有 HALLC 使能输出,如果 CMP_CR3 寄存器的 HALLPN=0,则此时 HALLP_REF[5:0] DAC HALLPN_DIS HALLEN HALL_COMP 比较器 HALLP、HALLC、HALLN 都使能输出;  + HALLN_REF[5:0] HALLP DAC P0.2/HALP HALLC P0.3/HALM + + HALLN 图 20-4 HALL_COMP 模块示意图 当 HALLP 、 HALLC 、 HALLN 全 使 能 时 , 通 过 配 置 TIM1_CR6/TIM1_CR7 中 的 HALLP_REF/HALLN_REF,使得 HALLP/HALLN 的输出提前 HALLC 输出。 REV_1.1 128 www.fortiortech.com FU5821 20.2 20.2.1 比较器寄存器 CMP_CR0(0xD5) 表 20-1 CMP_CR0(0xD5) 位 7 6 5 4 名称 RSV RSV 类型 R R R/W R/W R/W 复位值 0 0 0 0 0 字段 名称 CMP0IM 3 2 1 0 CMP0FS CMP0EN R/W R/W R/W 0 0 0 CMP0HYS 描述 [7] RSV 保留 6] RSV 保留 比较器 CMP0 中断模式 00:不产生中断 [5:4] CMP0IM 01:上升沿产生中断 10:下降沿产生中断 11:上升/下降沿均产生中断 比较器 CMP0 迟滞 00:0mV [3:2] CMP0HYS 01:5mV 10:10mV 11:15mV 比较器 CMP0 正输入端设置: [1] CMP0FS 0:P0.4/C0P 为比较器 0 正输入端 1:P1.5/C0PS 为比较器 0 正输入端 比较器 CMP0 使能 [0] CMP0EN 0:不使能 1:使能 REV_1.1 129 www.fortiortech.com FU5821 CMP_CR1(0xD6) 20.2.2 表 20-2 CMP_CR1(0xD6) 位 7 6 LCP_MOE_MD 名称 5 4 LCP_IM 3 2 1 0 LCP_MOEH_EN LCP_MOEL_EN RSV LCP_EN 类型 R/W R/W R/W R/W R/W R/W R R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 限流模式设置 限流保护后多长时间恢复检测/输出 [7:6] LCP_MOE_MD 00:一个载波周期 01:半个载波周期 10:9us 11:4us 比较器 LCP 中断模式和关 MOE 触发 00:不产生中断 [5:4] LCP_IM 01:上升沿产生中断和关 MOE 触发 10:下降沿产生中断和关 MOE 触发 11:上升沿但不报中断和关 MOE 触发 限流触发时,上桥 MOE 关断使能和关 MOE 触发 [3] LCP_MOEH_EN 0:不使能 1:使能 限流触发时,下桥 MOE 关断使能和关 MOE 触发 [2] LCP_MOEL_EN 0:不使能 1:使能 [1] RSV [0] LCP_EN 保留 限流比较器 LCP 使能端 0:不使能 1:使能 REV_1.1 130 www.fortiortech.com FU5821 CMP_CR2(0xD9) 20.2.3 表 20-3 CMP_CR2(0xD9) 位 7 6 5 LOCP_DIV 名称 4 OCP_IM 3 2 1 0 OCP_MOEH_EN OCP_MOEL_EN OCP_SRC OCP_EN 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 过流滤波设置 00:160ns(4 CLK) [7:6] LOCP_DIV 01:320ns(8 CLK) 10:640ns(16 CLK) 11:1000ns (24 CLK) 比较器 OCP 中断模式和关 MOE 触发 00:不产生中断 [5:4] OCP_IM 01:上升沿产生中断和关 MOE 触发 10:下降沿产生中断和关 MOE 触发 11:上升/下降沿均产生中断和关 MOE 触发 过流触发时,上桥 MOE 关断使能 [3] OCP_MOEH_EN 0:不使能 1:使能 过流触发时,下桥 MOE 关断使能 [2] OCP_MOEL_EN 0:不使能 1:使能 过流信号源选择: [1] OCP_SRC 0:比较器; 1:INT0 过流比较器 OCP 使能端 [0] OCP_EN 0:不使能 1:使能 REV_1.1 131 www.fortiortech.com FU5821 20.2.4 CMP_CR3(0xDA) 表 20-4 CMP_CR3(0xDA) 位 7 6 HALL_HYS 名称 5 4 3 HCK_SEL HALL_EN HALLPN_DIS 2 1 0 CMPSEL 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 HALL 比较器迟滞电压设置 [7:6] HALL_HYS HALL_HYS[1:0] HALL 比较器迟滞电压 01 30mV 10 20mV 01 10mV (默认值) 00 0mV HCKSEL HALL_CLK 频率 [5] HCK_SEL 0:1.5MHz,默认值 1:0.75MHz HALL 比较器使能端 [4] HALL_EN 0:不使能 1:使能 HALLPN 比较器使能关闭 [3] HALLPN_DIS 0:HALLPN 使能 1:HALLPN 不使能 [2:0] REV_1.1 RSV 保留 132 www.fortiortech.com FU5821 CMP_SR(0xD7) 20.2.5 表 20-5 CMP_SR(0xD7) 位 7 6 5 4 3 2 1 0 名称 CMPXO_CT OCPIF LCPIF CMP0IF OVOUT OCPOUT LCPOUT CMP0OUT 类型 R/W R/W0 R/W0 R/W0 R R R R 0 0 0 0 0 0 0 0 复位 值 字段 [7] 名称 RSV 描述 保留 过流比较 OCP 的中断标记 [6] OCPIF OCP 中断事件产生,该位由硬件置 1。它由软件清 0。 0:无事件产生 1:中断事件产生 限流比较 LCP 的中断标记 [5] LCPIF LCP 中断事件产生,该位由硬件置 1。它由软件清 0。 0:无事件产生 1:中断事件产生 比较 CMP0 的中断标记 [4] CMP0IF CMP0 中断事件产生,该位由硬件置 1。它由软件清 0。 0:无事件产生 1:中断事件产生 过压比较 OV 的比较结果 [3] OVOUT 0:OV 当前的比较结果为 0 1:OV 当前的比较结果为 1 过流比较 OCP 的比较结果 [2] OCPOUT 0:OCP 当前的比较结果为 0 1:OCP 当前的比较结果为 1 限流比较 LCP 的比较结果 [1] LCPOUT 0:LCP 当前的比较结果为 0 1:LCP 当前的比较结果为 1 比较 CMP0 的比较结果 [0] CMP0OUT 0:CMP0 当前的比较结果为 0 1:CMP0 当前的比较结果为 1 REV_1.1 133 www.fortiortech.com FU5821 LCP_DR(0x403A) 20.2.6 表 20-6 LCP_DR(0x403A) 位 7 6 5 4 3 名称 RSV RSV 类型 R R R/W R/W R/W 复位值 0 0 0 0 0 字段 名称 2 1 0 R/W R/W R/W 0 0 0 2 1 0 LCP_DR[5:0] 描述 [7] RSV 保留 [6] RSV 保留 [5:0] LCP_DR LCP 限流保护参考电压设置: 限流 DAC=58mV+4.8mV* LCP_DR[5:0] OCP_DR(0x403B) 20.2.7 表 20-7 OCP_DR(0x403B) 位 7 6 5 4 名称 RSV RSV RSV RSV 类型 R R R R R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 [7:4] RSV 3 OCP_DR[3:0] 描述 保留 OCP 过流保护参考电压设置: [3:0] REV_1.1 OCP_DR OCP_DA_D[3:0] 参考电压(mV) 0 78 1 97 2 116 3 135 4 154 5 173 6 192 7 211 8 240 9 269 A 297 B 326 C 354 D 383 E 412 F 440 134 www.fortiortech.com FU5821 TSD_CR(0x402F) 20.2.8 表 20-8 EVT_FILT(0x402F) 位 7 6 5 4 3 名称 TSDEN 类型 R/W R R R R/W 复位值 0 0 0 0 1 字段 名称 2 1 0 R/W R/W R/W 1 1 1 RSV TSDADJ 描述 温度侦测使能。 [7] TSDEN 0:不使能 1:使能。 [6:4] RSV 保留位 侦测温度阈值调节 [3:0] REV_1.1 TSDADJ TSD_ADJ 保护温度(℃) 1111 71 1110 75 1101 80 1100 84 1011 89 1010 94 1001 99 1000 105 0111 111 0110 116 0101 123 0100 131 0011 136 0010 142 0001 148 0000 155 135 www.fortiortech.com FU5821 低压检测 21 21.1 简介 MCU 低压检测包括三个部分:低电压预警、低电压复位、低电压欠压保护。 21.2 操作说明 VCC LVRSEL[1:0] RST LVWSEL[1:0] LVD LVW_Interrupt_En EN UVLO_Protect_En EN LVWF 图 21-1 低电压检测模块 低压检测模块操作说明如下: ⚫ 低电压预警和低电压复位这两个模块都是默认一直使能的。 ⚫ 低电压预警电压可通过 LVWSEL[1:0]设置为 7/8/9/10V 四个档位,低电压预警可以使能中 断;使能中断后当 VCC 电压低于预警电压设定值时,就会触发中断。 ⚫ 低电压复位电压可通过 LVRSEL[1:0]设置为 2.8/3.0/3.5/3.8V 四个档位。当 VCC 电压低于 复位电压设定值后,芯片就会复位。 ⚫ 低电压欠压保护使能时,芯片有欠压保护。 REV_1.1 136 www.fortiortech.com FU5821 21.3 21.3.1 寄存器 LVSR(0xDB) 表 21-1 LVSR(0xDB) 位 7 5 4 EXT1CFG 名称 类型 6 R/W R/W 复位值 0 字段 名称 3 2 EXT0CFG 1 0 LVWF LVWIF R/W R/W R/W R R R/W 0 0 0 0 0 0 0 描述 外部中断 1 配置 000:配置 P1.1 为外部中断 1 接口 001:配置 P1.2 为外部中断 1 接口 010:配置 P1.3 为外部中断 1 接口 [7:5] EXT1CFG 011:配置 P1.4 为外部中断 1 接口 100:配置 P1.5 为外部中断 1 接口 101:配置 P1.6 为外部中断 1 接口 110:配置 P0.4 为外部中断 1 接口 111:配置 P0.5 为外部中断 1 接口 外部中断 0 配置 000:配置 P0.1 为外部中断 0 接口 001:配置 P0.3 为外部中断 0 接口 010:配置 P0.4 为外部中断 0 接口 [4:2] EXT0CFG 011:配置 P0.5 为外部中断 0 接口 100:配置 P1.1 为外部中断 0 接口 101:配置 P1.2 为外部中断 0 接口 110:配置 P1.4 为外部中断 0 接口 111:配置 P1.5 为外部中断 0 接口 VCC 低电标记 [1] LVWF 低电标记反映当前是否处于低电状态 0:当前没有报警 1:当前低电检测报警 VCC 低电中断标记 该位表示是否曾经发生低电事件,当低电压检测中断使能,产生低电检测中断后,该 [0] LVWIF 位置一,同时进入中断。该位硬件置一,软件写零清零。低电检测中断不使能,该位不 会硬件置一。 0:无事件发生 1:发生低电压检测报警 REV_1.1 137 www.fortiortech.com FU5821 22 FLASH 22.1 简介 MCU 片内提供了 6k 字节的空间。不仅支持全芯片擦除/写入,还支持扇区擦除。 主要特性: ⚫ 每个扇区为 128 字节,共计 48 个扇区 ⚫ 最后一扇区(地址范围:0x1780~0x17FF)任何时刻不会被擦除。 ⚫ 任何处于非保护区域的指令在访问(包括读、写、擦除操作)保护区域时,都会使 MCU 复 位 ⚫ 22.2 扇区擦除和芯片擦除时间约需要 120~150ms 操作说明 为确保对 FLASH 操作的安全性,强烈建议在自烧录前禁止所有中断事件,以免中断处理中的 MOVX 指令对 FLASH 进行误操作。 ⚫ FLASH 在执行擦除和编程操作之前需要先解锁 FLASH,向 FLASH 编程开锁寄存器 FLA_KEY 依次写入 0x5a, 0x1f 后开启软件编程 FLASH 功能。 若顺序不对或者写其它值将使此功能冻结, 直到下一次复位。开锁后,任何一次写 FLA_CR 的动作都将会使 FLA_KEY 再次上锁。 ⚫ 为确保用户程序安全,在进行自写操作前,务必关闭所有中断。以防止 movx 操作误写了 rom_code。 REV_1.1 138 www.fortiortech.com FU5821 22.3 22.3.1 FLASH 寄存器 FLA_CR 表 22-1 FLA_CR(0x85) 位 7 6 名称 RSV 类型 R R 复位值 0 0 字段 名称 5 4 3 2 1 0 FLAERR RSV FLAPRE FLAERS FLAEN R R R R/W R/W R/W 0 0 0 0 0 0 RSV 描述 [7] RSV 保留 [6:5] RSV 保留 编程出错标志,可读 [4] FLAERR 0:对 FLASH 自写时,编程或预编程操作成功。 1:对 FLASH 自写时,编程或预编程操作失败。 [3] RSV 保留 扇区预编程使能,高有效(扇区擦除前须先对本扇区预编程) [2] FLA_SEC_PRE 0:禁止 1:使能 注意:只有在 FLAEN 为 1 时,FLA_SEC_PRE 才起作用 扇区擦除使能 [1] FLAERS 0:禁止 1:使能 注意:只有在 FLAEN 为 1 时,FLAERS 才起作用 编程使能 [0] FLAEN 0:禁止 1:使能 REV_1.1 139 www.fortiortech.com FU5821 22.3.2 FLA_KEY 表 22-2 FLA_KEY(0x84) 位 7 6 5 4 3 2 1 0 FLA_KEY 名称 RSV 名称 FLAKSTA 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 写:FLASH 擦除/编程开锁寄存器 读:高 6 位返回的是 0x00 读:最低 2 位反应的是 FLASH 解锁状态位 FLAKSTA [7:0] FLA_KEY 00:上锁 01:0x5A 已经写入,等待 0x1F 写入 11:开锁 10:冻结 REV_1.1 140 www.fortiortech.com FU5821 23 CRC(循环冗余校验计算单元) 23.1 CRC 功能框图 8 8 Automatic CRC Controller CRC_DIN Flash Memory CRC_CR AUTOINT CRCDONE CRCDINI CRCVAL CRC Engine CRC_CNT 16 CRCPNT RESULT 8 8 2 TO 1 MUX 8 CRC_DR 图 23-1 CRC 功能框图 CRC(循环冗余校验计算单元)是根据固定的生成多项式得到任一 8 位数据的 CRC 计算结果。 如图 23-1 所示,CRC 接收 CRC_DIN 寄存器的 8 位数据,计算完成后将 16 位结果发送至内部寄存 器,通过 CRCPNT 和 CRC_DR 间接访问内部结果寄存器。 表 23-1 CRC 标准与生成多项式 CRC 标准 序号 23.2 1 CRC12 x^12+x^11+x^3+x^2+x+1 80F 2 CRC16 x^16+x^15+x^2+1 8005 3 CRC16-CCITT x^16+x^12+x^5+1 1021 4 CRC32 x^32+x^26+x^23+x^22+x^16+x^12 +x^11+x^10+x^8+x^9+x^5+x^4+x+1 04C11DB7 CRC16 生成多项式 FU5821 选择基于 CRC16-CCITT 标准的生成多项式: 23.3 16 进制表示 生成多项式 X 16 + X 12 + X 5 + 1 。 CRC16 基本逻辑图 如图 23-2 所示是串行 CRC16 电路原理图,FU5821 采用并行算法实现,对每个输入字节 MCU REV_1.1 141 www.fortiortech.com FU5821 用一个系统时钟即可计算出结果。 ● X X3 X2 1 2 X6 7 X5 ● 4 5 X8 X9 X10 X7 6 X4 3 8 9 10 X13 X11 11 X14 X15 X16 X12 13 12 14 15 16 图 23-2 CRC16 电路原理图 23.4 23.4.1 操作说明 计算单个字节的 CRC 要计算单个字节的 CRC 值,请按以下步骤进行: 1、 根据需要,初始化 CRC_DR,这里有两种方式可以初始化:如果初始值为 0x0000 或 0xFFFF, 那么可以通过配置 CRC_CR[CRCVAL]并且将 CRC_CR[CRCDINI]置 1;如果想初始值为任意值, 那么可以通过 CRC_CR[CRCPNT]和 CRC_DR 配合进行 CRC 初始操作。 2、 向输入数据寄存器 CRC_DIN 写入一个数据,例如 0x63,则在下一个时钟周期内,CRC 结果 将被计算出来 3、 读取 CRC 结果:写 CRC_CR[CRCPNT]位为 1,软件读取结果输出寄存器 CRC_DR,得到高 字节数据;写 CRC_CR[CRCPNT]位为 0,再读 CRC_DR,得到低字节数;合并起来就是正确的 CRC 结果。 23.4.2 批量计算 ROM 数据 CRC 要计算 ROM 中某片连续区域数据的 CRC 值,请按以下步骤进行: 1、 初始化 CRC_DR,方法同单字节 CRC 初始化; 2、 向 CRC_BEG 写入适当值,设置要计算的 ROM 的起始扇区; 3、 向 CRC_CNT 写入适当值,设置起始扇区到结束扇区的扇区偏移量 4、 向 CRC_CR[AUTOINT]写 1,保持其它位不变,会启动自动计算过程。 5、 读取 CRC 结果的方法同单字节 CRC 的读取方法 REV_1.1 142 www.fortiortech.com DATA_IN   FU5821 3FFF … 0x03FF … 128 sectors 0x007F … A sector 0x0001 0x0000 图 23-3 ROM 访问分区图 如图 23-3 所示。整个 ROM 共 16K 字节,分成 128 个 sector,编号从 sector0 到 sector127。 每个 sector 包含 128 个字节。在进行 CRC 批量计算时,起始 sector 的值 CRC0BEG 可以是 0x00~ 0x7F 之间的任何值,包括 0x00 和 0x7F;需要计算的 sector 总数的数值 CRC0CNT 可以是 0x00~ 0x7F,包括 0x00 和 0x7F。 需要注意的是,随着 CRC_BEG 的值的增大,CRC_CNT 的值应该相应减小。例如,如果 CRC_BEG 的值为 0x7F,则 CRC_CNT 的值只能是 0x00,即只能计算最后一个 sector 中数据的 CRC 值。此时,如果不小心将 CRC_CNT 的值设置为 0x01 或更大的值,则 CRC 控制器硬件会自 动限制计算的字节数,使 CRC 引擎只计算最后一个 sector 中数据的 CRC 值。 REV_1.1 143 www.fortiortech.com FU5821 23.5 CRC 寄存器 控制寄存器:CRC_CR(0x4022) 23.5.1 表 23-2 CRC_CR(0x4022) 位 7 6 5 RSV 名称 4 3 2 1 0 CRCDONE CRCDINI CRCVAL AUTOINT CRCPNT 类型 R R R R R/W R/W R/W R/W 复位值 0 0 0 1 0 0 0 0 字段 名称 [7:5] RSV 描述 保留 自动 CRC 计算完成标志。 [4] CRCDONE 在自动 CRC 计算模式过程中,硬件自动将这一位写 0,并且软件代码也会停止执行; 在其它情况下,硬件自动将这一位置为 1,所以,软件读取这一位始终返回 1。 CRC 结果初始化使能 0:初始化无效 [3] CRCDINI 1:初始化有效; 当软件向这一位写 1 时,硬件并没有真正将 1 写入此位,而是同步产生一个时钟周期 的高电平脉冲,送到 CRC 引擎,作为 CRC 结果初始化的条件。所以,不管软件向这 一位写入什么值,读取时总是返回 0。 CRC 结果初始化选择位。 [2] CRCVAL 0:将 CRC 结果初始化为 0x0000 1:将 CRC 结果初始化为 0xFFFF CRC 自动计算使能。 当向此位写 1 时,会自动对 Flash 的某片连续的块中的数据进行 CRC 计算。计算的起 [1] AUTOINT 始块为 CRC0BEG,共计算 CRC0CNT 个块。 注:在启用自动 CRC 计算功能之前,应先将其它位配置好,再将这一位写 1。换句说 话,这一位不能与其它位同时配置。 CRC 结果指针。 [0] CRCPNT 0:读取 CRC0DATA 寄存器时,访问的是 16 位 CRC 结果的低字节(7-0 位) 1:读取 CRC0DATA 寄存器时,访问的是 16 位 CRC 结果的高字节(15-8 位) 注:由于 CRC 计算过程分为两大类,一类是单个字节的 CRC 计算,一类是 ROM 数据批量 CRC 自动计算。向控制寄存器 CRC0STA 的 bit[1]写入 1,会立即启动 CRC 自动计算过程。如果要 计算软件写入 CRC0DIN 寄存器中的单个字节的 CRC 值,则 CRC0STA 寄存器的 bit[1]只能为 0。 REV_1.1 144 www.fortiortech.com FU5821 23.5.2 输入数据寄存器:CRC_DIN(0x4021) 表 23-3 CRC0DIN(0x4021) 位 7 6 5 4 3 2 1 0 CRC_DIN 名称 类型 W W W W W W W W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 CRC 模块输入数据。 [7:0] CRC_DIN 每次向此寄存器写入一个数据时,CRC 模块就自动在现有 CRC 结果的基础上,根据输 入数据计算出新的 CRC 结果,并覆盖原 CRC 结果。 注:此寄存器是一个虚拟寄存器,写入的数据并不保存。读取此地址时返回 0x00。 23.5.3 结果输出寄存器:CRC_DR(0x4023) 表 23-4 CRC_DAT(0x4023) 位 7 6 5 4 3 2 1 0 CRC_DR 名称 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 CRC 结果输出。 [7:0] CRC_DR 每次读、写此寄存器时,会根据控制寄存器 CRC0STA 中的结果指针 CRC0PNT 来决定 访问的是 CRC 结果的高字节还是低字节。 注:由于此寄存器的值除了直接由软件决定以外,还可由其它信号导致发生变化,所以直接放 在 CRC 模块内部,而不放在寄存器专用模块里。 REV_1.1 145 www.fortiortech.com FU5821 自动计算起点寄存器:CRC_BEG(0x4024) 23.5.4 表 23-5 CRC_BEG(0x4024) 位 7 名称 RSV 类型 R R/W R/W R/W 复位值 0 0 0 0 字段 名称 [7] RSV 6 5 4 3 2 1 0 R/W R/W R/W R/W 0 0 0 0 CRC_BEG 描述 保留 自动计算 CRC 的 ROM 起始 sector。 [6:0] CRC_BEG 例如:如果 CRC0BEG[7:0]的值是 1,每个 Sector size 是 256 个字节,则自动 CRC 计 算的起始地址是:1×256=256,实际上是从第二个 sector 的第一个字节开始 自动计算块数寄存器:CRC_CNT(0x4025) 23.5.5 表 23-6 CRC_CNT(0x4025) 位 7 名称 RSV 类型 R R/W R/W R/W 复位值 0 0 0 0 字段 名称 7 RSV 6 5 4 3 2 1 0 R/W R/W R/W R/W 0 0 0 0 CRC_CNT 描述 保留 自动 CRC 计算的扇区偏移。 [6:0] CRC_CNT 此值定义了需要计算 CRC 值的 ROM 扇区的偏移,通过此值可决定自动 CRC 计算的结 束扇区。 REV_1.1 146 www.fortiortech.com FU5821 休眠模式 24 24.1 简介 FU5821 系列提供了三种工作模式:正常,待机和睡眠。通过设置寄存器 PCON 的值选择不同的 工作模式。 各种功耗模式下的模块工作情况总结如表 24-1 所示: 表 24-1 功耗模式 电源 描述 模式 正常 唤醒源 NA 除去被关掉的外设,其他模块全速工作 CPU 时钟被门控,其他功能模块关闭或工作, 待机 由其控制位决定。 看门狗时钟被门控住。 功耗性能 功耗较高, 性能最好。 任何中断 功耗低 外部/Debug 复位 性能灵活 外部中断, 功耗很低 外部/Debug 复位 性能灵活 FLASH Deep-Sleep。 模拟快时钟电路关闭,MCU 软件应注意在进入 睡眠 睡眠前,确保 ADC、TIM1、电机控制/驱动电路 已处于空闲。 看门狗时钟被关闭。 REV_1.1 147 www.fortiortech.com FU5821 24.2 PCON 寄存器 表 24-2 PCON(0x87) 位 7 6 RSV 名称 5 4 3 2 1 0 GF3 GF2 GF1 LDOM STOP IDLE 类型 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 字段 名称 描述 [7:6] RSV 保留 [5] GF3 通用标志位 3 [4] GF2 通用标志位 2 [3] GF1 通用标志位 1 LDO5 深度睡眠选择 [2] LDOM 0 :STOP 睡眠时 LDO5 正常工作。 1 :STOP 睡眠时 LDO5 低耗电模式。 [1] STOP 写 1 使芯片进入睡眠模式,唤醒后由硬件自动清 0 写 1 使芯片进入待机模式,唤醒后由硬件自动清 0 功耗模式: [0] IDLE {STOP,IDLE} =1x,系统睡眠 {STOP,IDLE} =01,系统待机 {STOP,IDLE} =00,系统正常工作 REV_1.1 148 www.fortiortech.com FU5821 代码保护 25 25.1 简介 MCU 提供了一种 FALSH 全芯片加密的方式用于保护客户的软件知识产权。此功能可以很好的 保护软件免受非法的用户操作。当 FLASH 被加密后,里面的数据无法读取,只能通过硬件 CRC 校 验来对比程序是否一致。 25.2 操作说明 图 25-1 代码保护配置 REV_1.1 149 www.fortiortech.com FU5821 图 25-2 代码保护 全保护模式 芯片支持用户对烧录到 FLASH 的代码加密进行知识产权保护,方法及步骤依次如图 25-1 和图 25-2 所示: 步骤一: 打开 8051 集成开发工具,编译前进入 Target Options 中并选择 Debug 选项卡,按照上图 25-1 所 示进行选择,并点击 Settings 进入下一步设置。 步骤二: 按照图 25-2 所示进行选择并设置,点击 OK。然后编译工程并下载,得到的.BIN 文件,烧录到 FLASH 中之后即可达到代码保护的效果。 需要说明的是,芯片具有全代码保护模式,图 25-2 所示设置为全代码保护模式,设置之后 FLASH 中的所有代码都会被保护。 每扇区大小为 128 字节。 REV_1.1 150 www.fortiortech.com FU5821 Copyright Notice Copyright by Fortior Technology (Shenzhen) Co., Ltd. All Rights Reserved. Right to make changes —Fortior Technology (Shenzhen) Co., Ltd RSVs the right to make changes in the products - including circuits, standard cells, and/or software - described or contained herein in order to improve design and/or performance. The information contained in this manual is provided for the general use by our customers. Our customers should be aware that the personal computer field is the subject of many patents. Our customers should ensure that they take appropriate action so that their use of our products does not infringe upon any patents. It is the policy of Fortior Technology (Shenzhen) Co., Ltd. to respect the valid patent rights of third parties and not to infringe upon or assist others to infringe upon such rights. This manual is copyrighted by Fortior Technology (Shenzhen) Co., Ltd. You may not reproduce, transmit, transcribe, store in a retrieval system, or translate into any language, in any form or by any means, electronic, mechanical, magnetic, optical, chemical, manual, or otherwise, any part of this publication without the expressly written permission from Fortior Technology (Shenzhen) Co., Ltd. Fortior Technology(Shenzhen) Co.,Ltd. Room203,2/F, Building No.11,Keji Central Road2, SoftwarePark, High-Tech Industrial Park, Shenzhen, P.R. China 518057 Tel: 0755-26867710 Fax: 0755-26867715 URL: http://www.fortiortech.com Contained herein Copyright by Fortior Technology (Shenzhen) Co.,Ltd all rights Reserved. REV_1.1 151 www.fortiortech.com
FU5821T 价格&库存

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

免费人工找货
FU5821T
  •  国内价格
  • 1+2.47200

库存:5

FU5821T
    •  国内价格
    • 1+5.08680
    • 10+4.11480
    • 30+3.62880
    • 100+3.14280
    • 500+2.85120
    • 1000+2.70000

    库存:2869