專(zhuān)利名稱(chēng):獲取不對(duì)稱(chēng)延遲時(shí)間的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊技術(shù)領(lǐng)域,具體涉及獲取不對(duì)稱(chēng)延遲時(shí)間的技術(shù)。
背景技術(shù):
IEEE1588V2是一種精確的時(shí)間同步協(xié)議,可以稱(chēng)為PTP(Precision TimeProtocol,精確時(shí)間協(xié)議)。PTP通過(guò)在設(shè)備間(如主從設(shè)備間或者請(qǐng)求器與響應(yīng)器之 間)進(jìn)行消息傳輸實(shí)現(xiàn)時(shí)間同步。目前,由于PHY(物理)層芯片等原因會(huì)導(dǎo)致通訊鏈路存在延遲不對(duì)稱(chēng)性,即第一 設(shè)備到第二設(shè)備方向的延遲時(shí)間與第二設(shè)備到第一設(shè)備方向的延遲時(shí)間不相同。上述第 一設(shè)備為主設(shè)備時(shí),第二設(shè)備為從設(shè)備,第一設(shè)備為請(qǐng)求器時(shí),第二設(shè)備為響應(yīng)器。針對(duì)延 遲不對(duì)稱(chēng)性鏈路,PTP提出的對(duì)第二設(shè)備的通信鏈路進(jìn)行補(bǔ)償?shù)臅r(shí)間同步方法包括如下計(jì) 算Tms = <meanPathDelay>+deIayAsymmetry ;Tsm = <meanPathDelay>-deIayAsymmetry ;其中,Tms為第一設(shè)備到第二設(shè)備方向的延遲時(shí)間;Tsm為第二設(shè)備到第一設(shè) 備方向的延遲時(shí)間;meanPathDelay為第一設(shè)備到第二設(shè)備和第二設(shè)備到第一設(shè)備的平 均路徑延遲時(shí)間,delayAsymmetry為不對(duì)稱(chēng)延遲時(shí)間,在第一設(shè)備到第二設(shè)備方向的傳 輸時(shí)間大于第二設(shè)備到第一設(shè)備的傳輸時(shí)間時(shí),delayAsymmetry可以定義為正數(shù),否則 delayAsymmetry 為負(fù)數(shù)。在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)PTP中并沒(méi)有給出delayAsymmetry的獲得 方法,而現(xiàn)有技術(shù)中通常采用基于GPS (Global Position System,全球定位系統(tǒng))的專(zhuān)用儀 器進(jìn)行實(shí)地測(cè)量的方式來(lái)獲得delayAsymmetry。明顯的,采用專(zhuān)用儀器實(shí)地測(cè)量的方式會(huì) 使時(shí)間同步的實(shí)現(xiàn)成本高且效率低。
發(fā)明內(nèi)容
本發(fā)明實(shí)施方式提供的獲取不對(duì)稱(chēng)延遲時(shí)間的方法和裝置,可準(zhǔn)確方便的獲得設(shè) 備的不對(duì)稱(chēng)延遲時(shí)間,從而可以降低時(shí)間同步的實(shí)現(xiàn)成本,提高時(shí)間同步的效率。本發(fā)明實(shí)施方式提供的獲取不對(duì)稱(chēng)延遲時(shí)間的方法,包括獲取報(bào)文在設(shè)備物理層的發(fā)送先進(jìn)先出緩沖器中的駐留時(shí)間Tl,并獲取報(bào)文在所 述設(shè)備物理層的接收先進(jìn)先出緩沖器中的駐留時(shí)間T2 ;根據(jù)所述Tl和T2的差值、所述物理層固有延遲時(shí)間與傳輸線(xiàn)路延遲時(shí)間三者之 和獲得不對(duì)稱(chēng)延遲時(shí)間。本發(fā)明實(shí)施方式提供的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置,包括第一獲取模塊,用于獲取報(bào)文在設(shè)備物理層的發(fā)送先進(jìn)先出緩沖器中的駐留時(shí)間 Tl,并獲取報(bào)文在所述設(shè)備物理層的接收先進(jìn)先出緩沖器中的駐留時(shí)間T2 ;第二獲取模塊,用于根據(jù)所述Tl和T2的差值、所述物理層固有延遲時(shí)間與傳輸線(xiàn)路延遲時(shí)間三者之和獲得不對(duì)稱(chēng)延遲時(shí)間。通過(guò)上述技術(shù)方案的描述可知,通過(guò)利用數(shù)據(jù)在物理層的發(fā)送先進(jìn)先出緩沖器中 的駐留時(shí)間以及該數(shù)據(jù)在物理層的接收先進(jìn)先出緩沖器中的駐留時(shí)間,可以獲取物理層延 遲時(shí)間,通過(guò)利用該物理層延遲時(shí)間和傳輸線(xiàn)路延遲時(shí)間可以方便準(zhǔn)確的獲得不對(duì)稱(chēng)延遲 時(shí)間,從而可以方便的進(jìn)行時(shí)間同步,降低了時(shí)間同步的實(shí)現(xiàn)成本,提高了時(shí)間同步的效率。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實(shí)施例一的獲取不對(duì)稱(chēng)延遲時(shí)間的方法流程圖;圖IA是本發(fā)明實(shí)施例一的同步FIFO緩沖器的示意圖;圖IB是本發(fā)明實(shí)施例一的異步FIFO緩沖器的示意圖;圖2是本發(fā)明實(shí)施例二的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置示意圖;圖2A至2F是本發(fā)明實(shí)施例二的第一獲取模塊示意圖;圖3是本發(fā)明實(shí)施例三的具體應(yīng)用的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置示意圖;圖3A是本發(fā)明實(shí)施例三的時(shí)序圖;圖4是本發(fā)明實(shí)施例四的具體應(yīng)用的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置示意圖;圖5是本發(fā)明實(shí)施例五的具體應(yīng)用的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置示意圖。
具體實(shí)施例方式下面通過(guò)實(shí)施例對(duì)本發(fā)明的具體實(shí)現(xiàn)過(guò)程進(jìn)行例舉說(shuō)明。顯然,下面所描述的實(shí) 施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通 技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。實(shí)施例一、獲取不對(duì)稱(chēng)延遲時(shí)間的方法,包括獲取報(bào)文在設(shè)備物理層的發(fā)送先進(jìn) 先出緩沖器中的駐留時(shí)間Tl,并獲取報(bào)文在所述設(shè)備物理層的接收先進(jìn)先出緩沖器中的駐 留時(shí)間T2 ;根據(jù)所述Tl和T2的差值、所述物理層固有延遲時(shí)間與傳輸線(xiàn)路延遲時(shí)間三者 之和獲得不對(duì)稱(chēng)延遲時(shí)間。該方法的流程如附圖1所示。圖1中,S100、獲取報(bào)文(如帶有時(shí)間戳的報(bào)文)在設(shè)備物理層的發(fā)送FIFO緩沖 器中的駐留時(shí)間Tl。這里的設(shè)備為從設(shè)備或者響應(yīng)器等,具體的可以為基站等。上述發(fā)送 FIFO緩沖器可以為同步FIF0(即發(fā)送FIFO緩沖器的讀時(shí)鐘和寫(xiě)時(shí)鐘為同一個(gè)時(shí)鐘),也可 以為異步FIF0(即發(fā)送FIFO緩沖器的讀時(shí)鐘和寫(xiě)時(shí)鐘為不同的時(shí)鐘)。同步FIFO緩沖器 的一個(gè)具體例子如附圖IA所示,異步FIFO緩沖器的一個(gè)具體例子如附圖IB所示。本實(shí)施 例不限制設(shè)備的具體表現(xiàn)形式以及發(fā)送FIFO緩沖器的具體結(jié)構(gòu)和具體型號(hào)等。S100的具體實(shí)現(xiàn)方式有多種,下面以事件報(bào)文為例,例舉三種實(shí)現(xiàn)方式。
獲取駐留時(shí)間Tl的實(shí)現(xiàn)方式一 首先,在事件報(bào)文從MAC層向物理層發(fā)送時(shí),為該事件報(bào)文加入時(shí)間戳,該時(shí)間戳 被攜帶在事件報(bào)文中。具體的,這里的加入時(shí)間戳的操作可以由MAC層執(zhí)行,如MAC層在向 物理層發(fā)送事件報(bào)文時(shí),為該事件報(bào)文加入時(shí)間戳。這里的加入時(shí)間戳的操作也可以由物 理層執(zhí)行,如物理層接收到MAC層傳輸來(lái)的事件報(bào)文時(shí),為該事件報(bào)文加入時(shí)間戳。其次,在檢測(cè)出該設(shè)備的物理層接收到MAC層發(fā)送的該事件報(bào)文時(shí),根據(jù)設(shè)備本 地時(shí)鐘的時(shí)鐘周期的時(shí)長(zhǎng)和獲得的時(shí)鐘周期數(shù)量獲取駐留時(shí)間Tl,即獲取時(shí)鐘周期數(shù)量與 時(shí)鐘周期的時(shí)長(zhǎng)的乘積,該乘積即為駐留時(shí)間Tl。獲取駐留時(shí)間Tl的執(zhí)行主體可以為物理 層或者M(jìn)AC層或應(yīng)用層等。獲取時(shí)鐘周期數(shù)量具體可以為獲取物理層的發(fā)送FIFO緩沖器的當(dāng)前深度,并根 據(jù)發(fā)送FIFO緩沖器的有效讀信號(hào)確定從發(fā)送FIFO緩沖器中讀取出當(dāng)前深度的數(shù)據(jù)所消耗 的時(shí)鐘周期數(shù)量。這里的時(shí)鐘周期是指設(shè)備本地時(shí)鐘的時(shí)鐘周期。上述檢測(cè)事件報(bào)文的操 作可以由物理層或者M(jìn)AC層或者應(yīng)用層等執(zhí)行主體執(zhí)行。上述獲取當(dāng)前深度和確定時(shí)鐘周 期數(shù)量的操作也可以由物理層或者M(jìn)AC層或者應(yīng)用層等執(zhí)行主體來(lái)執(zhí)行。在檢測(cè)事件報(bào)文 的操作的執(zhí)行主體與獲取當(dāng)前深度和確定時(shí)鐘周期數(shù)量的操作的執(zhí)行主體不是位于不同 層時(shí),檢測(cè)事件報(bào)文的執(zhí)行主體在檢測(cè)出接收到MAC層發(fā)送來(lái)的事件報(bào)文時(shí),可以通過(guò)產(chǎn) 生中斷等方式通知執(zhí)行獲取當(dāng)前深度和確定時(shí)鐘周期數(shù)量的執(zhí)行主體。確定時(shí)鐘周期數(shù)量 的一個(gè)具體例子為針對(duì)發(fā)送FIFO緩沖器為設(shè)備的本地時(shí)鐘設(shè)置第一計(jì)數(shù)器,在獲取了發(fā) 送FIFO緩沖器的當(dāng)前深度時(shí),該第一計(jì)數(shù)器開(kāi)始為設(shè)備的本地時(shí)鐘的時(shí)鐘周期計(jì)數(shù),對(duì)發(fā) 送FIFO緩沖器的讀信號(hào)進(jìn)行采樣,并檢測(cè)采樣的讀信號(hào)是否為發(fā)送FIFO緩沖器的有效讀 信號(hào),每檢測(cè)到發(fā)送FIFO緩沖器的有效讀信號(hào),則當(dāng)前深度值減1,在當(dāng)前深度值為0時(shí),上 述第一計(jì)數(shù)器停止計(jì)數(shù),讀取第一計(jì)數(shù)器的計(jì)數(shù)值,該計(jì)數(shù)值即為上述時(shí)鐘周期數(shù)量。獲取駐留時(shí)間Tl的實(shí)現(xiàn)方式二 首先,在事件報(bào)文從MAC層向物理層發(fā)送時(shí),為事件報(bào)文加入時(shí)間戳,該時(shí)間戳被 攜帶在事件報(bào)文中,為方便描述,該時(shí)間戳可以稱(chēng)為第一時(shí)間戳。加入第一時(shí)間戳的操作可 以由MAC層執(zhí)行,如MAC層在向物理層發(fā)送事件報(bào)文時(shí),為該事件報(bào)文加入第一時(shí)間戳。這 里的加入第一時(shí)間戳的操作也可以由物理層執(zhí)行,如物理層接收到MAC層傳輸來(lái)的事件報(bào) 文時(shí),為該事件報(bào)文加入第一時(shí)間戳。其次,在該事件報(bào)文從物理層向?qū)Χ嗽O(shè)備物理層層發(fā)送時(shí),為該事件報(bào)文記錄第 二時(shí)間戳,第二時(shí)間戳可以不攜帶在事件報(bào)文中,而是本地存儲(chǔ)該第二時(shí)間戳。這里的記錄 第二時(shí)間戳的操作可以由物理層執(zhí)行,如物理層在向?qū)Χ嗽O(shè)備的物理層發(fā)送事件報(bào)文時(shí), 為該事件報(bào)文記錄第二時(shí)間戳。這里的記錄第二時(shí)間戳的操作也可以由應(yīng)用層執(zhí)行,如應(yīng) 用層在檢測(cè)到本設(shè)備的物理層向?qū)Χ嗽O(shè)備的物理層發(fā)送事件報(bào)文時(shí),為該事件報(bào)文記錄第 二時(shí)間戳。最后,根據(jù)從事件報(bào)文中獲取的第一時(shí)間戳和從本地存儲(chǔ)信息中獲取的第二時(shí)間 戳獲取駐留時(shí)間Tl,即獲取第一時(shí)間戳和第二時(shí)間戳的差值,該差值即為駐留時(shí)間Tl。執(zhí) 行獲取差值操作的執(zhí)行主體可以為物理層,也可以為MAC層或者應(yīng)用層等。獲取駐留時(shí)間Tl的實(shí)現(xiàn)方式三首先,在事件報(bào)文從MAC層向物理層發(fā)送時(shí),為事件報(bào)文加入時(shí)間戳,該時(shí)間戳被攜帶在事件報(bào)文中。這里的加入時(shí)間戳的操作可以由MAC層執(zhí)行,如MAC層在向物理層發(fā) 送事件報(bào)文時(shí),為該事件報(bào)文加入時(shí)間戳。這里的加入時(shí)間戳的操作也可以由物理層執(zhí)行, 如物理層接收到MAC層傳輸來(lái)的事件報(bào)文時(shí),為該事件報(bào)文加入時(shí)間戳。這里的加入時(shí)間 戳操作主要用于與現(xiàn)有協(xié)議中發(fā)送事件報(bào)文的規(guī)定相符合。其次,獲取物理層中發(fā)送FIFO 緩沖器的當(dāng)前擁塞度。獲取當(dāng)前擁塞度的執(zhí)行主體可以為物理層,也可以為MAC層或者應(yīng) 用層等。本實(shí)施例可以采用現(xiàn)有的多種方式來(lái)獲取發(fā)送FIFO緩沖器的當(dāng)前擁塞度,例如, 通過(guò)采用平均算法或者其它算法對(duì)一定周期內(nèi)的發(fā)送FIFO緩沖器深度值進(jìn)行計(jì)算,從而 獲得該周期對(duì)應(yīng)的擁塞度。在本實(shí)施例中,可以周期性的計(jì)算擁塞度,并存儲(chǔ)計(jì)算獲得的各 個(gè)擁塞度,上述當(dāng)前擁塞度可以為在事件報(bào)文從MAC層向物理層發(fā)送時(shí)最新存儲(chǔ)的一個(gè)擁 塞度。 獲得當(dāng)前擁塞度的一個(gè)具體的例子為應(yīng)用層在預(yù)定時(shí)間周期內(nèi)(如1秒鐘)讀取PHY層的發(fā)送FIFO緩沖器深度值η 個(gè),獲取這η個(gè)深度值的平均值,根據(jù)多個(gè)深度值計(jì)算發(fā)送FIFO緩沖器發(fā)送速率的變化率, 根據(jù)該變化率確定當(dāng)前擁塞度的調(diào)整因子,并根據(jù)該調(diào)整因子對(duì)上述平均值進(jìn)行調(diào)整,將 調(diào)整后的數(shù)值作為擁塞度存儲(chǔ)。具體的計(jì)算η個(gè)深度值的平均值可以如下述公式(1)所示, 計(jì)算變化率可以如下述公式(2)所示,當(dāng)前擁塞度可以如下述公式(3)所示<formula>formula see original document page 8</formula><formula>formula see original document page 8</formula>
公式(3)在上述公式中,Li為第i個(gè)深度值,L為100個(gè)深度值的平均值,dt為發(fā)送FIFO緩 沖器發(fā)送速率的變化率,L20為在一個(gè)預(yù)定時(shí)間周期內(nèi)獲取到的第20個(gè)深度值,Ll為在一 個(gè)預(yù)定時(shí)間周期內(nèi)獲取到的第1個(gè)深度值,20Ts第20個(gè)深度值與第1個(gè)深度值的時(shí)間間 隔,(1-dt)為調(diào)整因子,Λ)為當(dāng)前擁塞度。本實(shí)施例不限制獲取發(fā)送FIFO緩沖器的當(dāng)前擁塞度的具體實(shí)現(xiàn)方式。最后,根據(jù)該當(dāng)前擁塞度和設(shè)備本地時(shí)鐘的時(shí)鐘周期的時(shí)長(zhǎng)獲取駐留時(shí)間Tl,即 獲取當(dāng)前擁塞度與時(shí)鐘周期的時(shí)長(zhǎng)的乘積,該乘積即為駐留時(shí)間Tl。續(xù)前例,駐留時(shí)間
=其中,T為時(shí)鐘周期的時(shí)長(zhǎng)。獲取駐留時(shí)間Tl的執(zhí)行主體可以為物理層或
者M(jìn)AC層或者應(yīng)用層等。S110、獲取報(bào)文(如帶有時(shí)間戳的報(bào)文)在該設(shè)備物理層的接收FIFO緩沖器中的 駐留時(shí)間T2。這里的接收FIFO緩沖器可以為同步FIF0(即接收FIFO緩沖器的讀時(shí)鐘和寫(xiě) 時(shí)鐘為同一個(gè)時(shí)鐘),也可以為異步FIF0(即接收FIFO緩沖器的讀時(shí)鐘和寫(xiě)時(shí)鐘為不同的 時(shí)鐘)。本實(shí)施例不限制接收FIFO緩沖器的具體結(jié)構(gòu)以及具體型號(hào)等。SllO的具體實(shí)現(xiàn)方式有多種,下面以事件報(bào)文為例,例舉三種實(shí)現(xiàn)方式。獲取駐留時(shí)間T2的實(shí)現(xiàn)方式一在檢測(cè)出該設(shè)備物理層接收到對(duì)端設(shè)備發(fā)送的帶有時(shí)間戳的事件報(bào)文時(shí),根據(jù)設(shè) 備本地時(shí)鐘的時(shí)鐘周期數(shù)量和時(shí)鐘周期的時(shí)長(zhǎng)獲取駐留時(shí)間T2,即獲取時(shí)鐘周期數(shù)量與時(shí) 鐘周期的時(shí)長(zhǎng)的乘積,該乘積即為駐留時(shí)間T2。獲取駐留時(shí)間T2的執(zhí)行主體可以為物理層或者M(jìn)AC層或者應(yīng)用層等。獲取時(shí)鐘周期數(shù)量具體可以為先獲取物理層的接收FIFO緩沖器的當(dāng)前深度。這 里的對(duì)端設(shè)備如主設(shè)備或者請(qǐng)求器等。上述檢測(cè)操作的執(zhí)行主體可以為物理層,也可以為 MAC層或者應(yīng)用層,上述獲取物理層的接收FIFO緩沖器的當(dāng)前深度的執(zhí)行主體可以為物理 層,也可以為MAC層或者應(yīng)用層。在檢測(cè)事件報(bào)文的操作和獲取當(dāng)前深度的執(zhí)行主體位于 不同層時(shí),檢測(cè)事件報(bào)文的執(zhí)行主體在檢測(cè)到物理層接收到對(duì)端設(shè)備發(fā)送的帶有時(shí)間戳的 事件報(bào)文時(shí),可通過(guò)產(chǎn)生中斷等方式通知執(zhí)行獲取當(dāng)前深度的執(zhí)行主體。之后,根據(jù)接收FIFO緩沖器的有效讀信號(hào)確定從接收FIFO緩沖器中讀取出當(dāng)前 深度的數(shù)據(jù)所消耗的設(shè)備本地時(shí)鐘的時(shí)鐘周期數(shù)量。上述確定時(shí)鐘周期數(shù)量的操作可以由 物理層或者M(jìn)AC層或者應(yīng)用層等執(zhí)行主體來(lái)執(zhí)行。在檢測(cè)事件報(bào)文操作的執(zhí)行主體與確定 時(shí)鐘周期數(shù)量操作的執(zhí)行主體位于不同層的情況下,檢測(cè)事件報(bào)文操作的執(zhí)行主體在檢測(cè) 出PHY層接收到對(duì)端設(shè)備發(fā)送來(lái)的帶有時(shí)間戳的事件報(bào)文時(shí),可以通過(guò)產(chǎn)生中斷等方式通 知執(zhí)行確定時(shí)鐘周期數(shù)量操作的執(zhí)行主體。確定時(shí)鐘周期數(shù)量的一個(gè)具體例子為為設(shè)備 的本地時(shí)鐘設(shè)置第二計(jì)數(shù)器,在獲取了接收FIFO緩沖器的當(dāng)前深度時(shí),該第二計(jì)數(shù)器開(kāi)始 為設(shè)備的本地時(shí)鐘的時(shí)鐘周期計(jì)數(shù)。對(duì)接收FIFO緩沖器的讀信號(hào)進(jìn)行采樣,并檢測(cè)采樣的 讀信號(hào)是否為接收FIFO緩沖器的有效讀信號(hào),每檢測(cè)到接收FIFO緩沖器的有效讀信號(hào),則 當(dāng)前深度值減1,在當(dāng)前深度值為0時(shí),上述第二計(jì)數(shù)器停止計(jì)數(shù),讀取第二計(jì)數(shù)器的計(jì)數(shù) 值,該計(jì)數(shù)值即為上述時(shí)鐘周期數(shù)量。獲取駐留時(shí)間T2的實(shí)現(xiàn)方式二 首先,在檢測(cè)出設(shè)備的物理層接收到對(duì)端設(shè)備發(fā)送來(lái)的事件報(bào)文時(shí),為該事件報(bào) 文記錄時(shí)間戳,該時(shí)間戳可以不攜帶在事件報(bào)文中,而是本地存儲(chǔ)該時(shí)間戳,為方便描述, 該時(shí)間戳可以稱(chēng)為第三時(shí)間戳。這里的記錄第三時(shí)間戳的操作可以由物理層執(zhí)行,如物理 層在接收到對(duì)端設(shè)備發(fā)送來(lái)的帶有時(shí)間戳的事件報(bào)文時(shí),為該事件報(bào)文記錄第三時(shí)間戳。 這里的記錄第三時(shí)間戳的操作也可以由MAC層或應(yīng)用層等來(lái)執(zhí)行,如物理層接收到對(duì)端設(shè) 備傳輸來(lái)的帶有時(shí)間戳的事件報(bào)文時(shí),通過(guò)產(chǎn)生中斷等方式通知MAC層或應(yīng)用層,MAC層或 應(yīng)用層根據(jù)該中斷為該事件報(bào)文記錄第三時(shí)間戳。其次,在該事件報(bào)文從設(shè)備的物理層向MAC層發(fā)送時(shí),為該事件報(bào)文加入時(shí)間戳, 根據(jù)現(xiàn)有協(xié)議的規(guī)定,該時(shí)間戳可以攜帶在事件報(bào)文中,為方便描述,該時(shí)間戳可以稱(chēng)為第 四時(shí)間戳。這里的加入第四時(shí)間戳的操作可以由MAC層執(zhí)行,如MAC層在接收到物理層發(fā) 送來(lái)的帶有時(shí)間戳的事件報(bào)文時(shí),為該事件報(bào)文加入第四時(shí)間戳。這里的加入第四時(shí)間戳 的操作也可以由物理層執(zhí)行,如物理層在將該事件報(bào)文向MAC層發(fā)送時(shí),為該事件報(bào)文加 入第四時(shí)間戳。另外,加入第四時(shí)間戳的操作也可以由應(yīng)用層來(lái)執(zhí)行,例如,在物理層向MAC 層發(fā)送該事件報(bào)文時(shí),物理層通過(guò)產(chǎn)生中斷等方式通知應(yīng)用層,應(yīng)用層根據(jù)物理層的通知 為該事件報(bào)文加入第四時(shí)間戳;再例如,在MAC層接收到物理層發(fā)送的帶有時(shí)間戳的事件 報(bào)文時(shí),MAC層通過(guò)產(chǎn)生中斷等方式通知應(yīng)用層,應(yīng)用層根據(jù)MAC層的通知為該事件報(bào)文加 入第四時(shí)間戳。最后,獲取第三時(shí)間戳和第四時(shí)間戳,根據(jù)第三時(shí)間戳和第四時(shí)間戳獲取駐留時(shí) 間T2,即獲取第三時(shí)間戳和第四時(shí)間戳的差值,該差值即為駐留時(shí)間T2。執(zhí)行獲取差值操 作的執(zhí)行主體可以為物理層,也可以為MAC層或者應(yīng)用層等。
獲取駐留時(shí)間T2的實(shí)現(xiàn)方式三首先,在檢測(cè)出對(duì)端設(shè)備傳輸來(lái)的攜帶有時(shí)間戳的事件報(bào)文從物理層向MAC層發(fā) 送時(shí),獲取物理層中接收FIFO緩沖器的當(dāng)前擁塞度。檢測(cè)事件報(bào)文從物理層向MAC層發(fā)送 的執(zhí)行主體可以為物理層,也可以為MAC層或者應(yīng)用層等。獲取當(dāng)前擁塞度的執(zhí)行主體可 以為物理層或者M(jìn)AC層或者應(yīng)用層等。本實(shí)施例可以采用現(xiàn)有的多種方式來(lái)獲取接收FIFO 緩沖器的當(dāng)前擁塞度,例如,通過(guò)采用平均算法或者其它算法對(duì)一定周期內(nèi)的接收FIFO緩 沖器深度值進(jìn)行計(jì)算,從而獲得該周期對(duì)應(yīng)的擁塞度。在本實(shí)施例中,可以周期性的計(jì)算擁 塞度,并存儲(chǔ)計(jì)算獲得的各個(gè)擁塞度,上述當(dāng)前擁塞度可以為從物理層向MAC層發(fā)送事件 報(bào)文時(shí)最新存儲(chǔ)的一個(gè)擁塞度。獲得當(dāng)前擁塞度的具體的例子如上述獲取駐留時(shí)間T1的 實(shí)現(xiàn)方式三中的描述。本實(shí)施例不限制獲取接收FIFO緩沖器的當(dāng)前擁塞度的具體實(shí)現(xiàn)方 式。其次,根據(jù)當(dāng)前擁塞度和設(shè)備本地時(shí)鐘的時(shí)鐘周期的時(shí)長(zhǎng)獲取駐留時(shí)間T2,即獲 取當(dāng)前擁塞度與時(shí)鐘周期的時(shí)長(zhǎng)的乘積,該乘積即為駐留時(shí)間T2。獲取駐留時(shí)間T2的執(zhí)行 主體可以為物理層或者M(jìn)AC層或者應(yīng)用層等。針對(duì)上述S100和S110需要特別說(shuō)明的是,S100可以采用上述例舉的三種獲取駐 留時(shí)間T1的實(shí)現(xiàn)方式中的任一種實(shí)現(xiàn)方式,且S110同樣可以采用上述例舉的三種獲取駐 留時(shí)間T2的實(shí)現(xiàn)方式中的任一種實(shí)現(xiàn)方式。而且,S100中例舉的各實(shí)現(xiàn)方式與S110中例 舉的各實(shí)現(xiàn)方式并不存在固定配對(duì)的關(guān)系,例如,在S100采用上述例舉的獲取駐留時(shí)間T1 的實(shí)現(xiàn)方式一的情況下,S110可以采用上述例舉的三種獲取駐留時(shí)間T2的實(shí)現(xiàn)方式中的 任一種實(shí)現(xiàn)方式。S120、根據(jù)上述獲得的駐留時(shí)間T1和T2的差值、物理層固有延遲時(shí)間與傳輸線(xiàn)路 延遲時(shí)間三者之和獲得不對(duì)稱(chēng)延遲時(shí)間。在本實(shí)施例中,可以將上述駐留時(shí)間T1和駐留時(shí)間T2的差值與物理層固有延遲 時(shí)間之和確定為物理層延遲時(shí)間。物理層固有延遲時(shí)間為已知的常數(shù),通常由物理層芯片 的生產(chǎn)廠(chǎng)家提供??梢詫⑽锢韺友舆t時(shí)間和傳輸線(xiàn)路延遲時(shí)間之和作為不對(duì)稱(chēng)延遲時(shí)間。 這里的傳輸線(xiàn)路延遲時(shí)間可以采用現(xiàn)有的多種測(cè)量方式獲得,本實(shí)施例不限制獲得傳輸線(xiàn) 路延遲時(shí)間的具體實(shí)現(xiàn)過(guò)程??蛇x的,本實(shí)施例還可以包括S130、根據(jù)不對(duì)稱(chēng)延遲時(shí)間進(jìn)行時(shí)間同步。在獲得 不對(duì)稱(chēng)延遲時(shí)間后,可以采用現(xiàn)有的多種方式來(lái)實(shí)現(xiàn)時(shí)間同步,例如,獲得本端設(shè)備到對(duì)端 設(shè)備和對(duì)端設(shè)備到本端設(shè)備的平均路徑延遲時(shí)間,獲取平均路徑延遲時(shí)間與不對(duì)稱(chēng)延遲時(shí) 間之和Tms,獲取平均路徑延遲時(shí)間與不對(duì)稱(chēng)延遲時(shí)間之差Tsm,從而利用Tms和Tsm實(shí)現(xiàn) 時(shí)間同步。本實(shí)施例不限制利用不對(duì)稱(chēng)延遲時(shí)間進(jìn)行時(shí)間同步的具體實(shí)現(xiàn)過(guò)程。從上述實(shí)施例一的描述可知,實(shí)施例一通過(guò)利用數(shù)據(jù)在物理層的發(fā)送FIFO緩沖 器中的駐留時(shí)間以及該數(shù)據(jù)在物理層的接收FIFO緩沖器中的駐留時(shí)間,可以獲取物理層 延遲時(shí)間,通過(guò)利用該物理層延遲時(shí)間和傳輸線(xiàn)路延遲時(shí)間可以方便準(zhǔn)確的獲得不對(duì)稱(chēng)延 遲時(shí)間,從而可以方便的進(jìn)行時(shí)間同步,降低了時(shí)間同步的實(shí)現(xiàn)成本,提高了時(shí)間同步的效 率。實(shí)施例二、獲取不對(duì)稱(chēng)延遲時(shí)間的裝置。該裝置可以為從設(shè)備或者響應(yīng)器等,具體 的,該裝置可以為基站等。該裝置如附圖2所示。
圖2中的裝置包括發(fā)送FIFO緩沖器200、接收FIFO緩沖器210、第一獲取模塊 220和第二獲取模塊230,可選的,該裝置還可以包括時(shí)間同步模塊240。發(fā)送FIFO緩沖器200和接收FIFO緩沖器210均可以為同步FIFO緩沖器或者異 步FIFO緩沖器,本實(shí)施例不限制發(fā)送FIFO緩沖器200和接收FIFO緩沖器210的具體結(jié)構(gòu) 和具體型號(hào)等。第一獲取模塊220,用于獲取帶有時(shí)間戳的報(bào)文在設(shè)備物理層的發(fā)送FIFO緩沖器 200中的駐留時(shí)間T1,并獲取帶有時(shí)間戳的報(bào)文在設(shè)備物理層的接收FIFO緩沖器210中的 駐留時(shí)間T2。第二獲取模塊230,用于根據(jù)T1和T2的差值、物理層固有延遲時(shí)間與傳輸線(xiàn)路延 遲時(shí)間三者之和獲得不對(duì)稱(chēng)延遲時(shí)間。具體的,第二獲取模塊230可以將上述駐留時(shí)間T1 與駐留時(shí)間T2的差值與物理層固有延遲時(shí)間之和確定為物理層延遲時(shí)間。物理層固有延 遲時(shí)間為已知的常數(shù),通常由物理層芯片的生產(chǎn)廠(chǎng)家提供。第二獲取模塊230可以將物理 層延遲時(shí)間和傳輸線(xiàn)路延遲時(shí)間之和作為不對(duì)稱(chēng)延遲時(shí)間。第二獲取模塊230間可以采用 現(xiàn)有的多種測(cè)量方式獲得傳輸線(xiàn)路延遲時(shí),本實(shí)施例不限制第二獲取模塊230獲得傳輸線(xiàn) 路延遲時(shí)間的具體實(shí)現(xiàn)過(guò)程。時(shí)間同步模塊240,用于根據(jù)第二獲取模塊230獲取的不對(duì)稱(chēng)延遲時(shí)間進(jìn)行時(shí)間 同步。具體的,時(shí)間同步模塊240可以采用現(xiàn)有的多種方式來(lái)實(shí)現(xiàn)時(shí)間同步,例如,時(shí)間同 步模塊240獲得本端設(shè)備到對(duì)端設(shè)備和對(duì)端設(shè)備到本端設(shè)備的平均路徑延遲時(shí)間,并獲取 平均路徑延遲時(shí)間與不對(duì)稱(chēng)延遲時(shí)間之和Tms、以及平均路徑延遲時(shí)間與不對(duì)稱(chēng)延遲時(shí)間 之差Tsm,從而時(shí)間同步模塊240利用Tms和Tsm實(shí)現(xiàn)時(shí)間同步。本實(shí)施例不限制時(shí)間同步 模塊240利用不對(duì)稱(chēng)延遲時(shí)間進(jìn)行時(shí)間同步的具體實(shí)現(xiàn)過(guò)程。在上述描述中,第一獲取模塊220可以有多種不同的實(shí)現(xiàn)方式,下面結(jié)合附圖2A 至2F例舉描述幾種實(shí)現(xiàn)方式。例1、如附圖2A所示第一獲取模塊220包括第一時(shí)間戳子模塊221、第一獲取深 度子模塊222、第一計(jì)數(shù)子模塊223和第一計(jì)算子模塊224。第一計(jì)數(shù)子模塊223包括上述 方法實(shí)施例描述中的第一計(jì)數(shù)器。第一時(shí)間戳子模塊221,用于在事件報(bào)文從MAC層向物理層發(fā)送時(shí),為該事件報(bào)文 加入時(shí)間戳。該時(shí)間戳被攜帶在事件報(bào)文中。第一時(shí)間戳子模塊221可以位于MAC層,即 第一時(shí)間戳子模塊221在檢測(cè)出MAC層在向物理層發(fā)送事件報(bào)文時(shí),為該事件報(bào)文加入時(shí) 間戳。第一時(shí)間戳子模塊221也可以位于物理層,即第一時(shí)間戳子模塊221在檢測(cè)出物理 層接收到MAC層傳輸來(lái)的事件報(bào)文時(shí),為該事件報(bào)文加入時(shí)間戳。另外,第一時(shí)間戳子模塊 221也可以位于應(yīng)用層。需要說(shuō)明的是,如果在實(shí)際應(yīng)用中第一時(shí)間戳子模塊221由多個(gè)具 體器件來(lái)實(shí)現(xiàn),則這多個(gè)具體器件可以均位于同一層,也可以分散位于不同層。還有需要說(shuō) 明的是,第一時(shí)間戳子模塊221是邏輯上的劃分,在實(shí)際應(yīng)用中,第一時(shí)間戳子模塊221可 能不會(huì)與本實(shí)施例中的其它子模塊位于同一個(gè)具體器件中,也可能會(huì)與本實(shí)施例中的其它 子模塊位于同一個(gè)具體器件中。本實(shí)施例記載的下述各子模塊也是如此,下面不再針對(duì)各 子模塊一一進(jìn)行如上說(shuō)明。第一獲取深度子模塊222,用于在設(shè)備物理層接收到MAC層發(fā)送的帶有時(shí)間戳的 事件報(bào)文時(shí),獲取物理層的發(fā)送FIFO緩沖器200的當(dāng)前深度。一個(gè)具體的例子第一獲取深度子模塊222在檢測(cè)出PHY層接收到MAC層發(fā)送來(lái)的帶有時(shí)間戳的事件報(bào)文時(shí),通知第 一計(jì)數(shù)子模塊223,以觸發(fā)第一計(jì)數(shù)子模塊223開(kāi)始為設(shè)備本地時(shí)鐘的時(shí)鐘周期計(jì)數(shù),第一 獲取深度子模塊222可以將獲取的當(dāng)前深度值提供給第一計(jì)數(shù)子模塊223。第一獲取深度 子模塊222可以位于PHY層、MAC層或者應(yīng)用層。第一計(jì)數(shù)子模塊223,用于在物理層接收到MAC層發(fā)送的帶有時(shí)間戳的事件報(bào)文 時(shí),確定從發(fā)送FIFO緩沖器200中讀取出當(dāng)前深度的數(shù)據(jù)所消耗的時(shí)鐘周期數(shù)量。一個(gè)具 體的例子第一計(jì)數(shù)子模塊223在接收到第一獲取深度子模塊222的通知時(shí),開(kāi)始對(duì)設(shè)備本 地時(shí)鐘的時(shí)鐘周期計(jì)數(shù),第一計(jì)數(shù)子模塊223對(duì)發(fā)送FIFO緩沖器200的讀信號(hào)進(jìn)行采樣, 并檢測(cè)采樣的讀信號(hào)是否為發(fā)送FIFO緩沖器200的有效讀信號(hào),第一計(jì)數(shù)子模塊223在檢 測(cè)到發(fā)送FIFO緩沖器的一個(gè)有效讀信號(hào),則第一獲取深度子模塊222提供的當(dāng)前深度值減 1,在當(dāng)前深度值為0時(shí),第一計(jì)數(shù)子模塊223停止為時(shí)鐘周期計(jì)數(shù)。此時(shí)的計(jì)數(shù)值即為上 述時(shí)鐘周期數(shù)量。第一計(jì)數(shù)子模塊223可以位于PHY層、MAC層或者應(yīng)用層。第一計(jì)算子模塊224,用于根據(jù)第一計(jì)數(shù)子模塊223確定的時(shí)鐘周期數(shù)量和時(shí)鐘 周期的時(shí)長(zhǎng)獲取駐留時(shí)間T1。即第一計(jì)算子模塊224獲取時(shí)鐘周期數(shù)量與時(shí)鐘周期的時(shí)長(zhǎng) 的乘積,該乘積即為駐留時(shí)間T1。第一計(jì)算子模塊224可以位于物理層或者M(jìn)AC層或者應(yīng) 用層等。例2、如附圖2B所示第一獲取模塊220包括第一時(shí)間戳子模塊221、第二時(shí)間戳 子模塊225和第二計(jì)算子模塊226。第一時(shí)間戳子模塊221,用于在事件報(bào)文從MAC層向物理層發(fā)送時(shí),為該事件報(bào)文 加入時(shí)間戳。為方便描述,該時(shí)間戳可以稱(chēng)為第一時(shí)間戳。第一時(shí)間戳子模塊221具體執(zhí) 行的操作如上述例1中的描述,在此不再詳細(xì)說(shuō)明。第二時(shí)間戳子模塊225,用于在該事件報(bào)文從物理層向?qū)Χ嗽O(shè)備的物理層發(fā)送時(shí), 為該事件報(bào)文記錄時(shí)間戳。為方便描述,該時(shí)間戳可以稱(chēng)為第二時(shí)間戳。第二時(shí)間戳可以 不攜帶在事件報(bào)文中,而是由第二時(shí)間戳子模塊225將該第二時(shí)間戳存儲(chǔ)在本裝置中。第 二時(shí)間戳子模塊225可以位于物理層或MAC層或應(yīng)用層等。第二計(jì)算子模塊226,用于根據(jù)該事件報(bào)文的第一時(shí)間戳和第二時(shí)間戳獲取駐留 時(shí)間T1。具體的,第二計(jì)算子模塊226獲取第一時(shí)間戳和第二時(shí)間戳的差值,該差值即為駐 留時(shí)間T1。第二計(jì)算子模塊226可以位于物理層或MAC層或應(yīng)用層等。例3、如附圖2C所示第一獲取模塊220包括第一擁塞度子模塊227和第三計(jì)算 子模塊228。第一擁塞度子模塊227,用于在事件報(bào)文從MAC層向物理層發(fā)送時(shí),獲取物理層中 發(fā)送FIFO緩沖器200的當(dāng)前擁塞度。第一擁塞度子模塊227可以采用現(xiàn)有的多種方式來(lái) 獲取發(fā)送FIFO緩沖器200的當(dāng)前擁塞度,例如,第一擁塞度子模塊227通過(guò)采用平均算法 或者其它算法對(duì)一定周期內(nèi)的發(fā)送FIFO緩沖器200深度值進(jìn)行計(jì)算,從而獲得該周期對(duì)應(yīng) 的擁塞度。第一擁塞度子模塊227可以周期性的計(jì)算擁塞度,并存儲(chǔ)計(jì)算獲得的各個(gè)擁塞 度,上述當(dāng)前擁塞度可以為在事件報(bào)文從MAC層向物理層發(fā)送時(shí),第一擁塞度子模塊227最 新存儲(chǔ)的一個(gè)擁塞度。第一擁塞度子模塊227獲得當(dāng)前擁塞度的具體例子如上述方法實(shí)施 例中的描述,在此不再重復(fù)說(shuō)明。第一擁塞度子模塊227可以位于物理層或MAC層或應(yīng)用 層等。
第三計(jì)算子模塊228,用于根據(jù)第一擁塞度子模塊227獲取的當(dāng)前擁塞度和設(shè)備 本地時(shí)鐘的時(shí)鐘周期的時(shí)長(zhǎng)獲取駐留時(shí)間T1。具體的,第三計(jì)算子模塊228獲取當(dāng)前擁塞 度與時(shí)鐘周期的時(shí)長(zhǎng)的乘積,該乘積即為駐留時(shí)間T1。第三計(jì)算子模塊228可以位于物理 層或者M(jìn)AC層或者應(yīng)用層等。例4、如附圖2D所示第一獲取模塊220包括第二獲取深度子模塊229、第二計(jì)數(shù) 子模塊2210和第四計(jì)算子模塊2211。第二獲取深度子模塊229,用于在物理層接收到對(duì)端設(shè)備發(fā)送的帶有時(shí)間戳的事 件報(bào)文時(shí),獲取物理層的接收FIF0210緩沖器的當(dāng)前深度。這里的對(duì)端設(shè)備如主設(shè)備或者 請(qǐng)求器等。一個(gè)具體的例子第二獲取深度子模塊229在檢測(cè)出該設(shè)備物理層接收到對(duì)端 設(shè)備發(fā)送的帶有時(shí)間戳的事件報(bào)文時(shí),可以通知第二計(jì)數(shù)子模塊2210開(kāi)始為設(shè)備本地時(shí) 鐘的時(shí)鐘周期計(jì)數(shù),第二獲取深度子模塊229可以將獲取的當(dāng)前深度值提供給第二計(jì)數(shù)子 模塊2210。第二獲取深度子模塊229可以位于物理層或者M(jìn)AC層或者應(yīng)用層等。第二計(jì)數(shù)子模塊2210,用于在物理層接收到對(duì)端設(shè)備發(fā)送的帶有時(shí)間戳的事件報(bào) 文時(shí),確定從接收FIFO緩沖器210中讀取出當(dāng)前深度的數(shù)據(jù)所消耗的設(shè)備本地時(shí)鐘的時(shí)鐘 周期數(shù)量。一個(gè)具體的例子,第二計(jì)數(shù)子模塊2210在接收到第二獲取深度子模塊229開(kāi)始 計(jì)數(shù)的通知時(shí),開(kāi)始為設(shè)備本地時(shí)鐘的時(shí)鐘周期計(jì)數(shù),第二計(jì)數(shù)子模塊2210對(duì)接收FIFO緩 沖器210的讀信號(hào)進(jìn)行采樣,并檢測(cè)采樣的讀信號(hào)是否為接收FIFO緩沖器210的有效讀信 號(hào),第二計(jì)數(shù)子模塊2210檢測(cè)到接收FIFO緩沖器210的一個(gè)有效讀信號(hào),則將第二獲取深 度子模塊229提供的當(dāng)前深度值減1,在當(dāng)前深度值為0時(shí),第二計(jì)數(shù)子模塊2210停止計(jì) 數(shù)。此時(shí)的計(jì)數(shù)值即為上述時(shí)鐘周期數(shù)量。第二計(jì)數(shù)子模塊2210可以位于物理層或者M(jìn)AC 層或者應(yīng)用層等。第四計(jì)算子模塊2211,用于根據(jù)第二計(jì)數(shù)子模塊2210確定的時(shí)鐘周期數(shù)量和時(shí) 鐘周期的時(shí)長(zhǎng)獲取駐留時(shí)間T2。即第四計(jì)算子模塊2211獲取時(shí)鐘周期數(shù)量與時(shí)鐘周期的 時(shí)長(zhǎng)的乘積,該乘積即為駐留時(shí)間T2。第四計(jì)算子模塊2211可以位于物理層或者M(jìn)AC層或
者應(yīng)用層等。例5、如附圖2E所示第一獲取模塊220包括第三時(shí)間戳子模塊2212、第四時(shí)間戳 子模塊2213和第五計(jì)算子模塊2214。第三時(shí)間戳子模塊2212,用于在物理層接收到對(duì)端設(shè)備發(fā)送來(lái)的事件報(bào)文時(shí),為 該事件報(bào)文記錄第三時(shí)間戳。第三時(shí)間戳子模塊2212在檢測(cè)出設(shè)備的物理層接收到對(duì)端 設(shè)備發(fā)送來(lái)的事件報(bào)文時(shí),為該事件報(bào)文記錄的第三時(shí)間戳可以不攜帶在事件報(bào)文中,而 是由第三時(shí)間戳子模塊2212將第三時(shí)間戳存儲(chǔ)在本裝置中。第三時(shí)間戳子模塊2212可以 位于物理層或者M(jìn)AC層或者應(yīng)用層等。第四時(shí)間戳子模塊2213,用于在事件報(bào)文從物理層向MAC層發(fā)送時(shí),為該事件報(bào) 文加入第四時(shí)間戳。根據(jù)現(xiàn)有協(xié)議的規(guī)定,第四時(shí)間戳子模塊2213加入的第四時(shí)間戳攜帶 在事件報(bào)文中。第四時(shí)間戳子模塊2213可以位于物理層或者M(jìn)AC層或者應(yīng)用層等。第五計(jì)算子模塊2214,用于獲取第三時(shí)間戳和第四時(shí)間戳,并根據(jù)第三時(shí)間戳和 第四時(shí)間戳獲取駐留時(shí)間T2。即第五計(jì)算子模塊2214獲取第三時(shí)間戳和第四時(shí)間戳的差 值,該差值即為駐留時(shí)間T2。第五計(jì)算子模塊2214可以位于物理層或者M(jìn)AC層或者應(yīng)用層寸。
例6、如附圖2F所示第一獲取模塊220包括第二擁塞度子模塊2215和第六計(jì)算 子模塊2216。第二擁塞度子模塊2215,用于在對(duì)端設(shè)備傳輸來(lái)的攜帶有時(shí)間戳的事件報(bào)文從物 理層向MAC層發(fā)送時(shí),獲取物理層中接收FIFO緩沖器210的當(dāng)前擁塞度。具體的,第二擁 塞度子模塊2215在檢測(cè)出對(duì)端設(shè)備傳輸來(lái)的攜帶有時(shí)間戳的事件報(bào)文從物理層向MAC層 發(fā)送時(shí),獲取物理層中接收FIFO緩沖器210的當(dāng)前擁塞度。第二擁塞度子模塊2215可以 采用現(xiàn)有的多種方式來(lái)獲取接收FIFO緩沖器210的當(dāng)前擁塞度,例如,第二擁塞度子模塊 2215通過(guò)采用平均算法或者其它算法對(duì)一定周期內(nèi)的接收FIFO緩沖器210深度值進(jìn)行計(jì) 算,從而獲得該周期對(duì)應(yīng)的擁塞度。第二擁塞度子模塊2215可以周期性的計(jì)算擁塞度,并 存儲(chǔ)計(jì)算獲得的各個(gè)擁塞度,上述當(dāng)前擁塞度可以為第二擁塞度子模塊2215在檢測(cè)出事 件報(bào)文從物理層向MAC層發(fā)送時(shí)最新存儲(chǔ)的一個(gè)擁塞度。第二擁塞度子模塊2215獲得當(dāng) 前擁塞度的具體的例子如上述方法實(shí)施例中的描述,在此不再重復(fù)說(shuō)明。本實(shí)施例不限制 第二擁塞度子模塊2215獲取接收FIFO緩沖器210的當(dāng)前擁塞度的具體實(shí)現(xiàn)方式。第二擁 塞度子模塊2215可以位于物理層或者M(jìn)AC層或者應(yīng)用層等。第六計(jì)算子模塊2216,用于根據(jù)第二擁塞度子模塊2215獲取的當(dāng)前擁塞度和設(shè) 備本地時(shí)鐘的時(shí)鐘周期的時(shí)長(zhǎng)獲取駐留時(shí)間T2。即第六計(jì)算子模塊2216獲取當(dāng)前擁塞度 與時(shí)鐘周期的時(shí)長(zhǎng)的乘積,該乘積即為駐留時(shí)間T2。第六計(jì)算子模塊2216可以位于物理層 或者M(jìn)AC層或者應(yīng)用層等。從上述實(shí)施例二的描述可知,實(shí)施例二中的第一獲取模塊220通過(guò)利用數(shù)據(jù)在物 理層的發(fā)送FIFO緩沖器中的駐留時(shí)間以及該數(shù)據(jù)在物理層的接收FIFO緩沖器中的駐留時(shí) 間,使第二獲取模塊230可以獲取到物理層延遲時(shí)間,通過(guò)利用該物理層延遲時(shí)間和傳輸 線(xiàn)路延遲時(shí)間可以方便準(zhǔn)確的獲得不對(duì)稱(chēng)延遲時(shí)間,從而使時(shí)間同步模塊240可以方便的 進(jìn)行時(shí)間同步,降低了時(shí)間同步的實(shí)現(xiàn)成本,提高了時(shí)間同步的效率。實(shí)施例三、獲取不對(duì)稱(chēng)延遲時(shí)間的裝置。下面以該裝置應(yīng)用在一個(gè)具體單板為例 對(duì)本實(shí)施例的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置進(jìn)行說(shuō)明。本實(shí)施例中該具體該單板的型號(hào)為 CR56LPUF100A,該單板結(jié)構(gòu)的簡(jiǎn)單示意如附圖3所示。圖3中的單板包括左側(cè)1、右側(cè)2和IEEE1588 CL0CK3,左側(cè)1示意出了位于MAC 層以及MAC層以上層的各單元,右側(cè)2示意出位于PHY層的各單元,IEEE1588 CL0CK3為左 側(cè)1和右側(cè)2提供時(shí)鐘信號(hào)。本實(shí)施例的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置包括IEEE1588 Packet DetectionAnd Prceing(IEEE 包檢測(cè)和處理)11、時(shí)戳模塊 12、Aplication Code (應(yīng)用代碼)13、IEEE1588 RTC14 (IEEE1588 實(shí)時(shí)時(shí)鐘)、IEEE1588 C0NTR0L21 (IEEE1588 控制)、IEEE1588 Packet Detection (IEEE1588包檢測(cè))模塊22、計(jì)數(shù)模塊23和PLL(鎖相環(huán))24。其中的IEEE1588 Packet And Prceingll、時(shí)戳模塊12和IEEE1588 RTC14可以實(shí)現(xiàn)上述實(shí)施例二中第一 時(shí)間戳子模塊221執(zhí)行的操作,其中的IEEE1588 Packet Detection22可以實(shí)現(xiàn)上述 實(shí)施例二中第一獲取深度子模塊222和第二獲取深度子模塊229執(zhí)行的操作,其中的 IEEE1588C0NTR0L21、計(jì)數(shù)模塊23和PLL24可以實(shí)現(xiàn)上述實(shí)施例二中第一計(jì)數(shù)子模塊223 和第二計(jì)數(shù)子模塊2210執(zhí)行的操作,其中的Aplication Codel3可以實(shí)現(xiàn)上述實(shí)施例二中 第一計(jì)算子模塊224和第四計(jì)算子模塊2211執(zhí)行的操作。
IEEE1588 Packet Detection And Prceingll 用于在檢測(cè)到 MAC 層向物理層發(fā)送 事件報(bào)文時(shí),觸發(fā)時(shí)戳模塊12為該事件報(bào)文加入時(shí)間戳。時(shí)戳模塊 12 用于根據(jù) IEEE1588 Packet Detection And Prceingll 的通知為事 件報(bào)文加入時(shí)間戳,該時(shí)間戳被攜帶在事件報(bào)文中。Aplication Codel3用于根據(jù)IEEE1588 C0NTR0L21的通知讀取計(jì)數(shù)模塊23的計(jì)數(shù)值。IEEE1588 RTC14用于為時(shí)戳模塊12提供時(shí)間,從而使時(shí)戳模塊12可以根據(jù)該時(shí) 間為事件報(bào)文加入時(shí)間戳。IEEE1588 C0NTR0L21用于在計(jì)數(shù)模塊23停止計(jì)數(shù)時(shí)通知AplicationCodel3讀取 計(jì)數(shù)值。IEEE1588 Packet Detection22用于在檢測(cè)到物理層接收到MAC傳輸來(lái)的帶有時(shí) 間戳的事件報(bào)文時(shí),獲取物理層的發(fā)送FIFO緩沖器的當(dāng)前深度,通知計(jì)數(shù)模塊23開(kāi)始為發(fā) 送FIFO緩沖器的讀時(shí)鐘計(jì)數(shù),并將該當(dāng)前深度值提供給計(jì)數(shù)模塊23。在檢測(cè)到物理層接收 到對(duì)端設(shè)備傳輸來(lái)的帶有時(shí)間戳的事件報(bào)文時(shí),獲取物理層的接收FIFO緩沖器的當(dāng)前深 度,通知計(jì)數(shù)模塊23開(kāi)始為接收FIFO緩沖器的讀時(shí)鐘計(jì)數(shù),并將該當(dāng)前深度值提供給計(jì)數(shù) 模塊23。計(jì)數(shù)模塊23用于根據(jù)IEEE1588 Packet Detection22發(fā)送的開(kāi)始針對(duì)發(fā)送FIFO 緩沖器計(jì)數(shù)的通知開(kāi)始對(duì)IEEE1588 CL0CK3倍頻后的時(shí)鐘周期計(jì)數(shù),即對(duì)PLL輸出的時(shí)鐘 周期計(jì)數(shù),并在確定出從發(fā)送FIFO緩沖器中讀取出發(fā)送FIFO緩沖器的當(dāng)前深度的數(shù)據(jù)時(shí), 停止對(duì)IEEE1588 CL0CK3倍頻后的時(shí)鐘周期計(jì)數(shù)。根據(jù)IEEE1588 Packet Detection22發(fā) 送的開(kāi)始針對(duì)接收FIFO緩沖器計(jì)數(shù)的通知開(kāi)始對(duì)IEEE1588 CL0CK3倍頻后的時(shí)鐘周期計(jì) 數(shù),即對(duì)PLL輸出的時(shí)鐘周期計(jì)數(shù),并在確定出從接收FIFO緩沖器中讀取出接收FIFO緩沖 器的當(dāng)前深度的數(shù)據(jù)時(shí),停止對(duì)IEEE1588 CL0CK3倍頻后的時(shí)鐘周期計(jì)數(shù)。PLL24用于對(duì)IEEE1588 CL0CK3進(jìn)行倍頻,從而可以提高計(jì)數(shù)模塊23對(duì)設(shè)備本地 時(shí)鐘的時(shí)鐘周期進(jìn)行計(jì)數(shù)的準(zhǔn)確性。在發(fā)送方向,本實(shí)施例的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置 獲得帶有時(shí)間戳的事件報(bào)文在PHY層的駐留時(shí)間的過(guò)程包括設(shè)備在MAC層構(gòu)造Event (事 件)報(bào)文,Event報(bào)文如Sync (同步)報(bào)文、或者Folow up (隨路)報(bào)文等。在MAC向PHY層 發(fā)送Event報(bào)文時(shí),IEEE1588Packet And Prceingll通知時(shí)戳模塊12為該事件報(bào)文加入上 時(shí)間戳,時(shí)戳模塊12為事件報(bào)文加入的時(shí)間戳攜帶在Event報(bào)文中。當(dāng)Event報(bào)文通過(guò)數(shù) 據(jù)通道由MAC層到達(dá)PHY層時(shí),Event報(bào)文被送到IEEE1588包檢測(cè)模塊22,由IEEE1588包 檢測(cè)模塊22檢測(cè)該報(bào)文中是否攜帶有時(shí)間戳,IEEE1588包檢測(cè)模塊22在檢測(cè)出報(bào)文中攜 帶有時(shí)間戳?xí)r,產(chǎn)生trigO信號(hào),trigO信號(hào)用于觸發(fā)計(jì)數(shù)模塊23中的coimtO開(kāi)始為設(shè)備 本地時(shí)鐘的時(shí)鐘周期(即IEEE1588 CL0CK3倍頻后的時(shí)鐘周期)計(jì)數(shù)。在檢測(cè)出報(bào)文攜帶有 時(shí)間戳的同時(shí),IEEE1588包檢測(cè)應(yīng)記錄當(dāng)前PHY層中的發(fā)送FIFO緩沖器的當(dāng)前深度FIF0_ CNT,并將當(dāng)前深度存儲(chǔ)為fifo_legth0提供給計(jì)數(shù)模塊23。計(jì)數(shù)模塊23為fifo_legth0 設(shè)置reg_fifO_Cnt0計(jì)數(shù)器,reg_fifO_Cnt0計(jì)數(shù)器的初始值為fifo_legth0的值。計(jì)數(shù)模 塊23利用發(fā)送FIFO緩沖器的outputclk(輸出時(shí)鐘,即讀時(shí)鐘)采樣發(fā)送FIFO緩沖器的 rd (讀)信號(hào),如果計(jì)數(shù)模塊23采樣到的rd信號(hào)為有效rd信號(hào),則reg_fifO_Cnt0計(jì)數(shù)器 的計(jì)數(shù)值減1。當(dāng)reg_f ifO_cnt0計(jì)數(shù)器的計(jì)數(shù)值變成0時(shí),計(jì)數(shù)模塊23中的計(jì)數(shù)器coimtO停止計(jì)數(shù),并產(chǎn)生一個(gè)發(fā)送FIFO緩沖器已傳送完的標(biāo)志位,IEEE1588C0NTR0L21在檢測(cè)到 該標(biāo)志位時(shí),產(chǎn)生中斷0,以通知Aplication Codel3讀取countO的計(jì)數(shù)值,Aplication Codel3根據(jù)中斷O通過(guò)MDIO (管理通道)接口讀取計(jì)數(shù)器countO的計(jì)數(shù)值,計(jì)數(shù)器countO 在被讀取出計(jì)數(shù)值后清零。AplicationCodel3位于應(yīng)用層。Aplication Codel3通過(guò)對(duì)接 收到的計(jì)數(shù)器countO的計(jì)數(shù)值進(jìn)行計(jì)算即可獲得攜帶有時(shí)間戳信息的報(bào)文在PHY層的駐 留時(shí)間,即Tl。Aplication Codel3計(jì)算駐留時(shí)間的計(jì)算公式可以為residence timeO (即 Tl) = countO的計(jì)數(shù)值XTlocal elk(時(shí)鐘周期的時(shí)長(zhǎng),即IEEE1588 CL0CK3倍頻后的時(shí) 鐘周期的時(shí)長(zhǎng))。從上述描述可知,本實(shí)施例可通過(guò)軟件計(jì)算出Event報(bào)文在PHY層的駐留 時(shí)間Tl。上述countO的計(jì)數(shù)時(shí)序圖如附圖3A所示。
在圖3A中,trigO信號(hào)由低電平跳轉(zhuǎn)到高電平時(shí),countO開(kāi)始為本地時(shí)鐘Local_ elk (本地時(shí)鐘,即PLL24輸出的時(shí)鐘信號(hào))的時(shí)鐘周期計(jì)數(shù)。在f ifo_legthO的reg_f ifo_ cnt計(jì)數(shù)器的計(jì)數(shù)值為O時(shí),trigO信號(hào)由高電平跳轉(zhuǎn)到低電平,countO停止計(jì)數(shù)。圖2中 的rd表示rd信號(hào)的時(shí)序,rd為高電平時(shí)為有效讀信號(hào)。在接收方向,本實(shí)施例的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置獲得帶有時(shí)間戳的事件報(bào)文 在PHY層的駐留時(shí)間的過(guò)程包括在PHY層接收到對(duì)端設(shè)備傳輸來(lái)的報(bào)文時(shí),該報(bào)文被發(fā) 送到IEEE1588包檢測(cè)模塊22,由IEEE1588包檢測(cè)模塊22檢測(cè)該報(bào)文中是否攜帶有時(shí)間 戳,IEEE1588包檢測(cè)模塊22在檢測(cè)出報(bào)文中攜帶有時(shí)間戳?xí)r,獲知該報(bào)文為事件報(bào)文,產(chǎn) 生trigl信號(hào),trigl信號(hào)用于觸發(fā)計(jì)數(shù)模塊23中的coimtl開(kāi)始為本地時(shí)鐘的時(shí)鐘周期計(jì) 數(shù)。在檢測(cè)出報(bào)文攜帶有時(shí)間戳的同時(shí),IEEE1588包檢測(cè)應(yīng)記錄當(dāng)前PHY層中的接收FIFO 緩沖器的當(dāng)前深度FIF0_CNT,并將當(dāng)前深度存儲(chǔ)為fifo_legthl提供給計(jì)數(shù)模塊23。計(jì)數(shù) 模塊23可以為fifo_legthl設(shè)置reg_fif0_Cntl計(jì)數(shù)器,reg_fif0_cntl計(jì)數(shù)器的初始值 為fifo_legthl的值。計(jì)數(shù)模塊23利用接收FIFO緩沖器的outputclk (輸出時(shí)鐘,即讀時(shí) 鐘)采樣接收FIFO緩沖器的rd (讀)信號(hào),如果采樣到的rd信號(hào)為有效rd信號(hào),則reg_ fifo_cntl計(jì)數(shù)器的計(jì)數(shù)值減1。當(dāng)reg_fif0_Cntl計(jì)數(shù)器的計(jì)數(shù)值變成O時(shí),計(jì)數(shù)模塊 23中的計(jì)數(shù)器coimtl停止計(jì)數(shù),并標(biāo)記一個(gè)接收FIFO緩沖器已傳送完的標(biāo)志位IEEE1588 C0NTR0L21在檢測(cè)到該標(biāo)志位時(shí),產(chǎn)生中斷1,以通知Aplication Codel3讀取countl的計(jì) 數(shù)值,Aplication Codel3根據(jù)中斷1通過(guò)MDIO接口讀取計(jì)數(shù)器coimtl的計(jì)數(shù)值,計(jì)數(shù)器 countl在被讀取出計(jì)數(shù)值后清零。Aplication Codel3通過(guò)對(duì)接收到的計(jì)數(shù)器countl的計(jì) 數(shù)值進(jìn)行計(jì)算即可獲得攜帶有時(shí)間戳信息的報(bào)文在PHY層的駐留時(shí)間,即T2。Aplication Codel3計(jì)算駐留時(shí)間T2的計(jì)算公式可以為residence timel (即T2) = countl的計(jì)數(shù) 值XTlocalclk(時(shí)鐘周期的時(shí)長(zhǎng))。從上述描述可知,本實(shí)施例可通過(guò)軟件計(jì)算出event 報(bào)文在PHY層的駐留時(shí)間T2。本實(shí)施例的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置根據(jù)上述駐留時(shí)間進(jìn)行時(shí)間同步的過(guò)程 包括Aplication Codel3 計(jì)算物理層延遲時(shí)間 PHY_delayAsymmetry,Aplication Codel3 可以使用軟件進(jìn)行計(jì)算。PHY_delayASymmetry的計(jì)算公式可以為PHY_delayAsymmetry = residence time 1-residence timeO+Tphy ;其中Tphy為設(shè)備的生產(chǎn)廠(chǎng)家提供的物理層固有延時(shí)。Aplication Codel3測(cè)量出傳輸線(xiàn)路的長(zhǎng)度,如Aplication Codel3通過(guò)現(xiàn)有的OTTR(光纖測(cè)量技術(shù))技術(shù)來(lái)測(cè)量光纖的長(zhǎng)度,在測(cè)量出光纖的長(zhǎng)度后,Aplication Codel3可以通過(guò)軟件利用光纖的長(zhǎng)度計(jì)算出報(bào)文在光纖中的傳輸延遲時(shí)間Fiber_ deIayAsymmetryοAplication Codel3利用如下公式計(jì)算出不對(duì)稱(chēng)延遲時(shí)間delayAsymmetry delayAsymmetry = Fiber_delayAsymmetry+PHY_deIayAsymmetry ;Aplication Codel3可以利用軟件計(jì)算出不對(duì)稱(chēng)延遲時(shí)間delayAsymmetry。
Aplication Codel3可以利用如下公式計(jì)算出tms和tsm tms = <meanPathDelay>+deIayAsymmetry ;tsm = <meanPathDelay>-deIayAsymmetry ;其中,tms為從本地設(shè)備到對(duì)端設(shè)備方向的延遲時(shí)間,tsm為從對(duì)端設(shè)備到本地設(shè) 備方向的延遲時(shí)間。Aplication Code 13根據(jù)tms和tsm進(jìn)行時(shí)間同步處理,從而實(shí)現(xiàn)了通信鏈路的時(shí) 間同步。實(shí)施例四、獲取不對(duì)稱(chēng)延遲時(shí)間的同步裝置。下面以該裝置應(yīng)用在一個(gè)具體單板 為例對(duì)本實(shí)施例的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置進(jìn)行說(shuō)明。本實(shí)施例中該具體該單板的型號(hào) 為CR56LPUF100A,該單板結(jié)構(gòu)的簡(jiǎn)單示意如附圖4所示。圖4中的單板包括左側(cè)1、右側(cè)2和IEEE1588 CL0CK3,左側(cè)1示意出了位于MAC 層以及MAC層以上層的各單元,右側(cè)2示意出位于PHY層的各單元,IEEE1588 CL0CK3為左 側(cè)1和右側(cè)2提供時(shí)鐘信號(hào)。本實(shí)施例的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置包括IEEE1588 Packet DetectionAnd Prceing 11、時(shí)戳模塊 12、Aplication Codel3、IEEE1588 RTC14、IEEE1588C0NTR0L21、 IEEE1588 Packet Detection 模塊 22、PLL24、時(shí)戳模塊 25、和 IEEE1588 RTC26。其中的 IEEE1588 Packet Detection And Prceing 11、時(shí)戳模塊 12 和 IEEE1588 RTC14 可以實(shí)現(xiàn) 上述實(shí)施例二中第一時(shí)間戳子模塊221執(zhí)行的操作,其中的IEEE1588 C0NTR0L2、IEEE1588 Packet Detection22、PLL24、時(shí)戳模塊25、和IEEE1588 RTC26可以實(shí)現(xiàn)上述實(shí)施例二中 第二時(shí)間戳子模塊225、第三時(shí)間戳子模塊2212和第四時(shí)間戳子模塊2213執(zhí)行的操作,其 中的AplicationCodeU可以實(shí)現(xiàn)上述實(shí)施例二中第二計(jì)算子模塊226和第五計(jì)算子模塊 2214執(zhí)行的操作。IEEE1588 Packet Detection And Prceing 11 用于在檢測(cè)到MAC層向物理層發(fā)送 事件報(bào)文時(shí),通知時(shí)戳模塊12為事件報(bào)文加入第一時(shí)間戳。在檢測(cè)到物理層向MAC層發(fā)送 來(lái)的事件報(bào)文時(shí),觸發(fā)時(shí)戳模塊12為該事件報(bào)文加入第四時(shí)間戳。時(shí)戳模塊 12 用于根據(jù) IEEE 1588 Packet Detection And Prceing 11 的通知為事 件報(bào)文加入第一時(shí)間戳和第四時(shí)間戳,第一時(shí)間戳和第四時(shí)間戳都被攜帶在事件報(bào)文中。Aplication Codel3用于根據(jù)IEEE1588 C0NTR0L21的通知讀取時(shí)戳模塊25存儲(chǔ) 的第二時(shí)間戳和第三時(shí)間戳。IEEE1588 RTC14用于為時(shí)戳模塊12提供時(shí)間,從而使時(shí)戳模塊12可以根據(jù)該時(shí) 間為事件報(bào)文加入時(shí)間戳。 IEEE1588 C0NTR0L21用于在時(shí)戳模塊25為事件報(bào)文記錄時(shí)間戳后通知 Aplication Codel3 讀取時(shí)間戳。
IEEE1588 Packet Detection22用于在檢測(cè)到物理層接收到MAC傳輸來(lái)的帶有時(shí) 間戳的事件報(bào)文時(shí),通知時(shí)戳模塊25為事件報(bào)文記錄第二時(shí)間戳。在檢測(cè)到物理層接收到 對(duì)端設(shè)備傳輸來(lái)的帶有時(shí)間戳的事件報(bào)文時(shí),通知時(shí)戳模塊25為事件報(bào)文記錄第三時(shí)間戳。PLL24用于對(duì)IEEE1588 CL0CK3進(jìn)行倍頻,從而可以提高IEEE1588 RTC26的時(shí)間 精度。時(shí)戳模塊25用于根據(jù)IEEE1588 Packet DeteCtion22的通知為事件報(bào)文記錄時(shí)間
戳。IEEE1588 RTC26用于為時(shí)戳模塊25提供時(shí)間,從而使時(shí)戳模塊25可以根據(jù)該時(shí) 間為事件報(bào)文記錄時(shí)間戳。在發(fā)送方向,本實(shí)施例的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置獲得帶有時(shí)間戳的事件報(bào)文 在PHY層的駐留時(shí)間的過(guò)程包括設(shè)備在MAC層構(gòu)造Event報(bào)文,在MAC與PHY之間的接口 處時(shí)戳模塊12為Event報(bào)文加入上第一時(shí)間戳,S卩IEEE1588Packet And Prceingll通知時(shí) 戳模塊12為該事件報(bào)文加入第一時(shí)間戳,時(shí)戳模塊12為事件報(bào)文加入的第一時(shí)間戳攜帶 在Event報(bào)文中,時(shí)戳模塊12還可以本地存儲(chǔ)該事件報(bào)文的第一時(shí)間戳。當(dāng)Event報(bào)文通 過(guò)數(shù)據(jù)通道由MAC層到達(dá)PHY層時(shí),Event報(bào)文被送到IEEE1588包檢測(cè)模塊22,由IEEE1588 包檢測(cè)模塊22檢測(cè)該Event報(bào)文中是否攜帶有時(shí)間戳,IEEE1588包檢測(cè)模塊22在檢測(cè)出 Event報(bào)文中攜帶有時(shí)間戳?xí)r,通知時(shí)戳模塊25為該事件報(bào)文記錄第二時(shí)間戳,時(shí)戳模塊 25本地存儲(chǔ)該第二時(shí)間戳。時(shí)戳模塊25產(chǎn)生已為發(fā)送的事件報(bào)文記錄時(shí)間戳的標(biāo)志位, IEEE1588 C0NTR0L21在檢測(cè)到該標(biāo)志位時(shí),產(chǎn)生中斷0,以通知Aplication Codel3讀取 第二時(shí)間戳,Aplication Codel3根據(jù)中斷O通過(guò)MDIO接口讀取第二時(shí)間戳。Aplication Codel3還需要從時(shí)戳模塊12處獲取該事件報(bào)文的第一時(shí)間戳。Aplication Codel3通過(guò)對(duì) 獲取到的第一時(shí)間戳和第二時(shí)間戳進(jìn)行計(jì)算即可獲得攜帶有時(shí)間戳信息的事件報(bào)文在PHY 層的駐留時(shí)間,即Tl。從上述描述可知,本實(shí)施例可通過(guò)軟件計(jì)算出Event報(bào)文在PHY層的 駐留時(shí)間Tl。在接收方向,本實(shí)施例的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置獲得帶有時(shí)間戳的事件報(bào)文 在PHY層的駐留時(shí)間的過(guò)程包括在PHY層接收到對(duì)端設(shè)備傳輸來(lái)的報(bào)文時(shí),該報(bào)文被發(fā)送 到IEEE1588包檢測(cè)模塊22,由IEEE1588包檢測(cè)模塊22檢測(cè)該報(bào)文中是否攜帶有時(shí)間戳, IEEE1588包檢測(cè)模塊22在檢測(cè)出報(bào)文中攜帶有時(shí)間戳?xí)r,獲知該報(bào)文為事件報(bào)文,通知時(shí) 戳模塊25為該事件報(bào)文記錄第三時(shí)間戳,時(shí)戳模塊25本地存儲(chǔ)該第三時(shí)間戳。時(shí)戳模塊 25產(chǎn)生已為接收的事件報(bào)文記錄時(shí)間戳的標(biāo)志位,IEEE1588 C0NTR0L21在檢測(cè)到該標(biāo)志位 時(shí),產(chǎn)生中斷1,以通知Aplication Codel3讀取第三時(shí)間戳,Aplication Codel3根據(jù)中斷 1通過(guò)MDIO接口讀取第三時(shí)間戳。該事件報(bào)文由物理層傳輸至MAC層時(shí),被送到IEEE1588 Packet And Prceingll, IEEE1588 Packet And Prceingll 在檢測(cè)出接收到的報(bào)文攜帶有 時(shí)間戳?xí)r,獲知該報(bào)文為事件報(bào)文,通知時(shí)戳模塊12為該事件報(bào)文加入第四時(shí)間戳,第四 時(shí)間戳可以攜帶在該事件報(bào)文中。時(shí)戳模塊12可以本地存儲(chǔ)該第四時(shí)間戳,Aplication Code 13可以從事件報(bào)文中獲取第四時(shí)間戳,Ap 1 ication Code 13也可以從時(shí)戳模塊12中獲 取第四時(shí)間戳。Aplication Codel3通過(guò)對(duì)獲取到的第三時(shí)間戳和第四時(shí)間戳進(jìn)行計(jì)算即 可獲得攜帶有時(shí)間戳信息的事件報(bào)文在PHY層的駐留時(shí)間,即T2。從上述描述可知,本實(shí)施 例可通過(guò)軟件計(jì)算出Event報(bào)文在PHY層的駐留時(shí)間T2。
本實(shí)施例的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置根據(jù)上述駐留時(shí)間進(jìn)行時(shí)間同步的過(guò)程 與上述實(shí)施例三的描述相同,在此不再重復(fù)說(shuō)明。實(shí)施例五、獲取不對(duì)稱(chēng)延遲時(shí)間的裝置。下面以該裝置應(yīng)用在一個(gè)具體單板為例 對(duì)本實(shí)施例的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置進(jìn)行說(shuō)明。本實(shí)施例中該具體該單板的型號(hào)為 CR56LPUF100A,該單板結(jié)構(gòu)的簡(jiǎn)單示意如附圖5所示。圖5中的單板包括左側(cè)1、物理層2和IEEE1588 CL0CK3,左側(cè)1示意出了位于MAC 層以及MAC層以上層的各單元,IEEE1588 CL0CK3為左側(cè)1和物理層2提供時(shí)鐘信號(hào)。
本實(shí)施例的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置設(shè)置于Aplication Codel3中,即 Aplication Codel3可以實(shí)現(xiàn)上述實(shí)施例二中第一擁塞度子模塊227、第三計(jì)算子模塊 228、第二擁塞度子模塊2215和第六計(jì)算子模塊2216執(zhí)行的操作。在發(fā)送方向,本實(shí)施例的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置獲得帶有時(shí)間戳的事件報(bào)文 在PHY層的駐留時(shí)間的過(guò)程包括Ap 1 ication Code 13周期性記錄PHY層中發(fā)送FIFO緩 沖器的當(dāng)前深度值,Aplication Codel3根據(jù)周期性記錄的發(fā)送FIFO緩沖器的當(dāng)前深度值 計(jì)算發(fā)送FIFO的平均擁塞值。該平均擁塞值即為該周期對(duì)應(yīng)的當(dāng)前擁塞度。Aplication Codel3利用當(dāng)前擁塞度來(lái)計(jì)算攜帶有時(shí)間戳的事件報(bào)文在PHY層的駐留時(shí)間。Aplication Codel3計(jì)算平均擁塞度的一個(gè)具體例子為=Aplication Codel3周期性的讀取發(fā)送FIFO緩 沖器的當(dāng)前深度值,并將讀取的當(dāng)前深度值放入緩存中,在緩存中的當(dāng)前深度值達(dá)到一定 數(shù)量(如10個(gè))時(shí),每向緩存中存儲(chǔ)一個(gè)當(dāng)前深度值,則丟棄一個(gè)當(dāng)前深度值,丟棄的當(dāng)前 深度值應(yīng)該是存儲(chǔ)時(shí)間最長(zhǎng)的當(dāng)前深度值。在需要計(jì)算平均擁塞值時(shí),發(fā)送FIFO緩沖器 計(jì)算緩存中存儲(chǔ)的當(dāng)前深度值的平均值。發(fā)送FIFO緩沖器計(jì)算駐留時(shí)間的一個(gè)具體例子 為發(fā)送FIFO緩沖器將平均擁塞值與設(shè)備本地時(shí)鐘的時(shí)鐘周期的時(shí)長(zhǎng)相乘,獲得的乘積即 為時(shí)間報(bào)文在PHY層中的駐留時(shí)間。在接收方向,本實(shí)施例的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置獲得帶有時(shí)間戳的事件報(bào)文 在PHY層的駐留時(shí)間的過(guò)程包括Ap 1 ication Code 13周期性記錄PHY層中接收FIFO緩 沖器的當(dāng)前深度值,Aplication Codel3根據(jù)周期性記錄的接收FIFO緩沖器的當(dāng)前深度值 計(jì)算接收FIFO的平均擁塞度。該平均擁塞值即為該周期對(duì)應(yīng)的當(dāng)前擁塞度。Aplication Codel3利用當(dāng)前擁塞度來(lái)計(jì)算攜帶有時(shí)間戳的事件報(bào)文在PHY層的駐留時(shí)間。本實(shí)施例的獲取不對(duì)稱(chēng)延遲時(shí)間的裝置根據(jù)上述駐留時(shí)間進(jìn)行時(shí)間同步的過(guò)程 與上述實(shí)施例三的描述相同,在此不再重復(fù)說(shuō)明。通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助 軟件加必需的硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以全部通過(guò)硬件來(lái)實(shí)施,但很多情況下前 者是更佳的實(shí)施方式。基于這樣的理解,本發(fā)明的技術(shù)方案對(duì)背景技術(shù)做出貢獻(xiàn)的全部或 者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),所述的軟件產(chǎn)品在可以用于執(zhí)行上述的方法流 程。該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤(pán)等,包括若干指令用 以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí) 施例或者實(shí)施例的某些部分所述的方法。雖然通過(guò)實(shí)施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和 變化而不脫離本發(fā)明的精神,本發(fā)明的申請(qǐng)文件的權(quán)利要求包括這些變形和變化。
權(quán)利要求
一種獲取不對(duì)稱(chēng)延遲時(shí)間的方法,其特征在于,包括獲取報(bào)文在設(shè)備物理層的發(fā)送先進(jìn)先出緩沖器中的駐留時(shí)間T1,并獲取報(bào)文在所述設(shè)備物理層的接收先進(jìn)先出緩沖器中的駐留時(shí)間T2;根據(jù)所述T1和T2的差值、所述物理層固有延遲時(shí)間與傳輸線(xiàn)路延遲時(shí)間三者之和獲得不對(duì)稱(chēng)延遲時(shí)間。
2.如權(quán)利要求1所述的方法,其特征在于,所述獲取報(bào)文在設(shè)備物理層的發(fā)送先進(jìn)先 出緩沖器中的駐留時(shí)間Tl包括在事件報(bào)文從媒質(zhì)接入控制MAC層向物理層發(fā)送時(shí),為所述事件報(bào)文加入時(shí)間戳;在檢測(cè)出所述物理層接收到所述MAC層發(fā)送的帶有所述時(shí)間戳的報(bào)文時(shí),根據(jù)時(shí)鐘周 期數(shù)量和時(shí)鐘周期的時(shí)長(zhǎng)的乘積獲取所述駐留時(shí)間Tl,所述時(shí)鐘周期數(shù)量為從所述發(fā)送 先進(jìn)先出緩沖器中讀取出當(dāng)前深度的數(shù)據(jù)所消耗的所述設(shè)備本地時(shí)鐘的時(shí)鐘周期數(shù)量,所 述當(dāng)前深度為在檢測(cè)出所述物理層接收到所述MAC層發(fā)送的帶有所述時(shí)間戳的報(bào)文時(shí), 獲取的所述物理層的發(fā)送先進(jìn)先出緩沖器的當(dāng)前深度。
3.如權(quán)利要求1所述的方法,其特征在于,所述獲取報(bào)文在設(shè)備物理層的發(fā)送先進(jìn)先 出緩沖器中的駐留時(shí)間Tl包括在事件報(bào)文從MAC層向物理層發(fā)送時(shí),為所述事件報(bào)文加入第一時(shí)間戳;在所述事件報(bào)文從物理層向?qū)Χ嗽O(shè)備的物理層發(fā)送時(shí),為所述事件報(bào)文記錄第二時(shí)間戳;根據(jù)所述第一時(shí)間戳和第二時(shí)間戳的差值獲取所述駐留時(shí)間Tl。
4.如權(quán)利要求1所述的方法,其特征在于,所述獲取報(bào)文在設(shè)備物理層的發(fā)送先進(jìn)先 出緩沖器中的駐留時(shí)間Tl包括在事件報(bào)文從MAC層向物理層發(fā)送時(shí),根據(jù)當(dāng)前擁塞度和所述設(shè)備本地時(shí)鐘的時(shí)鐘周 期的時(shí)長(zhǎng)的乘積獲取所述駐留時(shí)間Tl,所述當(dāng)前擁塞度為在事件報(bào)文從MAC層向物理層 發(fā)送時(shí),獲取的所述物理層中發(fā)送先進(jìn)先出緩沖器的當(dāng)前擁塞度。
5.如權(quán)利要求1至4中任一權(quán)利要求所述的方法,其特征在于,所述獲取報(bào)文在所述設(shè) 備物理層的接收先進(jìn)先出緩沖器中的駐留時(shí)間T2包括在檢測(cè)出所述物理層接收到對(duì)端設(shè)備發(fā)送的帶有時(shí)間戳的報(bào)文時(shí),根據(jù)時(shí)鐘周期數(shù)量和所述時(shí)鐘周期的時(shí)長(zhǎng)的乘積獲取所述駐留時(shí)間T2,所述時(shí)鐘周期 數(shù)量為從所述接收先進(jìn)先出緩沖器中讀取出當(dāng)前深度的數(shù)據(jù)所消耗的所述設(shè)備本地時(shí)鐘 的時(shí)鐘周期數(shù)量,所述當(dāng)前深度為在檢測(cè)出所述物理層接收到對(duì)端設(shè)備發(fā)送的帶有時(shí)間 戳的事件報(bào)文時(shí),獲取的所述物理層的接收先進(jìn)先出緩沖器的當(dāng)前深度。
6.如權(quán)利要求1至4中任一權(quán)利要求所述的方法,其特征在于,所述獲取報(bào)文在所述設(shè) 備物理層的接收先進(jìn)先出緩沖器中的駐留時(shí)間T2包括在檢測(cè)出所述物理層接收到對(duì)端設(shè)備發(fā)送來(lái)的帶有時(shí)間戳的事件報(bào)文時(shí),為所述事件 報(bào)文記錄第三時(shí)間戳;在所述事件報(bào)文從所述物理層向MAC層發(fā)送時(shí),為所述事件報(bào)文加入第四時(shí)間戳;根據(jù)所述第三時(shí)間戳和第四時(shí)間戳的差值獲取所述駐留時(shí)間T2。
7.如權(quán)利要求1至4中任一權(quán)利要求所述的方法,其特征在于,所述獲取報(bào)文在所述設(shè) 備物理層的接收先進(jìn)先出緩沖器中的駐留時(shí)間T2包括在對(duì)端設(shè)備傳輸來(lái)的攜帶有時(shí)間戳的事件報(bào)文從物理層向MAC層發(fā)送時(shí),獲取所述物 理層中接收先進(jìn)先出緩沖器的當(dāng)前擁塞度;根據(jù)所述當(dāng)前擁塞度和所述設(shè)備本地時(shí)鐘的時(shí)鐘周期的時(shí)長(zhǎng)的乘積獲取所述駐留時(shí) 間T2。
8.一種獲取不對(duì)稱(chēng)延遲時(shí)間的裝置,其特征在于,包括第一獲取模塊,用于獲取報(bào)文在設(shè)備物理層的發(fā)送先進(jìn)先出緩沖器中的駐留時(shí)間Tl, 并獲取報(bào)文在所述設(shè)備物理層的接收先進(jìn)先出緩沖器中的駐留時(shí)間T2 ;第二獲取模塊,用于根據(jù)所述Tl和T2的差值、所述物理層固有延遲時(shí)間與傳輸線(xiàn)路延 遲時(shí)間三者之和獲得不對(duì)稱(chēng)延遲時(shí)間。
9.如權(quán)利要求8所述的裝置,其特征在于,所述第一獲取模塊包括第一時(shí)間戳子模塊,用于在事件報(bào)文從MAC層向物理層發(fā)送時(shí),為所述事件報(bào)文加入 時(shí)間戳;第一獲取深度子模塊,用于在所述物理層接收到所述MAC層發(fā)送的所述事件報(bào)文時(shí), 獲取所述物理層的發(fā)送先進(jìn)先出緩沖器的當(dāng)前深度;第一計(jì)數(shù)子模塊,用于在所述物理層接收到所述MAC層發(fā)送的所述事件報(bào)文時(shí),確定 對(duì)從所述發(fā)送先進(jìn)先出緩沖器中讀取出所述當(dāng)前深度的數(shù)據(jù)所消耗的所述設(shè)備本地時(shí)鐘 的時(shí)鐘周期數(shù)量;第一計(jì)算子模塊,用于根據(jù)所述第一計(jì)數(shù)子模塊確定的時(shí)鐘周期數(shù)量和所述時(shí)鐘周期 的時(shí)長(zhǎng)的乘積獲取所述駐留時(shí)間Tl。
10.如權(quán)利要求8所述的裝置,其特征在于,所述第一獲取模塊包括第一時(shí)間戳子模塊,用于在事件報(bào)文從MAC層向物理層發(fā)送時(shí),為所述事件報(bào)文加入 第一時(shí)間戳;第二時(shí)間戳子模塊,用于在所述事件報(bào)文從物理層向?qū)Χ嗽O(shè)備的物理層發(fā)送時(shí),為所 述事件報(bào)文記錄第二時(shí)間戳;第二計(jì)算子模塊,用于根據(jù)所述第一時(shí)間戳和第二時(shí)間戳的差值獲取所述駐留時(shí)間Tl。
11.如權(quán)利要求8所述的裝置,其特征在于,所述第一獲取模塊包括第一擁塞度子模塊,用于在事件報(bào)文從MAC層向物理層發(fā)送時(shí),獲取所述物理層中發(fā) 送先進(jìn)先出緩沖器的當(dāng)前擁塞度;第三計(jì)算子模塊,用于根據(jù)所述第一擁塞度子模塊獲取的當(dāng)前擁塞度和所述設(shè)備本地 時(shí)鐘的時(shí)鐘周期的時(shí)長(zhǎng)的乘積獲取所述駐留時(shí)間T1。
12.如權(quán)利要求8至11中任一權(quán)利要求所述的裝置,其特征在于,所述第一獲取模塊包括第二獲取深度子模塊,用于在所述物理層接收到對(duì)端設(shè)備發(fā)送的帶有時(shí)間戳的事件報(bào) 文時(shí),獲取所述物理層的接收先進(jìn)先出緩沖器的當(dāng)前深度;第二計(jì)數(shù)子模塊,用于在所述物理層接收到對(duì)端設(shè)備發(fā)送的帶有時(shí)間戳的事件報(bào)文 時(shí),確定對(duì)從所述接收先進(jìn)先出緩沖器中讀取出所述當(dāng)前深度的數(shù)據(jù)所消耗的所述設(shè)備本 地時(shí)鐘的時(shí)鐘周期數(shù)量;第四計(jì)算子模塊,用于根據(jù)所述第二計(jì)數(shù)子模塊確定的時(shí)鐘周期數(shù)量和所述時(shí)鐘周期的時(shí)長(zhǎng)的乘積獲取所述駐留時(shí)間T2。
13.如權(quán)利要求8至11中任一權(quán)利要求所述的裝置,其特征在于,所述第一獲取模塊包括第三時(shí)間戳子模塊,用于在所述物理層接收到對(duì)端設(shè)備發(fā)送來(lái)的事件報(bào)文時(shí),為所述 事件報(bào)文記錄第三時(shí)間戳;第四時(shí)間戳子模塊,用于在所述事件報(bào)文從所述物理層向MAC層發(fā)送時(shí),為所述事件 報(bào)文加入第四時(shí)間戳;第五計(jì)算子模塊,用于獲取第三時(shí)間戳和第四時(shí)間戳,并根據(jù)所述第三時(shí)間戳和第四 時(shí)間戳的差值獲取所述駐留時(shí)間T2。
14.如權(quán)利要求8至11中任一權(quán)利要求所述的裝置,其特征在于,所述第一獲取模塊包括第二擁塞度子模塊,用于在對(duì)端設(shè)備傳輸來(lái)的攜帶有時(shí)間戳的事件報(bào)文從物理層向 MAC層發(fā)送時(shí),獲取所述物理層中接收先進(jìn)先出緩沖器的當(dāng)前擁塞度;第六計(jì)算子模塊,用于根據(jù)所述第二擁塞度子模塊獲取的當(dāng)前擁塞度和所述設(shè)備本地 時(shí)鐘的時(shí)鐘周期的時(shí)長(zhǎng)的乘積獲取所述駐留時(shí)間T2。
全文摘要
公開(kāi)了獲取不對(duì)稱(chēng)延遲時(shí)間的方法和裝置。其中的方法包括獲取報(bào)文在設(shè)備物理層的發(fā)送先進(jìn)先出緩沖器中的駐留時(shí)間T1,并獲取報(bào)文在所述設(shè)備物理層的接收先進(jìn)先出緩沖器中的駐留時(shí)間T2;根據(jù)所述T1和T2的差值、所述物理層固有延遲時(shí)間和傳輸線(xiàn)路延遲時(shí)間三者之和獲得不對(duì)稱(chēng)延遲時(shí)間。上述技術(shù)方案可以準(zhǔn)確方便的獲得網(wǎng)絡(luò)設(shè)備的不對(duì)稱(chēng)延遲時(shí)間,從而降低了時(shí)間同步的實(shí)現(xiàn)成本,提高了時(shí)間同步的效率。
文檔編號(hào)H04L7/00GK101814984SQ20101014462
公開(kāi)日2010年8月25日 申請(qǐng)日期2010年4月9日 優(yōu)先權(quán)日2010年4月9日
發(fā)明者吳鋒榮, 趙成祥 申請(qǐng)人:華為技術(shù)有限公司