BMS软件架构及开发流程设计.pdf
勿以恶小而为之,勿以善小而不为。——刘备
页码:1/7
BMS软件架构及开发流程设计
摘要:通过优化BMS软件架构,从而实现驱动层、操作系统、应用层模块化
管理。并在系统软件开发过程中采用V型开发模式,使用快速原型开发工具实现
软硬件开发同步进行,独立测试。从而大大缩短了电池管理系统的开发周期、提
高代码可靠性和可维护性、便于算法升级。
关键词:锂电池电池组BMS软件架构V型开发
1前言
当前新能源锂电池行业发展迅速,在锂电池组系统的应用领域越加广泛的同
时,对其综合性能也随之提出了更高的要求。而电池组管理系统(BMS)作为电
池系统的核心单元,在提高系统性能、保障产品安全、提升用户体验等方面起到
了关键的作用。尤其是在BMS软件算法层面的研究突破将成为未来电池厂商核心
技术的关键。因此如何优化BMS软件架构从而满足如今日益大型化、复杂化的
BMS系统需求;同时电池组系统在航天、新能源汽车等高尖端领域的应用对系统
软件的安全性、稳定性、开发效率都有了更严格的要求,如何采用科学的开发流
程提高系统可靠性成为了当前系统开发面临的最重要的问题之一。
2软件架构
作为锂电池组系统的生产制造商,基于电池组系统的核心算法以及电池管理
策略应是我们的核心竞争力。因此研发团队的工作重心应落在电池应用层面的研
究、开发及测试。而早期设计的BMS软件架构采用面向过程的应用执行体系,导
致代码复用度低、函数相互之间耦合度高、代码移植性差等问题,无法满足功能
不断扩展、算法更加庞大的BMS软件需求;研发团队不得不将大量时间投入驱动
与应用之间的调试,增加了项目需求实现难度。
下图为采用了分层模式的新一代BMS软件架构。将API函数标准化、应用任
务化,保障了系统的可扩展性和稳定性。
勿以恶小而为之,勿以善小而不为。——刘备
页码:2/7
APPOS
APPs
应用层操作系统
Interaction
ReprogramUDSCCPCAN-IL
交互层
Driver
AnalogI/OFlasheepromCAN
驱动层
Hardware
在分层的软件架构中,每一层向它的上一层提供服务,同时使用它的下一
层提供的服务。
驱动层:
驱动层是连接底层硬件和应用层函数的纽带,将底层硬件的操作抽象地进行
功能封装。有了驱动程序模块,就可以把应用层设计与底层硬件结构分离开来。
硬件的改变、删除或添加,只需随之改变驱动层中相应的驱动程序即可,而不会
影响到应用层功能。
交互层:
交互层主要实现了驱动层与应用层之间的信息交互,既要访问驱动层获取其
提供的服务,同时为应用层提供可用的功能。例如将底层采集到的模拟量信号转
换为应用层算法中调用的实际数值;或是将应用层发送的指令转换为底层驱动的
I/O操作。
应用层: