2、硬件时间戳
华为提供的autosar Tsync不支持硬件时间戳
keystone(德州仪器)架构的1588硬件时间戳
如果以太网控制器集成有时钟,能够为以太网消息加上硬件时间戳,那么时间同步的精确度可以进一步提高。如果你使用的是EB的以太网驱动,那么有无硬件时钟的两种情况,都能支持。
硬件层:硬件层就是带有1588硬件辅助的网络控制器,由硬件PTP时钟向网络报文提供时间戳,时间戳的捕获是在MAC这一层。图里没有画PHY,类似地,如果使用PHY的1588功能的话,那硬件层就是PHY,由PHY上的PTP时钟向网络报文提供时间戳,时间戳的捕获是在PHY这一层。
学习驱动当然离不开对硬件的理解。回到之前对内核空间部分的介绍,Linux内核空间主要由两部分驱动来支持1588功能。其一是PTP时钟驱动,用于对硬件PTP时钟进行操作。其二是网络驱动,确切的说是网络驱动中的1588硬件时间戳的支持,用于捕获收发报文的硬件时间戳。
重点参考:IEEE 1588/802.1AS标准、硬件,Linux软件学习建议_就是个linux工程师的博客-CSDN博客_ieee802.1as
个人理解:学习自上面两个网站,着重德州仪器的芯片介绍:
DP83640芯片支持1588功能,根据下图,可以看出需要有个时钟、报文解析模块,这个应该都需要驱动的支持,其中1588的计时器,需要32位的秒计数器和30位的纳秒计数器
报文解析模块需要能够解析PTP报文