用于在時間認知設(shè)備之間傳達時間信息的方法和裝置制造方法
【專利摘要】根據(jù)一個實施例,一種裝置包括根據(jù)第一時鐘操作的第一處理單元、根據(jù)從第一時鐘分離地運行的第二時鐘操作的第二處理單元以及耦合到第一通信單元和第二通信單元的同步控制器。同步控制器被配置為(i)使第一通信單元根據(jù)第一時鐘生成第一處理單元向第二處理單元發(fā)送信號的第一時間指示、(ii)使第二處理單元根據(jù)第二時鐘生成第二處理單元接收信號的第二時間指示以及(iii)基于第一時間指示和第二時間指示確定在第一時鐘和第二時鐘之間的偏移。
【專利說明】用于在時間認知設(shè)備之間傳達時間信息的方法和裝置
[0001] 有關(guān)申請的奪叉引用
[0002] 本公開內(nèi)容要求名稱均為"Wireless AVB Requirements"、提交于2012年1月 4日的第61/582,953號美國臨時專利申請和提交于2012年10月2日的第61/708,866號 美國臨時專利申請的權(quán)益。
【技術(shù)領(lǐng)域】
[0003] 本公開內(nèi)容總體上涉及通信設(shè)備,并且更具體地涉及同步通信設(shè)備或者通信設(shè)備 的部件。
【背景技術(shù)】
[0004] 這里提供的【背景技術(shù)】描述是為了一般地呈現(xiàn)公開內(nèi)容的情境。當前名義的發(fā)明人 的工作在這一【背景技術(shù)】章節(jié)中描述該工作的程度上以及該描述的可以未另外限定為在提 交時的現(xiàn)有技術(shù)的方面既未明確地、也未暗示地被承認為相對于本公開內(nèi)容的現(xiàn)有技術(shù)。
[0005] 在通信設(shè)備通過有線或者無線通信信道交換數(shù)據(jù)時,數(shù)據(jù)傳播經(jīng)過的介質(zhì)以及在 中間或者端點通信設(shè)備的處理向數(shù)據(jù)交換引入各種傳播延遲。例如,連接一對通信設(shè)備的 以太網(wǎng)鏈路通常將通信幀延遲若干微秒,并且傳播延遲一般依賴于以太網(wǎng)鏈路的長度。在 另一方面,接收幀、處理接收的幀并且進一步發(fā)送幀的網(wǎng)絡(luò)路由器可能引入通常以毫秒為 單位測量的長得多的延遲。
[0006] -些通信協(xié)議指定用于發(fā)送用于數(shù)據(jù)單元的時間戳信息的技術(shù)。然而,發(fā)送設(shè)備 和接收設(shè)備可能具有在不同時間啟動和以不同速率運行的時鐘。因而,已經(jīng)開發(fā)出標準以 允許通信設(shè)備交換定時和同步信息。具體而言,電氣和電子工程師協(xié)會(IEEE)802. 1AS標 準指定用于同步局域網(wǎng)(LAN)的協(xié)議和過程。如今,以太網(wǎng)端口使用IEEE 802. 1AS標準 和IEEE 802. 3af( "通過以太網(wǎng)的功率")標準來同步。作為另一示例,無線端口使用IEEE 802. 1AS標準和IEEE 802. llv標準來同步,該標準指定用于連接到無線網(wǎng)絡(luò)的客戶端設(shè)備 的配置技術(shù)。
【發(fā)明內(nèi)容】
[0007] 在一個實施例中,一種裝置包括根據(jù)第一時鐘操作的第一處理單元、根據(jù)從第一 時鐘分離地運行的第二時鐘操作的第二處理單元以及耦合到第一通信單元和第二通信單 元的同步控制器。同步控制器被配置為(i)使第一通信單元根據(jù)第一時鐘生成第一處理單 元向第二處理單元發(fā)送信號的第一時間指示、(ii)使第二處理單元根據(jù)第二時鐘生成第二 處理單元接收信號的第二時間指示以及(iii)基于第一時間指示和第二時間指示確定在 第一時鐘和第二時鐘之間的偏移。
[0008] 在各種實現(xiàn)方式中,可以包括以下特征中的一個或者多個特征。該裝置可以包括 通用接口,第一通信單元經(jīng)由該通用接口向第二通信單元發(fā)送信號。通用接口可以包括(i) 通用輸入/輸出(GPI0)管腳、(ii)外圍部件互連快速(PCIE)端口或者(iii)安全數(shù)字輸 入輸出(SDIS)槽中的一項或者多項。信號可以是脈沖。同步控制器可以被配置為周期地 重復操作(i)和(ii)以確定在第一時鐘和第二時鐘之間的頻率差值。第一處理單元可以 是(i)被配置為經(jīng)由有線通信鏈路接收和發(fā)送數(shù)據(jù)的有線通信單元以及(ii)被配置為經(jīng) 由無線通信鏈路接收和發(fā)送數(shù)據(jù)的無線通信單元中的一個通信單元,并且第二處理單元可 以是有線通信單元和無線通信單元中的另一通信單元,并且該裝置可以被配置為在有線通 信單元和無線通信單元之間轉(zhuǎn)發(fā)數(shù)據(jù)。有線通信鏈路可以是以太網(wǎng)鏈路。該裝置可以包括 耦合到第一處理單元和同步控制器以存儲第一時間指示的第一硬件寄存器,以及耦合到第 二處理單元和同步控制器以存儲第二時間指示的第二硬件寄存器。
[0009] 另一實施例是一種在設(shè)備中的同步方法,該設(shè)備包括(i)根據(jù)第一時鐘操作的第 一處理單元和(ii)根據(jù)從第一時鐘分離地運行的第二時鐘操作的第二處理單元。該方法 包括使第一處理單元根據(jù)第一時鐘生成第一處理單元向第二處理單元發(fā)送信號的第一時 間指示。另外,該方法包括使第二處理單元根據(jù)第二時鐘生成第二處理單元接收信號的第 二時間指示。更進一步,該方法包括基于第一時間指示和第二時間指示確定在第一時鐘和 第二時鐘之間的偏移。
[0010] 在各種實現(xiàn)方式中,可以包括以下特征中的一個或者多個特征。該方法可以包括 使第一處理單元經(jīng)由(i)通用輸入/輸出(GPI0)管腳、(ii)外圍部件互連快速(PCIE)端 口或者(iii)安全數(shù)字輸入輸出(SDIS)槽之一發(fā)送信號。該方法可以包括使第一處理單 元以脈沖的形式發(fā)送信號。該信號可以與在第一處理單元和第二處理單元之間發(fā)送的命令 關(guān)聯(lián),其中該命令符合為在第一處理單元和第二處理單元之間交換控制信息而定義的消息 發(fā)送協(xié)議。該方法可以包括:使第一處理單元生成信號作為多個信號之一;使用多個信號 來生成第一時間指示和第二時間指示的多個版本;并且基于第一時間指示和第二時間指示 的多個版本確定在第一時鐘和第二時鐘之間的頻率差值。第一處理單元可以是第一通信單 元并且第二處理單元可以是第二通信單元,并且該方法可以包括:經(jīng)由第一通信單元的端 口接收數(shù)據(jù)分組;使用確定的偏移和確定的頻率差值來確定與該設(shè)備關(guān)聯(lián)的傳播延遲;并 且經(jīng)由第二通信單元的端口發(fā)送數(shù)據(jù)分組,包括提供傳播延遲的指示。第一通信單元可以 是有線通信單元和無線通信單元中的一個通信單元,并且第二通信單元是可以有線通信單 元和無線通信單元中的另一通信單元。
[0011] 在又一實施例中,一種處理單元被配置為在設(shè)備中操作,該設(shè)備包括作為第一處 理單元的該處理單元、第二處理單元以及耦合到第一處理單元和第二處理單元的同步控制 器。該處理單元包括:時鐘,第一處理單元根據(jù)該時鐘操作,其中第二處理單元根據(jù)分離時 鐘操作;以及接口,第一處理單元經(jīng)由該接口耦合到第二處理單元。該處理單元被配置為 (i)經(jīng)由接口向第二處理單元發(fā)送周期信號并且(ii)根據(jù)第一時鐘生成第一處理單元向 第二處理單元發(fā)送周期信號的第一時間指示。同步控制器被配置為(i)使第二處理單元根 據(jù)第二時鐘生成第二處理單元接收周期信號的第二時間指示并且(ii)基于第一時間指示 和第二時間指示生成同步參數(shù)。
[0012] 在各種實現(xiàn)方式中,可以包括以下特征中的一個或者多個特征。接口可以包括(i) 通用輸入/輸出(GPI0)管腳、(ii)外圍部件互連快速(PCIE)端口或者(iii)安全數(shù)字輸 入輸出(SDIS)槽之一。周期信號可以是脈沖。同步參數(shù)可以包括(i)在第一處理單元的 時鐘和第二處理單元的時鐘之間的偏移以及(ii)在第一處理單元的時鐘和第二處理單元 的時鐘之間的頻率差值中的至少一項。第一處理單元可以是(i)被配置為經(jīng)由有線通信鏈 路接收和發(fā)送數(shù)據(jù)的有線通信單元以及(ii)被配置為經(jīng)由無線通信鏈路接收和發(fā)送數(shù)據(jù) 的無線通信單元中的一個通信單元,并且第二處理單元可以是有線通信單元和無線通信單 元中的另一通信單元。
【專利附圖】
【附圖說明】
[0013] 圖1是根據(jù)一個實施例的示例通信系統(tǒng)的框圖,在該通信系統(tǒng)中,一個或者多個 設(shè)備實施本公開內(nèi)容的一種或者多種同步技術(shù);
[0014] 圖2是圖示根據(jù)一個實施例的經(jīng)由若干設(shè)備的數(shù)據(jù)單元的示例傳播的示圖,所述 若干設(shè)備包括可以在圖1的通信系統(tǒng)中操作的設(shè)備;
[0015] 圖3是根據(jù)一個實施例的示例設(shè)備的框圖,該設(shè)備包括使用本公開內(nèi)容的一種或 者多種同步技術(shù)來同步的多個通信單元;
[0016] 圖4是根據(jù)一個實施例的用于確定在相同設(shè)備中操作的兩個處理單元的時鐘之 間的差值的示例方法的流程圖;
[0017] 圖5是根據(jù)一個實施例的用于確定在相同設(shè)備中操作的兩個處理單元的時鐘之 間的計數(shù)頻率差值的示例方法的流程圖;
[0018] 圖6A是根據(jù)一個實施例的用于確定在數(shù)據(jù)單元經(jīng)由有線端口到達包括有線通信 單元和無線通信單元的設(shè)備時經(jīng)過該設(shè)備的傳播延遲的示例方法的流程圖;以及
[0019] 圖6B是根據(jù)一個實施例的用于確定在數(shù)據(jù)單元經(jīng)由無線端口到達包括有線通信 單元和無線通信單元的設(shè)備時經(jīng)過該設(shè)備的傳播延遲的示例方法的流程圖。
【具體實施方式】
[0020] 在以下描述的實施例中,包括具有分離和相互獨立的周期定時信號源(簡稱為分 離"時鐘")的多個處理單元的設(shè)備使用簡單接口來高效地同步處理單元。設(shè)備確定一個或 者多個同步參數(shù)、比如偏移差值,并且如果必要則確定在時鐘之間的頻率差值。使用同步參 數(shù),設(shè)備例如可以準確地測量經(jīng)過設(shè)備的傳播延遲和/或調(diào)整"主(grandmaster) "時鐘在 處理單元之一的本地值。在一些實施例中,在設(shè)備中操作的處理單元中的一些或者所有處 理單元是通信單元、比如網(wǎng)絡(luò)處理器、無線接收器和發(fā)送器等。
[0021] 在分組到達在設(shè)備中操作的一個通信單元的端口并且經(jīng)由在相同設(shè)備中操作的 另一通信單元的端口離開時,設(shè)備可以在分組中包括用于設(shè)備的傳播延遲指示或者向接收 和/或發(fā)送分組的其它設(shè)備通知傳播延遲。時間認知設(shè)備然后可以使用這一時間指示以恰 當處理分組。例如,時間認知媒體處理器可以使用這一時間指示以在音頻/視頻橋接(AVB) 應用中同步分別經(jīng)由顯示器和揚聲器提供的視頻和音頻。
[0022] 在一個示例實施例中,設(shè)備包括經(jīng)由相應通信端口接收和/或發(fā)送分組的一對通 信單元、處理器和通用接口,這兩個通信單元經(jīng)由該通用接口被連接。通用接口例如可以包 括通用輸入輸出(GPI0)管腳。通信單元具有分離時鐘。為了同步通信單元,(可以在軟件 中、在處理器中、在一個或者兩個通信單元中或者從處理器和通信單元分離地實施的)同 步控制器使第一通信單元經(jīng)由通用接口向第二通信單元發(fā)送脈沖并且根據(jù)第一通信單元 的時鐘生成發(fā)送脈沖的時間指示。同步控制器也使第二通信單元根據(jù)第二通信單元的時鐘 生成接收脈沖的時間指示。在兩個通信單元之間的距離充分小以便使通用接口的傳播延遲 可忽略。例如,這一傳播延遲可以僅為若干納秒長。因而,同步控制器可以使用兩個時間指 示來確定在第一通信單元和第二通信單元之間的時間差值。例如,同步控制器可以確定每 個通信單元的當天時間(ToD)并且通過將一個ToD值從另一 ToD值減去來計算在通信單元 之間的"DC偏移"。
[0023] 另外,在一些實施例中,設(shè)備多次(例如每秒一次)執(zhí)行以上描述的過程。使用多 個時間戳,同步控制器計算兩個通信單元的計數(shù)頻率差值。例如,如果兩個通信單元使用晶 體振蕩器(或者簡稱為"晶體"),則同步控制器以這一方式計算百萬分(PPM)之幾差值。根 據(jù)一個實施例,設(shè)備然后使用PPM差值和DC偏移來計算傳播延遲。
[0024] 根據(jù)一個實施例,第一通信單元是經(jīng)由一個或者若干以太網(wǎng)端口接收和/或發(fā)送 分組的有線通信單元,并且第二通信單元是經(jīng)由一個或者若干無線端口接收和/或發(fā)送分 組的無線通信單元。在另一實施例中,第一通信單元是無線通信單元,并且第二通信單元是 有線通信單元。更一般而言,通信單元可以是任何類型,并且脈沖可以在設(shè)備中從任何通信 單元向任何其它通信單元行進。
[0025] 為了更好地舉例說明本公開內(nèi)容的技術(shù),圖1描繪示例通信系統(tǒng)10,在該通信系 統(tǒng)中,接入點(AP) 12在包括客戶端站14A和14B的無線局域網(wǎng)(WLAN) 11中操作。AP 12是 包括網(wǎng)絡(luò)處理器18的AP網(wǎng)橋設(shè)備16的部件。使用網(wǎng)絡(luò)處理器18, AP網(wǎng)橋設(shè)備16經(jīng)由通 信鏈路22與在通信網(wǎng)絡(luò)20中操作的設(shè)備通信。AP 12和網(wǎng)絡(luò)處理器18根據(jù)不同、相互獨 立的時鐘操作。在一個實施例中,有線通信鏈路22是以太網(wǎng)鏈路。另外,在一個實施例中, WLAN 11根據(jù)IEEE 802. 1 In標準操作。
[0026] 客戶端站14A在媒體播放器30A中操作。媒體播放器30A例如還包括媒體處理器 32A,媒體播放器30A經(jīng)由該媒體播放器32A提供媒體輸出、比如視頻。部件14A和32A可 以設(shè)置于相同殼內(nèi)??蛻舳苏?4B在還包括媒體處理器32B的媒體播放器30B中操作。部 件14B和32B也可以設(shè)置于相同殼內(nèi)。媒體播放器30B例如可以使用媒體處理器32B來提 供音頻輸出。在一個實施例中,無線站14A和媒體處理器32A根據(jù)不同、相互獨立的時鐘操 作。相似地,在一個實施例中,無線站14B和媒體處理器32B根據(jù)不同、相互獨立的時鐘操 作。
[0027] 設(shè)備30A、30B和16中的每個設(shè)備包括根據(jù)本公開內(nèi)容的技術(shù)中的至少一些技術(shù) 實施的用于同步對應處理單元的同步控制器40。更具體而言,同步控制器40A在媒體播放 器30A中操作以將無線站14A與媒體處理器32A同步;同步控制器40B在媒體播放器30B 中操作以將無線站14B與媒體處理器32B同步;并且同步控制器40C在AP網(wǎng)橋16中操作 以將網(wǎng)絡(luò)處理器18與AP 12同步。注意,同步控制器40可以同步在相同設(shè)備(例如,AP網(wǎng) 橋16)中操作的一對通信單元以及在相同設(shè)備(例如,媒體播放器30A或者30B)中操作的 通信單元和處理單元。更一般而言,同步控制器40可以用來同步任何數(shù)目的通信單元和/ 或處理單元。
[0028] 如以下更具體的論述,同步控制器40可以使用硬件、軟件、固件或者硬件、軟件和 固件的任何適當組合來實施。在一個實施例中,同步控制器40、在對應一對處理單元(例 如,AP 12和網(wǎng)絡(luò)處理器18)之間的接口、存儲時間戳的緩沖器等定義低成本時間應用接口 (TAI),該TAI允許容易和可靠地同步在相同設(shè)備中、但是根據(jù)不同時鐘操作的處理單元。 然而,在具體考慮示例TAI之前,參照圖2討論數(shù)據(jù)單元的經(jīng)由若干設(shè)備的示例傳播,這些 設(shè)備包括實施本公開內(nèi)容的技術(shù)中的至少一些技術(shù)的設(shè)備。
[0029] 圖2的示例通信流水線100包括以有線方式耦合到通信單元104的分組源102,該 通信單元轉(zhuǎn)而以有線方式耦合到通信設(shè)備106。通信設(shè)備106還以無線方式耦合到無線通 信單元108。在一個示例實施例中,無線通信單元108是經(jīng)由設(shè)備104和106從分組源102 發(fā)送的數(shù)據(jù)分組的"消費者"。換而言之,部件102和108定義通信流水線100的端點。
[0030] 與參照圖1討論的AP網(wǎng)橋16相似,通信設(shè)備106包括有線通信單元110和經(jīng)由 接口 114耦合到有線通信單元110的無線通信單元112。在一個實施例中,通信設(shè)備106例 如可以作為路由器或者網(wǎng)橋設(shè)備操作,并且可以在通信單元110和112之間路由或者轉(zhuǎn)發(fā) 數(shù)據(jù)。通信設(shè)備106還包括通信地耦合到有線通信單元110和無線通信單元112的處理器 116。在一個實施例中,通信單元110和112分別包括時鐘118A和118B。更一般而言,通 信單元110和112可以從可以作為通信單元110和112的部件或者從通信單元110和112 分離地提供的分離、獨立源接收周期定時信號。例如,在一個這樣的實施例中,有線通信單 元110不包括其自己的時鐘并且根據(jù)處理器116的時鐘操作,而無線通信單元112根據(jù)時 鐘118B操作。通信設(shè)備106包括在處理器116、有線通信單元110和/或無線通信單元112 中實施為一個分離部件或者若干部件的同步控制器119。
[0031] 在一個實施例中,無線通信單元108作為時間認知設(shè)備的部件或者在時間認知應 用模式中操作。分組源102在這一情況下包括與在流水線100中的僅有"正確"時間對應 的"主"時鐘120。時鐘120可以在不同頻率運行并且具有與在流水線110中的其它時鐘不 同的開始時間。另外,在流水線100中的設(shè)備可以在不同溫度操作。例如,分組源102可以 放置于比有線通信單元104更熱的地點中。如所知的那樣,溫度可以影響典型晶體振蕩器 的操作。
[0032] 根據(jù)一個實施例,在操作中,分組源102生成分組125并且在分組125的報頭中包 括使用主時鐘120來生成的時間戳128。隨著分組125在箭頭130大致地指示的方向上朝 著無線通信單元108行進,分組125遇到各種持續(xù)時間的延遲。為了恰當處理分組125,無 線通信單元108嘗試用盡可能多的精確度確定經(jīng)由流水線100的傳播延遲。為此,應當確 定經(jīng)由在流水線中的中間鏈路和設(shè)備的不可忽略延遲,比如圖2中所示延遲Λ ti_At5。
[0033] 另外,在一些實施例中,部件104、110、112和108中的一些或者所有部件維持主時 鐘120的相應版本。在操作期間,這些部件使用延遲At「At 5的最新計算值來連續(xù)地或者 周期地調(diào)整主時鐘120的本地版本。為此,部件102、104、110、112和108向下游(在箭頭 130的方向上)、向上游或者在兩個方向上傳播對應值。
[0034] 一般而言,當在流水線100中操作的部件確定延遲Atl-At5的新值時,部件可以 使用任何適當傳播技術(shù)向其它部件傳達新值。例如,部件可以調(diào)整在分組125中的時間戳、 在分組125的報頭中傳播用于指示延遲的長度的字段、向在流水線100中操作的一個或者 多個部件發(fā)送具有延遲的新值的分離消息、使用這些技術(shù)的組合等。
[0035] 繼續(xù)參照圖2,分組源102和有線通信單元104經(jīng)由一般與鏈路140的長度成比 例的傳播延遲Λ &關(guān)聯(lián)的有線鏈路130耦合。例如,延遲Λ &的值可以是500納秒或者 更少。在一個實施例中,有線鏈路140是以太網(wǎng)鏈路。相似地,有線鏈路140可以是以太網(wǎng) 鏈路并且可能引入500納秒或者更少的延遲Λ t3。在一個實施例中,鏈路140和142根據(jù) IEEE 802. 3af標準操作。然而,注意由于鏈路140和142具有不同長度,所以延遲Λ h和 At3的值無需相同。
[0036] 在另一方面,與有線通信單元104關(guān)聯(lián)的延遲Λ t2可以顯著地大于延遲Λ tl和 Λ t3 (例如,長達10毫秒)。在一個實施例中,有線通信單元104耦合到處理器144,該處理 器144例如可以是CPU。在各種場景中,數(shù)據(jù)分組125可以經(jīng)歷在硬件和/或軟件級的處 理。例如,有線通信單元104和處理器144可以在網(wǎng)絡(luò)路由器中操作,該網(wǎng)絡(luò)路由器在協(xié)議 棧的多層分析分組并且將分組125相應地延遲大量時間。
[0037] 在一些實施例中,有線通信單元104包括時鐘150。雖然時鐘150可以不與主時鐘 120同步,但是有線通信單元104可以準確和可靠地確定用于分組125的延遲Λ t3。為此, 有線通信單元104生成在分組125到達有線通信單元104時(例如,在分組125穿越對應 傳入端口的入口流水線時)的第一時間戳和恰在經(jīng)由通信鏈路142發(fā)送分組125之前(例 如,在分組125穿越對應傳出端口的出口流水線時)的第二時間戳。時間戳可以簡單地是 寄存器的值,該寄存器存儲時鐘150維持的時鐘計數(shù)器的當前值。由于有線通信單元104 使用相同時鐘150來生成第一時間戳和第二時間戳,所以有線通信單元104可以通過從第 二時間戳減去第一時間戳并且將結(jié)果乘以時鐘150的頻率來準確地確定延遲Λ t2的值。
[0038] 一般而言,在經(jīng)由以太網(wǎng)鏈路140和142互連的分組源102、有線通信單元104和 有線通信單元110之間傳播定時信息和/或同步可以使用IEEE 802. 1AS和802. 3af標準 來實施。使用這些技術(shù),部件102、104和110可以相互提供延遲信息、調(diào)整主時鐘120的本 地版本等。
[0039] 關(guān)于與通信設(shè)備106關(guān)聯(lián)的延遲Λ t4的值,通信單元110和112并且具體為處理 器116可以將分組126延遲顯著數(shù)量的時間。為了確定延遲Λ t4的值,通信設(shè)備106可以 實施本公開內(nèi)容的同步技術(shù)。與包括參照圖1討論的同步控制器40的設(shè)備相似,通信設(shè)備 106可以實施在通信單元110和112之間傳輸和捕獲周期脈沖或者另一信號。根據(jù)該實施 例,同步控制器119使脈沖從有線通信單元110向無線通信單元112或者反之從無線通信 單元112向有線通信單元110行進。以下參照圖3更具體討論用于生成、捕獲和使用這些 信號的適合技術(shù)。
[0040] IEEE 802. llv標準提供一種用于計算在無線通信單元112和108之間的延遲Λ t5 的值的機制。在一些實現(xiàn)方式中,無線通信單元108也利用這一機制以將其時鐘152與通 信單元112的時鐘118B同步。更具體而言,通信單元112和108可以交換如802. llv標準 定義的"Ml"和"M2"幀。使用Ml和M2巾貞,通信單元112和108計算延遲Λ t5。通信單元 108可以將Λ t5從其主時鐘120的版本減去以匹配主時鐘120的在無線通信單元112存儲 的版本。
[0041] 使用延遲Λ Λ t5的計算值和/或與主時鐘120同步(經(jīng)由轉(zhuǎn)而與在流水線100 中的其它時鐘同步的時鐘118B)的時鐘152,媒體處理器160可以恰當處理數(shù)據(jù)分組125。 例如,媒體處理器160可以在如主時鐘120測量的正確時間回放在分組125中的音頻或者 視頻內(nèi)容。
[0042] 現(xiàn)在參照圖3,示例通信設(shè)備200包括與在單元202和204的相應本地時間表示一 起使用在單元202與204之間發(fā)送的信號來同步有線通信單元202和無線通信單元204的 同步控制器201。在一個實施例中,通信設(shè)備106與通信設(shè)備200大體上相似。另外,在一 些實施例中,同步控制器201和通信設(shè)備200的實施在通信單元202和204之間同步的其 它部件定義與參照圖1討論的TAI 40大體上相似的TAI。更一般而言,可以實施與通信設(shè) 備200相似的其中兩個或者更多處理單元使用分離時鐘來操作的設(shè)備以同步處理單元。
[0043] 通信設(shè)備200在一個實施例中也包括處理器206,該處理器可以是通用CPU、專用 集成電路(ASIC)、可編程控制器等。處理器206耦合到通信單元202和204中的每個通信 單元。在一個實施例中,處理器206被配置為向通信單元202和204提供命令并且從通信 單元202和204接收狀態(tài)、控制和其它信息。例如,處理器206可以執(zhí)行軟件指令以執(zhí)行數(shù) 據(jù)分組的高級處理(例如,深度檢查)。然而在另一實施例中,通信設(shè)備200完全不包括處 理器206,并且通信單元202和204直接實施為了恰當耦合通信單元202和204而必需的邏 輯。
[0044] 通信設(shè)備200也包括耦合到處理器208的計算機可讀存儲器208。存儲器208可 以是任何適當持久或者瞬態(tài)存儲器、比如閃存、隨機存取存儲器(RAM)、只讀存儲器(ROM) 等。存儲器208存儲一個或者若干軟件應用209。存儲器208也可以存儲處理器206在操 作期間生成和/或使用的數(shù)據(jù)。
[0045] 根據(jù)一些實施例,同步控制器201和有線通信單元202耦合到時間捕獲緩沖器 212,并且同步控制器201和有線通信單元204也耦合到時間捕獲緩沖器214。例如,緩沖器 212和206可以被實施為簡單硬件寄存器。如下文所述,時間捕獲緩沖器212和214分別存 儲用于單元202和204的與某些事件(比如發(fā)送或者接收信號)對應的本地時間表示。
[0046] 繼續(xù)參照圖3,有線通信單元202包括生成周期定時信號的晶體振動器電路220, 有線通信單元202根據(jù)該周期定時信號操作。無線通信單元204包括生成周期定時信號的 晶體振動器電路222,無線通信單元根據(jù)該周期定時信號操作。在一個實施例中,晶體振動 器電路220和222在不同頻率操作。另外根據(jù)一些場景,由于通信單元202和204可以在 不同時間初始化或者復位,所以晶體振蕩器電路220和222開始在不同時間計數(shù)。在其它 實施例中,通信單元202和204包括其它適當類型的時鐘。
[0047] 在一個實施例中,晶體振動器電路220對于每個周期將計數(shù)器230遞增一。因此, 計數(shù)器230存儲如晶體振蕩器電路220測量的當前時間表示。相似地,晶體振蕩器電路222 對于每個周期將計數(shù)器232遞增一,并且計數(shù)器232存儲如晶體振蕩器電路222測量的當 前時間表示。在滿足某個條件時或者響應于來自同步控制器201的命令,通信單元202和 204分別向時間捕獲緩沖器212和214傳送計數(shù)器230和232的當前值。在一些場景中,通 信單元202和204基本上在相同時間用新值填充相應緩沖器212和214。在其它場景中,通 信單元202和204響應于分離相應命令在不同時間填充這些緩沖器。
[0048] 有線通信單元202也包括控制器和輸入/輸出流水線240。在一個實施例中,部件 220包括用于處理傳入數(shù)據(jù)單元(例如,分組)的入口流水線、實施協(xié)議轉(zhuǎn)化、路由、橋接和 /或其它功能的控制器以及用于預備數(shù)據(jù)單元用于傳輸?shù)某隹诹魉€。無線通信單元204 包括用于處理經(jīng)由無線通信鏈路發(fā)送的傳入或者傳出數(shù)據(jù)單元的控制器和輸入/輸出流 水線242。
[0049] 根據(jù)一個實施例,有線通信單元202包括用于接收和/或發(fā)送數(shù)據(jù)分組的一個或 者多個以太網(wǎng)端口 250,每個數(shù)據(jù)分組包括如適當通信協(xié)議指定的接觸集合。在其它實施例 中,無線通信單元202可以附加地或者備選地包括用于其它類型的有線通信、包括根據(jù)專 有標準的通信的端口。無線通信單元204包括無線端口 252的集合,這些無線端口在一些 實施例中可以是映射到相同物理流水線的虛擬端口。以太網(wǎng)端口 250和無線端口 252 -起 定義通信設(shè)備200的外部接口。
[0050] 因此,通信設(shè)備200可以經(jīng)由無線端口接收數(shù)據(jù)分組、如果必要則更改數(shù)據(jù)分組 (例如,通過改變協(xié)議或者用新值更新報頭),并且經(jīng)由以太網(wǎng)端口發(fā)送數(shù)據(jù)分組。在另一 場景中,通信設(shè)備200可以經(jīng)由有線端口接收數(shù)據(jù)分組并且經(jīng)由有線端口發(fā)送數(shù)據(jù)分組。
[0051] 根據(jù)一個實施例,處理器206定義用于在通信單元202與204之間交換數(shù)據(jù)的內(nèi) 部接口。因此,例如在有線通信單元202希望向無線通信單元204轉(zhuǎn)發(fā)數(shù)據(jù)分組時,處理器 206從有線通信單元202接收數(shù)據(jù)分組并且向無線通信單元204提供數(shù)據(jù)分組。在另一實 施例中,通信設(shè)備200包括在通信單元202和204之間用于交換數(shù)據(jù)分組的直接接口。
[0052] 在一個實施例中,有線通信單元202和無線通信單元204中的每個通信單元包括 可用通用接口接觸、比如GPI0管腳。通信單元202和204可以使用這些通用接口接觸以發(fā) 送或者接收同步信號。在圖3的示例中,有線通信單元202包括耦合到連接器264的管腳 260,并且無線通信單元204包括耦合到連接器264的管腳262。連接器264是提供簡單連 接的示例通用接口,通信單元202或者204例如可以經(jīng)由該簡單連接發(fā)送脈沖。在其它實施 例中,有線通信單元202和無線通信單元204例如使用外圍部件互連快速(PCIE)或者安全 數(shù)字輸入輸出(SDIS)經(jīng)由總線通信。在任何情況下,連接器264是在通信單元202和204 之間的相對簡單、低成本接口。根據(jù)一個實施例,部件260、262和264未根據(jù)IEEE 802. 1AS 標準支持同步。
[0053] 在操作中,同步控制器201指引通信單元202和204之一經(jīng)由連接器264向通信 單元202和204中的另一通信單元發(fā)送脈沖或者另一同步信號。脈沖一般在通信單元202 和204之間在任一方向上行進。作為一個示例,同步控制器201指明有線通信單元202作 為脈沖的源。同步控制器201在這一情況下使有線通信單元202 (i)經(jīng)由(耦合到連接器 264的)管腳206向無線通信單元204發(fā)送脈沖并且(ii)在時間捕獲緩沖器212中記錄 計數(shù)器230的當前值。同步控制器201還指引無線通信單元204在時間捕獲緩沖器214中 記錄計數(shù)器232的當前值。同步控制器201然后從在時間捕獲緩沖器214中存儲的值減去 在時間捕獲緩沖器212中存儲的值以生成在通信單元212和214之間的時間計數(shù)器差值指 示、例如DC偏移。
[0054] 在實施例中的至少一些實施例中,連接器264的長度充分小以至于同步控制器 201認為脈沖經(jīng)由連接器264行進的傳播延遲基本上為零。因而,同步控制器201假設(shè)脈沖 同時到達無線通信單元204,并且指引通信單元202和204在相同時間在相應時間捕獲緩沖 器212和214中記錄對應計數(shù)器值。
[0055] 在另一實施例中,同步控制器201指引無線通信單元204僅在無線通信單元204 檢測到脈沖時在時間捕獲緩沖器214中記錄計數(shù)器232的值。在又一實施例中,同步控制 器201被配置為考慮與連接器264關(guān)聯(lián)的恒定傳播延遲。在同步控制器201計算在時間捕 獲緩沖器212和214中存儲的值的差值時,同步控制器201向差值施加恒定傳播延遲作為 校正因子。
[0056] 在一些實施例中,同步控制器201還計算在晶體振蕩器220和222之間的PPM差 值。為此,同步控制器201使作為脈沖的源而指明的通信單元周期地、例如在每秒一個脈沖 (PPS)的速率發(fā)送脈沖。在一個實施例中,在秒的開始發(fā)送脈沖。
[0057] 因此,在示例場景中,同步控制器201使有線通信單元202在上午12 :00:00經(jīng)由 連接器264向無線通信單元204發(fā)送脈沖(例如,根據(jù)有線通信單元202或者處理器206 的時鐘)。同步控制器201使用在時間捕獲緩沖器212和214中存儲的對應值來計算DC偏 移。例如,時間捕獲緩沖器212可以存儲值0x37242817,并且時間捕獲緩沖器214可以存儲 值0x0000 1278。相應地計算DC偏移值的量值為0x3724 2817-0x0000 1278。
[0058] 同步控制器201然后使通信單元204分別記錄用于后續(xù)脈沖的發(fā)送和接收時間以 確定PPM差值。例如在一秒之后,在時間捕獲緩沖器212中的值可以增加與在時間捕獲緩沖 器214中的值的兩倍一樣多。因而,同步控制器201可以確定晶體振蕩器220運行與晶體 振蕩器222的兩倍一樣快。在同步控制器201確定DC偏移值和PPM值之后,通信設(shè)備200 可以同步通信設(shè)備202和204和/或確定經(jīng)過通信設(shè)備200的傳播延遲。
[0059] 在其它實施例中,取代使通信單元202或者204經(jīng)由連接器264或者相似接口發(fā) 送脈沖,同步控制器201利用在通信單元202或者204之間發(fā)送的消息用于其它非同步目 的。例如,這些消息可以符合用于在通信單元202和204之間交換控制信息的協(xié)議,然而該 協(xié)議未提供用于同步通信單元202和204的機制。同步控制器201可以使有線通信單元202 在發(fā)送消息的第一符號(例如,比特)時在時間捕獲緩沖器212中記錄計數(shù)器230的值,并 且使無線通信單元204在接收消息的第一符號時在時間捕獲緩沖器214中記錄計數(shù)器232 的值。
[0060] 還指出雖然同步控制器201在圖3中被描繪為分離部件,但是在其它實施例中的 同步控制器201被實施為通信設(shè)備200的另一部件的整體部分或者為在通信設(shè)備200的其 它部件內(nèi)操作的若干部件。例如,在一個這樣的實施例中,同步控制器201和處理器206被 實施為單個集成部件。在另一實施例中,同步控制器201是有線通信單元202的部件。在另 一實施例中,同步控制器201是無線通信單元204的部件。另外根據(jù)更多另一實施例,同步 控制器201被實施為在存儲器208中存儲的在處理器206上可執(zhí)行的軟件指令。進而另外 在一個實施例中,同步控制器201以分布式方式被實施為軟件指令以及有線通信單元202、 無線通信單元204或者二者的一個或者多個硬件部件。
[0061] 接著考慮可以在以上討論的設(shè)備中的一些設(shè)備中實施的若干示例方法。
[0062] 先參照圖4,例如可以在圖3的同步控制器201中實施用于確定在兩個處理單元的 時鐘之間的差值的示例方法300,在該情況下,處理單元是通信單元。在塊302,方法300使 第一處理單元經(jīng)由內(nèi)部接口向第二通信單元發(fā)送信號。如上文所述,內(nèi)部接口可以是例如 實施比如IEEE 802. 1AS這樣的標準的通用接口。同樣如上文所述,發(fā)送的信號可以是簡單 脈沖、多符號消息的開始或者任何其它類型的信號。
[0063] 接著在塊304,使用第一處理單元的時鐘來生成與在發(fā)送信號時的時間對應的時 間戳。在塊306,使用第二處理單元的時鐘來生成與在信號到達第二處理單元時的時間對應 的時間戳。在一個實施例中,假設(shè)接收信號是無條件和瞬時的,從而基本上在相同時間執(zhí)行 塊 304 和 306。
[0064] 在塊308,使用兩個生成的時間戳來確定DC偏移。更具體而言,在塊308確定處理 單元的時鐘的值的差值。
[0065] 圖5是用于確定在相同設(shè)備中操作的兩個處理單元的時鐘之間的計數(shù)頻率差值 的示例方法350的流程圖。與方法300相似,例如可以在同步控制器201中實施方法250。 [0066] 在塊352,計算用于一對處理單元的第一 DC偏移值。為此,例如可以使用以上討論 的方法300。接著在塊354,檢測時間到期事件,并且在塊356確定用于這一對處理設(shè)備的 另一 DC偏移值。在塊358使用最后計算的一對DC偏移值來確定計數(shù)頻率差值、比如PPM 值。流程然后返回到塊354以等待下一時間到期事件。例如,時間可以被設(shè)置為一秒。以 這一方式,方法300即使在設(shè)備中操作的一個處理單元被復位而在相同設(shè)備中操作的另一 處理單元未被復位時仍然保證DC偏移和PPM值通常是準確的。
[0067] 現(xiàn)在參照圖6A,例如可以在圖3的通信設(shè)備200中實施用于確定經(jīng)過包括有線通 信單元和無線通信單元的設(shè)備的傳播延遲的示例方法400。在塊402,數(shù)據(jù)分組經(jīng)由有線通 信單元的有線端口接收。有線端口例如可以是以太網(wǎng)端口。
[0068] 在塊404生成與在接收數(shù)據(jù)分組時的時間對應的時間戳。例如在一個實施例中, 在數(shù)據(jù)分組經(jīng)過有線端口的入口流水線行進時生成時間戳。
[0069] 在塊406,根據(jù)無線通信單元的時鐘生成恰在數(shù)據(jù)分組經(jīng)由無線通信單元的無線 端口外出之前的時間戳。由于有線通信單元和無線通信單元根據(jù)在比如通信設(shè)備200這樣 的設(shè)備中的不同時鐘操作,所以在塊408確定DC偏移和PPM差值。作為一個示例,可以使 用以上討論的方法300和350。
[0070] 接著在塊410計算經(jīng)過設(shè)備的傳播延遲。然后為數(shù)據(jù)分組提供傳播延遲信息用于 在其它通信設(shè)備的后續(xù)處理。根據(jù)該實施例,可以指定傳播延遲作為在分組中的字段、作為 分離消息或者以任何其它適當方式。使用傳播延遲信息,分組的后續(xù)接收器可以在恰當時 間回放在數(shù)據(jù)分組中的數(shù)據(jù)(或者另外處理數(shù)據(jù)分組)。
[0071] 圖6B圖示除了在無線通信單元的無線端口接收分組(452)之外與方法400大致 地相似的方法450。相應地,根據(jù)無線數(shù)據(jù)單元的時鐘生成與接收數(shù)據(jù)分組對應的時間戳 (塊454),并且根據(jù)有線通信單元的時鐘生成與數(shù)據(jù)分組的即將到來的離開對應的時間戳 (塊456)。塊458和460與以上討論的塊408和410相似。
[0072] 可以利用硬件、執(zhí)行固件指令的處理器、執(zhí)行軟件指令的處理器或者其任何組合 來實施以上討論的各種塊、操作和技術(shù)中的至少一些塊、操作和技術(shù)。在利用執(zhí)行軟件或者 固件指令的處理器來實施時,軟件或者固件指令可以存儲于任何有形、非瞬態(tài)計算機可讀 存儲器、比如磁盤、光盤、RAM、ROM、閃存等中。軟件或者固件指令可以包括在由處理器執(zhí)行 時使處理器執(zhí)行各種動作的機器可讀指令。
[0073] 在硬件中實施時,硬件可以包括分立部件、集成電路、ASIC、可編程邏輯器件等中 的一項或者多項。
[0074] 盡管已經(jīng)參照旨在于僅舉例說明而不是限制的具體示例描述各種實施例,但是可 以對公開的實施例進行改變、添加和/或刪除而未脫離權(quán)利要求的范圍。
【權(quán)利要求】
1. 一種裝置,包括: 根據(jù)第一時鐘操作的第一處理單元; 根據(jù)與所述第一時鐘分離地運行的第二時鐘操作的第二處理單元;以及 耦合到所述第一通信單元和所述第二通信單元的同步控制器; 其中所述同步控制器被配置為: (i) 使所述第一通信單元根據(jù)所述第一時鐘生成所述第一處理單元向所述第二處理單 元發(fā)送信號的第一時間指示, (ii) 使所述第二處理單元根據(jù)所述第二時鐘生成所述第二處理單元接收所述信號的 第二時間指示,以及 (iii) 基于所述第一時間指示和所述第二時間指示確定在所述第一時鐘和所述第二時 鐘之間的偏移。
2. 根據(jù)權(quán)利要求1所述的裝置,還包括通用接口,所述第一通信單元經(jīng)由所述通用接 口向所述第二通信單元發(fā)送所述信號。
3. 根據(jù)權(quán)利要求2所述的裝置,其中所述通用接口包括以下之一 :(i)通用輸入/輸 出(GPIO)管腳、(ii)外圍部件互連快速(PCIE)端口或者(iii)安全數(shù)字輸入輸出(SDIS) 槽。
4. 根據(jù)權(quán)利要求2所述的裝置,其中所述信號是脈沖。
5. 根據(jù)權(quán)利要求1所述的裝置,其中所述同步控制器被配置為周期地重復操作(i)和 (ii)以確定在所述第一時鐘和所述第二時鐘之間的頻率差值。
6. 根據(jù)權(quán)利要求1所述的裝置,其中: 所述第一處理單元是以下之一 :(i)被配置為經(jīng)由有線通信鏈路接收和發(fā)送數(shù)據(jù)的有 線通信單元以及(ii)被配置為經(jīng)由無線通信鏈路接收和發(fā)送數(shù)據(jù)的無線通信單元,以及 所述第二處理單元是所述有線通信單元和所述無線通信單元中的另一個, 其中所述裝置被配置為在所述有線通信單元和所述無線通信單元之間轉(zhuǎn)發(fā)數(shù)據(jù)。
7. 根據(jù)權(quán)利要求1所述的裝置,其中所述有線通信鏈路是以太網(wǎng)鏈路。
8. 根據(jù)權(quán)利要求1所述的裝置,還包括: 第一硬件寄存器,耦合到所述第一處理單元和所述同步控制器以存儲所述第一時間指 示;以及 第二硬件寄存器,耦合到所述第二處理單元和所述同步控制器以存儲所述第二時間指 /_J、1 〇
9. 一種在設(shè)備中的同步方法,所述設(shè)備包括(i)根據(jù)第一時鐘操作的第一處理單元和 (ii)根據(jù)與所述第一時鐘分離地運行的第二時鐘操作的第二處理單元,所述方法包括: 使所述第一通信單元根據(jù)所述第一時鐘生成所述第一處理單元向所述第二處理單元 發(fā)送信號的第一時間指示; 使所述第二處理單元根據(jù)所述第二時鐘生成所述第二處理單元接收所述信號的第二 時間指示;以及 基于所述第一時間指示和所述第二時間指示確定在所述第一時鐘和所述第二時鐘之 間的偏移。
10. 根據(jù)權(quán)利要求9所述的方法,還包括使所述第一處理單元經(jīng)由以下之一發(fā)送所述 信號:⑴通用輸入/輸出(GPIO)管腳、(ii)外圍部件互連快速(PCIE)端口或者(iii)安 全數(shù)字輸入輸出(SDIS)槽。
11. 根據(jù)權(quán)利要求9所述的方法,還包括使所述第一處理單元以脈沖的形式發(fā)送所述 信號。
12. 根據(jù)權(quán)利要求9所述的方法,其中所述信號與在所述第一處理單元和所述第二處 理單元之間發(fā)送的命令關(guān)聯(lián),其中所述命令符合為在所述第一處理單元和所述第二處理單 元之間交換控制信息而定義的消息發(fā)送協(xié)議。
13. 根據(jù)權(quán)利要求9所述的方法,還包括: 使所述第一處理單元生成所述信號作為多個信號之一; 使用所述多個信號來生成所述第一時間指示和所述第二時間指示的多個版本;以及 基于所述第一時間指示和所述第二時間指示的所述多個版本確定在所述第一時鐘和 所述第二時鐘之間的頻率差值。
14. 根據(jù)權(quán)利要求13所述的方法,其中所述第一處理單元是第一通信單元并且所述第 二處理單元是第二通信單元,所述方法還包括: 經(jīng)由所述第一通信單元的端口接收數(shù)據(jù)分組; 使用確定的所述偏移和確定的所述頻率差值來確定與所述設(shè)備關(guān)聯(lián)的傳播延遲;以及 經(jīng)由所述第二通信單元的端口發(fā)送所述數(shù)據(jù)分組,包括提供所述傳播延遲的指示。
15. 根據(jù)權(quán)利要求14所述的方法,其中所述第一通信單元是有線通信單元和無線通信 單元之一,并且所述第二通信單元是所述有線通信單元和所述無線通信單元中的另一個。
16. -種被配置為在設(shè)備中操作的處理單元,所述設(shè)備包括作為第一處理單元的所述 處理單元、第二處理單元以及耦合到所述第一處理單元和所述第二處理單元的同步控制 器;所述第一處理單元包括: 時鐘,所述第一處理單元根據(jù)所述時鐘操作,其中所述第二處理單元根據(jù)分離的時鐘 操作;以及 接口,所述第一處理單元經(jīng)由所述接口耦合到所述第二處理單元;其中所述處理單元 被配置為(i)經(jīng)由所述接口向所述第二處理單元發(fā)送周期信號,并且(ii)根據(jù)所述第一時 鐘生成所述第一處理單元向所述第二處理單元發(fā)送所述周期信號的第一時間指示, 其中所述同步控制器被配置為(i)使所述第二處理單元根據(jù)所述第二時鐘生成所述 第二處理單元接收所述周期信號的第二時間指示,并且(ii)基于所述第一時間指示和所 述第二時間指示生成同步參數(shù)。
17. 根據(jù)權(quán)利要求16所述的處理單元,其中所述接口包括以下之一 :(i)通用輸入/輸 出(GPI0)管腳、(ii)外圍部件互連快速(PCIE)端口或者(iii)安全數(shù)字輸入輸出(SDIS) 槽。
18. 根據(jù)權(quán)利要求16所述的處理單元,其中所述周期信號是脈沖。
19. 根據(jù)權(quán)利要求16所述的處理單元,其中所述同步參數(shù)包括至少以下之一 :(i)在所 述第一處理單元的所述時鐘和所述第二處理單元的所述時鐘之間的偏移以及(ii)在所述 第一處理單元的所述時鐘和所述第二處理單元的所述時鐘之間的頻率差值。
20. 根據(jù)權(quán)利要求16所述的處理單元,其中: 所述第一處理單元是以下之一 :(i)被配置為經(jīng)由有線通信鏈路接收和發(fā)送數(shù)據(jù)的有 線通信單元以及(ii)被配置為經(jīng)由無線通信鏈路接收和發(fā)送數(shù)據(jù)的無線通信單元,并且 所述第二處理單元是所述有線通信單元和所述無線通信單元中的另一個。
【文檔編號】H04J3/06GK104115432SQ201380009147
【公開日】2014年10月22日 申請日期:2013年1月4日 優(yōu)先權(quán)日:2012年1月4日
【發(fā)明者】R·巴內(nèi)爾耶, D·潘內(nèi)爾, K·K·霍, K·揚, 于茂 申請人:馬維爾國際貿(mào)易有限公司