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

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

3天内不再提示

认识一下并列刷写(Parallel Flash)

冬至子 来源:开心果 Need Car 作者:开心果 Need Car 2022-11-15 16:03 次阅读

我们知道,一辆车上的ECU数量少则几十个,多则上百个。假设这样一种场景,车辆由于某种原因导致一部分ECU功能失效,需要重新更新这些ECU的Application程序,如果一个一个进行更新,势必花费一点时间,而作为消费者,总希望自己的车子能快点修好,维修人员又何尝不是呢?所以,并列刷写(Parallel Flash)和队列刷写(Queued Flash)来了。

再有,在车辆下线时EOL(End of Line),工厂追求效率,一般会1(刷写上位机)拖N(N个 ECU)刷写,这是不是一种Parallel Flash呢?

再次提示:Queued Flash针对 单个ECU ,Parallel Flash针对 多个ECU ,且两种技术可以同时使用。本文,我们认识一下Parallel Flash。

1

整车网络拓扑

在了解Parallel Flash之前,我们先认识一下整车网络拓扑。为便于理解,我们简单示意整车的网络拓扑结构。整车网络中,不仅仅只有Can总线,还会有Ethernet、Flexray以及Lin总线。

图片

如上图,整车中的网关可以分为三种类型:Vehicle GW(Edge Node)、ECU/Domain Network GW、ECU Sub GW。

Vehicle GW(Edge Node) :与外部设备(Tester)通过以太网通信,也称为边缘节点。边缘节点与域网关通过主干网相连,主干网会选择速率相对较高的总线,比如:Ethernet/Flexray。

ECU/Domain Network GW :域网关,整车会分为动力域、影音域等多个域。域网关与子网关或者终端ECU连接,之间可以通过速率相对低一些的Can/Lin总线通信。

ECU Sub GW :子网关,子网关之下会挂接终端ECU,子网关与终端ECU之间可以通过Can/Lin总线通信。

既然Ethernet的速率快,为啥还整这么多总线呢?谁家也不是地主,成本是每家OEM都很在乎的事,保证既定功能目标的前提下,OEM会想方设法地降成本,不然,如何适应丛林法则?Ethernet虽然快,但是成本高,所以,OEM的EE部门在整车的拓扑设计中,会考虑好总线的选择。

2

Parallel Flash刷写流程

假设有两个ECU:ECU01和ECU02需要同时刷写,且ECU01和ECU02均挂接在子网关GW-S下,子网关GW-S在中央网关GW-C下,上位机(Tester)通过以太网(DoIP)进行刷写。这里分两种情况讨论:

第一:GW的处理能力不足

图片

第二:GW处理能力足够

图片

1、刷写流程解析

假设 :用功能寻址发送$19 02 08服务,读取ECU01和ECU02故障信息,回复信息需要 多帧传输

提示 :基于第一种情况讨论

  1. Tester通过DoIP发送一帧功能寻址诊断请求(Request1 = $19 02 08)给GW-C;
  2. GW-C会立即应答上位机(因为DoIP诊断请求使用Tcp协议),这相当于Can总线的ACK应答机制,同时将Request1通过Flexray总线路由给GW-S;
  3. GW-S进一步将Request1由Flexray总线转成Can总线路由给ECU01和ECU02;
  4. ECU01和ECU02在各自的P2Server时间内给出响应,即:首帧(FF:Frist Frame)。 受限于GW-S的处理能力 ,GW-S先给ECU01发送FC.CTS(继续连续帧发送,注意:这里使用物理寻址发送给ECU01),让ECU01先发送CF(Consecutive Frame )帧,而让ECU02等待ECU01处理完(给ECU02发送FC.Wait,物理寻址发送流控等待),当GW-S处理完ECU01以后,再给ECU02发送FC.CTS( 物理寻址发送 ),完成ECU02的处理;
  5. GW-S将Can总线传来的FF转换成Flexray的STFU(Start Frame Unacknowledged),之后通过Flexray总线路由给GW-C;
  6. GW-C接收到GW-S转发的ECU01 LF(Last Frame)帧以后,响应Tester(DoIP Response ECU01);
  7. GW-C接收到GW-S转发的ECU02 LF(Last Frame)帧以后,响应Tester(DoIP Response ECU02)。

2、问题拓展

第一:如上的刷写流程可以看出,诊断命令Request1经过GW-C、GW-S,到诊断命令被处理(P2Server时间),路由消耗的时间不少,从这个角度考虑,能理解OEM为什么会约束严苛的路由时间了吧,就是为了提高刷写的速率。

第二:功能寻址的诊断请求不仅发送给终端ECU(比如:上述的ECU01和ECU02),GW节点也需要处理该诊断指令(比如:上述的GW-C、GW-S)。

第三:我们常常看到这样的约束条件:“ 功能寻址的$3E 00/80指令与物理寻址的非$3E 00/80指令同时请求某个ECU时,功能寻址的$3E 00/80指令需要优先处理 ”。为什么呢?毕竟让节点保持在编程会话更重要。

第四:上述我们看到的是DoIP发送功能寻址给到ECU01和ECU02,这是 同一个指令发送给不同的ECU 。而Parallel Flash中还有一种情况,DoIP分别给ECU01、ECU02发送物理寻址的指令(比如:$10 01),为什么可行?一般诊断中,Ethernet总线的速率是100Mbps,而Can总线速率为500kbps,Ethernet总线速率是Can总线通信速率的200倍,其数据的处理能力足以支撑以太网使用物理寻址给一定量的ECU分别****发送 不同的诊断指令 ,并处理各个ECU的响应数据。

第五:每经过一次GW,指令的路由都会有一定的延迟。

第六:GW处理能力足够与否,首先需要看主芯片的资源是否够用,虽然开辟更多的RAM去处理诊断指令可以使得刷写速率更快(上图中的第二种情况),但是面对的资源开销也是相当可观。尤其当总线转换时,TP层、PduR模块都需要开销资源,而且开销量都不小。

审核编辑:刘清

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

    关注

    145

    文章

    1946

    浏览量

    130726
  • ecu
    ecu
    +关注

    关注

    14

    文章

    886

    浏览量

    54485
  • Flash单片机
    +关注

    关注

    0

    文章

    111

    浏览量

    9401
收藏 人收藏

    评论

    相关推荐

    认识一下这款名叫“CAN总线存储器”的神器

    CAN总线数据不能及时查看怎么办?CAN总线数据过多没时间处理怎么办?想要回看CAN总线历史数据又怎么办?总线数据三连问,却只需要个答案,是时候认识一下这款名叫“CAN总线存储器”的神器了。
    的头像 发表于 05-20 08:08 8253次阅读

    认识一下NI SWITCH模块的组成和特点

    许多自动化测试应用都需要通过部署个开关网络来实现仪器仪表和DUT之间的信号路由。而开关不仅可用于路由信号,也是增加昂贵仪器仪表的通道数以及提高测量灵活性和可重复性的种低成本方法。
    的头像 发表于 03-22 13:41 1551次阅读
    <b class='flag-5'>认识一下</b>NI SWITCH模块的组成和特点

    使用Auto Flash Utility 1.4刷写外部Flash后,程序读出来的数据与期望不致是怎么回事?

    ,0xF1,0xF2,0xF3......。0xF9;调查后发现,我们程序中的读写都是同时操作2片外部Flash,脚本写入的顺序是先写片,写满后再写另片,所以导致数据不样。我们想
    发表于 07-04 06:49

    请教一下关于asmi_parallel ip核的使用方法

    的是0x00。使用asmi_parallel2 ip核用avalon总线也不能顺利读取,想请教一下,我是读写的时序,还是因为自动分配的引脚存在问题?
    发表于 06-29 21:01

    认识一下针对单片机几个基本概念

    我们日常的生活离不开秒表的计时,它提醒着我们什么时刻该干什么,单片机也样,通过单片机内置的晶振来计时,首先让我们认识一下针对单片机几个基本概念:时钟周期:时钟周期 T 是时序中最小的时间单位,具体
    发表于 11-22 06:43

    认识一下Boost拓扑结构

    上期答案揭晓:答案上图 c ,下图 a小伙伴们答对了吗?YTDFWANGWEI :我的笨办法:source,源的意思,就是提供电流。所以,只要是电流流出,就是source。不知道是否正确?作者:完全正确。继续下步讲解:参考一下以下两个图:sink...
    发表于 12-31 08:25

    先来认识一下正激的基本原理

    我们先来认识一下正激的基本原理,如图所示:正激在原边加正向电压 MOS 管导通时,副边的输出符合变压器原理,即:Vs = n* VinVs :变压器副边输出电压n:匝比 = Ns/NpVin:输入电压由上式可知正激拓扑不难理解。* 注意:原边还有个绕组称为复位绕组,副边有...
    发表于 12-31 06:18

    简单地认识一下D/A和A/D

    随着我们学习的逐步推进,我们可以了解到51单片机的更多的知识和元件,今天我们就来简单地认识一下D/A和A/D。首先我们先来介绍一下D/A,就是两个单词digital和anolog.就是把数据量转换
    发表于 02-24 07:21

    带你重新认识一下真正的PID

    网上关于PID算法的文章很多,但是感觉有必要自己再进行次总结,抽丝剥茧地重新认识一下PID;
    的头像 发表于 10-10 14:48 2695次阅读

    认识一下甲醛传感器

    1、什么是甲醛传感器?  甲醛传感器是专门用于甲醛气体(CH20)的检测,基于电化学反应原理。在房屋装修的过程中,通常会伴随大量的甲醛气体,它是种有机化合物,无色,有刺激性的气体,对人眼,鼻有
    的头像 发表于 08-23 17:20 2030次阅读

    认识一下丙烷传感器

    丙烷传感器主要用于丙烷气体(C3H8)的检测,般基于半导体或催化燃烧原理。
    的头像 发表于 09-07 16:41 2021次阅读
    <b class='flag-5'>认识一下</b>丙烷传感器

    带你认识一下铝电解电容

    电解电容是种由两块平行金属板以及两金属板之间放置电解液所构成的电容。
    的头像 发表于 05-16 10:53 5198次阅读
    带你<b class='flag-5'>认识一下</b>铝电解电容

    简单认识一下EMC中共模和差模的区别

    电压电流的变化通过导线传输时有两种形态, 即共模和差模。下面带大家简单认识一下共模和差模的区别。
    发表于 06-08 14:58 6895次阅读
    简单<b class='flag-5'>认识一下</b>EMC中共模和差模的区别

    认识一下只有driver的验证平台

    对于个验证平台而言,最重要的角色是激励的产生,最开始,driver是集合了数据的产生、发送于体这么个重要的角色(后面到进入真正UVM会将功能分离)。
    的头像 发表于 06-15 18:09 747次阅读
    <b class='flag-5'>认识一下</b>只有driver的验证平台

    认识一下几个常用的门级电路

    标准单元库是数字集成电路的积木,是复杂电路和系统的基础。今天我们来认识一下其中的几个常用门级电路。
    的头像 发表于 10-09 15:49 1739次阅读
    <b class='flag-5'>认识一下</b>几个常用的门级电路