EtherCAT笔记(六)—— 分布时钟之一

目录

1. 分布时钟的功能

2. 分布时钟涉及到的概念

 2.1 系统时间

2.2 参考时钟 & 从时钟

2.3 主站时钟

2.4 本地时钟

2.4.1 本地时钟的初始偏移量

2.4.2 本地时钟的时钟漂移

2.5 本地系统时间

2.6 传输延时

人们理解知识的一个阻碍就是那些从没见过的概念和这些概念的随意使用。

分布时钟(Distributed Clock)绝对是EtherCAT的重头戏。从字面的概念来讲,分布时钟是可以分成两个部分来理解。一个是名词 “时钟”,时钟是一个计时或表示时间的概念。时钟(clock,timepiece)简称钟,所有计时装置都可以称为计时仪器icon-default.png?t=N7T8https://zh.wikipedia.org/zh-cn/%E6%99%82%E9%90%98#:~:text=%E6%97%B6%E9%92%9F%EF%BC%88clock%EF%BC%8Ctimepiece%EF%BC%89%E7%AE%80%E7%A7%B0,%E7%9A%84%E6%9C%89%E9%92%9F%E6%91%86%E7%9A%84%E9%92%9F%E3%80%82

另一个名词是 “分布”,分布就是散落在各个角落的一种描述(词穷了)。两个东西组合到一起:“分布时钟”,也就是散落在各个设备里面的计时装置。分布时钟有时也用 DC 来简称。

EtherCAT的分布时钟总是伴随着一些神秘色彩,由浅入深,勿忘初心。

1. 分布时钟的功能

分布时钟在EtherCAT中可以使所有的设备使用同一个系统时间,这些设备之间的系统时间相同的程度可以达到纳秒级。

系统时间,从2000年1月1日0点开始,使用64bits,精确的1ns,即每ns增加一个计数。最大可计 2^64-1ns 约584年,所以不要担心你的分布时钟计崩了。

 分布时钟有以下主要功能:

(1)实现从站之间的时钟同步:由于各个支持DC的设备计时的时钟源、漂移等一系列原因,可能使这些设备计时并不是完全相同,即使他们确实是对同一时刻开始的计时。因此支持分布时钟功能的从站就可以通过调整来使所有设备使用相同的时钟。

(2)实现主站与从站的时钟同步:主站的计时装置可以使用与从站相同的时间。

(3)为各个从站同时产生输出事件:当到达某个时间后,所有从站共同执行输出动作,从而使所有从站在同一时刻执行某些动作,如输出一个电流。

(4)为输入事件打精确的时间戳:为同时输入的数据标记相同的时间。例如我想测量一个从一个数字量输出命令的下发开始,到某个数字量输入接口获取到这个跳变开始的点的总延时。就可以通过这种时间戳的方式去计算。

(5)产生同步的中断:中断常被用来做紧急处理、同步处理等操作,而多个设备之间通过通信方式来达到纳秒级的同步中断几乎是不可能的。分布时钟可以完成这个任务。

2. 分布时钟涉及到的概念

 2.1 系统时间

定义:2000年1月1日0时0分0秒,使用一个64bit的数据来表示系统时间,单位为ns,即每过1ns,该值增加1.

2.2 参考时钟 & 从时钟

参考时钟定义:EtherCAT通常规定在整个EtherCAT链路中,第一个具有分布时钟功能的从站作为参考时钟。

从时钟定义:EtherCAT环路中除了参考时钟的分布时钟都是从时钟。

一个类比:4个人坐在一起喝下午茶,赵大戴了块儿童玩具表,钱二戴了块大米手环,张三戴了块劳力士,王五没有表。他们四个想要明天一起来上班,体现出他们已经是公司牢不可破的铁四角,并拜张三为大哥。于是他们约定明天早上8点52分19秒准时左脚迈进公司。为确保大家同时迈进公司,几个人就选大哥张三的劳力士作为最准的时间,都调到与张三相同的时间点,分秒不差。而王五没表,大家都说他差不多时间到就行。第二天上班,三个人同时迈进公司,王五迟到3秒迈进公司。

在这个故事中:

张三的劳力士就是参考时钟,因为他是大哥。

赵大和钱而的表就是从时钟,因为他们以大哥的时间为准和大哥对齐了时间。

王五没有表,因此他晚到了3秒,但不影响他上班。

公司的时钟也已经被张三调成和劳力士一样的了。公司的时间就是主站时间。

从上面的例子也可以看出,在分布时钟里,并不在乎谁的时钟是准确的、一定表示了从2000年第一个纳秒开始的,而是谁在第一个从站,就以谁的为准。这个第一个从站也就是参考时钟。

2.3 主站时钟

主站时钟是具备计时功能的主站的时钟。主站时钟本质上是从时钟。

2.4 本地时钟

本地时钟是相对于设备自身的,每个支持DC的从站从自身的角度触发来看自己在计时的时钟就是本地时钟。而这个本地时钟相对于参考时钟的角度就是从时钟。本地时钟是独立运行的。

2.4.1 本地时钟的初始偏移量

系统上电时,独立运行的本地时钟本身就可能与参考时钟之间存在一定的差异,这个差异就是初始偏移量。

2.4.2 本地时钟的时钟漂移

时钟初始偏移量对于上电那一刻是一个状态量,也就是说这个偏移量是固定的差值。而在持续运行过程中,由于时钟源等原因,可能导致计时周期的差异逐渐累积,从而产生漂移。

2.5 本地系统时间

本地系统时间定义:每个DC从站的本地时钟经过补偿和同步之后产生本地系统时间。

2.6 传输延时

数据帧在从站之间传输会产生延迟,这个延迟可能包括物理传输上的延时,设备内部本身的延迟。

系统初始化阶段,为使各个具备分布时钟功能的从站使用相同的时钟,需要对上述中的传输延时和时钟偏移量进行测量和补偿。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/44515.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【排序 - 快速排序】

快速排序(Quick Sort)是一种高效的排序算法,它基于分治(Divide and Conquer)的策略。这种排序算法的核心思想是选择一个基准元素,将数组分割成两部分,使得左边的元素都小于等于基准元素&#xf…

9月Sui Builder House新加坡站开启报名

本次以建设者为主的活动包括: 与Sui社区互动的机会庆祝Sui生态成就的时刻公布和发布新产品建设者学习、网络交流、分享和启动新项目的机会 该活动与Token2049新加坡同期进行,Token2049是一个全球性会议系列,汇集加密货币的决策者们交换想法…

LabVIEW与ABB工业机器人据监控

​1. 前言 随着工业自动化的发展,工业机器人在制造业中的应用越来越广泛。为了实现对工业机器人的高效监控和控制,本文介绍了利用OPC(OLE for Process Control)服务器将ABB工业机器人与LabVIEW连接起来的解决方案。通过OPC服务器…

Clion中怎么切换不同的程序运行

如下图,比如这个文件夹下面有那么多的项目: 那么我想切换不同的项目运行怎么办呢?如果想通过下图的Edit Configurations来设置是不行的: 解决办法: 如下图,选中项目的CMakeLists.txt,右键再点击…

022-GeoGebra中级篇-几何对象之直线与坐标轴

本文主要介绍一下GeoGebra中直线的常见输入方式,比如工具栏输入、表达式输入、函数输入,最后再把坐标轴的调用简单介绍一下。内容比起传统的教学更偏向于实战一些,若感兴趣欢迎继续阅读。 目录 一、直线1. 关于工具栏绘制(1&#…

Apache配置与应用(优化apache)

Apache配置解析(配置优化) Apache链接保持 KeepAlive:决定是否打开连接保持功能,后面接 OFF 表示关闭,接 ON 表示打开 KeepAliveTimeout:表示一次连接多次请求之间的最大间隔时间,即两次请求之间…

78000A 信号分析软件

思仪(Ceyear) 78000A 信号分析软件 78000A 信号分析软件是一款能够在电脑上运行的应用软件,预留了开放式的 SCPI 控制指令,可以远程控制信号/频谱分析仪采集数据,也可以回放仿真数据或者采集的历史数据文件,执行通用频谱测量、矢…

圆屋顶下,神的盛宴

你有没有想过,自己头顶的是什么? 其实,有很多种可能: 比如,你头顶的当然就是你的头发;但也有可能你剃了个光头,所以你的头顶是秃的,不过没关系,你如果在房间里&#xff…

viscode-插件

vue组件生成&#xff1a; vue.json {"vue-template": {"prefix": "vue","body": ["<template>"," <div class\"$1\">$2</div>","</template>","","…

嵌入式应用开发之代码整洁之道

前言&#xff1a;本系列教程旨在如何将自己的代码写的整洁&#xff0c;同时也希望小伙伴们懂如何把代码写脏&#xff0c;以备不时之需&#xff0c;同时本系列参考 正点原子 &#xff0c; C代码整洁之道&#xff0c;编写可读的代码艺术。 #好的代码的特点 好的代码应该都有着几…

联想拯救者Y7000 IRX9 笔记本接口功能介绍

适用机型&#xff1a;Legion Y7000 IRX9; 83JJ&#xff1b; USB&#xff08;3.2 Gen 1&#xff09;Type-接口摄像头开关组合音频插孔 多用于USB Type-C接口 以太网接口 多用途USB Type-C接口&#xff08;支持USB Power Delivery&#xff09;HDMI接口USB&#xff08;3.2 Gen 1&…

学圣学最终的目的是:达到思无邪的状态( 纯粹、思想纯正、积极向上 )

学圣学最终的目的是&#xff1a;达到思无邪的状态&#xff08; 纯粹、思想纯正、积极向上 &#xff09; 中华民族&#xff0c;一直以来&#xff0c;教学都是以追随圣学为目标&#xff0c;所以中华文化也叫圣学文化&#xff0c;是最高深的上等学问&#xff1b; 圣人那颗心根本…

洛谷 7.10 数数

Vanya and Books - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) ac代码 #include<bits/stdc.h> typedef long long ll;#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0) const ll N1e3; using namespace std;int main() {IOS;ll x;cin>>x;ll ans0,px…

FastAPI 学习之路(三十五)项目结构优化

之前我们创建的文件都是在一个目录中&#xff0c;但是在我们的实际开发中&#xff0c;肯定不能这样设计&#xff0c;那么我们去创建一个目录&#xff0c;叫models&#xff0c;大致如下。 主要目录是&#xff1a; __init__.py 是一个空文件&#xff0c;说明models是一个package…

Vue在一个页面调用另一个同级页面的方法

1、建个中转站 2、然后在两个页面都引入它&#xff0c;注意引入路径。 import Utils from src/utils/way 3、调用方的写法 //eg :Utils.$emit(demo, msg) 4、被调用方的写法 //eg :Utils.$on(demo, val>{})

Playwright使用教程【附爬取Leetcode题目URLs以及有道翻译小软件】

前言 playwright是微软设计的一款工具&#xff0c;可以爬取网页&#xff0c;还可以自动化测试自己编写的网站&#xff0c;而且不像bs4、request编写爬虫那么复杂&#xff0c;也不需要考虑反爬技术&#xff0c;只需要知道最基础的前端知识&#xff0c;就可以高效、便捷的编写爬…

筑牢代码安全之盾 —— 沙箱在源代码防泄密中四大特性

在这个数字化飞速发展的时代&#xff0c;源代码作为企业的核心资产&#xff0c;其安全性显得尤为重要。一旦泄露&#xff0c;不仅可能导致知识产权的损失&#xff0c;还可能引发一系列连锁反应&#xff0c;威胁企业的生存和发展。在这样的背景下&#xff0c;SDC沙盒以其独特的产…

电子电气架构 --- 关于DoIP的一些闲思 下

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

【密码学】大整数分解问题和离散对数问题

公钥密码体制的主要思想是通过一种非对称性&#xff0c;即正向计算简单&#xff0c;逆向计算复杂的加密算法设计&#xff0c;来解决安全通信。本文介绍两种在密码学领域内最为人所熟知、应用最为广泛的数学难题——大整数分解问题与离散对数问题 一、大整数分解问题 &#xf…

【pyqt-实训训练LOG】串口助手

串口助手 前言一、ui设计二、ui的控件命名三、ui转py使用类的方法【扩展】使用ui文件导入&#xff01;P7的小错误解决办法 总结 前言 我的惯例就是万物之始&#xff0c;拜见吾师&#x1f970;⇨pyqt串口合集 最开始的时候我想的是&#xff0c;学了那么久的pyqt&#xff0c;我…