虹科干货|基于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

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

评论
  • 日前,商务部等部门办公厅印发《手机、平板、智能手表(手环)购新补贴实施方案》明确,个人消费者购买手机、平板、智能手表(手环)3类数码产品(单件销售价格不超过6000元),可享受购新补贴。每人每类可补贴1件,每件补贴比例为减去生产、流通环节及移动运营商所有优惠后最终销售价格的15%,每件最高不超过500元。目前,京东已经做好了承接手机、平板等数码产品国补优惠的落地准备工作,未来随着各省市关于手机、平板等品类的国补开启,京东将第一时间率先上线,满足消费者的换新升级需求。为保障国补的真实有效发放,基于
    华尔街科技眼 2025-01-17 10:44 221浏览
  •  光伏及击穿,都可视之为 复合的逆过程,但是,复合、光伏与击穿,不单是进程的方向相反,偏置状态也不一样,复合的工况,是正偏,光伏是零偏,击穿与漂移则是反偏,光伏的能源是外来的,而击穿消耗的是结区自身和电源的能量,漂移的载流子是 客席载流子,须借外延层才能引入,客席载流子 不受反偏PN结的空乏区阻碍,能漂不能漂,只取决于反偏PN结是否处于外延层的「射程」范围,而穿通的成因,则是因耗尽层的过度扩张,致使跟 端子、外延层或其他空乏区 碰触,当耗尽层融通,耐压 (反向阻断能力) 即告彻底丧失,
    MrCU204 2025-01-17 11:30 182浏览
  • 2024年是很平淡的一年,能保住饭碗就是万幸了,公司业绩不好,跳槽又不敢跳,还有一个原因就是老板对我们这些员工还是很好的,碍于人情也不能在公司困难时去雪上加霜。在工作其间遇到的大问题没有,小问题还是有不少,这里就举一两个来说一下。第一个就是,先看下下面的这个封装,你能猜出它的引脚间距是多少吗?这种排线座比较常规的是0.6mm间距(即排线是0.3mm间距)的,而这个规格也是我们用得最多的,所以我们按惯性思维来看的话,就会认为这个座子就是0.6mm间距的,这样往往就不会去细看规格书了,所以这次的运气
    wuliangu 2025-01-21 00:15 186浏览
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 112浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 101浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 41浏览
  • Ubuntu20.04默认情况下为root账号自动登录,本文介绍如何取消root账号自动登录,改为通过输入账号密码登录,使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持OpenHarmony5.0及Linux、Android等操作系统,接口丰富,开发评估快人一步!添加新账号1、使用adduser命令来添加新用户,用户名以industio为例,系统会提示设置密码以及其他信息,您可以根据需要填写或跳过,命令如下:root@id
    Industio_触觉智能 2025-01-17 14:14 122浏览
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 399浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 55浏览
  • 数字隔离芯片是一种实现电气隔离功能的集成电路,在工业自动化、汽车电子、光伏储能与电力通信等领域的电气系统中发挥着至关重要的作用。其不仅可令高、低压系统之间相互独立,提高低压系统的抗干扰能力,同时还可确保高、低压系统之间的安全交互,使系统稳定工作,并避免操作者遭受来自高压系统的电击伤害。典型数字隔离芯片的简化原理图值得一提的是,数字隔离芯片历经多年发展,其应用范围已十分广泛,凡涉及到在高、低压系统之间进行信号传输的场景中基本都需要应用到此种芯片。那么,电气工程师在进行电路设计时到底该如何评估选择一
    华普微HOPERF 2025-01-20 16:50 73浏览
  • 现在为止,我们已经完成了Purple Pi OH主板的串口调试和部分配件的连接,接下来,让我们趁热打铁,完成剩余配件的连接!注:配件连接前请断开主板所有供电,避免敏感电路损坏!1.1 耳机接口主板有一路OTMP 标准四节耳机座J6,具备进行音频输出及录音功能,接入耳机后声音将优先从耳机输出,如下图所示:1.21.2 相机接口MIPI CSI 接口如上图所示,支持OV5648 和OV8858 摄像头模组。接入摄像头模组后,使用系统相机软件打开相机拍照和录像,如下图所示:1.3 以太网接口主板有一路
    Industio_触觉智能 2025-01-20 11:04 150浏览
  • 本文介绍瑞芯微开发板/主板Android配置APK默认开启性能模式方法,开启性能模式后,APK的CPU使用优先级会有所提高。触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。源码修改修改源码根目录下文件device/rockchip/rk3562/package_performance.xml并添加以下内容,注意"+"号为添加内容,"com.tencent.mm"为AP
    Industio_触觉智能 2025-01-17 14:09 164浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦