虹科分享 | 平衡速度和优先级:为多样化的实时需求打造嵌入式网络(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,作为许多可用嵌入式通信系统的示例。后续的文章中将探索它对具有实时要求的不同系统的适用性,强调可实现的响应时间、需要仔细关注的领域以及突破界限的情况,建议对替代方案进行评估。

你可能感兴趣的:(CAN,CANopen,实时通讯,工业通讯,嵌入式开发)