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

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

3天内不再提示

盟通方案|如何集成UDS协议

盟通科技 2025-06-06 14:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

UDS诊断协议广泛应用于汽车重卡等领域的设备诊断固件更新该协议主要针对全车ECU进行标准化的数据交互。UDS应用层‌(ISO 14229-1)定义了6大类共26项诊断服务,覆盖了ECU开发功能调试生产阶段的硬件检测参数配置、以及成品阶段的故障诊断远程软件更新等多个方面。

UDS Server/Client协议栈

UDS是汽车环境中用于对电子控制单元(ECU)进行诊断的通信协议。我们的UDS Server/Client协议栈在CAN总线上扩展并实现了UDS服务功能,它是基于ISO-TP来实现的。ISO-TP是一项国际标准协议(ISO 15765-2),定义了通过CAN总线进行传输数据的相关规范。

UDS on CAN

UDS Server/Client协议栈程序以C源代码形式提供,并依照MISRA-C:2004编码规则开发。目前它涵盖了以下UDS服务:

wKgZPGhCg0OAQnVRABJJjKBKBsk495.png

我们的UDS Server/Client协议栈基于ISO-TP服务,因此需要一个具有ISO-TP的底层协议栈。但无需担心,我们的UDS Server/Client协议栈可以配置在我们提供的J1939或者CANopen协议栈上,与其结合使用。如果您不需要CANopen或者J1939协议,我们也提供轻量级RawCAN协议栈,它主要实现了ISO-TP的底层以及一些必要的服务。

UDS固件更新

如今,越来越多的电子控制单元(ECU)需要借助引导加载程序在现场进行固件更新。由于引导加载程序会占用较大的Flash空间,因此通常无法使用完整的UDS栈。为此,盟通科技提供的UDS引导加载程序在设计时特别注重低内存需求,同时保证了高故障安全性

该引导加载程序仅支持引导加载程序所必需的最基本功能。因此,我们的UDS on CAN引导加载程序仅需要32 KB的闪存空间,并且依旧符合UDS标准。该引导加载程序适用于各种16位和32位微控制器,并且可以轻松适配其他目标系统。

wKgZO2hCg26APbR6AAyzVhh4H0c850.png图:UDS bootloader实现方式示意图

由于引导加载程序以C语言源代码的形式提供,因此制造商特定的程序代码可以轻松集成进去。这使得设备制造商能够将访问保护机制、固件加密或后门等元素集成到引导加载程序中。

该应用程序(将与引导加载程序一同传输)需要稍作调整,为此,必须更改链接器设置,使复位向量指向引导加载程序,同时确保应用程序所占用的空间不被占用。此外,还需为引导加载程序及应用程序之间的数据交换提供持久性内存(4字节),并且还支持应用程序与引导加载程序之间的其他通信方式。应用程序的二进制文件前面还包含一个数据块,其中包含CRC码和其他信息。闪存中的相应空间也必须保持空闲以容纳这些数据。

wKgZPGhCg4SASylSAATsVrl24m0761.png图:bootloader flash分配示意图

为了减少bootloader的Flash占用,UDS bootloader的UDS服务是相对受限的,它涵盖了以下UDS服务:

wKgZPGhCg5aAfip5AAn4RnDwn3E111.png

如果您需要更多不同的UDS服务和固件更新产品,请与我们联系,我们可以针对您的需求对整体的协议栈进行修改和升级,适配更多的应用场景。

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

    关注

    14

    文章

    967

    浏览量

    56882
  • 汽车
    +关注

    关注

    15

    文章

    4046

    浏览量

    40628
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于SOA与文件传输协议的域控制器升级测试方案

    UDS协议是诊断服务的标准规范,规定了诊断服务的具体命令[2]。使用UDS服务刷写是目前更新汽车控制器软件的主要方案。针对域控制器,主要使用DoIP+
    发表于 06-28 09:32 1090次阅读
    基于SOA与文件传输<b class='flag-5'>协议</b>的域控制器升级测试<b class='flag-5'>方案</b>

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

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

    【CPKCOR-RA8D1】+ 5. 使用RA8D1实现UDS诊断协议14229

    上一节中,我已经使用RA8D1实现了基于CANFD的DBC协议解析,解释了整车厂的dbc文件。本节来点高端的干货,使用RA8D1实现UDS诊断协议。 终于拿到CANoe了,10多万的仪器,奢侈一下下
    发表于 10-22 18:53

    UDS诊断命令备忘录

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

    OBDII与UDS的区别是什么

    PrimaryECU在已经开发完UDS诊断的基础上增加OBD II诊断一、OBD II与UDS的区别?这里主要介绍在诊断开发上面OBD II与UDS的区别,此外为了方便描述,下文中用OBD指代OBD II
    发表于 02-23 06:55

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

    1、使用MM32F0140系列MCU实现UDS Bootloader  MM32F0140 使用高性能的 Arm®Cortex-M0 内核的 32 位微控制器,最高工作频率可达 72MHz,内置
    发表于 09-15 16:35

    一文看懂UDS协议栈中的时间参数

      UDS 协议是道路车辆通用诊断规范的简称,目前主要应用在商用车电气零部件系统中,各个电气子系统基于该协议与外部诊断设备进行数据交互,从而实现程序更新、故障读取等功能。完整的协议栈包
    发表于 04-02 17:12 1次下载

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

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

    UDS协议在电动两轮车的应用

    的新车型项目中尝试引入了汽车行业标准的统一诊断服务协议UDS(Unified Diagnostic Services)。
    的头像 发表于 12-01 09:47 3688次阅读

    UDS常用诊断服务

    UDS诊断概述 UDS(Unified Diagnostic Services,统一的诊断服务)诊断协议是在汽车电子ECU环境下的一种诊断通讯协议。简单来说,可以理解为
    的头像 发表于 06-12 10:36 2.4w次阅读
    <b class='flag-5'>UDS</b>常用诊断服务

    汽车UDS协议栈与XCP协议

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

    UDS之29服务:认证服务

    汽车工业的很多领域都有严格的国际标准,其中针对车载诊断的ISO14229规定了车载诊断服务的通用需求(UDS),UDS主要应用于OSI模型的应用层,UDS协议根据功能的不同定义了26种
    的头像 发表于 11-30 08:24 3642次阅读
    <b class='flag-5'>UDS</b>之29服务:认证服务

    方案|如何集成J1939协议

    进行数据通讯,主要以广播通讯为主。借助通科技提供的J1939协议栈,用户能够快速、简便地开发J1939设备。该协议栈包含了将J1939集成到自身设备中所需的所有功
    的头像 发表于 06-13 11:35 624次阅读
    <b class='flag-5'>盟</b>通<b class='flag-5'>方案</b>|如何<b class='flag-5'>集成</b>J1939<b class='flag-5'>协议</b>

    UDS诊断协议:汽车电子系统的“通用语言”

    在现代汽车中,电子控制单元(ECU)如同人体的神经系统,控制着发动机、变速器、制动系统等关键部件。然而,当这些复杂的电子系统出现故障时,如何快速定位问题并修复?这就需要一种统一的诊断协议——UDS
    的头像 发表于 11-05 12:13 196次阅读

    《CAN(FD)总线十万个为什么》之UDS诊断(上)

    在汽车电子的世界里,UDS诊断协议如同一把神奇的钥匙,为工程师和维修人员打开了通往车辆“心脏”的大门。今天,就让我们一起揭开UDS诊断的神秘面纱,探索其在汽车电子行业中的重要角色。UDS
    的头像 发表于 11-05 11:35 247次阅读
    《CAN(FD)总线十万个为什么》之<b class='flag-5'>UDS</b>诊断(上)