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

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

3天内不再提示

车载ECU嵌入式设备的诊断测试–读和写

上海控安 来源:上海控安 作者:上海控安 2022-10-28 15:43 次阅读

作者 | 李伟 上海控安安全测评中心安全测评部总监

来源 |鉴源实验室

引言:第四篇中我们介绍了UDS服务中的会话和安全控制,主要讲了不同模式会话间的切换逻辑,问答报文结构,安全控制的作用和等级、安全控制的解锁过程,以及这两个服务的测试注意要点等等。本篇讲述UDS中的读和写服务,读写服务几乎是工程师日常使用最为频繁的服务,特别是读服务。

01 $22读服务

$22读服务通常在默认会话下即可执行,特殊情况下,某些信息做了读取保密设计,需要在扩展会话和安全控制下才能读取该DID(Data ID)信息。

DID长度通常为16进制2个字节,范围从0x00 00至0xFF FF,每个DID代表一条对应的消息,这样我们需要知道该信息的内容时,只需要使用$22+DID既可以获取该信息内容。如:我们用DID 0xF1 90标识车辆VIN,需要知道车辆VIN具体号码信息时,向ECU发送$22 F1 90进行信息查询,即可得到内容反馈。

之前我们一直在强调UDS诊断的自定义空间比较大,在极个别项目中,我们遇到过DID长度为3个字节的情况,我们需要以实际项目研发测试过程设计为准。

1.1DID的分类

通过上面的描述我们可以理解,车辆上很多信息可以通过DID进行设计定义,通常主机厂根据信息属性不同将DID进行设计分类:

1)物流数据

物流数据中一般包含的是跟车辆和设备生产相关的固定信息。在生产过程中,零部件供应商不会一个批次完成所有零部件的生产和交付,这个过程一般是以月份或者季度为单位分批次执行,伴随着这个过程的通常还有主机产要求的VAVE等活动,因此同一个零部件也会因生产批次不同,对应的软硬件和配置信息有所不同。物流数据通常有:零部件硬件批次号、软件批次号、本设备的串号、部件号、出厂时间、制造时间、供应商硬件号、供应商软件号、ECU部件数量、ECU应用软件数量、ECU配置文件数量、车型信息、车辆VIN码等等。

2)内部属性数据

内部属性数据一般包含了ECU本身的软硬件配置相关信息,如:软件版本号、设备温度、ICCID号、IMEI号、GNSS天线状态、GNSS定位信息、NAD基本信息、NAD天线信息等等。

3)配置属性数据

配置属性数据顾名思义包含了ECU中需要进行配置的相关数据,这些数据一般情况下都可以做成模板进行复用,根据要求不一样进行模板选择,如:当前车辆的车型(同一型号的车具体有高中低等不同配置,具体到当前车辆可能发动机等配置都是有区别的)、移动通信运营商国家代码、运营商网络编码、APN拨号配置等。

4)Bitmapped I/O parameter DID和Non-Bitmapped I/O parameter DID

ECU通常会收到网络上其他设备发送的周期信号,这些信号通常可以在相应的网络上实时获取,也可以通过诊断读取,这类信号一般包含在Bitmapped和Non-Bitmapped属性数据中,区别是一个通常包含的是开关与否、报警与否的状态信号,另一个通常包含的对应的数值,如:机油过低报警状态、机油量、油量过低报警状态、当前油量等等。

1.2$22服务请求报文

$22服务的请求报文格式总体与第三篇文档的描述一致。但是$22服务没有子功能,在服务ID后直接跟DID。发送报文帧结构如下图:

pYYBAGNbhoiAJDjoAAADTEpRjsM880.png图 1

举例$22服务请求VIN码对应的DID,报文为:03 22 F1 90,当然根据项目实际情况车辆VIN可能是其他DID。

$22服务支持多个DID一次读取,报文格式如下图:

poYBAGNbhu-AMgMKAAAE13AIQoU907.png图 2

举例$22服务一次请求多个DID,$22 F1 80 F1 81。

1.3$22服务响应报文

$22服务的响应报文格式总体与第三篇文档的描述一致。正响应报文的服务号为$62,第二、三字节对应请求报文的DID。从第四字节至最后为对应DID的实际数据。响应报文帧的结构图如下所示:

pYYBAGNbhwuAQEtyAAAEJaE1YuY039.png图 3

举例$22服务的响应报文通常为:

ECU: 10 14 62 F1 90 01 02 03

Tester:30 00(流控制帧)

ECU: 21 04 05 06 07 08 09 0A

ECU: 22 0B 0C 0D 0E 0F 10 11

$22服务一次读取多个DID的响应报文格式如下图:

pYYBAGNbh02ANJGwAAAFr9UZ288500.png图 4

$22服务一次读取多个DID的响应报文,如:

ECU: 10 0C 62 F1 80 01 02 03

Tester:30 00(流控制帧)

ECU: 21 04 F1 81 0A 0B 0C AA

$22服务的否定响应格式,可以参考第三篇文章服务响应总体中负响应部分介绍,所有UDS服务的负响应故障代码表在项目中均是通用的。

02 $2E写服务

$2E写服务跟$22是对应的关系,完成了DID对应的数据写入后,我们才能通过$22服务读取出相应DID写入的内容。所以$2E服务的请求应答过程跟$22的请求应答格式上看是相互翻转的。

$2E服务成功写入的前提条件,通常要求服务在扩展会话和安全等级1的模式下执行。另外要注意的,并不是所有支持$22服务的DID都能够在$2E服务下写入,通常物流数据DID、配置信息DID等可以反复写入,Bitmapped和Non-Bitmapped属性数据一般不支持$2E手动写入,具体情况还需要查看项目的相关设计文档。

2.1 $2E服务请求报文

$2E服务请求报文写入DID对应的数据格式总体上跟上篇中UDS请求报文介绍一致,发送报文帧结构如下图:

poYBAGNbh56AZnmrAAADRlqF-HE922.png图 6

举例$2E的正响应报文通常格式为:03 6E F1 90

负响应的报文格式可以参考第三篇的相关章节,负响应NRC代码表一般在项目中是通用的。

03 总结

$22服务和$2E服务测试过程中通常是配合一起执行的。但是支持$22服务的DID,不一定支持$2E服务。DID对应的信息含义和格式一定要查阅和依据诊断规范。

04 测试要点

$22和$2E服务跟其他服务测试相同的地方是,大家都要依照针对规范执行相关测试;不同点在于$22和$2E涉及到的物流数据DID,对于这些信息零部件每个生产批次的数值可能都不一样,最新的数值表一般在排产前,由DRE在系统中申请生成,并向供应商释放,因此测试的时间和对应释放的软件版本号需要特别注意。

审核编辑:汤梓红

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

    关注

    5082

    文章

    19126

    浏览量

    305258
  • ecu
    ecu
    +关注

    关注

    14

    文章

    886

    浏览量

    54504
收藏 人收藏

    评论

    相关推荐

    嵌入式系统开发中的测试方法 嵌入式系统开发与AI结合应用

    嵌入式系统开发中的测试方法 嵌入式系统开发是一个复杂的过程,涉及到硬件和软件的紧密结合。测试是确保系统可靠性和性能的关键步骤。以下是一些常用的测试
    的头像 发表于 12-09 10:22 347次阅读

    嵌入式超火的方向有哪些?

    高效的医疗措施。 比如说远程诊断和远程会诊,通过嵌入式技术设备,便于大医院资深的医生可以远程查看患者的病历、影像等信息,并进行诊断会诊。 这种方式可以有效地解决地域限制和时间限制等问题
    发表于 11-21 15:49

    ECU故障诊断工具 如何选择合适的ECU

    数据监控和执行元件测试。这些功能是诊断工具的核心,能够帮助技师识别和解决问题。 2. 兼容性 选择ECU故障诊断工具时,首先要考虑的是工具的兼容性。一个好的
    的头像 发表于 11-05 10:23 364次阅读

    什么是嵌入式?一文读懂嵌入式主板

    在现代科技浪潮中,嵌入式技术已成为支撑各种智能设备和系统运行的核心力量。那么,究竟什么是嵌入式嵌入式系统,顾名思义,是将计算机的硬件和软件嵌入
    的头像 发表于 10-16 10:14 981次阅读

    车载诊断之法规协议 |OBDonUDS和ZEVonUDS

    提到车载诊断,大家首先想到的是UDS(UnifiedDiagnosticServices)协议。UDS可以用于ECU诊断、参数配置和刷写等领域。与排放相关的
    的头像 发表于 10-10 08:05 2527次阅读
    <b class='flag-5'>车载</b><b class='flag-5'>诊断</b>之法规协议 |OBDonUDS和ZEVonUDS

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被称为嵌入式系统的核心组件,是一种用于控制和数据处理的计算机硬件,其设计旨在嵌入特定设备中执行专门任务。嵌入式主板如同是
    的头像 发表于 09-30 10:05 473次阅读

    二维码嵌入门禁设备,如何安装与应用嵌入式的扫描头?

    在智能安防领域,二维码头的嵌入应用正逐步成为门禁系统升级的重要趋势。这一技术的核心在于将高性能的二维码扫描模组无缝集成至门禁设备中,通过嵌入式编程实现高效、便捷的出入管理。本文将简要
    的头像 发表于 09-02 15:17 273次阅读
    二维码<b class='flag-5'>读</b>头<b class='flag-5'>嵌入</b>门禁<b class='flag-5'>设备</b>,如何安装与应用<b class='flag-5'>嵌入式</b>的扫描头?

    嵌入式工控主板在智慧医疗诊断设备中的应用

    嵌入式工控主板在智慧医疗诊断设备中的应用广泛且深入,其高集成度、低功耗、高性能等特点使得它成为现代医疗设备中不可或缺的一部分。以下是对嵌入式
    的头像 发表于 07-11 10:51 415次阅读
    <b class='flag-5'>嵌入式</b>工控主板在智慧医疗<b class='flag-5'>诊断</b><b class='flag-5'>设备</b>中的应用

    嵌入式开发者的未来

    测试这些产品的硬件和软件。汽车行业:现代汽车包含大量的嵌入式系统,例如车载娱乐系统、发动机控制单元、自动驾驶系统等。在这个领域,工程师可以从事嵌入式软件开发、系统集
    的头像 发表于 06-23 08:10 372次阅读
    <b class='flag-5'>嵌入式</b>开发者的未来

    远景达嵌入式条码扫描器怎么样?高精度的条码识设备功能强大

    远景达嵌入式条码扫描器的出色解码能力,在实际测试中证明了其优异的稳定性与可靠性。该扫码设备不仅搭载了UIMG解码算法和高性能解码芯片,能在瞬间启动感应识,高速读取纸质和屏幕条码,且支
    的头像 发表于 04-08 14:37 359次阅读
    远景达<b class='flag-5'>嵌入式</b>条码扫描器怎么样?高精度的条码识<b class='flag-5'>读</b>,<b class='flag-5'>设备</b>功能强大

    圆满收官|飞凌嵌入式CACLP 2024精彩回顾

    本届CACLP,飞凌嵌入式展示了多款嵌入式主控产品,这些产品覆盖了体外诊断、医学影像、生命体征监测以及新兴的5G医疗应用等多个领域,充分体现了飞凌嵌入式在医疗
    的头像 发表于 03-22 10:48 451次阅读
    圆满收官|飞凌<b class='flag-5'>嵌入式</b>CACLP 2024精彩回顾

    嵌入式fpga是什么意思

    嵌入式FPGA是指将FPGA技术集成到嵌入式系统中的一种解决方案。嵌入式系统是一种为特定应用而设计的计算机系统,它通常包括处理器、内存、外设接口等组件,并且被嵌入到更大的
    的头像 发表于 03-15 14:29 1260次阅读

    铠侠正式发布业界首款车载UFS 4.0嵌入式闪存

    存储器解决方案的全球领导者铠侠株式会社宣布,该公司已开始提供业界首款面向车载应用的通用闪存(UFS)4.0版嵌入式闪存设备的样品。
    的头像 发表于 02-22 16:21 998次阅读

    嵌入式学习步骤

    开发板上测试固件以及在实际设备上进行测试嵌入式系统的多样化发展,它将更为广泛地应用于各个领域,实现智能化、网络化、自动化的目标。同时,随着人工智能和机器学习技术的发展,
    发表于 02-02 15:24

    扫码头有哪些?嵌入自助设备专用的二维码扫描器你知道吗?

    目前市面上嵌入式二维条码识器、二维码扫描器等扫码头五花八门,相信各位采购的朋友去区分的时候,如果不了解扫码设备的基础知识,可能也不能完全分清哪些
    的头像 发表于 01-08 14:42 508次阅读
    扫码<b class='flag-5'>读</b>头有哪些?<b class='flag-5'>嵌入</b>自助<b class='flag-5'>设备</b>专用的二维码扫描器你知道吗?