0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何搭建UDS诊断帧发送环境

汽车ECU开发 来源:CSDN技术社区 作者:汪汪队睡大覚 2022-10-11 10:17 次阅读

昨天写了分享了CANOE的基本使用方法(CANOE基本使用教程),其中也简单的介绍了其中诊断功能,今天来详细分享一下,CANOE诊断这一块。

搭建UDS诊断帧发送环境

UDS诊断帧发送环境与上一张CAN帧相同,也分为手动添加和Cdd文件导入两种方式。

■手动方式添加诊断帧

1. 添加一个 BasicDiagnosticECU

85f59028-4902-11ed-a3b6-dac502259ad0.png

2. 添加后如下

8610bf74-4902-11ed-a3b6-dac502259ad0.png

ECU qualifier : 使用CAPL脚本发送UDS诊断数据时会使用到,手动发送诊断帧不需要关注

Diagnostics tester : 选择物理请求还是功能请求。默认选择 物理请求

关于物理请求和功能请求的区别,后续会在UDS 专栏中单独介绍

3. 设置 Transport Layer参数

864ef8a2-4902-11ed-a3b6-dac502259ad0.png

Request to ECU : ECU物理寻址Req ID

Response from ECU : ECU 物理寻址Res ID

Functional to ECU : 功能寻址 Req ID

STmin : TP层协议参数,两包连续帧发送的间隔

BlockSize : TP层协议参数,收到流控帧后可发送连续帧数量。设置为0时,发送数量无限制

FC Delay : CANOe 收到 首帧或连续帧后,回复流控帧的延迟时间。目的是防止CANoe的流控帧回复过快,导致接收端接受失败。

Max.Length : 一帧最大传输数据量(首帧+连续帧)

Mixing of CAN2.0 and FD frames : 是否兼容CAN帧和CAN-FD帧。

Ignore : 默认值, 不兼容,例如配置为CAN帧时,CANOe不接受CAN-FD帧,配置为CAN-FD帧时,也一样。

Accecpt : 兼容,例如配置为CAN帧时,CANOe可以接受CAN-FD帧,返回CAN帧。

Adapt : 兼容,例如配置为CAN帧时,CANOe可以接受CAN-FD帧,并且能返回CAN-FD帧。

上记解释参照自CANOe帮助文档

8671975e-4902-11ed-a3b6-dac502259ad0.png

4. 配置 Diagnostic Layer参数

87356864-4902-11ed-a3b6-dac502259ad0.png

Send test present : CANOe是否自动发送3E 服务,用于Session保持

S3 Client time : CANOe 自动发送3E服务的间隔

S3 Server time : 下位机程序 未收到 任何诊断请求,保持在Default以外的Session的最大时间

P2 Server : 下位机程序 收到Request 到 开始回复 Response 的时间间隔

P2 Client : 上位机程序 发送完Request 到 收到 回复 Response 的时间间隔

P2 extended Server : 下位机 发送完NRC78 到下一次回复Reponse的时间间隔

P2 extended Client : 上位机收到 NRC78 到 收到下一次回复 Response的时间间隔

Seed&Key DLL : 用于27服务解锁,调用。dll自动计算Key的值,该.dll文件由车厂或Tier1 提供

5. Additional Descriptions 不需要配置

6. 添加需要的诊断服务 (以$10 02 ProgrammingSession为例 )

a. 点击Basic Diagnostic ,打开 面板

874446ea-4902-11ed-a3b6-dac502259ad0.png

b. 右键要添加的服务,选择[Add New Service]

875fecce-4902-11ed-a3b6-dac502259ad0.png

c. 配置子服务的Req

876f7108-4902-11ed-a3b6-dac502259ad0.png

Service Name : CAPL编程时会使用,手动发诊断数据不需要关注。

d.配置Response

87b0e7c8-4902-11ed-a3b6-dac502259ad0.png

按照期待的格式在 [Parameters] 中追加或删除参数。

7. 打开 Diagnostic Console

87c38572-4902-11ed-a3b6-dac502259ad0.png

8. 点击[Start] ,在Diagnostic Console中发送刚才添加的诊断命令

883d7274-4902-11ed-a3b6-dac502259ad0.png

■Cdd导入方式添加诊断帧

实际项目时,车厂或者Tier1会输入cdd文件,集成了所有用到的诊断命令。

通过cdd发送诊断帧的方式如下

1. 导入cdd文件

885df2f6-4902-11ed-a3b6-dac502259ad0.png

cdd导入后,相关参数都是配置好的,不需要手动修改。导入后配置如下

88905b7e-4902-11ed-a3b6-dac502259ad0.png

892e90aa-4902-11ed-a3b6-dac502259ad0.png

89800b74-4902-11ed-a3b6-dac502259ad0.png

89ad78ca-4902-11ed-a3b6-dac502259ad0.png

2. 可以看到,cdd导入后, Diagnostic console中已经有了诊断命令

89c7aa74-4902-11ed-a3b6-dac502259ad0.png

3. 按照手动发送诊断帧的方式即可发送。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN
    CAN
    +关注

    关注

    56

    文章

    2467

    浏览量

    459239
  • CANoe
    +关注

    关注

    3

    文章

    56

    浏览量

    8465

原文标题:CANoe诊断功能使用

文章出处:【微信号:eng2mot,微信公众号:汽车ECU开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    UDS在CAN和以太网上的实现方案

    JTAG是针对MCU或者SOC这种芯片的调试接口协议,而UDS更像是针对整个ECU的调试接口。UDS简单来说是一种Client/Server的通信服务,即Tester(诊断仪)向ECU发送
    发表于 11-28 09:56 1118次阅读
    <b class='flag-5'>UDS</b>在CAN和以太网上的实现方案

    汽车故障诊断UDS网络层原理讲解

    汽车故障诊断 UDS(Unified Diagnostic Service)是利用ECU监测控制系统各组成部分的工作情况,发现故障后自动启动故障记录和处理逻辑。
    发表于 01-24 12:37 654次阅读
    汽车故障<b class='flag-5'>诊断</b><b class='flag-5'>UDS</b>网络层原理讲解

    谁能帮我解答下CAN总线中的UDS诊断

    谁能帮我解答下CAN中的UDS诊断?需要联系请私信我。遇到好多难题。有点懵。想请高手帮我解答下.主要是没有程序。而且还不知道报文里面的数据代表什么?
    发表于 10-21 23:14

    Labview LIN诊断程序怎么实现多发送和响应判断?

    请问谁有用Labview写LIN诊断程序的经验呀?我现在想实现多发送,响应判断,不知道怎么实现好!
    发表于 12-02 11:55

    UDS诊断命令备忘录

    UDS实践性强,逻辑复杂,很多服务非要体验过一次才能理解,导致包括我在内的初学者感觉晦涩难懂,不明觉厉,因此将自己的理解写下来、整理下来,与君共勉。零、UDS诊断命令备忘录一、简介UDS
    发表于 08-26 16:09

    OBDII与UDS的区别是什么

    PrimaryECU在已经开发完UDS诊断的基础上增加OBD II诊断一、OBD II与UDS的区别?这里主要介绍在诊断开发上面OBD II
    发表于 02-23 06:55

    基于MM32F0140系列MCU实现UDS Bootloader的设计

    位标识符的标准,也可以接收和发送 29位标识符的扩展,主要被设计用作车载串行总线,可满足实时处理、车辆在电磁干扰环境下的可靠操作、成本效益、带宽等要求。  什么是
    发表于 09-15 16:35

    零基础快速实现pyhton 控制CAN通信UDS诊断功能

    ;)bus.shutdown()效果如图:本验证是通过两个USBCAN实现。如模拟ECU端不发送应答诊,程序会报告详细的警告信息。通过上述代码既通过USBCAN发送报文到ECU。参数等设置可以通过在线文档查找到函数
    发表于 04-16 20:27

    【野火】瑞萨RA MCU创意氛围赛+ 基于CAN总线的UDS诊断升级MCU /bootloader/UDS诊断/14229/15765

    基于can总线的UDS软件升级 最近学习UDS诊断协议(ISO14229),是一项国际标准,为汽车电子系统中的诊断通信定义了统一的协议和服务。它规定了与
    发表于 06-13 01:26

    UDS诊断协议在纯电动汽车电机控制器中的应用说明

      针对UDS诊断协议在电动汽车电机控制器中的应用问题,利用UDS诊断协议中各项服务的功能,同时根据电机控制器的功能需求,实现UDS
    发表于 04-02 17:16 8次下载

    汽车电子ECU环境的零、UDS诊断命令备忘录

    UDS(Unified Diagnostic Services,统一的诊断服务)诊断协议是在汽车电子ECU环境下的一种诊断通信协议,在ISO
    的头像 发表于 12-09 09:49 4505次阅读

    UDS常用诊断服务

    UDS诊断概述 UDS(Unified Diagnostic Services,统一的诊断服务)诊断协议是在汽车电子ECU
    的头像 发表于 06-12 10:36 4421次阅读
    <b class='flag-5'>UDS</b>常用<b class='flag-5'>诊断</b>服务

    UDS诊断服务响应规则介绍

    15031,ISO 15765,还有我们熟悉的ISO 14229就是UDS协议,在协议里面定义了诊断的请求,诊断响应的报文格式,以及ECU怎样处理诊断请求报文,以及
    的头像 发表于 08-15 17:00 2079次阅读
    <b class='flag-5'>UDS</b><b class='flag-5'>诊断</b>服务响应规则介绍

    基于CAN总线的UDS诊断Bootloader升级MCU工具

    今日跟大家分享参加野火【瑞萨RA MCU创意氛围赛】选手的项目——基于CAN总线的UDS诊断Bootloader升级MCU工具。
    的头像 发表于 08-21 14:01 1094次阅读
    基于CAN总线的<b class='flag-5'>UDS</b><b class='flag-5'>诊断</b>Bootloader升级MCU工具

    汽车UDS协议栈与XCP协议栈

    UDS协议栈 汽车UDS协议栈是一种用于汽车电子控制单元(ECU)之间进行诊断和通信的标准协议。UDS(Unified Diagnostic Services)协议定义了一组
    的头像 发表于 10-27 16:35 2162次阅读
    汽车<b class='flag-5'>UDS</b>协议栈与XCP协议栈