主要内容

本页采用了机器翻译。点击此处可查看英文原文。

UDP 传输协议

Simulink® Real-Time™ 软件支持通过用户数据报协议 (UDP) 数据包,实现从 Speedgoat® 目标计算机到其他系统或设备的通信。UDP 是一种传输协议,它提供了一种在 IP 网络上直接发送和接收数据包的方法。UDP 采用这种直接方法,但为此牺牲了可靠性,因为它限制了错误检查和恢复机制。

UDP 是一种构建在互联网协议 (IP) 之上的传输协议。它通常被称为 UDP/IP。

  • 数据包 — UDP 是一种面向数据包的协议。将数据划分为数据包,然后由协议将它们发送给接收方。

  • 无连接 — UDP 是一种无连接协议。该协议在向接收方发送数据包时,不会检查接收方是否已准备好接收该数据包。如果接收方尚未准备就绪,该数据包就会丢失。

  • 无错误检测——UDP 不支持错误检测。该协议发送数据包,但不对其进行追踪。如果数据包到达顺序混乱,或者在传输过程中丢失,接收端或发送端都无法得知。

UDP 通信要求发送方识别接收方。如果找不到接收方,或者传输过程中通信中断,则该数据包将被丢弃。

在描述 UDP 时,可靠不可靠这两个词具有特定的含义。

  • 可靠意味着无法保证该协议一定会成功。这并不意味着该协议总能成功。

  • 不可靠是指协议数据包可能无法送达,而系统却无法检测到这些数据包未送达的情况。这并不意味着协议数据包通常无法送达。

只要接收方处于活动状态,UDP 就会持续接收数据包,并以数据到达的速度即时处理。

由于其轻量化的特性,UDP 是一种常用的传输层协议。当从 Simulink Real-Time 调用时,UDP 能为实时应用程序提供较高的成功执行概率。此外,UDP 的数据报特性非常适合发送由 Simulink Coder™ 软件生成的实时应用程序的数据样本。如果实时应用程序无法以数据到达的速度进行处理,则仅使用最新的一包数据。较早的数据包将被忽略。

您可以使用 Simulink 数据类型(例如 doubleint8int32uint8 或这些数据类型的组合)来构建数据包。Simulink Real-Time 库提供了用于将各种信号组合成一个数据包(打包),然后进行传输的模块。它还提供了用于将数据包拆分(解包)为各组件信号的模块,您随后可以在 Simulink 模型中使用这些信号。

上述信息适用于与共享以太网卡的通信以及与专用以太网卡的通信。建议添加一块专用以太网卡,以获得比使用共享以太网卡更高的通信性能。共享 UDP 通信与开发计算机和目标计算机之间的链路共享带宽。

另请参阅

|

主题