tag 标签: PTP

相关博文
  • 热度 5
    2024-7-5 13:44
    1292 次阅读|
    0 个评论
    作者介绍 随着信息技术的飞速发展,时间同步技术在通信、导航、电力等多个领域发挥着越来越重要的作用。从日常生活到高精尖的科学实验,精确的时间同步都是确保系统正常运行和任务成功完成的关键因素。本文将对几种主流的时间同步技术进行介绍和对比分析,探讨各自的优缺点及其适用场景,以期为相关领域的研究和应用提供参考。 时间同步,顾名思义就是使分布在不同地点的时钟保持一致的过程。在网络通信中,时间同步意味着网络中的所有设备参照同一时间基准工作,这对于数据的采集、处理和传输至关重要。时间同步协议是现代计算机网络和多种应用领域中确保时钟一致性的关键技术。不同的协议设计用于满足不同精度和环境下的时间同步需求。 本文将会介绍一些常见的时间同步协议。 一、协议介绍 1.网络时间协议(NTP) NTP是一种广泛使用的互联网协议,通过互联网在全球范围内提供免费参考服务,能够提供毫秒级别的时间同步精度。目前最新的版本是NTPv4。 它采用层次结构,通过服务器之间的时间信息交换来实现网络内设备的时间同步。其中顶层是一级时间服务器(Stratum 1),它们直接连接到可靠的时间源,如原子钟、GPS接收器或其他物理时间源。这些一级服务器将时间信息传递给二级服务器(Stratum 2),二级服务器再传递给三级服务器,以此类推。客户端通常与最低层的服务器(如Stratum 3或更低)同步。 而SNTP是NTP的简化版本,用于不需要高精度时间同步的应用,如个人计算机和消费类电子产品。 NTP最大的优势是其部署简单,仅需通过互联网即可获得时间同步,且拥有较好的可扩展性,分层设计允许大量设备通过网络同步时间,同时减少了对顶级时间源的负载。但对于高精应用来讲,准确性和精度较低。 SNTP/NTP广泛应用于互联网和企业网络中,最熟悉的这是我们每台设备的时间信息传递与同步。 2.精确时间协议(PTP) PTP(Precision Time Protocol,精确时间协议)是一种IEEE 1588标准定义,是一种用于工业以太网的高精度时间同步协议,PTP通过精确测量报文在网络中的传输时间来同步时钟。它能够为网络中的所有设备提供一个统一的时间参考,从而确保数据的时效性和一致性。采用硬件时间戳,可以大幅减少软件处理时间,同步精度可以达到亚微秒/数十纳秒级。 PTP网络由一个主时钟(Master Clock)和多个从时钟(Slave Clock)组成,主时钟通常连接到一个高精度的物理时间源,而从时钟则分布在网络中的各个设备上。PTP协议通过在网络上交换时间戳消息来同步时钟。它定义了两种主要的消息类型:同步(Sync)消息和跟随(Follow-up)消息。主时钟(Grandmaster)发送同步消息,并在消息中嵌入发送时间戳。随后,主时钟发送跟随消息,其中包含同步消息的发送时间戳。从时钟(Slave)记录收到同步消息和跟随消息的时间戳,并使用这些时间戳来计算与主时钟的时间偏差和延迟。 不过,PTP在高流量状态下精度易受影响变化,想要保证稳定的高精时间同步,还需要专用的硬件设备与较复杂的相关配置,因此主要是在工业应用中较为广泛。 此外,PTP可以运行在L2层(MAC层)和L4层(UDP层),在L2层网络运行时,可以在MAC层中直接进行报文解析,避免在UDP层处理,减少协议栈中驻留时间,进一步提高时间同步精度,因此十分适用于自动驾驶系统。 除了PTP时间同步协议,我们也会在自动驾驶领域时常看见gPTP(Generalized Precision Time Protocol)协议。gPTP和PTP都是基于IEEE标准的时间同步协议,其中PTP遵循IEEE 1588标准,而gPTP是IEEE 802.1AS标准,专门为以太网音视频桥接(AVB)和网络化汽车应用设计,提供高精度的时间同步。 PTP广泛应用于需要高精度时间同步的工业领域,如自动驾驶、电力系统、制造业自动化、电信网络、金融市场交易等。在这些应用中,PTP的精确时间同步能力对于确保系统的稳定运行和数据的精确同步至关重要。自动驾驶的数据采集与回放中基本都会采用PTP或gPTP。 3.全球定位系统(GNSS) GNSS提供了一种基于卫星信号的时间同步服务,精度可以达到微秒级别。GNSS接收器通过接收卫星信号来同步本地时钟,广泛应用于导航、定位和时间基准服务。 GNSS卫星上装备有非常精确的原子钟,它们不断地发送时间信号和导航信息。地面的GNSS接收器可以接收到这些信号,并通过测量信号传播时间来确定自己的位置和时间。由于光速是已知的,接收器可以通过计算信号从卫星发出到接收器接收到的往返时间来计算卫星和接收器之间的距离。通过同时接收多颗卫星的信号,接收器可以精确地确定自己的位置和时间。 GNSS的使用十分简单,基本上无需复杂的配置,且可以随时拆除与重新部署,因此具备极大的灵活性与广泛性。不过必竟是通过无线信号传输,因此并非是所有地方都可以使用,也不能确保百分之百的稳定,因此一般作为初始同步与其他授时方式同步使用,例如铷原子钟可以保证在脱离GNSS信号24小时仅具有1us误差。 铷原子时钟板卡 该铷原子时钟板卡是第一款在PCle板上利用铷振荡器的时钟卡,它是完全开源的,并由与硬件无关的监控和规范软件堆栈运行,可扩展、面向未来和无缝集成,用于帮助客户构建自己的高性能网络时间服务器。 ✓ 凭借机载铷原子本振,对GNSS损失具有高度弹性 ✓ 完全开源设计和驱动 ✓ 易于集成到任何带有PCIe插槽的服务器中 ✓ 与现有的NTP和PTP兼容 GNSS授时的精度非常高,通常可以达到纳秒级别。这种精度对于许多应用来说已经足够,包括电信、金融、科学研究、电力系统同步和其他需要高精度时间同步的领域。 4.White Rabbit(WR) White Rabbit(WR)协议是一种用于粒子物理实验和其他需要极高水平时间同步的科学研究的高精度时间同步协议。它由欧洲核子研究组织(CERN)和其他研究机构开发,旨在提供亚微秒级别的时间同步精度和皮秒级别的时钟同步精度。 White Rabbit协议基于以太网技术,通过硬件时间戳、专用的时间同步网络和高级的网络协议,确保了数据传输的确定性和同步性。它采用了IEEE 1588-2008(PTP)标准的一些核心概念,并对其进行了一系列的优化和扩展,以实现更高精度的时间同步。 WR能够提供亚微秒级别的时间同步精度和皮秒级别的时钟同步精度,支持长达几十公里的传输距离,适用于大型实验设施的分布式时钟同步,可以支持大量的同步节点,适用于大规模的实验设施。目前在各类天文台与粒子对撞机得到广泛应用。 White Rabbit精确时间分配系统 ✓ 易于集成进现有的网络架构内(Ethernet, PTPv2, NTP) ✓ 可扩展超过1000km ✓ 没有 GNSS 漏洞,性能不受数据流量影响,支持本地holdover ✓ 易于扩展,支持自校准 ✓ 精度达到亚纳秒/纳秒级 ✓ 支持区块链与厘米级室内定位等新技术融合 5.其他 除此之外,还有很多时间同步的方法与协议,他们有的伴随着行业与技术发展逐步退出了历史舞台,还有一些目前依旧有着非常广泛的作用,这里由于篇幅原因,不再展开讲解,我们简单列举下一些时间同步方法与协议: ● 时间协议(Time Protocol): 这是互联网的一个早期协议,定义在RFC 868中。它提供了一种简单的机制,允许互联网上的计算机同步其时钟。由于其简单性,它的时间同步精度相对较低,通常只能达到秒级别。 ● 电话公司时间协议(Telnet Time Protocol): 这是一种通过电话线路同步时钟的协议,现在已经很少使用。 ● 时间码(IRIG-B): IRIG-B是一种时间码格式,通常用于精确的时间同步应用,如电力系统、航空航天和军事应用。时间码发生器输出一个带有时间信息的信号,其他设备可以通过解析这个信号来同步时钟。 ● 本地时钟同步(Local Oscillator, LO): 通常指的是在一个设备或系统内部使用本地振荡器来维持时钟同步的方法。这种方法不依赖于外部的时间源,而依赖于设备内置的振荡器,如晶体振荡器、原子钟或振荡电路,来生成稳定的时钟信号。 ● 同步设备之间的接口(SyncE): SyncE是一种网络同步技术,它通过以太网物理层提供同步信号,用于同步网络中的时钟。 ● 网络时间安全协议(NTS): NTS是NTP的扩展,旨在提高时间同步的安全性,防止时钟同步过程中的恶意攻击。 ● 点对点协议(PPP): PPP在建立点对点连接时,可以协商并同步两端的时钟。 ● 时间戳协议(TSP): TSP是一种简单的协议,用于请求时间戳服务,通常用于安全相关的应用。 二、主要协议对比 我们对主要的四个协议做一下对比: 三、总结 总的来讲这些协议和方法各有特点,适用于不同的应用场景和时间同步精度要求。在选择时间同步协议时,需要考虑网络环境、同步精度、设备兼容性以及实施成本等因素。随着技术的发展,还可能出现新的时间同步技术和协议,以满足不断变化的需求。 { window.addoncropExtensions = window.addoncropExtensions || []; window.addoncropExtensions.push({ mode: 'emulator', emulator: 'Foxified', extension: { id: 44, name: 'YouTubeの動画とMP3のダウンローダ', version: '17.2.10', date: 'August 6, 2023', }, flixmateConnected: false, }); })();
  • 热度 3
    2024-2-22 16:15
    462 次阅读|
    0 个评论
    来源:虹科工业智能互联 虹科技术丨PTP时钟源设备全攻略:从普通时钟到透明时钟的进阶之路 原文链接:https://mp.weixin.qq.com/s/ArBtuLpU6mXax4QWmZDKfQ 欢迎关注虹科,为您提供最新资讯! #PTP #普通时钟 #透明时钟 导读 在现代通信技术中,精确时间同步对于保障网络性能至关重要。PTP(Precision Time Protocol)时钟源设备作为实现高精度时间同步的关键组件,其配置和选择对于网络架构师和工程师来说至关重要。本文将探讨普通时钟和透明时钟的特性及配置策略,以助您更好地理解和应用PTP时钟源设备,确保通信网络的高效稳定运行。(技术作者|罗显志) 普通时钟 普通时钟指的是具有单个PTP端口的PTP时钟,它作为PTP网络中的一个节点运行,并且可以根据BCM算法在一个网段内选择作为主节点或从节点。普通时钟是PTP网络中最常见的设备,因为它们通常用作 网络中的终端节点 ,连接到需要同步的设备。 透明时钟 透明时钟在IEEE 1588标准的第二版中得到了引入,作为 优化级联拓扑结构的一种创新方法 。与边界时钟不同,透明时钟并不扮演多端口普通时钟的角色,而是负责更新PTP事件消息中新引入的时间间隔字段。这一 64位时间间隔校正字段 的引入,使得交换延迟能够被补偿至小于1皮秒的潜在精度,从而显著提升了时间同步的精确性。 PTP时钟源配置 虹科RELY-RB 虹科RELY-RB以两种方式支持IEEE1588v2功能:普通时钟(OC) 和透明时钟(TC)。两者都可以使用Web管理器进行配置。 普通时钟(OC)配置 普通时钟(OC)部分,可以在Web管理器配置以下字段: Network interface: 选择OC将在哪些可用网络接口上运行。 Network transport: 选择第2层以太网或UDP/IPv4传输层。 Delay mechanism: 在P2P或E2E延迟机制之间进行选择。 Logging level: PTP堆栈报告的消息的详细信息。 Slave only: 选中此复选框以强制设备充当从时钟设备。 Priority 1: 生成的Announce消息的PTP优先级1。 Priority 2: 生成的Announce消息的PTP优先级2。 Domain number: PTP域号。 Clock class: 定义时钟的精度级别。 Clock accuracy: 生成的Announce消息的PTP时钟精度。 Announce message period: Announce消息的期限。 Sync message period: 同步消息的周期。 Delay request message period: 延迟消息的周期。 Pdelay request message period: Pdelay消息的周期。 Announce receipt timeout: 没有收到Announce报文的数目,用来判断Announce报文超时。 Sync receipt timeout: 没有收到sync/follow报文的数目,用于gPTP模式判断Sync是否超时,是否触发best master clock选择。 Delay asymmetry (ns): 使用此参数校准源自不对称的固定偏移。 Power profile tlv enabled: Power Profile Master 必须将TLV附加到 Announce消息。 透明时钟(TC)配置 透明时钟(TC)部分,可以在Web管理器配置以下字段: TC mode: TC可以工作在端到端(E2E)或对等(P2P)模式。 P2P request period (仅在 P2P 模式下), 每秒延迟请求消息(1、2、4 或8)。 P2P VLAN enable: 在 P2P 消息中包含 VLAN 标记。 P2P VLAN ID: P2P 消息中的 VLAN ID。 P2P VLAN DEI: 丢弃 P2P 消息的 VLAN 标记中的 Eligible 位。 P2P VLAN priority: P2P 消息的 VLAN 标记中的优先级。 Calculated path delay (port): 基于 P2P 机制自动计算延迟。 Latencies: 通过单击每个端口的计算路径延迟框旁边的箭头,将显示取决于 PHY速度的接收和发送延迟。使用这些值来校准可能出现在路径延迟测量和由于不对称的透明时钟校正中的可能的固定偏移。 结语 通过对普通时钟和透明时钟的解析,我们不难发现,在PTP网络中,这两种时钟源设备各自扮演着不可或缺的角色。普通时钟作为网络中的常见节点,确保了终端设备的时间同步;而透明时钟则通过精确的路径延迟计算和校正,为级联拓扑提供了高效的解决方案。虹科RELY-RB作为支持IEEE1588v2功能的设备,其灵活的Web管理器配置方式为用户提供了便捷的操作体验。在实际应用中,根据网络架构和需求选择合适的时钟源设备,并正确配置其参数,是确保网络时间同步性能的关键。
  • 热度 12
    2023-3-16 16:55
    1948 次阅读|
    0 个评论
    B y Toradex 秦海 1). 简介 IEEE 802.1 TSN(Time-Sensitive Networking) 工作组定义了一个基于 802.x 网络架构上提供同步时间低延迟服务能力的协议,其前身为 IEEE AVB(Audio Video Bridgin) 工作组,后于 2012 年重命名为 TSN 工作组以便于将相关协议标准更广泛推广; AVB/TSN 包含多种具体协议标准(见如下表格),其中最重要的协议标准之一就是 IEEE 802.1AS 时钟同步协议标准,它基于 IEEE 1588 协议进行精简和修改,也称为 gPTP 协议。 PTP 协议是一种精确的时间同步协议, IEEE 1588 标准为时钟分配定义了一个主从式架构,由一个或多个网段及一个或多个时钟组成。在局域网中能将时间同步精度控制在亚微秒级。 PTP 协议对时间戳在 MAC 层进行加盖, 消除了数据包在网络协议栈中的处理时间延迟; 对时间戳的记录和发送进行确认, 得到数据包准确的发送和接收时间。 相比于其它时间同步协议(如 NTP ), PTP 协议的同步精度是最高的。 本文就基于 NXP 最新的 i.MX8 系列 ARM 处理器平台进行 TSN 时钟同步的简单测试。 本文所演示的平台来自于 Toradex Verdin iMX8M Plus 和 Apalis iMX 8 嵌入式平台,这 两个 平台是基于 近年发布的 NXP iMX 8 系列 ARM 处理器,核心为 Cortex-A 53/A72 。 2 ) . 硬件 准备 a ). Verdin iMX8MP ARM 核心版配 合 Dahlia Carrier Board 载板, 并连接调试串口,后续测试中作为 TSN 网络中的 Master Clock 节点平台。 Verdin iMX8MP 核心板板载 PHY 芯片的一路千兆网络是完整支持包括 TSN/AVB/IEEE1588 等相关协议标准的网口,另外一路 RGMII 接口的 MAC 则支持 AVB/IEEE1588 。 b ). Apalis iMX8 ARM 核心版配 合 Apalis Eva Board 载板, 并连接调试串口,后续测试中作为 TSN 网络中的 Slave Clock 节点平台 。 Apalis iMX8 核心板提供的两路千兆网络都是只支持 AVB/IEEE1588 ,而不支持完整的 TSN ,不过由于本文仅测试时钟同步因此也可以正常和 Verdin iMX8MP 搭配使用。 c ). 两个平台的千兆网口通过一根网线直通连接。 3). 软件准备 a). 如下图, Toradex Verdin iMXMP 模块标准 Ycoto Linux BSP 中已经包含了测试 IEEE 802.1AS 时钟同步的 Linuxptp 工具,可以参考 这里 说明分别在 Verdin iMX8MP 模块以及 Apalis iMX8 模块上面安装目前最新的 LTS 5.7.2 版本。 b). 如果需要在本文基础上进一步测试 IEEE 802.1Qav/Qbu/Qbv 等队列转发协议,则需要如下方式在 Ycoto 编译环境 或者 Linux BSP Runtime 环境手动安装 ipoute2-tc 工具软件,并且可能需要对 Linux Kernel/Device Tree 做适当的修改,可以参考这里一个 NXP Application Note 文章说明。 --------------------------------------- ### Ycoto Environment ### # Add below to /build/conf/local.conf # IMAGE_INSTALL_append = " iproute2-tc" ### Linux BSP Runtime ### $ opkg install iproute2-tc_5.5.0-r0_aarch64.ipk --------------------------------------- 3). 具体测试流程 a). Toradex Ycoto Linux 默认使能了 NTP 时间同步协议,这是目前应用最为广泛的网络时间同步协议,精度可以达到毫秒级别,在大多数对于时间同步精度要求没有那么高的场景都可以应用,本文为了测试 gPTP 高精度时间同步,具体测试过程中需要关闭 NTP 服务,详细步骤后续说明会提供。 b). 实际的 TSN 网络中, Master Clock 节点通常会产生一个高精度时钟,来源一般是 GNSS ( Global Navigation Satellite System ) 结合 PPS ( Pulse   Per   Second ) 信号来进行卫星授时,本文重点不在于此,因此对于作为 Master Clock 节点的 Verdin iMX8MP 设备在安装好 Linux 系统后,先仅只通过默认开启的 NTP 服务来进行 System Clock 的同步校准,来简单替代卫星授时的功能。 ./ NTP 服务详细配置方法可以参考 这里 ,首先在 Verdin iMX8MP Linux 下完成 NTP 时间同步。 --------------------------------------- ### NTP 同步完成前的状态信息 ### root@verdin-imx8mp-07250979:~# timedatectl Local time: Thu 2023-03-16 04:20:08 UTC Universal time: Thu 2023-03-16 04:20:08 UTC RTC time: Thu 2023-03-16 04:20:07 Time zone: Universal (UTC, +0000) System clock synchronized: no NTP service: active RTC in local TZ: no ### NTP 同步完成后的状态信息 ### root@verdin-imx8mp-07250979:~# timedatectl Local time: Thu 2023-03-16 06:12:27 UTC Universal time: Thu 2023-03-16 06:12:27 UTC RTC time: Thu 2023-03-16 06:12:28 Time zone: Universal (UTC, +0000) System clock synchronized: yes NTP service: active RTC in local TZ: no --------------------------------------- ./ 同步完成后关闭 NTP 服务 --------------------------------------- root@verdin-imx8mp-07250979:~# timedatectl set-ntp false root@verdin-imx8mp-07250979:~# timedatectl Local time: Thu 2023-03-16 06:17:49 UTC Universal time: Thu 2023-03-16 06:17:49 UTC RTC time: Thu 2023-03-16 06:17:50 Time zone: Universal (UTC, +0000) System clock synchronized: yes NTP service: inactive RTC in local TZ: no --------------------------------------- b). Verdin iMX8MP Master Clock 节点上面通过 linuxptp 工具来配置 gPTP 服务 ./ 主要使用的工具如下 ptp4l: daemon that synchronizes the PTP Hardware Clock (PHC) from the NIC phc2sys: daemon that synchronizes the PHC and the System clock pmc: utility tool to configure ptp4l in run-time ./ 首先后台加载 ptp4l daemon 进程,用于同步 PHC --------------------------------------- root@verdin-imx8mp-07250979:~# ptp4l -i eth0 -f ./gPTP.cfg --step_threshold=1 -m & 1092 ptp4l : selected /dev/ptp0 as PTP clock root@verdin-imx8mp-07250979:~# ptp4l : port 1: INITIALIZING to LISTENING on INIT_COMPLE TE ptp4l : port 0: INITIALIZING to LISTENING on INIT_COMPLETE ptp4l : port 1: LISTENING to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES ptp4l : selected local clock 00142d.fffe.6ea423 as best master ptp4l : assuming the grand master role --------------------------------------- // 参数说明如下,更多参数选项以及详细说明可以查看 ptp4l manpage -f 选项指定 gPTP.cfg 配置文件,这个文件用于配置 ptp4l 工作于 gPTP 模式的设置参数 -i 选项指定 ptp4l 所要控制的 NIC 网口界面 --step_threshold 选项用于配置步进时钟的阈值,超过阈值,直接调整时钟时间,单位秒 -m 参数使能 log 信息打印输出,这个可以视测试需要打开或者关闭 // Master 所需的 gPTP.cfg 文件如下,更详细的配置文件参考说明和模板可以参考 这里 。需要主要目前 Linux 系统里面的 linuxptp 软件版本是 2.0.1 ,请查看对应 branch 的信息。 --------------------------------------- # # 802.1AS example configuration containing those attributes which # differ from the defaults. See the file, default.cfg, for the # complete list of available options. # gmCapable 1 priority1 248 priority2 248 logAnnounceInterval 0 logSyncInterval -3 syncReceiptTimeout 3 neighborPropDelayThresh 800 min_neighbor_prop_delay -20000000 assume_two_step 1 path_trace_enabled 1 follow_up_info 1 transportSpecific 0x1 ptp_dst_mac 01:80:C2:00:00:0E network_transport L2 delay_mechanism P2P masterOnly 1 --------------------------------------- // 默认情况下, ptp4l 通过 BMCA ( Best Master Clock Algorithm ) 来判定当前 PHC 是否可以被作为 Grand Master 职责,也可以通过 masterOnly 或者 slaveOnly 参数来强制指定,本文使用后者。 --------------------------------------- ptp4l : selected local clock 00142d.fffe.6ea423 as best master ptp4l : assuming the grand master role --------------------------------------- ./ PHC 同步完成后,接下来进行 System Clock 同步,这个步骤主要针对那些依赖于 System clock 工作的应用,比如 ALSA/GStreamer frameworks AVTP 插件。 // 由于 PHC 时间采用 TAI ( International Atomic Time ) 标准,而 System Clock 采用( Coordinated Universal Time ) 标准,需要通过 pmc runtime 工具配置相应的转换参数 --------------------------------------- root@verdin-imx8mp-07250979:~# pmc -u -b 0 -t 1 "SET GRANDMASTER_SETTINGS_NP clockClass 248 \ clockAccuracy 0xfe offsetScaledLogVariance 0xffff \ currentUtcOffset 37 leap61 0 leap59 0 currentUtcOffsetValid 1 \ ptpTimescale 1 timeTraceable 1 frequencyTraceable 0 \ timeSource 0xa0" sending: SET GRANDMASTER_SETTINGS_NP ptp4l : selected local clock 00142d.fffe.6ea423 as best master 00142d.fffe.6ea423-0 seq 0 RESPONSE MANAGEMENT GRANDMASTER_SETTINGS_NP clockClass 248 clockAccuracy 0xfe offsetScaledLogVariance 0xffff currentUtcOffset 37 leap61 0 ptp4l : assuming the grand master role leap59 0 currentUtcOffsetValid 1 ptpTimescale 1 timeTraceable 1 frequencyTraceable 0 timeSource 0xa0 --------------------------------------- // 然后通过 phc2sys 工具来同步 PHC 和 System Clock --------------------------------------- root@verdin-imx8mp-07250979:~# phc2sys -s eth0 -c CLOCK_REALTIME --step_threshold=1 --transportSpecific=1 -w -m & 1058 phc2sys : CLOCK_REALTIME phc offset 37000001087 s0 freq +0 delay 875 phc2sys : CLOCK_REALTIME phc offset 37000001117 s1 freq +30 delay 875 phc2sys : CLOCK_REALTIME phc offset -75 s2 freq -45 delay 875 phc2sys : CLOCK_REALTIME phc offset 30 s2 freq +37 delay 875 phc2sys : CLOCK_REALTIME phc offset -58 s2 freq -42 delay 875 --------------------------------------- // 参数说明如下,更多参数选项以及详细说明可以查看 ptp4l manpage -s 选项指定来自于对应 NIC ( eth0 ) 设备的 PHC 作为 master clock -c 选项指定 System Clock 作为 slave clock --step_threshold 选项用于配置步进时钟的阈值,超过阈值,直接调整时钟时间,单位秒 --transportSpecific 选项在基于 gPTP domain 运行是必要选项 -w 参数使得 phc2sys 处于等待状态直到 ptp4l 完成同步 -m 参数使能 log 信息打印输出,这个可以视测试需要打开或者关闭 // 打印的 log 信息中,当 phc offset 小于 100ns 即表示时钟同步成功 c). Apalis iMX8 Slave Clock 节点上面通过 linuxptp 工具来配置 gPTP 服务,具体的流程和命令和 Master 一致,只是在 gPTP.cfg 配置文件中将 masterOnly 修改未 slaveOnly 。 ./ 首先由于是 Slave 节点设备,保持 Linux System Clock 为系统安装后的默认时间设置,直接关闭 NTP 服务不进行任何时间同步操作 --------------------------------------- root@apalis-imx8-07308034:~# timedatectl Local time: Wed 2023-03-01 07:21:21 UTC Universal time: Wed 2023-03-01 07:21:21 UTC RTC time: Wed 2023-03-01 07:21:21 Time zone: Universal (UTC, +0000) System clock synchronized: no NTP service: inactive RTC in local TZ: no --------------------------------------- ./ 通过和 Verdin iMX8MP 设备的直连网络和 Master Clock 同步 PHC 时间,由于 gPTP 协议都是基于 MAC 层的,因此网口无需设置 IP 地址也没有问题。 --------------------------------------- root@apalis-imx8-07308034:~# ptp4l -i eth0 -f ./gPTP.cfg --step_threshold=1 -m & 28567 ptp4l : selected /dev/ptp0 as PTP clock root@apalis-imx8-07308034:~# ptp4l : port 1: INITIALIZING to LISTENING on INIT_COMPLETE ptp4l : port 0: INITIALIZING to LISTENING on INIT_COMPLETE ptp4l : selected local clock 00142d.fffe.6f8302 as best master ptp4l : port 1: new foreign master 00142d.fffe.6ea423-1 ptp4l : selected best master clock 00142d.fffe.6ea423 ptp4l : updating UTC offset to 37 ptp4l : port 1: LISTENING to UNCALIBRATED on RS_SLAVE ptp4l : port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED ptp4l : rms 646417001599952 max 1292834003200590 freq +9621 +/- 3636 delay 668 +/- 0 ptp4l : rms 8 max 10 freq +10997 +/- 6 delay 668 +/- 0 ptp4l : rms 9 max 10 freq +11008 +/- 1 delay 668 +/- 0 ptp4l : rms 4 max 6 freq +11006 +/- 3 delay 668 +/- 0 ...... --------------------------------------- // 打印 log 信息中, rms 为 PHC 和 Grand Master clock 之间 offset 的平方值,当 rms 输出持续小于 100ns 时候,表示同步成功。 // 同时在 Verdin iMX8MP 的 Master 端, ptp4l 也会打印如下信息,证明 Slave 以及连接 Master 进行精准时间同步。 --------------------------------------- ptp4l : port 1: link up ptp4l : port 1: FAULTY to LISTENING on INIT_COMPLETE ptp4l : port 1: LISTENING to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES ptp4l : selected local clock 00142d.fffe.6ea423 as best master ptp4l : assuming the grand master role --------------------------------------- // 此时查看 System Clock 还是未同步的时间 --------------------------------------- ### synchronous System clock on Verdin iMX8MP ### root@verdin-imx8mp-07250979:~# date +%Y-%m-%d' '%H:%M:%S.%N | cut -b 1-25 2023-03-16 08:01:22.94530 ### non- synchronous System clock on Apalis iMX8 ### root@apalis-imx8-07308034:~# date +%Y-%m-%d' '%H:%M:%S.%N | cut -b 1-25 2023-03-01 08:02:46.75497 --------------------------------------- ./ 通过 phc2sys 工具来同步 PHC 和 System Clock --------------------------------------- root@apalis-imx8-07308034:~# phc2sys -s eth0 -c CLOCK_REALTIME --step_threshold=1 --transportSpecific=1 -w -m & 15230 phc2sys : CLOCK_REALTIME phc offset -1295917493725168 s0 freq +0 delay 2625 phc2sys : CLOCK_REALTIME phc offset -1295917493714065 s1 freq +11096 delay 2625 phc2sys : CLOCK_REALTIME phc offset -64 s2 freq +11032 delay 2625 phc2sys : CLOCK_REALTIME phc offset -71 s2 freq +11006 delay 2624 phc2sys : CLOCK_REALTIME phc offset 34 s2 freq +11090 delay 2625 --------------------------------------- // 打印 log 信息中 phc offset 小于 100ns 即表示时钟同步成功 // 此时查看 System Clock 则已经和 Grand Master 同步 --------------------------------------- ### synchronous System clock on Verdin iMX8MP ### root@verdin-imx8mp-07250979:~# date +%Y-%m-%d' '%H:%M:%S.%N | cut -b 1-25 2023-03-16 08:07:39.33336 ### synchronous System clock on Apalis iMX8 ### root@apalis-imx8-07308034:~# date +%Y-%m-%d' '%H:%M:%S.%N | cut -b 1-25 2023-03-16 08:07:40.54055 --------------------------------------- d). 另外为了更方便的测试 PHC 和 System Clock 是否同步成功,可以使用 check_clocks 工具,下载源码后参考 这里 说明用如下命令进行交叉编译,生成可执行文件在设备 Linux 下运行验证时钟同步情况 --------------------------------------- ### compile binary on developing host ### $ ${CROSS_COMPILE}gcc -o check_clocks check_clocks.c ### check on Verdin iMX8MP Master ### root@verdin-imx8mp-07250979:~# ./check_clocks -v -d eth0 Dumping timestamps and deltas rt tstamp: 1678954738288637418 tai tstamp: 1678954775288637543 phc tstamp: 1678954775288641175 rt latency: 125 tai latency: 125 phc latency: 1860 phc-rt delta: 37000003757 phc-tai delta: 3632 Clocks on this system are synchronized :) ### check on Apalis iMX8 Slave ### root@apalis-imx8-07308034:~# ./check_clocks -v -d eth0 Dumping timestamps and deltas rt tstamp: 1678954739151415597 tai tstamp: 1678954776151415847 phc tstamp: 1678954776151421106 rt latency: 125 tai latency: 250 phc latency: 3468 phc-rt delta: 37000005509 phc-tai delta: 5259 Clocks on this system are synchronized :) --------------------------------------- 5 ). 总结 本文 基于 NXP iMX8 系列处理器简单演示了 TSN 通过 gPTP 协议进行网络时间同步的机制。 参考文档 https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/AVB-TSN-demo-on-i-MX8MP/ta-p/1123791 https://tsn.readthedocs.io/timesync.html
  • 2022-10-19 13:29
    1 次阅读|
    0 个评论
    虹科干货 | 不用外部Redbox如何无缝合并PRP和HSR网络实现精确时间同步?虹科给你答案!
    目前,各个行业正在朝着以太网发展。近年来出现了一些技术创新,以增强标准以太网的弹性,并将其用作OT和IT的通用链路层。在具有高可用性和严格时序要求的关键领域,如电气领域,这些技术创新得到了发展。 一、以太网 目前大多数工业网络都是基于以太网的,自1983年以太网标准化以来,无论是从技术角度还是从应用角度来看,它都在不断发展中。计算机网络的最初用途已扩展为工业现场总线(PROFINET、EtherNet/IP、EtherCAT、SercosIII等)、航空航天(AFDX)、能源(IEC61850)、汽车(确定性以太网)和运输。 变电站保护、自动化和控制系统 (PACS) 等关键系统可以从以太网技术中受益,前提是它可以确保在网络故障的情况下不会丢失帧、有效集成准确的时序同步方案、供应商之间的互操作性以及一些基本的实时操作能力。从这个意义上说, IEC 组织开展了一项非常有价值的标准化工作,发布了 IEC62349-3 “工业通信网络——高可用性自动化网络”,并开发和发布能够在这些冗余环境中运行的精确时间协议 IEEE 1588 的特定配置文件。 二、高可用性以太网 该标准IEC62349-3的第5部分和第4部分分别定义了高可用性无缝冗余(HSR)协议和并行冗余协议(PRP)。两者都提供零延迟恢复时间和以太网网络上的无帧丢失。HSR面向以太网环形拓扑,它确保帧传送时间的已知最坏情况。PRP与两个独立的旧式以太网网络一起工作,它不适合在实时场景中工作。事实上,PRP、HSR和PTP可以结合起来支持时间感知网络。 三、精确时间协议(PTP) 工 业控制系统对亚微秒级同步的要求越来越高。 作为在行业中引入这种组合方法(可靠以太网与 IEEE 1588 相结合)的示例, IEC 智能电网战略组建议采用 IEEE 1588-2008 标准中定义的 PTP ,用于变电站中的高精度时间同步。 PTP 直接通过以太网在变电站网络中分配绝对时间,实现纳秒范围内的同步精度。 PTP 系统遵循主从层次结构,其中主设备施加时间,从设备在相位和频率上与其同步。 传播延迟由从站自动补偿,为了考虑网络节点引入的延迟,必须在中间节点中添加透明时钟 (TC) 功能。 因此,网络中的所有交换机都应支持TC操作,以纠正被交换的PTP帧,以免失去预期的准确性。典型的PTP网络由分隔不同时钟区域的PTP边界时钟设备和能够作为主设备和从设备工作的PTP普通时钟完成。 除了在电力领域的广泛使用之外,IEEE 1588更常见于其他场景。例如,一些目标应用是用于天然气和石油的分布式传感器数据采集、确定性以太网的时间参考、电机驱动器的相位和频率同步或从航空航天和国防中的DAU进行分布式数据采集。 四、虹科HSR/PRP网络无缝合并解决方案 在实时部分和非实时部分中需要完全冗余路径的关键基础设施可以从PRP和HSR网络的结合中受益。 PRP 由两个标准以太网组成,支持 PRP 的设备负责通过两个 LAN 网络发送和接收重复帧。 这种方法非常 适合重用常规以太网基础设施,但它缺乏任何机制来确保给定帧的最坏情况下的交付时间。 HSR 允许计算此参数。 因此,它是一种标准化和可互操作的解决方案,适用于面向控制的通信。 例如, IEC 61850 变电站的典型零延迟恢复时间拓扑基于在站总线部分实施 PRP ,在过程总线区域实施 HSR 环。 PRP 网络与 HSR 环的连接必须通过两个不同的点来完成,避免前面提到的 SPOF 。 IEC62349-3 标准定义了进行互连的设备的行为方式。 具体来说,当帧通过一个网络到达另一个网络时,它们需要支持 HSR/PRP 模式以正确管理序列号字段。 从集成商的角度来看,一种选择是组合和配置支持 PRP-HSR 的独立 RedBox 设备,支持能够处理(组合)冗余的 IEE E1588 配置文件。 使用RELY-SYNC-HSR/PRP-PCIe解决方案合并HSR和PRP网络 在航空先进制造中心工厂(CFAA)中实施的另一种替代方案是使用插入两台工业PC计算机的两个RELY-SYNC-HSR/PRP-PCIe卡。这种设置由于这些设备支持的PRP-to-HSR特殊模式,允许将PRP部分与工厂中的HSR互连。对于此设置,HSR环是光纤,而PRP网络是GbE铜介质。每个PRP分支都连接到以太网输入,该输入通常用于连接RedBox操作中的标准LAN。配置只需几分钟且只需一次:操作员连接到嵌入在PCIe卡中的Web应用程序并选择PRP-HSR操作。 虹科RELY-SYNC-HSR/PRP-PCIe卡插入PC服务器 虹科嵌入式基于web的配置工具 五、总结 本文结合PTP总结了高可用性协议HSR和PRP的概念,并介绍了 可无缝集成到任何工业计算机中的 虹科 即用型PCIe产品。 文章提出的方案解决了高可用性以太网网络集成商的需求:实现PRP和HSR网络的简单互连。 由于RELY-SYNC-HSR/PRP-PCIe上嵌入了DAN和RedBox的双重功能,它无需额外的中间RedBox外部设备,并重用现有网关或PCSCADA系统来管理数据包处理。 虹科为电网、轨道交通等领域提供关键系统中的网络、同步和网络安全的创新解决方案。
  • 热度 12
    2022-4-21 09:30
    1765 次阅读|
    0 个评论
    E波段的应用在全球范围内的公共服务中变得越来越普遍,全球都面临着E波段链路带来的新挑战。借助虹科Spectrum Compact无人机验证解决方案,可以轻松收集和分析4G、LTE和5G NR频率,监管机构也可以开发一种新的现场检查手段。 现状 随着5G技术的快速发展,毫米波频段逐渐被应用于各个领域,而随着5G业务向高容量、高速率、低延时方向发展,通信频段向毫米波方向延伸成为了一个必然的结果,毫米波具有以下优势: 频谱资源丰富,毫米波范围广,相对来说,之前的sub-6G频谱紧张且因为大量无线产品都工作在这一频段而导致信道环境较差; 载波带宽可达400/800MHz,无线传输速率可达10Gbps以上; 毫米波元器件的尺寸小,相比于sub-6G(450MHz-6GHz)设备,毫米波设备更容易小型化; 子载波间隔较大,单SLOT周期(120kHz)是低频sub-6G(30kHz)的1/4,空口时延降低。 但是在整个毫米波频段(广义的30-300GHz),我们实际能够使用的并不是全部频段,毫米波由于波长短,十分容易在大气和降雨环境下产生严重衰减以至于不可用,因此实际上只能利用部分频段来进行传输。 E波段(71-86GHz)的使用在全球范围内的公共服务中变得越来越普遍,但是与此同时也面临着E波段链路带来的新挑战,在相同天线尺寸下毫米波的波束要比微波的波束窄得多,在60-87GHz范围内,点对点无线电天线的波束宽度非常窄,仅为1°甚至更小,因此需要一种新颖且创新的无线电参数测量解决方案。 解决方案 在使用前需要验证E波段无线电是否正常运行,然而这种天线一般安装在很高的铁塔上,并且旁瓣的信号衰减非常大,以致于无法使用典型的从地面进行测量的方法,在这种情况下,必须将测量工具精确地对准天线的主瓣。 虹科手持式频谱分析仪和无人驾驶飞机进行精确E波段链路测量和报告的解决方案。手持式频谱仪是具有应用程序编程接口(API)的集成就绪平台,通过与工业无人机制造商和无人机解决方案集成商合作,可以将空中RF检测解决方案推向市场,利用最佳的无人机机身和专有的控制协议,用户可以使用无人机的GPS数据生成全频RF密度热图。 该解决方案包括一台虹科70-87GHz手持式频谱仪,带有Windows操作系统的mini PC,4G调制解调器,PC软件以及一架无人驾驶飞机。 无人机端: 频谱仪通过USB将数据发送给mini PC,mini PC上安装Windows操作系统、用于虹科手持式频谱仪的PC软件)和远程桌面应用程序。mini PC通过USB连接到4G调制解调器或手机置于USB共享模式,以确保数据通过移动网络进行传输。 地面端: 连接WiFi或USB共享模式的手机连接到地面上的PC或笔记本电脑上,通过远程桌面应用程序从地面PC可以访问无人机上的迷你PC,并连接到频谱仪使用软件。 借助虹科无人机验证解决方案,监管机构可以开发一种新的现场调查和检查手段。这包括但不限于: 任何已安装的无线电的许可证参数验证(信道带宽,中心频率等); 扫描给定频段或跨多个频段的所有已安装的无线电。 优势与应用 使用无人机的无线电点对点验证解决方案进行塔架检查: 大大提高了监测的安全性; 减少或消除重新攀爬的需求; 提供攀登前的视觉效果,因此爬塔者只需要将需要的东西带到塔上。 在干扰搜寻、发射机参数测量(频率、带宽、功率)以及视线验证(与便携式发射机结合使用)等应用中都可以轻松使用。
相关资源