原文链接:CAN FD: Measuring and reprogramming

CAN FD:测量和重编程

CAN FD技术的复杂度与普通CAN网络相同,但它提供了显著增加的带宽。因此它可以替代Flexray或以太网网络。作为CAN网络的演进技术,CAN FD具有灵活的数据速率。它提供了比CAN更大的带宽,同时比Flexray更简单。 Vector公司的网络专家在CAN FD系统上,研究了两种典型应用:通过XCP测量ECU内部信号和ECU重编程。


在CAN FD上通过XCP测量ECU

在ECU开发中,对开环和闭环控制算法的多个信号和参数的测量和校准是一个重要的校准使用场景。 ECU开发人员偏向于使用ASAM e.V.标准化的XCP(通用测量和校准协议)测量和校准协议。 在当前的协议版本1.2中,引入CAN FD作为一种新的XCP传输层。 XCP使得Vector CANape(图1)等测量和校准工具,能够在实时操作过程中修改参数,并测量ECU的行为变化。 考虑到在CAN系统上,根据被监视的信号的数量(的增加),传输介质的带宽可能很快被耗尽。 在CAN FD上的XCP的数据段被显著扩展了,达到最高64字节的有效载荷和至少5 Mbit/s的数据速率。

图1:使用CANape基于CAN FD上的XCP的测量

CAN FD上的XCP的数据吞吐量

为了评估CAN上XCP相对于CAN FD上的XCP的最大可用数据吞吐量,通过测量多个ECU信号,研究了帧的大小与帧内可用的有效载荷之间的关系。 数据吞吐量是假设总线负载100%时计算的。 CAN和CAN FD的帧字段的实际大小如表1和表2所示。但是,对于CAN或CAN FD,都无法精确预测其帧的大小。 为了保证总线节点到信号边缘的同步,根据其内容,将预设的不定数量的附加填充位插入到了帧中。 为了建模填充位根据帧大小的变化,分析了最好和最坏的案例情况。

表1:CAN的帧结构

表2:CAN FD的帧结构

数据吞吐量计算的结果以图形方式表示为一个扇形(图2,表3),其中的帧可能由其实际内容而决定。 为了验证理论计算,依据实用的测量用例,在仿真环境上进行了实际的测量。 在由CANape测量和校准软件、合适的接口硬件和基于PC的ECU仿真所组成的实验室装置中,测量了CAN / CAN FD驱动器的输入和输出之间的双向传输时间。 试验的测量值非常符合数学预测(图2,表5),从而验证了对可用数据吞吐量的建模。 通过比较使用CAN和CAN FD传输时所采集的测量数据,可以发现根据系统的配置(表4),CAN FD的数据吞吐量增加了1.3到5.4倍。

图2:在ECU测量中,测量和计算的CAN FD数据吞吐量
表3:在CAN FD(fA=500 kbit/s)上的XCP的计算的数据吞吐量 

表4:比较在CAN和CANFD上的XCP的测量的数据吞吐量

表5:在CAN FD(fA=500 kbit/s)上的XCP的测量的数据吞吐量

除了带宽已经改善,在CAN FD上的XCP还有进一步改进的潜力。 由于CAN和CAN FD的等效物理通信,很可能在现有ECU软件在迁移到CAN FD后,通信链路仍然被限制为八字节的数据传输。 在这种情况下,XCP只会受益于较高的数据传输速率,而不能利用CAN FD帧中可用的全部64字节的有效载荷。 为了优化数据传输速率,小型XCP数据包的有效载荷可以连接成一个大的CAN FD帧(图示3)。 Vector目前正在制定一项提案,以便在未来的XCP规范中实现在CAN FD上的XCP的数据包级联。

图3:基于合并多个XCP包到一个CAN FD帧的更快的数据传输

闪存编程

对闪存的(重)编程是第二个快速网络协议所预计会有显著改进的使用场景。在“删除”、“下载/编程”和“验证”三个阶段,下载时间是传统CAN系统中的关键因素,可以通过Flexray,Ethernet和CAN FD等更快的总线系统加速。

无论传输协议如何,使用其他优化策略进行下载(如数据压缩和流水线编程)都是有意义的。 尽管LZSS(Lempel-Ziv-Storer-Szymanski)算法减少了要传输的数据量,其效率高度依赖于数据构造,并且也需要考虑到在ECU中提取数据所产生的额外的CPU负载。 另一方面,流水线编程代表了一种并行化:当一个数据段仍在写入ECU时,下一个段的传输已经开始。 因此,当编程时间比数据传输时间短时,该方法的潜在性能增益最大。

Flexray提供了10 Mbit / s的传输速率,但不能完全用于(重)编程。 在时间触发的周期性通信序列的协议中,所有PDU(协议数据单元)都是预定义在固定时隙中的。 如果很多时隙被保留用于诸如下载的诊断服务请求,这就减少了有用数据的带宽。 实际的配置中,每个周期提供4个PDU到8个PDU,42个字节到255个字节用于诊断服务。 当使用流水线编程时,Vector工程师已经测量到了40~60kB/s的下载速率。

带有基于IP(DoIP)的ISO 13400-2诊断的以太网也非常适合ECU的快速重编程。 在测试100Mbit以太网和一个典型的纯闪存写入速率为180kB/s的微控制器时,结果大致上与传输数据服务的缓冲区大小有关。 一个16 KB的缓冲器可以实现大约150 kB/s的吞吐量,这已经接近测试中使用的闪存的限制。

使用CAN FD的重编程

由于半导体制造商尚未提供任何包含CAN FD支持的微控制器,因此Vector的网络专家在他们的CAN FD测量中,使用了一个包含以FPGA实现的CAN FD控制器的微控制器。 板上的软件栈由一个标准的Vector UDS引导程序组成。 为了支持CAN FD而扩展了ISO 15765-2传输层和CAN驱动程序。 为了下载测试所需的快速测试启动过程,使用了CANoe仿真和测试工具,因为该工具已经提供了CAN FD支持。 该软件使用提供闪存编程过程和传输层函数的外部DLL。 将来,Vector vFlash烧写工具将可用于CAN FD。

在使用传输层的情况下,在CAN FD数据段速率为4Mbit/s时,在CAN FD上烧写的理论传输速率可达到270kB/s至370kB/s。 但是,实际测量值远低于此值(图4)。 令人惊讶的是,在所使用的测试环境中,压缩和流水线优化策略对于CAN FD是适得其反的。 原因在于,在使用的实验室设置中,内部闪存的编程时间成为烧写过程中的限制因素。 所以这使得下载阶段的优化无效。 但是,需要使用更强大的CPU进一步测试才能得出有关数据吞吐量和优化效果的更一般的结论。 测量的一个关键发现是,CAN FD比CAN(图4)提供了更高的数据吞吐量,并且迁移所需的工作量可以忽略不计。

图4:比较CAN和CAN FD的下载和编程时间

总结和展望

总体而言,串行总线系统CAN FD,Flexray和以太网由于其不同的微控制器和约束条件而难以客观比较,但是可以清楚地看出某些趋势。在Flexray的情况下,实时数据有效载荷的高下载速度和高性能不能同时实现。 100 Mbit以太网提供了最快的传输速率,但它需要复杂的软件配置,其硬件成本高于CAN FD。

CAN FD似乎是最平衡的解决方案,它提供了高数据速率和潜在的进一步改进,成本适中。另外,由于CAN和CAN FD之间的密切相似性,迁移到改进的CAN相对容易。两个协议都基于相同的物理层,这使得收发器,布线和总线拓扑的重用成为可能。由于沟通原则也没有改变,现有的技术知识仍然可以应用。校准和重编程中对受影响软件层的修改是相对较小的。

CAN FD使得在ECU的测量和重编程方面实现了显著的吞吐量增益。 在(重)编程中,将瓶颈转移到闪存。 进一步开发以缩短MCU的存储器存取时间,可以用来获得额外的性能提升。 通过Vector扩展XCP规范以包含CAN FD的数据包级联的努力,也提供了尚未开发的新协议的性能提高的潜力。


作者

Armin Happel

Erik Sparrer

Peter Decker

Vector Informatik GmbH

文献:

CAN-FD specification V1.0, Robert Bosch GmbH


CAN FD技术的复杂度与普通CAN网络相同,但它提供了显著增加的带宽。因此它可以替代Flexray或以太网网络。

CAN FD:测量和重编程相关推荐

  1. 肿瘤细胞通过RB1CC1介导的转录重编程对铁死亡敏感

    在癌症领域研究中,铁死亡是一种受调节的细胞死亡形式,使肿瘤细胞对铁死亡敏感的信号通路和因素未探究清楚.触发铁死亡可以有效地治疗对促凋亡和其他常规抗肿瘤治疗耐药的肿瘤细胞.因此,全面研究信号网络和引起铁 ...

  2. 颉伟/郭勇/李伟合作阐释哺乳动物早期胚胎发育中表观重编程和基因印记的进化保守性和物种特异性...

    北京时间2021年11月25日凌晨3时,清华大学生命学院颉伟研究组.北京农学院郭勇研究组与中国科学院动物研究所李伟研究组通过紧密合作,在Science Advances期刊以长文形式发表了题为&quo ...

  3. Nano Today(IF=21)| 北京大学齐宪荣团队通过原位重编程巨噬细胞增强肿瘤免疫治疗效果

    iNature 肿瘤相关巨噬细胞 (TAM) 在肿瘤微环境中含量丰富,并通过多种机制促进肿瘤进展.CD47 在大多数恶性肿瘤中过度表达,并作为"不要吃我"的信号来抑制吞噬作用.利用 ...

  4. 重编程相关研究最新进展(2021年12月)

    [1]突破性发现:NeuroD1不能介导小胶质细胞-神经元重编程 2021-12-13 报道,上海市精神卫生中心的饶艳霞博士与天桥脑科学研究院(TCCI)转化中心主任.华山医院院长毛颖教授团队.复旦大 ...

  5. 细胞重编程技术方法学评估

    推荐阅读: 1.2020年ips细胞治疗糖尿病研究进展综述 2.iPS细胞重编程实验相关实验材料 各种细胞重编程技术比较 IPS:细胞重编程技术巧妙绕开了胚胎干细胞"为救人而杀人" ...

  6. 任务态fMRI测量的重测可靠性:新的实证证据和元分析

    在神经科学中,识别疾病风险的脑生物标记物日益重要.识别有意义的生物标记物的能力受到测量可靠性的限制;不可靠的测量方法不适用于预测临床结果.利用任务态功能磁共振成像(task fMRI)测量大脑活动是开 ...

  7. iPS细胞重编程实验相关实验材料

    hi,大家好,我是小魔仙lucky! 亚瑟.克拉克曾说:任何足够先进的科技,都与魔法无异. 可能在很多人眼里IPS细胞技术就是这样的存在! 但是对于小魔仙来说,ips细胞什么的根本就不是个事儿! 因为 ...

  8. 易基因项目文章|ChIP-seq揭示H3K27me3去甲基化酶在体细胞重编程调控转录机制

    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因. 2020年10月8日,中国科学院广州生物医药与健康研究院/生物岛实验室秦宝明教授团队和Miguel A. Esteban课题组在Natu ...

  9. MCE公司:小分子化合物在重编程中的应用

    干细胞(stemcell)是一类具有自我更新的多潜能细胞.在一定条件下,它可以分化成多种功能细胞.干细胞具有分化成多种细胞的多潜能特性,使其在医学领域具有广泛的应用前景,可应用于肿瘤.心血管系统疾病. ...

  10. 小分子化合物在重编程中的应用

    2006 年,日本科学家山中伸弥等人利用四个转录因子(Oct4.Sox2.Klf4和c-Myc)将小鼠胚胎成纤维细胞(MEFs)和成体成纤维细胞重编程为诱导多能干细胞(induced pluripot ...

最新文章

  1. 剑指offer 面试题3—二维数组中找数
  2. Can‘t get attribute ‘SiLU‘ on <module ‘torch.nn.modules.activation
  3. TortoiseSVN status cache占用CPU高
  4. 第三次学JAVA再学不好就吃翔(part1)--初识JAVA
  5. 详解机器翻译前沿技术及落地应用
  6. 调查 | 用户无法识别网络钓鱼攻击
  7. 2021-09-07客户端向 NameNode 请求创建文件,NameNode 根据元数据信息计算出文件的元数 据信息
  8. python中关于图例legend在图外的画法简析
  9. 工具:SQL Server软件使用指南
  10. vs 2017 配置 boost 库
  11. FFmpeg入门详解之52:ffplay源码分析
  12. (图文)最详细的XAMPP的安装及使用教程
  13. ERP系统的操作方法是什么?
  14. windows多线程同步机制---原子锁
  15. 如何用微信自动添加wifi连接服务器地址,微信WiFi一键连小程序怎么用 微信怎么连接WiFi热点...
  16. 帮谷歌推广Webp图片格式之:Webp的格式转换
  17. Mysql-ERROR:1055错误修复
  18. 云数据库 RDS for PostgreSQL的优势和应用
  19. laravel-admin Model does not exists添加模型报错
  20. Another app is currently holding the yum lock解决方法

热门文章

  1. 淘宝客优惠券领取微信小程序前台和后台源码
  2. vs各个版本的编译器号
  3. 全新激光雕刻机切割机打标机写字机三轴步进电机运动控制板 控制板硬件软件全部是自己开发的
  4. 等式约束凸二次规划问题的解法
  5. java 软考_关于软考
  6. 系统地编译Hi3519过程及其处理问题思路
  7. Matlab趋势线公式引用,批量提取excel中图表趋势线的公式中的斜率 - 程序语言 - 小木虫 - 学术 科研 互动社区...
  8. 《Fortran 95 程序设计》阅读笔记二
  9. 程序员面试宝典 第五版
  10. NFR24C0L中文使用手册、stm32硬件SPI与模拟SPI比较: