(一) ECU端协议栈实现代码:协议栈软件实现ECU故障诊断通信、程序下载(重编程)功能,与现有ECU应用程序无缝集成,并不影响现有ECU的应用算法,提供源代码以及模型接口配置软件——ECUCoder,兼容基于UDS on CAN的常见第三方通用诊断设备。
(二) 诊断软件(可选):本项目所开发的软件是基于以诚为本赢在信誉9001cc的软件工具——MeCa,并与CAN总线接口卡USBCANII绑定使用,通过国际通用诊断协议(UDS),具有ECU故障诊断通信和程序下载(重编程)功能。
(三) 相关服务,包括:测试用例、集成开发、培训和技术支持。
—— 详细内容
ECU端协议栈实现代码,软件架构如图所示,包括以下四个部分的开发内容:
1)CAN Driver – CAN驱动:用于对CAN控制器与收发器的初始化和收发操作;
根据本项目的通信需求,CAN驱动模块需具备以下功能:
• 初始化CAN控制器
• 发送CAN报文
• 设置CAN控制器模式
• 提供中断和轮询两种处理方式
• 提供使能/禁止CAN控制器硬件中断
• 接收CAN报文的指示通知
• 发送CAN报文的确认通知
• 总线关闭(BusOff)处理
• 唤醒(WakeUp)处理
• CAN控制器模式跳转处理
负责对CAN驱动模块进行配置,并提供面向目标电控单元的集成服务。
2)Transport Layer – 传输层:负责将诊断层的数据拆包(将长度超过8字节的数据,拆分为多个数据包,再由CAN总线发出)和打包(拆包的逆过程)。
主要功能如下:
• 传输单包和多包报文;
• 提供接收指示和发送确认通知机制;
• 提供错误和超时监测机制以及相应的通知机制。
3)Diagnostics Layer – 诊断层:用于数据的标定和故障信息处理,即接收到工具的标定命令后,诊断层将向应用程序提出数据读取/修改的请求,由应用程序完成数据操作;
主要功能如下:
• 管理诊断数据流(即,诊断请求/响应);
• 管理诊断状态,如诊断会话和安全状态;
• 实现诊断应用层相关定时参数P2/P2ext/S3 ;
• 支持ISO 15765-3/ISO14229-1诊断服务;
• 提供与应用程序相关联的诊断服务。
4)FlashBootloader – 完全满足ISO 15765规范的FlashBootloader程序在线刷写方案,Bootloader模块基于ISO 15765-2、ISO 15765-3标准开发,各功能模块软件架构如下图中所示,用于应用程序(Application)的下载。
5)ECUCoder模型接口配置软件
用于基于模型开发的应用软件接口配置和标准化诊断数据格式工程文件(ODX)的生成。
诊断软件(可选):
• 诊断软件与ECU协议栈软件统一参数显示、程序下载(重编程)流程、故障处理等,实现对ECU的以下功能:
※ 参数显示
※ 故障诊断通信
※ 程序下载(重编程)
• 用户通过参数配置界面,实现:
※ 配置上下位机通信
※ 实时监测ECU内部变量值及其变化曲线
• 用户通过故障诊断界面,实现:
※ 读取ECU存储故障码
※ 清除ECU存储故障码
• 用户通过程序下载(重编程)界面,实现:
※ 将Flash驱动、应用程序通过CAN通信下载到ECU的RAM、Flash或EEPROM中
※ 在多个ECU组成的CAN网络上,当前ECU的应用程序的下载更新
• 支持的CAN通信适配器:
※ USBCANII
※ Kvaser(可选)
※ Value CAN(可选)
相关服务
1)测试用例
提供面向各种用户需求的测试用例,兼容总线工具CANoe、DTS、Vehicle SPY等。
2)代码集成与交付
根据客户的需求,我们会帮助客户做好以下工作:
• 软件与用户硬件平台的集成(可选)
• 诊断软件与用户应用软件的集成(可选)
• 驱动与用户应用软件的集成(可选)
• 源代码的交付
• 提交过程文档和使用说明
3)培训(定制)
在集成服务的过程中,为了使用户能够更好的掌握代码和工具的使用,我们会提供相关的知识培训,包括原理,集成方法,工具使用方法等。
4)技术支持
提供软件源代码的技术支持,支持方式包括邮件、电话沟通和现场服务等。