3 节至 6节锂电池组监控芯片 DVC2006H
DVC2006H 内部包含了 AFE 和 8 位 MCU 核心。AFE 采用车规级高压BCD 工艺设计实现多节锂电池组的监控,通过四线式 SPI 接口与上位机进行通信,形成一套完整的电池组管理系统(BMS)。MCU 是高速低功耗 CMOS 工艺设计开发的增强型 8 位单机,内部有 16K Bytes FLASH程序存储器, 256Bytes IRAM+768Bytes XRAM,最多 18 个双向 I/O 口,5 个 16 位定时器/计数器,3 组 12 位带死区控制互补 PWM,1 路 8 位PWM,2 个 UART,1 个 SPI,1 个 IIC,16 个外部中断, 16+2 路 12 位 ADC, 1 个低压检测模块,四种系统工作模式和多个中断源。
芯片特色
封装类型LQFP48 温度范围-40°C ~ 85°C
AFE 特色
集成电压传感通道和电流传感通道,同步测量电池电压和充/放电电流
电压传感通道集成 15-bit ΣΔ ADC(VADC),有效位数13bit,支持:
6 节电池电压测量
6 路被动电池均衡驱动
1 路热敏电阻电压测量
芯片温度测量
电池过压保护(OV)
电池欠压保护(UV)
到上位机的警报中断
电流传感通道集成 16-bit ΣΔ ADC(CADC),有效位数14bit,支持:
低边电流测量
低边充电和放电N 型场效应管驱动
充电过流保护(OCC)
放电过流保护(OCD)
放电短路保护(SCD)
2.5V/3.3V LDO 输出
MCU 特色
CPU 增强型1T 8051 内核
ROM 16K Bytes FLASH/128 Bytes EEPROM
IAP 和 ICP 操作
灵活的代码保护模式
RAM 256 Bytes IRAM 768 Bytes XRAM
时钟 内部高精度 32MHz RC,可软件微调
内部 44KHz RC
外部高频晶振 4MHz-20MHz 外部低频晶振 32.768KHz
多种时钟输出
多种复位方式
上电复位(POR)
多级低电压复位(BOR) - 4.2/3.9/3.6/3.0/2.6/2.4/2.0/1.8V
看门狗复位
软件复位
堆栈溢出复位
外部低电平复位
外部管脚电压(1.2V)检测复位
I/O
最多18 个双向I/O 口
多种模式可配:输入、带上拉输入、带下拉输入、施密特输入、模拟输入、强推挽输出、开漏输出、开漏带上拉输出
外设功能引脚全映射模块PTM
所有端口可配置1/2bias 软件LCD 驱动
中断
17 个中断源
4 级中断优先级
16 个外部中断
定时器/计数器
T0/T1 兼容标准8051,16 位自动重载
T3 可以工作在掉电模式
T4 可以使用外部信号触发定时
T5 带捕获功能
PWM
最多3 组12 位带死区控制互补PWM
- 可配置为 6 路独立输出
- 可当定时器使用
- 具有故障检测功能
- 可配置边沿对齐或中心对齐
1 路8 位单输出PWM
通讯模块
2 个 UART
1 个 SPI
1 个 IIC
ADC 检测电路
支持16+2 ch 12 位ADC 检测
ADC 参考电压可选内部1.3/2/3/4V、外部VREF、VDD
软件触发、外部触发、定时器触发
低电压检测模块
比较器功能
VDD 多级电压检测,可中断
- 4.2/3.9/3.6/3.0/2.6/2.4/2.0/1.9V
循环冗余校验(CRC)
省电模式
空闲模式
掉电模式
宽电压 2.0V-5.5V
支持 SWD、JTAG 仿真和下载
应用
电动自行车、电动轻型摩托车、电动摩托车
平衡车、扫地机器人、电动旋翼机
不间断电源系统(UPS)
电网储能
12V、18V 磷酸铁锂/三元锂电池组
描述
DVC2006 内部包含了 AFE 和 8 位 MCU 核心。AFE 采用车规级高压BCD 工艺设计实现多节
锂电池组的监控,通过四线式 SPI 接口与上位机进行通信,形成一套完整的电池组管理系统(BMS)。AFE 内置1 路15 位ΣΔ ADC (VADC) 和 1 路16 位 ΣΔ ADC(CADC),可以持续地高精度测量电池组中电池电压、电池温度和充/放电电流等信息,反馈给上位机完成电池组 SOC 估算。AFE 集成了完整的硬件保护功能,上位机可以将电池过压阈值、电池欠压阈值、充电过流阈值、放电过流阈值和放电短路阈值配置到芯片寄存器中。芯片就可以在异常发生时,瞬间完成硬件保护,并立即反馈警报给上位机。
AFE 内置了 6 路被动电池均衡驱动电路,上位机可以同时打开所有电池均衡,而不用担心影响芯片测量和硬件保护功能。AFE 集成了低边充电和放电 N 型场效应管驱动,上位机可以通过配置寄存器完成充电或放电管理。同时芯片在异常发生时,也可以自动关闭充电或放电场效应管,保证电池组安全。AFE 集成了低边充电和放电 N 型场效应管驱动,上位机可以通过配置寄存器完成充电或放电管理。同时芯片在异常发生时,也可以自动关闭充电或放电场效应管,保证电池组安全。
MCU 是高速低功耗 CMOS 工艺设计开发的增强型 8 位单片机,内部有 16K Bytes FLASH程序存储器256Bytes IRAM+768Bytes XRAM,最多 18 个双向 I/O 口,5 个 16 位定时器/计数器,3 组 12 位带死区控制互补 PWM,1 路 8 位PWM,2 个 UART,1 个 SPI,1 个 IIC,16 个外部中断,/规格资料+V stevenmicro索取/ 16+2 路 12 位 ADC, 1 个低压检测模块,四种系统工作模式和多个中断源。
AFE 工作原理
1 内核状态
DVC2006 具有两种内核状态:睡眠状态和工作状态。当芯片上电后,DVC2006 会自动进入工作状态。
1.1 睡眠状态
参考电压、LDO、ADC 和 SPI 断电,电池均衡、充电和放电场效应管驱动器关闭, 电源电流被减小至最低水平。如果收到一个唤醒信号(见“唤醒”),DVC2006将进入工作状态。
1.2 工作状态
芯片上电时自动进入Normal 工作状态,所有配置寄存器复位到默认值。 参考电压、 LDO 和ADC启动。电压传感通道和电流传感通道开始测量电压、电流和温度等信息。如果收到一个有效的休眠(SLEEP)指令,DVC2006 将返回睡眠状态。如果长时间没有收到有效SPI 指令,当看门狗定时器计时终止时,DVC2006 将返回睡眠状态。如果芯片内部温度达到结温,会触发过温保护,DVC2006 将返回睡眠状态。
2 电压传感通道
电压传感通道有 1 个 15 位 VADC、6 节电池均衡驱动器和2 个参考电压。
2.1 VADC
在工作状态下,VADC 对芯片内部温度、6 节电池电压和 1 路热敏电阻电压依次进行测量。单通道测量时间为 32ms,完成全部 8 个通道测量时间为256ms。
默认配置下,VADC 处于连续测量模式。用户将轮询周期设置为 1s 至 64s 会使VADC 处于间断测量模式, VADC 在完成8 个通道测量后会进入低功耗状态以节约电流,等待下一次轮询周期到来。当 VADC 被配置在连续测量模式时,开启任一节电池均衡会使VADC 自动进入间断测量模式,默认轮询周期为 2s。电池在 VADC 处于低功耗状态时被均衡,不会影响电池电压测量结果。
2.2 电池均衡驱动器
用户可以同时开启 6 节电池均衡,DVC2006会自动设置均衡周期,避免相邻电池同时均衡造成输入引脚电压超过绝对最大值。考虑到芯片散热,建议使用外部电池均衡管。
2.3 参考电压
提供 1 个 2.5V/3.3V 参考电压输出,支持用户测量 1 路热敏电阻电压。用户可通过配置寄存器CFRG0B0 的 VOUT_VS 位切换输出电压值。默认配置下,参考电压会在 VADC 处于低功耗状态时自动关闭以节约功耗。
3 电流传感通道
电流传感通道有一个16 位CADC、3 个CMP比较器、1 个 LDO、1 对充电和放电场效应管驱动器。通过测量SRP 和 SRN 的电压差值来监控充电或放电电流值。充电和放电电流方向相反,放电时 SRP 和SRN 的电压差为值;充电时 SRP 和SRN 的电压差为负值。
3.1 CADC
在工作状态下, CADC 对电流进行测量, 测量时间为 64ms;通过配置寄存器 CFRG1B3 的CADC_TM 位,可以将此测量时间改为 256ms。默认配置下, CADC 处于连续测量模式。 用户将轮询周期设置为 1s 至 64s 会使 ADC 处于间断测量模式, ADC 在完成测量后会进入低功耗模式,等待下一次轮询周期到来。
3.2 CMP
3 个比较器的工作频率为 8KHz,分别检测放电短路(SCD)、放电过流(OCD)和充电过流(OCC)。
3.3 LDO
提供 1 个 2.5V/3.3VLDO 输出,为上位机供电。
3.4 充电/放电驱动器
提供 2 个场效应管驱动器,分别控制低边充电和放电N 型场效应管。充电和放电场效应管驱动器在开启时会快速上拉到12V。放电场效应管驱动器在关闭时会快速下拉到地, 而充电场效应驱动器在关闭时会通过1个1MΩ 电阻下拉到地。用户可以通过设置配置寄存器中的 CHGEN和DSGEN 来控制充电和放电场效应管驱动器。某些事件下会清除CHGEN 或DSGEN 对充电或放电场效应管驱动器的控制,用户可以通过读取状态寄存器中的 CHG 和DSG 来获取充电和放电场效应管驱动器的状态。默认配置下,CHG 和DSG 在不同事件下的响应如表 6-1 所示,用户可以通过修改配置寄存器来调整响应。
4 硬件保护
DVC2006 集成了电池过压(OV)、电池欠压(UV)、放电短路(SCD)、放电过流(OCD)和充电过流(OCC)保护。用户需要在芯片每次从睡眠状态到工作状态后,将保护阈值和消抖延时参数写入配置寄存器。芯片会根据预设的阈值监控每节电池电压和充电/放电电流。当检测到故障发生时,/规格资料+V stevenmicro索取/芯片会在预设的延时时间内分析该故障是否为虚警。在排除虚警后,会将状态寄存器中对应标识位置为高电平,并通过ALERT 引脚向上位机发送一个中断下拉信号。硬件保护标识位在被置高后会保持锁定,直到用户发送有效的 CLEAR 指令清除。
5 警报中断/警报下拉
ALERT 是一个漏极开路NMOS 输出引脚,用作低电平有效数字中断信号,可以连接到上位机的 GPIO 引脚。 该信号是状态寄存器中所有故障信号的或。 用户可以通过发送清除(CLEAR)指令来清除警报中断输出。
ALERT 引脚也可以由上位机主动下拉到地,此功能可以作为应急关闭充电/放电驱动器使用。当 ALERT 引脚被外部强制下拉到地时,芯片会识别为警报下拉,并将 ALERT_PD 置为高电平,并自动关闭充电/放电驱动器输出。 当ALERT 引脚已经被内部下拉至地时, 警报覆盖功能不起作用。 在默认配置下,警报覆盖功能被禁用,上位机可以通过修改配置寄存器开启警报覆盖功能。
ALERT 引脚没有内部去抖支持,需要注意保护引脚免受噪声或其他瞬变影响。
6 负载检测
在 CHG 引脚上配置了一个负载检测电路,在默认配置下,在充电驱动器关闭 2 秒后启动负载检测电路。CHG 引脚内置的 1MΩ 电阻会在负载未连接时将 CHG 下拉至地,因此当负载连接到PACK-时会将CHG 引脚上拉至高电平。状态寄存器中的 LD 会实时反映 CHG 引脚上的电压是否超过 0.6V。用户可以通过修改配置寄存器禁用负载检测电路。
7 看门狗定时器
在工作状态下,若DVC2006 超过8 秒没有收到有效SPI 指令,看门狗定时器计时终止。在默认配置下,芯片会首先重启LDO 来唤醒上位机。如果重启LDO 后在8 秒内收到有效 SPI 指令,看门狗定时器重新开始计时,否则芯片将返回睡眠状态。用户可以通过修改配置寄存器来关闭看门狗定时器功能,或者禁止看门狗定时器终止后返回睡眠状态。
8 唤醒与休眠
将芯片从睡眠状态唤醒,即切换到工作状态,是通过给 WKUP 引脚一个上升沿脉冲来触发,并要求 WKUP 上升沿前的低电平至少保持 1us。在芯片唤醒之后,即芯片处于工作状态时, WKUP 引脚必须始终保持高电平,否则 SPI 接口无法通信。将芯片从工作状态切换到睡眠状态,通过发送SLEEP 指令实现,在指令结束后,即CSB 的上升沿时,芯片就会进入睡眠状态。
MCU 存储器
1 程序存储器(FLASH)
1.1 FLASH 特性
在工作电压范围内都能进行擦除和编程操作
在线编程(ICP)操作支持写入、读取和擦除操作
ICP 操作可设置32 位密码进行保护
在应用编程(IAP)支持用户自定义启动代码
灵活的代码保护模式
擦写次数至少10 万次
数据保存年限至少10 年
16K Bytes FLASH:128 字节为 1 个扇区,8 个扇区为 1 页,4 页为一个保护单位
128 Bytes EEPROM:4 字节为 1 个扇区
1.2 FLASH 数据安全
FLASH 的操作可以分成两种:第一种是通过 FLASH 编程器对FLASH 进行读、擦、写操作,这种方式被称为在电路编程模式(ICP),JTAG 就是 ICP 的一种;第二种是用户程序代码在FLASH 代码区中运行,对 FLASH 存储器其他扇区进行读、擦、写操作,但无法擦除代码自身所在的扇区,这种方式被称为在应用编程模(IAP)。
9.1.2.1 ICP 操作密码保护
用户可以通过上位机软件对 ICP 操作进行密码保护,密码长度为4 个字节(32 位),一旦用户设置了密码,那么只有输入正确的密码才能进入 JTAG,否则就不能对 FLASH 进行任何操作,这样可以有效保护用户的程序码。
9.1.2.2 ICP 读擦写 FLASH 保护
ICP 的读保护以 4K 字节为保护单位,当一个 4K 字节空间的读保护使能时,ICP 读这个 4K 字节空间,读出来的数据为全 0,但是仍然可以通过 ICP 操作进行仿真。ICP 的擦写保护也是以 4K 字节为保护单位,当对应 4K 字节的擦写保护使能时,ICP 将不能擦除和编程这个 4K 字节空间,强写也不允许。若对应4K 字节空间读保护被使能,但被允许擦除与写入,则可先擦除后获得该4K 字节空间的读允许,直至复位或掉电。ICP 的读擦写保护通过上位机软件来配置,详细情况请参见HC-LINK 用户手册。
1.2.3 IAP 读擦写 FLASH 保护
IAP 通过 MOVC 指令来读 FLASH,IAP 读保护以 4K 字节为单位,如果一个 4K 字节空间设置了读保护,其他 4K 字节空间的 MOVC 指令读这个 4K 字节空间,读出来的数据为全零,但这个 4K 字节空间的MOVC 指令可以读取自身的数据。IAP 擦写FLASH 的步骤详见 FLASH IAP 操作,IAP 的擦写保护以4K 字节为单位,IAP 擦写之前需要先看相应扇区的擦写保护是否使能,没有使能擦写保护才能进行 IAP 的擦写。若对应4K 字节空间读保护被使能,但被允许擦除与写入,则可先擦除后获得该4K 字节空间的读允许,直至复位或掉电。
IAP 的读擦写保护通过上位机软件来配置,详细情况请参见HC-LINK 用户手册。
1.3 EEPROM
MCU 的 EEPROM 独立于 16K 的 FLASH ROM 外,大小是 128 字节,分成 32 个扇区,即 4 个字节为一个扇区。在对 EEPROM 进行读擦写操作时,需要将 INSCON 寄存器的第 7 位 EEPROM 置 1,第 4 位 IAPS 置0,使数据指针指向EEPROM 操作区域。写 EEPROM 之前必须先进行一次 IAP 擦除操作,IAP 一次擦除一个扇区(4 字节),IAP 擦除时的地址寄存器可以是扇区里的任意地址。IAP 写EEPROM 是单字节写,每次写一个字节。
IAP 擦除EEPROM 一个扇区的时间是 5ms,IAP 写EEPROM 一个字节的时间是 68us。
1.4 OPTION
在 16K 的 ROM 之外还有一个只读的 OPTION 区域,存放的内容包括:用户定义的一些数据、用户设置的密码、芯片的一些配置、第二复位向量相关的内容。
PWM 特性
3组带死区互补PWM或6路独立PWM输出
12位PWM
提供每个PWM周期溢出中断,但中断共用同一向量入口
输出极性可选择
提供出错帧测功能可紧急关闭PWM输出
PWM工作时钟源可设定时钟分频比
PWM可做定时器/计数器使用
MCU集成了三个12位PWM模块PWM0、PWM1和PWM2,三个模块各有一个计数器,PWM0的计数器由PWM0_EN来控制,只要使能PWM0_EN,计数器就会启动,计数器的时钟源通过PWM0C控制寄存器里的CK0来选择。当需要从芯片管脚输出PWM波形时,还需要使能PWM0_OEN或PWM01_OEN,同时需要将端口设置为强推挽模式。
如果不希望从芯片管脚上输出PWM波形,可以不用使能PWM0_OEN或PWM01_OEN,这时候PWM0的计数器可以当一个定时器来使用,当计数器溢出时,如果中断允许也会产生PWM中断。/规格资料+V stevenmicro索取/如果EFLT0置1,PWM0输出和其互补输出可由FLT0引脚输入信号变化自动关闭。一旦检测到FLT0引脚输入有效电平,PWM输出会立即关闭,但PWM内部计数器仍在继续运行,这样方便在FLT0引脚错误去除后继续PWM输出。在FLT0输入信号有效期间,FLT0S位无法清除。只有当FLT0输入信号消失后,才能软件清除FLT0S状态位,此时PWM恢复正常输出。
PWM0故障检测端口FLT0(P0.0端口)具有消抖功能,用户可根据需要设置合适的消抖时间。配置FLT0的消抖时间即配置端口P0.0的消抖时间,设置方法详见端口消抖控制寄存器 P00DBC、P01DBC、P02DBC章节。
三个PWM模块的功能及操作完全一样,用户可通过控制寄存器产生3路带死区互补的PWM或6路单独的PWM输出。3个PWM模块共用一个中断向量入口,但有各自的控制位及标志位,方便用户定时修改PWM模块下一次循环的周期或占空比。 |