电池管理系统BMS(Battery Management System)是电动汽车的一项关键技术。高性能、高可靠性的电池管理系统能使电池在各种工作条件下获得最佳的性能。电池管理系统可实时监测电池状态,如电池电压、充放电电流、使用温度等;预测电池荷电状态(State of charge),防止电池过充过放,从而达到提升电池使用性能和寿命,提高混合动力汽车的可靠性和安全性的目的。本没计以DSP和CPLD为主体,构建电池管理系统的硬件平台,并在DSP内部嵌入μC/OS-II实时操作系统,可大大提高系统的稳定性和实时响应能力,增强系统的可扩展性和可移植性。
1 硬件系统设计
1.1 集中式电池管理系统结构
混合动力电动汽车HEV(Hybrid Electric Vehicle)要求的车载动力电池总电压一般比较高,电池节数较多。本设计所涉及的镍氢动力电池组是由270个电池单体组成的,每个单体可提供1.2V左右电压。其中每10个单体元组成一个模块,共有27个电池模块,总额定电压为324V。
采用集中式电池管理系统结构是将电池信息测量与采样模块和主控模块集中在一起,通过设计多路控制选择开关分时完成数据采集。这种设计方法具有电路简单、成本低、体积小的特点。设计的电池管理系统基本结构示意图如图1所示。
1.2 电池管理系统的硬件方案
图2为系统硬件平台。选用TI公司的TMS240LF2407(简称为“LF2407”)作为系统的CPU。其核心采用哈佛结构,具有专门的硬件乘法器;广泛采用流水线操作,可用来实现快速的数字信号处理算法,有助于提高计算电池SoC值的速度和精度;同时,片上集成了丰富的外设(如A/D转换器、SCI模块和CAN网络控制器等),可以充分发挥其资源优势。
单体电压、总电压和总电流的采集,均以CPLD为核心,通过一定的逻辑控制,控制光电开关固态继电器阵列分时导通,将采样信号经过隔离放大滤波后送入DSP的A/D转换模块中。CPLD接收由DSP发出的逻辑控制时序,控制相应的固态继电器执行导通和关断动作,分时地将各个模拟量导入A/D转换模块中。考虑到电池组总电压比较高,同时母线电流的波动幅值比较大,波动频率较快,分别选用了精度较高、响应较快的霍尔电压和电流传感器,以适应采集要求。
电池组温度的采集采用单总线的方式,传感器选用DSl8820,共设置8个温度的采集点。单总线是目前扩展最方便的总线之一,具有节省I/O口线资源、结构简单、成本低廉,便于总线扩展和维护等诸多优点。由于DS18820直接提供测量温度的数字信号,故可以直接通过DSP上的通用I/O与其通信。
在DSP的通用I/O上扩展了非易失性存储器NVRAM空间,目的是保存重要的电池历史数据,为计算和修正电池的SoC以及分析电池充放电状态提供可靠的依据。
LF2407提供的CAN通信模块符合CAN2.0的规格要求,选用飞利浦公司的CAN通信收发器PCA82C250作为DSP的CAN控制器和物理总线间接口,以实现电池管理系统与整车之间的通信;同时,扩展DSP片上的SCI模块,实现与上位PC间的通信功能。
1.3 硬件抗干扰措施
电池管理系统作为整车的一部分,经常受到各种电磁干扰。其实际的工作环境是比较恶劣的,有必要在硬件设计上采取一定的抗干扰措施。
①抑制干扰源。混合动力电动汽车上电机设备中的IGBT和功率二极管工作时,会产生很强的电磁干扰,尤其是共模干扰较为严重。因此有必要在电池组与整车之间连接高频旁路电容。
②隔离供电。由于众多的外部有源和无源信号会对系统电源产生严重干扰,因此在电池管理系统的设计中采用DC/DC变换模块,提供稳定的隔离电源,对不同子系统分别供电,可以有效地消除电源干扰和共地产生的干扰。
③光电隔离。在电池管理系统的设计中,采用光电耦合器6N137将外部通信接口(CAN通信、RS232通信)与内部CPU电路隔离开来,可以阻止电路性耦合产生的电磁干扰。
2 软件系统设计
软件系统设计包括系统软件设计和应用软件设计。系统软件设计的主要任务是实现μC/OS-II在LF2407上的移植;应用软件设计的主要任务是系统功能的实现。
2.1 系统软件设计
2.1.1 μC/OS-II简介
μC/OS-II是由美国人Jean Labrosse编写的一个嵌入式实时操作系统内核。它是一个基于优先级的、可移植、可固化、可裁剪、占先式实时操作系统,其绝大部分源码是用ANSI C编写的。μC/OS-II支持56个用户任务,支持信号量、消息邮箱、消息队列等多种常用的进程间通信机制,现已成功应用到众多商业嵌入式系统中,其稳定性与可靠性已经得到检验。
2.1.2 μC/OS-II在TMS320LF2407上的移植
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就可以运行了。[page]
2.2 应用软件设计
2.2.1 系统多任务功能和优先级设计
根据电池管理系统的功能要求,将系统分为电压电流采集处理模块、温度采集模块、通信模块、系统监视模块和SoC计算模块等共8个任务和5个中断来实现。每个任务根据其实时性的要求并参照单调执行率调度法RMS分配一定的优先级。任务及中断的定义分别如表1、表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,使程序的开发周期大大缩短,增强了系统的可维护性和扩展性,在实际的应用中取得了良好的效果。
关键字:μC OS-II 电动车 电池管理系统
引用地址:基于μC/OS-II的电动车电池管理系统设计
1 硬件系统设计
1.1 集中式电池管理系统结构
混合动力电动汽车HEV(Hybrid Electric Vehicle)要求的车载动力电池总电压一般比较高,电池节数较多。本设计所涉及的镍氢动力电池组是由270个电池单体组成的,每个单体可提供1.2V左右电压。其中每10个单体元组成一个模块,共有27个电池模块,总额定电压为324V。
采用集中式电池管理系统结构是将电池信息测量与采样模块和主控模块集中在一起,通过设计多路控制选择开关分时完成数据采集。这种设计方法具有电路简单、成本低、体积小的特点。设计的电池管理系统基本结构示意图如图1所示。
1.2 电池管理系统的硬件方案
图2为系统硬件平台。选用TI公司的TMS240LF2407(简称为“LF2407”)作为系统的CPU。其核心采用哈佛结构,具有专门的硬件乘法器;广泛采用流水线操作,可用来实现快速的数字信号处理算法,有助于提高计算电池SoC值的速度和精度;同时,片上集成了丰富的外设(如A/D转换器、SCI模块和CAN网络控制器等),可以充分发挥其资源优势。
单体电压、总电压和总电流的采集,均以CPLD为核心,通过一定的逻辑控制,控制光电开关固态继电器阵列分时导通,将采样信号经过隔离放大滤波后送入DSP的A/D转换模块中。CPLD接收由DSP发出的逻辑控制时序,控制相应的固态继电器执行导通和关断动作,分时地将各个模拟量导入A/D转换模块中。考虑到电池组总电压比较高,同时母线电流的波动幅值比较大,波动频率较快,分别选用了精度较高、响应较快的霍尔电压和电流传感器,以适应采集要求。
电池组温度的采集采用单总线的方式,传感器选用DSl8820,共设置8个温度的采集点。单总线是目前扩展最方便的总线之一,具有节省I/O口线资源、结构简单、成本低廉,便于总线扩展和维护等诸多优点。由于DS18820直接提供测量温度的数字信号,故可以直接通过DSP上的通用I/O与其通信。
在DSP的通用I/O上扩展了非易失性存储器NVRAM空间,目的是保存重要的电池历史数据,为计算和修正电池的SoC以及分析电池充放电状态提供可靠的依据。
LF2407提供的CAN通信模块符合CAN2.0的规格要求,选用飞利浦公司的CAN通信收发器PCA82C250作为DSP的CAN控制器和物理总线间接口,以实现电池管理系统与整车之间的通信;同时,扩展DSP片上的SCI模块,实现与上位PC间的通信功能。
1.3 硬件抗干扰措施
电池管理系统作为整车的一部分,经常受到各种电磁干扰。其实际的工作环境是比较恶劣的,有必要在硬件设计上采取一定的抗干扰措施。
①抑制干扰源。混合动力电动汽车上电机设备中的IGBT和功率二极管工作时,会产生很强的电磁干扰,尤其是共模干扰较为严重。因此有必要在电池组与整车之间连接高频旁路电容。
②隔离供电。由于众多的外部有源和无源信号会对系统电源产生严重干扰,因此在电池管理系统的设计中采用DC/DC变换模块,提供稳定的隔离电源,对不同子系统分别供电,可以有效地消除电源干扰和共地产生的干扰。
③光电隔离。在电池管理系统的设计中,采用光电耦合器6N137将外部通信接口(CAN通信、RS232通信)与内部CPU电路隔离开来,可以阻止电路性耦合产生的电磁干扰。
2 软件系统设计
软件系统设计包括系统软件设计和应用软件设计。系统软件设计的主要任务是实现μC/OS-II在LF2407上的移植;应用软件设计的主要任务是系统功能的实现。
2.1 系统软件设计
2.1.1 μC/OS-II简介
μC/OS-II是由美国人Jean Labrosse编写的一个嵌入式实时操作系统内核。它是一个基于优先级的、可移植、可固化、可裁剪、占先式实时操作系统,其绝大部分源码是用ANSI C编写的。μC/OS-II支持56个用户任务,支持信号量、消息邮箱、消息队列等多种常用的进程间通信机制,现已成功应用到众多商业嵌入式系统中,其稳定性与可靠性已经得到检验。
2.1.2 μC/OS-II在TMS320LF2407上的移植
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就可以运行了。[page]
2.2 应用软件设计
2.2.1 系统多任务功能和优先级设计
根据电池管理系统的功能要求,将系统分为电压电流采集处理模块、温度采集模块、通信模块、系统监视模块和SoC计算模块等共8个任务和5个中断来实现。每个任务根据其实时性的要求并参照单调执行率调度法RMS分配一定的优先级。任务及中断的定义分别如表1、表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,使程序的开发周期大大缩短,增强了系统的可维护性和扩展性,在实际的应用中取得了良好的效果。
上一篇:西门子机器视觉系统在汽车发动机装配线上的应用
下一篇:基于PWM降压转换器AP3003的车载充电器的系统设计
推荐阅读最新更新时间:2024-05-03 00:01
基于STCl2C5410AD的电动车无刷电机控制器检测
0 引言 伴随着城市化进程,人们生活的交通距离不断扩大,代替燃油汽车和自行车的电动车的普及大幅度的提高了电力资源的利用效率,促进了国民经济的健康发展。电动自行车以电力作动力,骑行中不产生污染,无损于空气质量。从改善人们的出行方式、保护环境和经济条件许可情况等因素综合来看,电动自行车目前乃至今后都有着广阔的发展空间。电动自行车所用直流电机分为有刷电机和无刷电机两种。其中有刷电机控制较简单。但其易磨损的电刷带来维修保养工作量相对较大、使用寿命相对较短等缺点。而直流无刷电机本身没有易磨损部件,电机寿命长,维修保养工作量小。但直流无刷电机采用电子换向原理工作,其控制过程比有刷电机复杂得多,因此对控制器质量的要求也高得多。 目前电动
[工业控制]
基于P89C61x2/ISP1581的USB接口电路的设计
本文主要针对传统仪器的并行接口设计了一种基于单片机的接口电路。 主要芯片介绍 本设计采用控制芯片P89C61x2和接口芯片ISP1581实现USB接口电路的设计。 P89C61x2包含1024B RAM、64KB Flash存储器、32个I/O口、3个16位定位/计数器、6个中断源-4个中断优先级-嵌套的中断结构、1个增强型UART、片内振荡器和时钟电路。此外,器件的静态设计使其具有非常宽的频率范围,可选择1MHz~12MHz的晶体振荡器。具有两个软件可选的节电模式-空闲模式和掉电模式。 USB接口芯片ISP1581是一种价格低、功能强的USB接口器件,符合USB2.0规范,并为基于微控制器或微处理器的系统提供了高速USB通信能
[应用]
51单片机16X16点阵上移C语言程序
前面已经分享了,点阵汇编语言,想信大家大部分用C语言较多了,下面我就将16X16点阵上移C语言程序分享出来,希望能帮到需要的朋友!本人此程序有经过实物测试的。并非随意弄出来的。并且有配视频效果,可以点击查看的视频祥见: http://www.tudou.com/programs/view/D0SCJyO4RBQ/ 下面是原理图,请大家祥细看看,不懂的帖子留言! #include reg52.h #define uchar unsigned char #define uint unsigned int #define LINE P0//定义行线IO口,即74HC154控制端 #define shudu 20//字移动的
[单片机]
C51学习心得体会,函数的传引用调用和传值调用方法
传值调用建立参数的一份拷贝并把它传给调用的函数,在调用函数中修改参数值的拷贝不影响原始的变量值;传引用调用允许调用函数修改原始变量的值。 C语言用指针*和间接引用运算符&模拟传引用调用,数组会自动模拟传引用调用。传引用调用可以在被调用函数中修改调用函数环境中的参数变量,传值调用保护数据。 e.g. (1)传值调用 int cubeByValue(int); main() { int num=5,result; result=cubeByValue(num); } int cubeByValue(int n) { return n*n*n; } (2)传引用调用 int cubeByValue(int *); main() {
[单片机]
TI Tiva C系列MCU简化物联网应用开发
近日,德州仪器推出业界第一款支持以太网MAC+PHY Cortex-M4的产品Tiva TM4C129x MCU,129x芯片在连接性、通信性和控制性三个方面做到了与物联网的完美契合。来自德州仪器美国总部的Tiva C系列全球产品总经理Matt Muse为记者详细讲解了129x MCU的卓越性能。Matt Muse提到了Tiva C系列的3C特性,即Connectivity、Communicate和Control,129x MCU是德州仪在物联网环境下推出的一个重磅产品,在人机界面、连接性和云端、服务器连接方面具有非常丰富的控制应用。
在连接性方面,129x是一款支持以太网MAC+PHY的Cortex-M4的芯片,由于MAC+
[单片机]
通用汽车将开发续航里程200英里的电动车
上周,通用汽车全球产品项目副总裁Doug Parks重申了去年的一项规划,未来将开发一款续航里程高达200英里(约合320千米)的纯电动车,售价仅30,000美元。
去年8月份,通用汽车宣布同Envia Systems公司合作,采用后者电池,当时通用汽车CEO丹·艾克森提及将开发一次充电行程200英里的纯电动车。今年3月,艾克森参加IHS CERA能源大会时再次确认,公司将开发200英里行程的电动车。
艾克森在演讲中表示:“电池技术将获得突破,而眼下正处于地平线上。我们正在开发两款电动车,以确认哪个方案可以成功。一款电动车续航里程为100英里,另一款为200英里。”
艾克森还重
[汽车电子]
C语言一百例第二十八例
代码: /* C语言第二十八例 题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。 程序分析:无。 */ #include stdio.h int n; int main() { int i=5; printf( 请输入5个字符: ); palin(i); //递归函数 printf( n ); } void palin(n) { char next; if(n =1) { next=getchar(); printf( 相反顺序输出结果: ); putchar(next); } else //此处递归发生 {
[单片机]
SK 海力士、三星电子有望于年内先后启动 1c 纳米 DRAM 内存量产
4 月 9 日消息,据韩媒 Businesskorea 报道,SK 海力士、三星电子有望于年内先后启动 1c 纳米 DRAM 内存的量产。 进入 20~10nm 制程后,一般以 1 + 字母的形式称呼内存世代,1c nm 即对应美光的 1-gamma nm 表述,为第六个 10+ nm 制程世代。三星方面称呼上一世代 1b nm 为“12nm 级”。 三星近期在行业会议 Memcon 2024 上表示,其计划在今年年底前实现 1c nm 制程的量产; 而近日据行业消息人士透露,SK 海力士内部已制定在三季度量产 1c nm DRAM 内存的路线图。 SK 海力士计划提前做好准备,在 1c nm 内存通过行业验证后立即向微软、亚马逊
[半导体设计/制造]