BL6531/BL6536 电能表专用 MCU 芯片 BL6531/6536 用户手册 V1.2.1 版本号 修改日期 修改内容 V0.1 2013-11-25 初稿 Nick V0.2 2013-12-03 对初稿问题进行修改 Nick V1.0 2013-12-10 可对外发布版本 Nick V1.1 2014-02-25 增加 BL6536 相关内容 Nick V1.2 2014-05-06 1.增加交流电气特性;2.更新 GPIO 端口、LCD 显示驱动、时钟管理等 Austin V1.2.1 2014-05-07 修订了管脚图,序号等 bug。 Austin 1/158 v1.2 修改人 BL6531/BL6536 电能表专用 MCU 芯片 目录 1. 概述 .................................................................................................................................. 9 1.1 产品概述.................................................................................................................................... 9 1.2 结构框图.................................................................................................................................. 10 1.3 管脚定义.................................................................................................................................. 11 1.4 封装形式................................................................................................................................. 13 2. CPU 结构 ......................................................................................................................... 15 2.1 R8051XC2 内核概述 ................................................................................................................ 15 2.2 存储空间.................................................................................................................................. 15 2.3 指令集...................................................................................................................................... 16 2.4 CPU 特殊功能寄存器说明 ...................................................................................................... 21 3. 存储单元 ......................................................................................................................... 24 3.1 概述.......................................................................................................................................... 24 3.2 Flash 特性 ................................................................................................................................ 24 3.3 存储器映射 ............................................................................................................................. 24 3.4 FLASH 的操作........................................................................................................................... 25 3.5 FlASH 操作特殊功能寄存器 .................................................................................................... 28 4. 中断系统 ......................................................................................................................... 31 4.1 概述.......................................................................................................................................... 31 4.2 中断列表.................................................................................................................................. 31 4.3 中断优先级 .............................................................................................................................. 32 4.4 特殊功能寄存器 ...................................................................................................................... 32 4.5 中断处理.................................................................................................................................. 38 5. 时钟管理 ......................................................................................................................... 39 5.1 概述.......................................................................................................................................... 39 5.2 晶体振荡器 .............................................................................................................................. 40 5.3 片内 RC 振荡器 ....................................................................................................................... 40 5.4 PLL 振荡器 ............................................................................................................................... 40 5.5 时钟控制寄存器 ...................................................................................................................... 41 6. GPIO 端口 ....................................................................................................................... 44 6.1 概述.......................................................................................................................................... 44 6.2 GPIO 结构框图......................................................................................................................... 46 6.3 GPIO 配置寄存器..................................................................................................................... 46 7. 定时器............................................................................................................................. 49 2/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 7.1 概述.......................................................................................................................................... 49 7.2 定时器工作模式 ...................................................................................................................... 49 7.3 定时器 0................................................................................................................................... 50 7.4 定时器 1................................................................................................................................... 52 7.5 定时器 2................................................................................................................................... 53 7.6 定时器 3 和定时器 4 ............................................................................................................... 55 7.7 定时器配置寄存器 ................................................................................................................. 55 8. UART 接口 ....................................................................................................................... 65 8.1 概述.......................................................................................................................................... 65 8.2 UART0 接口 .............................................................................................................................. 65 8.3 UART1 接口 .............................................................................................................................. 68 8.4 UART2 和 UART3 接口 ............................................................................................................. 70 8.5 红外载波调制 .......................................................................................................................... 70 8.6 极性自适应 .............................................................................................................................. 70 8.7 UART 配置寄存器 .................................................................................................................... 70 9. SPI 接口 ........................................................................................................................... 79 9.1 概述.......................................................................................................................................... 79 9.2 模块框图.................................................................................................................................. 79 9.3 功能描述.................................................................................................................................. 80 9.4 SPI 接口配置寄存器 ................................................................................................................ 83 10. I2C 接口 .......................................................................................................................... 86 10.1 概述........................................................................................................................................ 86 10.2 结构框图................................................................................................................................ 86 10.3 功能描述................................................................................................................................ 86 10.4 I2C 接口配置寄存器 .............................................................................................................. 92 11. 7816 接口 ........................................................................................................................ 96 11.1 概述........................................................................................................................................ 96 11.2 结构框图................................................................................................................................ 97 11.3 接口时序................................................................................................................................ 97 11.4 工作流程................................................................................................................................ 99 11.5 中断说明.............................................................................................................................. 101 11.6 7816 接口配置寄存器 ......................................................................................................... 101 12. 实时时钟(RTC) ......................................................................................................... 113 12.1 概述...................................................................................................................................... 113 12.2 结构框图.............................................................................................................................. 114 12.3 功能说明.............................................................................................................................. 114 12.4 实时时钟配置寄存器 .......................................................................................................... 115 13. LCD 显示驱动 ................................................................................................................ 124 13.1 概述...................................................................................................................................... 124 13.2 结构框图.............................................................................................................................. 124 3/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 13.3 模拟驱动.............................................................................................................................. 124 13.4 功能说明.............................................................................................................................. 125 13.5 显示驱动配置寄存器 .......................................................................................................... 126 14. 模数转换器(ADC) ..................................................................................................... 139 14.1 概述...................................................................................................................................... 139 14.2 结构框图.............................................................................................................................. 139 14.3 功能说明.............................................................................................................................. 139 14.4 ADC 配置寄存器 .................................................................................................................. 139 15. 温度传感器 ................................................................................................................... 141 15.1 概述...................................................................................................................................... 141 15.2 温度传感器配置寄存器 ...................................................................................................... 141 16. 电压比较器 ................................................................................................................... 143 16.1 概述...................................................................................................................................... 143 16.2 比较器配置寄存器 .............................................................................................................. 143 17. 看门狗及系统复位........................................................................................................ 147 17.1 概述...................................................................................................................................... 147 17.2 功能说明 .............................................................................................................................. 147 17.3 看门狗及复位配置寄存器 .................................................................................................. 147 18. 低功耗模式 ................................................................................................................... 149 18.1 概述...................................................................................................................................... 149 18.2 功能说明.............................................................................................................................. 149 18.3 掉电模式配置寄存器 .......................................................................................................... 149 19. JTAG 调试 ...................................................................................................................... 152 19.1 概述...................................................................................................................................... 152 19.2 功能说明.............................................................................................................................. 152 20. 电气特性 ....................................................................................................................... 153 20.1 极限参数.............................................................................................................................. 153 20.2 直流电气特性 ...................................................................................................................... 153 20.3 交流电气特性 ...................................................................................................................... 153 21. 使用上的注意事项........................................................................................................ 158 4/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 表目录 表 2- 1 指令集列表符号说明 ................................................................................................ 16 表 2- 2 指令集 ........................................................................................................................ 17 表 3- 1 FLASH 操作控制相关寄存器表 ............................................................................... 28 表 3- 2 MCON 寄存器 ........................................................................................................... 29 表 3- 3 PCON 寄存器............................................................................................................. 29 表 3- 4 PAGESEL 寄存器 ...................................................................................................... 30 表 4- 1 BL6531 中断系统 ...................................................................................................... 31 表 4- 2 中断组优先级控制表 ................................................................................................ 32 表 4- 3 中断优先级表 ............................................................................................................ 32 表 4- 4 中断系统寄存器列表 ................................................................................................ 32 表 4- 5 IEN0 中断使能寄存器 0(A8H) ............................................................................ 33 表 4- 6 IEN1 中断使能寄存器 1(B8H) ............................................................................ 33 表 4- 7 IEN2 中断使能寄存器 2(9AH) ............................................................................ 34 表 4- 8 IEN4 中断使能寄存器 4(D1H) ............................................................................ 35 表 4- 9 中断标志寄存器 IRCON(C0H)............................................................................ 36 表 4- 10 中断标志寄存器 IRCON2(BFH) ....................................................................... 37 表 4- 11 IP0 优先级控制寄存器 0(A9H) ......................................................................... 37 表 4- 12 IP1 优先级控制寄存器 1(B9H) ......................................................................... 38 表 5- 1 时钟控制寄存器列表 ................................................................................................ 41 表 5- 2 时钟设置写保护寄存器 ............................................................................................ 41 表 5- 3 时钟设置寄存器 ........................................................................................................ 41 表 5- 4 时钟选择寄存器 ........................................................................................................ 41 表 5- 5 PLL 分频寄存器 ........................................................................................................ 42 表 5- 6 时钟状态寄存器 ........................................................................................................ 42 表 6- 1 GPIO 控制寄存器列表 .............................................................................................. 46 表 6- 2 GPIO 端口配置寄存器 .............................................................................................. 47 表 6- 3 GPIO 端口寄存器 ...................................................................................................... 47 表 6- 4 GPIO4 中断使能寄存器 ............................................................................................ 48 表 6- 5 GPIO4 中断标志寄存器 ............................................................................................ 48 表 7- 1 定时器控制寄存器列表 ............................................................................................ 55 表 7- 2 定时器 0、定时器 1 控制寄存器(TCON 0x88H) .................................................... 56 表 7- 3 定时器 0、定时器 1 模式寄存器(TMOD 0x89H) ................................................... 56 表 7- 4 定时器 1 计数器高 8 位(TH1) ............................................................................. 57 表 7- 5 定时器 1 计数器低 8 位(8BH,TL1) ..................................................................... 57 表 7- 6 定时器 0 计数器高 8 位(8CH,TH0) .......................................................................... 58 表 7- 7 定时器 0 计数器低 8 位(8AH,TL0) ..................................................................... 58 表 7- 8 定时器 2 控制寄存器(T2CON 0xC8H) .................................................................... 58 表 7- 9 定时器 2 计数器高 8 位(0CDH,TH2) .................................................................. 59 表 7- 10 定时器 2 计数器低 8 位(0CCH,TL2) ................................................................ 59 表 7- 11 定时器 2 比较/捕获功能配置寄存器(0xC1,CCEN) ...................................... 59 表 7- 12 定时器 2 的 CRC 高 8 位寄存器(CBH,CRCH) ................................................... 60 5/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 表 7- 13 定时器 2 的 CRC 低 8 位寄存器(CAH,CRCL) ................................................... 60 表 7- 14 定时器 2 的 CC1 高 8 位寄存器(C2H,CC1H) ..................................................... 60 表 7- 15 定时器 2 的 CC1 低 8 位寄存器(C3H,CC1L) ..................................................... 61 表 7- 16 定时器 2 的 CC2 高 8 位寄存器(C4H,CC2H) ..................................................... 61 表 7- 17 定时器 2 的 CC2 低 8 位寄存器(C5H,CC2L) ..................................................... 61 表 7- 18 定时器 2 的 CC3 高 8 位寄存器(C6H,CC3H) ..................................................... 61 表 7- 19 定时器 2 的 CC3 低 8 位寄存器(C7H,CC3L) ..................................................... 61 表 7- 20 定时器 3 控制寄存器(T3CON 0x91H) ................................................................... 62 表 7- 21 定时器 3 计数器高 8 位(TH3) ........................................................................... 62 表 7- 22 定时器 3 计数器低 8 位(TL3) ............................................................................ 62 表 7- 23 定时器 4 控制寄存器(T4CON 0x9EH) ................................................................... 63 表 7- 24 定时器 4 计数器高 8 位(TH4) ........................................................................... 63 表 7- 25 定时器 4 计数器低 8 位(9FH,TL4).................................................................... 64 表 8- 1 UART 配置寄存器列表 ............................................................................................. 70 表 8- 2 串口0 控制寄存器(S0CON 98H).............................................................................. 71 表 8- 3 串口0 缓冲寄存器(S0BUF 99H) .............................................................................. 72 表 8- 4 串口1 控制寄存器(S1CON 9BH) ............................................................................. 72 表 8- 5 串口1 缓冲寄存器(S1BUF 9CH).............................................................................. 73 表 8- 6 PControl Rigister(PCON 87H) ................................................................................... 73 表 8- 7 AD Control Rigister(ADCON D8H)........................................................................... 73 表 8- 8 串口0 波特率重载寄存器(S0RELL ,AAH) ........................................................ 73 表 8- 9 串口0 波特率重载寄存器(S0RELH ,BAH) ....................................................... 73 表 8- 10 串口1 波特率重载寄存器(S1RELL ,9DH)........................................................ 74 表 8- 11 串口 1 波特率重载寄存器(S1RELH ,BBH) ..................................................... 74 表 8- 12 串口 2 控制寄存器(S2CON B7H) .......................................................................... 74 表 8- 13 串口2 波特率重载寄存器(S2RELL ,BCH) ...................................................... 75 表 8- 14 串口 2 波特率重载寄存器(S2RELH ,BDH) ..................................................... 75 表 8- 15 串口2 缓冲寄存器(S2BUF BEH) ........................................................................... 75 表 8- 16 串口 3 控制寄存器(S3CON E5H) ........................................................................... 75 表 8- 17 串口3 波特率重载寄存器(S3RELL ,E6H) ....................................................... 76 表 8- 18 串口 3 波特率重载寄存器(S3RELH ,E7H)....................................................... 76 表 8- 19 串口3 缓冲寄存器(S3BUF E8H) ............................................................................ 77 表 8- 20 串口 1 极性控制寄存器(S1POL ABH).................................................................... 77 表 8- 21 串口奇偶校验控制寄存器(SPAR ACH) .................................................................. 77 表 8- 22 串口奇偶校验控制寄存器(SPAREER ADH) .......................................................... 78 表 9- 1 SPI 配置寄存器列表 .................................................................................................. 83 表 9- 2 SPI 控制寄存器SPCON (E2H) ................................................................................. 83 表 9- 3 SPI 状态寄存器SPSTA(E1H) .............................................................................. 84 表 9- 4 SPI 数据寄存器SPDAT(E3H) .............................................................................. 85 表 9- 5 SPI 从机选择寄存器SPSSN (E4H) .................................................................... 85 表 10- 1 I2C 接口配置寄存器 ............................................................................................... 92 表 10- 2 I2C DAT I2C 数据寄存器(DAH) ......................................................................... 92 表 10- 3 I2CADR I2C 地址寄存器(DBH) ..................................................................... 92 表 10- 4 I2CCON I2C 控制寄存器(DCH) ...................................................................... 93 6/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 表 10- 5 I2CSTA I2C 状态寄存器(DDH) ...................................................................... 94 表 10- 6 I2C2DAT I2C2 数据寄存器(D2H) .................................................................... 94 表 10- 7 I2C2ADR I2C2 地址寄存器(D3H) .................................................................... 95 表 10- 8 I2C2CON I2C2 控制寄存器(D4H) ..................................................................... 95 表 10- 9 I2C2STA I2C2 状态寄存器(D5H) ................................................................. 95 表 11- 1 7816A 寄存器表..................................................................................................... 102 表 11- 2 7816B 寄存器表 ..................................................................................................... 102 表 11- 3 7816 数据发送缓冲寄存器.................................................................................... 102 表 11- 4 7816 数据接收缓冲寄存器.................................................................................... 103 表 11- 5 7816 端口控制寄存器............................................................................................ 103 表 11- 6 7816 时钟分频控制寄存器.................................................................................... 104 表 11- 7 7816ETU 控制寄存器 ............................................................................................ 104 表 11- 8 7816 帧格式控制寄存器 0..................................................................................... 106 表 11- 9 7816 帧格式控制寄存器 1..................................................................................... 107 表 11- 10 7816EGT 配置寄存器 .......................................................................................... 109 表 11- 11 7816 中断使能寄存器 .......................................................................................... 109 表 11- 12 7816 中断指示寄存器.......................................................................................... 110 表 11- 13 7816 状态寄存器.................................................................................................. 112 表 12- 1 实时时钟控制寄存器 ............................................................................................ 115 表 12- 2 秒寄存器 ................................................................................................................ 115 表 12- 3 分寄存器 ................................................................................................................ 115 表 12- 4 小时寄存器 ............................................................................................................ 115 表 12- 5 日寄存器 ................................................................................................................ 116 表 12- 6 星期寄存器 ............................................................................................................ 116 表 12- 7 月寄存器 ................................................................................................................ 116 表 12- 8 年寄存器 ................................................................................................................ 116 表 12- 9 定时器 0 寄存器 .................................................................................................... 117 表 12- 10 定时器 1 寄存器 .................................................................................................. 117 表 12- 11 定时器设置寄存器............................................................................................... 117 表 12- 12 闹钟秒寄存器 ...................................................................................................... 118 表 12- 13 闹钟分钟寄存器 .................................................................................................. 118 表 12- 14 闹钟小时寄存器 .................................................................................................. 119 表 12- 15 中断使能寄存器 .................................................................................................. 119 表 12- 16 实时时钟中断标志寄存器 .................................................................................. 120 表 12- 17 实时时钟设置寄存器 .......................................................................................... 120 表 12- 18 实时时钟β 参数寄存器 ...................................................................................... 121 表 12- 19 实时时钟 T0 参数寄存器 .................................................................................... 121 表 12- 20 实时时钟 S0 参数低 8 位寄存器......................................................................... 122 表 12- 21 实时时钟 S0 参数高 1 位寄存器......................................................................... 122 表 12- 22 温度传感器使能定时器寄存器........................................................................... 122 表 13- 1 显示控制寄存器 .................................................................................................... 126 表 13- 2 显示设置寄存器 .................................................................................................... 126 表 13- 3 显示驱动设置寄存器 ............................................................................................ 127 表 13- 4 显示闪烁控制寄存器 ............................................................................................ 128 7/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 表 13- 5 显示数据寄存器 .................................................................................................... 128 表 13- 6 4COM 的显示数据寄存器组合 ............................................................................ 129 表 13- 7 6COM 的显示数据寄存器组合 ............................................................................ 131 表 13- 8 8COM 的显示数据寄存器组合 ............................................................................ 133 表 13- 9 LED 的显示数据寄存器组合 ................................................................................ 135 表 14- 1 ADC 控制状态寄存器 ........................................................................................... 139 表 14- 2 ADC 测量结果寄存器 ........................................................................................... 140 表 14- 3 ADC 测量结果寄存器 ........................................................................................... 140 表 15- 1 温度传感器结果高位寄存器 ................................................................................ 141 表 15- 2 温度传感器结果低位寄存器 ................................................................................ 141 表 15- 3 温度传感器控制寄存器 ........................................................................................ 141 表 16- 1 比较器中断使能寄存器 ........................................................................................ 143 表 16- 2 比较器中断标志寄存器 ........................................................................................ 143 表 16- 3 5V 电源比较器阈值配置寄存器........................................................................... 144 表 16- 4 比较器中断控制寄存器 ........................................................................................ 144 表 16- 5 比较器配置寄存器 ................................................................................................ 145 表 16- 6 比较器结果寄存器 ................................................................................................ 146 表 17- 1 看门狗 1 重装载寄存器 ........................................................................................ 147 表 17- 2 复位寄存器 ............................................................................................................ 147 表 18- 1 节电模式配置寄存器 ............................................................................................ 149 表 18- 2 节电模式控制寄存器 ............................................................................................ 150 表 18- 3 节电模式写保护寄存器 ........................................................................................ 150 表 18- 4 唤醒配置寄存器 .................................................................................................... 151 表 18- 5 节电模式时钟配置寄存器 .................................................................................... 151 8/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 1. 概述 1.1 产品概述 BL6531/6536 是一颗高性能 8 位 MCU 芯片,芯片采用增强型的 R8051XC2 内核,内部 集成大容量 FLASH 存储器、LCD 显示驱动、自动温补的高精度 RTC、UART 接口、IIC 接 口、SPI 接口、硬件 7816 接口等。BL6531 和 BL6536 的区别在于 BL6536 的晶体内置。 增强型 R8051XC2 内核,具有 1 振荡周期/指令周期,比传统 12 振荡周期/指令周期的 8051 内核,指令执行更加高效。同时,该内核保留了标准 8051 内核的大部分特性,使 用方便,运行稳定可靠。 集成高频 PLL 电路和低频时钟晶体振荡电路,为系统提供两类工作频率:高频 (14.7456MHZ、7.3728 MHZ、3.6864 MHZ、1.8432 MHZ)和低频(32.768KHZ) 。 集成丰富的存储器资源,包括 96K 的 FLASH 程序存储器、256 字节内部数据寄存器、 4K 字节外部数据寄存器和 32K 字节的 FLASH 外部数据存储器。 具有 59 个 GPIO 接口,分为 8 组,分别为 GPIO0-GPIO7。其中,GPIO4.0-GPIO4.7 可 实现外部输入中断。 具有 19 个中断,支持 4 级中断优先级。 具有 5 个 16 位定时器,分别为 TIMER0- TIMER4。 具有 4 个 UART 接口,分别为 UART0-UART3。所有 UART 接口都具有硬件奇偶校验 的功能,其中,UART0、UART1 支持红外调制输出,UART1 支持通信极性自适应。 具有 1 个 SPI 接口,SPI 通信速率可配置,最大支持 500KHZ,同时也支持光耦通信时 小于 10KHZ 的低速率。 具有 2 个 IIC 接口,IIC 通信速率可配置。 具有 2 个 7816 接口,符合 ISO/IEC 7816 通讯协议。 集成高精度 RTC 和温度传感器,可自动实现温度补偿,其中 BL6536 无需外接晶体。 集成 LCD 驱动,最大可支持 4COM*40SEG、6COM*30SEG、8COM*28SEG。 集成 1 个 4 通道的 12 位 ADC,可实现电池电压检测。 集成 3 个电源电压比较器,可实现掉电检测。 集成的 2 个硬件看门狗电路,其中 1 个看门狗上电自动打开,默认刷新时间为 1.8s,不 能关闭。 支持 SLEEP 和 STOP 两种低功耗模式,SLEEP 模式下,芯片功耗可以降低到 10uA, STOP 模式,芯片功耗可降低到 6uA。 芯片的工作电压范围为 2.2V-5.5V。 芯片可通过 JTAG 模块实现在线调试和在线编程,支持断点调试。 9/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 1.2 结构框图 Digital Module PMU Analog Module RMU POR PWR_DET PDR PMU_ BAT_DET ANA MLDO LPLDO CMU_ANA CMU SPI IIC 1K NVR Flash 8051 3840B XRAM RTC LCDC Memory BUS MEMC 128K Flash LCD_DVR WDT TIMER0,1,2 ,3,4 UART0,1,2,3 TSensor GPIO 7816SCI0,1 IFRD 图 1-1 系统框图 10/158 v1.2 XT_OSC RC_OSC SFR BUS OCDS 256B IRAM TSensor_ ADC PLL BL6531/BL6536 电能表专用 MCU 芯片 GPIO1.4/7816_CLKA GPIO1.5/7816_OA GPIO3.3/SEG27 GPIO3.2/SEG26 GPIO3.1/SEG25 GPIO3.0/SEG24 SEG23 SEG22 SEG21 GPIO7.7/SEG20 GPIO7.6/SEG19 GPIO7.5/SEG18 GPIO7.4/SEG17 GPIO7.3/SEG16 GPIO7.2/SEG15 GPIO7.1/SEG14 GPIO7.0/SEG13 GPIO0.4/SCL0 GPIO0.5/SDA0 GPIO0.6/RXD3/SCL1 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 1.3 管脚定义 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 BL6531/6 GPIO0.7/TXD3/SDA1 GPIO4.1/SEG33 RSTB JTAG GPIO0.3/JTAG_TDO GPIO0.2/JTAG_TMS GPIO0.1/JTAG_TDI GPIO0.0/JTAG_TCK GPIO5.7/CMP1/ADC0 GPIO1.3/SPSSN GPIO1.2/MOSI GPIO1.1/MISO GPIO1.0/SCK GPIO2.7/TXD2 GPIO2.6/RXD2 GPIO5.1/T0/ADC1 GPIO3.4/SEG28/COM7 GPIO3.5/SEG29/COM6 GPIO3.6/SEG30/COM5 GPIO5.3/T2/ADC3 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 SEG12 SEG11 SEG10 SEG9 SEG8 GPIO6.7/SEG7 GPIO6.6/SEG6 GPIO6.5/SEG5 GPIO6.4/SEG4 GPIO6.3/SEG3 GPIO6.2/SEG2 GPIO6.2/SEG1 GPIO6.0/SEG0 COM0 COM1 COM2 COM3 GPIO4.0/SEG32 GPIO3.7/SEG31/COM4 GPIO4.2/SEG34 GPIO1.7/7816_CLKB GPIO2.0/7816_OB LPLDO18 TEST VDD GND GPIO2.2/RXD0 GPIO2.3/TXD0 GPIO2.4/RXD1 GPIO2.5/TXD1 GPIO4.7/SEG39 GPIO4.6/SEG38 CPLL OSCI OSCO GPIO4.5/SEG37 GPIO4.4/SEG36 GPIO4.3/SEG35 GPIO5.6/CMP0/ADC2 GPIO5.0/RTC1S 图 1-2 管脚图 管脚 管脚名 I/O 功能描述 1 GPIO1.7/7816_CLKB IO GPIO1.7,可复用为7816_B的时钟输出和 PORT1.7 2 GPIO2.0/7816_OB IO GPIO2.0,可复用为7816的数据输入输出口和PORT2.0 3 LPLDO18 IO 低功耗LDO测试输出 4 TEST I 测试输入,内置70k下拉电阻,正常使用时接为低 5 VDD IO 5V电源 6 GND IO 地 7 GPIO2.2\RXD0 IO GPIO2.2,可复用为UART0输入和PORT2.2 8 GPIO2.3\TXD0 IO GPIO2.3,可复用为UART0输出和PORT2.3 9 GPIO2.4\RXD1 IO GPIO2.4,可复用为UART1输入和PORT2.4 10 GPIO2.5\TXD1 IO GPIO2.5,可复用为UART1输出和PORT2.5 11 GPIO4.7\SEG39 IO GPIO4.7,可复用为SEG39 12 GPIO4.6\SEG38 IO GPIO4.6,可复用为SEG38 13 CPLL IO 内置PLL低通滤波电容,外接1nF电容 14 OSCI I 32.768晶振的输入脚(BL6536此脚为空脚) 11/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 15 OSCO O 32.768晶振的输出脚(BL6536此脚为空脚) 16 GPIO4.5\SEG37 IO GPIO4.5,可复用为SEG37 17 GPIO4.4\SEG36 IO GPIO4.4,可复用为SEG36 18 GPIO4.3\SEG35 IO GPIO4.3,可复用为SEG35 19 GPIO5.6\CMP0\ADC2 IO GPIO5.6,可复用为内置CMP0、ADC2和PORT3.6 20 GPIO5.0\RTC1S IO GPIO5.0,可复用为RTC的秒脉冲输出和PORT3.0 21 SEG12 O SEG12 22 SEG11 O SEG11 23 SEG10 O SEG10 24 SEG9 O SEG9 25 SEG8 O SEG8 26 GPIO6.7\SEG7 IO GPIO6.7可复用为SEG7 27 GPIO6.6\SEG6 IO GPIO6.6可复用为SEG6 28 GPIO6.5\SEG5 IO GPIO6.5可复用为SEG5 29 GPIO6.4\SEG4 IO GPIO6.4可复用为SEG4 30 GPIO6.3\SEG3 IO GPIO6.3可复用为SEG3 31 GPIO6.2\SEG2 IO GPIO6.2可复用为SEG2 32 GPIO6.1\SEG1 IO GPIO6.1可复用为SEG1 33 GPIO6.0\SEG0 IO GPIO6.0可复用为SEG0 34 COM0 O COM0 35 COM1 O COM1 36 COM2 O COM2 37 COM3 O COM3 38 GPIO4.0\SEG32 IO GPIO4.0,可复用为SEG32 39 GPIO3.7\SEG31\COM4 IO GPIO3.7,可复用为SEG31和COM4 40 GPIO4.2\SEG34 IO GPIO4.2,可复用为SEG34 41 GPIO5.3\T2\ADC3 IO GPIO5.3,可复用为Timer2输入、INT1的输入、ADC3和 PORT3.3 42 GPIO3.6\SEG30\COM5 IO GPIO3.6,可复用为SEG30和COM5 43 GPIO3.5\SEG29\COM6 IO GPIO3.5,可复用为SEG29和COM6 44 GPIO3.4\SEG28\COM7 IO GPIO3.4,可复用为SEG28和COM7 45 GPIO5.1\T0\ADC1 IO GPIO5.1,可复用为Timer0输入、ADC1和PORT3.1 46 GPIO2.6\RXD2 IO GPIO2.6,可复用为UART2输入和PORT2.6 47 GPIO2.7\TXD2 IO GPIO2.7,可复用为UART2输出和PORT2.7 48 GPIO1.0\SCK IO GPIO1.0,可复用为SPI时钟输出和PORT1.0 49 GPIO1.1\MISO IO GPIO1.1,可复用为SPI数据输入PORT1.1 50 GPIO1.2\MOSI IO GPIO1.2,可复用为SPI数据输出PORT1.2 12/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 51 GPIO1.3\SPSSN IO GPIO1.3,可复用为SPI片选信号PORT1.3 52 GPIO5.7\CMP1\ADC0 IO GPIO5.7,可复用为CMP1、ADC0和PORT3.7 53 GPIO0.0\TCK IO GPIO0.0,可复用为JTAG输入时钟和PORT0.0 54 GPIO0.1\TDI IO GPIO0.1,可复用为JTAG输入数据和PORT0.1 55 GPIO0.2\TMS IO GPIO0.2,可复用为JTAG输入信号和PORT0.2 56 GPIO0.3\TDO IO GPIO0.3,可复用为JTAG输出数据和PORT0.3 57 JTAG I JTAG控制信号,为高时有效 58 RSTB I 外部RESET输入信号,为低时有效 59 GPIO4.1\SEG33 IO GPIO4.1,可复用为SEG33 60 GPIO0.7\SDA1\TXD3 IO GPIO0.7, 可复用 为 I2C1 数 据 信号 、 UART3 的输 出 和 PORT0.7 61 GPIO0.6\SCL1\RXD3 IO GPIO0.6, 可复用 为 I2C1 时 钟 信号 、 UART3 的输 入 和 PORT0.6 62 GPIO0.5\SDA0 IO GPIO0.5,可复用为I2C0数据信号和PORT0.5 63 GPIO0.4\SCL0 IO GPIO0.4,可复用为I2C0时钟信号和PORT0.4 64 GPIO7.0\SEG13 IO GPIO7.0可复用为SEG13 65 GPIO7.1\SEG14 IO GPIO7.1可复用为SEG14 66 GPIO7.2\SEG15 IO GPIO7.2可复用为SEG15 67 GPIO7.3\SEG16 IO GPIO7.3可复用为SEG16 68 GPIO7.4\SEG17 IO GPIO7.4可复用为SEG17 69 GPIO7.5\SEG18 IO GPIO7.5可复用为SEG18 70 GPIO7.6\SEG19 IO GPIO7.6可复用为SEG19 71 GPIO7.7\SEG20 IO GPIO7.7可复用为SEG20 72 SEG 21 O SEG21 73 SEG 22 O SEG22 74 SEG 23 O SEG23 75 GPIO3.0\SEG24 IO GPIO3.0可复用为SEG24 76 GPIO3.1\SEG25 IO GPIO3.1可复用为SEG25 77 GPIO3.2\SEG26 IO GPIO3.2可复用为SEG26 78 GPIO3.3\SEG27 IO GPIO3.3可复用为SEG27 79 GPIO1.5\7816_OA IO GPIO1.5可复用为7816_A数据信号和PORT1.5 80 GPIO1.4\7816_CLKA IO GPIO1.4可复用为7816_A7816时钟信号和PORT1.4 1.4 封装形式 BL6531/BL6536 采用 LQFP80 封装,有两种封装形式:外置晶振和内置晶振。其中内置 晶振封装将 32.768KHZ 晶体封装到芯片内部,产品型号为 BL6536;外置晶振封装需要外接 32.768KHZ 晶体振荡器,产品型号为 BL6531。 13/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 图 1-3 封装图 14/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 2. CPU 结构 2.1 R8051XC2 内核概述 R8051XC2 内核使用 ASM51 指令集,有两条总线:Memory 总线和 SFR 总线。Memory 总线用于在片内扩展程序和数据存储器,如扩展片内 ROM、Flash、XRAM 等。SFR(Special Function Register) 总线用于和片内的外设寄存器接口,除了工作寄存器 R0~R7、程序计数 器(PC)和指令寄存器(IR)外,所有控制、配置和状态寄存器都映射到 SFR 空间,R8051XC2 可通过直接寻址的方式访问这些寄存器,控制系统工作。支持在线调试功能。 ExternalMemory interfacce R8051XC2_CPU OCDS (JTAG) Timer0 input Timer0 UART0 UART0 interface Timer1 input Timer1 UART1 UART1 interface Timer2 input Timer2 EXTINT External interrupt inputs I2C interface I2C PMURSTCTRL WAKEUPCTRL SPI interface SPI_MS ISR SYNCNEG SFRMUX On-chip memory/ISR interfacce OCDS interfacce 图 2-1 R8051XC2 结构框图 2.2 存储空间 存储空间从逻辑上分为三个地址空间:程序存储,寻址空间 00000H~1FFFFH;内部数 据存储,寻址空间 00H~FFH;外部数据存储,寻址空间 00000H~1FFFFH。如图 2-2 所示。 15/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 程序存储 1FFFFH 外部数据存储 1FFFFH 内部数据存储 FFH High 128B SFR 80H 7FH Low 128B 00000H 00000H 00H 图 2-2 存储空间图 程序存储、内部数据存储和外部数据存储是分开的,分别有自己的寻址系统、控制信号 和功能。程序存储用来存放程序和一些常量,用 MOVC 指令访问;数据存储用来存放程序 运行时需要的变量,内部数据存储用 MOV 指令访问,外部数据存储用 MOVX 指令访问。 2.3 指令集 指令集和标准工业 8051 指令集兼容,这种兼容性表现在指令的操作码、功能以及指令 运行对标志位的影响相同。表 2-1 定义了表 2-2 中用到的符号,表 2-2 分类列出了指令集、 字节数、机器周期等。 表 2- 1 指令集列表符号说明 符号 功能 A 累加器 (A) 累加器内容 Rn 工作寄存器 R0-R7 (Rn) 工作寄存器的内容 Ri i=0,1,数据指针 R0 或 R1 (Ri) R0 或 R1 的内容 ((Ri)) R0 或 R1 的指出的单元内容 @Ri R0 或者 R1 指针指向的内部寄存器(除了 MOVX 指令) (X) 某一寄存器的内容 X 某一寄存器 ((X)) 某一寄存器指出的单元内容 direct 直接地址单元 (direct) 直接地址指出的单元内容 rel 相对偏移量,带符号的(2 的补码)8 位偏移 字节 16/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 bit 位地址 #data 8 位立即数 #data 16 16 位立即数 addr 16 16 位绝对地址 addr 11 页面地址 数据传送方向 ∧ 逻辑与 ∨ 逻辑或 ⊕ 逻辑异或 √ 对标志位产生影响 × 对标志位不产生影响 表 2- 2 指令集 助记符 功能 对标志的影响 P OV Ac CY 字 机 16 进 节 器 制代 数 周 码 期 算术运算指令 ADD A,Rn A(A)+(Rn) √ √ √ √ 1 28-2F ADD A,direct A(A)+(direct) √ √ √ √ 2 25 ADD A,@Ri A(A)+((Ri)) √ √ √ √ 1 26-27 ADD A,#data A(A)+data √ √ √ √ 2 24 ADDC A,Rn A(A)+(Rn)+( CY) √ √ √ √ 1 38-3F ADDC A,direct A(A)+(direct)+ (CY) √ √ √ √ 2 35 ADDC A,@Ri A(A)+((Ri)) + (CY) √ √ √ √ 1 36-37 ADDC A,#data A(A)+data+ (CY) √ √ √ √ 2 34 SUBB A,Rn A(A)-(Rn)-( CY) √ √ √ √ 1 98-9F SUBB A,direct A(A)-(direct)- (CY) √ √ √ √ 2 95 SUBB A,@Ri A(A)-((Ri)) - (CY) √ √ √ √ 1 96-97 SUBB A,#data A(A)-data- (CY) √ √ √ √ 2 94 INC A A(A)+1 √ × × × 1 04 INC Rn RnRn+1 × × × × 1 08-0F INC direct directdirect+1 × × × × 2 05 INC @Ri (Ri) ((Ri)) + 1 × × × × 1 06-07 INC DPTR DPTR (DPTR)+1 1 A3 DEC A A(A)-1 √ × × × 1 14 DEC Rn A(Rn)-1 × × × × 2 18-1F DEC direct A(direct)-1 × × × × 1 15 17/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 DEC @Ri A ((Ri)) - 1 × × × × 1 16-17 MUL AB AB(A).(B) √ √ × √ 1 A4 DIV AB AB(A)/(B) √ √ × √ 1 84 DA A 对 A 进行十进制调整 √ √ √ √ 1 D4 ANL A,Rn A(A)∧(Rn) √ × × × 1 58-5F ANL A,direct A(A)∧(direct) √ × × × 2 55 ANL A,@Ri A(A)∧((Rn)) √ × × × 1 56-57 ANL A,#data A(A)∧data √ × × × 2 54 ANL direct,A direct(direct) ∧A × × × × 2 52 ANL direct,#data direct(direct) ∧data × × × × 3 53 ORL A,Rn A(A) ∨(Rn) √ × × × 1 48-4F ORL A,direct A(A) ∨(direct) √ × × × 2 45 ORL A,@Ri A(A) ∨((Ri)) √ × × × 1 46-47 ORL A,#data A(A) ∨data √ × × × 2 44 ORL direct,A direct(direct) ∨A × × × × 2 42 ORL direct,#data direct(direct) ∨data × × × × 3 43 XRL A,Rn A(A) ⊕(Rn) √ × × × 1 68-6F XRL A,direct A(A) ⊕(direct) √ × × × 2 65 XRL A,@Ri A(A) ⊕((Ri)) √ × × × 1 66-67 XRL A,#data A(A) ⊕data √ × × × 2 64 XRL direct,A direct(direct) ⊕A × × × × 2 62 XRL direct,#data direct(direct) ⊕data × × × × 3 63 CLR A A0 √ × × × 1 E4 CPL A A (A) × × × × 1 F4 SWAP A A 半字节交换 × × × × 1 C4 RL A A 循环左移一位 × × × × 1 23 RLC A A 带进位循环左移一位 √ × × √ 1 33 RR A A 循环右移一位 × × × × 1 03 RRC A A 带进位循环右移一位 √ × × √ 1 13 MOV A,Rn A (Rn) √ × × × 1 E8-EF MOV A,direct A(direct) √ × × × 2 E5 MOV A,@Ri A((Ri)) √ × × × 1 E6-E7 MOV A,#data Adata √ × × × 2 74 MOV Rn,A Rn(A) × × × × 1 F8-FF MOV Rn,direct Rn (direct) × × × × 2 A8-A 18/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 F MOV Rn,#data Rn data × × × × 2 78-7F MOV direct,A direct(A) × × × × 2 F5 MOV direct,Rn direct (Rn) × × × × 2 88-8F MOV direct,direct direct (direct) × × × × 3 85 MOV direct,@Ri direct((Ri)) × × × × 2 86-87 MOV direct,#data directdata × × × × 3 75 MOV @Ri,A ((Ri))(A) × × × × 1 F6-F7 MOV @Ri,direct (Ri)(direct) × × × × 2 A6-A7 MOV @Ri,#data (Ri)data × × × × 2 76-77 MOV DPTR,#data DPTRdata × × × × 3 90 MOVC A, A((A)+(DPTR)) √ × × × 1 93 MOVC A,@A+PC A((A)+(PC)) √ × × × 1 83 MOVX A,@Ri A((Ri+P2)) √ × × × 1 E2-E3 MOVX A,@DPTR A((DPTR)) √ × × × 1 E0 MOVX @Ri,A ((Ri)+P2)A × × × × 1 F2-F3 MOVX A,@DPTR A((DPTR)) × × × × 1 F0 PUSH direct SPSP+1,(SP) (direct) × × × × 2 C0 POP direct direct((SP)),SP(SP)-1 × × × × 2 D0 XCH A,Rn (A)←→(Rn) √ × × × 1 C8-CF XCH A,direct (A)←→(direct) √ × × × 2 C5 XCH A,@Ri (A)←→((Ri)) √ × × × 1 C6-C7 XCHD A,@Ri (A)0~3←→((Ri))0~3 √ × × × 1 D6-D7 CLR C CY0 × × × √ 1 C3 CLR bit bit0 × × × 2 C2 SETB C CY1 × × × 1 D3 SETB bit bit1 × × × 2 D2 CPL C CY ( C Y ) × × × 1 B3 CPL bit bit (bit) × × × 2 B2 ANL C,bit CY ( CY)∧(bit) × × × √ 2 82 ANL C,/bit CY ( CY)∧ (bit) × × × √ 2 B0 ORL C,bit CY ( CY)∨(bit) × × × √ 2 72 @A+DPTR 19/158 v1.2 √ √ BL6531/BL6536 电能表专用 MCU 芯片 × × × √ 2 A0 CY (bit) × × × √ 2 A2 MOV bit,C bit(CY) × × × × 2 92 ACALL addr11 PC(PC)+2,SP(SP)+1, × × × × 2 11-F1 × × × × 3 12 × × × × 1 22 × × × × 2 32 ORL C,/bit CY ( CY)∨ (bit) MOV C,bit (SP)(PC)L,SP(SP)+1, (SP)(PC)H,PC10~0addr11 LCALL addr16 PC(PC)+2,SP(SP)+1, (SP)(PC)L,SP(SP)+1, (SP)(PC)H,PC10~0addr16 RET (PC)H((SP)), SP(SP)-1, (PC)L((SP)), SP(SP)-1 RETI (PC)H((SP)), SP(SP)-1, (PC)L((SP)), SP(SP)-1,从 中断中返回 AJMP addr11 PC10~0 addr11 × × × × 3 01-E1 LJMP addr16 PC addr16 × × × × 2 02 SJMP rel PC PC+rel × × × × 2 80 JC rel PC PC+2,若 CY=1,则 × × × × 2 40 × × × × 2 50 × × × × 3 20 × × × × 3 30 × × × × 3 10 PCPC+rel JNC rel PC PC+2,若 CY=0,则 PCPC+rel JB bit,rel PC PC+3,若(bit)=1,则 PCPC+rel JNB bit,rel PC PC+3,若(bit)=0,则 PCPC+rel JBC bit,rel PC PC+3,若(bit)=1,则 bit0,PC(PC)+rel JMP @A+DPTR PC(A)+(DPTR) × × × × 1 73 JZ rel PCPC+2,若(A)=0, × × × × 2 60 × × × × 2 70 × × × × 3 B5 PC PC+3,若(A)不等于 data, × × × × 3 B4 PC(PC)+rel JNZ rel PCPC+2,若(A)不等于 0, PC(PC)+rel CJNE A,direct,rel PC PC+3,若(A)不等于 (direct) ,则 PC(PC)+rel CJNE A,#d,rel 则 PC(PC)+rel 20/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 CJNE Rn,#d,rel PC PC+3,若(Rn)不等于 data, × × × × 3 B8-BF × × × 3 B6-B7 × × × 2 D8-D 则 PC(PC)+rel CJNE @Ri,#d,rel PC PC+3,若((Ri))不等于 d, × 则 PC(PC)+rel DJNZ Rn,rel PC PC+2, Rn =(Rn)-1, 若 × F (Rn)不等于 0,则 PC(PC)+rel DJNZ direct,rel PC PC+2, direct =(direct)-1, × × × × 3 × × × 1 D5 若(direct)不等于 0,则 PC(PC)+rel 其他 空操作 NOP × 1 00 2.4 CPU 特殊功能寄存器说明 2.4.1ACC 累加器是一个最常用的专用寄存器。大部分单操作数指令的操作取自累加器。很多双操 作数指令的一个操作数取自累加器。加、减、乘、除算术运算指令的运算结果都存放在累加 器 A 或 AB 寄存器中。指令系统中用 A 作为累加器的助记符。 2.4.2 B 在乘除指令中,用到 B 寄存器。乘法指令的两个操作数分别取自 A 和 B,其结果存放 在 AB 寄存器中。除法指令中,被除数取自 A,除数取自 B,商数存放于 A,余数存放于 B。 在其他指令中,B 寄存器可作为 RAM 中的一个单元来使用。 2.4.3 PSW 程序状态字 PSW 是一个 8 位寄存器,它包含了程序状态信息。此寄存器的含义参见下 表: Program Status Address:D0H Word(PSW) Bit7 6 5 4 3 2 1 Bit0 CY AC F0 RS1 RS0 OV F1 P 0 0 0 0 0 0 0 0 Read Writ e Reset 位 功能描述 PSW.7 CY:进位标志。在执行某些算术和逻辑指令时,可以被硬件或软件复位 或清零。在布尔处理机中它被认为是位累加器,其重要性相当于一般中央 处理机中的累加器 A。 PSW.6 Ac:辅助进位标志。在进行加法或减法操作而产生低 4 位数(十进制的 一个数字)向高 4 位数进位或借位时,Ac 将被置位,否则被清零。Ac 被 用于 DAA 指令的十进制调整。 PSW.5 F0:标志 0。是用户定义的一个状态标记,可用软件置位或清零。 21/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 PSW.4 RS1:工作寄存器区选择控制位 1,和 RS0 一起用以选择工作寄存器区 PSW.3 RS0:工作寄存器区选择控制位 0 PSW.2 RS1 RS0 Bank 选择 0 0 区 0(00H~07H) 0 1 区 1(08H~0FH) 1 0 区 2(10H~17H) 1 1 区 3(18H~1FH) OV:溢出标志。当加法产生进位,减法产生借位,乘除产生溢出时,置 1。否则为 0。 PSW.1 F1:标志 1,是用户定义的一个状态标记,可用软件置位或清零。 PSW.0 P:奇偶校验。每个指令周期都由硬件来置位或清零,以表示累加器 A 中 1 的位数的奇偶数。若 1 的位数为奇数,则 P 置位,否则清 0。 2.4.4SP 栈指针 SP 是一个 8 位专用寄存器。它指示出堆栈顶部在内部数据存储中的位置。系统 复位后,SP 初始化为 07H,使得堆栈事实上由 08H 单元开始。考虑到 08H~1FH 单元分属 于工作寄存器 1~3,若程序设计要用到这些区,则把 SP 的值改置更大的值。SP 的初值越 小,堆栈深度就越深。堆栈指针的值可由软件改变,因此堆栈在内部数据存储中的位置比较 灵活。 除用软件改变 SP 值外,在执行 PUSH/POP、各种子程序调用、中断响应、子程序返回 (RET)和中断返回(RETI)等指令时,SP 值将自动增加或减少。 2.4.5 DPTR 为加速数据的块搬移操作,R8051XC2 使用双数据指针。标准 8051 的数据指针是一个 16 位专用寄存器,其高位字节寄存器用 DPH 表示,低位字节用 DPL 表示,DPTR 主要用来 存放 16 位地址,当对外部数据存储器空间寻址时,可作为间接寄存器用。 R8051XC2 包括一个同标准 8051 相同的数据指针 DPTR0,它位于 SFR 82H(DPL0)和 83H(DPH0) ,默认情况下,数据指针使用 DPTR0。除此之外,H0802 增加了第二个数据指 针 DPTR1,DPTR1 位于 SFR 84H(DPL1)和 85H(DPH1)。DPS 寄存器(SFR 86H)的 SEL 位用 来选择当前数据指针使用 DPTR0 还是 DPTR1,当 SEL=0,使用 DPTR 的指令的数据指针用 DPL0 和 DPH0 作为数据指针;当 SEL=1,使用 DPTR 的指令的数据指针用 DPL1 和 DPH1。 SEL 是 DPS 的第 0 位,DPS 的其他位无用。 所有和 DPTR 相关的指令使用 DPS 选择的数据指针。SEL 取反将导致数据指针切换, 切换最快的方法是使用 INC DPS 指令,仅需要一条指令,就可使数据指针由源地址指向目 的地址,当进行块数据搬移时,这样做节省了保存源地址和目的地址的代码和时间。当搬移 大批量数据时,使用双数据指针的机制显著地提高了代码的效率。 2.4.6 CKCON 程序和数据存储器的读写延迟控制寄存器。这个寄存器可以设置程序和数据存储器的读 写的延迟时钟数,以便适应不同的存储器。降低程序读取的延迟时间,可以有效的增加程序 执行速度。BL6531 的程序和数据存储器均支持最短的读写延迟。 Clock Control(CKCON) Bit7 6 Address:8EH 5 4 3 22/158 v1.2 2 1 Bit0 BL6531/BL6536 电能表专用 MCU 芯片 Read Writ e Reset CKCON CKCO CKCON CKCON CKCON CKCON CKCON CKCON .7 N.6 .5 .4 .3 .2 .1 .0 1 1 1 1 1 0 0 0 ckcon register Wait Read signals Write signals width (cycle) value width (cycle) ckcon.7=0 ckcon.7=1 ckcon. ckcon ckcon (cycle memad memps memad mempsw memad mempsw 6 .5 .4 ) dr rd dr r dr r 0 0 0 0 1 1 1 1 3 1 0 0 1 1 2 2 2 2 4 2 0 1 0 2 3 3 3 3 5 3 0 1 1 3 4 4 4 4 6 4 1 0 0 4 5 5 5 5 7 5 1 0 1 5 6 6 6 6 8 6 1 1 0 6 7 7 7 7 9 7 1 1 1 7 8 8 8 8 10 8 Wait Read signals Write signals width (cycle) value width (cycle) ckcon.3=0 ckcon.3=1 memad memad ckcon register ckcon. ckcon ckcon (cycle memad 2 .1 .0 ) dr 0 0 0 0 1 1 1 1 3 1 0 0 1 1 2 2 2 2 4 2 0 1 0 2 3 3 3 3 5 3 0 1 1 3 4 4 4 4 6 4 1 0 0 4 5 5 5 5 7 5 1 0 1 5 6 6 6 6 8 6 1 1 0 6 7 7 7 7 9 7 1 1 1 7 8 8 8 8 10 8 memrd dr 23/158 v1.2 memwr memwr dr BL6531/BL6536 电能表专用 MCU 芯片 3. 存储单元 3.1 概述 BL6531/BL6536内置数据宽度为8位的可编程128K字节Flash存储器和4K字节SRAM。其中, Flash存储器分为4部分: 程序存储器空间(以下简称为PM):96/64Kbytes 数据存储器空间(以下简称为DM):32K bytes 信息存储空间1(以下简称为Info1):512Bytes 信息存储空间2(以下简称为Info2):512Bytes SRAM分为2部分: 外部数据存储器空间(以下简称为ExDM):3840Bytes 内部数据存储器空间(以下简称为InDM):256Bytes 3.2 Flash 特性 Flash字节读取时间:40ns Flash字节写时间:17us(max) Flash页擦除时间:5ms(max) Flash主空间全擦除时间:40ms(max) Flash全擦除时间:45ms(max) Flash擦除时电流:3mA PM:96/64Kbytes,192/128pages,可“读/写/擦” DM:32Kbytes,64pages,可“读/写/擦” Info 1:512Bytes, 1page, 可“读/写/擦” Info 2:512Bytes, 1page, 只能“读” 每512字节为1页; 擦写次数:100,000 次 数据保持时间:100年 3.3 存储器映射 3.3.1 FLASH 映射说明 1 ) PM 这 部 分 96/64K Flash 是 用 于 存 储 程 序 , 占 用 Program Memory 地 址 空 间 00000H-17FFFH。分为192页,每页512Bytes。 2) DM 这部分 32K FLASH 作为 MCU 外部数据存储器的一部分,用于存放用户数据,占 用 External Data Memory 地址空间:04000H~0BFFFH,采用 MOVX 指令访问。分为 64 页, 每页 512Bytes。 3)Info 1 这部分 512 字节 FLASH 作为 MCU 外部数据存储器的一部分,用于存放用户参数, 占用 External Data Memory 地址空间:0C000H-0C1FFH。采用 MOVX 指令访问。这部分只 包含一页,为 512 字节。 24/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 其中,第 512 字节(地址为 0C1FFH)的最高位 bit7 为 JTAG 连接模式下的程序加密控 制位,当该位为 0 时,程序加密,通过 JTAG 口读任何 flash 的内容,输出都是 0FFH,同时, 也禁止 JTAG 口写 flash。 第 512 字节(地址为 0C1FFH)的次高位 bit6 为 flash 上电配置使能控制位。当该位为 1 时,flash 上电自动进行配置操作;当该位为 0 时,则上电不进行 flash 的配置。为了提高 flash 工作的可靠性,厂商建议上电配置。即,该位设为 1; 4)Info 2 这部分 512 字节 FLASH 作为 MCU 外部数据存储器的一部分,用于存储芯片版本 信息等内容,占用 External Data Memory 地址空间:0C200H-0C3FFH。采用 MOVX 指令访 问。这部分只包含一页,为 512 字节。这部分内容只能读出,不能写入或擦除。 3.3.2 SRAM 映射说明 1)ExDM 这部分 3840Bytes 用作 MCU 的外部数据存储器,占用 External Data Memory 地 址空间:00000H~00EFFH。 2)InDM 这部分 256Bytes 用作 MCU 内部数据存储器,占用 Internal Data Memory 地址空间: 00H~FFH。 003FF 00200 001FF 00000 Info 2 Flash Info 1 Flash 1FFFF 1FFFF 18000 17FFF 0C3FF Info2 DM Flash 0C200 0C1FF Info1 DM Flash 0C000 0BFFF High 32K Bytes Flash DM Flash PM Flash 04000 Low 96K/64K Bytes Flash 031FF FF InDM RAM 00 00000 Program Memory Extended SFR 03000 00EFF ExDM RAM 00000 Internal Data Memory External Data Memory FFF High 256 bytes F00 SRAM EFF Low 3840 bytes 000 图 3-1 Program Memory 和 Data Memory 存储器映射 3.4 FLASH 的操作 FLASH的操作分五种情况:全擦除,主空间全擦除,页擦除,写字节,和读字节。 FLASH的操作模式有以下两种: 模式1:JTAG连接模式。 该模式下,通过JTAG口对flash进行擦除/写/读操作; 25/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 注意:通过JTAG口对flash进行写和读操作时,受Info1中地址0C1FFH最高位(bit7)程序加 密位的控制。当该位为0时,程序加密保护,JTAG口不能对flash进行写操作,读数据则只能 得到0FFH。详见“Flash的读写保护”章节。 模式2:非JTAG连接模式。 该模式下,在PM内运行程序时对flash进行擦除/写/读操作; 注意:运行在Flash中的代码,不可以擦除与运行程序地址页面相同的页面或整个Flash。当 擦除/写操作被执行时,MCU的运行被保持冻结状态,直至操作结束flh_ack=1(MCON.2)。 3.4.1 Flash 的全擦除 Flash的全擦除操作擦除PM,DM,info1三部分,即96/64KB+32KB+512Bytes。 全擦除步骤如下: 1)设置寄存器MCON的flh_op[1:0] = 11; 2)执行对PM(00000H~17FFFH),DM(04000H~0BFFFH)或Info1(0C000H~0C1FFH) 三部分中任意地址的一次写操作。 (即以下三项任选一) PM的写操作: 设置pmw(PCON.4)=1, 使能程序存储器写; 设置DPTR值为任意值(pagesel为默认的01),设置累加器A为任意值; 执行MOVX @DPTR, A;将A值写入PM中@DPTR位置; DM的写操作: 设置pmw(pcon.4)=0,禁止程序存储器写,使能外部数据存储器写。 设置DPTR值为04000H~0BFFFH之间的任意值,设置累加器A为任意值; 执行MOVX @DPTR, A;将A值写入DM中@DPTR位置; Info1的写操作: 设置pmw(pcon.4)=0,禁止程序存储器写,使能外部数据存储器写。 设置DPTR值为0C000H~0C1FFH之间的任意值,设置累加器A为任意值; 执行MOVX @DPTR, A;将A值写入Info1中@DPTR位置; 3)查看flash工作状态指示位flh_ack(MCON.2)或等待相应擦除时间,完成全擦除。 注:在PM中执行flash的全擦除操作会对自身代码全部擦除,所以不建议使用。 3.4.2 Flash 的主空间全擦除 Flash主空间全擦除操作擦除PM,DM两部分,即96/64K+32K Bytes。 主空间全擦除步骤如下: 1)设置寄存器MCON的flh_op[1:0] = 10; 2)执行对PM(00000H~17FFFH) ,DM(04000H~0BFFFH)两部分中任意地址的一次写操 作。 (即以下两项任选一) PM的写操作: 设置pmw(PCON.4)=1, 使能程序存储器写; 设置DPTR值为任意值(pagesel为默认的01),设置累加器A为任意值; 执行MOVX @DPTR, A;将A值写入PM中@DPTR位置; DM的写操作: 26/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 设置pmw(pcon.4)=0,禁止程序存储器写,使能外部数据存储器写。 设置DPTR值为04000H~0BFFFH之间的任意值,设置累加器A为任意值; 执行MOVX @DPTR, A;将A值写入DM中@DPTR位置; 3)查看flash工作状态指示位flh_ack(MCON.2)或等待相应擦除时间,完成擦除。 注:在PM中执行flash的主空间全擦除操作会对自身代码全部擦除,所以不建议使用。 3.4.3 Flash 的页擦除 FLASH的页擦除操作可对PM,DM两部分中的页内容进行擦除。 页擦除每次擦除512字节页空间。 页擦除步骤如下: 1)设置寄存器MCON的flh_op[1:0] = 01; 2)执行对PM(00000H~17FFFH) ,DM(04000H~0BFFFH)两部分中相应页地址范围内的 一次写操作。 PM的写操作: 设置pmw(PCON.4)=1, 使能程序存储器写; 设置pagesel,DPTR的值在需要擦除的页地址范围内,设置累加器A为任意值; 执行MOVX @DPTR, A;将A值写入PM中@DPTR位置; DM的写操作: 设置pmw(pcon.4)=0,禁止程序存储器写,使能外部数据存储器写。 设置DPTR的值在需要擦除的页地址范围内,设置累加器A为任意值; 执行MOVX @DPTR, A;将A值写入DM中@DPTR位置; 查看flash工作状态指示位flh_ack(MCON.2)或等待相应擦除时间,完成擦除。 注:运行在PM中的代码执行flash的页擦除操作后,要保证程序还能正常运行。 3.4.5 Flash 的写操作 FLASH的写字节操作可对PM,DM,Info1三部分任意地址进行写操作。 写字节步骤如下: 1)设置寄存器MCON的flh_op[1:0] = 00; 2)执行对PM(00000H~17FFFH),DM(04000H~0BFFFH)或Info1(0C000H~0C1FFH) 中相应地址的写操作: PM(00000H~17FFFH)的写操作: 设置pmw(PCON.4)=1, 使能程序存储器写; 设置pagesel,DPTR值为需要写入数据的相应PM地址,设置累加器A为要写入的值。 执行MOVX @DPTR, A;将A值写入PM中@DPTR位置; DM(04000H~0BFFFH)的写操作: 设置pmw(pcon.4)=0,禁止程序存储器写,使能外部数据存储器写。 设置DPTR值为需要写入数据的相应DM地址,设置累加器A为要写入的值; 执行MOVX @DPTR, A;将A值写入DM中@DPTR位置; Info1(0C000H~0C1FFH)的写操作: 27/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 设置pmw(pcon.4)=0,禁止程序存储器写,使能外部数据存储器写。 设置DPTR值为需要写入数据的相应Info1地址,设置累加器A为要写入的值; 执行MOVX @DPTR, A;将A值写入Info1中@DPTR位置; 3)查看flash工作状态指示位flh_ack(MCON.2)或等待相应写操作时间,完成写操作。 注: 运行在PM中的代码执行flash的写字节操作后,要保证程序还能正常运行。 在JTAG连接模式下,若Info1中加密控制位(0C1FF地址的bit7)为0,则读写保护,此时用 户不能通过JTAG口对flash进行写字节操作。 3.4.6 Flash 的读操作 FLASH的读操作可对所有flash内容进行读,即:PM,DM,Info1,Info2四部分任意地址均 可进行读操作。 对PM(00000H~17FFFH),DM(04000H~0BFFFH),Info1(0C000H~0C1FFH)或Info 2 (0C200H~0C3FFH)中相应地址的读操作过程分别如下: PM(00000H~17FFFH)的读操作: 设置pmw(PCON.4)=1, 使能程序存储器写; 设置pagesel,DPTR值为需要读出数据的相应PM地址; 执行MOVX A,@DPTR;将PM中@DPTR位置的值读出并写入累加器A; DM(04000H~0BFFFH), Info1(0C000H~0C1FFH)或Info 2(0C200H~0C3FFH)的读操作: 设置pmw(pcon.4)=0,禁止程序存储器写,使能外部数据存储器写; 设置DPTR值为需要读出数据的相应DM/info1/info2地址; 执行MOVX A,@DPTR;将DM/Info1/Info2中@DPTR位置的值读出并写入累加器A; 注:在JTAG连接模式下,若Info1中加密控制位(0C1FF地址的bit7)为0,则读写保护,此 时用户通过JTAG口对flash进行读操作,只能读出0FF值。 3.4.7 Flash 的读写保护 FLASH的Info1部分最后一个字节(地址为0C1FFH)的最高位bit7为程序加密控制位,该位 写0后,flash便处于读写保护状态,此时通过JTAG口对flash不能进行写操作,JTAG口也不 能读出flash中的数据(读操作,只能读出0FFH值)。只能进行擦除操作。 3.5 FlASH 操作特殊功能寄存器 表 3- 1FLASH 操作控制相关寄存器表 地址 名称 复位值 功能描述 0x8F MCON 0x00 Flash 控制寄存器 0x87 PCON 0x08 程序控制寄存器 0x94 PAGESEL 0x01 程序存储器块选择 28/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 表 3- 2MCON 寄存器 MCON Memory Control Register; Addr: 0x8F; Bit 7 6 5 4 3 2 1 0 Read - - - - - flh_ack flh_op1 flh_op0 Write - - - - - X Reset 0 0 0 0 0 0 0 0 位 功能描述 [7:3] 内部保留控制位 flh_ack Flash 工作状态指示位(该位只能读,不能写) 0:flash 忙 1:flash 空闲 Flash 操作控制寄存器 flh_op[1:0] flh_op1 flh_op0 功能 0 0 写操作,可以写 PM,DM,info1; 0 1 页擦除操作,可以擦除 PM,DM 中的页; 1 0 主空间全擦除操作,包括:PM,DM; 1 1 全擦除操作,包括:PM,DM,info1; 此控制位在本次操作完成后会自动恢复到 00; 表 3- 3PCON 寄存器 PCON Power Control Register; Addr: 0x87; Bit 7 6 5 4 3 2 1 0 Read - - - pmw - - - - Write - - - - - - - 29/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 Reset 0 0 0 0 位 功能描述 pmw 程序存储器 PM 写允许控制 1 0 0 0 1:使能程序存储器空间写;禁止外部数据存储器写; 即:执行 MOVX 指令,均为对程序存储器进行操作,而非外部数据存储器。 0:禁止程序存储器空间写;使能外部数据存储器写; 即:执行 MOVX 指令,均为对外部数据存储器进行操作,而非程序存储器。 表 3- 4 PAGESEL 寄存器 PAGESEL Program Memory Page Select; Addr: 0x94; Bit 7 6 5 4 3 2 1 0 Read - - - - - - Pagesel1 Pagesel0 Write - - - - - - Reset 0 0 0 0 0 0 0 1 位 功能描述 pagesel[1:0] 程序存储器块选择 Pagesel[1:0] = memaddr[16:15] 30/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 4. 中断系统 4.1 概述 中断系统支持 19 个中断, 其中 5 个通用中断: 定时器 T0、 T1、 T2 中断以及串行口 UART0、 UART1。 另外 14 个中断,利用 R8051XC2 的扩展中断,分别是: Wakeup 中断 INT1 中断 SPI 或者 GPIO 中断 com0(timer2 的比较器 0)中断 com1(timer2 的比较器 1)中断 定时器 3(timer3)中断 定时器 4(timer4)中断 I2C 中断 PMU 中断 RTC 中断 UART2 中断 UART3 中断 7816A 中断 7816B 中断 4.2 中断列表 表 4- 1 BL6531 中断系统 BL6531 中断 中断向量 中断使能(IEN0.7=1) 中断标志位 wakeup 0003H IEN0.0 TCON.1 timer0 000BH IEN0.1 TCON.5 int1 0013H IEN0.2 TCON.3 timer1 001BH IEN0.3 TCON.7 uart0 0023H IEN0.4 S0CON.0 S0CON.1 timer2 002BH IEN0.5 IRCON.6 IRCON.7 IEN1.7(RELOAD) I2C 0043H IEN1.0 I2CCON.3 SPI/GPIO 004BH IEN1.1 SPSTA GPIOXIP com0 0053H IEN1.2 IRCON.2 com1 005BH IEN1.3 IRCON.3 timer3 0063H IEN1.4 T3CON.1 timer4 006BH IEN1.5 T4CON.1 31/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 uart1 0083H IEN2.0 S1CON.0 S1CON.1 PMU 008BH IEN2.1 PMINTFLAG RTC 0093H IEN2.2 RTCIF uart2 009BH IEN2.3 S2CON.0 S2CON.1 uart3 00A3H IEN2.4 S3CON.0 S3CON.1 m7816a 00ABH IEN2.5 INTFLG m7816b 00EBH IEN4.5 INTFLGB 4.3 中断优先级 可设定 4 个中断优先级,可对各个中断组的优先级进行调整,不支持对单个中断源的优 先级进行调整。一共有 6 个中断组,优先级的调整通过寄存器 IP0,IP1 来设置。 表 4- 2 中断组优先级控制表 组 组成员(从左至右,组内优先级从高到低) 组优先级控制位 Group 0 External Interrupt 0, Serial 1 Interrupt, I2C IP1.0, IP0.0 Group 1 Timer 0 Interrupt, SPI IP1.1, IP0.1 Group 2 External Interrupt 1, PMU IP1.2, IP0.2 Group 3 Timer 1 Interrupt, EMU IP1.3, IP0.3 Group 4 Serial 0 Interrupt, RTC IP1.4, IP0.4 Group 5 Timer 2 Interrupt, 7816SCI, KBI IP1.5, IP0.5 四个中断优先级的设置如下表所示: 表 4- 3 中断优先级表 级别 优先级 IP1.X IP0.X Level 0 Lowest 0 0 Level 1 0 1 Level 2 1 0 1 1 Level 3 Highest 4.4 特殊功能寄存器 表 4- 4 中断系统寄存器列表 地址 名称 复位值 功能描述 0XA8 IEN0 0X00 中断使能寄存器 0 0XB8 IEN1 0X00 中断使能寄存器 1 0X9A IEN2 0X00 中断使能寄存器 2 0XD1 IEN4 0X00 中断使能寄存器 4 0XB8 IP 0X00 中断优先级寄存器 0XA9 IP0 0X00 中断优先级寄存器 0 0XB9 IP1 0X00 中断优先级寄存器 1 0XC0 IRCON 0X00 中断标志寄存器 32/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 0XBF IRCON2 中断标志寄存器 2 0X00 4.4.1 中断使能寄存器 表 4- 5IEN0 中断使能寄存器 0(A8H) Interrupt Enable Register Address: A8H 0(IEN0) Read BIT7 6 5 4 3 2 1 BIT0 EAL WDT ET2 ES0 ET1 EX1 ET0 EX0 0 0 0 0 0 0 0 0 Write Reset 位 功能描述 EAL 全体中断使能位: 0:关闭所有中断; 1:全体中断使能,若要打开某一个中断,还需要打开它对应的中断使能位; WDT Watchdog Timer 刷新标志: 为防止 WDT 意外刷新,该位必须在 SWDT(IEN1.6)使能前置 1,并且 WDT 和 SWDT 置 1 在两个连续的周期内完成,下一条指令执行后,该位硬件清零; ET2 定时器 2 中断使能: 0:定时器 2 中断关闭; 1:并且 EAL=1,定时器 2 中断使能; ES0 串口 0 中断使能: 0:串口 0 中断关闭; 1:并且 EAL=1,串口 0 中断使能; ET1 定时器 1 溢出中断使能: 0:定时器 1 溢出中断关闭; 1:并且 EAL=1,定时器 1 溢出中断使能; EX1 外部中断 1 使能: 0:外部中断 1 关闭; 1:并且 EAL=1,外部中断 1 使能; ET0 定时器 0 溢出中断使能: 0:定时器 0 溢出中断关闭; 1:并且 EAL=1,定时器 0 溢出中断使能; EX0 外部中断 0 使能: 0:外部中断 0 关闭; 1:并且 EAL=1,外部中断 0 使能; 表 4- 6IEN1 中断使能寄存器 1(B8H) Interrupt Enable Register Address: B8H 33/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 1(IEN1) Read BIT7 6 5 4 3 2 1 BIT0 EXEN2 SWDT TIMER4 TIMER3 COM1 COM0 SPI/GPIO I2C/EMU 0 0 0 0 0 0 0 0 Write Reset 位 功能描述 EXEN2 定时器 2 外部重载中断使能位: 0:定时器 2 外部重载中断关闭; 1:并且 EAL=1,定时器 2 外部重载中断使能; SWDT Watchdog timer 开启/刷新标志: WDT 位(IEN0.6)先置 1,接着 SWDT 位置 1,Watchdog timer 执行刷新。该 位由硬件立即清零; TIMER4 定时器 4 中断使能: 0:定时器 4 中断关闭; 1:并且 EAL=1,定时器 4 中断使能; TIMER3 定时器 3 中断使能: 0:定时器 3 中断关闭; 1:并且 EAL=1,定时器 3 中断使能; COM1 COM1(Timer2 的比较器 1)中断使能: 0:COM1 中断关闭; 1:并且 EAL=1,COM1 中断使能; COM0 COM0(Timer2 的比较器 0)中断使能: 0:COM0 中断关闭; 1:并且 EAL=1,COM0 中断使能; SPI/GPIO SPI/GPIO 中断使能: 0:SPI/GPIO 中断关闭; 1:并且 EAL=1,SPI/GPIO 中断使能(GPIO 中断使能还需配置寄存器 GPIOXIE) ; I2C/EMU I2C/EMU 中断使能: 0:I2C/EMU 中断关闭; 1:并且 EAL=1,I2C/EMU 中断使能; 表 4- 7IEN2 中断使能寄存器 2(9AH) Interrupt Enable Register Address: 9AH 2(IEN2) BIT7 6 5 4 34/158 v1.2 3 2 1 BIT0 BL6531/BL6536 电能表专用 MCU 芯片 Read - - M7816A UART3 UART2 RTC PMU ES1 - - 0 0 0 0 0 0 Write Reset 位 功能描述 M7816A M7816A 中断使能: 0:M7816A 中断关闭; 1:并且 EAL=1,M7816A 中断使能(M7816A 中断使能还需配置寄存器 INTEN) ; UART3 中断使能: UART3 0:UART3 中断关闭; 1:并且 EAL=1,UART3 中断使能; UART2 中断使能: UART2 0:UART2 中断关闭; 1:并且 EAL=1,UART2 中断使能; RTC 中断使能: RTC 0:RTC 中断关闭; 1:并且 EAL=1,RTC 中断使能(RTC 中断使能还需配置寄存器 RTCIE) ; PMU 中断使能: PMU 0:PMU 中断关闭; 1:并且 EAL=1,PMU 中断使能(PMU 中断使能还需配置寄存器 PMINTEN) ; 串口 1 中断使能: ES1 0:串口 1 中断关闭; 1:并且 EAL=1,串口 1 中断使能; ; 表 4- 8IEN4 中断使能寄存器 4(D1H) Interrupt Enable Register Address: D1H 4(IEN4) Read BIT7 6 5 4 3 2 1 BIT0 - - M7816B - - - - - - - 0 - - - - - Write Reset 位 功能描述 M7816B M7816B 中断使能: 0:M7816B 中断关闭; 1:并且 EAL=1,M7816B 中断使能(M7816B 中断使能还需配置寄存器 35/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 INTENB) ; 4.4.2 中断标志寄存器 表 4- 9 中断标志寄存器 IRCON(C0H) IRCON Read Address: C0H BIT7 6 5 4 3 2 1 BIT0 EXF2 TF2 TIMER4 TIMER3 COM1 COM0 SPI/GPIO I2C/EMU 0 0 0 0 0 0 0 0 Write Reset 位 功能描述 EXF2 定时器 2 重载中断标志位: 0:表示未发生定时器 2 重载中断; 1:表示已发生定时器 2 重载中断(写 0 清零) ; TF2 定时器 2 溢出中断标志位: 0:表示未发生定时器 2 溢出中断; 1:表示已发生定时器 2 溢出中断(写 0 清零) ; 读此寄存器中断标志自动清零; TIMER4 定时器 4 中断标志位: 0:表示未发生定时器 4 溢出中断; 1:表示已发生定时器 4 溢出中断(写 0 清零) ; 读此寄存器中断标志自动清零; TIMER3 定时器 3 中断标志位: 0:表示未发生定时器 3 中断; 1:表示已发生定时器 3 中断(写 0 清零) ; 读此寄存器中断标志自动清零; COM1 COM1(Timer2 的比较器 1)中断标志位: 0:表示未发生 COM1 中断; 1:表示已发生 COM1 中断(写 0 清零) ; 读此寄存器中断标志自动清零; COM0 COM0(Timer2 的比较器 0)中断标志位: 0:表示未发生 COM0 中断; 1:表示已发生 COM0 中断(写 0 清零) ; 读此寄存器中断标志自动清零; SPI/GPIO SPI/GPIO 中断标志位: 0:表示未发生 SPI 或 GPIO 中断; 1:表示已发生 SPI 或 GPIO 中断,需查询 GPIOXIP(31E4H)确定具体的 中断类型; 读此寄存器中断标志自动清零; 36/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 I2C/EMU 中断标志位: I2C/EMU 0:表示未发生 I2C/EMU 中断; 1:表示已发生 I2C/EMU 中断(写 0 清零); 读此寄存器中断标志自动清零; 表 4- 10 中断标志寄存器 IRCON2(BFH) IRCON2 Read Address: BFH BIT7 6 5 4 3 2 1 BIT0 - - - M7816A UART3 UART2 RTC PMU 0 0 0 0 0 0 0 0 Write Reset 位 功能描述 M7816A M7816A 总中断标志位: 0:表示未发生 M7816A 中断; 1:表示已发生 M7816A 中断,需查询 INTFLG(3059H)确定具体的中断类 型; 读此寄存器中断标志自动清零; UART3 UART3 总中断标志位: 0:表示未发生 UART3 中断; 1:表示已发生 UART3 中断,需查询 S3CON(E5H)确定具体的中断类型; 读此寄存器中断标志自动清零; UART2 UART2 总中断标志位: 0:表示未发生 UART2 中断; 1:表示已发生 UART2 中断,需查询 S2CON(B7H)确定具体的中断类型; 读此寄存器中断标志自动清零; RTC RTC 总中断标志位: 0:表示未发生 RTC 中断; 1:表示已发生 RTC 中断,需查询 RTCIF(300FH)确定具体的中断类型; 读此寄存器中断标志自动清零; PMU PMU 总中断标志位: 0:表示未发生 PMU 中断; 1:表示已发生 PMU 中断,需查询 PMINTFLG(3085H)确定具体的中断类 型; 读此寄存器中断标志自动清零; 4.4.3 中断优先级寄存器 表 4- 11 IP0 优先级控制寄存器 0(A9H) Interrupt Priority Control Address: A9H 37/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 Register 0 (IP0) Read BIT7 6 5 4 3 2 1 BIT0 - WDTS IP0.5 IP0.4 IP0.3 IP0.2 IP0.1 IP0.0 - 0 0 0 0 0 0 0 Write Reset 表 4- 12 IP1 优先级控制寄存器 1(B9H) Interrupt Priority Control Address: B9H Register 1(IP1) Read BIT7 6 5 4 3 2 1 BIT0 - - IP0.5 IP0.4 IP0.3 IP0.2 IP0.1 IP0.0 - - 0 0 0 0 0 0 Write Reset 4.5 中断处理 中断系统遵循以下两条基本规则: 1.低优先级中断源可被高优先级中断源所中断,而高优先级中断源不能被任何中断源 所中断; 2.一种中断源不管是高优先级或低优先级,一旦得到响应,与它同级的中断源不能再 中断它。 当同时收到几个同一优先级的中断时,响应哪一个中断源取决于内部查询顺序。其优先 级排列见表 3-3-2 中同级中断优先顺序。 RTC 中断、EMU 中断、PMU 中断等都包含了若干个中断源。以 RTC 中断为例,RTC 中断标志寄存器包含:闹钟中断、秒定时中断、定时器 2 中断、定时器 1 中断、日中断、小 时中断、分钟中断、秒中断 8 个中断标志。用户可以在 ISR 中通过软件查询的方式判断 RTC 中断源,并在 ISR 中在清除相应的中断标志。 38/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 5. 时钟管理 5.1 概述 如下图所示,芯片的时钟源有三个时钟源,RC 振荡器时钟(120KHz+/-10%),低频 32K 晶体振荡器时钟及高频 PLL 时钟。上电复位后使用 RC 振荡器时钟开始工作,MCU 主时钟 根据配置可选择低频晶体振荡器时钟或者高频 PLL 时钟,高频 PLL 时钟输出分频可选择多 种频率。 1nF 32KHz Crystal oscillator PLL 32KHz x 450 Divider /1/2/4/8 14.7MHz 7.4MHz 3.7MHz 1.8MHz 32KHz RC oscillator 120KHz+/-10% 120KHz 图 5-1 时钟源 39/158 v1.2 digital core BL6531/BL6536 电能表专用 MCU 芯片 AVDD 125ms PORB VDDD PLL_LOOP 2ms 14.7MHz PLL clock for digital 14.7MHz/7.4MHz/3.7MHz/1.8MHz <40us Internal RC oscillator 120KHz ~20ms crystal oscillator 32KHz 图 5-2 上电时钟稳定顺序 5.2 晶体振荡器 晶体振荡器通过外接 32768Hz 晶体提供稳定的 32kHz 振荡源,它不可关断,功耗极 低,主要用来给实时时钟(RTC)模块和 PLL 提供输入时钟。BL6531 使用外部晶体时不需要 负载电容。上电控制中采用了 125ms 的快速起振模式,125ms 后数字电路工作,将主时钟由 内部振荡器切换到晶振输出时钟或者 PLL 时钟输出。 晶振时钟输出启动时间在 20ms 以内,考虑晶振输出初期噪声较大,增加起振时间。 典型电流:1.3uA 起振时间:125ms 5.3 片内 RC 振荡器 芯片内包含一个内部低频 RC 振荡器,标称频率是 120kHz。系统复位后默认选择其为 系统时钟。在正常工作模式下,RC 振荡器一直有效。在节电模式下(SLEEP/STOP)可通过 节电控制寄存器的配置来决定是否关闭 RC 振荡器。 此振荡器起振稳定时间在 40us 以内。 典型电流:750nA 5.4 PLL 振荡器 系统里存在 1 个 PLL,PLL 的输入是低频 32.768kHz 晶体振荡器信号,经过倍频后输 出 32.768*450=14.7456MHz 的时钟信号。PLL 输入时钟固定,不可调节。输出可调节, 根据寄存器设置可分频为 14.7456MHZ、7.3728MHZ、3.6864MHZ、1.8432MZH。PLL 可以通过 软件控制使能与禁止工作。 PLL 环路使用 1.8V 电源,内置 LDO 模块,可在 2.2V-5.5V 电源范围内稳定工作。PLL 40/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 需要外置 1nF 的环路电容。PLL 环路锁定时间在 2ms 以内,电路设计中,PLL 环路将在启动 125ms 后,再提供数字部分时钟。 典型电流:150uA RMS jitter: 450ps ([email protected], 电源为 2.2V-5V) PLL 锁定时间:2ms 5.5 时钟控制寄存器 表 5- 1 时钟控制寄存器列表 地址 名称 复位值 功能描述 0x3070 CKCFGWP 0x56 时钟设置写保护寄存器 0x3071 CKCONREG 0x00 时钟设置寄存器 0x3072 CLKSELREG 0x00 时钟选择寄存器 0x3073 PLLODIVREG 0x03 PLL分频寄存器 0x3075 CLKSTATUS 0x00 时钟状态寄存器 表 5- 2 时钟设置写保护寄存器 CKCFGWP Address: 3070H Bit7 6 5 4 3 2 1 Bit0 0 1 0 1 0 1 1 0 2 1 Bit0 Read Write Reset 位 功能描述 CKCFGWP [7:0] 0x56:关闭写保护 0xA9:打开写保护 其他: 关闭写保护 表 5- 3 时钟设置寄存器 CKCONREG Address: 3071H Bit7 Read 6 - 5 - 4 3 - - - - - Write Reset 0 0 位 CKCONREG[1] 0 0 0 功能描述 1:PLL 时钟工作 0:PLL 不工作 表 5- 4 时钟选择寄存器 41/158 v1.2 0 1 0 BL6531/BL6536 电能表专用 MCU 芯片 CLKSELREG Address: 3072H Bit7 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 0 Read Write Reset 位 功能描述 CLKSELREG [1] lpclk 选择 0:内部 RC 振荡器(默认) 1:晶体振荡器 CLKSELREG [0] cpuclk 选择 0:lpclk(默认) 1:pll 时钟 表 5- 5PLL 分频寄存器 PLLODIVREG Address: 3073H Bit7 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 1 1 Read Write Reset 位 功能描述 PLLODIVREG [1:0] PLL 输出分频 00:1/8 分频 01:1/4 分频 10:1/2 分频 11:1 分频 表 5- 6 时钟状态寄存器 CKSTATUS Address: 3075H Bit7 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 0 Read Write Reset 位 功能描述 42/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 CKSTATUS [1] 1:晶体振荡器正常 0:晶体振荡器不正常 CKSTATUS [0] 1:PLL 振荡器正常 0:PLL 振荡器不正常 43/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 6. GPIO 端口 6.1 概述 芯片内共有 GPIO 59 个,分为 8 组,分别为 GPIO0-GPIO7,其中,GPIO16、GPIO21、 GPIO52 不能使用。 I/O 端口的主要功能特性: 1. 所有端口引脚都耐 5V 电压 2. 所有端口可配置为数字输入/输出、模拟输入/输出,除开漏可选结构端口外,都可设置 上拉。 3. 所有端口数字输入有施密特特性。 4. GPIO1.5/2.0 端口可配置为 20K 强上拉,GPIO2.6/2.7/3.4/3.5/5.1 可设置开漏输出。 5. GPIO_LED 类型端口驱动能力为 15mA,其余类型驱动能力为 5mA,拉电流灌电流基 本一致。 41 脚使用 timer 2 外部输入功能时,内部带有数字滤波器。 6. 表 6-1 GPIO 类型列表 PIN No. PIN Name PIN Type PIN No. PIN Name PIN Type 1 GPIO1.7/7816_CLKB GPIO 47 GPIO2.7/TXD2 GPIO_ODR 2 GPIO2.0/7816_OB GPIO_20KPUP 48 GPIO1.0/SCK GPIO 7 GPIO2.2/RXD0 GPIO 49 GPIO1.1/MISO GPIO 8 GPIO2.3/TXD0 GPIO 50 GPIO1.2/MOSI GPIO 9 GPIO2.4/RXD1 GPIO 51 GPIO1.3/SPSSN GPIO 10 GPIO2.5/TXD1 GPIO_500KPUP 52 GPIO5.7/CMP1/ADC 0 GPIO 11 GPIO4.7/SEG39 GPIO_500K_LE D 53 GPIO0.0/JTAG_TCK GPIO 12 GPIO4.6/SEG38 GPIO_500KPUP 54 GPIO0.1/JTAG_TDI GPIO 16 GPIO4.5/SEG37 GPIO_500KPUP 55 GPIO0.2/JTAG_TMS GPIO 17 GPIO4.4/SEG36 GPIO_500KPUP 56 GPIO0.3/JTAG_TDO GPIO 18 GPIO4.3/SEG35 GPIO 59 GPIO4.1/SEG33 GPIO_500KPU P 19 GPIO5.6/CMP0/ADC2 GPIO 60 GPIO0.7/TXD3/SDA 1 GPIO 20 GPIO5.0/RTC1S GPIO 61 GPIO0.6/RXD3/SCL 1 GPIO 26 GPIO6.7/SEG7 GPIO_LED 62 GPIO0.5/SDA0 GPIO 27 GPIO6.6/SEG6 GPIO_LED 63 GPIO0.4/SCL0 GPIO 28 GPIO6.5/SEG5 GPIO_LED 64 GPIO7.0/SEG13 GPIO 44/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 29 GPIO6.4/SEG4 GPIO_LED 65 GPIO7.1/SEG14 GPIO 30 GPIO6.3/SEG3 GPIO_LED 66 GPIO7.2/SEG15 GPIO 31 GPIO6.2/SEG2 GPIO_LED 67 GPIO7.3/SEG16 GPIO 32 GPIO6.1/SEG1 GPIO_LED 68 GPIO7.4/SEG17 GPIO 33 GPIO6.0/SEG0 GPIO_LED 69 GPIO7.5/SEG18 GPIO 38 GPIO4.0/SEG32 GPIO_500KPUP 70 GPIO7.6/SEG19 GPIO 39 GPIO3.7/SEG31/COM 4 GPIO 71 GPIO7.7/SEG20 GPIO 40 GPIO4.2/SEG34 GPIO_500KPUP 75 GPIO3.0/SEG24 GPIO 41 GPIO5.3/T2/ADC3 GPIO 76 GPIO3.1/SEG25 GPIO 42 GPIO3.6/SEG30/COM 5 GPIO 77 GPIO3.2/SEG26 GPIO 43 GPIO3.5/SEG29/COM 6 GPIO_ODR 78 GPIO3.3/SEG27 GPIO 44 GPIO3.4/SEG28/COM 7 GPIO_ODR 79 GPIO1.5/7816_OA GPIO_20KPUP 45 GPIO5.1/T0/ADC1 GPIO_ODR 80 GPIO1.4/7816_CLK A 46 GPIO2.6/RXD2 GPIO_ODR GPIO *GPIO 类型功能: 模拟输入,数字输入,数字输出,70K 上拉电阻。 *GPIO_500KPUP 类型功能:模拟输入,数字输入,数字输出,500K 上拉电阻。 *GPIO_20KPUP 类型功能:模拟输入,数字输入,数字输出,70K 或 20K 上拉可选。 *GPIO_LED 类型功能:模拟输入,数字输入,大驱动数字输出,70K 上拉电阻。 *GPIO_ODR 类型功能:模拟输入,数字输入,数字输出可选为开漏模式。 45/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 6.2 GPIO 结构框图 GPIO PAD BLOCK DIAGRAM PUEN ANAENB OUTEN PAD ANAEN: OUTEN: INEN: PUEN: AEN2: AEN1: DOUT: DIN: ANA2: ANA1: ANAEN DOUT ctr[5] ctr[4] ctr[3] ctr[2] ctr[1] ctr[0] _do _di ain2 ain1 ANAEN AEN1 ANA1 AEN2 ANA2 ANAENB DIN INEN 图 6-1 GPIO 端口结构图 6.3 GPIO 配置寄存器 每个 GPIO 端口都有一个配置寄存器,每组 GPIO 有一个 GPIO 寄存器。其中 GPIO4 可 用作外部中断,有中断使能寄存器及中断标志寄存器。相应的寄存器地址为: 表 6- 1 GPIO 控制寄存器列表 GPIO 名 配置寄存器 IO 中断使能 IO 中断标志 IO 端口 地址 寄存器地址 寄存器地址 寄存器地址 GPIO0.0~GPIO0.7 3180h~3187h 31f0h GPIO1.0~GPIO1.7 3188h~318fh 31f1h GPIO2.0~GPIO2.7 3190h~3197h 31f2h GPIO3.0~GPIO3.7 3198h~319fh 31f3h GPIO4.0~GPIO4.7 31a0h~31a7h GPIO5.0~GPIO5.7 31a8h~31afh 31f5h GPIO6.0~GPIO6.7 31b0h~31b7h 31f6h 31d4h 46/158 v1.2 31e4h 31f4h BL6531/BL6536 电能表专用 MCU 芯片 GPIO7.0~GPIO7.7 31b8h~31bfh 31f7h 表 6- 2 GPIO 端口配置寄存器 名称 GPIOX.X 端口配置寄存器 GPIOXXCFG 地址 位 Bit7 Bit6 位名 位权限 U-0 U-0 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 ANADIGB OUTEN INEN PULLEN FUNSEL1 FUNSEL0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 Bit5 GPIOXX.ANADIGB:GPIOX.X 端口模拟/数字选择控制位 1 = GPIOX.X 选择模拟端口功能,数字输出禁止,数字输入 BUF 关断,输入上拉关断 0 = GPIOX.X 选择数字端口功能,模拟通道关断 Bit4 GPIOXX.OUTEN:GPIOX.X 输出使能 1 = GPIOX.X 端口输出使能 0 = GPIOX.X 端口输出禁止 注:对此位的控制仅在 GPIOXXANADIGB=0 时有效。 Bit3 GPIOXX.INEN:GPIOX.X 输入使能 1 = GPIOX.X 端口输入使能 0 = GPIOX.X 端口输入禁止 注:对此位的控制仅在 GPIOXXANADIGB=0 时有效。 Bit2 GPIOXX.PUEN:GPIOX.X 输入上拉电阻使能控制 1 = GPIOX.X 输入上拉电阻有效 0 = GPIOX.X 输入上拉电阻无效 Bit7-6 未使用 Bit[1:0] GPIOXX.FUNSEL[1:0]:GPIOX.X 端口信号选择控制位 当 GPIOXXANADIGB=0,即端口选择数字功能时 00 = 数字 I/O 功能 0 (特殊功能) 01 = 数字 I/O 功能 1 (GPIO) 10 = 数字 I/O 功能 2 (PORT) 11 = 数字 I/O 功能 3 (测试引脚) 注:若对应编码的数字 I/O 功能没有定义,则芯片默认将该功能设为特殊功能。 当 GPIOXX.ANADIG=1,即端口选择模拟功能时 00 = 模拟 I/O 功能 0 (LCD 显示输出) 01 = 模拟 I/O 功能 1 (ADC/比较器 模拟通道) 表 6- 3 GPIO 端口寄存器 名称 GPIOX 端口寄存器 GPIOX 地址 位 Bit7 Bit6 Bit5 Bit4 47/158 v1.2 Bit3 Bit2 Bit1 Bit0 BL6531/BL6536 电能表专用 MCU 芯片 位名 GPIOX7 GPIOX6 GPIOX5 GPIOX4 GPIOX3 GPIOX2 GPIOX1 GPIOX0 位权限 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 Bit7-0 GPIO07~GPIO00:GPIO0.7~GPIO0.0 端口位。写相应 bit 位相应端口输出相应电平。 当端口设置为输出时,读端口读取寄存器信息;当端口设置为输入时,读端口读取引脚状态。 1 = 端口输出 1 电平 0 = 端口输出 0 电平 表 6- 4 GPIO4 中断使能寄存器 名称 GPIO4 中断使能寄存器 GPIO4IE 地址 位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 位名 GPIO47IE GPIO46IE GPIO45IE GPIO44IE GPIO43IE GPIO42IE GPIO41IE GPIO40IE 位权限 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 Bit7-0 GPIO47.IE~GPIO40.IE:GPIO4.7~GPIO4.0 中断使能控制位 1 = GPIO4.7~GPIO4.0 中断使能 0 = GPIO4.7~GPIO4.0 中断禁止,中断禁止不影响中断标志位的产生。 表 6- 5 GPIO4 中断标志寄存器 名称 GPIO4 中断标志寄存器 GPIO4IP 地址 位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 位名 GPIO47IP GPIO46IP GPIO45IP GPIO44IP GPIO43IP GPIO42IP GPIO41IP GPIO40IP 位权限 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 Bit7-0 GPIO47IF~GPIO40IF:GPIO4.7~GPIO4.0 中断标志位,写 0 清零 1 = GPIO4.7~GPIO4.0 中断有效,有电平变化产生,中断使能位不影响该标志的产生。 0 = 写 0 清 GPIO4.7~GPIO4.0 中断标志 48/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 7. 定时器 7.1 概述 BL6531/BL6536有5个16位可编程的定时器/计数器:定时器T0、定时器T1、定时器T2、 定时器T3、定时器T4。 每一个定时器/计数器都既可用作定时器方式,又可用作计数器方式。 每一个定时器/计数器都有两个独立的8位寄存器组成。Timer0:TL0和TH0;Timer1: TL1和TH1;Timer2:TL2和TH2;Timer3:TL3和TH3 Time4:TL4和TH4。 7.2 定时器工作模式 定时器0和定时器1都有4种工作模式,由TMODE和TCON控制。这四种工作模式是: 模式0:13位定时器/计数器 模式1:16位定时器/计数器 模式2:自动装入时间常数的8位定时器/计数器 模式3:1个8Bit计数器和1个8Bit定时器或1个8bit定时器和1个8bit定时器(Timer1在该模 式下关闭) 7.2.1 模式 0/1 当 Timer0 作为 13 位定时器/计数器的时候,TL0 的低 3 位可以被忽略,不会发生变化。 图 7-1 模式 0/1 示意图 49/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 7.2.2 模式 2 图 7-2 模式 2 示意图 7.2.3 模式 3 Timer1在该模式下关闭。 图 7-3 模式 3 示意图 注:图中的Fosc专指系统时钟,不是晶振时钟 7.3 定时器 0 在定时器模式中,定时器0每12个时钟周期加1,就是说,在每12个周期的时钟信号之后, 它的计数会加1。 在计数器模式中,定时器0会检测T0 pin的信号,每个下降沿计数器加1。 50/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 计数器识别一个下降沿需要2个时钟周期,所以最大的输入计数频率是系统时钟的1/2。虽然 对时钟的占空比没有限制,但是为了确保能够识别到0或1的状态,输入信号应该至少保持1 个系统时钟周期的稳定状态。 1, 模式0 设置寄存器“TMOD”的标志位TMOD[1:0]=00可进入该模式。 在模式0,如果选择为定时器,寄存器中记录的是定时的输入时钟数;如果选择为计数 器,寄存器中记录的是“T0”管脚的下降沿个数。清除标志位TMOD.2可选择为定时器,反之 选择为计数器。 定时器/计数器被分为两个8位寄存器,低字节和高字节;低字节又被分为两部分:低5 位和高3位(只有低5位是计数器的一部分)。这就使定时器/计数器成为一个13位的计数器, 每12个时钟周期加1,或者是外部输入信号“T0”的值由1变为0时加1。当定时器/计数器0溢出 时,“TF0”置位,同时产生定时器溢出中断。程序进入中断后,该位被自动清零。 定时器/ 计数器可被软件/硬件控制。标志位“TR0”可以控制定时器的停止(清0)和运行(置1)。如 果“TMOD.3”被使能,“INT0”管脚的电平可以控制计数器的停止(低电平)和运行(高电平)。 模式0下作定时器用时,其定时时间计算公式为:Td=(2^13-X)×12×Tcp 2, 模式1 设置寄存器“TMOD”的标志位TMOD[1:0]=01可进入该模式。 模式1与模式0的唯一区别 就是低字节寄存器不再被分为低5位和高3位两部分,整个低字节都用于计数器。在模式1中, 定时器/计数器0是一个16位的计数器。 在模式1下作定时器用时,其定时时间计算公式为:Td=(2^16-X)×12×Tcp 3, 模式2 设置寄存器“TMOD”的标志位TMOD[1:0]=10可进入该模式。 在模式2,如果选择为定时器,寄存器中记录的是定时的输入时钟数;如果选择为计数 器,寄存器中记录的是“T0”管脚的下降沿个数。清除标志位TMOD.2可选择为定时器,反之 选择为计数器。 在模式2,只有低字节(“TL0”)会每12个时钟周期加1,或者是外部输入信号“T0”的值 由1变为0时加1;并且定时器/计数器是一个8位的重载定时器/计数器。当定时器/计数器0溢 出时,“TF0”置位,同时产生定时器溢出中断,程序进入中断后,该位被自动清零。当溢出 发生时,新的值将会从高字节(“TH0”)到低字节(“TL0”)中抓取。 定时器/计数器可被软件或者硬件控制。标志位“TR0”可以控制定时器的停止(清0)和 运行(置1) 。如果“TMOD.3”被使能,“INT0”管脚的电平可以控制计数器的停止(低电平) 和运行(高电平) 。 在模式2下作定时器用时,其定时时间计算公式为: Td=(2^8-X)×12×Tcp 4,模式3 设置寄存器“TMOD”的标志位TMOD[1:0]=11可进入该模式。 在模式3,如果选择为定时器,寄存器中记录的是定时的输入时钟数;如果选择为计数 器,寄存器中记录的是“T0”管脚的下降沿个数。清除标志位可选择为定时器,反之选择为计 51/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 数器。 在模式3,低字节(“TL0”)会每12个时钟周期加1,或者是外部输入信号“T0”的值由1 变为0时加1。高字节(“TH0”)会每12个时钟周期加1。当定时器/计数器低字节0溢出时,“TF0” 置位,同时产生定时器溢出中断。程序进入中断后,该位被自动清零。当定时器/计数器的 高字节溢出时,“TF1”置位,同时产生定时器溢出中断。程序进入中断后,该位被自动清零。 在模式3,定时器/计数器的低字节受“TR0”控制。高字节受“TR1”控制,当“TR1”置位时, 开始计数。 7.4 定时器 1 在定时器模式中,定时器1每12个时钟周期加1,就是说,在每12个周期的时钟信号之后, 它的计数会加1。 在计数器模式中,定时器0在检测到管脚“T1”有下降沿时加1。因为它识别 一个下降沿需要2个时钟周期,所以最大的输入计数频率是系统晶振频率的1/2。虽然对时钟 的占空比没有限制,但是为了确保能够识别到0或1的状态,输入信号应该至少保持1个系统 时钟周期的稳定状态。 1. 模式0 设置寄存器“TMOD”的标志位TMOD[5:4]=00可进入该模式。 在模式0,如果选择为定时器,寄存器中记录的是定时的输入时钟数;如果选择为计数 器,寄存器中记录的是“T1”管脚的下降沿个数。清除标志位TMOD.6可选择为定时器,反之 选择为计数器。 定时器/计数器1被分为两个8位寄存器,低字节和高字节;低字节又被分为两部分:低5 位和高3位(只有低5位是计数器的一部分)。这就使定时器/计数器1成为一个13位的计数器, 每12个时钟周期加1,或者是外部输入信号“T1”的值由1变为0时加1。当定时器/计数器1溢出 时,“TF1”置位,同时产生定时器溢出中断。程序进入中断后,该位被自动清零。 定时器/ 计数器可被软件或者硬件控制。标志位“TR1”可以控制定时器的停止(清0)和运行(置1)。 如果“TMOD.7”被置位,“INT1”管脚的电平可以控制计数器的停止(低电平)和运行(高电 平)。 2. 模式1 设置寄存器“TMOD”的标志位TMOD[5:4]=01可进入该模式。 模式1与模式0的唯一区 别就是低字节寄存器不再被分为低5位和高3位两部分,整个低字节都用于计数器。在模式1 中,定时器/计数器1是一个16位的计数器。 3. 模式2 设置寄存器“TMOD”的标志位TMOD[5:4]=10可进入该模式。 在模式2,如果选择为定时器,寄存器中记录的是定时的输入时钟数;如果选择为计数 器,寄存器中记录的是“T1”管脚的下降沿个数。清除标志位TMOD.6可选择为定时器,反之 选择为计数器。 在模式2,只有低字节(“TL1”)会每12个时钟周期加1,或者是外部输入 信号“T1”的值由1变为0时加1。并且定时器/计数器是一个8位的重载定时器/计数器。当低字 节溢出时,“TF1”置位,同时产生定时器溢出中断。程序进入中断后,该位被自动清零。当 溢出发生时,新的值将会从高字节(“TH1”)到低字节(“TL1”)中抓取。 定时器/计数器可被软件或者硬件控制。标志位“TR1”可以控制定时器的停止(清0)和 运行(置1)。如果“TMOD.7”被置位,“INT1”管脚的电平可以控制计数器的停止(低电平) 52/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 和运行(高电平)。 4. 模式3 设置寄存器“TMOD”的标志位TMOD [5:4]=11可进入该模式。 在这种模式下,定时器/ 计数器1被关闭(只有定时器/计数器0可在模式3下操作)。 7.5 定时器 2 Timer2是一个16bit的定时器/计数器,包含CCU(Compare and Capture Unit)单元,可以实 现比较/捕获功能。通过配置寄存器CCEN来设置不同的比较/捕获模式。使用该功能时需要 在PECFG内将PE[3:0]配置为相应的CC功能管脚。 图 7-4 Timer2 模块结构图 7.5.1 定时器/计数器功能 a) 定时器模式 设置寄存器T2CON的标志位T2I0=1和T2I1=0进入该模式。定时器2有两个频率的时钟可 以选择,当标志位T2PS=0时,每12个时钟周期计数器加1;当标志位T2PS=1时,每24个时 钟周期计数器加1。 b) 计数器模式 设置寄存器T2CON的标志位T2I0=0和T2I1=1进入该模式。该模式中,定时器2对T2 pin 的下降沿计数。最大计数率为时钟频率的1/2。 c) 门控定时器模式 设置寄存器T2CON的标志位T2I0=1和T2I1=1进入该模式。该模式中有两个频率的时钟 可以选择,每12或者24个时钟周期计数器加1;同时受外部信号T2的控制。当T2=0时,Timer2 停止。 d) 重新载入 当Timer2溢出时,TH2/TL2自动从CRC寄存器中载入16位数据。 7.5.2 比较器功能 CCU单元由四组寄存器组成:crc、cc1、cc2、cc3,每组寄存器都可以配置成比较器模 式。在比较器模式中,每组寄存器的值与Timer2的TH2&TL2值比较,比较的结果通过PE端 口的低四位PE[0:3](依次为PE.0/PE.1/PE.2/PE.3)输出(需要在PECFG内将PE[0:3]配置为相 应的CC功能管脚)。有两种比较模式,可以通过寄存器T2CON的标志位T2CM选择。 a) 比较模式 0 设 置 寄 存 器 T2CON 的 标 志 位 T2CM=0 进 入 该 模 式 。 当 Timer2 的 值 和 比 较 寄 存 器 crc/cc1/cc2/cc3的值相同时,比较输出由低电平转为高电平;当Timer2溢出时,比较输出又 53/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 由高电平转为低电平。其中当Timer2的值和比较寄存器crc/cc1/cc2/cc3的值相同时, 还会触发 中断请求, 中断标志IEX3/ IEX4/ IEX5/ IEX6位(寄存器IRCON里)会置1。 图 7-5 比较模式 0 示意图 b) 比较模式 1 设置寄存器T2CON的标志位T2CM=1进入该模式。该模式下,寄存器位PE.0/ PE.1/ PE.2/PE.3可被软件赋值(需要在PECFG内将PE[0:3]配置为相应的CC功能管脚),当Timer2 的值和比较寄存器crc/cc1/cc2/cc3的值相同时,寄存器位PE.0/ PE.1/ PE.2/PE.3的值被传送到 外部接口,并且还会触发中断请求,中断标志位IEX3/ IEX4/ IEX5/ IEX6位(寄存器IRCON里) 会置1。该模式下,timer2的溢出不会改变比较器的外部输出信号。 图 7-6 比较模式 1 示意图 54/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 7.5.3 捕获器功能 CCU单元的四组寄存器crc、cc1、cc2、cc3都可以配置成捕获器模式。在该模式中,当 有外部信号(mode0)或软件写操作(mode1)时,Timer2的值将被保存到CCU寄存器中。 a) 捕获模式 0 以下条件满足时,执行一次捕获操作(需要在PECFG内将PE[0:3]配置为相应的CC功能 管脚): 输入信号cc1有上升沿(Timer2的值被捕获到寄存器CCL1/CCH1中) 输入信号cc2 有上升沿(Timer2的值被捕获到寄存器CCL2/CCH2中) 输入信号cc3有上升沿(Timer2的 值被捕获到寄存器CCL3/CCH3中) 输入信号cc0有上升/下降沿(Timer2的值被捕获到寄存 器CRCL/CRCH中)。该模式下,不会产生中断请求。 b) 捕获模式 1 当向任意一组CCU寄存器的低字节中写入任意值时,Timer2的值将被捕获到对应的 CCU寄存器中。该模式下,不会产生中断请求。 7.6 定时器 3 和定时器 4 定时器 3 和定时器 4 工作模式与定时器 1 相同,分别由寄存器 T3CON 和 T4CON 控制。 7.7 定时器配置寄存器 表 7- 1 定时器控制寄存器列表 地址 名称 复位值 功能描述 0x88 TCON 0x00 定时器控制寄存器 0x89 TMOD 0x00 定时器方式寄存器 0x8A TL0 0x00 定时器0计数器低8位 0x8B TL1 0x00 定时器1计数器低8位 0x8C TH0 0x00 定时器0计数器高8位 0x8D TH1 0x00 定时器1计数器高8位 0xCC TL2 0x00 定时器/计数器2低8位 0xCD TH2 0x00 定时器/计数器2高8位 0xC8 T2CON 0x00 定时器2控制寄存器 0xCA CRCL 0x00 自动装载寄存器低8位 增加(T2) 0xCB CRCH 0x00 自动装载寄存器高8位 增加(T2) 0xC1 CCEN 0x00 定时器2比较/捕获功能配置寄存器 0xC2 CCL1 0x00 比较/捕获寄存器1低8位 0xC3 CCH1 0x00 比较/捕获寄存器1高8位 0xC4 CCL2 0x00 比较/捕获寄存器2低8位 0xC5 CCH2 0x00 比较/捕获寄存器2高8位 0xC6 CCL3 0x00 比较/捕获寄存器3低8位 0xC7 CCH3 0x00 比较/捕获寄存器3高8位 0x91 T3CON 0x00 定时器3控制寄存器 0x96 TL3 0x00 定时器3计数器低8位 0x97 TH3 0x00 定时器3计数器高8位 55/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 0x9E T4CON 0x00 定时器4控制寄存器 0x9F TL4 0x00 定时器4计数器低8位 0xA7 TH4 0x00 定时器4计数器高8位 表 7- 2 定时器 0、定时器 1 控制寄存器(TCON 0x88H) TCON Read Address: 88H Bit7 6 5 4 3 2 1 Bit0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 0 0 0 0 0 0 0 0 Write Reset 位 功能描述 TF1 定时器 1 溢出中断标志当定时器 1 溢出时,由硬件置位。当进入中 断处理程序后,由硬件自动清除;也可以由软件清除。 TR1 定时器 1 运行控制位清除该位,定时器 1 将停止运行 TF0 定时器 0 溢出中断标志当定时器 0 溢出时,由硬件置位。当进入中 断处理程序后,由硬件自动清除;也可以由软件清除。 TR0 定时器 0 运行控制位清除该位,定时器 0 将停止运行 IE1 外部中断 1 标志当外部中断 int1 产生时(电平触发或沿触发) ,由 硬件置位。当进入中断处理程序后,由硬件清除。 外部中断 1 类型控制位 TCON.2=1:外部中断 1 由输入引脚的下降 IT1 沿触发; TCON.2=0:外部中断 1 由输入引脚的低电平触发; 外部中断 0 请求表志当外部中断 int0 产生时(电平触发或沿触发), IE0 由硬件置位。当进入中断处理程序后,由硬件清除。 外部中断 0 类型控制位 TCON.0=1:外部中断 0 由输入引脚的下降 IT0 沿触发; TCON.0=0:外部中断 0 由输入引脚的低电平触发; 表 7- 3 定时器 0、定时器 1 模式寄存器(TMOD 0x89H) T0&T1 Mode register Address: 89H Bit7 6 5 4 3 2 1 Bit0 GATE XT/C M1 M0 GATE XC/ T M1 M0 0 0 0 0 0 0 0 0 (TMOD) Read Write Reset 位 功能描述 TMOD.7 定时器 1 门控位 GATE=1:只有在“int1”引脚为高电平和“tr1”=1 时,定时器 1 才在“t1”引脚的下降沿计数; GATE=0:只要“tr1”=1 56/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 时,定时器 1 就在“t1”引脚的下降沿计数; 定时器 1 方式选择位 TMOD.6 C/ T =1:计数器方式 C/ T =0:定时器方式 定时器 1 模式控制位 TMOD.5 参照 TMOD[1:0]的表格所示 TMOD.4 定时器 0 门控位 GATE=1:只有在“int0”引脚为高电平和“tr0”=1 TMOD.3 时,定时器 0 才在“t0”引脚的下降沿计数; GATE=0:只要“tr0”=1 时,定时器 0 就在“t0”引脚的下降沿计数; 定时器 0 方式选择位 TMOD.2 C/ T =1:计数器方式 C/ T =0:定时器方式 定时器 0 模式控制位 TMOD[1:0] M0 M1 方 说明 式 0 0 13 位计数器/定时器,TL0(TL1)中的 0 低 5 位和 TH0(TH1)中的高 8 位 0 1 1 16 位计数器/定时器 1 0 2 8 位计数器/定时器,具有自动再装载 功能,装入在 TL0(TL1)溢出时发 生,装入的值由 TH0(TH1)提供。 1 1 定时器 1 停止操作,定时器 0 分成两 3 个 8 位的独立计数器:TL0 使用控制 位 tr0,溢出时将 tf0 置位;TH0 使用控 制位 tr1,溢出时将 tr1 置位 表 7- 4 定时器 1 计数器高 8 位(TH1) TH1 Address: 8DH Bit7 6 5 4 3 2 1 Bit0 Read: x x x x x x x x Write x x x x x x x x Reset 0 0 0 0 0 0 0 0 表 7- 5 定时器 1 计数器低 8 位(8BH,TL1) TL1 Address: 8BH 57/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 Bit7 6 5 4 3 2 1 Bit0 Read: x x x x x x x x Write x x x x x x x x Reset 0 0 0 0 0 0 0 0 表 7- 6 定时器 0 计数器高 8 位(8CH,TH0) TH0 Address: 8CH Bit7 6 5 4 3 2 1 Bit0 Read: x x x x x x x x Write x x x x x x x x Reset 0 0 0 0 0 0 0 0 表 7- 7 定时器 0 计数器低 8 位(8AH,TL0) TL0 Address: 8AH Bit7 6 5 4 3 2 1 Bit0 Read: x x x x x x x x Write x x x x x x x x Reset 0 0 0 0 0 0 0 0 表 7- 8 定时器 2 控制寄存器(T2CON 0xC8H) T2 control register (T2CON) Read: Address: C8H Bit7 6 5 4 3 2 1 Bit0 T2PS I3FR I2FR T2R1 T2R0 T2CM T2I1 T2I0 0 0 0 0 0 0 0 0 Write Reset 位 功能描述 T2PS 时钟选择位 0 – 定时器 2 的时钟选择为系统时钟的 1/12; 1 – 定时器 2 的时钟选择为系统时钟的 1/24; I3FR INT3 和 Timer2 比较捕获信号触发方式选择:0 – 下降沿;1 – 上升 沿 I2FR INT2 触发方式选择:0 – 下降沿;1 – 上升沿 T2R1,T2R0 0X – reload disabled 10 – Mode 0 11 – Mode 1 T2CM 定时器 2 比较模式选择 0 – 模式 0 1 – 模式 1 58/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 定时器 2 输入选择位 T2I1,T2I0 T2I1 T2I0 T2 工作模式 0 0 定时器 2 终止工作 0 1 定时器模式:输入时钟为 fsys/12 或 fsys/24 1 计数器模式:定时器 2 的计数由引脚“T2”的 0 下降沿驱动 1 定时器 T2 Pin 控制模式:输入时钟由引脚“T2” 1 控制使能或禁止,为 fsys/12 或 fsys/24 表 7- 9 定时器 2 计数器高 8 位(0CDH,TH2) TH2 Address: CDH Bit7 6 5 4 3 2 1 Bit0 Read: x x x x x x x x Write x x x x x x x x Reset 0 0 0 0 0 0 0 0 表 7- 10 定时器 2 计数器低 8 位(0CCH,TL2) TL2 Address: CCH Bit7 6 5 4 3 2 1 Bit0 Read: x x x x x x x x Write x x x x x x x x Reset 0 0 0 0 0 0 0 0 表 7- 11 定时器 2 比较/捕获功能配置寄存器(0xC1,CCEN) CCEN Address: C1H Bit7 6 5 4 3 2 1 Bit0 Read: COCAH COCA COCA COCA COCAH COCA COCA COCAL Write 3 L3 H2 L2 1 L1 H0 0 Reset 0 0 0 0 0 0 0 0 位 功能描述 类型 COCAH3 设置第 3 组寄存器 CCL3/CCH3 的比较/捕获模式 R/W COCAL3 COCAH3 COCAL3 描述 0 0 关闭比较/捕获功能 59/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 0 1 由 CC0 引脚的上升沿触发捕获 1 0 打开比较功能 1 1 向 CCL3 写操作以触发捕获 COCAH2 设置第 2 组寄存器 CCL2/CCH2 的比较/捕获模式 COCAL2 COCAH2 COCAL2 描述 0 0 关闭比较/捕获功能 0 1 由 CC1 引脚的上升沿触发捕获 1 0 打开比较功能 1 1 向 CCL2 写操作以触发捕获 R/W COCAH1 设置第 1 组寄存器 CCL1/CCH1 的比较/捕获模式 COCAL1 COCAH1 COCAL1 描述 0 0 关闭比较/捕获功能 0 1 由 CC2 引脚的上升沿触发捕获 1 0 打开比较功能 1 1 向 CCL1 写操作以触发捕获 R/W COCAH0 设置第 0 组寄存器 CRCH0/CRCL0 的比较/捕获模式 COCAL0 COCAH0 COCAL0 描述 0 0 关闭比较/捕获功能 0 1 由 CC3 引脚的上升沿触发捕获 1 0 打开比较功能 1 1 向 CRCL3 写操作以触发捕获 R/W 表 7- 12 定时器 2 的 CRC 高 8 位寄存器(CBH,CRCH) CRCH Address: CBH Bit7 6 5 4 3 2 1 Bit0 Read: x x x x x x x x Write x x x x x x x x Reset 0 0 0 0 0 0 0 0 表 7- 13 定时器 2 的 CRC 低 8 位寄存器(CAH,CRCL) CRCL Address: CAH Bit7 6 5 4 3 2 1 Bit0 Read: x x x x x x x x Write x x x x x x x x Reset 0 0 0 0 0 0 0 0 表 7- 14 定时器 2 的 CC1 高 8 位寄存器(C2H,CC1H) CC1H Address: C2H 60/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 Bit7 6 5 4 3 2 1 Bit0 Read: x x x x x x x x Write x x x x x x x x Reset 0 0 0 0 0 0 0 0 表 7- 15 定时器 2 的 CC1 低 8 位寄存器(C3H,CC1L) CC1L Address: C3H Bit7 6 5 4 3 2 1 Bit0 Read: x x x x x x x x Write x x x x x x x x Reset 0 0 0 0 0 0 0 0 表 7- 16 定时器 2 的 CC2 高 8 位寄存器(C4H,CC2H) CC2H Address: C4H Bit7 6 5 4 3 2 1 Bit0 Read: x x x x x x x x Write x x x x x x x x Reset 0 0 0 0 0 0 0 0 表 7- 17 定时器 2 的 CC2 低 8 位寄存器(C5H,CC2L) CC2L Address: C5H Bit7 6 5 4 3 2 1 Bit0 Read: x x x x x x x x Write x x x x x x x x Reset 0 0 0 0 0 0 0 0 表 7- 18 定时器 2 的 CC3 高 8 位寄存器(C6H,CC3H) CC3H Address: C6H Bit7 6 5 4 3 2 1 Bit0 Read: x x x x x x x x Write x x x x x x x x Reset 0 0 0 0 0 0 0 0 表 7- 19 定时器 2 的 CC3 低 8 位寄存器(C7H,CC3L) CC3L Address: C7H Bit7 6 5 4 3 2 1 Bit0 Read: x x x x x x x x Write x x x x x x x x Reset 0 0 0 0 0 0 0 0 61/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 表 7- 20 定时器 3 控制寄存器(T3CON 0x91H) T3CON Address: 91H Bit7 6 5 4 3 2 1 Bit0 Read T3CON. T3CON. T3CON. T3CON. T3CON. T3CON. T3CON. T3CON. Writ 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 e Rese t 位 功能描述 T3CON.7 定时器 3 门控位 GATE=1。 T3CON.6 定时器 3 方式选择位 C/ T =1:计数器方式 C/ T =0:定时器方式 定时器 3 模式控制位 T3CON.5 T3CON.4 M0 M1 方 说明 式 0 0 0 13 位计数器/定时器,TL3 中的低 5 位和 TH3 中的高 8 位 0 1 1 16 位计数器/定时器 1 0 2 8 位计数器/定时器,具有自动再装载 功能,装入在 TL3 溢出时发生,装入 的值由 TH3 提供。 1 1 3 定时器 3 分成两个 8 位的独立计数器. T3CON.3 TH3 溢出标志位 T3CON.2 TH3 工作使能 T3CON.1 定时器 3 溢出标志位 T3CON.0 定时器 3 工作使能 表 7- 21 定时器 3 计数器高 8 位(TH3) TH3 Address: 97H Bit7 6 5 4 3 2 1 Bit0 Read: x x x x x x x x Write x x x x x x x x Reset 0 0 0 0 0 0 0 0 表 7- 22 定时器 3 计数器低 8 位(TL3) 62/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 TL3 Address: 96H Bit7 6 5 4 3 2 1 Bit0 Read: x x x x x x x x Write x x x x x x x x Reset 0 0 0 0 0 0 0 0 表 7- 23 定时器 4 控制寄存器(T4CON 0x9EH) T4CON Address: 9EH Bit7 6 5 4 3 2 1 Bit0 Read T4CON. T4CON. T4CON. T4CON. T4CON. T4CON. T4CON. T4CON. Writ 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 e Rese t 位 功能描述 T4CON.7 定时器 4 门控位 GATE=1。 T4CON.6 定时器 4 方式选择位 C/ T =1:计数器方式 C/ T =0:定时器方式 T4CON.5 T4CON.4 定时器 3 模式控制位 M0 M1 方 说明 式 0 0 0 13 位计数器/定时器,TL4 中的低 5 位和 TH4 中的高 8 位 0 1 1 16 位计数器/定时器 1 0 2 8 位计数器/定时器,具有自动再装载 功能,装入在 TL4 溢出时发生,装入 的值由 TH4 提供。 1 1 3 定时器 4 分成两个 8 位的独立计数器. T4CON.3 TH4 溢出标志位 T4CON.2 TH4 工作使能 T4CON.1 定时器 4 溢出标志位 T4CON.0 定时器 4 工作使能 表 7- 24 定时器 4 计数器高 8 位(TH4) TH3 Address: A7H 63/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 Bit7 6 5 4 3 2 1 Bit0 Read: x x x x x x x x Write x x x x x x x x Reset 0 0 0 0 0 0 0 0 表 7- 25 定时器 4 计数器低 8 位(9FH,TL4) TL3 Address: 9FH Bit7 6 5 4 3 2 1 Bit0 Read: x x x x x x x x Write x x x x x x x x Reset 0 0 0 0 0 0 0 0 64/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 8. UART 接口 8.1 概述 BL6531/BL6536 支持四个可编程的全双工 UART 接口:UART0、UART1、UART2 和 UART3。主要由两个独立的串行数据缓冲寄存器 SBUF(一个发送缓冲寄存器,一个接收缓 冲寄存器)和发送控制器、接收控制器、输入移位寄存器及若干控制门电路组成。 每一个 UART 都支持全双工的异步串行通信, 通信波特率软件可设置,最大支持 115200。 每一个 UART 都支持 8 位数据或者 9 位数据通信,同时支持硬件奇偶校验。 UART0 和 UART1 支持红外调制功能,输出载波频率为 38KHZ。 UART1支持通信极性的自适应,通过判断起始位的电平变化,判断通信的极性,自动 适应该极性的通信。 UART2通信接口为Open Drien 接口,实现通信 8.2 UART0 接口 串口 0 提供一个灵活的全双工异步通信的接收器/发送器,支持三种异步工作方式: 方式 1:通过 TXD 发送或通过 RXD 接收 8 个数据位,波特率是可变的。 方式 2:通过 TXD 发送或通过 RXD 接收 9 个数据位,波特率可编程为振荡器频率 的 1/32 或 1/64。 方式 3:通过 TXD 发送或通过 RXD 接收 9 个数据位,波特率是可变的。 8.2.1 模块框图 图 8-1 UART0 接口模块框图 8.2.2 波特率 在串口 0 的方式 2 时,波特率有两种选择:当 PCON.7(即 SMOD 位)=1 时,波特率为 振荡器频率的 1/32;当 PCON.7(即 SMOD 位)=0 时,波特率为振荡器频率的 1/64。 在串 口 0 的模式 1、模式 3 时,波特率是可变的。 当 BD(ADCON.7)=1 时,波特率由波特率生成器和 SMOD 位的值确定: 65/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 其中 SMOD 是 SFR PCON.7 的值;S0REL 是 10bit 无符号数,寄存器 S0RELH 和 S0RELL 的值;fcpu 是系统时钟。 当 BD(ADCON.7)=0 时,波特率由定时器 1/定时器 2 的溢出速率和 SMOD 位的 值确定: 图 8-2 UART0 波特率 8.2.3 工作模式 1 模式 1 是一种标准的异步通信方式,每帧包含 10 位数据信息:1 位起始位(0) ,8 位 数据位(低位在 前) ,1 位停止位(1)。在这种方式中,TXD 引脚为数据发送端,RXD 引 脚为数据接收端,其波形如下图 所示: 66/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 图 8-3 模式1 时串行口数据信息 在模式 1 中,可以用中断方式进行数据通信。当一帧中最后一个数据发送完时,发送 中断标志 TI 置 “1” ;同时,接收完最后一个数据位时,接收中断标志 RI 置“1” 。 8.2.4 工作模式 2 模式 2 的波特率固定为系统时钟的 1/32 或 1/64(取决于 pcon 寄存器的位 smod) 。 模式 2 是使用第 9 位数据的通信方式,每帧包含 11 位数据信息:1 位起始位(0) , 8 位数据位(低位 在前) ,1 位可编程的第 9 位数据位,1 位停止位(1)。TXD 引脚为 数据发送端,RXD 引脚为数据接收端, 其波形如下图所示: 图 8-4 模式2 时串行口数据信息 在数据发送时,串行口控制寄存器中的 TB8_0 作为第 9 位数据同时发送,发送完毕 TB8_0 被清除。 RXD0 引脚为数据输入端,当 RXD0 引脚的下降沿出现,开始接收。接 收完成后,数据存放在 S0BUF 寄存器,第 9 位数据存放在寄存器 S0CON 的 RB8_0 位。 数据收发时,第 9 位数据可作为奇/偶校验或数据/地址标志位使用。 8.2.5 工作模式 3 模式 3 的数据传送方式和模式 2 相同,只是在波特率选择上不同。按照模式 3 进行 数据传送时允许奇 偶校验。数据收发时,第 9 位数据可作为奇/偶校验或数据/地址标志位 使用。 67/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 图8-5 模式 3 时串行口数据信息 8.2.6 多处理器通信 模式 2 和模式 3 中每字节接收 9 位数据的特性,可以实现多机通信的特殊功能。 当 S0CON 的位 SM2_0 置 1 时,只有接受到的第 9 位数据(S0CON 的 RB8_0) 为 1 时,才会产生接 收中断,否则不会有接收中断产生。 当主机要发送一批数据给几个从机之一时,首先发送一帧表明从机地址的地址字节信 息,且在地址信 息中第 9 位为 1。从机的 SM2_0 都设定为 1,因此所有从机被中断而接 收地址信息。当某从机的地址与所 接收到的地址一致时,表明该从机被寻址,将其 SM2_0 清零,准备接收将传送的数据字节。此后主机发 送数据且保证第 9 位一直为 0,这样已被 寻址的从机可接收数据,未被寻址的从机忽略之后所传送的数据 字节。 8.3 UART1 接口 8.3.1 模块框图 图 8-6 UART1 模块框图 8.3.2 波特率 串口 1 在工作模式 1 和工作模式 2 中,波特率是可变的,采用内部波特率生成器,波特 68/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 率计算公式为: 其中 S1REL 是 10bit 无符号数,寄存器 S1RELH 和 S1RELL 的值;fcpu 是系统时钟。 8.3.3 工作模式 1 模式 1 是一种异步通信方式,每帧包含 9 位数据信息,波特率可变。波特率生成器 “S1RELH S1RELL”用于同步输入和输出传输。串口 1 的波特率不受寄存器“pcon”的 “smod”位作用。TXD1 引脚为数据输出端,当向寄存器“S1BUF”中写入数据后,传输 开始。输出数据每帧包含 11 位数据信息:1 位起始位(0) ,8 位数据位(低位在前) ,1 位 可编程的第 9 位数据位(来自寄存器“S1CON” 的“tb81”位 ) ,1 位停止位(1) 。RXD1 引脚为数据输入端,当 RXD1 引脚的下降沿出现,开始接收。寄存器“S1BUF”完成接收 后, 输入数据才可继续,第 9 位数据存放在寄存器“S1CON”的“rb81”位。在接收期间, 寄存器“S1BUF” “rb81”保持不变,直到接收完成。数据收发时,第 9 位数据可作为奇 /偶校验或数据/地址标志位使用。 图 8-7 UART1 工作模式 1 时数据信息 8.3.4 工作模式 2 模式 2 是一种异步通信方式,每帧包含 8 位数据信息,波特率可变。波特率生成器 “S1RELH S1RELL”用于同步输入和输出传输。波特率不受寄存器“PCON”的“smod” 位作用。TXD1 引脚为数据输出端,当向寄存器“S1BUF”中写入数据后,传输开始。输 出数据每帧包含 10 位数据信息:1 位起始位(0) ,8 位数据位(低位在前) ,1 位停止位。 RXD1 引脚为数据输入端,当 RXD1 引脚的下降沿出现,开始接收。寄存器“S1BUF”完 成接收后, 输入数据才可继续。在接收期间,寄存器“S1BUF” “rb81”保持不变,直到接 收完成。 69/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 图 8-8 UART1 工作模式 2 时数据信息 8.3.5 多处理器通信 模式 1 中每字节接收 9 位数据的特性,可以实现多机通信的特殊功能。 若寄存器 S1CON 中的位”sm21”被置 1,接收中断只会在接收到的第 9 个字节是 1 的时候产生。否则, 在接收的时候没有中断产生。 为了利用这个特性实现多处理器通讯,需要将从处理器的”sm21”位设置为 1。主处理 器传输从机地址, 同时将第 9 位置 1,这样在所有的从机中触发接收中断。从处理器软件 程序比较接收到的字节与自己的网 络地址是否一致。如果一致,则清除”sm21”标志位,并 且接收从主机传送过来的其他信息中,第 9 位一直 保持为 0;其他的从机保持标志 位”sm21”为 1,以忽略该主机传送过来的其他信息。 8.4 UART2 和 UART3 接口 UART2 和 UART3 具有和 UART1 同样的串口通信功能。同样具有模式 1 和模式 2 两种 工作模式,并且具有和 UART 1 同样的多处理器通信功能。 8.5 红外载波调制 UART0 和 UART1 红外载波调制发送功能。由寄存器 IFRDCTL 控制,Bit0 设置为 1 时, UART0 发送调制 38KHZ 载波,Bit1 设置为 1 时,UART1 发送调制 38KHZ 载波。 8.6 极性自适应 UART1 具有极性自适应功能,当寄存器 S1POL 的 Bit0 设置为 1 时,根据通信是起始 位的电平变换自动判断通信极性,当起始位从高电平变为低电平,判断为正极性 Bit2 位置 0, 当起始位从低电平变为高电平时,判断为负极性 Bit2 位置 1。当 S1POL 的 Bit0 为 0 时,可 以手动配置通信极性,当 Bit1 为 0 时,设置为正极性,当 Bit1 为 1 时,设置为负极性。当 自动识别为负极性或者手动配置为负极性时,数据通信时,硬件自动将数据进行转换。 8.7 UART 配置寄存器 表 8- 1UART 配置寄存器列表 地址 名称 复位值 0x98 S0CON 0x00 UART 0 控制寄存器 70/158 v1.2 功能描述 BL6531/BL6536 电能表专用 MCU 芯片 0x99 S0BUF 0x00 UART 0 数据缓冲寄存器 0x9b S1CON 0x00 UART 1 控制寄存器 0x9c S1BUF 0x00 UART 1 数据缓冲寄存器 0x87 PCON 0x08 UART 0 波特率控制位 0xD8 ADCON 0x00 UART0 波特率控制位 0xBA S0RELH 0x03 UART0 波特率发生器的重载值 0xAA S0RELL 0xd9 0xBB S1RELH 0x03 0x9D S1RELL 0x00 0xB7 S2CON 0x00 UART2 控制寄存器 0xBC S2RELH 0x03 UART2 波特率发生器的重载值 0xBD S2RELL 0x00 0xBE S2BUF 0x00 UART2 数据缓冲寄存器 0xE5 S3CON 0x00 UART3 控制寄存器 0xE6 S3RELH 0x03 UART3 波特率发生器的重载值 0xE7 S3RELL 0x00 0xE8 S3BUF 0x00 UART3 数据缓冲寄存器 0xAB S1POL 0x03 UART1 极性控制寄存器 0xAC SPAR 0x00 奇偶校验控制寄存器 0xAD SPARERR 0x00 奇偶校验错误指示寄存器 0x306F IFRDCTL 0x00 红外调制输出控制寄存器 UART1 波特率发生器的重载值 表 8- 2 串口0 控制寄存器(S0CON 98H) S0CON Read Address: 98H Bit7 6 5 4 3 2 1 Bit0 SM0_0 SM1_0 SM2_0 REN0_0 TB8_0 RB8_0 TI0 RI0 0 0 0 0 0 0 0 0 Write Reset 位 功能描述 串行工作方式选择位:选择串行的三种工作方式之一 SCON0.7 SCON0.6 SM0_0 SM1_0 模式 描述 波特率 0 1 模式 1 8 位串口 可变,详细内容参考波特率产生方式 1 0 模式 2 9 位串口 可编程为系统频率的 1/32 或 1/64 1 1 模式 3 9 位串口 可变,详细内容参考波特率产生方式 SCON0.5 多机交互使能位 SCON0.4 允许接收位 由软件置位/复位;REN_0 置位时允许接收。 SCON0.3 发送数据位 8 由软件置位/复位;方式 2、3 中是被发出去的第 9 数据位。 71/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 SCON0.2 接收数据位 8 方式 2、3 中是收到的第 9 数据位;方式 1 中若 SM2_0=0,则为收到的停止 SCON0.1 位 发送中断标志 方式 0 中,在发送的第 8 位刚结束时由硬件置位;其他方式时,在开始发送 停 止位时由硬件置位;必须由软件复位。 接收中断标志 方式 0 中,在接收的第 8 位刚结束时由硬件置位;其他方式时,在接收停止 SCON0.0 位 的中间时刻由硬件置位;必须由软件复位。 表 8- 3 串口0 缓冲寄存器(S0BUF 99H) S1CON Address: 99H Bit7 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 0 Read Write Reset 对寄存器 S0BUF 写操作,则 UART0 将开始向外发送缓存数据;对寄存器 S0BUF 读操 作,则 UART0 将从串行接收缓存中读取数据 表 8- 4 串口1 控制寄存器(S1CON 9BH) S1CON Read Address: 9BH Bit7 6 5 4 3 2 1 Bit0 SM X SM2_1 REN_1 TB8_1 RB8_1 TI1 RI1 0 0 0 0 0 0 0 0 Write Reset 位 功能描述 SM 串口 1 模式选择 sm = 0: 模式 1 SM2_1 多机通讯允许位 REN_1 允许接收位 由软件置位/复位;REN_1 置位时允许接收。 TB8_1 发送数据位 8 由软件置位/复位; 在模式 1 中,是被发送 sm = 1: 模式 2 出去的第 9 数据位; 接收数据位 8 RB8_1 在模式 1 中,是收到的第 9 数据位; 在模式 2 中, 若 sm2_1 =0,则为收到的停止位; 72/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 TI_1 发送中断标志 方式 1 或 2 中,在开始发送停止位时由硬件置位;必须由软件复位。 RI_1 接收中断标志 方式 1 或 2 中,在接收停止位的中间时刻由硬件置位;必须由软件复位。 表 8- 5 串口1 缓冲寄存器(S1BUF 9CH) S1CON Address: 99H Bit7 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 0 Read Write Reset 对寄存器 S1BUF 写操作,则 UART1 将开始向外发送缓存数据;对寄存器 S1BUF 读操 作,则 UART1 将从串行接收缓存中读取数据。 表 8- 6 PControl Rigister(PCON 87H) PCON Read Address: 87H Bit7 6 5 SMOD DP_SEL 0 0 4 3 2 1 Bit0 0 0 0 0 PWM Write Reset 0 0 SMOD:串口 0 波特率控制位。SMOD=0,波特率不受该位影响;SMOD=1,波特率 加倍。 表 8- 7 AD Control Rigister(ADCON D8H) ADCON Address: D8H Bit7 Read 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 Bd Write Reset 0 该寄存器的 Bd 位控制串口 0 的波特率生成方式,详细内容参见波特率生成方式。 表 8- 8 串口0 波特率重载寄存器(S0RELL ,AAH) S0RELL Address: AAH Bit7 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 0 Read Write Reset 表 8- 9 串口0 波特率重载寄存器(S0RELH ,BAH) 73/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 S0RELH Address: BAH Bit7 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 0 Read Write Reset 对寄存器S0RELL 和S0RELH 写操作,通过配置寄存器改变UART0 的通讯波特率。 表 8- 10 串口1 波特率重载寄存器(S1RELL ,9DH) S1RELL Address: 9DH Bit7 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 0 Read Write Reset 表 8- 11 串口 1 波特率重载寄存器(S1RELH ,BBH) S1RELH Address: BBH Bit7 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 0 Read Write Reset 对寄存器S1RELL 和S1RELH 写操作,通过配置寄存器改变UART1 的通讯波特率。 表 8- 12 串口 2 控制寄存器(S2CON B7H) S2CON Read Address: B7H Bit7 6 5 4 3 2 1 Bit0 SM_2 X SM2_2 REN_2 TB8_2 RB8_2 TI2 RI2 0 0 0 0 0 0 0 0 Write Reset 位 功能描述 SM_2 串口 2 模式选择 Sm_2 = 0: 模式 1 SM2_2 多机通讯允许位 sm _2= 1: 模式 2 74/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 REN_2 允许接收位 由软件置位/复位;REN_2 置位时允许接收。 TB8_2 发送数据位 8 由软件置位/复位; 在模式 1 中,是被发送 出去的第 9 数据位; 接收数据位 8 在模式 1 中,是收到的第 9 数据位; 在模式 2 中,若 sm2_2=0,则为收到的 停止位; RB8_2 TI_2 发送中断标志 方式 1 或 2 中,在开始发送停止位时由硬件置位;必须由软件复位。 RI_2 接收中断标志 方式 1 或 2 中,在接收停止位的中间时刻由硬件置位;必须由软件复位。 表 8- 13 串口2 波特率重载寄存器(S2RELL ,BCH) S2RELL Address: BCH Bit7 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 0 Read Write Reset 表 8- 14 串口 2 波特率重载寄存器(S2RELH ,BDH) S2RELH Address: BDH Bit7 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 0 Read Write Reset 对寄存器S2RELL 和S2RELH 写操作,通过配置寄存器改变UART2 的通讯波特率。 表 8- 15 串口2 缓冲寄存器(S2BUF BEH) S2BUF Address: BEH Bit7 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 0 Read Write Reset 对寄存器 S2BUF 写操作,则 UART2 将开始向外发送缓存数据;对寄存器 S2BUF 读操 作,则 UART2 将从串行接收缓存中读取数据。 表 8- 16 串口 3 控制寄存器(S3CON E5H) 75/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 S3CON Read Address: E5H Bit7 6 5 4 3 2 1 Bit0 SM_3 X SM2_3 REN_3 TB8_3 RB8_3 TI3 RI3 0 0 0 0 0 0 0 0 Write Reset 位 功能描述 SM_3 串口 3 模式选择 Sm_3 = 0: 模式 1 SM2_3 多机通讯允许位 REN_3 允许接收位 由软件置位/复位;REN_3 置位时允许接收。 TB8_3 发送数据位 8 由软件置位/复位; 在模式 1 中,是被发送 sm _3= 1: 模式 2 出去的第 9 数据位; 接收数据位 8 在模式 1 中,是收到的第 9 数据位; 在模式 2 中,若 sm2_3=0,则为收到的 停止位; RB8_3 TI_3 发送中断标志 方式 1 或 2 中,在开始发送停止位时由硬件置位;必须由软件复位。 RI_3 接收中断标志 方式 1 或 2 中,在接收停止位的中间时刻由硬件置位;必须由软件复位。 表 8- 17 串口3 波特率重载寄存器(S3RELL ,E6H) S3RELL Address: E6H Bit7 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 0 Read Write Reset 表 8- 18 串口 3 波特率重载寄存器(S3RELH ,E7H) S3RELH Address: E7H Bit7 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 0 Read Write Reset 对寄存器S3RELL 和S3RELH 写操作,通过配置寄存器改变UART3 的通讯波特率。 76/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 表 8- 19 串口3 缓冲寄存器(S3BUF E8H) S3BUF Address: E8H Bit7 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 0 Read Write Reset 对寄存器 S3BUF 写操作,则 UART3 将开始向外发送缓存数据;对寄存器 S3BUF 读操 作,则 UART3 将从串行接收缓存中读取数据。 表 8- 20 串口 1 极性控制寄存器(S1POL ABH) S1POL Address: ABH Bit7 6 5 4 3 Read 2 1 Bit0 S1POL.2 S1POL.1 S1POL.0 0 0 0 Write Reset 0 0 0 0 0 位 功能描述 串口 1 当前使用的极性指示 S1POL.2 S1POL.2 = 0: 正极性 S1POL.2 = 1: 负极性 S1POL.1 手动设置串口 1 极性 S1POL.1 = 0: 正极性 S1POL.1 = 1: 负极性 串口 1 极性自动/手动控制 S1POL.0 S1POL.0 = 0: 手动控制 S1POL.0 = 1: 自动控制 表 8- 21 串口奇偶校验控制寄存器(SPAR ACH) SPAR Read Address: ACH Bit7 6 5 4 3 2 1 Bit0 SPAR.7 SPAR.6 SPAR.5 SPAR.4 SPAR.3 SPAR.2 SPAR.1 SPAR.0 0 0 0 0 0 0 0 0 Write Reset 位 SPAR.7 SPAR.6 功能描述 串口 3 奇偶校验控制 00:不校验; 01:奇校验; 10:偶校验; 11:always“1” 77/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 SPAR.5 SPAR4 串口 2 奇偶校验控制 00:不校验; 01:奇校验; 10:偶校验; 11:always“1” SPAR.3 SPAR.2 串口 1 奇偶校验控制 00:不校验; 01:奇校验; 10:偶校验; SPAR.1 SPAR.0 11:always“1” 串口 0 奇偶校验控制 00:不校验; 01:奇校验; 10:偶校验; 11:always“1” 表 8- 22 串口奇偶校验控制寄存器(SPAREER ADH) SPAREER Address: ADH Bit7 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 0 Read Write Reset 位 SPAREER.3 串口 3 奇偶校验错误指示 功能 描述 0:接收无奇偶校验错误; 1:接收有奇偶校验错误; 硬件置位,软件清 0,读 sbuf 清 0 或开始接收新数据时硬件自动清 0 SPAREER.2 串口 2 奇偶校验错误指示 0:接收无奇偶校验错误; 1:接收有奇偶校验错误; 硬件置位,软件清 0,读 sbuf 清 0 或开始接收新数据时硬件自动清 0 SPAREER.1 串口 1 奇偶校验错误指示 0:接收无奇偶校验错误; 1:接收有奇偶校验错误; 硬件置位,软件清 0,读 sbuf 清 0 或开始接收新数据时硬件自动清 0 SPAREER.0 串口 0 奇偶校验错误指示 0:接收无奇偶校验错误; 1:接收有奇偶校验错误; 硬件置位,软件清 0,读 sbuf 清 0 或开始接收新数据时硬件自动清 0 78/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 9. SPI 接口 9.1 概述 芯片包含一个 SPI 接口,可以实现在 MCU 和外围设备(包含外部 MCU)之间的全双 工同步串行通讯。SPI 模块可以编程实现以主模式或从模式工作,同时包含下列特征: 全双工模式,三线同步传输 主机和从机模式 通信速率可设置,最高可设置为 fclk/32,最低为 fclk/4096 极性和相位可编程的串行时钟 具有写冲突处理机制 8 位数据传输,高字节在前,低字节在后 8 位从机选择接口,控制外部从机 9.2 模块框图 图9-1 SPI 功能框图 79/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 9.3 功能描述 串行外设接口(SPI)允许芯片与其他设备以半/全双工、同步、串行方式通信。此接口 可以被配置成主 模式,并为从设备提供通信时钟(SCK)。 9.3.1 TR 接口传输格式 下图显示了数据传输的主要格式。根据 SPI_MS 模块的设置,数据的每一位在主时钟 ( “scko” )上升沿( “cpol”=’0’)或下降沿(“ cpol”=’1’)被传送。数据在主时钟( “scko” ) 的下降沿( “cpol”=’0’) 或上升沿(“cpol”=’1’)被接收。这适用于主模式或从模式的传 输器/接收器,前提是“scko”是传输过程 中的主时钟。如果“cpha”被置位,第一位(MSB) 将在“scko”的第一个动态沿时通过“mosio”/“misoo” 被发送。如果“cpha”被清零, 第一位(MSB)将在“scko”的第一个动态沿之前半个周期被发送。 除此之外,输入数据(主模式是“misoi”,从模式是“mosii”)在每一位传输一半时被 取样,在这个 时钟周期的相反的电平上,数据被移位到输出信号“mosio”上。 图 9-2 SPI_MS 数据传输格式 9.3.2 主机模式传输格式 SPI_MS 默认为主机模式。 在主机模式中,SPI_MS 等待程序向寄存器“spdat”中写入数据。如果向“spdat”的 写入动作完成, 传输就开始。在时钟“scko”的发送沿,数据被移位到输出引脚“mosio” 上。同时,从从机传送过来的 另一字节的数据被移位到主机的输入引脚“misoi”上。 80/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 图 9-3 主机模式数据传输格式(cpha=0, cpol=0) 图 9-4 主机模式数据传输格式(cpha=0, cpol=1) 81/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 图9-5 主机模式数据传输格式(cpha=1, cpol=0) 图9-6 主机模式数据传输格式(cpha=1, cpol=1) 9.3.3 从机模式传输格式 首先,需要写寄存器“spcon”中的“mstr”=0,以配置 SPI_MS 进入从机模式。另外 配置“spen”=1 以打开 SPI_MS 模块使能。 82/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 图 9-7 从模式数据传输格式 在从机模式中,SPI_MS 等待输入信号“ssn”的低电平,当抓到“ssn”的下降沿,传 输开始,直到传输完成, “ssn”都需要保持低电平状态。寄存器“SPCON”中“cpha”的状 态决定传输的开始位置,当“cpha” 被清零,从机必须在 “scki”信号的第一个下降沿之 前开始传输;当“cpha”被置位,从机会把“scki” 信号的第一个下降沿做为传输的开始标 志。 9.3.4 中断功能 SPI_MS 提供 SPI 中断输出信号“intspi”,有两种状态可以产生中断请求。 名称 SPI_MS 中断标志描述 “spif” 当传输完成,该标志位被硬件置位 “modf” 当“ssn”的状态与主从模式设置有冲突 9.4 SPI 接口配置寄存器 表 9- 1 SPI 配置寄存器列表 地址 名称 复位值 字节长度 功能描述 E2H SPCON 14H 1 SPI 控制寄存器 E1H SPSTA 00H 1 SPI 状态寄存器 E3H SPDAT 00H 1 SPI 数据寄存器 E4H SPSSN FFH 1 SPI 从机选择寄存器 表 9- 2 SPI 控制寄存器SPCON (E2H) SPCON Address: E2H Bit Read: 6 5 4 7 2 1 Bit 0 83/158 v1.2 3 BL6531/BL6536 电能表专用 MCU 芯片 Write: Spr2 Reset: Spen 0 Ssdis 0 Mstr 0 Cpol 0 Cpha 0 位 Spr1 0 Spr0 0 0 功能描述 SPI 时钟速率控制位 主模式时,SPI 时钟速率由“spr2” “spr1” “spr0”控制 Spr2 SPI 使能位 0:关闭 spi 模块; 1:打开 spi 模块; Spen SS 控制位 0:在主/从模式中打开“ssn”输入; Ssdis 1:在主/从模式中关闭“ssn”输入,该情况下不会产生“modf”中断请 求; 在从机模式中,若“cpha”=0,则该位无效; SPI 模式选择位 0:从机模式 1:主机模式 时钟极性 0: “sck”在空闲状态时被设置为低电平; Mstr Cpol 1: “sck”在空闲状态时被设置为高电平; 时钟相位 0:表示高位(MSB)将在“scko”的第一个动态沿之前半个周期被发送; Cpha 1:表示高位(MSB)将在“scko”的第一个动态沿通过“mosio”/“misoo” 被发送; SPI 时钟速率控制位 主模式时,SPI 时钟速率由“spr2” “spr1” “spr0”控制 Spr1 Spr0 spr2 0 spr1 0 spr0 0 SPI 时钟速率 0 0 1 Fsys/64 0 1 0 Fsys/128 0 1 1 Fsys/512 1 0 0 Fsys/1024 1 0 1 Fsys/2048 1 1 0 1 1 1 Fsys/4096 不产生主时钟 Fsys/32 表 9- 3 SPI 状态寄存器SPSTA(E1H) SPSTA Address: E1H Bit7 6 5 4 3 2 1 Bit0 Read: Write: Spif wcol Sserr modf 84/158 v1.2 X X X X BL6531/BL6536 电能表专用 MCU 芯片 Reset: 0 0 0 0 0 0 0 0 位 功能描述 Spif 数据传输完成标志位 当传输完成时由硬件置位;传输过程中由硬件复位,也可通过读寄存器 “spsta” “spdat”来复位; 写冲突标志位 wcol 当写“spdat”冲突时由硬件置位;当传输完成无冲突发生时由硬件复位, 也 可通过访问寄存器“spsta” “spdat”复位; 同步从机错误标志位 Sserr 在接收完成前当“ssn”输入有效时,被硬件置位;关闭 SPI 模块可清除该 位 (设置 spen=0) ; 模式故障标志位 modf 当“ssn”引脚状态与设置的模式有冲突时,硬件自动置位;当“ssn”引 脚 恢复合适的电平状态时,硬件自动复位;也可以由软件读“spsta”寄存 器来 复位; 表 9- 4 SPI 数据寄存器SPDAT(E3H) SPDAT Address: Bit7 E3H 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 Read: Write: Reset: 0 表 9- 5 SPI 从机选择寄存器SPSSN (E4H) SPSSN Address: Bit7 E4H 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 Read: Write: Reset: 0 SPSSN 是一个可读/写寄存器,它的每一位都可用来选择一个独立的外部 SPI 从机设备。 85/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 10. I2C 接口 10.1 概述 BL6531/BL6536 包含两个 I2C 总线接口。I2C 接口提供一个符合 Philips I2C 总线规 范的串行接口,用两根线实现设备与总线之间的数据传输,通过状态寄存器( “I2C STA” ) 反映了 I2C 总线控制器的实时状态。 10.2 结构框图 图 10-1 I2C 模块结构框图 10.3 功能描述 I2C 用两根线实现设备与总线之间的数据传输: “scl” (串行时钟线)和“sda” (串行 数据线) 。每一个与总线相连的设备都有一个可软件定义的唯一地址。I2C 是一个真正的 多主机总线,它包含冲突侦测和仲 裁机制,以防止两个以上主机同时开始数据传输时的 数据丢失。 10.3.1 操作模式 I2C 数据传输是以 8-bit 进行双向数据传输,它可以下边四种模式工作: 主机发送模式:串行数据通过“sdao”输出,串行时钟通过“sclo”输出 主机接收模式:串行数据通过“sdai”输入,串行时钟通过“sclo”输出 从机接收模式:串行数据通过“sdai”输入,串行时钟通过“scli”输入 86/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 从机发送模式:串行数据通过“sdao”输出,串行时钟通过“scli”输入 10.3.2 串行时钟 当 I2C 处于主机模式时,可编程的时钟发生器提供“scl”时钟;当 I2C 处于从机 模式时,时钟发生器 被关闭,接收来自主机的时钟。时钟发生器的输出频率可以由寄存 器“i2ccon”中的 位“cr0” 、 “cr1” 、“cr2” 控制。 10.3.3 I2C 模式状态 I2C 主机发送模式状态描述如下: I2C 主机接收模式状态描述如下: 87/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 I2C 从机接收模式状态描述如下: 88/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 89/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 90/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 I2C 从机发送模式状态描述如下: 91/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 I2C 复合状态描述如下: 10.4 I2C 接口配置寄存器 表 10- 1 I2C 接口配置寄存器 地址 名称 复位值 字节长度 功能描述 DAH I2C DAT 00H 1 I2C 数据寄存器 DBH I2CADR 00H 1 I2C 地址寄存器 DCH I2CCON 00H 1 I2C 控制寄存器 DDH I2C STA F8H 1 I2C 状态寄存器 D2H I2C2 DAT 00H 1 I2C2 数据寄存器 D3H I2C2ADR 00H 1 I2C2 地址寄存器 D4H I2C2CON 00H 1 I2C2 控制寄存器 D5H I2C2 STA F8H 1 I2C2 状态寄存器 表 10- 2 I2C DAT I2C 数据寄存器(DAH) I2CDAT Address: DAH Bit7 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 Read: Write: Reset: 0 寄存器“i2cdat”包含一个字节的数据,是将要被传送到总线上的数据,或者是刚从 总线上接收到的数据。当 I2C 中断发生时,MCU 需要及时从它读取数据,以免数据丢失。 表 10- 3 I2CADR I2C 地址寄存器(DBH) I2CADR Address: DBH 92/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 Bit7 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 Read: Write: Reset: 0 I2C 从机地址寄存器 表 10- 4I2CCON I2CCON Read: I2C 控制寄存器(DCH) Address: DCH Bit7 6 5 4 3 2 1 Bit0 CR2 ENS1 STA STO SI AA CR1 CR0 0 0 0 0 0 0 0 Write: Reset: 0 位 CR2 ENS1 STA 功能描述 Clock rate bit 2 I2C 使能位 1:打开 IIC 模块; 0:关闭 IIC 模块; 开始标志位 1:检查 IIC 总线的状态,如果空闲则生成开始信号; 0:不会生成开始信号; STO 停止标志位 1:当处于主机模式,则向总线传输停止信号 0:不向总线传输停止信号; 中断标志位 SI 当进入 25 种 IIC 状态之一时, “si” 由硬件置位, 唯一不置位的状态是 “F8h” ; 写”0” 清 0,写”1”无影响。 生成应答标志位 AA 1:应答在以下情况下被返回:接收到自身作为从机的地址;gc 被置位的 情 况下接收到地址呼叫; 主机接收模式下一个字节接收完成; 从机接收模 式下 一个字节接收完成; 0:非应答在以下情况下被返回:主机接收模式下一个字节接收完成;从 机 接收模式下一个字节接收完成; CR1 Clock rate bit 1 CR0 Clock rate bit 0 寄存器“i2ccon”包含 I2C 模块的使能位“ens1”,时钟频率控制位(“cr0”, “cr1” , “cr2” ) , “开 始”和“停止”信号的发送位,控制 ACK 信号的标志位“aa” ,和中断标 志位“si” 。其中时钟频率的选择见下图: 93/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 表 10- 5 I2CSTA I2CSTA Bit7 I2C 状态寄存器(DDH) 6 Address: DDH 5 4 3 2 1 Bit0 0 0 0 0 0 0 Read: Write: Reset: 0 0 寄存器“i2csta”反映 I2C 模块的实时状态。这个寄存器的低三位始终为 0。总共 有 26 种可能的状态。当进入 25 种状态的其中一种时,都会产生中断;唯一一种不产生 中断的情况是状态 F8h。 位 i2csta.7 i2csta.6 功能描述 I2C 状态码 I2C Status Code i2csta.5 i2csta.4 i2csta.3 i2csta.2 i2csta.1 忽略,始终读为“0” Not implemented, read as 0 i2csta.0 表 10- 6 I2C2DAT I2C2 数据寄存器(D2H) I2C2DAT Bit7 6 Address: D2H 5 4 3 2 1 Bit0 0 0 0 0 0 0 Read: Write: Reset: 0 0 94/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 表 10- 7 I2C2ADR I2C2 地址寄存器(D3H) I2C2ADR Bit7 Address: D3H 6 5 4 3 2 1 Bit0 0 0 0 0 0 0 0 Read: Write: Reset: 0 表 10- 8 I2C2CON I2C2 控制寄存器(D4H) I2C2CON Read: Address: D4H Bit7 6 5 4 3 2 1 Bit0 CR2 ENS1 STA STO SI AA CR1 CR0 0 0 0 0 0 0 0 Write: Reset: 0 表 10- 9 I2C2STA I2C2STA Bit7 I2C2 状态寄存器(D5H) 6 Address: D5H 5 4 3 2 1 Bit0 0 0 0 0 0 0 Read: Write: Reset: 0 0 95/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 11. 7816 接口 11.1 概述 BL6531/BL6536 中,带有两个完全独立的 7816 模块:7816A 和 7816B。两模块在功能 上完全一致,有自己独立的 IO 接口和寄存器设置(寄存器内容设置完全一样)。如无特别 说明,本章简称的“7816”均包含 7816A 和 7816B。 7816 模块实现 ISO/IEC 7816 通讯协议。模块工作于 Master 模式,MCU 可利用此模块 实现与外部带 7816 接口器件的通信。 模块特点: 两个独立7816模块:7816A和7816B,两模块各自有一数据IO口,一时钟输出端口,输 出频率在1MHz~5MHz 之间可设。 通信协议符合7816 协议规范,支持多种分频比。 位传输方向可设,支持先高位后低位(负逻辑)和先低位后高位(正逻辑)两种传输方式。 错误反馈信号宽度可设为1,1.5或2个ETU。 发送数据支持传输错误重发机制,重发次数可设0~3次,3次重发仍然无效则产生相应出 错中断。 支持EGT(Extra Guard Time)可设0~255ETU。 具有数据接收完成/数据接收错误中断,并提示相应错误类型。 发送中断产生条件可配置为缓冲区空或移位寄存器空(7816 在完成数据发送和重发后 再产生中断) 接收数据时,只有检测到起始位下降沿且起始位有效时才启动移位接收器。 支持侦听模式,即只接收数据,不回发任何出错标志。 在7816协议规范的范围内改善7816的接口设计,以实现更好的性能和兼容性。 时钟、数据皆可关断,接收发送功能也可禁止和使能;无数据传输时可关闭工作时钟节 省功耗。 96/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 11.2 结构框图 VDD Tx flag 上拉 控制 数据发送缓冲寄存器 IO 数据发送移位寄存器 时钟 预分频 内部 分频 数据接收移位寄存器 Rx flag 数据接收缓冲寄存器 “1” “0” MUX CLK OUT 图 11-1 7816 结构框图 上图是7816模块的结构示意图,内部数据收发通道独立,在端口进行输入输出通道的合 并复用。 7816 IO口默认为输入状态。7816在发送数据或者发送错误反馈信号时,IO端口为输出 状态,其他情况下,均为输入状态。7816 IO口可设为强上拉,弱上拉,和不上拉三种状态。 根据寄存器“iopuctrl”设置,7816 IO口的上拉状态可以配置成硬件自动控制,也可配 置为用户手动控制。 iopuctrl=0(默认) ,手动控制IO口上拉状态; 此时,IO的上拉状态受寄存器{hpuen,lpuen}控制: 00:不上拉; 01:弱上拉; (上拉电阻70K) 1x:强上拉; (上拉电阻10K) 注:当IO口既不发送数据也不接收数据时,则上拉控制为{hpuen,1’b1}。 iopuctrl=1,自动控制IO口上拉状态; 此时,当IO发送数据或者错误反馈信号时,IO不上拉;其余情况,均弱上拉; 11.3 接口时序 按照 7816 协议标准,7816 基本接口时序如下: 97/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 start 无校验错 1 start 有校验错 1 Byte i 2 parity Guard time 3 4 5 6 7 8 9 Byte i 2 10 parity 3 4 5 6 7 8 9 start 1 Byte i+1 2 error signal 10 3 start 1 4 Byte i 2 3 4 guard time after error 图 11-2 7816 基本时序 一帧数据由1个起始位,8个数据位,1个校验位和最小guard time(1etu或2etu,也可称 之为停止位)组成,因而,发送单字节数据长度最小为11etu或12etu。 guard time为帧和帧之间保护间隔,最小可以设为1etu或2etu(由寄存器gt设置) 。 接收时,第 10.5 个 etu 接收电路校验接收数据。若校验正确,则接收成功,相应标志 位 riflg 置位,并产生可能的 rxov_iflg 标志位。若校验错误,根据寄存器设置,可以不回发 错误反馈信号,相应接收错误标志位置位,接收结束,也可以在第 10.5etu 拉低 IO,回发错 误反馈信号(error signal) ,等待对方重发。error signal 时间宽度可以设置为 1 个 etu,1.5 个 etu 或者最长 2 个 etu。 发送时,在第11个etu未采样到error signal,则说明发送数据正确,数据发送完成,相应 tiflg置位。 发送时,若在第11个etu采样到error signal,则说明发送数据错误,可以根据设置,等待 1etu,2etu或者3etu(guard time after error)后重发数据;若重发次数已满足设置,则相应发 送错误标志txparerr_iflg置位。 98/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 11.4 工作流程 11.4.1 数据接收流程 接收流程 接收start位 接收8bit数据 回发错误信号 并设置“等待 重发”状态 接收 奇偶校验位 N 奇偶校验 正确 N gt=1或 重复接收次数 溢出 Y Y 接收错误 中断 接收停止位 (1bit or 2bit) 停止位 正确 N Y 接收完成 中断 帧格式错误 中断 图 11-3 7816 接收流程 进入数据接收流程的条件是:必须先使能7816接收功能(寄存器rxen=1)且当前不在发 送数据。 7816 收到数据后,会根据寄存器设置(dirconv)做正/反向译码并根据parctrl[1:0] 寄存器检查校验位是否正确,只有通过校验的数据才会被从移位寄存器装入接收缓存寄存器 (rxbuf) 。当停止位也接收正确时,产生接收成功中断标志(riflg置位),若停止位接收不 正确,则产生帧格式错误标志(寄存器rxframeerr_iflg置位) ,接收完成。由于只有一级缓 存,MCU 应及时响应中断并读取接收缓冲寄存器内的数据,否则在连续接收时,旧数据会 被新数据覆盖并产生溢出中断(寄存器rxoverr_iflg置位) 。 7816接收数据后,若校验失败,硬件根据配置进行自动回发错误反馈信号,请求对方重 发数据,重发一定次数后仍不正确时产生错误中断。具体为: 当“寄存器gt=1”,或者“当前重复接收次数=寄存器reptime_rx设置值 且 寄存器 send_err_en=0”时,不回发错误反馈信号,不等待对方重发,接收结束,rxparerr_iflg 置位; 当“寄存器gt=0”,并且“当前重复接收次数=寄存器reptime_rx设置值 且 寄存器 send_err_en=1”时,回发错误反馈信号,不等待对方重发,接收结束,rxparerr_iflg置位; 当“寄存器gt=0” ,并且“当前重复接收次数≠寄存器reptime_rx设置值”时,回发错误反 馈信号,等待对方重发; 99/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 11.4.2 数据发送流程 发送流程 发送请求 Y BGT or EGT N Wait 发送start 发送8bit数据 Wait (Error信号后 的guard time) 发送 奇偶校验位 N 收到 错误信号 Y N 重发次数 溢出 Y 发送Guard bit (1bit or 2bit) 发送完成 中断 发送错误 中断 图 11-4 7816 发送流程 进入数据发送流程的条件是:发送使能(寄存器txen=1) ,MCU向“数据发送缓冲寄存 器txbuf”写入要发送的数据,则在IO口空闲条件下进入数据发送流程。 MCU可以在发送过程中(txbuf中数据移入发送移位寄存器之后)向txbuf 写入数据,硬 件会在前一帧数据成功发送后继续发送下一帧。要注意的是,由于BL6531的7816只有一级 缓存,MCU两次写txbuf的间隔不能太短,必须在txbuf中数据移入发送移位寄存器之后再写 入后一帧数据,否则,会把前面的数据冲掉。MCU可以监视txbuffree_iflg信号,txbuffree_iflg 为1表示发送缓存寄存器空,数据已经进入移位寄存器发送,可以向txbuf写入下一帧数据。 每帧数据发送后, 当“寄存器gt=1” ,不检测错误反馈信号,不重发数据,置位tiflg,发送完成; 当“寄存器gt=0” ,且“无错误反馈信号”时,置位tiflg,发送完成; 当“寄存器gt=0” , “收到错误反馈信号”且“当前发次数=寄存器reptime_tx设置值”时,置 位txparerr_iflg,发送失败,不再重发数据; 当“寄存器gt=0” , “收到错误反馈信号”且“当前发次数≠寄存器reptime_tx设置值”时,重 发数据; 100/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 11.5 中断说明 7816 所有中断源见 intflg 中断指示寄存器,每个中断有相应的中断使能控制,见 inten 寄存器。当 intflg 中出现中断指示,且 inten 中相应中断使能时,便产生 7816 中断。 11.5.1 接收中断 和接收数据相关的中断有 4 个,为 intflg 寄存器中的:rxparerr_iflg, rxframeerr_iflg, rxoverr_iflg, riflg。 接收时,中断的几种可能性如下: Case riflg Rxov 中断情况描述 Rxparerr Rxframeerr _iflg _iflg 1 1 0 0 0 有奇偶错误,数据不存入 rxbuf; 2 0 1 0 0 无奇偶错误,数据存入 rxbuf; _iflg rxbuf 无益出; 停止位(最小 guard time)有错误。 0 3 1 0 无奇偶错误,数据存入 rxbuf; 1 Rxbuf 有益出; 停止位(最小 guard time)有错误。 0 4 0 1 无奇偶错误,数据存入 rxbuf; 0 rxbuf 无益出; 停止位(最小 guard time)无错误。 0 5 0 1 无奇偶错误,数据存入 rxbuf; 1 Rxbuf 有益出; 停止位(最小 guard time)无错误。 11.5.2 发送中断 和发送数据相关的中断有 3 个,为 intflg 寄存器中的:txbuffree_iflg, txparerr_iflg, tiflg。 发送数据时,中断的几种可能性如下: Case 1 txbuffree txparerr _iflg _iflg 1 X tiflg 中断情况描述 X 发送数据缓冲寄存器 txbuf 为空。 上电 reset 后,txbuffree_iflg 为 1。 2 X 1 0 有奇偶校验错误,发送不成功。 3 X 0 1 无奇偶校验错误,发送成功。 11.6 7816 接口配置寄存器 7816A 和 7816B 的寄存器设置如表 12-1 和 12-2 所示。A 和 B 寄存器内容完全一致,只 是地址不同。因此在后续的具体寄存器内容介绍中,不区分 7816A 还是 7816B。 101/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 表 11- 1 7816A 寄存器表 地址 名称 复位值 功能描述 3051h txbuf 00H 发送数据缓冲寄存器 3050h rxbuf 00H 接收数据缓冲寄存器 3052h ctrl 00H 7816 端口控制寄存器 3053h clkprediv 00H 7816 时钟分频控制寄存器 3054h etuctrl 11H ETU(Elementary Time Unit)控制寄存器 3055h framectrl0 00H 帧格式控制寄存器 0 3056h framectrl1 00H 帧格式控制寄存器 1 3057h egt 00H EGT(Extra Guard Time)配置寄存器 3058h inten 00H 7816 各中断使能寄存器 3059h intflg 04H 7816 各中断指示寄存器 305ah status 00H 状态寄存器 表 11- 2 7816B 寄存器表 地址 名称 复位值 功能描述 3061h txbuf 00H 发送数据缓冲寄存器 3060h rxbuf 00H 接收数据缓冲寄存器 3062h ctrl 00H 7816 端口控制寄存器 3063h clkprediv 00H 7816 时钟分频控制寄存器 3064h etuctrl 11H ETU(Elementary Time Unit)控制寄存器 3065h framectrl0 00H 帧格式控制寄存器 0 3066h framectrl1 00H 帧格式控制寄存器 1 3067h egt 00H EGT(Extra Guard Time)配置寄存器 3068h inten 00H 7816 各中断使能寄存器 3069h intflg 04H 7816 各中断指示寄存器 306ah status 00H 状态寄存器 表 11- 3 7816 数据发送缓冲寄存器 txbuf 数据发送缓冲寄存器 Addr 0x3051(7816A)/0x3061(7816B) Bit 7 6 5 4 Read 0 0 0 0 0 102/158 v1.2 2 1 0 0 0 0 tx_data[7:0] Write Reset 3 BL6531/BL6536 电能表专用 MCU 芯片 位 功能描述 tx_data[7:0] 7816 要发送的数据 表 11- 4 7816 数据接收缓冲寄存器 rxbuf 数据接收缓冲寄存器 Addr 0x3050(7816A)/0x3060(7816B) Bit 7 6 5 4 3 2 1 0 rx_data[7:0] Read Write - - - - - - - - Reset 0 0 0 0 0 0 0 0 位 功能描述 rx_data[7:0] 7816 接收到的数据 表 11- 5 7816 端口控制寄存器 Ctrl 端口控制寄存器 Addr 0x3052(7816A)/0x3062(7816B) Bit 7 Read txen Write Reset 6 0 rxen 0 位 功能描述 txen 发送使能控制 5 4 3 clkouten clkstopval iopuctrl 0 0 0 2 hpuen 0 0:发送禁止; 1:发送使能; rxen 接收使能控制 0:接收禁止; 1:接收使能; Clkouten 7816 时钟输出使能 0:时钟输出禁止; 1:时钟输出使能,端口上有 7816 时钟信号输出; Clkstopval 7816 时钟输出禁止时,clk 输出端口电平控制。 0:时钟输出禁止时,clk 输出信号为低电平; 1:时钟输出禁止时,clk 输出信号为高电平; Iopuctrl 数据 IO 口上拉控制配置 0:数据 IO 口上拉由寄存器{hpuen,lpuen}控制; 103/158 v1.2 1 0 - lpuen 0 0 BL6531/BL6536 电能表专用 MCU 芯片 Hpuen Lpuen 说明 0 0 不上拉 0 1 弱上拉 1 x 强上拉 注:当 IO 口既不发送数据也不接收数据时,则上拉控制为{hpuen,1’b1}。 1:数据 IO 口上拉由硬件自动控制, 当 IO 发送数据或者错误反馈信号时,IO 不上拉,其余情况,均为弱上拉。 数据 IO 口强上拉使能控制 Hpuen 0:强上拉禁止; 1:强上拉使能; 数据 IO 口弱上拉使能控制 Lpuen 0:弱上拉禁止; 1:弱上拉使能; 表 11- 6 7816 时钟分频控制寄存器 Clkprediv 7816 时钟分频控制寄存器 Addr 0x3053(7816A)/0x3063(7816B) Bit 7 6 5 4 3 2 1 0 Read - - - - Clkprediv3 Clkprediv2 Clkprediv1 Clkprediv0 Write - - - - Reset 0 0 0 0 0 0 0 0 位 功能描述 Clkprediv 7816 工作时钟分频控制 [3:0] 7816 工作时钟 = sysclk / (1+ clkprediv) 其中 sysclk 为系统主时钟,系统主时钟根据寄存器{osc_sel, pll_sel[1:0]}的设置而 有所不同: Osc_sel Pll_sel[1] Pll_sel[0] sysclk 1 x x 32.768KHz 0 0 0 1.8432MHz 0 0 1 3.6864MHz 0 1 0 7.3728MHz 0 1 1 14.7456MHz 注:7816 协议规定的工作时钟范围是 1~5MHz。 表 11- 7 7816ETU 控制寄存器 etuctrl ETU(Elementary Time Unit)控制寄存器 Addr 0x3054(7816A)/0x3064(7816B) 104/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 Bit 7 Read F3 Write Reset 6 5 F2 0 4 3 F1 0 F0 0 1 2 1 D3 D2 0 0 D1 0 0 位 功能描述 F[3:0] 7816 时钟频率转换系数(clock rate conversion integer) Fi 的控制 D0 1 定义同 7816 协议(Fmax 为支持的最大时钟频率) : F[3:0] 0000 0001 0010 0011 0100 0101 0110 0111 Fi 372 372 558 744 1116 1488 1860 - Fmax(MHz) 4 5 6 8 12 16 20 - F[3:0] 1000 1001 1010 1011 1100 1101 1110 1111 Fi - 512 768 1024 1536 2048 - - Fmax(MHz) - 5 7.5 10 15 20 - - 7816 波特率调整系数(baud rate adjustment integer)Di的控制 D[3:0] 定义同7816协议: F[3:0] 0000 0001 0010 0011 0100 0101 0110 0111 Di - 1 2 4 8 16 32 64 F[3:0] 1000 1001 1010 1011 1100 1101 1110 1111 Di 12 20 - - - - - - Fi和Di共同控制7816波特率的产生: 7816波特率 = 7816工作时钟频率 / (Fi/Di) 以系统主频为14.7456MHz为例,假设clkprediv[3:0]设为0011,则 7816工作时钟频率为:14.7456MHz/(1+3)=3.6864MHz 7816常用波特率可根据F,D设置如下: Fi 372 558 Di Fi/Di Baud rate 1 372 2 186 4 Fi 9909.68 512 Fi/Di Baud rate 1 512 7200.00 19819.35 2 256 14400.00 93 39638.71 4 128 28800.00 8 46 80139.13 8 64 57600.00 12 31 118916.10 16 32 115200.00 1 558 6606.45 12 42 87771.43 2 279 13212.90 768 1 768 4800.00 4 139 26520.86 2 384 9600.00 105/158 v1.2 Di BL6531/BL6536 电能表专用 MCU 芯片 744 1116 1488 1860 8 69 53426.09 4 192 19200.00 16 34 108423.50 8 96 38400.00 12 46 80139.13 16 48 76800.00 1 744 4954.84 12 64 57600.00 2 372 9909.68 20 38 97010.53 4 186 19819.35 1024 1 1024 3600 8 93 39638.71 2 512 7200 16 46 80139.13 4 256 14400 12 62 59458.06 8 128 28800 20 37 99632.43 16 64 57600 1 1116 3303.23 32 32 115200 2 558 6606.45 12 85 43369.41 4 279 13212.90 20 51 72282.35 8 139 26520.86 1536 1 1536 2400.00 16 69 53426.09 2 768 4800.00 32 34 108423.50 4 384 9600.00 12 93 39638.71 8 192 19200.00 20 55 67025.45 16 96 38400.00 1 1488 2477.42 32 48 76800.00 2 744 4954.84 12 128 28800.00 4 372 9909.68 20 76 48505.26 8 186 19819.35 2048 1 2048 1800.00 16 93 39638.71 2 1024 3600.00 32 46 80139.13 4 512 7200.00 12 124 29729.03 8 256 14400.00 20 74 49816.22 16 128 28800.00 1 1860 1981.94 32 64 57600.00 2 930 3963.87 64 32 115200.00 4 465 7927.74 12 170 21684.71 8 232 15889.66 20 102 36141.18 16 116 31779.31 32 58 63558.62 12 155 23783.23 20 93 39638.71 表 11- 8 7816 帧格式控制寄存器 0 Framectrl0 帧格式控制寄存器 0 106/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 Addr 0x3055(7816A)/0x3065(7816B) Bit 7 Read 6 gt Write 5 4 3 2 Errsw1 Errsw0 Parctrl1 Parctrl0 0 0 0 0 bgten Reset 0 0 位 功能描述 gt 帧和帧最小间隔保护时间(guard time)控制 1 0 - - - - 0 0 0:帧间隔保护时间最小为 2etu; 1:帧间隔保护时间最小为 1etu; 注:若 gt=1,则 发送数据时,不检测错误反馈信号,不重发数据; 接收数据时,无论校验是否正确,都不回发错误反馈信号,不等待重复接收。 bgten BGT(Block Guard Time)使能控制 0:BGT 禁止,接收帧至发送帧之间不插入等待时间以满足 BGT 要求; 1:BGT 使能,接收转发送之间插入等待时间(22etu – 帧数据时间),以满足 BGT 要求; BGT 是接收帧起始至发送帧起始之间需要的最小时间,BGT=22etu。 Errsw[1:0] Parctrl[1:0] 错误反馈信号宽度选择 Errsw1 Errsw0 错误反馈信号宽度 0 0 1 etu 0 1 1.5 etu 1 x 2 etu 奇偶校验类型选择 Parctrl1 Parctrl0 校验选择 0 0 偶校验 0 1 奇校验 1 0 校验位为 1 1 1 不校验检查(发送时,校验位仍用偶校验值) 发送数据时,根据该寄存器值配置发送数据帧中的校验位; 接收数据时,根据该寄存器值检测接收帧中数据校验位是否正确; 表 11- 9 7816 帧格式控制寄存器 1 Framectrl1 帧格式控制寄存器 1 Addr 0x3056(7816A)/0x3066(7816B) Bit 7 6 5 4 3 2 1 Read Dirconv Gtafter Gtafter reptime reptime reptime reptime 107/158 v1.2 0 Send_ BL6531/BL6536 电能表专用 MCU 芯片 Err1 Write Reset 0 0 Err0 0 _tx1 _tx0 0 位 功能描述 Dirconv 传输顺序、编码方式选择位 0 _rx1 0 _rx0 0 Err_en 0 0:正向编码,先收发 LSB,收发数据+校验位正逻辑电平 1:反向编码,先收发MSB,收发数据+校验位反逻辑电平 Gtaftererr[1:0] 检测到错误反馈信号到开始重发数据之间的时间间隔控制 (guard time after error signal detection) Reptime_tx[1:0] Gtaftererr1 Gtaftererr0 间隔时间 0 0 2etu 0 1 1etu 1 0 2etu 1 1 3etu 重复发送数据次数设置 Reptime_tx1 Reptime_tx0 最多重发次数 0 0 不重发 0 1 重发 1 次 1 0 重发 2 次 1 1 重发 3 次 发送数据后,若接收到错误反馈信号,则根据该寄存器控制重发次数: 若不重发(reptime_tx=00) ,则产生发送错误中断,发送结束; 若重发,在最后一次重发(重发次数=reptime_tx)后,根据是否 有错误反馈信号,进行中断,并发送结束;中间过程中,不产生 发送错误中断; 注:当 gt=1 时,无论 reptime_tx[1:0]和 reptime_rx[1:0]被设为何值,7816 作为接收数据方,不回发错误反馈信号,作为发送数据方也不检测是否 有回发的错误反馈信号,不重发数据; Reptime_rx[1:0] 重复接收次数设置 Reptime_rx1 Reptime_rx0 最多重复接收次数 0 0 不重复接收数据 0 1 重复接收 1 次 1 0 重复接收 2 次 1 1 重复接收 3 次 接收数据后,若检测到奇偶校验错误,则根据该寄存器及 send_err_en 决 定:是否回发错误反馈信号,等待重复接收数据。 108/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 若不重复接收(reptime_rx=00) ,则根据 send_err_en 决定是否回 发错误反馈信号,同时,rxparerr_iflg 置 1,接收结束; 若重复接收,在最后一次重复接收(重复接收次数=reptime_rx) 后,若仍校验错误,则根据 send_err_en 决定是否回发错误反馈信 号,同时,rxparerr_iflg 置 1,接收结束;中间过程中,回发错误 反馈信号,并等待重发,不置位接收中断。 注:当 gt=1 时,无论 reptime_tx[1:0]和 reptime_rx[1:0]被设为何值,7816 作为接收数据方,不回发错误反馈信号,作为发送数据方也不检测是否 有回发的错误反馈信号,不重发数据; Send_err_en 回发错误反馈信号使能控制 Gt=0,reptime_rx=00 或者当前重复接收次数=reptime_rx(即最后一次重 复接收)时,检测到奇偶校验错误,则根据该控制信号控制是否回发错 误反馈信号: 0:回发错误反馈信号禁止,rxparerr_iflg 置 1,接收结束; 1:回发错误反馈信号使能,rxparerr_iflg 置 1,接收结束; 注:当 reptime_rx 设置为 0,即不重复接收数据时,也根据 send_err_en 控制是否回发错误反馈信号。 表 11- 10 7816EGT 配置寄存器 egt EGT(Extra Guard Time)配置寄存器 Addr 0x3057(7816A)/0x3067(7816B) Bit 7 6 5 4 3 Read 1 0 0 0 0 Egt[7:0] Write Reset 2 0 0 0 0 0 位 功能描述 egt[7:0] 发送时,插入的 egt(Extra Guard Time)时间控制(单位:etu) ; 如:egt=5,gt=0,则 guard time = 5+2 = 7 etu; 表 11- 11 7816 中断使能寄存器 inten 中断使能寄存器 Addr 0x3058(7816A)/0x3068(7816B) Bit 7 6 5 4 3 Read - Txparerr Rxparerr Rxframe Rxoverr Txbuf Write - _ien _ien Err_ien _ien Free_ien Reset 0 0 0 0 0 109/158 v1.2 2 0 1 0 tien 0 Rien 0 BL6531/BL6536 电能表专用 MCU 芯片 位 功能描述 Txparerr_ien 发送数据奇偶校验错误中断使能控制 0:中断禁止; 1:中断使能; Rxparerr_ien 接收数据奇偶校验错误中断使能控制 0:中断禁止; 1:中断使能; Rxframeerr_ien 接收帧格式错误中断使能控制 0:中断禁止; 1:中断使能; Rxoverr_ien 接收数据缓冲寄存器溢出中断使能控制; 0:中断禁止; 1:中断使能; Txbuffree_ien 发送数据缓冲器空闲中断使能控制; 0:中断禁止; 1:中断使能; 发送数据成功中断使能控制 Tien 0:中断禁止; 1:中断使能; 接收数据成功中断使能控制 Rien 0:中断禁止; 1:中断使能; 表 11- 12 7816 中断指示寄存器 intflg 中断指示寄存器 Addr 0x3059(7816A)/0x3069(7816B) Bit 7 6 5 4 3 Read - Txparerr Rxparerr Rxframe Rxoverr Txbuf Write - _iflg _iflg Err_iflg _iflg Free_iflg Reset 0 0 0 0 0 位 功能描述 txparerr_iflg 发送数据奇偶校验错误指示 0:发送奇偶校验正确; 1:发送奇偶校验错误; 硬件置 1,软件清 0; 110/158 v1.2 2 1 1 0 tiflg 0 riflg 0 BL6531/BL6536 电能表专用 MCU 芯片 注:若有重发,则只有当重发次数=reptime_tx 时,才会置位指示位。中 间过程中,指示位不置位。 rxparerr_iflg 接收数据奇偶校验错误指示 0:接收数据奇偶校验正确; 1:接收数据奇偶校验错误; 硬件置 1,软件清 0; 注:若有重复接收,则只有当重复接收次数=reptime_rx 时,才会置位指 示位。中间过程中,指示位不置位。 rxframeerr_iflg 接收数据帧结构错误指示 0:帧结构正确; 1:帧结构错误; 接收数据帧结构错误主要是指校验位后最小 guard time(1etu 或者 2etu) 时间内没有为高电平。 硬件置 1,软件清 0; rxoverr_iflg 接收数据缓冲寄存器溢出指示: 0:接收数据缓冲寄存器无溢出; 1:接收数据缓冲寄存器溢出; rxbuf 中前一帧数据未读出,新的数据又接收到并写入 rxbuf,将原有数据 覆盖,称为接收数据缓冲寄存器溢出。 硬件置 1,软件清 0; txbuffree_iflg 发送数据缓冲寄存器 txbuf 空闲指示: 0:发送数据缓冲寄存器忙,即有数据写入 txbuf,且还未移入移位寄存器。 1:发送数据缓冲寄存器空闲,即还未写 txbuf,或者 txbuf 中数据移入了 发送移位寄存器,此时,可往 txbuf 中再写入数据。 硬件置 1,写数据至 txbuf 使之清 0; (软件置 1 或清 0 也可,但不建议使用) 上电 reset 后,txbuffree_iflg 为 1。 tiflg 发送数据成功指示; 0:发送数据未成功; 1:发送数据成功; 硬件置 1,软件清 0; (这里成功发送,表示没有 txparerr_iflg) 111/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 接收数据成功指示; riflg 0:接收数据未成功; 1:接收数据成功; 硬件置 1,软件清 0; ( 这 里 成 功 接 收 , 表 示 没 有 rxparerr_iflg 和 rxframeerr_iflg , 但 有 rxoverr_iflg 是可能的) 表 11- 13 7816 状态寄存器 status 状态寄存器 Addr 0x305A(7816A)/0x306A(7816B) Bit 7 6 5 4 3 2 1 0 Read - - - - - Waitrpt txbusy rxbusy Write - - - - - - - - Reset 0 0 0 0 0 0 0 0 位 功能描述 Waitrpt 等待对方重发状态指示 0:非等待对方重发数据状态; 1:等待对方重发数据状态; 若重复接收次数还没有满足 reptime_rx 设定值,则在回发错误反馈信号后, 置位 waitrpt; 在 start 信号中间或者转入发送数据过程时清 0; Txbusy 数据发送路径忙闲状态指示 0:数据发送路径空闲; 1:数据发送忙; 开始发送 start 位时置 1 发送完停止位,即发送完成清 0; Rxbusy 接收数据路径忙闲状态指示 0:数据接收路径空闲; 1:数据接收路径忙; 接收 start 位中间置 1; 接收数据结束时,清 0; 注:若等待对方重发,则该过程也属于 rxbusy 状态;若不等接收而直接进 入发送状态,则 rxbusy 也清 0; 112/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 12. 实时时钟(RTC) 12.1 概述 RTC 单元提供实时时钟、日历等功能,具有自动闰年闰月调整,支持闹钟功能、周期 性中断以及计时中断功能。 RTC 在各种工作模式下都不会被关闭,在低功耗下仍然正常运行。 RTC 所有的输出寄存器(时间和万年历) 、RTC 时钟校正寄存器只在上电和掉电时被复 位,以保持 RTC 的准确性。 主要特点: 使用32.768KHz的晶振。 输出寄存器有秒/分/小时/日/星期/月/年寄存器。 具有自动闰年闰月调整功能,计时范围100年。 两个独立的8位可编程定时器,可级联。 5个周期性中断功能(秒/分/小时/日/月)。 2个定时器周期性中断功能。 1个闹钟中断功能。 可输出未校正和校正后的1秒信号。 具有时钟校正功能,可达到高精度、均匀的校正。 113/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 12.2 结构框图 tpr cal_val rtc_cal fcnt sfr_bus fout irq fcnt fosc rtc_timcnt sfr_bus fdiv rtc_timbas 图 12-1 实时时钟框图 12.3 功能说明 1. 时钟校正 芯片内的温度传感器每隔一段时间测出当前温度值送过来,RTC 根据所用晶振的温度 特性曲线(St=β (T-T0)²+S0),算出当前温度所对应的补偿值,调整计时电路。 2. 时间和万年历 RTC 提供秒、分、时、日、星期、月、年等时间寄存器。 通过 RTC 的时间寄存器,可以得到自动闰年校正的万年历功能,其范围从 2000 年 1 月 1 日到 2099 年 12 月 31 日。 3. 时标输出 RTC 有一个时标输出端,可选择输出秒时标、分时标、小时时标、日时标、定时器 0 时标、定时器 1 时标、闹钟时标。 4. 定时器 RTC 模块里有两个 8 位定时器 TMR0 和 TMR1,可分别使能和禁止,可选择多个时钟 源,可将 TMR0 的输出级联到 TMR1 的输入。 5. 中断 RTC 一共提供 8 种中断源:秒中断、分中断、小时中断、日中断、月中断、定时器 0 中断、定时器 1 中断、闹钟中断,共用 CPU 的 IRQ_RTC 中断向量。RTC 的 8 种中断源由 RTCIE 寄存器控制其使能,中断标志在 RTCIF 寄存器中。中断标志采用写 0 清 0 的方式。 114/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 12.4 实时时钟配置寄存器 表 12- 1 实时时钟控制寄存器 名称 实时时钟控制寄存器 RTCCTL 地址 3000H 位 Bit7 6 5 4 3 2 1 Bit0 RTCCTL[7 RTCCTL RTCCTL RTCCTL RTCCTL RTCCTL RTCCTL RTCCTL ] [6] [5] [4] [3] [2] [1] [0] 位权限 RW RW RW RW RW RW RW RW 复位值 0 0 0 0 0 0 0 0 位名 RTCCTL[7:0]: 写入 55H 后使能 RTC 和使能温度补偿,读出值为 55H 写入 5AH 后使能 RTC 和不使能温度补偿,读出值为 5AH 复位后不使能 RTC 和不使能温度补偿,读出值为 00H 写入别的值无效 表 12- 2 秒寄存器 名称 秒寄存器 RTCSEC 地址 3001H 位 位名 Bit7 -- 6 -- 5 4 3 2 1 Bit0 RTCSEC RTCSEC RTCSEC RTCSEC RTCSEC RTCSEC [5] [4] [3] [2] [1] [0] 位权限 R R RW RW RW RW RW RW 复位值 0 0 0 0 0 0 0 0 RTCSEC[5:0]为二进制无符号整数,范围为 0~59。写入 0~59 以外的值无效 表 12- 3 分寄存器 名称 分钟寄存器 RTCMIN 地址 3002H 位 位名 Bit7 -- 6 -- 5 4 3 2 1 Bit0 RTCMIN RTCMIN RTCMIN RTCMIN RTCMIN RTCMIN [5] [4] [3] [2] [1] [0] 位权限 R R RW RW RW RW RW RW 复位值 0 0 0 0 0 0 0 0 RTCMIN[5:0]为二进制无符号整数,范围为 0~59。写入 0~59 以外的值无效 表 12- 4 小时寄存器 名称 小时寄存器 RTCHR 地址 3003H 115/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 位 位名 Bit7 -- 6 -- 5 -- 4 3 2 1 Bit0 RTCHR RTCHR RTCHR RTCHR RTCHR[ [4] [3] [2] [1] 0] 位权限 R R R RW RW RW RW RW 复位值 0 0 0 0 0 0 0 0 RTCHR[4:0]为二进制无符号整数,范围为 0~23。写入 0~23 以外的值无效 表 12- 5 日寄存器 名称 日寄存器 RTCDAY 地址 3004H 位 位名 Bit7 -- 6 -- 5 -- 4 3 2 1 Bit0 RTCDAY RTCDAY RTCDAY RTCDAY RTCDAY [4] [3] [2] [1] [0] 位权限 R R R RW RW RW RW RW 复位值 0 0 0 0 0 0 0 1 RTCDAY[4:0]为二进制无符号整数,范围为 1~28/29/30/31。写入与年、月不匹配的值无效 表 12- 6 星期寄存器 名称 星期寄存器 RTCDOW 地址 3005H 位 位名 Bit7 -- 6 -- 5 -- 4 -- 3 -- 2 1 Bit0 RTCDOW RTCDOW RTCDOW [2] [1] [0] 位权限 R R R R R RW RW RW 复位值 0 0 0 0 0 1 1 0 RTCDOW[2:0]为二进制无符号整数,范围为 1~7。写入 1~7 以外的值无效 表 12- 7 月寄存器 名称 月寄存器 RTCMTH 地址 3006H 位 位名 Bit7 -- 6 -- 5 -- 4 -- 3 2 1 Bit0 RTCMTH RTCMTH RTCMTH RTCMTH [3] [2] [1] [0] 位权限 R R R R RW RW RW RW 复位值 0 0 0 0 0 0 0 1 RTCDAY[3:0]为二进制无符号整数,范围为 1~12。写入 1~12 以外的值无效 表 12- 8 年寄存器 116/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 名称 年寄存器 RTCYR 地址 3007H 位 位名 Bit7 -- 6 5 4 3 2 1 Bit0 RTCYR RTCYR RTCYR RTCYR RTCYR RTCYR RTCYR[ [6] [5] [4] [3] [2] [1] 0] 位权限 R RW RW RW RW RW RW RW 复位值 0 0 0 0 0 0 0 0 RTCYR[6:0]为二进制无符号整数,范围为 0~99。写入 0~99 以外的值无效 表 12- 9 定时器 0 寄存器 名称 定时器 0 寄存器 RTCTMR0 地址 3008H 位 Bit7 6 5 4 3 2 1 Bit0 RTCTMR0[ RTCTMR RTCTMR RTCTMR RTCTMR RTCTMR RTCTMR RTCTMR 7] 0[6] 0[5] 0[4] 0[3] 0[2] 0[1] 0[0] 位权限 RW RW RW RW RW RW RW RW 复位值 0 0 0 0 0 0 0 0 位名 RTCTMR0[7:0]为二进制无符号整数,当设定值为 N 时,计时周期为(N+1)*计时分辨率 表 12- 10 定时器 1 寄存器 名称 定时器 1 寄存器 RTCTMR1 地址 3009H 位 Bit7 6 5 4 3 2 1 Bit0 RTCTMR1[ RTCTMR RTCTMR RTCTMR RTCTMR RTCTMR RTCTMR RTCTMR 7] 1[6] 1[5] 1[4] 1[3] 1[2] 1[1] 1[0] 位权限 RW RW RW RW RW RW RW RW 复位值 0 0 0 0 0 0 0 0 位名 RTCTMR1[7:0]为二进制无符号整数,当设定值为 N 时,计时周期为(N+1)*计时分辨率 表 12- 11 定时器设置寄存器 名称 定时器设置寄存器 RTCTMRSET 地址 300AH 位 Bit7 6 5 4 3 2 1 Bit0 TMR1_SET TMR1_S TMR1_S TMR1_E TMR0_S TMR0_S TMR0_S TMR0_E [2] ET[1] ET[0] N ET[2] ET[1] ET[0] N 位权限 RW RW RW RW RW RW RW RW 复位值 0 0 0 0 0 0 0 0 位名 117/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 位 功能描述 TMR0_EN 0=不使能定时器 0 1=使能定时器 0 000=定时器 0 计时分辨率为 1/64 秒 TMR0_SET[2:0] 001=定时器 0 计时分辨率为 1/16 秒 010=定时器 0 计时分辨率为 1/4 秒 011=定时器 0 计时分辨率为秒 100=定时器 0 计时分辨率为分钟 101/110/111=定时器 0 计时分辨率为小时 TMR1_EN 0=不使能定时器 1 1=使能定时器 1 000=定时器 1 计时分辨率为 1/64 秒 TMR1_SET[2:0] 001=定时器 1 计时分辨率为 1/16 秒 010=定时器 1 计时分辨率为 1/4 秒 011=定时器 1 计时分辨率为秒 100=定时器 1 计时分辨率为分钟 101=定时器 1 计时分辨率为小时 110/111=定时器 1 计时分辨率为定时器 0 的计时周期(用于级 联) 表 12- 12 闹钟秒寄存器 名称 闹钟秒寄存器 RTCALMSEC 地址 300BH 位 位名 Bit7 -- 6 -- 5 4 3 2 1 Bit0 RTCALM RTCALM RTCALM RTCALM RTCALM RTCALM SEC [5] SEC [4] SEC [3] SEC [2] SEC [1] SEC[0] 位权限 R R RW RW RW RW RW RW 复位值 0 0 0 0 0 0 0 0 RTCALMSEC[5:0]为二进制无符号整数,范围为 0~59 表 12- 13 闹钟分钟寄存器 名称 闹钟分钟寄存器 RTCALMMIN 地址 300CH 位 位名 位权限 Bit7 -R 6 -R 5 4 3 2 1 Bit0 RTCALM RTCALM RTCALM RTCALM RTCALM RTCALM MIN [5] MIN [4] MIN [3] MIN [2] MIN [1] MIN[0] RW RW RW RW RW RW 118/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 复位值 0 0 0 0 0 0 0 0 RTCALMMIN[5:0]为二进制无符号整数,范围为 0~59 表 12- 14 闹钟小时寄存器 名称 闹钟小时寄存器 RTCALMHR 地址 300DH 位 Bit7 位名 -- 6 5 -- -- 4 3 2 1 Bit0 RTCALM RTCALM RTCALM RTCALM RTCALM HR [4] HR [3] HR [2] HR [1] HR[0] 位权限 R R R RW RW RW RW RW 复位值 0 0 0 0 0 0 0 0 RTCALMHR[4:0]为二进制无符号整数,范围为 0~23 表 12- 15 中断使能寄存器 名称 中断使能寄存器 RTCIE 地址 300EH 位 Bit7 6 5 4 3 2 1 Bit0 位名 ALMIE TMR1IE TMR0IE MTHIE DAYIE HRIE MINIE SECIE 位权限 RW RW RW RW RW RW RW RW 复位值 0 0 0 0 0 0 0 0 位 SECIE 功能描述 0=不使能秒中断 1=使能秒中断 MINIE 0=不使能分钟中断 1=使能分钟中断 HRIE 0=不使能小时中断 1=使能小时中断 DAYIE 0=不使能日中断 1=使能日中断 MTHIE 0=不使能月中断 1=使能月中断 TMR0IE 0=不使能定时器 0 中断 1=使能定时器 0 中断 TMR0IE 0=不使能定时器 1 中断 1=使能定时器 1 中断 119/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 ALMIE 0=不使能闹钟中断 1=使能闹钟中断 表 12- 16 实时时钟中断标志寄存器 名称 中断标志寄存器 RTCIF 地址 300FH 位 Bit7 6 5 4 3 2 1 Bit0 位名 ALMIF TMR1IF TMR0IF MTHIF DAYIF HRIF MINIF SECIF 位权限 RW RW RW RW RW RW RW RW 复位值 0 0 0 0 0 0 0 0 位 功能描述 SECIF 0=秒中断没有产生 1=秒中断产生,写 0 清零 MINIF 0=分钟中断没有产生 1=分钟中断产生,写 0 清零 HRIF 0=小时中断没有产生 1=小时中断产生,写 0 清零 DAYIF 0=日中断没有产生 1=日中断产生,写 0 清零 MTHIF 0=月中断没有产生 1=使能月中断,写 0 清零 0=定时器 0 中断没有产生 TMR0IF 1=定时器 0 中断产生,写 0 清零 0=定时器 1 中断没有产生 TMR0IF 1=定时器 1 中断产生,写 0 清零 ALMIF 0=闹钟中断没有产生 1=闹钟中断产生,写 0 清零 表 12- 17 实时时钟设置寄存器 名称 实时时钟设置寄存器 RTCSET 地址 3010H 位 位名 位权限 Bit7 TOLS RW 6 -R 5 -R 4 -R 120/158 v1.2 3 2 1 TOS0[2 TOS0[1 TOS0[0 ] ] ] RW RW RW Bit0 RTCCR RW BL6531/BL6536 电能表专用 MCU 芯片 复位值 0 0 0 0 位 0 0 0 0 功能描述 RTCCR 时间寄存器读取控制位,应设为 0 TOS0[2:0] 时钟输出设置位 001=经调校后准确的 1s 时标,周期 1s,占空比为 50%的方波 010=经调校后的分钟时标,周期 1 分钟,脉冲宽度为 1s 011=经调校后的小时时标,周期 1 小时,脉冲宽度为 1s 100=经调校后的日时标,周期 1 天,脉冲宽度为 1s 101=经调校后的定时器 0 时标,周期为定时器 0 的计时周期, 脉冲宽度为 1/64s 110=经调校后的定时器 1 时标,周期为定时器 1 的计时周期, 脉冲宽度为 1/64s 111=经调校后的闹钟时标,周期为闹钟的中断周期,脉冲宽度 为 1s 时钟输出极性控制位 TOLS 0=时钟输出为高电平脉冲 1=时钟输出为低电平脉冲 表 12- 18 实时时钟β 参数寄存器 名称 β 参数寄存器 RTCCALBET 地址 3011H 位 Bit7 6 5 4 3 2 1 Bit0 CALBET[7 CALBET CALBET CALBET CALBET CALBET CALBET CALBET ] [6] [5] [4] [3] [2] [1] [0] 位权限 RW RW RW RW RW RW RW RW 复位值 0 0 0 0 0 0 0 0 位名 CALBET[7:0]:温度特性曲线(St=β (T-T0)²+S0)的β 参数 把β 参数值转换成二进制小数后,将小数点后第 5 位到第 12 位存进此寄存器(因为β 参数的取值范围在-0.03 至-0.05,小数点后前 4 位都是 0) 表 12- 19 实时时钟 T0 参数寄存器 名称 T0 参数寄存器 RTCCALT0 地址 3012H 121/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 位 位名 Bit7 6 5 4 3 2 1 Bit0 CALT0[7] CALT0[ CALT0[ CALT0[ CALT0[ CALT0[ CALT0[ CALT0[ 6] 5] 4] 3] 2] 1] 0] 位权限 RW RW RW RW RW RW RW RW 复位值 0 0 0 0 0 0 0 0 CALT0[7:0]:温度特性曲线的 T0 参数 把 T0 参数值转换成二进制小数,整数部分为 5 位,小数点后保留 3 位(因为 T0 参数 的取值范围在 20~30℃) ,存进此寄存器 表 12- 20 实时时钟 S0 参数低 8 位寄存器 名称 S0 参数低 8 位寄存器 RTCCALS0L 地址 3013H 位 Bit7 6 5 4 3 2 1 Bit0 CALS0L[7 CALS0L CALS0L CALS0L CALS0L CALS0L CALS0L CALS0L ] [6] [5] [4] [3] [2] [1] [0] 位权限 RW RW RW RW RW RW RW RW 复位值 0 0 0 0 0 0 0 0 位名 CALS0L[7:0]:温度特性曲线的 S0 参数低 8 位 把 S0 参数的绝对值转换成二进制小数,整数部分为 6 位,小数点后保留 2 位(因为 S0 参数的取值范围在-50~50ppm) ,存进此寄存器 表 12- 21 实时时钟 S0 参数高 1 位寄存器 名称 S0 参数高 1 位寄存器 RTCCALS0H 地址 3014H 位 Bit7 位名 -- 6 -- 5 -- 4 -- 3 -- 2 -- 1 -- Bit0 CALS0H [0] 位权限 R R R R R R R RW 复位值 0 0 0 0 0 0 0 0 CALS0H[0]:温度特性曲线的 S0 参数高 1 位 S0 参数的符号位。0=正值;1=负值 表 12- 22 温度传感器使能定时器寄存器 名称 温度传感器使能定时器寄存器 RTCSTMR 地址 301AH 位 Bit7 6 5 4 122/158 v1.2 3 2 1 Bit0 BL6531/BL6536 电能表专用 MCU 芯片 位名 -- -- -- STMR[4 STMR[3 STMR[2 STMR[1 STMR[0 ] ] ] ] ] 位权限 R R R RW RW RW RW RW 复位值 0 0 0 0 0 0 0 0 STMR[4:0]:温度传感器使能定时器 二进制无符号整数,当设定值为 N 时,定时使能周期为(N+1)分钟,高电平脉冲宽度为 1s 123/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 13. LCD 显示驱动 13.1 概述 LCD Controller 模块接收 CPU 送过来的数据,存储在显示数据寄存器里,并将显示数 据按一定规律组合以驱动 LCD 显示屏,实现期望信息的显示。 主要特点: SEG和COM可编程配置,支持4COM*40SEG、6COM*30SEG、8COM*28SEG。 可配置占空比,支持1/4, 1/6, 1/8 duty。 可配置偏置电压,支持1/3, 1/4 bias voltage。 可配置刷新率和对比度。 支持闪烁功能,点亮、熄灭时间可配置。 支持全亮、全灭功能。 支持Type A和Type B两种LCD驱动波形。 多种低功耗模式。典型电流6uA。 13.2 结构框图 Digital Part Segment Decoder SFR_Bus LCDC Register Common Decoder Analog Part VLCD COM[3:0] VLCD1 Voltage Multiplexer Timing VLCD2 Switch SEG[39:0] VLCD3 图 13-1 显示控制结构框图 13.3 模拟驱动 LCD 驱动模拟部分要求输出 5 段电压,这 5 段电压可调,使得 LCD 灰度可调。 124/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 vdd bias=0 VLCDH VO4 VO4 A0 + / V3 VO3 A0 + VO3 bias=1 VO4 V4 VO3 V3 VO2 V2 VO1 V1 VO0 V0 V2 VO2 A0 + VO1 VO1 bias V1 A0 + VO0 A0 + vbias<2:0> VO0 V0 VLCDL pd_vref 图 13-2 LCD 驱动电路图 控制信号 vbias<2:0>用来调整串联的电阻,使得 VLCDH 和 VLCDL 之间压差产生变化。 具体调整如下表。 vbias<2:0> LCD 偏置 电阻 VLCDH-VLCDL 电压(v) 5.5 5 4.5 3.3 2.5 000 51% 5.5 5 4.5 3.3 2.5 001 58% 4.84 4.40 3.96 2.90 2.20 010 65% 4.32 3.92 3.53 2.59 1.96 011 72% 3.90 3.54 3.19 2.34 1.77 100 79% 3.55 3.23 2.91 2.13 1.61 101 86% 3.26 2.97 2.67 1.96 1.48 110 93% 3.02 2.74 2.47 1.81 1.37 111 100% 2.81 2.55 2.30 1.68 1.28 13.4 功能说明 CPU 通过 memory bus 将显示数据和控制信号写入到 LCDC 的寄存器里。Segment Decoder 从显示数据寄存器中选取与 LCD 的段电极或列极(SEG)相对应的值。Common Decoder 根据不同的 duty cycle 送出相应的选通波形给 LCD 的公共极或行极(COM) 。Timing 125/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 子模块产生刷新时钟和快速充电时钟。 Voltage Multiplexer 根据设置产生不同的偏置电压。Switch 决定将哪个驱动电压送到各 个 SEG 和 COM 上。 LCDC 模块关闭后,其寄存器仍然可以读写,所有 switch 都置于关闭状态,进入超低功 耗状态。 13.5 显示驱动配置寄存器 表 13- 1 显示控制寄存器 名称 显示控制寄存器 LCDCTRL 地址 3020H 位 Bit7 位名 CLKS[2] 6 5 4 CLKS[1] CLKS[0] FLKE 3 2 1 Bit0 TC TMC DMC[1] DMC[0] N 位权限 RW RW RW RW RW RW RW RW 复位值 0 0 0 0 0 0 0 0 位 功能描述 显示模式控制位 DMC[1:0] 01=启动 LCD 显示模式 10=启动 LED 显示模式 其他值=关闭显示 测试模式控制位 TMC 0=正常模式 1=测试模式 闪烁使能位 FLKEN 0=不使能显示闪烁 1=使能显示闪烁,LCDFLK 寄存器有效,闪烁频率由 LCDFLK 寄 存器设置决定 显示频率控制位 CLKS[2:0] 000=帧频为 32Hz 001=帧频为 48Hz 010=帧频为 64Hz 011=帧频为 80Hz 100=帧频为 96Hz 其他值=帧频为 32Hz 表 13- 2 显示设置寄存器 名称 显示设置寄存器 LCDSET 地址 3021H 位 位名 Bit7 6 LEDSEG LEDDIG P P 5 WFS 4 FC 126/158 v1.2 3 LC 2 BIAS 1 DUTY[1] Bit0 DUTY[0] BL6531/BL6536 电能表专用 MCU 芯片 位权限 RW RW RW RW RW RW RW RW 复位值 0 0 0 0 0 0 0 0 位 功能描述 公共端选择位 DUTY[1:0] 00= 1/4duty,COM[3:0] 01=1/6duty,COM[5:0] 10/11=1/8duty,COM[7:0] 偏置类型控制位 BIAS 0= 1/3bias 1= 1/4bias 大电流驱动使能位 LC 0=不使能大电流驱动,低功耗模式 1=使能大电流驱动 快速驱动使能位,此位仅在 LC=0(即选择低功耗模式)时有效 FC 0=不使能快速驱动 1=使能快速驱动,脉冲宽度由 LCDDRV 寄存器的 FCS 位决定 波形类型选择位 WFS 0= A 类波形(在每一公共端内改变相位) 1= B 类波形(在每一帧边界改变相位) LED 显示 DIG 端有效电平选择位 LEDDIGP 0= DIG 端有效电平为高 1= DIG 端有效电平为低 LED 显示 SEG 端有效电平选择位 LEDSEGP 0= SEG 端有效电平为高 1= SEG 端有效电平为低 表 13- 3 显示驱动设置寄存器 名称 显示驱动设置寄存器 LCDDRV 地址 3022H 位 位名 Bit7 6 5 4 3 2 1 Bit0 FCS[3] FCS[2] FCS[1] FCS[0] -- VBIAS[2 VBIAS[1] VBIAS[0] ] 位权限 RW RW RW RW R RW RW RW 复位值 0 0 0 0 0 0 0 0 位 功能描述 127/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 显示灰度设置位 VBIAS [2:0] 000=51%亮度,L1 级 001=58%亮度,L2 级 010=65%亮度,L3 级 011=72%亮度,L4 级 100=79%亮度,L5 级 101=86%亮度,L6 级 110=93%亮度,L7 级 111=100%亮度,L8 级 快速驱动脉宽设置位 FCS[3:0] 为二进制无符号整数,设置为 N 时,脉宽为(N+1)*8*1/32768s 表 13- 4 显示闪烁控制寄存器 名称 显示闪烁控制寄存器 LCDFLK 地址 3023H 位 Bit7 6 5 4 3 2 1 TOFF[3 TOFF[2 TOFF[1 TOFF[0 TON[3] TON[2] TON[1] TON[0] ] ] ] ] 位权限 RW RW RW RW RW RW RW RW 复位值 0 0 0 0 0 0 0 0 位名 位 Bit0 功能描述 点亮时间设置位 TON [2:0] 为二进制无符号整数,设置为 N 时,点亮时间为(N+1)*8192/32768s 熄灭时间设置位 TOFF[3:0] 为二进制无符号整数,设置为 N 时,熄灭时间为(N+1)*8192/32768s 表 13- 5 显示数据寄存器 地址 名称 说明 3024H LCDDAT0 显示数据寄存器 0 3025H LCDDAT1 显示数据寄存器 1 3026H LCDDAT2 显示数据寄存器 2 3027H LCDDAT3 显示数据寄存器 3 3028H LCDDAT4 显示数据寄存器 4 3029H LCDDAT5 显示数据寄存器 5 302AH LCDDAT6 显示数据寄存器 6 302BH LCDDAT7 显示数据寄存器 7 302CH LCDDAT8 显示数据寄存器 8 128/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 302DH LCDDAT9 显示数据寄存器 9 302EH LCDDAT10 显示数据寄存器 10 302FH LCDDAT11 显示数据寄存器 11 3030H LCDDAT12 显示数据寄存器 12 3031H LCDDAT13 显示数据寄存器 13 3032H LCDDAT14 显示数据寄存器 14 3033H LCDDAT15 显示数据寄存器 15 3034H LCDDAT16 显示数据寄存器 16 3035H LCDDAT17 显示数据寄存器 17 3036H LCDDAT18 显示数据寄存器 18 3037H LCDDAT19 显示数据寄存器 19 3038H LCDDAT20 显示数据寄存器 20 3039H LCDDAT21 显示数据寄存器 21 303AH LCDDAT22 显示数据寄存器 22 303BH LCDDAT23 显示数据寄存器 23 303CH LCDDAT24 显示数据寄存器 24 303DH LCDDAT25 显示数据寄存器 25 303EH LCDDAT26 显示数据寄存器 26 303FH LCDDAT27 显示数据寄存器 27 LCD 模块内有 28 个 8bit 的显示数据寄存器,均为可读可写,复位值为 0。 表 13- 6 4COM 的显示数据寄存器组合 COM0 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 0[7] 0[6] 0[5] 0[4] 0[3] 0[2] 0[1] 0[0] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 1[7] 1[6] 1[5] 1[4] 1[3] 1[2] 1[1] 1[0] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 2[7] 2[6] 2[5] 2[4] 2[3] 2[2] 2[1] 2[0] SEG31 SEG30 SEG29 SEG28 SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 3[7] 3[6] 3[5] 3[4] 3[3] 3[2] 3[1] 3[0] SEG39 SEG38 SEG37 SEG36 SEG35 SEG34 SEG33 SEG32 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 4[7] 4[6] 4[5] 4[4] 4[3] 4[2] 4[1] 4[0] 129/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 COM1 COM2 COM3 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 5[7] 5[6] 5[5] 5[4] 5[3] 5[2] 5[1] 5[0] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 6[7] 6[6] 6[5] 6[4] 6[3] 6[2] 6[1] 6[0] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 7[7] 7[6] 7[5] 7[4] 7[3] 7[2] 7[1] 7[0] SEG31 SEG30 SEG29 SEG28 SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 8[7] 8[6] 8[5] 8[4] 8[3] 8[2] 8[1] 8[0] SEG39 SEG38 SEG37 SEG36 SEG35 SEG34 SEG33 SEG32 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 9[7] 9[6] 9[5] 9[4] 9[3] 9[2] 9[1] 9[0] SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 10[7] 10[6] 10[5] 10[4] 10[3] 10[2] 10[1] 10[0] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 11[7] 11[6] 11[5] 11[4] 11[3] 11[2] 11[1] 11[0] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 12[7] 12[6] 12[5] 12[4] 12[3] 12[2] 12[1] 12[0] SEG31 SEG30 SEG29 SEG28 SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 13[7] 13[6] 13[5] 13[4] 13[3] 13[2] 13[1] 13[0] SEG39 SEG38 SEG37 SEG36 SEG35 SEG34 SEG33 SEG32 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 14[7] 14[6] 14[5] 14[4] 14[3] 14[2] 14[1] 14[0] SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 15[7] 15[6] 15[5] 15[4] 15[3] 15[2] 15[1] 15[0] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 16[7] 16[6] 16[5] 16[4] 16[3] 16[2] 16[1] 16[0] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 130/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 17[7] 17[6] 17[5] 17[4] 17[3] 17[2] 17[1] 17[0] SEG31 SEG30 SEG29 SEG28 SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 18[7] 18[6] 18[5] 18[4] 18[3] 18[2] 18[1] 18[0] SEG39 SEG38 SEG37 SEG36 SEG35 SEG34 SEG33 SEG32 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 19[7] 19[6] 19[5] 19[4] 19[3] 19[2] 19[1] 19[0] 表 13- 7 6COM 的显示数据寄存器组合 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 0[7] 0[6] 0[5] 0[4] 0[3] 0[2] 0[1] 0[0] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 1[7] 1[6] 1[5] 1[4] 1[3] 1[2] 1[1] 1[0] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 2[7] 2[6] 2[5] 2[4] 2[3] 2[2] 2[1] 2[0] SEG29 SEG28 SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 3[5] 3[4] 3[3] 3[2] 3[1] 3[0] COM0 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 4[7] 4[6] 4[5] 4[4] 4[3] 4[2] 4[1] 4[0] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 5[7] 5[6] 5[5] 5[4] 5[3] 5[2] 5[1] 5[0] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 6[7] 6[6] 6[5] 6[4] 6[3] 6[2] 6[1] 6[0] SEG29 SEG28 SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 7[5] 7[4] 7[3] 7[2] 7[1] 7[0] COM1 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 8[7] 8[6] 8[5] 8[4] 8[3] 8[2] 8[1] 8[0] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 COM2 131/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 9[7] 9[6] 9[5] 9[4] 9[3] 9[2] 9[1] 9[0] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 10[7] 10[6] 10[5] 10[4] 10[3] 10[2] 10[1] 10[0] SEG29 SEG28 SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 11[5] 11[4] 11[3] 11[2] 11[1] 11[0] SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 12[7] 12[6] 12[5] 12[4] 12[3] 12[2] 12[1] 12[0] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 13[7] 13[6] 13[5] 13[4] 13[3] 13[2] 13[1] 13[0] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 14[7] 14[6] 14[5] 14[4] 14[3] 14[2] 14[1] 14[0] SEG29 SEG28 SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 15[5] 15[4] 15[3] 15[2] 15[1] 15[0] COM3 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 16[7] 16[6] 16[5] 16[4] 16[3] 16[2] 16[1] 16[0] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 17[7] 17[6] 17[5] 17[4] 17[3] 17[2] 17[1] 17[0] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 18[7] 18[6] 18[5] 18[4] 18[3] 18[2] 18[1] 18[0] SEG29 SEG28 SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 19[5] 19[4] 19[3] 19[2] 19[1] 19[0] COM4 COM5 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 20[7] 20[6] 20[5] 20[4] 20[3] 20[2] 20[1] 20[0] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 132/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 21[7] 21[6] 21[5] 21[4] 21[3] 21[2] 21[1] 21[0] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 22[7] 22[6] 22[5] 22[4] 22[3] 22[2] 22[1] 22[0] SEG29 SEG28 SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 23[5] 23[4] 23[3] 23[2] 23[1] 23[0] 表 13- 8 8COM 的显示数据寄存器组合 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 0[7] 0[6] 0[5] 0[4] 0[3] 0[2] 0[1] 0[0] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 1[7] 1[6] 1[5] 1[4] 1[3] 1[2] 1[1] 1[0] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 2[7] 2[6] 2[5] 2[4] 2[3] 2[2] 2[1] 2[0] SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT 3[3] 3[2] 3[1] 3[0] COM0 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 4[3] 4[2] 4[1] 4[0] 3[7] 3[6] 3[5] 3[4] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 5[3] 5[2] 5[1] 5[0] 4[7] 4[6] 4[5] 4[4] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 6[3] 6[2] 6[1] 6[0] 5[7] 5[6] 5[5] 5[4] SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT 6[7] 6[6] 6[5] 6[4] COM1 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 7[7] 7[6] 7[5] 7[4] 7[3] 7[2] 7[1] 7[0] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 COM2 133/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 8[7] 8[6] 8[5] 8[4] 8[3] 8[2] 8[1] 8[0] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 9[7] 9[6] 9[5] 9[4] 9[3] 9[2] 9[1] 9[0] SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT 10[3] 10[2] 10[1] 10[0] SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 11[3] 11[2] 11[1] 11[0] 10[7] 10[6] 10[5] 10[4] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 12[3] 12[2] 12[1] 12[0] 11[7] 11[6] 11[5] 11[4] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 13[3] 13[2] 13[1] 13[0] 12[7] 12[6] 12[5] 12[4] SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT 13[7] 13[6] 13[5] 13[4] COM3 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 14[7] 14[6] 14[5] 14[4] 14[3] 14[2] 14[1] 14[0] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 15[7] 15[6] 15[5] 15[4] 15[3] 15[2] 15[1] 15[0] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 16[7] 16[6] 16[5] 16[4] 16[3] 16[2] 16[1] 16[0] SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT 17[3] 17[2] 17[1] 17[0] COM4 COM5 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 18[3] 18[2] 18[1] 18[0] 17[7] 17[6] 17[5] 17[4] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 134/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 19[3] 19[2] 19[1] 19[0] 18[7] 18[6] 18[5] 18[4] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 20[3] 20[2] 20[1] 20[0] 19[7] 19[6] 19[5] 19[4] SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT 20[7] 20[6] 20[5] 20[4] SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 21[7] 21[6] 21[5] 21[4] 21[3] 21[2] 21[1] 21[0] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 22[7] 22[6] 22[5] 22[4] 22[3] 22[2] 22[1] 22[0] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 23[7] 23[6] 23[5] 23[4] 23[3] 23[2] 23[1] 23[0] SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT 24[3] 24[2] 24[1] 24[0] COM6 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 25[3] 25[2] 25[1] 25[0] 24[7] 24[6] 24[5] 24[4] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 26[3] 26[2] 26[1] 26[0] 25[7] 25[6] 25[5] 25[4] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 27[3] 27[2] 27[1] 27[0] 26[7] 26[6] 26[5] 26[4] SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT 27[7] 27[6] 27[5] 27[4] COM7 表 13- 9 LED 的显示数据寄存器组合 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 0[7] 0[6] 0[5] 0[4] 0[3] 0[2] 0[1] 0[0] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 COM0 135/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 1[7] 1[6] 1[5] 1[4] 1[3] 1[2] 1[1] 1[0] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 2[7] 2[6] 2[5] 2[4] 2[3] 2[2] 2[1] 2[0] SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT 3[3] 3[2] 3[1] 3[0] SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 4[3] 4[2] 4[1] 4[0] 3[7] 3[6] 3[5] 3[4] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 5[3] 5[2] 5[1] 5[0] 4[7] 4[6] 4[5] 4[4] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 6[3] 6[2] 6[1] 6[0] 5[7] 5[6] 5[5] 5[4] SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT 6[7] 6[6] 6[5] 6[4] COM1 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 7[7] 7[6] 7[5] 7[4] 7[3] 7[2] 7[1] 7[0] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 8[7] 8[6] 8[5] 8[4] 8[3] 8[2] 8[1] 8[0] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 9[7] 9[6] 9[5] 9[4] 9[3] 9[2] 9[1] 9[0] SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT 10[3] 10[2] 10[1] 10[0] COM2 COM3 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 11[3] 11[2] 11[1] 11[0] 10[7] 10[6] 10[5] 10[4] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 136/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 12[3] 12[2] 12[1] 12[0] 11[7] 11[6] 11[5] 11[4] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 13[3] 13[2] 13[1] 13[0] 12[7] 12[6] 12[5] 12[4] SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT 13[7] 13[6] 13[5] 13[4] SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 14[7] 14[6] 14[5] 14[4] 14[3] 14[2] 14[1] 14[0] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 15[7] 15[6] 15[5] 15[4] 15[3] 15[2] 15[1] 15[0] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 16[7] 16[6] 16[5] 16[4] 16[3] 16[2] 16[1] 16[0] SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT 17[3] 17[2] 17[1] 17[0] COM4 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 18[3] 18[2] 18[1] 18[0] 17[7] 17[6] 17[5] 17[4] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 19[3] 19[2] 19[1] 19[0] 18[7] 18[6] 18[5] 18[4] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 20[3] 20[2] 20[1] 20[0] 19[7] 19[6] 19[5] 19[4] SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT 20[7] 20[6] 20[5] 20[4] COM5 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 21[7] 21[6] 21[5] 21[4] 21[3] 21[2] 21[1] 21[0] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 22[7] 22[6] 22[5] 22[4] 22[3] 22[2] 22[1] 22[0] COM6 137/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 23[7] 23[6] 23[5] 23[4] 23[3] 23[2] 23[1] 23[0] SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT 24[3] 24[2] 24[1] 24[0] SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1 SEG0 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 25[3] 25[2] 25[1] 25[0] 24[7] 24[6] 24[5] 24[4] SEG15 SEG14 SEG13 SEG12 SEG11 SEG10 SEG9 SEG8 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 26[3] 26[2] 26[1] 26[0] 25[7] 25[6] 25[5] 25[4] SEG23 SEG22 SEG21 SEG20 SEG19 SEG18 SEG17 SEG16 LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT LCDDAT 27[3] 27[2] 27[1] 27[0] 26[7] 26[6] 26[5] 26[4] SEG27 SEG26 SEG25 SEG24 LCDDAT LCDDAT LCDDAT LCDDAT 27[7] 27[6] 27[5] 27[4] COM7 138/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 14. 模数转换器(ADC) 14.1 概述 BL6531/BL6536 具有一个 4 通道的 12 位的逐次逼近型模数转换器,四个通道都可以独 立输入模拟信号,但是每次转换只能使用一个通道。 ADC采用32.768K作为时钟输入,完成一次转换需13个时钟周期。 内置1.14V参考电压, 参考电压误差≤2%。 通道0采用内部电阻分压,分压比为19:60,通道1、通道2和通道3无分压。 ADC功耗45uA。 可配置转换完毕产生中断。 14.2 结构框图 图 14-1 ADC 模块结构框图 14.3 功能说明 MCU 通过配置 ADCCFG 寄存器,启动 ADC 转换,转换完成后,更新 ADC 结果寄存 器,并将 ADCCFG 寄存器启动位清零,并关闭 ADC, 转换结束位置位,同时,根据配置产 生 ADC 转换完成中断。 通道 0 转换时,电压值=(ADC 结果寄存器值/4096)*(19/60) * 1.14V; 其他通道转换时,电压值=(ADC 结果寄存器值/4096)* 1.14V; 使用通道 0 时,转换完成后输入通道自动关闭,内部分压电路不耗电。 14.4 ADC 配置寄存器 表 14- 1 ADC 控制状态寄存器 139/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 名称 ADC 控制、状态寄存器(ADCCFG) 地址 308BH 位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 位名 ADCSTART 位权限 R/W R/W R/W 复位值 0 0 0 Bit1 - - - - - R/W R/W R/W R/W R 0 0 0 0 0 - Bit0 ADC-DONE 表 14- 2 ADC 测量结果寄存器 名称 ADC 测量结果寄存器(ADCVALUEH) 地址 308CH 位 Bit7 Bit6 Bit5 Bit4 - - - - 位名 Bit3 Bit2 Bit1 Bit0 AD[11] AD[10] AD[9] AD[8] 位权限 R/W R/W R/W R/W R R R R 复位值 0 0 0 0 0 0 0 0 表 14- 3 ADC 测量结果寄存器 名称 ADC 测量结果寄存器(ADCVALUEL) 地址 308DH 位 Bit7 位名 AD[7] Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 AD[6] AD[5] AD[4] AD[3] AD[2] AD[1] AD[0] 位权限 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 表 14-4 ADC 通道选择寄存器 名称 ADC 通道选择寄存器(ADCIN_SEL) 地址 308DH 位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 - - - - - - SEL1 SEL0 位权限 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 位名 ADC 通道选择,00: 通道 0;01:通道 1;10:通道 2;11:通道 3 140/158 v1.2 Bit1 Bit0 BL6531/BL6536 电能表专用 MCU 芯片 15. 温度传感器 15.1 概述 BL6531/BL6536 内部集成一个温度传感器,可对芯片工作的环境温度进行测量,用来 对 RTC 进行实时温度补偿。温度传感器的主要特点有: 测量范围:-45℃-85℃ 测量精度:±0.3℃ 模块功耗:<60uA 温度传感器测量值为16位补码,最高位为符号位,计算公式为: 最高位为0时,温度值 = 温度传感器结果寄存器值/128; 最高位为1时,温度值 = -(65536-温度传感器结果寄存器值)/128; 15.2 温度传感器配置寄存器 表 15- 1 温度传感器结果高位寄存器 名称 温度传感器结果高位寄存器(SENSOR_VALUE_H) 地址 3076H 位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 位名 位权限 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 SENSOR_VALUE_H [7:0] : 温度传感器结果高 8 位 表 15- 2 温度传感器结果低位寄存器 名称 温度传感器结果低位寄存器(SENSOR_VALUE_L) 地址 3077H 位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 位名 位权限 R R R R R R R R 复位值 0 0 0 0 0 0 0 0 SENSOR_VALUE_L[7:0] : 温度传感器结果低 8 位 表 15- 3 温度传感器控制寄存器 名称 温度传感器控制寄存器(SENSOR_CTRL) 地址 307EH 位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 位权限 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 位名 Bit0,1:温度测量使能;0:温度测量关闭 141/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 Bit7,1:温度传感器配置使能;0:温度传感器配置禁止 142/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 16. 电压比较器 16.1 概述 BL6531/BL6536 包含三个比较器,分别为 15V 电源比较器、5V 上电比较器和 5V 掉电 比较器。其中 15 电源比较器采用外部管脚输入,有两个输入通道可选择,与 1.25V 的基准 电压进行比较。5V 上电和 5V 掉电比较器采用内部电源电压作为比较器输入,比较电压阈 值可设置。根据配置比较器结果变化可以输出中断,当 MCU 处于低功耗模式时,比较器结 果变化可以唤醒 MCU 正常工作。同时,根据配置可选择对比较器结果输出进行 2ms 的数字 滤波。 16.2 比较器配置寄存器 表 16- 1 比较器中断使能寄存器 名称 比较器中断使能寄存器(PMINTEN) 地址 3084H 位 Bit7 位名 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 - - PMINTEN.3 PMINTEN.2 PMINTEN.1 PMINTEN.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 位 功能描述 PMINTEN.3 1: 允许 ADC 电平变化中断 0:禁止 ADC 电平变化中断 PMINTEN.2 1: 允许 15V 电源比较器输出变化中断 0:禁止 15V 电源比较器输出变化中断 PMINTEN.1 1: 允许 5V 上电比较器输出变化中断 0:禁止 5V 上电比较器变化中断 PMINTEN.0 1: 允许 5V 掉电比较器变化中断 0:禁止 5V 掉电比较器变化中断 表 16- 2 比较器中断标志寄存器 名称 比较器中断标志寄存器(PMINTFLAG) 地址 3085H 位 Bit7 Bit6 - - 位权限 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 位名 位 Bit5 Bit4 - - Bit3 功能描述 143/158 v1.2 Bit2 Bit1 Bit0 BL6531/BL6536 电能表专用 MCU 芯片 PMINTFLAG.3 1: ADC 电平变化中断标志位 PMINTFLAG.2 1: 15V 电源比较器输出变化中断标志位 PMINTFLAG.1 1: 5V 上电比较器输出变化中断标志位 PMINTFLAG.0 1: 5V 掉电比较器变化中断标志位 表 16- 3 5V 电源比较器阈值配置寄存器 名称 5V 比较器阈值配置寄存器(CMP5VCFG) 地址 3087H 位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 位权限 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 位名 位 功能描述 CMP5VCFG[7:4] CMP5VCFG[3:0] 5V 上电比较器比较阈值 0: 2.4V 1: 2.6V 2: 2.8V 3: 3.0V 4: 3.2V 5: 3.4V 6: 3.6V 7: 3.8V 8: 4.0V 9: 4.2V 10: 4.4V 11: 4.6V 12: 4.8V 13: 5.0V 5V 掉电比较器比较阈值 0: 2.4V 1: 2.6V 2: 2.8V 3: 3.0V 4: 3.2V 5: 3.4V 6: 3.6V 7: 3.8V 8: 4.0V 9: 4.2V 10: 4.4V 11: 4.6V 12: 4.8V 13: 5.0V 表 16- 4 比较器中断控制寄存器 名称 比较器中断使能寄存器(CMPEVENTCFG) 地址 3088H 位 Bit7 Bit6 - - 位权限 R/W 复位值 0 位名 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 144/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 位 功能描述 CMPEVENTCFG[5:4] 15v 电源下电比较器脉冲控制 00:不产生比较器变化脉冲 01:下降沿产生中断脉冲 10:上升沿产生中断脉冲 11:电平变化产生中断脉冲 CMPEVENTCFG[3:2] 5v 电源上电比较器脉冲控制 00:不产生比较器变化脉冲 01:下降沿产生中断脉冲 10:上升沿产生中断脉冲 11:电平变化产生中断脉冲 CMPEVENTCFG[1:0] 5v 电源下电比较器脉冲控制 00:不产生比较器变化脉冲 01:下降沿产生中断脉冲 10:上升沿产生中断脉冲 11:电平变化产生中断脉冲 表 16- 5 比较器配置寄存器 名称 比较器配置寄存器(CMPCFG) 地址 3089H 位 Bit7 Bit6 Bit5 Bit4 - CMPCFG.6 CMPCFG.5 CMPCFG.4 位权限 R/W R/W R/W 复位值 0 0 0 位名 位 CMPCFG.6 Bit3 Bit2 Bit1 Bit0 - CMPCFG.2 CMPCFG.1 CMPCFG.0 R/W R/W R/W R/W R/W 0 0 0 0 0 功能描述 1: 15V 电源比较器滤波开启 0:15V 电源比较器滤波关闭 CMPCFG.5 1: 5V 上电比较器滤波开启 0:5V 上电比较器滤波关闭 CMPCFG.4 1: 5V 掉电比较器滤波开启 0:5V 掉电比较器滤波关闭 CMPCFG.2 1: 关闭 15V 电源比较器 0:打开 15V 电源比较器 CMPCFG.1 1: 关闭 5V 上电和掉电比较器 0:打开 5V 上电和掉电比较器 145/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 CMPCFG.0 15V 比较器输入通道选择 0:CMP1 通道,1:CMP0 通道 表 16- 6 比较器结果寄存器 名称 比较器结果寄存器 地址 308AH 位 Bit7 Bit6 - - R/W R/W 位名 位权限 复位值 0 0 位 Bit5 Bit4 - R/W 0 Bit3 - R/W 0 R/W 0 功能描述 HVDDPD 15V 电源比较器输出结果 VDDPU 5V 上电比较器输出结果 VDDPD 5V 掉电比较器输出结果 146/158 v1.2 Bit2 Bit1 Bit0 HVDDPD VDDPU VDDPD R R R 0 0 0 BL6531/BL6536 电能表专用 MCU 芯片 17. 看门狗及系统复位 17.1 概述 BL6531/BL6536 具有两个硬件看门狗 WDT0 和 WDT1,其中,WDT0 上电后自动打开, 不能关闭,溢出值典型情况下为 1.8s,WDT1 可配置 IEN1 的 SWDT 位打开,溢出值可设置。 当 MCU 进入低功耗模式后,看门狗停止工作,唤醒后看门狗继续工作。同时,MCU 包括 多种复位源,保证实现可靠复位: 外部复位引脚复位 上电、掉电复位 看门狗复位 STOP模式唤醒复位 软件复位 17.2 功能说明 看门狗需要定时进行清零操作,如果到达溢出时间而没有进行清零,会导致 MCU 复位。 WDT0 的溢出时间典型值为 1.8s,WDT1 的溢出时间可以配置。看门狗清零命令需要先对 IEN0 的 WDT 位置位,然后再对 IEN1 的 SWDT 位置位,并且两个操作指令必须连续不能 打断,清零命令对两个看门狗同时进行清零。 单独对 IEN1 的 SWDT 位置位,可以使能 WDT1 工作。 对复位寄存器 SRST(F7H)连续两次设置为 0x01 可以将 MCU 软件复位。 17.3 看门狗及复位配置寄存器 表 17- 1 看门狗 1 重装载寄存器 名称 看门狗 1 重装载寄存器(WDTREL) 地址 86H 位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 位名 位权限 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 位 WDTREL.7 功能描述 1: WDT1 时钟为系统时钟/16 0: WDT1 时钟为系统时钟 WDTREL[6:0] WDT1 重装载值 表 17- 2 复位寄存器 147/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 名称 复位寄存器(SRST) 地址 F7H 位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 位名 位权限 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 148/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 18. 低功耗模式 18.1 概述 BL6531/ BL6536 具有两种低功耗模式,SLEEP 模式和 STOP 模式。MCU 可以通过配置 寄存器进入低功耗模式,进入低功耗模式后 MCU 停止工作,内部 PLL 电路、存储器管理、 SRAM、Flash、UART、Timer、7816 接口、SPI 接口、I2C 接口、SFR、红外接口等数字电 路关闭。同时 RTC 模块正常工作,并且可过配置唤醒源进行 MCU 唤醒。BL6531 在 SLEEP 模式下功耗可降低到 10uA,在 SLEEP 模式下 LCD 显示时功耗可降低到 20uA,在 STOP 模 式下功耗可降低为 6uA。 18.2 功能说明 18.2.1 SLEEP 模式 节电模式控制寄存器写入“0x69”后进入 SLEEP 模式,先关闭 PLL 电路,然后复位看 门狗,根据配置关闭 RC 振荡器时钟、LCD 驱动时钟、GPIO 除唤醒管脚外时钟,最后关闭 MCU 时钟,进入休眠。 进入 SLEEP 模式后,如果接收到有效的唤醒信号,复位节电模式寄存器,自动关闭 PLL 时钟,开启低频 32.768KHZ 时钟,MCU 正常运行,如果用户需要使用 PLL 时钟作为主时 钟需要重新配置 PLL 寄存器。 18.2.1 STOP 模式 节电模式控制寄存器写入“0x96”后进入 STOP 模式,先关闭 PLL 电路,然后复位看 门狗,根据配置关闭 RC 振荡器时钟、LCD 驱动时钟、GPIO 除唤醒管脚外时钟,最后关闭 MCU 时钟,进入休眠。 进入 STOP 模式后,如果接收到有效的唤醒信号,复位节电模式寄存器,同时产生复位 信号,MCU 复位后恢复正常运行。 18.2.3 唤醒源 MCU 有多种唤醒源,包括: IO电平变化唤醒 RTC唤醒 比较器输出变化唤醒 MCU 从低功耗模式唤醒时,不进入相应的中断向量,不会执行中断服务程序,唤醒后 正常工作时,正常执行中断服务程序。 18.3 掉电模式配置寄存器 表 18- 1 节电模式配置寄存器 名称 节电模式配置寄存器(PMMODEREG) 地址 3080H 149/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 位权限 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 位名 位 功能描述 PMMODEREG[7:0] 0x69:SLEEP 模式 0x96:STOP 模式 0x00:正常模式 其他:正常模式 需要打开节电模式保护寄存器后才能设置,设置后立即进入节电模式,MCU 停止运行, 唤醒后硬件自动清零。 表 18- 2 节电模式控制寄存器 名称 节电模式控制寄存器(PMCONREG) 地址 3081H 位 Bit7 位名 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 - - - - PMCONREG.1 - - - 位权限 R/W R/W R/W R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 0 0 0 位 功能描述 PMCONREG.1 1:STOP/SLEEP 模式下关闭内部 RC 振荡器 0:开启内部 RC 振荡器 需要打开节电模式保护寄存器后才能设置。 表 18- 3 节电模式写保护寄存器 名称 节电模式写保护寄存器(PMSPWP) 地址 3082H 位 位名 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 - - - - - - 位权限 R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 位 PMSPWP.1 功能描述 1:PMMODEREG 写保护打开 0:PMMODEREG 写保护关闭 PMSPWP.0 1:PMCONREG 写保护打开 0:PMCONREG 写保护关闭 150/158 v1.2 Bit1 Bit0 PMSPWP.1 PMSPWP.0 R/W R/W R/W 0 0 0 BL6531/BL6536 电能表专用 MCU 芯片 表 18- 4 唤醒配置寄存器 名称 唤醒配置寄存器(PMWAKEEN) 地址 3082H 位 Bit7 Bit6 - - 位权限 R/W R/W 复位值 0 0 位名 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 - PMWAKEEN.4 PMWAKEEN.3 PMWAKEEN.2 PMWAKEEN.1 PMWAKEEN.0 R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 位 功能描述 PMWAKEEN.4 1:允许 IO 电平变化唤醒 0:禁止 IO 电平变化唤醒 PMWAKEEN.3 1:允许定时唤醒 0:禁止定时唤醒 PMWAKEEN.2 1:允许 15V 电源比较器输出变化唤醒 0:禁止 15V 电源比较器输出变化唤醒 PMWAKEEN.1 1:允许 5V 上电比较器输出变化唤醒 0:禁止 5V 上电比较器输出变化唤醒 PMWAKEEN.0 1:允许 5V 掉电比较器输出变化唤醒 0:禁止 5V 掉电比较器输出变化唤醒 表 18- 5 节电模式时钟配置寄存器 名称 节电模式时钟配置寄存器(PMPDCFG) 地址 3086H 位 位名 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 - - - - - - 位权限 R/W R/W R/W R/W R/W 复位值 0 0 0 0 0 位 PMPDCFG.1 功能描述 1:关闭 GPIO 时钟 0:开启 GPIO 时钟 PMPDCFG.0 1:关闭 LCD 时钟 0:开启 LCD 时钟 151/158 v1.2 Bit1 Bit0 PMPDCFG.1 PMPDCFG.0 R/W R/W R/W 0 0 0 BL6531/BL6536 电能表专用 MCU 芯片 19. JTAG 调试 19.1 概述 BL6531/ BL6536 支持 IEEE1149.1 标准的 JTAG 接口,用户可以通过引脚 TCK、TDI、 TDO、TMS 实现在线编程和在线调试。BL6531/ BL6536 支持单步调试,同时可支持最多 2 个断点调试。 19.2 功能说明 BL6531/ BL6536 通过将 JTAG 管脚接高电平进入 JTAG 调试模式,TCK、TDI、TDO、 TMS 引脚自动配置为 JTAG 调试模式,当 JTAG 悬空或者接低电平时,TCK、TDI、TDO、 TMS 管脚可用作普通 GPIO 口。同时,在 JTAG 调试模式,PLL 时钟默认自动运行,不 能关闭,看门狗停止运行。 152/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 20. 电气特性 20.1 极限参数 直流供电电压: 2.2V to 5.5V 数字输入/输出电压: DGND-0.3V to VDD +0.3V 模拟输入电压: AGND-0.3V to VDD +0.3V 工作环境温度: -40°C to 85°C 存储温度: –55°C to 125°C 20.2 直流电气特性 (VDD = 2.2 – 5.5V, DGND = 0V,TA = 25°C, 除非另有说明) 参数 符号 最小值 典型值 最大值 单位 工作电压 VDD 2.2 5.0 5.5 V 工作电流 1 IOP1 - 3.5 5 mA 工作电流 2 IOP2 - 2 3.5 mA ISLEEP - 10 12.5 uA ISTOP - 功能模块正常运行 显示关闭,TEMP_SENSOR 6 8 uA 显示关闭,TEMP_SENSOR 关闭,RC 振荡器关闭 MCU 进入 SLEEP 模式, LCD IWAKE 20 25 uA 显示打开,TEMP_SENSOR 关闭,RC 振荡器关闭 看门狗工作电流 1 比较器工作电流 uA 2 uA 输入低电压 VIL GND - 0.3 X VDD V GPIO 端口 输入高电压 VIH 0.7 X VDD - VDD V GPIO 端口 输出高电压 VOH VDD – 0.5 - - V GPIO 端口 输出低电压 VOL - - GND + 0.5 V GPIO 端口 上拉电阻 1 RPH1 - 20 - k 上拉电阻 2 RPH2 - 70 - k 上拉电阻 3 RPH3 - 500 - k 20.3 交流电气特性 153/158 v1.2 Fclk=3.6864MHZ,MCU 各个 MCU 进入 STOP 模式,LCD 待机电流 (掉电模式 SLEEP+LCD) 个功能模块正常运行 关闭,RC 振荡器关闭 待机电流 (掉电模式: STOP) Fclk=14.7456MHZ,MCU 各 MCU 进入 SLEEP 模式, LCD 待机电流 (掉电模式:SLEEP) 条件 7816_OA,7816_OB 除 GPIO4 外,其他 GPIO 接 口 GPIO4 BL6531/BL6536 电能表专用 MCU 芯片 20.3.1 I2C 交流电气特性 (VDD = 2.2~5.5V,Ta = -40°C to 85°C,unless otherwise specified) Parameter Symbol Standard-Mode Fast-Mode Unit Min Max Min Max fSCL - 100 - 400 kHz tHD:STA 4.0 - 0.6 - μs tLOW 4.7 - 1.3 - μs tHIGH 4.0 - 0.6 - μs SCL setup time (restart condition) tSU:STA 4.7 - 0.6 - μs SDA hold time tHD:DAT 5.0 - 0 - μs SDA setup time tSU:DAT 0.25 - 0.1 - μs SDA setup time (stop condition) tSU:STO 4.0 - 0.6 - μs tBUF 4.7 - 1.3 - μs SCL frequency SCL hold time (start/restart condition) SCL “L” level time SCL “H” level time Bus free time 20.3.2 SPI 交流电气特性 (VDD = 2.2~5.5V,Ta = -40°C to 85°C,100pf load on all SPI.) Num1 Parameter2 Symbol Min Max Unit SCK frequency fSCK - fsys/32 Hz 1 Cycle time tSCK 32 - tsys 2 Enable lead time master slave tLEAD 1/2 1/2 - tSCK tSCK 3 Enable lag time master slave tLAG 1/2 1/2 - tSCK tSCK 4 SCK high time tSCKH ½tSCK-25 - ns 5 SCK low time tSCKL ½tSCK-25 - ns 154/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 6 Data setup time (inputs) tSI 30 - ns 7 Data hold time (inputs) tHI 30 - ns 8 Access time, slave3 tA 0 40 ns tDis - 40 ns 4 9 Disable time, slave 10 Data setup time (outputs) tSO 25 - ns 11 Data hold time (outputs) tHO -10 - ns NOTEs: 1, refer to Figure A~D 2,All timing assumes slew rate control disabled and high drive strength enabled for SPI output pins. 3, Time to data active from high-impedance state. 4, Hold time to high-impedance state. Figure A. SPI Master Timing (CPHA = 0) NOTES: 1. SS output mode. 2. bit order is MSB,bit6, …bit1, LSB. 155/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 Figure B. SPI Master Timing (CPHA = 1) Figure C. SPI Slave Timing (CPHA = 0) 156/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 Figure D. SPI Slave Timing (CPHA = 1) 157/158 v1.2 BL6531/BL6536 电能表专用 MCU 芯片 21. 使用上的注意事项 BL6536 内置晶体,请不要使其受到过度冲击和振动。 芯片内部具有静电防护电路,若加上过大静电,IC 会受到损伤,因此,请使 用导电性周转箱及搬运容器。 焊接时请确认焊接温度不要超过 260 度。 158/158 v1.2