快速体验
- 打开 InsCode(快马)平台 https://www.inscode.net
- 输入框内输入如下内容:
创建一个新能源汽车电池管理系统(BMS)的AUTOSAR实现案例。包含:1. 符合ASIL-D等级的软件架构设计 2. 完整的BSW模块配置(包括NVM、DCM、DEM等) 3. 基于CDD的电池算法集成方案 4. AUTOSAR工具链集成演示。要求使用DeepSeek模型生成ARXML描述文件,并自动导出Vector Davinci配置工程。- 点击'项目生成'按钮,等待项目生成完整后预览效果
从零构建AUTOSAR ECU:某新能源车BMS开发实战
最近参与了一个新能源汽车电池管理系统(BMS)的开发项目,用AUTOSAR标准实现了符合功能安全要求的电子控制单元。整个过程充满挑战但也收获颇丰,记录下关键步骤和经验,希望对同行有所帮助。
项目背景与需求分析
这个BMS项目是为某款量产新能源车型开发的,核心需求包括:
- 实时监控电池组电压、电流和温度
- 估算电池荷电状态(SOC)和健康状态(SOH)
- 实现电池均衡管理
- 符合ASIL-D功能安全等级
- 支持OTA远程升级
软件架构设计
ASIL-D安全等级实现:按照ISO 26262标准,将软件划分为ASIL-D和QM两个部分。关键安全功能如过压保护放在ASIL-D分区,非关键功能如数据记录放在QM分区。
分层架构:严格遵循AUTOSAR的分层架构:
- 应用层:包含电池算法和车辆接口
- RTE层:负责组件间通信
- BSW层:基础软件模块
MCAL层:微控制器抽象
内存分区:为不同安全等级的功能分配独立内存区域,防止内存越界访问。
BSW模块配置
基础软件配置是AUTOSAR开发的重点和难点:
- NVM配置:使用NvM模块管理电池参数和故障码的存储。配置了三种存储块:
- 静态配置参数(只读)
- 动态校准参数(可读写)
故障诊断数据(循环存储)
DCM模块:实现UDS诊断协议,支持标准诊断服务如:
- 读取故障码(0x19服务)
- 读写数据(0x22/0x2E服务)
编程会话控制(0x10服务)
DEM模块:配置了50多个故障事件,每个事件关联:
- 故障码(DTC)
- 严重等级
- 存储条件
- 恢复策略
电池算法集成
电池算法作为CDD(Complex Device Driver)集成:
- SOC估算:采用安时积分+开路电压校正的混合算法
- SOH估算:基于内阻和容量衰减模型
- 均衡控制:主动均衡策略,最大均衡电流2A
- 热管理:三级温度预警和保护机制
通过RTE接口将算法与BSW模块连接,确保数据交换符合AUTOSAR标准。
工具链集成
项目使用了完整的AUTOSAR工具链:
- 架构设计:使用Enterprise Architect绘制软件架构图
- ARXML生成:基于DeepSeek模型自动生成ARXML描述文件
- 配置工具:用Vector Davinci Configurator导入ARXML并生成配置工程
- 代码生成:Davinci Developer生成BSW模块代码
- 集成编译:使用Green Hills MULTI编译整个工程
开发经验总结
- ARXML管理:ARXML文件版本控制很重要,建议使用Git管理
- 接口验证:RTE接口要尽早验证,避免后期大规模修改
- 内存优化:AUTOSAR堆栈占用较大,需要精细配置
- 测试策略:采用MIL-SIL-HIL三级测试流程
整个项目从设计到验证历时6个月,最终产品通过了功能安全认证并实现量产。AUTOSAR标准虽然学习曲线陡峭,但确实能提高软件质量和开发效率。
平台体验
在InsCode(快马)平台上可以快速体验AUTOSAR开发流程,它的AI辅助功能能帮助生成基础配置代码,大大减少了初期搭建环境的时间。特别是对于需要持续运行的汽车电子项目,平台的一键部署功能让demo验证变得非常简单。
实际使用中发现,即使是没有AUTOSAR经验的新手,也能通过平台的引导快速理解基础概念。内置的代码编辑器和实时预览功能让调试过程更加直观,省去了本地搭建复杂开发环境的麻烦。
快速体验
- 打开 InsCode(快马)平台 https://www.inscode.net
- 输入框内输入如下内容:
创建一个新能源汽车电池管理系统(BMS)的AUTOSAR实现案例。包含:1. 符合ASIL-D等级的软件架构设计 2. 完整的BSW模块配置(包括NVM、DCM、DEM等) 3. 基于CDD的电池算法集成方案 4. AUTOSAR工具链集成演示。要求使用DeepSeek模型生成ARXML描述文件,并自动导出Vector Davinci配置工程。- 点击'项目生成'按钮,等待项目生成完整后预览效果