车载以太网时间同步Time Master行为

发布时间:
来源: 电子工程世界

Time Master行为

在gPTP网络中作为Time Master的节点存在着如下报文处理流程:


Time Master负责SYNC报文与Follow-Up报文的发送,SYNC报文可以通过设置参数EthTSynGlobalTimeTxPeriod来进行周期性发送,在发送SYNC报文的过程中需进行如下三个基本步骤:

通过函数 EthIf_ProvideTxBuffer来获取空闲的buffer来存储发送的数据;

如果参数EthTSynHardwareTimestampSupport设置为TRUE,那么可通过函数EthIf_EnableEgressTimeStamp来激活硬件时间戳功能;

通过调用函数Ethif_Transmit来触发报文的发送;

当参数EthTSynHardwareTimestampSupport设置为TRUE,通过调用函数EthTSyn_TxConfirmation来获取SYNC报文外发时刻的时间戳;

通过设置参数EthTSynGlobalTimeTxFollowUpOffset来决定SYNC报文发送之后多久发送Follow_Up报文,Follow_Up报文发送需经过如下两个基本步骤:

通过函数 EthIf_ProvideTxBuffer来获取空闲的buffer来存储发送的数据;

通过调用函数Ethif_Transmit来触发报文的发送;

通过函数 EthTSyn_TrcvLinkStateChg来获取当前使用的PHY状态,当PHY状态由 ETHTRCV_LINK_STATE_ACTIVE 切换成ETHTRCV_LINK_STATE_DOWN时就会重置所有时间同步报文的发送与接收状态机。

通过函数 EthTSyn_TrcvLinkStateChg来获取当前使用的PHY状态,当PHY状态由 ETHTRCV_LINK_STATE_DOWN切换成ETHTRCV_LINK_STATE_ACTIVE时就会重启所有时间同步报文的发送与接收。

可通过调用函数EthTSyn_SetTransmissionMode并设置成ETHTSYN_TX_OFF,所有发送的请求将会被禁止发送,设置成ETHTSYN_TX_ON则所有的报文发送请求均会被接受。


文章来源于: 电子工程世界 原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。