微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于μC/OS-II+CPLD的电动车电池管理系统设计

基于μC/OS-II+CPLD的电动车电池管理系统设计

时间:09-14 来源: 点击:

LF2407满足μC/OS-II移植的条件。TI公司提供的编译软件CCS也支持C语言与汇编语言混合编程。要完成移植的工作需要进行以下4个内容:

  ◇在OS_CPU.H中定义与处理器相关的常量、宏及数据类型。

  ◇调整和修改头文件OS_CFG.H,以裁减或修改μC/OS-II的系统服务,减少资源损耗。

  ◇编写C语言文件OS_CPU.C。

  ◇编写汇编语言文件OS_CPU.ASM。

  上述工作完成后,μC/OS-II就可以运行了。

  2.2 应用软件设计

  2.2.1 系统多任务功能和优先级设计

  根据电池管理系统的功能要求,将系统分为电压电流采集处理模块、温度采集模块、通信模块、系统监视模块和SoC计算模块等共8个任务和5个中断来实现。每个任务根据其实时性的要求并参照单调执行率调度法RMS分配一定的优先级。任务及中断的定义分别如表l、表2所列。

  根据整车控制策略,CAN上电池状态数据每帧的刷新周期为20ms,故设置操作系统时钟节拍为20ms;相应地设置ADProsTask()、CANTXDTask()、SOCTask()和MoniTask()的执行周期均为20 ms;考虑到电池组的温度变化相对较慢,同时温度传感器DS18820的温度转换时间相对较长,设置TempTask()的执行周期为100ms;CANRXDTask()和SCIRXDTask()的执行采用中断触发方式;SCITXDTask()由上位机的启动和停止信号控制执行,执行周期为40 ms。

  应用软件设计的难点在于,可靠地设计固态继电器阵列(TLP296)的时序逻辑。由于TLP296存在最大4ms的打开和关断时间,因此必须设计死区时间,以确保在采集电池模块电压时,电池不会发生短路;同时还要保证在A/D转换之前,采样通道(即相应的TLP296)完全打开。所以利用了DSP的Timerl下溢中断配合系统时钟周期来有效地控制CPLD的时序。整体工作的时序逻辑如图3所示。

  2.2.2 任务间的通信与同步

  μC/OS-II提供了5种用于数据共享和任务通信的方法:信号量、邮箱、消息队列、事件标志及互斥型信号量。为了减少操作系统的开支,在电池管理系统应用软件设计中只利用了其中的邮箱作为任务间的通信手段,如图4所示。


电池管理系统的核心是以数据采集为基础的,所以ADProsTask()是其他任务的前提。通过ADC中断向邮箱1发消息就绪ADProsTask(),待其执行完后相应的数据保存和处理后向邮箱2发消息就绪其他等待数据的任务,其他任务按照优先级依次执行;温度采集和处理的任务独立进行;CAN接收任务和SCI任务是在相应的邮箱中得到消息后执行,消息也是由相应的中断服务程序发出。

  结语

  电池管理系统采用了DSP+CPLD的结构,加之相应的抗干扰措施,具有性能高、可靠性强的特点。由于内嵌μC/OS-II,使程序的开发周期大大缩短,增强了系统的可维护性和扩展性,在实际的应用中取得了良好的效果。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top