精华内容
下载资源
问答
  • PTP高精度对时源代码

    2015-07-08 15:16:05
    一个针对PTP高精度对时的实现及守护,C语言
  • 1、先关闭其他对时服务,如网络对时ntp服务。 注:本文中用户为root用户,其他用户可使用sudo操作。 使用timedatectl status命令查看ntp服务状态 此处Network time on 为no表示该服务已关闭 若为yes则使用...

    1、先关闭其他对时服务,如网络对时ntp服务。

    注:本文中用户为root用户,其他用户可使用sudo操作。

    使用timedatectl status命令查看ntp服务状态

    此处Network time on 为no表示该服务已关闭

    若为yes则使用timedatectl set-ntp false命令关闭服务

     

    2、配置银河麒麟官方软件源

    具体内容可参考http://archive.kylinos.cn/kylin/KYLIN-ALL/

    软件源使用方法

    在系统的/etc/apt/sources.list文件中,根据不同版本填入以下内容

    #4.0.2桌面版本:
    deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2-desktop main restricted universe multiverse

    #4.0.2-sp1桌面版本:
    deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp1-desktop main restricted universe multiverse

    #4.0.2-sp2桌面版本:
    deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp2-desktop main restricted universe multiverse

    #4.0.2服务器版本:
    deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2-server main restricted universe multiverse

    #4.0.2-sp1服务器版本:
    deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp1-server main restricted universe multiverse

    #4.0.2-sp2服务器版本:
    deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp2-server main restricted universe multiverse

    #4.0.2-sp2 FT2000+服务器版本:
    deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp2-server-ft2000 main restricted universe multiverse

    #4.0.2-sp3桌面版本:
    deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp3-desktop main restricted universe multiverse

    #4.0.2-sp3服务器版本:
    deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp3-server main restricted universe multiverse

    使用vim  /etc/apt/sources.list

    3、安装ptp

    在所有需要使用ptp对时服务的机器上运行apt-get install ptpd安装ptp服务

    使用systemctl status ptpd查看服务状态为active则服务正常运行

    选择一台机器作为主时钟,选择一个支持ptp协议的网卡启动服务(本文选择enp0s31f6网卡)。

    查看网卡名使用ifconfig

    查看网卡是否支持ptp协议使用ethtool -T enp0s31f6

    如下图若此处PTP Hardware Clock为none则表示不支持,需选择一个支持此协议的网卡。

    在主时钟机器上运行ptpd -M -i enp0s31f6,若出现error则加-L参数再次运行。

     

    在其他从时钟机器上运行ptpd -g -i enp0s31f6,若出现error则加-L参数再次运行。

     

    更改主时钟时间,从时钟时间自动改变则服务搭建成功。

     

    展开全文
  • 基于此,基于IEEE1588 标准(Precision Time Protocol,PTP)授的高可靠时间统一系统的应用进行了深入研究。本系统采用PTP协议进行授,可使系统时间同步精度达到纳秒级,并以最佳主时钟算法(Best Master Clock...
  • 两个点点(PTP)网络并存的自由度研究
  • 抓包也确实看到了PTP数据包,是不是和UDP实现ptp的精确度不够有关系,真正的应该是走MAC层通信进行校的。无奈我的H7挂的是LAN8720(RMII接口),没办法开启H7的硬件时间戳功能,开启的话需要MII接口的PHY芯片(DP...

    参考微软NetX Duo的文档,自己在H7板子搭建了一个上试了试,搭建不难
    参考文档
    ptp协议
    Linux下搭建ptp服务器

    效果

    Linux端
    在这里插入图片描述
    H7的板卡的串口打印信息
    在这里插入图片描述
    效果嘛,我不知道是不是和虚拟机有关系,精确度还可以,但是时间老是掉,不知道为啥
    抓包也确实看到了PTP数据包,是不是和UDP实现ptp的精确度不够有关系,真正的应该是走MAC层通信进行校时的。无奈我的H7挂的是LAN8720(RMII接口),没办法开启H7的硬件时间戳功能,开启的话需要MII接口的PHY芯片(DP83846这种)。。。。知识盲区了。。害

    重新看了看NetX Duo的例程,原来例程给的时钟实现是软件的,它说要依赖硬件时间戳的,但是我去百度了很久,看到很多人做都是用f429做的, f4 的hal库是有ptp相关函数的,但是H7的hal库(截止到目前最新的1.8版本)还是没有相关的函数接口,呜呜呜呜呜,难道要自己写嘛
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • 欢迎淘宝搜索飞灵科技,我司相关新产品陆续上线。 匆忙翻译了一下linuxptp ptp4l的帮助手册,不尽准确,不尽详细,仅...自动选择延迟测量机制,运行使用E2E,但接收到peer delay request报文后自动切换到P2P。 -E.

    欢迎淘宝搜索飞灵科技,我司相关新产品陆续上线。

    匆忙翻译了一下linuxptp ptp4l的帮助手册,不尽准确,不尽详细,仅供参考。欢迎留言讨论相关问题。

    1 名称

    ptp4l - PTP普通时钟/边界时钟/透明时钟协议栈

    2 描述

    ptp4l是一个Linux上PTP协议(IEEE 1588)的实现,支持普通时钟,边界时钟和透明时钟。

    3 配置选项

    配置选项 描述
    -A 自动选择延迟测量机制,运行时使用E2E,但接收到peer delay request报文后自动切换到P2P。
    -E E2E延迟测量机制 (默认配置)
    -P P2P延迟测量机制
    -2 IEEE 802.3协议
    -4 UDP/IPv4协议(默认配置)
    -6 UDP/IPv6协议
    -H 硬件时间戳(默认配置)
    -S 软件时间戳
    -L Legacy硬件时间戳
    -f 指定配置文件,若没有指定,则使用默认配置。
    -i 指定网口(PTP port),可以多次使用指定多个网口,但该选项或配置文件中至少要指定一个。
    -p 指定PHC (PTP Hardware Clock) device,例如/dev/ptp0,该选项已经不推荐使用,适用于v3.5之前的内核,因为v3.5之前的内核不支持通过网口找到PHC device。
    -s slaveOnly模式
    -l 打印级别 0~7(默认6,LOG_INFO)
    -m 将信息打印到标准输出
    -q 不将信息发送到系统logger
    -v 显示版本号
    -h 显示help信息

    4 长配置选项

    下面每一个在配置文件中使用的选项也可以在命令行中使用,例如slaveOnly选项,可以在命令行中以下面的形式使用,

    • --slaveOnly 1
    • --slaveOnly=1

    命令行中使用的配置选项的值,会覆盖配置文件中的[global]段配置选项的值。

    5 配置文件

    配置文件按段划分,空行和#开头的行会被忽略。

    有三种段类型:

    • [global]段,用来配置program选项,clock选项,默认port选项。
    • port段使用被配置的网口的名字,如[eth0]段,其配置的选项会覆盖[global]段中默认port选项。port段可以为空内容,作用只是指定网口,这样命令行中不必使用-i选项。
    • [unicast_master_table]段,配置单播table,后面会有介绍。

    5.1 Port选项

    配置选项 描述 默认值
    delayAsymmetry 非对称延迟,传输路径和接收路径的时间差,单位ns。当server-to-client传输时间更长时为正数,client-to-server传输时间更长时为负数。 0
    logAnnounceInterval Announce报文发送时间间隔。同一个domain里的PTP设备,应该使用相同的值。时间间隔值为该值的2的次方。 1(2秒)
    logSyncInterval Sync报文发送时间间隔。时间间隔值为该值的2的次方。 0(1秒)
    operLogSyncInterval 时钟进入SERVO_LOCKED_STABLE状态时,请求的Sync报文时间间隔。如果配置了msg_interval_request选项,本地client port将请求远程server改变Sync报文发送时间间隔。时间间隔值为该值的2的次方。 0(1秒)
    logMinDelayReqInterval 允许的最小Delay_Req报文发送时间间隔。时间间隔值为该值的2的次方。 0(1秒)
    logMinPdelayReqInterval 允许的最小Pdelay_Req报文发送时间间隔。时间间隔值为该值的2的次方。 0(1秒)
    operLogPdelayReqInterval 时钟进入SERVO_LOCKED_STABLE状态时,要使用的Pdelay_Req报文时间间隔。如果配置了msg_interval_request选项,本地client port将使用该Pdelay_Req报文发送时间间隔。时间间隔值为该值的2的次方。 0(1秒)
    inhibit_delay_req 禁止发送任何delay request,需要配置asCapable为true。 0(disabled)
    announceReceiptTimeout 没有收到Announce报文的数目,用来判断Announce报文超时。 3
    syncReceiptTimeout 没有收到sync/follow报文的数目,用于gPTP模式判断Sync是否超时,是否触发best master clock选择。 0(disabled)
    transportSpecific 报文transportSpecific域,范围0~255。 0
    ignore_transport_specific 接收报文的transportSpecific域值,如果和配置的值匹配,则会被丢弃。设置该选项为1可以忽略该值的匹配。 0
    path_trace_enabled 记录Annouce报文的路径。 0
    follow_up_info 在follow_up报文包含802.1AS的数据 0
    fault_reset_interval 重置port错误的时间,单位秒,时间值为该值的2的次方。 4(16秒)
    fault_badpeernet_interval 重置peer网络错误配置的时间,单位秒,时间值为该值的2的次方。 4(16秒)
    delay_mechanism 延迟测量机制,E2E, P2P或者Auto。 E2E
    hybrid_e2e delay request/response使用单播地址 0
    inhibit_multicast_service 禁止多播,使用单播。 0
    net_sync_monitor 使能NetSync Monitor协议,该选项要求hybrid_e2e被使能。 0
    unicast_listen 单播监听 0
    unicast_master_table 选择用于单播发现的table id 0
    unicast_req_duration 单播发现的时间,单位秒。 3600
    ptp_dst_mac PTP报文发送的MAC地址 01:1B:19:00:00:00
    p2p_dst_mac peer机制报文发送的MAC地址 01:80:C2:00:00:0E
    network_transport 传输协议,UDPv4, UDPv6或L2 UDPv4
    neighborPropDelayThresh peer delay最大阈值,单位ns,超过该值则认为对端设备是非gPTP设备 20000000
    masterOnly 绕过BMCA,使clock工作在master模式 0
    G.8275.portDS.localPriority ITU-T G.8275.1 and G.8275.2使用 128
    min_neighbor_prop_delay peer delay最小阈值,单位ns,低于该值则认为对端设备是非gPTP设备 -20000000
    tsproc_mode 时间戳计算模式,用来计算offset和delay。可选择filter, raw, filter_weight, raw_weight。 filter
    delay_filter 延迟测量的滤波算法,可选择moving_average或moving_median。 moving_median
    delay_filter_length 延迟滤波采样长度 10
    egressLatency 发送延迟补偿,单位ns 0
    ingressLatency 接收延迟补偿,单位ns 0
    boundary_clock_jbod 允许多个PTP时钟,作为一个边界时钟来运行。要有额外的程序保证多个PTP时钟的同步。 0
    udp_ttl UDP包生存时间值 1

    5.2 程序选项和时钟选项

    配置选项 描述 默认值
    twoStepFlag 两步时间戳模式,单步时间戳模式选择 1
    slaveOnly 绕过BMCA,使clock工作在slave模式 0
    socket_priority 报文优先级,0~15,只在L2协议下生效 0
    gmCapable 是否具有master能力,只对gPTP模式生效 1
    priority1 时钟priority1属性,0~255 128
    priority2 时钟priority2属性,0~255 128
    clockClass 时钟clockClass属性 248
    clockAccuracy 时钟clockAccuracy属性 0xFE
    clockIdentity 时钟clockIdentity属性,使用默认值则会在运行时自动生成 000000.0000.000000
    offsetScaledLogVariance 时钟offsetScaledLogVariance属性 0xFFFF
    G.8275.defaultDS.localPriority ITU-T G.8275.1 and G.8275.2使用 128
    maxStepsRemoved Announce报文的stepsRemoved值大于等于该值时,则不参与BMCA 255
    domainNumber PTP域 0
    utc_offset TAI和UTC时间差 37
    free_running 不调整物理时钟 0
    freq_est_interval 评估本地时钟和对端时钟频率比值的时间间隔,时间间隔值为该值的2的次方。 1(2秒)
    assume_two_step 按两步报文的方式,处理单步报文 0
    tc_spanning_tree 透明时钟生成树模式,在PTP网络中,实现所有透明时钟内增加Announce报文的stepsRemoved值,和相应BMCA,可以避免环形PTP报文循环。 0
    tx_timestamp_timeout 等待发送时间戳的超时时间,单位ms 1
    check_fup_sync 检查sync,follow_up报文顺序 0
    clock_servo 时钟伺服器,可选择pi,ntpshm,nullf pi
    clock_type 时钟类型,OC,BC,E2E_TC,P2P_TC OC
    pi_proportional_const pi算法选项 0.0
    pi_integral_const pi算法选项 0.0
    pi_proportional_scale pi算法选项 0.0
    pi_proportional_exponent pi算法选项 -0.3
    pi_proportional_norm_max pi算法选项 0.7
    pi_integral_scale pi算法选项 0.0
    pi_integral_exponent pi算法选项 0.4
    pi_integral_norm_max pi算法选项 0.3
    step_threshold 步进时钟的阈值,超过阈值,直接调整时钟时间,单位秒 0.0
    first_step_threshold 第一次步进时钟的阈值,超过阈值,直接调整时钟时间,单位秒 0.00002
    max_frequency 最大频率调整值,单位ppb 900000000 (90%)
    sanity_freq_limit PTP时钟和系统monotonic时钟频率偏差限制,单位ppb 200000000 (20%)
    initial_delay 链路延迟初始值,单位ns。设置为0的话,程序会先测量 0
    ntpshm_segment ntpshm私服使用的SHM段的数目 0
    udp6_scope IPv6多播报文的范围,默认为全局范围 0x0E
    uds_address UNIX domain socket地址 /var/run/ptp4l
    dscp_event PTP事件报文使用的Differentiated Services Codepoint (DSCP),0~63 0
    dscp_general PTP通用报文使用的Differentiated Services Codepoint (DSCP),0~63 0
    dataset_comparison BMCA比较dataset的方法,可选择"ieee1588"或 “G.8275.x” ieee1588
    logging_level log级别 6 (LOG_INFO)
    message_tag 可以添加到所有打印信息中 空字符
    verbose 打印消息到标准输出 0
    use_syslog 打印消息到系统日志 1
    summary_interval 打印统计信息时间间隔,时间间隔值为该值的2的次方。 0(1秒)
    time_stamping 时间戳类型,可选择hardware, software, legacy, onestep, 或p2p1step hardware
    productDescription 时钟描述 ;;
    revisionData 时钟描述 ;;
    userDescription 时钟描述 空字符
    manufacturerIdentity 时钟描述 00:00:00
    kernel_leap linux内核闰秒 1
    timeSource 时钟类型 0xA0
    hwts_filter 硬件时间戳过滤器设置模式,可选择normal, check, full normal
    asCapable 如果设置为true,就认为是gPTP设备,不再检查。 auto
    BMCA 最优时钟算法,可选择masterOnly,slaveOnly或ptp ptp
    inhibit_announce 禁止发送Annouce报文,需要使能ignore_source_id 0
    ignore_source_id 忽略sync和follow_up报文的source port id检查 0
    msg_interval_request 是否使能请求调整sync和peer delay request报文的发送间隔 0
    servo_num_offset_values 时间偏差值连续小于servo_offset_threshold的数目,达到这个数目伺服器进入stable状态 10
    servo_offset_threshold 时间偏差阈值 0
    slave_event_monitor slave事件监测的UNIX domain socket地址 空字符
    write_phase_mode 使用PTP硬件写相位功能,代替调整频率偏差 0

    5.3 单播发现选项

    配置选项 描述
    table_id table id,正数值
    logQueryInterval 单播协商时间间隔,时间间隔值为该值的2的次方。
    peer_address P2P单播地址
    L2|UDPv4|UDPv6 传输协议

    6 时间尺度

    ptp4l作为PTP域的主时钟时,使用PTP时间还是使用UTC时间取决于时间戳类型。软件时间戳和legacy时间戳模式,使用UTC时间,硬件时间戳使用PTP时间。ptp4l使用硬件时间戳作为主时钟时,由phc2sys程序维护UTC和PTP时间的校正值。

    展开全文
  • 对PTP 1588新的认识

    2021-03-22 23:04:52
    1588的研究持续了一段时间,总有不太确定的地方,现在进行个阶段性总结,也包含了个人的思考,可能还有认识不到位的地方,请这方面的专家能提点意见。 图1Model of an ordinary clock,来自于IEC 61588-2009...

    对1588的研究持续了一段时间,总有不太确定的地方,现在进行个阶段性总结,也包含了个人的思考,可能还有认识不到位的地方,请这方面的专家能提点意见。

    图1 Model of an ordinary clock,来自于IEC 61588-2009网络测量和控制系统的精密时钟同步协议标准.pdf

    仅介绍在SLAVE模式下PTP同步过程:

    分为两个阶段,时钟同步和时间同步。
    step 1. master 每0.1S发1个SYNC包,Slave通过更新上图Time的值来调整供给自己PHY(上图下方紫框)的时钟(上图红色Clock)使得接收到SYNC包的时间间隔=0.1S,实现时钟同步,同时达到了时间也尽可能靠近master时间的目的,这部分内容可以在I210手册page337页找到佐证,以下是摘抄:

    The slave calculates the time gap between consecutive SYNC packets defined by the master clock. It then calibrates itself to get the same time gap defined by its own clock. During this phase the slave also sets its time to be as close as possible to the master time。
    step 2. 时间同步阶段,Slave MAC得到时间戳t1~t4,计算得到时间偏差,只需要在slave MAC侧加上时间偏差就得到了对齐后的时间,实现了时间同步,这个阶段无需再调整上图的Clock了。

    因此:

    1. 对于1588的硬件设计,除了MAC、PHY的参与,也需要板载支持1588的时钟的参与,这个时钟不同于一般的时钟芯片,后者只支持锁相环的功能,前者还支持时间的写入(如上图Local Clock框内的Time输入),通过写入Time来调整送到PHY的Clock,这也就是为什么在时钟同步阶段,调整Clock也能达到调整Time的原因。支持1588的时钟芯片比如8A34002,通过相位控制字实现DCO控制的框图如下:

    图2 External DCO Control via Phase Control Word

    上图中的Phase Control Word(PCW)关联了1个timer(there is an optional timer associated with the PCW. This allows a phase control word to be applied for a limited period of time after which it will be automatically reset to zero or placed into holdover by the 8A34002, and therefore, it will avoid the DCO continuing to apply the phase adjustment indefinitely until it reaches its tuning range limits. The timer value is a 16-bit integer that has a granularity (粒度) of 1 millisecond and a full range of up to 65.535 seconds.)可通过设置timer来调整时钟输出,即是说通过I2C或SPI写入time可以调整时钟的输出,这和图1中左上角紫框的功能是对应的,支持time写入可能就是支持1588的时钟芯片的特色吧。

    展开全文
  • 在部署PTP Operator,它将自动创建PtpOperatorConfig类型的default自定义资源,其中包含可配置的选项daemonNodeSelector ,用于指定将在哪个节点上创建linuxptp daemon 。 daemonNodeSelector将应用于linuxptp ...
  • ptp700打印机

    2019-02-27 15:06:12
    ptp700打印机
  • numpy ptp

    2019-05-05 16:33:44
    返回沿某轴axis方向上的最大值 - 最小区 差值 import numpy as np a = np.array([[3,7,5],[8,4,3],[2,...print(np.ptp(a)) print(np.ptp(a,axis=1)) print(np.ptp(a,axis=0)) [[3 7 5] [8 4 3] [2 4 9]] 7 [4 5...
  • ptp-up:ptp帮手-源码

    2021-05-03 16:12:36
    向上 您需要安装node.js,mktorrent...ptp电影***。mkv ptp电影***。rar ptp电影***。mkv --nomv(不要将此文件移动到配置设置的moveDir。) 浏览your.server.ip:9006 电影***。mkv-info.txt将包含您所需的描述。 科
  • Linux PTP原理

    2018-04-14 23:44:10
    本文档详细描述了PTP时钟同步的原理、应用场景、以及与NTP的对比等信息
  • 一种PTP时钟同步设备(ptp服务器)技术应用 一种PTP时钟同步设备(ptp服务器)技术应用 【关键词】IEEE1588;时间同步;PTP 一、电力系统时间同步基本概况  随着IEC 61850标准研究的不断深入,国内外学者提出基于...
  • PTP简介

    2020-03-10 16:44:02
    PTP简介 在通信网络中,许多业务的正常运行都要求网络时钟同步,即整个网络各设备之间的时间或频率差保持在合理的误差水平内。网络时钟同步包括以下两个概念: l时间同步:也叫相位同步(Phase synchronization)...
  • NTP/PTP/卫星授您的自动化系统会选哪个? NTP/PTP/卫星授您的自动化系统会选哪个? 随着数字网络的不断发展,基于网络协议(IP)的技术不断涌现,因为它足够的方便、灵活和可扩展性。局域网(LANs)、广域网(WANs...
  • PTP监测.exe

    2019-07-11 16:24:22
    捕获 PTP 网络流量。分析传入数据包并显示检测到的 PTP 设备!
  • Android中,PTP只支援Primary Storage...  You could refer to the comments of MtpService.java file // In PTP mode we support only primary storage   二、如需修改,请自行参考如下修改: \alps\...
  • 图文并茂PTP教程

    2011-10-08 00:42:26
    图文并茂的英文PTP(高精度时间同步协议)教程 IEEE 1588TM (PTP) in Communication Networks
  • ptp-dev.docx

    2021-04-21 12:53:58
    mark ptp dev
  • 北斗授设备(PTP主时钟)模块化设计原理 北斗授设备(PTP主时钟)模块化设计原理  利用网络时间服务器同步电脑和其它设备  可编程串行讯息兼容几乎任何时间显示  基于浏览器的用户界面,易于安装  紧凑...
  • PTP移植笔记三:PTP定时器

    千次阅读 2019-04-11 14:31:10
    PTP报文的处理函数为: void processMessage(RunTimeOpts *rtOpts, PtpClock *ptpClock, TimeInternal *timeStamp, unsigned int length) 函数的处理流程为: 1.检查报文头,版本号 2.检查地址等 以上各种检查...
  • PTP移植笔记十一:PTP状态机

    千次阅读 2019-05-14 11:34:22
    PTP的状态机分成了几个部分: PTP数据IO、处理主循环。 主状态机:状态与PTP文档一一对应。 主时钟协商状态机。 主时钟状态机:当作为主时钟的处理逻辑。 从时钟状态机:当作为从时钟的处理逻辑。 -...
  • PTP技术介绍

    2012-07-13 16:32:49
    ieee1588v2-PTP技术介绍,h3c文档
  • IEEE1588(PTP)协议实现精确授 1、绝对时间信息的获取 IEEE1588 协议,又称 PTP( precise time protocol,精确时间协议),能够实现准确的时间授,其基本功能是使分布式网络内的最精确时钟与其他时钟保持同步...
  • numpy.ptp

    千次阅读 2019-06-12 21:50:15
    意义:轴方向上的最大值与最小值之差 示例: a = np.arange(9).reshape((3,3)) print(a) # [[0 1 2] # [3 4 5] # [6 7 8]] ...b = np.ptp(a, axis=0) # axis=0 表示纵向 ...c = np.ptp(a, axis=1) #...
  • 解剖PTP协议

    千次阅读 2019-05-17 15:46:00
    PTP是什么?  英文为Precise Time Protocol,翻译过来就是精确时间协议 二. 为何会出现PTP?  大家想必是知道NTP的存在,然而NTP的精度很低,只能达到毫秒级别的精度,那么PTP就是为了克服NTP精度不高的问题而出现的...
  • ptp服务器说明书

    2018-05-31 20:00:47
    ptp服务器说明书,看看技术指标什么的阿斯顿发生大法。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,934
精华内容 4,373
关键字:

ptp对时