PTP移植笔记十三:时间戳网络接口优化

K64上面IEEE1588时间戳分为接收时间戳、发送时间戳。

  • 接收时间戳全部都有,硬件自动为每个接收到的报文记录时间戳。
  • 发送时间戳需要设置标志位才有,发送前设置一个记录时间戳的标志位,发送完成后,就可以读取到时间戳。

开始时操作网络接口使用的官方代码,现在出于性能优化的目的,优化时间戳部分的相关内容,官方实现的方式是这样:

  • 接收到报文后,判断是否是PTP报文,如果是,则将接收的时间戳,连同PTP报文的标识记录到环形缓冲区中。
  • 应用程序判断是否是PTP报文,然后从缓冲区中读取时间戳。
  • 发送报文时,数据包发送函数中判断是否是PTP报文,如果是,则设置时间戳标志。
  • 应用程序随后获取发送的时间戳。

优化的内容:

  • 接收函数中将时间戳交给应用程序统一处理。
  • 发送时,应用程序设置好是否获取时间戳的标志,发送函数只负责执行。

你可能感兴趣的:(PTP移植笔记十三:时间戳网络接口优化)