在电路中可根据整车要求决定加或不加120Ω的终端电阻。当JP201跳线接1脚和2脚时,不加电阻;当接2脚和3脚时,电阻接入。
3 电池管理模块的软件设计
电池管理模块的软件包括6个应用子程序和3个中断服务程序。6个应用子程序被封装在2个任务中,其中A/D转换处理子程序和I2C读取OZ890中的数据子程序被封装在任务1中;CAN接收子程序、CAN发送子程序、SoC估算子程序、故障诊断子程序、串口发送子程序被封装在任务2中。3个中断服务子程序包括Timerl周期中断服务子程序、Timer1下溢中断子程序、串口接收中断子程序。软件流程图如图8所示。
根据整车控制策略,CAN上电池状态数据每帧的刷新周期为10 ms,设置周期中断的时钟节拍为10ms;相应地设置以上所有应用子程序的执行周期均为10 ms。如图9所示。
系统初始化完成以后,Timel开始计时,进入系统主循环,判断任务1开始信号是否为1。由于任务1和任务2的开始信号初始化值均为0,系统等待中断发生,如图9中所示。当5 ms时,在A点发生周期中断,然后进入周期中断子程序,将任务1开始信号置1,开始执行任务1中的所有程序,执行完毕后将任务1开始信号清0。系统进入等待状态,在10 ms时发生下溢中断,进入下溢中断服务子程序,将任务2的开始信号置1,任务2开始执行,任务2所有子程序执行完毕后,任务2开始信号清0,系统进入等待状态,等待下一次中断的发生。利用周期中断和下溢中断来划分任务执行时间区域能够确定关键时间点上执行所需要的程序,保证了每一个子程序在10 ms内都被执行1次,每一个程序时间也都能通过计数器和标志位的状态来计算任务的执行时间,可以更好地分配任务的执行时间段。
4 结 语
基于OZ890的电池管理模块,在单体电压的采集精度、采集速度、硬件成本等方面都有很大优势。OZ890自带的均衡控制功能还解决了电池单体电压不均衡造成的过充问题,DSP强大的数据处理能力和高效的软件系统可以满足混合动力汽车电池管理的要求,在实际应用中取得了良好的效果。