在二次开发ntp和ptp模块的时候,会有将系统时间转换为ptp时间或者ntp时间,一般初学者会比较迷糊,现将其总结如下
1 Linux时间结构
获取linux系统时间一般有两个函数,获取us级的时间函数和获取ns级的时间函数。一般linux系统时间整数秒从1900年0时0分0秒开始计时,在ptp中启示也是这个值,但是在ntp整数秒计数起时是1970年0时0分0秒,所以在将系统时间转换为ntp时间整数秒的时候,会补偿1970到1900时间差0x83aa7e80,细节见下ntp讲解。
函数gettimeofday(struct timeval *tv, struct timezone *tz)
struct timeval {
time_t tv_sec; /* seconds */
suseconds_t tv_usec; /* microseconds */
};
函数int clock_gettime(clockid_t clk_id, struc
Linux与PTP/NTP时间结构及时延偏差计算解析

本文详细介绍了Linux时间结构、PTP和NTP时间结构,以及E2E和P2P模式下的时延偏差计算方法。在Linux系统中,获取时间的函数包括gettimeofday和clock_gettime。PTP时间由32位整数秒和32位小数秒组成,而NTP时间需要补偿1970到1900年的时间差。时延偏差计算涉及多个时间点的比较和修正。
最低0.47元/天 解锁文章
7704

被折叠的 条评论
为什么被折叠?



