虹科干货|基于CAN总线系统的时间动态:CAN与CANopen的实时能力与局限性

原创 工业通讯 2023-10-31 17:30

点击蓝字 关注我们







前言

Preface

在前文中,我们探讨了具有实时能力的嵌入式通信系统的基本要求——平衡实时响应、安全性和保障。本篇文章将重点介绍CAN与CANopen的实时能力和局限性。

前文回顾

虹科干货 | 平衡速度与优先级:为多样化的实时需求打造嵌入式网络(1)——选择正确的实时范围

虹科干货 | 平衡速度和优先级:为多样化的实时需求打造嵌入式网络(2)——实时通信系统的需求

控制器局域网(CAN)协议是各个行业众多应用的基础,每个应用都有其独特的实时需求。CANopen和J1939等著名示例强调了该协议的多种适应性,以满足特定需求。值得注意的是,这些应用程序的实时要求并不全面统一。虽然某些应用程序需要以毫秒为单位的反应时间,但许多其他应用程序可以在更宽松的标准下有效运行。物理约束、网络拓扑和计算任务等因素在形成这些需求方面发挥着至关重要的作用。当我们探索更严格的实时约束时,通信配置和代码处理的复杂性就会增加。然而,当实时要求更加宽松时,它为更简单、更精简的系统设计提供了机会,而无需牺牲功能或可靠性。

尽管安全性和保障都得到了解决(通过CANopen Safety和CANcrypt),但目前还没有提供这两者的标准化解决方案。CiA用户组目前拥有多个工作组,负责审查CAN、CAN FD和CAN XL安全通信的各个方面。

1

CAN的实时能力

CAN的实时性与其通信速度密切相关,并进一步受到其基于优先级的仲裁机制的影响。计算CAN帧传输时间并不是一项简单的任务;时间取决于数据字节数及其内容。这种复杂性的出现是因为可以根据帧的数据将填充位添加到帧中。因此,以下确定的值应被视为近似值,提供当前范围的一般意义。

重要的是要记住,您的最大比特率还取决于布线的物理拓扑,并且根据您的应用,单个控制周期所需的总传输可能包括两条传输路径:一条用于将数据输入到控制单元,另一条用于从控制单元到输出。

虽然本文重点关注CAN,但以下大多数注意事项也适用于CAN FD(灵活数据速率)和CAN XL变体。这两种协议都具有双比特率机制,进一步增强了它们的数据吞吐能力。然而,在讨论与时序相关的动态时,大多数考虑因素主要适用于“标称比特率”。这一基本比特率本质上确定了仲裁、确认和错误信令等控制信息的速度。对于使用CAN FD和CAN XL的用户来说,了解控制实际数据传输的“数据相位比特率”带来的额外复杂性至关重要。这些系统中的关键问题之一是确定长消息可能占用总线的最大持续时间,以及与最长的8字节经典CAN帧相比,该延迟可能要长多少。

CAN的最大速度为1Mbps,允许在一毫秒内交换十多个帧。相反,在125kbps的适度速率下,平均约为每毫秒一帧。除了传输时间之外,如果队列中有更高优先级的通信,信号或帧也可能会出现延迟。简而言之,最坏情况的传输时间是帧本身的传输时间与系统中最高优先级流量的最长序列所预期的延迟之和。这假设所有通信都发生在单个CAN总线上。如果信号需要通过网桥或网关转发,延迟会变得更长,甚至更难以预测。

消息优先级系统可能是一把双刃剑。然而,有一个解决办法:通过策略性地限制连续高优先级流量的持续时间,即使具有最低优先级的通信也可以以最小的延迟进行调度。这种方法可确保整个系统的数据交换一致且及时。

单独观察CAN(以及FD和XL变体),很明显原本它不是确定性的。产生高优先级帧的单个设备可能会阻止所有其他设备的通信。为了使CAN具有确定性,我们需要确保受控帧被触发——何时可以使用哪个CAN ID。要激活CAN的实时功能,请考虑以下设计目标。虽然这些指南可能会根据应用程序的具体情况而有所不同,但它们可以作为可靠的起点:

1

旨在将总体总线负载保持在一个水平,即使是低优先级帧也有足够的时间访问总线。虽然确切的阈值可能因应用程序而异,但我最初的建议是保持在75%以下的总线负载(如果通信纯粹基于状态更改,则总线负载会更少)。

2

确保没有单个节点可以生成连续消息的扩展流。一些驱动程序提供传输“节流阀”来限制最大传输速率。

3

对于那些需要对传输时序和源进行更精细控制的人,请考虑CANopen的SYNC模式。该模式支持触发消息,提供对传输调度的增强控制,允许类似于时间触发系统所使用的触发模式。

2

掌握基于CAN总线系统的时间动态

在明确了基于CAN的系统的各种用例及其各自的时间要求之后,将CAN配置与特定时间要求相匹配既是一门艺术,也是一门科学。下表总结了一些需要考虑的主要数据和因素。表的第一部分为您提供了各种比特率下预期的CAN时序和吞吐量的摘要——这全部适用于使用11bit CAN 消息标识符的经典CAN。事实上,即使在较低的比特率下,我们仍然在谈论每秒潜在的数千个CAN帧,这一事实永远不会让我感到惊讶。通信的空间如此之大,人们可以轻松掌握,通过一些关于如何使用所有这些“空间”的明确定义的参数,我们可以很好地设计具有实时能力的系统。

传输延迟的大致数据

表中还显示了潜在的传输延迟,并且取决于许多因素。因此,这只是针对特定用例的粗略估计,您需要根据自己的用例进行调整。第一行显示如果总线当前正在使用(仲裁已经开始,发送器来不及加入),即使是最高优先级也会有延迟。传输必须等待,直到当前帧完成。第二行显示仲裁延迟——如果有其他设备也尝试传输帧,我们需要等待多长时间?此处,我们显示了当前待传输的5个其他帧的延迟,如果使用节流机制来防止back-2-back传输,则这些帧具有更高的优先级,后面跟着一行进一步的延迟。在本文中,我们将进一步讨论如果您的应用中显示的延迟总和不可接受,可以采取哪些措施。

表的最后一部分显示了在处理CAN通信的设备上执行各种代码所导致的潜在处理延迟。这里我们假设使用具有集成CAN接口的现代32位MCU,运行速度为80Mhz或更快。在这种环境中,与处理CAN帧直接相关的代码执行通常是微不足道的。潜在的延迟来自于该MCU上“发生的其他事情”。

将这些知识转化为现实世界的系统性能需要可行的策略和考虑因素。以本系列文章第一部分中建立的基准(秒、100毫秒、10毫秒和1毫秒)为例,让我们回顾一下优化基于CAN的系统的实用建议。

掌握响应时间为100ms的CAN应用

该领域是CAN与CANopen等高层协议协同发挥潜力的真正领域。CANopen PDO(过程数据对象)通信机制为用户提供了灵活的控制,简化了报文内容和触发的配置。这些 PDO 促进节点之间的实时数据交换,优化通信效率。

对于这个响应时间,CAN ID分配和总体总线负载仍然至关重要,但并非绝对如此,因为它们不太可能导致接近100毫秒的延迟。系统架构的设计应使得即使具有最低优先级的消息也能及时访问总线,确保它们在规定的时间范围内传输。当我们探索这个中间立场时,审查潜在的高优先级消息突发变得越来越重要。连续的高优先级传输可能会主导总线,从而给低优先级消息带来延迟的风险。可以采用有效的避免或控制策略(例如限制每个节点在每个时间帧可以传输的内容或同步触发)来减轻这些突发,确保即使在系统扩展时也更加可预测和和谐的总线通信。

虽然许多非实时操作系统仍然可以实现100毫秒响应,但在这种情况下建议倾向于使用RTOS(如果操作系统是必需的,许多简单的IO设备通常不具备操作系统)。使用RTOS自然可以满足100毫秒响应窗口的要求。如果选择非RTOS,则必须进行严格和扩展的测试,以确保操作系统在所有可想象的操作环境下始终满足所需的响应时间。

在这个100毫秒响应时间框架内,软件和固件要求仍然相对宽松。特定的优化通常是不必要的;即使在高性能环境中被认为次优的驱动程序或堆栈实现(例如,不利用CAN制器硬件功能进行高级过滤和缓冲)也能充分满足该目的。

掌握响应时间为10ms的CAN应用

当我们进入10毫秒响应时间区时,对每个系统组件的精度和控制变得至关重要。这是对网络数据流进行详细审查至关重要的地方。

针对硬实时应用进行优化的时间触发网络通常是此类要求苛刻的场景中的首选。CANopen SYNC模式是模拟时间触发通信系统中使用的通信行为的有效方法。通过利用SYNC触发消息,它使特定节点能够在精确的时刻传输其关联的PDO消息,从而为系统通信带来可预测性和一致性。

虽然实时操作系统 (RTOS) 似乎是满足如此严格的时序要求的理想选择,但它也面临着一系列挑战。RTOS提供一系列配置选项,管理这些任务需要仔细协调。在这短短的10毫秒窗口内,该过程涉及传感器发送其当前数据,带有RTOS的控制设备接收和处理该数据,然后对其采取行动。

然而,仅仅使用RTOS并不能保证达到预期的结果。任务优先级和配置必须完全符合系统严格的时序要求。此外,对驱动程序功能、固件和堆栈结构的详细审查也至关重要。需要解决潜在的问题,例如优先级反转(队列中的低优先级消息可能会延迟高优先级消息)。高度优化的驱动程序可以解决优先级反转问题,但这可能会导致传输顺序发生变化。传输序列的变化对于某些高层协议可能会产生问题,需要仔细审查。

掌握响应时间为1ms的CAN应用

对于基于CAN的应用来说,冒险进入1ms响应时间领域就相当于踩在协议功能的边缘。这些应用程序真正突破了界限,需要无与伦比的优化水平和对每个细节的关注。

在这个门槛上,传统的方法和工具往往被证明是不够的。即使是一些通常擅长管理实时任务的 RTOS,也可能很难始终遵守这个严格的窗口。这就需要依赖于特定于微控制器的实现,其中大多数任务直接在中断服务例程中处理,绕过RTOS的典型层。

此级别所需的极高精度意味着许多系统配置可能需要进行硬编码,从而可能绕过CANopen等高层协议栈,否则会延迟处理。这还有助于避免配置处理带来的潜在延迟,确保最大程度的可预测性。必须明智地管理网络上传输的每个组件、消息和字节。

考虑到严格的要求,如果您的应用需要1ms响应时间,那么明智的做法是检查CAN之外的其他通信解决方案是否更适合您的需求,因为CAN应用于这个领域需要在开发时间、测试和优化方面投入大量精力。

/ 小结 /

Conclusion


本文强调了CAN协议在各种响应时间要求中的适应性和功能,对于响应时间超过秒的应用程序,不太强调精确计时,并且有关CAN ID使用、采用的高层协议或所选操作系统的决策通常对性能的影响不太明显。


然而,当我们达到100毫秒和10毫秒的更严格的时间限制时,系统设计考虑因素变得最重要。其中包括总线总负载、消息优先级以及CANopen SYNC模式等功能的战略使用。在要求严格的1毫秒响应时间域中运行时,系统的每个元素都需要仔细关注,甚至可能会促使重新评估所选的网络系统。


总之,了解应用需求、CAN固有优势以及相关时间限制之间的平衡至关重要。正是这些知识使 CAN 系统设计人员能够在不同的时间场景中做出明智的决策。


在本系列的下一篇也是最后一篇文章中,我们将深入探讨技术细节,研究 CANopen 源代码解决方案(例如Micro CANopen Plus)可用的配置和优化选项。我们将提供有关如何利用 CANopen固有优势来满足广泛的实时应用需求的实用见解。最后一部分将为读者提供切实可行的指南,帮助他们优化现实世界中的CANopen实施,以实现最短的处理时间。


虹科是一家在业自动化领域,特别是工业总线通讯行业经验超过15年的高科技公司。我们始终致力于为行业客户提供创新及前端的产品和技术解决方案,帮助客户轻松实现工业连接,为科技社会发展助力加码。


推荐阅读

虹科干货 | 平衡速度与优先级:为多样化的实时需求打造嵌入式网络(1)——选择正确的实时范围

2023-10-24

虹科干货 | 平衡速度和优先级:为多样化的实时需求打造嵌入式网络(2)——实时通信系统的需求

2023-10-26

虹科干货 | 颠覆传统有线通讯!虹科IO-Link wireless解决方案让智能机床的旋转部件摆脱线缆束缚

2023-10-12

虹科分享 | 赋能物流机器人:CANopen通信如何发挥重要作用?

2023-10-10

虹科快讯 | 实时操作系统INtime RTOS第7版已正式发布!快来Get有哪些新功能

2023-01-10

点击阅读原文,获取更多资料!

评论
  • 《高速PCB设计经验规则应用实践》+PCB绘制学习与验证读书首先看目录,我感兴趣的是这一节;作者在书中列举了一条经典规则,然后进行详细分析,通过公式推导图表列举说明了传统的这一规则是受到电容加工特点影响的,在使用了MLCC陶瓷电容后这一条规则已经不再实用了。图书还列举了高速PCB设计需要的专业工具和仿真软件,当然由于篇幅所限,只是介绍了一点点设计步骤;我最感兴趣的部分还是元件布局的经验规则,在这里列举如下:在这里,演示一下,我根据书本知识进行电机驱动的布局:这也算知行合一吧。对于布局书中有一句:
    wuyu2009 2024-11-30 20:30 116浏览
  • 11-29学习笔记11-29学习笔记习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-02 23:58 59浏览
  • 当前,智能汽车产业迎来重大变局,随着人工智能、5G、大数据等新一代信息技术的迅猛发展,智能网联汽车正呈现强劲发展势头。11月26日,在2024紫光展锐全球合作伙伴大会汽车电子生态论坛上,紫光展锐与上汽海外出行联合发布搭载紫光展锐A7870的上汽海外MG量产车型,并发布A7710系列UWB数字钥匙解决方案平台,可应用于数字钥匙、活体检测、脚踢雷达、自动泊车等多种智能汽车场景。 联合发布量产车型,推动汽车智能化出海紫光展锐与上汽海外出行达成战略合作,联合发布搭载紫光展锐A7870的量产车型
    紫光展锐 2024-12-03 11:38 88浏览
  • 遇到部分串口工具不支持1500000波特率,这时候就需要进行修改,本文以触觉智能RK3562开发板修改系统波特率为115200为例,介绍瑞芯微方案主板Linux修改系统串口波特率教程。温馨提示:瑞芯微方案主板/开发板串口波特率只支持115200或1500000。修改Loader打印波特率查看对应芯片的MINIALL.ini确定要修改的bin文件#查看对应芯片的MINIALL.ini cat rkbin/RKBOOT/RK3562MINIALL.ini修改uart baudrate参数修改以下目
    Industio_触觉智能 2024-12-03 11:28 66浏览
  • 戴上XR眼镜去“追龙”是种什么体验?2024年11月30日,由上海自然博物馆(上海科技馆分馆)与三湘印象联合出品、三湘印象旗下观印象艺术发展有限公司(下简称“观印象”)承制的《又见恐龙》XR嘉年华在上海自然博物馆重磅开幕。该体验项目将于12月1日正式对公众开放,持续至2025年3月30日。双向奔赴,恐龙IP撞上元宇宙不久前,上海市经济和信息化委员会等部门联合印发了《上海市超高清视听产业发展行动方案》,特别提到“支持博物馆、主题乐园等场所推动超高清视听技术应用,丰富线下文旅消费体验”。作为上海自然
    电子与消费 2024-11-30 22:03 93浏览
  • 在电子技术快速发展的今天,KLV15002光耦固态继电器以高性能和强可靠性完美解决行业需求。该光继电器旨在提供无与伦比的电气隔离和无缝切换,是现代系统的终极选择。无论是在电信、工业自动化还是测试环境中,KLV15002光耦合器固态继电器都完美融合了效率和耐用性,可满足当今苛刻的应用需求。为什么选择KLV15002光耦合器固态继电器?不妥协的电压隔离从本质上讲,KLV15002优先考虑安全性。输入到输出隔离达到3750Vrms(后缀为V的型号为5000Vrms),确保即使在高压情况下,敏感的低功耗
    克里雅半导体科技 2024-11-29 16:15 134浏览
  •         温度传感器的精度受哪些因素影响,要先看所用的温度传感器输出哪种信号,不同信号输出的温度传感器影响精度的因素也不同。        现在常用的温度传感器输出信号有以下几种:电阻信号、电流信号、电压信号、数字信号等。以输出电阻信号的温度传感器为例,还细分为正温度系数温度传感器和负温度系数温度传感器,常用的铂电阻PT100/1000温度传感器就是正温度系数,就是说随着温度的升高,输出的电阻值会增大。对于输出
    锦正茂科技 2024-12-03 11:50 97浏览
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 91浏览
  • 艾迈斯欧司朗全新“样片申请”小程序,逾160种LED、传感器、多芯片组合等产品样片一触即达。轻松3步完成申请,境内免费包邮到家!本期热荐性能显著提升的OSLON® Optimal,GF CSSRML.24ams OSRAM 基于最新芯片技术推出全新LED产品OSLON® Optimal系列,实现了显著的性能升级。该系列提供五种不同颜色的光源选项,包括Hyper Red(660 nm,PDN)、Red(640 nm)、Deep Blue(450 nm,PDN)、Far Red(730 nm)及Ho
    艾迈斯欧司朗 2024-11-29 16:55 174浏览
  • 概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解决的问题。本文在说明(三)的基础上,继续探讨为SiPM读出测试系统寻求合适的模拟脉冲检出方案。前四代SiPM使用的高速比较器指标缺陷 由于前端模拟信号属于典型的指数脉冲,所以下降沿转换速率(Slew Rate)过慢,导致比较器检出出现不必要的问题。尽管比较器可以使能滞回(Hysteresis)模块功
    coyoo 2024-12-03 12:20 86浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 118浏览
  • 作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!没错,USB资源就是你打开新世界得钥匙,它能做哪些扩展呢?1.1  USB扩网口通用ARM处理器大多带两路网口,如果项目中有多路网路接口的需求,一般会选择在主板外部加交换机/路由器。当然,出于成本考虑,也可以将Switch芯片集成到ARM核心板或底板上,如KSZ9897、
    万象奥科 2024-12-03 10:24 53浏览
  • 国产光耦合器正以其创新性和多样性引领行业发展。凭借强大的研发能力,国内制造商推出了适应汽车、电信等领域独特需求的专业化光耦合器,为各行业的技术进步提供了重要支持。本文将重点探讨国产光耦合器的技术创新与产品多样性,以及它们在推动产业升级中的重要作用。国产光耦合器创新的作用满足现代需求的创新模式新设计正在满足不断变化的市场需求。例如,高速光耦合器满足了电信和数据处理系统中快速信号传输的需求。同时,栅极驱动光耦合器支持电动汽车(EV)和工业电机驱动器等大功率应用中的精确高效控制。先进材料和设计将碳化硅
    克里雅半导体科技 2024-11-29 16:18 175浏览
  • 学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&
    youyeye 2024-11-30 14:30 75浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 107浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦