不想改代码!这样实现Reverse Sync测量时间同步精度
TSN的时间同步精度,指被测时钟与主时钟的最大偏差。在设备的组网过程中,最大的困难就是保证期望的时间同步精度。主时钟仅负责将自身的时间分发出去,难以判断其他设备的同步效果;此外,若在网络中某处发生了同步故障,也难以定位问题节点,毕竟每个节点依赖的都是上一个节点的信息。
同步精度的测量
同步精度的测量方法有两种常见形式。
其一是让每个设备在同步时间达到整秒时输出一个脉冲信号(1PPS信号),通过示波器等手段观测被测时钟与主时钟的1PPS信号偏差。

其二就是本文提到的Reverse Sync方案。让被动接收同步信息的接收方主动向发送方反馈自己的同步时间,从而使得发送方可以在本地评估下一个节点的同步精度。

假设到接收方的路径上不得不经过一个中继节点(比如带有交换机的混合设备),只需要将额外的驻留时间(residence time)以及链路时延补偿到reverse sync报文里的correction field字段中就可以了。(注:本文将不区分Sync以及Follow Up。)

对于第二种方式,各个控制器开发商可能都会有自己的实现方法。
虽然,只要能达到测量时间同步精度的结果,方法的种类并不关键。但后面嘛,我们还是会详细的聊一聊,在实际的开发环境中, Reverse Sync的实践与结果。
实践出真知-Reverse Sync
9月,我们利用德州仪器开发板进行了TSN功能相关环境的搭建,对TSN的常见协议进行了验证。其中同步精度的测试主要利用了里面的一块tda4vm,以及一块dra821开发板。

后面,我将介绍我们是如何借着802.1 AS-2020协议中多时钟域的东风,实现Avnu扩展定义的reverse sync功能的。
在本次验证中,我们将这两块板子在时钟域0进行同步,一块作为Tester,在域0中担任GM的角色,另一块则作为被测件。
在上面我们说,需要时间同步的接收方反馈自己的同步时间。假设在只有单时钟域的情况下,我们迫不得已也只能修改协议栈的实现逻辑,让原先只能接收sync报文的slave端口向外发送sync报文了。
好在,AS协议从2011版向2020版更新的过程中,增加了多主时钟域这一概念。一个系统中可以同时存在多个不同的时钟域,同一个设备可以在某个时钟域中充当GM的角色,也可以同时在另一个时钟域中充当被同步的角色,这就给我们“偷懒”的行为提供了很大的便利。

在域0你管我叫爸,在域1我管你叫哥,咱俩各论各的,多时钟域就这么一个状态。我们很快就定了,在域0进行正常的时间同步,在域1中,则把被测件设置为GM,反向输送时间同步信息。
那就只剩下一个问题了,域0和域1维护的不是一个同步时间,被测件怎么通过域1把域0维护的同步时间反馈回去呢。这倒是也简单,毕竟父子关系都如此复杂了,域0和域1分家也不太合适,于是我们将被测件上本来分别给域0和域1用的两个硬件时钟缩减至了一个,域0和域1共用一个硬件时钟,同时呢,根据辈分合理剥夺了域1对于硬件时钟的修改权。这样,被测件上的域1就是专门负责将域0的同步时间传递回去的功能性时间域了。

由此,借助于多时钟域实现的Reverse Sync基本大功告成了,还剩下的一小步就是在tester这一侧,记录接收到Reverse Sync时的本地时间戳,算上链路时延之后,和Reverse Sync报文内携带的时间戳作一个差值,这就是我们需要的时间同步精度啦。
那么,结果如何?
在作为tester的设备上,我们额外添加了一个上位机用来显示差值的变化情况,以最大值为评判标准,从图片可以看出,设备的同步误差在正负75ns之间。

但这是设备自测的结果,并不足够证明这一方法的有效性。因此,我们使用Paragon-X设备作为主时钟,利用Reverse Sync方法对被测件的同步精度做了二次验证,结果如下图所示,稳定后波动的幅值在+75ns到-153ns间。

二者结果的差异较小,Reverse Sync实现成功。
总的来说,在很多情况下,量产控制器并没有预留PPS接口,或对应的接口已经设计成其他用处,相对来说实现更加方便、且不需要额外设备支持的Reverse Sync就有了更大的发挥空间,优势更大。
相关文章:
不想改代码!这样实现Reverse Sync测量时间同步精度
TSN的时间同步精度,指被测时钟与主时钟的最大偏差。在设备的组网过程中,最大的困难就是保证期望的时间同步精度。主时钟仅负责将自身的时间分发出去,难以判断其他设备的同步效果;此外,若在网络中某处发生了同步故障&am…...
【webrtc】 对视频质量的码率控制的测试与探索
目录 环境设置 transport-cc goog-remb (webrtc中的两种码率算法) 修改成remb算法 测试 效果 后续 可参考工程 环境设置 要到meshx上操作 telnet 112 然后执行factory_env show |grep meshx_ip 之后telnet meshx_ip 用户名admin 密码****.119 执行一下r…...
2003 - Can‘t connect to MysQL server on ‘39.108.169.0‘ (10060 “Unknown error“)
问题描述 某天和往常一样启动java项目,发现数据库出问题了,然后打开navicat,发现数据库的链接都连接不上, 一点击就会弹出报错框: 然后就各种上网搜索。 解决方案 上网查了一些解决方案,大部分都是说看…...
Python算法——选择排序
选择排序(Selection Sort)是一种简单的排序算法,它的基本思想是在未排序的部分中选择最小(或最大)的元素,然后将其放在已排序部分的末尾。选择排序不同于冒泡排序,它不需要反复交换元素…...
从「码农」到管理者,E人程序员的十年蜕变
点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 卷圈 运营 / SandLiu 卷圈 监制 / 姝琦 封面 / 姝琦Midjourney 产品统筹 / bobo 场地支持 / 声湃轩北京录音间 当我们谈论程序员创业时,常常会首先想到一些传统观念认为的挑战:沟通技巧不佳、逻…...
ant Java任务的jvmargs属性和<jvmarg>内嵌元素
ant的Java任务可以在运行Apache Ant的Java虚拟机内、或者启用另外的Java虚拟机运行一个Java类。 可以使用java任务的jvmargs属性,设置传递给在新进程中的java虚拟机的参数。但当java任务的fork禁用的时候,jvmargs属性会被忽略。jvmargs这个属性已经被废…...
XML External Entity-XXE-XML实体注入
XML 实体? XML 实体允许定义标签,在解析 XML 文档时这些标签将被内容替换。一般来说,实体分为三种类型: 内部实体 外部实体 参数实体。 必须在文档类型定义(DTD)中创建实体 一旦 XML 文档被解析器处理,它将js用定义的常量“Jo Smith”替换定义的实体。正如您所看到…...
生态扩展Spark Doris Connector
生态扩展Spark Doris Connector doris官网去查找相匹配的spark spark的安装: tar -zxvf spark-3.1.2-bin-hadoop3.2.tgzmv spark-3.1.2-bin-hadoop3.2 /opt/sparkspark环境配置:vim /etc/profile export SPARK_HOME/opt/spark export PATH$PATH:$SPAR…...
构建 hive 时间维表
众所周知 hive 的时间处理异常繁琐且在一些涉及日期的统计场景中会写较长的 sql,例如:周累计、周环比等;本文将使用维表的形式降低时间处理的复杂度,提前计算好标准时间字符串未来可能需要转换的形式。 一、表设计 结合业务场景常…...
Pycharm安装jupyter和d2l
安装 jupyter: jupyter是d2l的依赖库,没有它就用不了d2l pycharm中端输入pip install jupyter安装若失败则: 若网速过慢,则更改镜像源再下载: pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ pip …...
虹科案例 | AR内窥镜手术应用为手术节约45分钟?
相信医疗从业者都知道,在手术室中有非常多的医疗器械屏幕,特别是内窥镜手术室中医生依赖这些内窥镜画面来帮助病患进行手术。但手术室空间有限,屏幕缩放位置相对固定,在特殊场景下医生观看内窥镜画面时无法关注到病患的状态。这存…...
纳米银线 纳米银纳米线 平均直径: 50-100nm
(西)纳米银线 (安)含量(%):99.9 (瑞)平均直径: 50-100nm (20nm 30nm 60nm ) (禧)长度:10um …...
力扣labuladong——一刷day15
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣92. 反转链表 II二、力扣206. 反转链表 前言 一、力扣92. 反转链表 II /*** Definition for singly-linked list.* public class ListNode {* int…...
【开题报告】基于微信小程序的母婴商品仓储管理系统的设计与实现
1.研究背景 母婴商品是指专门为婴幼儿和孕产妇提供的各类产品,如婴儿奶粉、尿布、奶瓶、洗护用品等。随着社会经济的发展和人们对婴幼儿健康关注度的提高,母婴商品市场呈现出快速增长的趋势。同时,电子商务的兴起和互联网技术的发展…...
Faraday库
require faraday# 创建Faraday对象,使用作为代理服务器 proxy_host huake proxy_port 1111 faraday Faraday.new(:proxy > { :host > proxy_host, :port > proxy_port })# 使用Faraday对象发送GET请求到https://www.dianping.com/ response faraday.get…...
【原创】java+swing+mysql校园论坛管理系统设计与实现
摘要: 随着互联网技术的不断发展,论坛作为一种信息交流和互动的平台,在学校中发挥着越来越重要的作用。校园论坛管理系统是为了方便学校管理论坛、提高论坛的互动性和用户体验而设计的一款系统。一般的论坛网站都是B/S架构,也就是…...
endnote调整参考文献
endnote调整参考文献 1. 2. 3.自定义GBT7714!!!...
chap认证带客户端IP分配案例
PPP协议两边的网段可以不在同一个网段,因为数据链路帧用0xff表示帧,不用arp,所以可以不同网段。 R1: aaa local-user test password cipher admin local-user test service-type ppp interface Serial4/0/0 link-protocol ppp pp…...
算法笔记【8】-合并排序算法
文章目录 一、前言二、合并排序算法基本原理三、实现步骤四、优缺点分析 一、前言 合并排序算法通过采用分治策略和递归思想,实现了高效、稳定的排序功能。本文将深入探讨合并排序算法的原理、实现步骤,并讨论其优缺点。 二、合并排序算法基本原理 合…...
蓝桥杯每日一题2023.10.30
题目描述 日志统计 - 蓝桥云课 (lanqiao.cn) 题目分析 本题可以使用双指针来维护时间段的区间,在维护的时间段内确定是否为热帖 #include<bits/stdc.h> using namespace std; typedef long long ll; const int N 2e5 10; struct node {int t, id; }tiee…...
基于Hugging Face BART模型构建文本摘要服务:从原理到部署实战
1. 项目概述:从零构建一个可用的文本摘要服务文本摘要,这个听起来有点学术的词,其实离我们很近。想想看,每天面对海量的新闻、报告、论文,甚至冗长的会议纪要,谁不想快速抓住核心要点?这就是文本…...
告别重装!用Systemback在Ubuntu 20.04上打造你的专属系统‘时光机’
用Systemback为Ubuntu打造专属系统时光机每次系统崩溃都要重装?开发环境配置浪费半天时间?实验室电脑和个人笔记本环境不一致?这些问题对于频繁折腾系统的开发者来说简直是噩梦。Systemback就像给Ubuntu系统装上了"时光机"…...
Arm嵌入式工具链全解析:从获取到优化
1. Arm嵌入式工具链概述Arm Toolchain for Embedded是Arm公司为嵌入式系统开发提供的一套完整工具链集合,包含编译器、调试器、链接器等核心组件。作为嵌入式开发领域的标准工具链,它支持从Cortex-M系列微控制器到Cortex-A系列应用处理器的全系列Arm架构…...
外观专利和实用新型
外观设计专利与实用新型专利:技术创新的法律双翼 谨以此文,献给每一位在产品创新与外观设计之间寻求法律护城河的工程师、架构师与技术决策者。外观设计专利与实用新型专利,如同一对孪生兄弟——一个守护“美学表达”,一个护卫“实用改进”;一个关乎“看起来怎样”,一个关…...
范畴论视角下的概率机器学习:从Giry单子到贝叶斯推理的统一框架
1. 项目概述:当范畴论遇见概率机器学习如果你在机器学习领域摸爬滚打了一段时间,尤其是深度涉足过贝叶斯方法或概率图模型,你可能会对“不确定性”的数学表达感到既熟悉又头疼。我们习惯了用概率分布来描述数据噪声、参数先验和预测置信度&am…...
反事实推理:用因果视角评估与缓解AI模型偏见
1. 项目概述:当模型决策需要“如果当初”在机器学习的世界里,我们常常面临一个困境:模型预测准确率很高,但我们却不知道它为什么做出这样的决策。更棘手的是,我们越来越频繁地发现,这些“黑箱”决策背后&am…...
机器学习势函数在氧化镓多晶型相变模拟中的应用与验证
1. 项目概述与核心挑战氧化镓(Ga2O3)作为下一代宽禁带半导体的明星材料,这几年在功率电子和深紫外光电器件领域的热度一直居高不下。它的优势很明显:超宽的禁带宽度(4.8-5.3 eV)、极高的临界击穿电场&#…...
8051单片机PDATA与XDATA存储访问优化解析
1. PDATA与XDATA变量生成的指令解析在8051单片机开发中,外部数据存储器的访问方式直接影响程序效率和硬件设计。作为从业十余年的嵌入式工程师,我经常需要针对不同存储区域优化代码。PDATA和XDATA作为两种常见的外部数据存储模式,其指令生成机…...
ISP模型与硬件平台配置迁移实践指南
1. 理解ISP模型与硬件平台的配置迁移在图像信号处理器(ISP)开发过程中,我们经常需要在软件模型和实际硬件平台之间进行配置迁移。这种迁移的核心挑战在于确保模型仿真结果与硬件输出完全一致。根据我的经验,这涉及到两个主要操作模…...
字节Seed基座GR3机器人的专属控制内核,具备柔性物体操控、人体姿态复刻、工业闭环作业等功能
全称:Gesture Real-Time Reinforcement Learning 全域实时姿态强化学习具身控制框架 内部代号:GR-RL V5.9.2 稳态正式版 隶属体系:字节Seed基座GR3机器人专属控制内核 核心用途:全品类柔性物体操控、人体仿生姿态复刻、工业高精度…...
