PTP移植笔记五:SYNC报文和时间戳

SYNC报文:
在这里插入图片描述下图为捕获的dante设备PTPv2报文:
在这里插入图片描述可以看到每四次Sync一次Announce报文。

编写K64上面的PTP代码时发现,K64可以为PTPv1和PTPv2两个版本的报文记录时间戳。

SYNC报文结构
报文头在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
SYNC、FOLLOW_UP报文的发送:
SYNC报文由处于MASTER状态的时钟周期性的发送,间隔时间为1(秒) ×(2^portDS.logSyncInterval)。
FOLLOW_UP是SYNC的关联报文,应在SYNC之后,尽快发送。
FOLLOW_UP头中的sequenceId应当与SYNC头中的sequenceId相同。
Delay_Req报文的发送:
端口处于SLAVE或UNCALIBRATED状态时,才可以发送此报文。
发送时间要求为:
第一帧Delay_Req的时间没有额外要求,之后的间隔应使用响应报文中的logMessageInterval计算,公式为1(秒) ×2^portDS.logMinDelayReqInterval。logMinDelayReqInterval=最后一次接收到的Delay_Resp中的logMessageInterval。
连续Delay_Req的时间间隔应该随机分布,分布时间范围为0~2^(logMinDelayReqInterval+1)秒之间,又不能大于2的(logSyncInterval-4)次方秒,每次发送前都应重新计算此随机值。
Delay_Resp报文的发送:
端口处于MASTER状态时,才可以发送此报文。
接收到Delay_Req报文后,应尽快发送此报文。
在发送报文之前应:
1.计算logMinDelayReqInterval的更新值。
2.用上面的计算结果更新发送端口的portDS.longMinDelayReqInterval值。
3.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值