適用前向糾錯的通信鏈路性能分析器的製作方法
2023-05-31 02:47:36 1

本申請要求2015年12月1日提交的、發明人為Junqing Sun和Haoli Qian、名稱為「Communications Link Performance Analyzer that Accommodates Forward Error Correctoin(適用前向糾錯的通信鏈路性能分析器)」的美國臨時申請No.62/261,648的優先權,此申請在此通過引用整體併入本文。
背景技術:
隨著數字數據處理技術繼續改善,對更高數據傳輸率的需求也繼續增加。例如,IEEE 25千兆比特乙太網標準IEEE 802.3by提供高於25千兆比特/秒的單-通道比特率。由於物理介質和矽基收發機電路的性能限制,實現此類高數據率是非常具有挑戰性的。這一挑戰導致了專用目的、高速串行器和解串行器(「SerDes」)集成電路(「IC」)模塊的發展,所述專用目的、高速串行器和解串行器集成電路模塊將並行的、片上比特流轉換為多個千兆比特/秒的串行比特流以用於片外通信,並且再次返回到接收端。此類SerDes模塊可用於合併到聯網和接口設備製造商的IC設計中。
由於幹擾,高速率串行比特流信號相比典型的目標值(例如,10-12)可能遭受相對高的比特誤差率(例如,10-5)。前向糾錯(FEC)提供了能夠實現目標誤差率的許多代碼以及編碼技術,但是SerDes模塊的製造者典型地不能夠為此類模塊的用戶指定編碼要求。此外,他們可能在他們指定物理通信鏈路的最小性能特性的能力方面受限。這一情況以及用於鏈路和FEC代碼的大量配置參數一起可能使得SerDes模塊的潛在用戶難以判斷它們的合適性。
技術實現要素:
上述問題至少部分地通過所公開的適用FEC的通信鏈路性能分析器方法和模塊得以解決。在至少一些實施例中,用於表徵通信鏈路性能的方法包括:
(A)跨物理通信鏈路傳輸預定的比特流以產生接收信號;(B)利用接收機從所述接收信號中導出所接收的比特流,所述接收機包括嵌入的調試模塊,所述調試模塊具有:(1)比特計數器,將所接收的比特流分割為碼元和幀;(2)誤差計數器,確定每一個幀的碼元誤差計數;以及(3)聚合器,從所述碼元誤差計數中獲取至少一個與性能相關的統計;以及(C)基於所述至少一個與性能相關的統計來生成性能測量。
一種說明性接收機實施例可能包括:(A)接收鏈,從接收信號導出所接收的比特流;(B)調試模塊,所述調試模塊具有:(1)比較器,將所接收的比特流與預定的比特流比較以提供誤差比特流;(2)門,將來自所述誤差比特流的所選擇的比特傳到碼元誤差檢測器;(3)碼元誤差計數器,耦合到所述碼元誤差檢測器以確定每一個幀的碼元誤差計數;(4)聚合器,耦合到所述碼元誤差計數器以從所述碼元誤差計數中獲得至少一個與性能相關的統計;以及(5)比特計數器,利用比特選擇信號、碼元時鐘信號和幀時鐘信號中的一個或多個來驅動所述門、所述碼元誤差檢測器、所述碼元誤差計數器和所述聚合器;以及(C)接口,將所述至少一個與性能相關的統計提供給系統,以便基於所述至少一個與性能相關的統計來顯示性能測量。
碼元可各自都包括來自所接收的比特流的交織的比特。物理通信鏈路可包括多個通信通道,並且性能測量基於對所有通道的與性能相關的統計。在前述實施例中,所述至少一個與性能相關的統計可以是幀計數相對於碼元誤差計數的柱狀圖的一部分。所述性能測量可以是例如,碼元誤差計數超過前向糾錯(FEC)代碼的校正能力的比率(也稱為分組丟失率或幀丟失率)。其他合適的性能測量可以是每幀的碼元誤差的概率分布、(在FEC之前或之後的)碼元誤差率、多個碼元誤差或者丟失的幀之間的平均時間、或者可用作比較不同的通信鏈路或通信鏈路的元件的基礎的任何其他值。
附圖說明
在附圖中:
圖1示出了跨通信鏈路的通信的說明性模塊化方式;
圖2示出在發送設備與接收設備之間的示意性物理鏈路的使用;
圖3示出說明性鏈路性能分析器模塊;
圖4示出說明性柱狀圖;以及
圖5示出說明性性能分析方法。
然而,應當理解,附圖中給出的特定實施例以及對這些特定實施例的詳細描述並不限制本公開。相反地,它們為本領域技術人員提供認識替代形式、等效方案和修改的基礎,所述替代形式、等效方案和修改與給出實施例中的一個或多個實施例一起被涵蓋在所附權利要求書的範圍中。
具體實施方式
各種通信標準採用指定通信鏈路協議的模塊化方式。圖1是一種此類通信鏈路協議的示意圖。從第一設備104中的數據源102到第二設備108中的數據接收機(sink)106的前向路徑100採用物理通信鏈路110,如同從第二設備108中的數據源112到在第一設備中的數據接收機116的返迴路徑111一樣。該標準提供協議的層次結構,該協議的層次結構可由每一個設備使用來合適地採用物理通信鏈路110,同時提供標準特徵,所述標準特徵例如,分配的設備地址、通信信道、消息路由、遞送保證、目的地強加的速率限制、可靠性等級、期望的數據傳輸率、以及對事務等待時間(latency)的限制。
緊接著物理通信鏈路110的是由SerDes模塊實現的協議層,即,「信令協議」。發送設備中的SerDes模塊每次一個字符地接受數據流。所述字符可以是字節、字或者二進位數據的某個其他任意的固定長度片段。數據流包括用於糾錯的成幀(framing)和冗餘,並且可能進一步包括用於將定時信息嵌入到數據流中的信道編碼。SerDes模塊將數據流轉換為傳輸比特流,所述傳輸比特流作為經調製的信號跨物理鏈路被傳送。
接收設備中的SerDes模塊接收經調製信號的潛在受損的版本,下文中稱之為接收信號。SerDes模塊從該接收信號導出接收比特流並且將接收比特流轉換為對應的數據流,供由接收設備的實現更高協議層的其他部件處理。
如在背景技術中所提及,此分層式方式可能在評估SerDes模塊的性能時產生困難,進而當問題在通信鏈路中產生時可能使故障查找過程複雜化。
附圖2示出經由物理通信鏈路110耦合的說明性第一設備201和說明性第二設備202的多個部分。在第一設備201中,多路復用器204將比特流供應至驅動器206,所述驅動器206將比特流轉換為經調製的光、電或電磁信號以便跨物理通信鏈路110傳輸。基於調試信號的狀態,多路復用器204在以下兩者之間進行選擇:根據通信協議層次結構中的較高層而準備的傳輸流(「普通」模式);以及預先確定的比特流(「調試」模式)。在示出的實施例中,由偽隨機二進位序列(PRBS)生成器208供應該預先確定的比特流。此類PRBS生成器在文獻中是已知的,並且被高效地實現為配置成用於產生最大長度序列(即,對於m-比特移位寄存器,長度2m-1的序列)的線性-反饋移位寄存器。
由於物理通信鏈路110將經調製的信號傳輸到第二設備202,因此它除了引入依賴於頻率的衰減和相位延遲之外,還引入噪聲。檢測器和/或低噪聲放大器210被耦合到物理通信鏈路110,從而提供模擬電氣形式的接收信號。反混疊(anti-aliasing)濾波器212以及模-數轉換器214將模擬接收信號轉換為數字形式。(在模擬接收機的實施例中,部件212被省略,並且比特流可在模擬域中被恢復。)在數字域中,接收信號可由數字濾波器216均衡化,並且由解調器218解調為接收比特流。解調器218可採取例如以下形式:比較器、決定反饋均衡器或最大似然序列估計器。定時恢復模塊220可基於數字濾波器216和解調器218的輸出來生成用於模-數轉換器214的樣本時鐘。自適應增益控制濾波器22可提供反饋信號,以便於基於模-數轉換器214的輸出來控制低噪聲放大器210的增益。
注意,比特流典型地在SerDes模塊中被並行化,使得示出的接收比特流可以在並行總線上攜帶。
對於雙向通信,第一和第二設備中的每一個設備將具有用於發送經調製的信號的部件以及用於解調所接收信號的部件。在物理鏈路110包括多個通信通道的情況下,示出的部件可能被複製用於每一個通道。注意,部件210-222僅示出一個接收鏈(receive chain)實施例。實際的實現方式可能包括附加的複雜性,諸如,近似、並行化、信道訓練以及係數自適應。由此,期望給第一和第二設備裝配調試模塊以用於故障查找目的。
調試模塊優選地被設計為用於利用或不利用FEC來促進對通信鏈路的性能分析。圖3示出調試接口302,此調試接口302耦合至說明性調試模塊部件306-330,所述說明性調試模塊部件306-330被嵌入在多個通信通道304中的每一個的接收機電路中。經由調試接口302,外部測試器能夠設置調試模塊中的寄存器,從而控制電路的操作並檢索信號狀態以及例如當滿足某些觸發條件時可捕獲的其他測量。
可利用本地PRBS生成器306來生成預定比特流的本地副本。調試模塊可使用各種技術將本地生成器306同步至遠程生成器208。例如,在PRBS生成器採用具有線性反饋的m-比特移位寄存器的情況下,可通過向移位寄存器加載來自接收比特流的m個連續的比特來實現同步。只要這些比特是正確的,本地生成器306就將產生預定比特流的本地副本。如果針對後續幀測量的誤差率超過閾值(例如,10-1),則同步嘗試可被視為失敗,並且重複同步過程直到測量誤差率落入到低於閾值為止。
接收比特流和預定比特流的本地副本以及任何其他期望的診斷信號(例如,在定時恢復模塊中的相位誤差)通過對應的延時緩衝器308,從而為生成觸發信號提供充足的機會。如果觸發信號發生,則調試存儲器310捕獲接收比特流,預定比特流的本地副本以及其他診斷信號。通過調試接口302設置多路復用器330,以便將(來自檢測器320的)碼元誤差信號或來自另一源的誤差條件信號選為將用作數據捕獲信號的觸發信號。如同觸發信號那樣,每一個觸發事件捕獲的數據的量可也可以是可配置參數,此可配置參數經由調試接口302被設置為寄存器值。調試接口302進一步警告測試器,使得被捕獲的數據能夠由測試器檢索,以便進行基於軟體的分析。
比較器312將接收比特流與預定比特流的本地副本比較,從而每當在比特流之間存在失配時就斷言誤差信號。在比特流被攜帶在並行總線上的情況下,比較器312表示一組比較器,每一個比較器都可操作用於將來自接收比特流總線的比特線與來自預定比特流總線的相應的比特線進行比較。
當斷言了調試信號時,比特計數器314對接收比特流中的比特進行計數,從而生成門控信號316以便任選地將交織考慮在內。對於碼元中的每一個比特斷言門控信號316,並且對於碼元跨度內可能發生的其他比特解除斷言門控信號316。比特計數器進一步生成碼元邊界信號322以及幀邊界信號326。交織程度(即,多個碼元比特之間的其他比特的數量),碼元長度(即,每個碼元的比特數量)以及幀長度(即,每一個幀的碼元數量)各自都是優選地經由調試接口302可配置的。
上文參考的交織可以採取各種形式,包括來自跨多個通信通道的多個FEC編碼器的FEC編碼的數據流的交織。用於每一個通道的門控信號316可經設置以僅選擇那個通道中源自所選擇的FEC編碼器的碼元。噹噹為每一個通道聚集的誤差統計被合併在一起時,儘管所選擇的FEC編碼器使其經編碼的碼元跨多個通信通道分布,但是可評估所選擇的FEC編碼器的性能。
「AND」(「與」)邏輯門318將門控信號316與來自比較器312的誤差信號組合以形成經門控的誤差信號,所述經門控的誤差信號在誤差存在於所選擇的碼元的比特中時被斷言。誤差檢測器320接收經門控的誤差信號,從此經門控的誤差信號中導出碼元誤差信號,每當在碼元的比特中的任何比特中檢測到誤差,碼元誤差信號就被斷言。對於串行比特流,誤差檢測器320可實現為S-R觸發器(S-R flip flop),當經門控的誤差信號被斷言時,所述S-R觸發器被置位,並且在新的碼元開始之前,所述S-R觸發器由碼元邊界信號322重置。對於並行化的比特流,可採用一組OR(「或」)門來合成來自並行的經門控的誤差信號的碼元誤差信號。在一些實施例中,碼元邊界可以是固定的,例如,並行的接收比特流的每一個循環被假定為表示一個碼元。
碼元誤差計數器324對每一幀中檢測到的碼元誤差的數量進行計數。當碼元邊界信號322被斷言時,如果碼元誤差信號被斷言或以其他方式保持相同,則碼元誤差計數器324遞增。在新的幀開始之前,幀邊界信號326重置計數器324。來自計數器324的碼元誤差計數用於:當幀邊界信號326被斷言時,遞增誤差柱狀圖模塊328中的寄存器。在一些實施例中,誤差柱狀圖模塊328包括十五個寄存器,每一個寄存器對應於幀中的0、1、2、3、…、13或者14個碼元誤差中的一個。每當誤差計數超過幀中14個碼元誤差時,可遞增第十六個寄存器。以這種方式,柱狀圖模塊對具有對應數量的碼元誤差的幀的數量進行計數。優選地遞增寄存器而無需反轉(rollover)。寄存器內容優選地是可檢索的以便經由調試接口302進行軟體分析。
圖4示出說明性碼元誤差柱狀圖,所述碼元誤差柱狀圖具有沿水平軸的16個箱體(bin),並且第一個箱體對應於零個碼元誤差,而第十六個箱體對應於15個或更多個碼元誤差。豎直軸示出在經修改的對數刻度(計數加一的對數)上的每一個箱體中的所計數的幀的數量。因此,以箱體2至16的加權和除以箱體1中的計數來確定FEC前碼元誤差率(pre-FEC symbol error rate)是可能的。
圖4還示出可校正性閾值T,其通過FEC代碼的選擇來設置。在圖4中,可校正性閾值T是可由FEC在幀中校正的碼元誤差的最大數量。如果更多的碼元誤差發生,則幀不能被校正,並且碼元誤差保持未校正,從而潛在地導致數據丟失。因此,以高於T+1的箱體的加權和除以箱體1至T中所計數的幀的總數來確定FEC後碼元誤差率(post-FEC symbol error rate)是可能的。
如果設計者認為柱狀圖寄存器將需要過多的晶片區域,則可校正性閾值T可以供應至調試模塊,使得其能夠將每一個幀的碼元誤差計數與T比較,並且直接對FEC後碼元誤差和幀丟失計數進行計數。也可直接對FEC前碼元誤差率和總幀計數進行計數。當調試模塊具有對可校正性閾值T的訪問權時,其能夠進一步生成偽-FEC解碼的比特流,所述偽-FEC解碼的比特流具有PRBS數據的幀(其中,碼元誤差計數小於或等於T),並且具有(受損的)接收比特流的幀(其中,碼元誤差計數超過可校正性閾值)。在此類實施例中,經偽解碼的比特流任選地可由調試存儲器捕獲。
然而,柱狀圖模塊的優點在於,它能夠實現一系列FEC代碼的性能比較。此外,柱狀圖能夠實現待公式化的誤差統計的較好的模型。例如,柱狀圖可揭示誤差傳播傾向或者在接收鏈中的其他不足。
鑑於前述原理和技術,圖5示出用於表徵通信鏈路性能的說明性方法。物理通信鏈路將第一設備與第二設備連接(或者,在一些測試情況下,第一設備的發射機被耦合至「環回(loopback)」電路中的第一設備的接收機)。在框502中,測試系統將發射機置於調試模式,使得此發射機開始發送預定的比特流。預定的比特流併入成幀信息,編碼,或者來自通信協議層次結構的較高層級的任何信息不是必要的。
在框504中,測試系統重置接收機的調試模塊中的各種計數器和柱狀圖寄存器。在框506中,測試系統設置針對比特交織的各種參數,柱狀圖箱體寬度,碼元長度,幀長度、用於數據捕獲的觸發器條件以及任何其他合適的參數。測試系統進一步將本地PRBS生成器與接收比特流同步。
在框508中,測試系統啟用調試模塊,使得所述調試模塊開始檢測碼元誤差並對碼元誤差計數,並且累積誤差柱狀圖。為每一個通信通道執行框504-508。在框510中,在經歷可執行有意義的性能分析的足夠的時間之後(例如,在已傳輸至少1013個碼元之後,其中,期望的碼元誤差率為10-12或更小),測試系統為每一個通道收集柱狀圖。在框512中,測試系統從單個通道柱狀圖中導出多通道性能數據。在一些實施例中,此類性能數據僅是通過對來自單通道的柱狀圖對應箱體求和而獲得的柱狀圖。
在框514中,計算並存儲FEC前和FEC後碼元誤差率。也可導出其他基於統計的性能測量,包括例如,分組丟失率(packet loss rate)以及導致失敗分組的平均時間。在框516中,可改變一個或多個測試參數,並且可按需重複框502-514,以便映射出碼元誤差率相對於測試參數的依賴關係。此類測試參數可包括鏈路的物理長度、交織程度、碼元長度、幀長度、可校正性閾值、濾波器訓練策略,等等。
在框518中,測試系統生成性能測量結果的可視表示,並且將此可視表示顯示給用戶以進行分析。此類性能測試可使用戶能夠判定是否具有接收鏈中具有硬體錯誤、故障的接收信道或應當支持通信協議層次結構的較高層的操作的有效的物理鏈路。用戶可基於所測量的依賴關係來選擇合適的通信參數值,或者可動態地優化該參數值或調整參數值以滿足要求。
一旦完全理解上述公開內容,各種修改、等效方案和替代方案對於本領域技術人員來說將變得顯而易見。所附權利要求書旨在被解讀為在適用的情況下涵蓋所有此類修改、等效方案和替代方案。