Time Slave行为
在gPTP网络中作为Time Slave的节点存在着如下报文处理流程:
如果EthTSynHardwareTimestampSupport设置成TRUE, TimeSlave节点可以通过函数EthTSyn_RxIndication来获取SYNC报文接收到的时间戳;
TimeSlave可通过配置参数EthTSynGlobalTimeFollowUpTimeout来实现SYNC报文接收之后Follow_Up报文的超时监控,一旦发生超时,那么本次时间同步将失效,等待下次新的时间同步序列;
如果EthTSynHardwareTimestampSupport设置成TRUE, TimeSlave节点收到有效的Follow_Up报文之后,本地时间与Follow_Up发送的全局时间差距超过EthTSynTimeHardwareCorrectionThreshold,那么就需要调用函数EthIf_SetCorrectionTime来进行重置本地时间;
如果EthTSynHardwareTimestampSupport设置成FALSE, Time Slave就需要计算出全局时间,然后通过函数StbM_BusSetGlobalTime来实现时间同步;
为了便于大家更好地使用EthTsync这个模块,小T整理了关于车载以太网时间同步模块这部分常用的函数接口与功能说明,如下图18所示: