首页 > 其他分享 >如何从0到1设计诊断系统

如何从0到1设计诊断系统

时间:2024-04-26 18:11:31浏览次数:26  
标签:方案 网关 如何 诊断 刷写 设计 诊断系统 路由

引言

       在整车电子电气体系中,诊断系统的设计扮演着至关重要的角色,负责支持整车的刷写、故障排查和EOL(End of Line)等关键操作。这一重要性在于这些操作的实现都依赖于诊断系统的全面支持。因此,在设计诊断系统时,必须确保系统具备全面性、安全性和高效性。

       诊断系统设计主要涵盖了诊断方案设计、诊断需求定义和诊断数据库开发。本文会逐一介绍这些环节,以便更好地理解和把握诊断系统设计的全貌。

 

诊断方案设计

       在进行具体的需求定义前,首先需要确定诊断方案,主要内容包括明确本地诊断、远程诊断、OTA (Over The Air)、车内诊断的诊断路径。这里以本地诊断为例进行介绍,常见诊断方案包括隔离方案和透传方案。

 

  • 隔离方案

         隔离方案是指将车内和车外划分为不同的网段,诊断仪发送的诊断信息必须通过边缘节点进行路由映射后,再转发至车内的目标节点。

 

 

         采用这种方案的优点很明显: 

          因为车内外的网段隔离,可以更好的进行安全防护。

          网关统一进行转发,可以由网关进行不同诊断路径的管理。

         当然此方案也有一定的缺陷,最明显的就是如果网关的转发性能不足,则诊断路由的延时会较长,会影响一些场景(如刷写)的效率。

 

  • 透传方案

         透传方案是将车内和车外划分在同一个网段,诊断仪可以直接与车内节点建立以太网诊断链接,无需经过边缘节点进行路由。

 

 

         透传方案的优点有以下两点:

          诊断仪可与车内以太网节点直接建立链接,无需中间节点路由,传输大数据时效率高。

          对网关的路由性能要求较低,做好不同传输协议(如DoIP-CAN)的路由即可。

         其缺点一是不方便网关做统一的管理,其次就是安全性方面有更高的要求。

 

诊断需求定义

       当确定了诊断方案后,就可以着手进行具体的诊断系统设计工作。以下是一些常见且关键的环节。

 

  • 诊断拓扑图定义

          根据整车拓扑和诊断方案,确定每个控制器诊断、刷写的路径。

          绘制诊断网络拓扑图,以清晰展示各个节点之间的关系。

 

  •  诊断ID分配

          为诊断节点分配合适的诊断ID地址。

          为车内/车外诊断设备、物理寻址和功能寻址分配合适的地址。

          分配CAN请求响应ID(参考ISO 15765-4)。

          分配以太网DoIP逻辑地址 (参考ISO 13400-2)。

 

  • 整车配置字

          如果诊断平台包含多个车型或者不同配置,开发整车配置字是必要的。

          确保配置字能够正确标识车型和配置,方便在诊断平台中进行正确的配置切换。

 

 

  • 诊断需求规范

          包含了平台可能会用到的诊断服务和基础需求。

          针对不同的总线需要考虑其对UDS诊断的影响,例如:会话层时间参数的值的差异。

          由于车内包含各种传输协议,所以需要注意诊断对底层协议的需求约束。这里以以太网为例子,包括doip需求定义、tcpip相关参数定义、物理层定义等。

 

  • 刷写需求规范

         在进行刷写需求规范的开发时,需注意不同种类的控制器会使用不同的刷写流程。一般可以将控制器分为:嵌入式系统控制器、带有文件管理系统的控制器。

          嵌入式控制器:这类控制器基于BootLoader进行刷写,一般需要先执行擦除例程,再使用0x34、0x36、0x37服务请求进行文件写入。

          带有文件管理系统的控制器:一般为使用OS操作系统的控制器,先使用0x38、0x36、0x37服务进行程序的下载,再由文件管理系统通过安装例程进行安装操作。

          如果有并行刷写、静默刷写等特殊的需求,也需要在刷写需求规范中进行明确定义。

 

  • 网关路由规范与网关路由表

          根据诊断方案和拓扑图,明确路由方案,制定网关路由规范。

          当路由方案确认后,需要进行网关路由表的开发,以确保每个路由节点能够选择正确的路由路径。

         以上是诊断需求定义中的一些重要环节,这些内容都对诊断具体参数的开发和诊断功能的实现起着指导性的作用。

 

诊断数据库开发

 

         诊断调查问卷和诊断数据库的开发是一个长期持续的工作。在这个过程中,我们需要整合企业标准的定义,各方向专业工程师的建议以及供应商反馈的信息,并持续完善和优化。诊断调查问卷中的内容将应用于研发、生产、售后等各个阶段。

 

          ECU DATA: 控制器信息

             对每个ECU进行详细的描述,包括CAN ID、逻辑地址等信息。

 

          Service: 诊断服务定义

             列出每个ECU支持的服务、子功能、否定响应、支持的安全等级等信息。

 

          DID (Data Identifier): 数据ID

             包括系统DID和供应商自定义DID;静态DID和动态DID。

             对每个DID的功能进行描述,包括其示例、范围和用途。

 

          Routine: 例程

             包括刷写相关的例程、EOL相关例程以及功能相关例程等。

             提供每个例程的详细说明和执行步骤。

 

          DTC (Diagnostic Trouble Codes): 诊断故障码

             包括基本通信相关、信息安全相关和功能相关的DTC。

             对每个DTC提供详细的描述,包括使能条件、记录条件和恢复条件等。

 

          Snapshot: 快照数据

             通常会管理最近一次和第一次的快照信息,包括车辆的基础数据和状态。

 

          梳理交互逻辑及信息

             通常会记录发生计数器和老化计数器。

 

          其他内容

             如时间参数、28服务的通信配置、2F服务的定义等,这里不再详细赘述。

 

         在完成诊断调查问卷的开发之后,我们需要将问卷转换成诊断数据库,以便进行诊断数据交换。在此过程中,需要注意诊断数据库的格式以及适用的工具链的选择,以确保在进行优劣取舍时能够做出明智的决策。在数据库格式的选取方面,鉴于ODX格式的开源属性,该格式能够较好地适应整车开发、生产及售后各阶段的需求,因而是一种较为推荐的数据库格式。

 

总结

       在当今汽车电子电气架构逐渐完善的背景下,诊断系统设计已不仅仅是纯粹的诊断问题,而需要对整车的通信、功能和安全性进行综合考量。例如,在设计诊断方案时,需要考虑到诊断路径的安全性和可靠性。在进行诊断需求定义和数据库开发时,需要思考到不同诊断场景下的差异化要求。综合各方面需求的诊断系统会为整车从研发生产到售后都提供强有力的支持。

 

       了解更多:请致电 010-64840808转6116或发送邮件至[email protected](联系时请说明信息来源于博客园)

标签:方案,网关,如何,诊断,刷写,设计,诊断系统,路由
From: https://www.cnblogs.com/hirain123/p/18160625

相关文章

  • 如何提升自己?
    如何提升自己?只写后台管理的前端要怎么提升自己这里,总结一下上文链接:【1】写优雅的代码:提升代码质量(从设计模式方面考虑),并且学会封装【2】关注业务:主动了解需求背景,主动理解;并且做完需求后,主动了解结果;并且理解需求,并主动优化。【3】关注源码:面试中引导面试官来......
  • 如何在 C# 中使用 String.Split 分隔字符串
    一直以为split是用来分隔字符的,没想到还可以分隔数组。让程序变得更简单。微软官网的介绍在此记录下。https://learn.microsoft.com/zh-cn/dotnet/csharp/how-to/parse-strings-using-split 1、分单个字符stringphrase="Thequickbrownfoxjumpsoverthelazydog.";......
  • 如何用Sublime Text实现正则查找与替换
    比如将下面的汉字语义加上中括号[{"text":"微笑","path":"emot01.png"},{"text":"大笑","path":"emot02.png"},{"text":"鼓掌","......
  • 设计不外流,保护创意的同时锁住图纸安全!
    在设计行业中,图纸和创意文稿的安全至关重要,因为它们体现了企业的创新能力和核心竞争力。华企盾DSC数据防泄密系统提供了一系列功能,可以有效地保护这些珍贵的设计和文档不被外泄。以下是如何利用华企盾DSC系统保障设计图纸安全的关键措施:全面的加密模式:华企盾DSC系统提供全面的......
  • 设计模式
    设计模式的七大原则1、开闭原则(OpenClosePrinciple)开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中......
  • 模拟集成电路设计系列博客——6.1.2 折叠电阻串DAC
    6.1.2折叠电阻串DAC为了减少数字解码的数量以及大的容性负载,可以使用折叠电阻串D/A,如下图所示[Abrial,1988]:这种方式使得解码非常类似于数字存储器,从而减少了总的解码区域。在上图中的4-bit例子中,为了转换数字码,高2比特{b1,b2}决定了需要选中的单个字线(其他的保持为低)。一个字......
  • 基于Vue 2的前端如何引入评论区组件Artalk
    1.Artalk介绍Artalk是一个可以集成的评论区组件,可以直接添加到前端页面,而不用自己开发评论区来保存评论,支持点赞/踩,还支持评论区之间的相互回复,以及一些表情包的使用,同时也有丰富的后台管理页面【如以下展示】[========]2.Artalk服务器部署2.1环境条件Vue2Artalk2.8......
  • 模拟集成电路设计系列博客——6.1.1 电阻串DAC
    6.1.1电阻串DAC最直接的实现\(N-bit\)D/A转换器的方式是产生\(2^N\)个参考信号,并根据数字输入码,将合适的信号传递到输出。我们将这种D/A转换器成为基于解码器的转换器。最早的8-bit集成MOSD/A转换器是基于通过一个开关网络选择一部分分段电阻串[Hamade,1978]。开关网络连接在......
  • 设计模式
    设计模式六大原则1、开放封闭原则OpenClosePrincipleOCP:尽量通过扩展软件实体来解决需求变化,而不是通过修改已有的代码来完成变化OCP原则要求设计者在需要修改现有代码时,不应该直接修改已有的代码,而是应该通过扩展现有代码来实现新的功能或修改。代码实例:实现计算机:Ope......
  • 如何拥有自己的专属GPT-本地部署目前最强大模型llama3
    你是不是苦于没法使用ChatGPT?或者访问了ChatGPT却没法使用GPT4?现在一切问题都可以解决了!4月18日,Meta发布两款开源Llama38B与Llama370B模型,供外部开发者免费使用。这个消息轰动了全球开发者。按照Meta的说法,Llama38B和Llama370B是目前同体量下,性能最好的开源模型。所以Ll......