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://xiahunao.cn/news/3227043.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【排序 - 快速排序】

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

【机器学习】机器学习详解-小白入门(随记)

🎈边走、边悟🎈迟早会好 机器学习(Machine Learning)是一种人工智能技术,通过让计算机系统从数据中学习并改进其性能,而不是通过显式编程来完成特定任务。其核心概念是利用算法和统计模型对大量数据进行分…

农业采摘--RGBD数据转point cloud

一、RGBD图像转点云数据的步骤 将RGBD图像转点云数据常包含五个步骤: 1. 图像采集: 使用RGBD相机同时捕获颜色(RGB)和深度(Depth)信息。颜色记录了场景的彩色视觉信息,而深度图像记录了场景中每…

程序员学长 | PyCaret,一个超强的 python 库

本文来源公众号“程序员学长”,仅用于学术分享,侵权删,干货满满。 原文链接:PyCaret,一个超强的 python 库 今天给大家分享一个超强的 python 库,PyCaret。 https://github.com/pycaret/pycaret 简介 …

通过Umijs从0到1搭建一个React项目

有一阵时间没写react了,今天通过umi搭建一个demo项目复习一下react;umi是一个可扩展的企业级前端应用框架,在react市场中还是比较火的一个框架。 Umi官方文档:Umi 介绍 (umijs.org) 一、构建项目。 1、安装包管理工具。 官方推…

不入耳耳机哪个品牌好便宜学生、不入耳式蓝牙耳机推荐

开放式耳机相较于传统的入耳式耳机,极大地提升了用户的听觉享受和佩戴时的持久舒适度。然而,如何找到一款性价比高、品质优良的开放式耳机也是一个不小的问题。不入耳耳机哪个品牌好便宜学生?为了帮助大家更好地做出选择,我结合自…

Python爬虫:基础爬虫架构及爬取证券之星全站行情数据!

爬虫成长之路(一)里我们介绍了如何爬取证券之星网站上所有A股数据,主要涉及网页获取和页面解析的知识。爬虫成长之路(二)里我们介绍了如何获取代理IP并验证,涉及了多线程编程和数据存储的知识。此次我们将在…

在攻防演练中遇到的一个“有马蜂的蜜罐”

在攻防演练中遇到的一个“有马蜂的蜜罐” 有趣的结论,请一路看到文章结尾 在前几天的攻防演练中,我跟队友的气氛氛围都很好,有说有笑,恐怕也是全场话最多、笑最多的队伍了。 也是因为我们遇到了许多相当有趣的事情,其…

获取商铺信息,以及商铺信息的增删改查

本文章主要讲述如何对商铺信息进行基本的增删改查操作,及数据库对比。 1、获取首页仪表盘统计数据接口 待收费金额: SELECT count(1) as count,IFNULL(sum(total),0)as sum FROM payment_bill WHERE enabled_mark 1 AND pay_state0 欠费数据&#xf…

集群管理脚本

虚拟机集群管理脚本 文章目录 虚拟机集群管理脚本一、远程调用脚本(remote_call.sh)二、远程复制目录脚本(remote_copy.sh) 一、远程调用脚本(remote_call.sh) 如果有传命令参数,则执行该命令;如果没有传命令参数,则不执行。 #!/bin/bashcm…

[C++] 轻熟类和对象

类的定义 格式规范 class为定义类的关键字,后有类名,类的主体存于{}中;类定义结束时后面的分号不能省略;类体的内容成为类的成员,类中的变量成为成员变量,函数成为方法或成员函数;C兼容C语言的…

开发个人Go-ChatGPT--8 网站部署

开发个人Go-ChatGPT–8 网站部署 白嫖,白嫖,白嫖 平替 aliyun的收费服务, 白嫖,白嫖,白嫖, 以下功能全部白嫖。 Cloudflare 提供了许多便捷且免费的服务,以下是一些主要的免费功能: 免费且快…

递归 迷宫问题-java

1)findWay方法是为了找出走出迷宫的路径,找到返回true,否则返回false 2)(i,j)是老鼠的位置,初始化的位置为(1,1) 3)因为是递归找路&am…

echarts使用自定义图形实现3D柱状图

先看下效果吧 实现思路 使用graphic创建并注册自定义图形。根据每组的数据值,得到一个对应的点,从点出发用canvas绘制一组图形,分别为 顶部的菱形 const CubeTop echarts.graphic.extendShape({buildPath: function (ctx, shape) {const c1…

标签印刷检测,如何做到百分百准确?

印刷标签是一种用于标识、识别或包装产品的平面印刷制品。这些标签通常在纸张、塑料膜、金属箔等材料上印刷产品信息、条形码、图像或公司标识,以便于产品识别和管理。印刷标签有各种形状、尺寸和材质,可以根据具体需求进行定制设计。常见的印刷标签包括…

idea 插件市场,idea搜索不到lombok插件

https://plugins.jetbrains.com/plugin/6317-lombok/versions/stable

zabbix 学习笔记

文章目录 Zabbix 安装Ubuntu 18.04.1 server 安装Zabbix 4.0Centos7 安装Zabbix3.4Centos7 安装zabbix4.2Centos7.1908安装zabbix 基于ngixDebian11安装zabbix6.0LTS 基于PostgreSQL和NGINXAlmaLinux9.2使用国内清华源在线安装zabbix6.0.18LTS 基于MySQL和NGINXUbunut22.04使用…

中国光储充一体化行业:有望成为全球能源转型的重要驱动力

光储充一体化系统,又称微电网解决方案,系一种整合分布式光伏能源、用电负载管理、配电设施以及监控与保护设备的自给型能源供应体系。该系统核心组件包括光伏发电系统、储能装置及充电站,其工作原理为:光伏发电系统捕获太阳能并转…

vue3-openlayers WebGL加载地图(栅格切片、矢量切片)

本篇介绍一下使用vue3-openlayers WebGL加载地图(栅格切片、矢量切片) 1 需求 vue3-openlayers WebGL加载地图(栅格切片、矢量切片) 2 分析 栅格切片使用ol-webgl-tile-layer 矢量切片使用ol-vector-tile-layer(默…

mac安装配置cmake

本机是2015 macbook pro mid,已经有点老了,用homebrew下cmake老出问题 其实cmake官网安装也不麻烦 一、官网下载对应安装包 Download CMake 和所有dmg文件一样安装 二、改成命令行使用 一般来说 tutorial 给的都是命令行build 命令行的设置如下&am…