无标题文档
 
sales@ecucoder.com
400-685-6859
 


UDS

诊断协议栈主要包括硬件驱动,传输层,诊断服务层。

 

——诊断协议概述

       随着汽车电子飞速的发展,不同的ECU设备作为网络节点介入车载网络,为保障车载网络的通畅及通讯协议的正确性, 需针对车辆通信网络进行基于通信协议的诊断测试。从诊断检测机制的层次看,ECU内部的诊断检测机制由上层应用决定,而ECU外部通信的诊断通过诊断工具和目标ECU基于诊断协议的交互实现。为了实现诊断设备和ECU之间的通信机制和一定功能,制定的一整套从物理层到上层应用的协议叫做通讯诊断协议栈。

       诊断协议栈主要包括硬件驱动,传输层,诊断服务层。

本项目提供用于满足ECU故障诊断协议和程序下载(重编程)功能需求的诊断系统,需完成上下位机软件的开发:
       下位机软件:ECU中运行的协议栈软件,包括通信协议栈和FlashBootloader软件,属于嵌入式软件开发;
       上位机软件:诊断软件。

本项目遵循的国际标准诊断协议,包括:

       ISO 14229 Road vehicles — Unified diagnostic services (UDS) — Specification and requirements
       ISO 15765-1 Road vehicles — Diagnostics on Controller Area Networks (CAN) — Part 1: General information
       ISO 15765-2 Road vehicles — Diagnostics on Controller Area Networks (CAN) — Part 2: Network layer services
       ISO 15765-3 Road vehicles — Diagnostics on Controller Area Networks (CAN) — Part 3: Implementation of unified diagnostic services (UDS on CAN)
这套协议在全球汽车行业中普遍采用,内容完善、可靠并且通用性好。


 

——解决方案

       根据用户基于UDS on CAN控制器诊断功能开发需求,采用华海科技解决方案,包括三部分内容:ECU端协议栈实现代码,诊断软件及测试用例。根据ECU采用的主芯片、通讯总线类型和通讯协议等具体需求对协议栈进行裁剪和组合配置。

 
(一)  ECU端协议栈实现代码:协议栈软件实现ECU故障诊断通信、程序下载(重编程)功能,与现有ECU应用程序无缝集成,并不影响现有ECU的应用算法,提供源代码以及Simulink模型接口配置软件——ECUCoder,兼容基于UDS on CAN的常见第三方通用诊断设备。
(二)  诊断软件(可选):本项目所开发的软件是基于华海科技的软件工具——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)     Simulink\ECUCoder模型接口配置软件
用于基于Simulink模型开发的应用软件接口配置和标准化诊断数据格式工程文件(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)
     技术支持
提供软件源代码的技术支持,支持方式包括邮件、电话沟通和现场服务等。

 
 
 
 
  咨询服务
  开发咨询
  测试服务
  功能安全
 
  培训支持
  资料下载
  视频中心
  培训中心
  案例分享
 
  新闻动态
  公司新闻
  产品动态
  市场活动
 
  关于我们
  关于华海
  联系我们
  加入我们
  荣誉资质
 


扫一扫关注微信公众号
Copyright 2011-2018   Huahai Technologies Co., Ltd. All Rights Reserved.     京ICP备18029638号-1   TEL:400-685-6859  网站技术支持:3A设计