Products
Since its founding, Huahai Technology has upheld the spirit of excellence and innovation, earning unanimous praise from customers through high-quality controller products, continuously improving development tools and comprehensive technical services.
UDS
Product Introduction
不同诊断通信协议的开发,调整,实施和维护会给车辆制造商,系统供应商和ECU供应商带来不必要的成本。为了解决此问题,将不同的技术协议和数据通信原理编译为一个国际ISO标准,通常称为统一诊断服务。
Product illustration
Functional Features

诊断协议概述

随着汽车电子飞速的发展,不同的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采用的主芯片、通讯总线类型和通讯协议等具体需求对协议栈进行裁剪和组合配置。

UDS.png

(一)  ECU端协议栈实现代码:协议栈软件实现ECU故障诊断通信、程序下载(重编程)功能,与现有ECU应用程序无缝集成,并不影响现有ECU的应用算法,提供源代码以及模型接口配置软件——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)的下载。

UDS2.png

5)ECUCoder模型接口配置软件
用于基于模型开发的应用软件接口配置和标准化诊断数据格式工程文件(ODX)的生成。


诊断软件(可选):
•  诊断软件与ECU协议栈软件统一参数显示、程序下载(重编程)流程、故障处理等,实现对ECU的以下功能:
    ※  参数显示
    ※  故障诊断通信
    ※  程序下载(重编程)

•  用户通过参数配置界面,实现:
    ※  配置上下位机通信
    ※  实时监测ECU内部变量值及其变化曲线

•  用户通过故障诊断界面,实现:
    ※  读取ECU存储故障码
    ※  清除ECU存储故障码

•  用户通过程序下载(重编程)界面,实现:
    ※  将Flash驱动、应用程序通过CAN通信下载到ECU的RAM、Flash或EEPROM中
    ※  在多个ECU组成的CAN网络上,当前ECU的应用程序的下载更新

•  支持的CAN通信适配器:
    ※  USBCANII
    ※  Kvaser(可选)
    ※  Value CAN(可选)

UDS3.png



相关服务
1)测试用例
提供面向各种用户需求的测试用例,兼容总线工具CANoe、DTS、Vehicle SPY等。

2)
代码集成与交付
根据客户的需求,我们会帮助客户做好以下工作:

•  软件与用户硬件平台的集成(可选)
•  诊断软件与用户应用软件的集成(可选)
•  驱动与用户应用软件的集成(可选)
•  源代码的交付
•  提交过程文档和使用说明

3)
培训(定制)
在集成服务的过程中,为了使用户能够更好的掌握代码和工具的使用,我们会提供相关的知识培训,包括原理,集成方法,工具使用方法等。

4)
技术支持
提供软件源代码的技术支持,支持方式包括邮件、电话沟通和现场服务等。


Fill in your email to get the latest updates.

We will keep you informed of the current use cases, new solutions and products, as well as training and events at any time. Please fill in your email address to subscribe for free.

Online message
  • *Name

  • *Company

  • *Phone

  • *Email

  • Message

Submit
Warning pop-up window