当前位置: 首页 > news >正文

有赞做网站今日特大新闻

有赞做网站,今日特大新闻,建设大学网站服务,进网站备案Linux时间体系 Linux 需要提供“知道当前时间、计算时间长度、定时提醒”这三种功能。 其中知道当前时间和计算时间长度在某种程度上可以互相转换。即以UNIX Epoch计时开始可以知道当前时间。 一般硬件可以提供下列的硬件时钟: RTC 【真实时钟】 对于PC而言&…

Linux时间体系

Linux 需要提供“知道当前时间、计算时间长度、定时提醒”这三种功能。

其中知道当前时间和计算时间长度在某种程度上可以互相转换。即以UNIX Epoch计时开始可以知道当前时间。

一般硬件可以提供下列的硬件时钟:

  • RTC 【真实时钟】 对于PC而言,一般通过主板上的纽扣电池供电维护,防止断电后时间信息不对。对于嵌入式设备,我觉得一般没有使用这个时钟。RTC时钟一般需要通过IO接口读取进入Kernel,然后更新内部的时间计数器,然后在关机过程中写入。以保存时间。对于嵌入式设备,我觉得可以靠NTP之类的授时协议来更新时钟。
  • 定时器【TImer】 这个一般是定时中断,可能精度较低
  • 计时器【counter】 递增的CPU计数器 属于是寄存器。读取超级快。精度高,准确。

下面是一些常用概念:

UNIX Epoch:
UNIX诞生那一年,作为类UNIX计时的起点,即1970-01-01。

UTC:
世界协调时间,一般认为的0时区时间。计算机底层都是用UTC交互,应用层上面再加逻辑换算时区。


Linux的时间接口,会用到这些参数:

timespec:是一个结构体,内有两个参数,一个是秒,一个是纳秒。表示精度到那纳秒。

clockid:用于区分使用的不同时钟体系:

【CLOCK_REALTIME】
自然时间,也就是壁挂时钟。可设置,可跳跃。可往前可往后。
会影响到这些时间体系:CLOCK_REALTIME_ALARM(定时专用)/COARSE(粗糙读取快)/TAI(无闰)
这些不可设置。

【CLOCK_MONOTONIC】
单调递增时钟,只能往后调整,不能往前调。一般是以系统启动为起点。

【CLOCK_MONOTONIC_RAW】
不能调整。

linuxptp

查看网卡是否有ptp硬件时钟

sudo ethtool -T  网卡名 [ 如eth0 ]  

ptp4l

ptp4l is an implementation of the Precision Time Protocol (PTP) according to IEEE standard 1588 for Linux. It implements Boundary Clock (BC), Ordinary Clock (OC), and Transparent Clock (TC).

选项:

-H
使用硬件时钟
Select the hardware time stamping. All ports specified by the -i option and in the configuration file must be attached to the same PTP hardware clock (PHC). This is the default time stamping.

-S
使用软件时钟
Select the software time stamping.

-f config
指定配置文件
Read configuration from the specified file. No configuration file is read by default.

-i interface
指定ptp硬件时钟 如果不指定好像会自动选择。一般一个网卡可能也就一个硬件ptp时钟 在/dev/ptp* 可以看到
Specify a PTP port, it may be used multiple times. At least one port must be specified by this option or in the configuration file.

-s
纯纯slave模式
Enable the clientOnly mode.

-m
标准输出端口打印log
Print messages to the standard output.

配置文件示例

Automotive MasterAutomotive profile example configuration for master containing those attributes which differ from the default configuration. Refer to ptp4l(8) for the complete list of available options.
[global]
# Options carried over from gPTP.
gmCapable               1     #让本地时钟可以作为grandmaster 使用802.1AS时钟
priority1               248    #本地时钟的priority1属性。它用于PTP服务器选择算法,较低的值优先。必须在0到255之间。默认值为128。
priority2               248    #本地时钟的priority2属性。它用于PTP服务器选择算法,较低的值优先。必须在0到255之间。默认值为128。
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
#
# Automotive Profile specific options
#
BMCA                    noop
serverOnly              1
inhibit_announce        1
asCapable               true
inhibit_delay_req       1

说实话,配置文件我没有用。目前来看指令比较简单。可能面对特殊的环境和应用需要做配置文件发布和定制。会比较好。
比如车内TSN就需要配置文件 指明使用TSN AS协议。

phc2sys(8): synchronize two or more clocks

phc2sys is a program which synchronizes two or more clocks in the system. Typically, it is used to synchronize the system clock to a PTP hardware clock (PHC), which itself is synchronized by the ptp4l(8) program.With the -a option, the clocks to synchronize are fetched from the running ptp4l daemon and the direction of synchronization automatically follows changes of the PTP port states.Manual configuration is also possible. When using manual configuration, two synchronization modes are supported, one uses a pulse per second (PPS) signal provided by the source clock and the other mode reads time from the source clock directly. Some clocks can be used in both modes, the mode which will synchronize the time sink with better accuracy depends on hardware and driver implementation.

网卡的硬件时钟是PTP,或者叫PHC。程序用的时钟是上面的CLOCK_REALTIME
phc2sys的作用就是在自己内部,不同的时钟之间做同步。

常用指令:
-a
Read the clocks to synchronize from running ptp4l and follow changes in the port states, adjusting the synchronization direction automatically. The system clock (CLOCK_REALTIME) is not synchronized, unless the -r option is also specified.
似乎是添加经由ptp4l同步的时钟(软或者硬实现同步)进入同步组。和谁同步呢,-a说是自动选择,但是我没考虑过如果不指定还能和谁同步。
这里指出了-r表示开启CLOCK_REALTIME作为同步对象。

也就是说:

phc2sys -a -r

是从ptp4l的同步时钟–同步至–》CLOCK_REALTIME

-r
Only valid together with the -a option. Instructs phc2sys to also synchronize the system clock (CLOCK_REALTIME). By default, the system clock is not considered as a possible time source. If you want the system clock to be eligible to become a time source, specify the -r option twice.

这里实际上指出要使用-rr

phc2sys -a -rr

-rr表示把系统时钟当做了时钟源,然后 CLOCK_REALTIME–同步至–>PHC

我之前测试的时候,没有在作为grandmaster的host内执行phc2sys -a -rr, 造成虽然我在host内用date修改了时间,但是slave的时间虽然运行了phc2sys -a -r也没有被修改。
甚至在slave同步成功后变成了UNXI Epoch。

总结

【grand master】

phc2sys -a -rr # sys time --> ptp clock
ptp4l -i 网卡 -H -m # 指定接口(网卡) 使用硬件时钟 打印log

【slave】

ptp4l -i 网卡 -H -m -s# -s 表示仅仅以 slave的模式执行
phc2sys -a -r# ptp clock --> sys time
http://www.hkea.cn/news/253575/

相关文章:

  • 做调查用哪个网站网络推广有多少种方法
  • 开发一个交易网站多少钱在线工具
  • 网站平台怎么建立的软文范例
  • 移动应用开发专业学什么东莞seo软件
  • 做宣传网站的公司手机百度极速版app下载安装
  • 私人可以做慈善网站吗外贸如何推广
  • 网站页面模板页面布局如何成为百度广告代理商
  • 瑞安外贸网站建设曲靖百度推广
  • 先做网站还是服务器销售营销方案100例
  • 用卫生纸做的礼物街网站免费网页空间到哪申请
  • 手游网站做cpc还是cpm广告号厦门网页搜索排名提升
  • 人个做外贸用什么网站好宁波百度seo点击软件
  • 诈骗网站怎么做的企业网站seo案例分析
  • 如何做网站接口湖南营销型网站建设
  • 进入兔展网站做PPt软文营销ppt
  • app网站新闻危机公关
  • 东莞关键词优化实力乐云seo南宁seo外包服务商
  • 做网站都是用源码么免费注册个人网站不花钱
  • 建设网站需要两种服务支持官网设计公司
  • 安庆做网站seo建站收费地震
  • 绵阳住房和城市建设局网站官网seo排名优化联系13火星软件
  • 网站开发建设费用关键词异地排名查询
  • 网站建设企业电话广州优化疫情防控举措
  • 重庆模板网站建设百度网站域名注册
  • 安徽建设厅网站地址网络广告推广方式
  • 门户网站内容管理建设方案企业关键词优化推荐
  • 北京网站建设公司飞沐小学生一分钟新闻播报
  • 企业网站建设申请域名seo赚钱
  • 2017网站开发前景百度网盘资源链接入口
  • 平面广告设计主题seo是怎么优化上去