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

现代实时应用的复杂性和需求不断增加,需要强大而可靠的通信系统。正如本系列第一部分所述,这些应用涵盖从秒到毫秒的广泛响应时间要求,它们的成功通常取决于其响应的精确时间。因此,所选的通信系统必须能够满足这些严格的时序限制。然而,实现所需的实时能力并不是唯一的考虑因素。很多情况下,这些系统还需要保证用户、设备和周围环境的安全。此外,鉴于威胁形势日益严峻,确保这些通信系统的安全也变得同样重要。平衡实时响应、安全性和保障是一个多方面的挑战。因此,在本系列的第二部分中,我们将研究使通信系统能够满足这些需求的具体属性和注意事项。

随着时间的推移,对实时通信系统的要求不断发展并且变得更加严格。早期,主要关注点是以合理的可靠性水平实现实时要求。如果系统能够在指定的时间范围内处理和传输数据,即使偶尔发生错误,通常也被认为是足够的。随着技术的进步和系统变得更加复杂,对安全的需求变得显而易见。“稍微可靠”已不再足够,特别是对于人身安全、产品质量或系统操作受到威胁的应用。为了解决这些问题,开发了特定的协议,以确保实时系统即使在出现故障或中断的情况下也能安全运行。

安全的重要性日益凸显,特别是在车辆或医疗设备等关键应用中。最近,随着实时系统越来越互连,甚至可以通过互联网访问,安全性成为另一个重要的考虑因素。由于存在网络攻击和未经授权访问的可能性,因此不仅需要保护数据,还需要保护通信系统本身的完整性和可用性。

如今,一个全面的实时通信系统必须满足所有三个标准:实时响应性、安全性和保密性。在为任何实时应用设计嵌入式通信系统时,不再建议从头开始。曾经,开发人员采取临时方法很常见,例如重新利用其中一个串行端口以在多个节点之间共享它,从而有效地创建 RS485 式网络。然而,这种方法无法适应实时系统日益增加的复杂性。

1. 有普遍适用的方案吗?
遗憾的是,没有一种网络技术能够普遍适用于所有应用。每种应用都有其独特的要求和限制,因此有必要仔细评估和选择适当的通信技术和协议。因此,必须考虑应用程序的具体需求,并将其与最合适的可用网络技术相匹配,同时考虑所需的吞吐量、实时响应性、安全性和保密性等因素。

2. 有多少数据?多久1次?
首先,评估系统的整体架构。除了实时要求和必须执行完整控制步骤的时间范围外,还要考虑所需输入和输出的总数、它们之间的距离以及每个时间范围内和设备之间需要交换的信号数量及其数据长度。一般来说,不建议将任何系统推向“极限”,因此您选择的任何网络技术都应该具有足够的能力来适应应用程序随时间的增长。

3. 有安全保障的要求吗?
一旦您为您的应用确定了适用的时间范围,确定需要采取哪些安全措施就至关重要。如果您的应用程序必须遵守特定的安全标准或认证,您对通信网络的选择范围将自动缩小。在本文中,我们重点讨论实时性要求。在进行研究时,请仔细检查最新进展,因为所有活跃的现场总线组织和委员会都在不断致力于提高安全性和保障性。

4. 有同步要求吗?
考虑是不是任何信号都需要同步,这意味着应在同一时刻捕获输入。对于组合了多个输入的应用,同步至关重要。在实时通信系统中,同步在确保准确的数据传输和解释方面发挥着重要作用。一些应用程序因其性质而需要同步(例如,同步同时处理同一材料的多个操纵器),而其他影响可能更微妙:假设模拟传感器根据其内部计时器每100毫秒生成输入数据的场景,该数据也每100毫秒传输到网络上一次,由单独的网络计时器触发。如果这些计时器不同步,它们可能会逐渐偏离,导致两种可能的情况:

重复数据传输:如果网络计时器的窗口短于传感器的窗口,则在网络准备好传输时传感器可能尚未生成新的输入数据。在这种情况下,相同的数据可以传输两次。
数据丢失:如果传感器的计时器窗口短于网络的计时器窗口,则可能会在传输前一个值之前生成新值。这种情况可能会导致数据跳过或丢失。

这些场景的影响很大程度上取决于信号及其使用情况。例如,如果该值代表温度并且主处理单元只需要知道它是否落在正确的范围内,则这些场景没有任何影响。然而,如果它是一个计数器或代表波的快速变化的信号,丢失或重复的数据可能会产生严重的后果。

5. 其他考虑因素
选择实时通信系统时,还有许多额外的考虑因素:现成的产品、开发和诊断工具是否随时可用?它可以轻松地与现有(或计划的)系统集成吗?如果需要单毫秒的硬实时,则这种集成可能需要“更深入”到系统中,可能需要在硬件的最低级别定制软件。

了解应用程序的具体要求(实时响应性、安全性、系统架构和同步)可以指导您选择合适的通信网络。除了广泛认可的现场总线之外,许多网络通常由制造商或联盟制作,以满足特定应用或行业的需求。它们可能提供针对某些应用程序需求量身定制的独特功能、专用协议或专有技术。

例如,控制器局域网 (CAN) 是一种多功能通信协议,通过其专用协议支持众多应用。J1939 等协议适合商用车辆(如建筑、农业),标准化消息格式和信号,以方便制造商制作可互操作的组件。NMEA 2000 由美国国家海洋电子协会 (NMEA) 开发,有助于海洋电子设备的集成,简化复杂海洋系统的配置和管理。CANaerospace 专为航空航天而设计,可满足航空电子系统的独特需求,确保飞机上可靠的数据交换。
CANopen协议具有灵活性,拥有许多设备和应用配置文件,例如电梯、紧急车辆的配置文件和垃圾收集车辆的CleANopen。这些配置文件决定了设备或整个应用程序的通信行为和数据结构,从而简化了开发过程。

除了CAN之外,还有大约10多种不同的解决方案用于支持以太网的实时通信,每种解决方案都针对不同的应用。一般来说,如果您的应用程序的实时要求大约为100毫秒或更长,您就有多种选择,因为大多数嵌入式通信网络或现场总线都可以满足这些要求,即使对于更广泛的系统也是如此。然而,对于大型机械(跨越数百米或更远的电缆),仔细检查通信运行时间和吞吐量至关重要。

总结
对于严格的实时性要求,短至10ms甚至更短,必须认真审查哪些网络技术可以满足您的需求。通常,时间触发的通信系统(可在CAN、以太网和其他平台上使用)是最具确定性的。这里,每个有实时性要求的信号都被分配一个专属时隙,确保信号传输的可预测性。

作为CAN和CANopen通信领域的专家,本系列的下一部分将重点介绍CAN和CANopen,作为许多可用嵌入式通信系统的示例。后续的文章中将探索它对具有实时要求的不同系统的适用性,强调可实现的响应时间、需要仔细关注的领域以及突破界限的情况,建议对替代方案进行评估。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/158446.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

API之 要求接口上传pdf 以 合同PDF的二进制数据,multpart方式上传

实现 //时间戳13位毫秒private function getMillisecond() {list($s1,$s2) explode( ,microtime());return (float)sprintf(%.0f,(floatval($s1) floatval($s2)) * 1000);}// 组装参数private function gysscPost1($url,$data){// $data[timestamp] 1694402111964;$data[tim…

自然语言处理常用方法和评价指标

常用方法 文本分类:如情感分析、主题标签分类。使用方法如朴素贝叶斯、支持向量机、神经网络等。信息提取:从文本中提取结构化信息,如命名实体识别(NER)、关系提取。语义分析:理解文本的含义,包…

怎么批量提取文件名字到Excel中?

怎么批量提取文件名字到Excel中?Excel是由微软公司开发的一种电子表格软件,它是Microsoft Office办公套件的一部分。Excel提供了强大的数据处理和分析功能,用户可以使用Excel创建、编辑和管理电子表格,进行各种计算、数据分析、图…

【C++ 学习 ㊴】- 详解 C++ 的 I/O 流

目录 一、C 的 I/O 流 二、C 的标准 I/O 流 三、C 的文件 I/O 流 一、C 的 I/O 流 C 语言有一套完成数据读写(I/O)的解决方案: 使用 scanf()、gets() 等函数从键盘读取数据,使用 printf()、puts() 等函数向屏幕输出数据&#…

909-2014-T2

文章目录 1.原题2.算法思想3.关键代码4.完整代码5.运行结果 1.原题 二叉树采用二叉链表存储结构,设计算法,判断二叉树是否为满二叉树。叙述算法思想并给出算法实现。 2.算法思想 通过一次遍历,得到结点个数和树的高度。用结点个数和树的高…

C/C++ 实现:自然排序:针对两个需要排序的字符串,不仅逐个比较每个字符的顺序,对于连在一起的数字字符会作为一个完整数字进行比较 某知名企业的笔试题

目录 题目描述: 分析: 代码实现: 完整代码: 运行结果: 题目描述: 下面是一个自然排序函数的声明,请实现该函数; 自然排序是指:针对两个需要排序的字符串,不仅逐个比较每个

linux驱动开发.之spi测试工具spidev_test源码(一)

同i2c-tools工具类似,spidev_test是用来测试SPI BUS的用户态程序,其源码存在kernel目录下的tools下,具体为tools\spi\spidev_test.c。buildroot同样也提供名为spidev_test的package,可以直接进行编译,方便用户调试spi总…

Maven optional的作用

Maven optional的作用 这里的optional作用,可参考How do optional dependencies work?。 Project-A -> Project-BThe diagram above says that Project-A depends on Project-B. When A declares B as an optional dependency in its POM, this relationship …

Python-对象与json互转-json读写-文件读写

文章目录 1.json2.类对象序列化3.调用exe进行数据交换4.总结 1.json JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999…

全国市政公用事业和邮政、电信业发展数据,shp/excel格式

随着城市化进程的加速和人们对城市生活品质要求的提高,市政公用事业和邮政、电信业发展越来越受到关注。 今天我们来分享全国市政公用事业和邮政、电信业发展数据,为读者呈现一个更加全面的行业发展图景。 首先了解下数据的基本信息,格式为s…

2023亿发数字化智能工单,专业管理工单处理全流程,助力企业转型腾飞

伴随着智能化和信息化的不断深入,企业数字化转型势如腾飞。在这个过程中,工单管理成为生产、家电、后勤等多个管理场景下频繁应用的关键环节。如何满足管理方对设备、服务等智能化管理的需求,提升工单管理效率、规范管理流程,并实…

nginx:413 Request Entity Too Large

修改配置文件 nginx.conf,根据自己的实际情况修改大小 http {client_max_body_size 10m; }配置完成后重启nginx 参考文章 解决 413 Request Entity Too Large(请求实体太大)

Fiddler模拟弱网环境

1.设置弱网:Rules-》Customize Rules 上传速度:1KB/300ms1KB/0.3s3.33KB/s 下载速度:1KB/150ms1KB/0.15s6.67KB/s 2.启动弱网:Rules-》Performance-》Simulate Modem Speeds 开启后,此项为勾选状态 3.验证弱网生效…

光量子计算再创融资高峰!法国 Quandela获投5000万欧元

​(图片来源:网络) 法国光量子计算公司Quandela致力于开发首台光量子计算机,目前已获得超过5,000万欧元的巨额融资。投资者包括通过“法国2030计划”获得的法国政府支持以及银行合作伙伴、个人。新的投资者包括法国投资公司Seren…

第十九章 绘图

目录 Java绘图类 Graphics 类 Graphics2D类 绘制图形 绘图颜色与画笔属性 设置颜色 设置画笔 绘制文本 设置字体 显示文字 显示图片 图像处理 放大与缩小 图像翻转 图像旋转 图像倾斜 Java绘图类 Graphics 类 Grapics 类是所有图形上…

Idea 2023.2.5配置(插件、Maven等)

IDEA2023.2.5配置 一. 插件Alibaba Java Coding Guidelines plugin supportMaven HelperMyBatisXSonarLintTranslationVuesion Theme 二. 自定义创建live template,快速写代码三. 修改全局配置3.1 Maven配置3.1.1 安装MavenStep1. 下载Step2. 安装Step3. 创建系统环…

NV080D语音芯片:让智能快递柜取件更便利

随着互联网的普及和电子商务的迅速发展,网购消费已经成为了越来越多人的选择。这也催生了一个庞大的“网购一族”,他们购买的各种商品会通过快递公司送到家门口。然而,收取快递往往也伴随着一系列问题。比如,派送时间和收件人取件…

全职RISC-V芯片D1开发板使用adb串口COM连接设备和文件上传下载

将两个USB端口都连接到工作电脑 推荐使用ADB工具访问开发板,下载连接如下: Windows版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip Mac版本:https://dl.google.com/android/repository/pla…

详解python淘宝秒杀抢购脚本程序实现

文章目录 前言一、官网下载火狐浏览器二、下载geckodriver,并解压到火狐浏览器文件夹根目录三、添加火狐浏览器根目录到系统环境变量四、下载并安装python及pycharm开发工具五、进入淘宝六、使用Pycharm运行脚本,新建python文件,将代码复制到…