主要内容

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

精密时间协议

测量与控制系统越来越多地采用分布式系统技术。为了将测量或控制任务分配给相互连接的计算设备,此类系统会维护全系统的统一时间基准。Simulink® Real-Time™ 使用精密时间协议 (PTP) 将每台 Speedgoat® 目标计算机的系统时钟与参考时间进行同步。

PTP (IEEE® 1588) 是一种用于在计算机网络中同步 PTP 时钟的协议。PTP 的当前版本 (IEEE 1588-2008) 描述了一种用于时钟分配的分层架构。

从设计上讲,该协议在本地系统中的精度高于网络时间协议 (NTP),且比全球定位系统 (GPS) 更可靠。在局域网中,该协议可实现亚微秒级别的 PTP 时钟精度,因此适用于分布式测量。当您使用此协议在多台目标计算机上同步 Simulink Real-Time 应用程序时,其执行同步精度可达 10 µs 以内。

假设您正在为一座风力发电厂设计一个控制系统。为了确定工厂参数,您需要安装传感器来采集图中所示的数据。

要记录数据和时间戳,请将传感器连接到一组数据采集目标计算机上。通过以太网和支持 PTP 协议(PTP 透明时钟或边界时钟)的交换机,将数据采集计算机相互连接。要访问数据和时间戳,请通过另一个以太网网络和交换机将目标计算机连接到一台 MATLAB® 开发计算机。在开发计算机上,运行 MATLAB 进行数据分析,包括:

  • 按时间对不同计算机上记录的数据进行排序,以分析事件随时间推移的序列。

  • 过滤具有无效(未同步)时间戳的传感器数据。

  • 对来自连接到不同计算机的传感器、在同一时间采集的测量值进行积分。

最后,您需要将实时应用程序编译并下载到每台目标计算机上,运行这些应用程序,并在每个有效时间戳处收集并分析结果。利用这些结果,设计一套风力发电机控制系统。

Simulink Real-Time 通过使用 RTOS PTP 守护进程来支持 PTP 协议。ptpd 守护进程实现了 IEEE 1588-2008 标准中定义的精密时间协议 (PTP) 第 2 版。

有关该守护进程的更多信息,请参阅 Target.ptpd 对象。

有关使用基于 Linux® 的实时操作系统 (RTOS) 的目标计算机上的守护进程的更多信息,请参阅 Target.ptpd 对象。

要同步目标计算机的 PTP 时钟:

  1. 使用目标计算机的 Intel® i210 以太网卡将其连接起来。

  2. 在负责发送时钟的目标计算机上,使用 start(target_object.ptpd) 命令或 target_object.ptpd.AutoStart 属性启动 PTP 守护进程。

  3. 在接收时钟的目标计算机上,使用 start(target_object.ptpd) 命令或 target_object.ptpd.AutoStart 属性启动 PTP 守护进程。

在接收时钟的目标计算机上,PTP 协议会将其时钟与发送时钟的目标计算机上的 PTP 协议进行同步。来自 Intel i210 以太网卡的硬件时间戳提供了符合 IEEE 1588-2008 标准的时钟同步功能。

要获取有关时钟同步的信息,请在模型中添加一个 IEEE 1588 Read Parameter 模块。该模块输出您所选定的精密时间协议 (PTP) 参数值。有关详细信息,请参阅 IEEE 1588 Read Parameter

另请参阅

|

主题

外部网站