IEEE1588

## 精度影响因素:
SLAVE端:
timer的ts记录点,分别为phy,mac,协议栈(软件timer),精度递减。
1、硬件Timer(phy,mac)。
    1、内部Timer的tick最小粒度。  
    2、时钟频率源(晶振)的精确度,PPM参数,温漂。计算频偏,进行补偿。

两个timer之间的链路上:
2、链路上交换机或者路由器。
    1、是否支持1588V2透传协议,会计算包在设备内的滞留时间,加到correction字段。
    2、以及数据包内部转发时延的测量精度。
3、上下行链路延迟的固有非对称性。
3、是否有fifo。
MASTER端:
4、MASTER设备的精度指标。
5、MASTER发送sync的频率,频度高对时越频繁,越准确。

xilinx 10GE 在 mac层打ts, rx 内部有解包模块,识别到1588的包,会自动打ts,tx 则需要自己手动打tag,标明哪个包需要打ts。
开启ieee1588功能后,ip会关闭phy中的fifo,且自动补偿非对称时延。经实测,精度和说明书一致,可达到5ns之内。(双端都是xilinx 的IP核)

你可能感兴趣的:(linux驱动)