Time Master行為
在gPTP網(wǎng)絡(luò)中作為Time Master的節(jié)點(diǎn)存在著如下報(bào)文處理流程:
Time Master負(fù)責(zé)SYNC報(bào)文與Follow-Up報(bào)文的發(fā)送,SYNC報(bào)文可以通過設(shè)置參數(shù)EthTSynGlobalTimeTxPeriod來進(jìn)行周期性發(fā)送,在發(fā)送SYNC報(bào)文的過程中需進(jìn)行如下三個(gè)基本步驟:
通過函數(shù) EthIf_ProvideTxBuffer來獲取空閑的buffer來存儲(chǔ)發(fā)送的數(shù)據(jù);
如果參數(shù)EthTSynHardwareTimestampSupport設(shè)置為TRUE,那么可通過函數(shù)EthIf_EnableEgressTimeStamp來激活硬件時(shí)間戳功能;
通過調(diào)用函數(shù)Ethif_Transmit來觸發(fā)報(bào)文的發(fā)送;
當(dāng)參數(shù)EthTSynHardwareTimestampSupport設(shè)置為TRUE,通過調(diào)用函數(shù)EthTSyn_TxConfirmation來獲取SYNC報(bào)文外發(fā)時(shí)刻的時(shí)間戳;
通過設(shè)置參數(shù)EthTSynGlobalTimeTxFollowUpOffset來決定SYNC報(bào)文發(fā)送之后多久發(fā)送Follow_Up報(bào)文,F(xiàn)ollow_Up報(bào)文發(fā)送需經(jīng)過如下兩個(gè)基本步驟:
通過函數(shù) EthIf_ProvideTxBuffer來獲取空閑的buffer來存儲(chǔ)發(fā)送的數(shù)據(jù);
通過調(diào)用函數(shù)Ethif_Transmit來觸發(fā)報(bào)文的發(fā)送;
通過函數(shù) EthTSyn_TrcvLinkStateChg來獲取當(dāng)前使用的PHY狀態(tài),當(dāng)PHY狀態(tài)由 ETHTRCV_LINK_STATE_ACTIVE 切換成ETHTRCV_LINK_STATE_DOWN時(shí)就會(huì)重置所有時(shí)間同步報(bào)文的發(fā)送與接收狀態(tài)機(jī)。
通過函數(shù) EthTSyn_TrcvLinkStateChg來獲取當(dāng)前使用的PHY狀態(tài),當(dāng)PHY狀態(tài)由 ETHTRCV_LINK_STATE_DOWN切換成ETHTRCV_LINK_STATE_ACTIVE時(shí)就會(huì)重啟所有時(shí)間同步報(bào)文的發(fā)送與接收。
可通過調(diào)用函數(shù)EthTSyn_SetTransmissionMode并設(shè)置成ETHTSYN_TX_OFF,所有發(fā)送的請(qǐng)求將會(huì)被禁止發(fā)送,設(shè)置成ETHTSYN_TX_ON則所有的報(bào)文發(fā)送請(qǐng)求均會(huì)被接受。
-
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
7570瀏覽量
88833 -
時(shí)間
+關(guān)注
關(guān)注
0文章
41瀏覽量
19773 -
汽車
+關(guān)注
關(guān)注
13文章
3525瀏覽量
37347
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論