1、LT6813采用内部均衡的原理
2、平衡控制结构体
根据数据库中读取的控制值设置平衡。要为单元设置平衡,必须将相应的位写入配置寄存器中。LTC 驱动程序仅执行数据库中 BMS 写入的数据。
参数
ltc_state | LTC 状态机的状态 |
pSpi接口 | 指向 SPI 配置的指针 |
pTxBuff (英语) | 传输缓冲区 |
pRxBuff | 接收缓冲区 |
帧长度 | 要传输的字数 |
registerSet | 寄存器集,0:单元格 1 至 12 (WRCFG),1:单元格 13 至 15/18 (WRCFG2) |
字符串编号 | 已寻址的字符串 |
状态机转换
基于条件的状态转换,取决于 retVal。如果 retVal STD_OK,则在经过timer_ms_ok后,LTC 状态机将转换为 state_ok 和 substate_ok,否则在 timer_ms_nok 后,状态机将转换为 state_nok 和 substate_nok。根据 retVal 的值,将调用相应的诊断条目。
参数
ltc_state | LTC 状态机的状态 |
retVal | 条件,以确定状态机是转换为 OK 还是 NOK 状态 |
diag代码 | 用于诊断输入的符号 ID,如果 retVal STD_OK,则用 DIAG_EVENT_OK 调用,否则DIAG_EVENT_NOT_OK DIAG_EVENT_NOT_OK |
state_ok | 如果 retVal 为 STD_OK,则要转换为状态 |
substate_ok | 如果 retVal 为 STD_OK,则转换为子状态 |
timer_ms_ok | 过渡到state_ok,substate_ok timer_ms_ok过后 |
state_nok | 如果 retVal 为 STD_NOT_OK,则要转换为状态 |
substate_nok | 如果 retVal STD_NOT_OK,则要转换为子状态 |
timer_ms_nok | 过渡到state_nok,timer_ms_nok过后substate_nok |
3、均衡控制逻辑
程序通过ltc_state->substate 的状态做轮询处理
获取retVal的当前状态值
均衡前确保AFE不是处于电压采样模式
12串以上的电芯均衡
均衡结束
4、均衡状态反馈
将测得的平衡反馈值存储在数据库中。此函数将在 LTC 的 GPIO3 上测量的全局平衡反馈值存储到数据库中