基于Freescale单片机的电池管理系统设计
2. 3 均衡模块
根据实时采集的数据,当电池管理系统认为某一单体电压BATn 需要均衡时,给出均衡控制信号EQ _CT RLn ,光耦闭合,MOS 管导通,均衡电路启动,如图6 所示。
图6 均衡电路
2. 4 CAN 通信模块
CAN 通信是整车与BMS 之间、BMS 主控制模块和子模块之间的信息桥梁。子模块将采集到的单体电压和温度值通过CAN 总线上传给主控模块,主控模块通过CAN 总线给子模块下达均衡命令; 主控模块将电池参数发送给整车,整车控制器通过判断决策能量分配。Freescale 9S12 系列单片机已经集成CAN 模块MSCAN,外扩引脚CANTX 和CANRX。还需要PCA82C250 来作为驱动芯片,如图7 所示。
图7 CAN 通信接口电路
3 分布式电池管理系统的软件设计
电池管理系统软件以CodeWarrior for HCS12V4. 7 为开发环境,采用C 语言编写,包括了主控制模块和子模块两个部分的软件设计。
3. 1 主控制模块
主控制模块的任务主要有: A/ D 转换与数据处理任务、整车CAN 接收任务、整车CAN 发送任务、系统监控任务、SOC 与能量估算任务以及均衡处理任务。中断有:A/ D 采集中断、定时器下溢中断、CAN 接收中断。
如图8 所示,系统初始化工作完成后,软件以模/ 数减法计数器的下溢中断来确定系统的执行周期,计数周期为5 ms。在模/ 数计数器前一次下溢中断程序中,选择电压采集通道,并查询整车CAN 接收; 经5 ms 在本次下溢中断到来后,中断服务程序进行A/ D 转换的启动,转换完成进入A/ D 中断,开启其他任务的执行,如此循环交替进行。根据整车控制策略,CAN 上的电池状态数据每帧的刷新周期为10 ms,因此设置下溢中断的时钟节拍为5ms,相应地,以上所有任务的执行周期均为10 ms。
图8主控制模块软件时序图
3. 2 子模块
子模块的任务主要有: A/ D 转换与数据处理任务、内部CAN 接收任务、内部CA N 发送任务、以及均衡执行任务。中断有: A/ D 采集中断、定时器下溢中断。
如图9 所示,软件以模/ 数减法计数器的下溢中断来确定系统的执行周期,计数周期为2. 5 ms。在模/ 数计数器前一次下溢中断程序中,选择电压采集通道,并查询内部CAN 接收; 经2. 5 ms 在本次下溢中断到来后,中断服务程序进行A/ D 转换的启动,转换完成进入A/ D 中断,开启其他任务的执行,如此循环交替进行。其中,根据协议,内部CAN 发送任务为保证周期为10 ms,要间隔一次A/ D 转换后才启动,其他任务执行周期则为5 ms。
图9 子模块软件时序图
4 结 论
基于Freescale 单片机的分布式电池管理系统,用集成A/ D 转换模块实现实时数据采集,同时均衡控制功能还解决了电池单体电压不均衡造成的过充问题。Freescale 9S12 系列单片机强大的数据处理功能,丰富的外围接口和良好的电磁兼容性满足了混合动力汽车电池管理的所有要求,在实际中得到了良好的效果。
评论