專利名稱:一種高速信號測試方法、裝置和系統的制作方法
技術領域:
本發明涉及通信技術領域,具體涉及一種高速信號測試方法、裝置和系統。
背景技術:
當前現有的高速信號互連系統中,有兩種數據信號采樣模式(1)使用隨路時鐘進行數據采樣,如英特爾(Intel)的中央處理器(CPU,Central Processing Unit) <->CPU 互連系統的快速通道互聯(QPI,Quick PathInterconnect)傳輸模式;(2)使用時鐘數據恢復(CDR,Clock and Data Recovery)工作方式進行數據采樣, 如賽靈思(Xilinx)的現場可編程門陣列(FPGA,Field-ProgrammableGate Array) <->FPGA 互連系統的^rDes傳輸模式。以上這兩種數據信號采樣模式都有各自比較完善的高速信號測試方案,但針對將上述兩種不同的數據信號采樣模式應用在同一高速互連系統中的場景,如CPU<->FPGA,目前則沒有一種可用的高速信號測試方案。
發明內容
本發明實施例提供一種高速信號測試方法、裝置和系統,可以適用于采用了不同的數據信號采樣模式的高速互連系統。一種高速信號測試方法,包括初始化第一器件的發送端參數和第二器件的接收端參數,或者,初始化第二器件的發送端參數和第一器件的接收端參數,并進行環回誤碼率測試,得到環回測試結果;若環回測試結果表明從第一器件到第二器件方向的信號的誤碼率不滿足預置要求時,進行從第一器件到第二器件方向的信號質量和誤碼率測試;若環回測試結果表明從第二器件到第一器件方向的信號的誤碼率不滿足預置要求時,進行從第二器件到第一器件方向的信號質量和誤碼率測試;其中,第一器件使用隨路時鐘采樣模式進行數據采樣,第二器件使用CDR采樣模式進行數據采樣。一種高速信號測試裝置,包括環回測試單元,用于初始化第一器件的發送端參數和第二器件的接收端參數,或者,初始化第二器件的發送端參數和第一器件的接收端參數,并進行環回誤碼率測試,得到環回測試結果;其中,第一器件使用隨路時鐘采樣模式進行數據采樣,第二器件使用CDR采樣模式進行數據采樣;第一單向測試單元,用于在環回測試結果表明從第一器件到第二器件方向的信號的誤碼率不滿足預置要求時,進行從第一器件到第二器件方向的信號質量和誤碼率測試;第二單向測試單元,用于在環回測試結果表明從第二器件到第一器件方向的信號的誤碼率不滿足預置要求時,進行從第二器件到第一器件方向的信號質量和誤碼率測試。
一種通信系統,包括本發明實施例提供的任一種高速信號測試裝置。本發明實施例采用通過對使用隨路時鐘采樣模式進行數據采樣的第一器件和使用CDR采樣模式進行數據采樣的第二器件進行環回誤碼率測試,若發現從第一器件到第二器件方向的誤碼率不滿足要求,則進一步進行從第一器件到第二器件方向的信號質量和誤碼率測試,若發現從第二器件到第一器件方向的誤碼率不滿足要求,則進一步進行從第二器件到第一器件方向的信號質量和誤碼率測試,該方案可以適用于不同數據信號采樣模式應用在同一高速互連系統的場景。
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖Ia是本發明實施例提供的高速信號測試方法的方法流程圖;圖Ib是環回誤碼率測試的示意圖;圖2是ASIC和FPGA之間進行高速串行互連的場景示意圖;圖3是本發明實施例中電源和輸入時鐘信號質量測試的流程圖;圖4是本發明實施例提供的高速信號測試方法的另一方法流程圖;圖fe是本發明實施例中FPGA- > ASIC方向的信號質量測試的流程圖;圖恥是本發明實施例中FPGA- > ASIC方向的誤碼率測試的流程圖;圖6a是本發明實施例中ASIC- > FPGA方向的信號質量測試的流程圖;圖6b是本發明實施例中ASIC- > FPGA方向的誤碼率測試的流程圖;圖7是本發明實施例提供的高速信號測試裝置的結構示意圖。
具體實施例方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例?;诒景l明中的實施例,本領域技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。本發明實施例提供一種高速信號測試方法、裝置和系統。以下分別進行詳細說明。實施例一、本實施例將從高速信號測試裝置的角度進行描述。一種高速信號測試方法,適用于第一器件和第二器件之間的高速串行互連鏈路測試,包括初始化第一器件的發送端參數和第二器件的接收端參數,或者,初始化第二器件的發送端參數和第一器件的接收端參數,并進行環回(Loopback)誤碼率測試,得到環回測試結果;若環回測試結果表明從第一器件到第二器件方向的信號的誤碼率不滿足預置要求時,進行從第一器件到第二器件方向的信號質量和誤碼率測試;若環回測試結果表明從第二器件到第一器件方向的信號的誤碼率不滿足預置要求時,進行從第二器件到第一器件方向的信號質量和誤碼率測試;
其中,第一器件使用隨路時鐘采樣模式進行數據采樣,第二器件使用CDR采樣模式進行數據采樣。該第一器件具體可以為專門目的而設計的集成電路(ASIC,AppliCati0n Specific Integrated Circuit)或者其他使用隨路時鐘采樣模式進行數據采樣設備,第二器件具體可以為現場可編程門陣列(FPGA,Field Programmable Gate Array)或者其他使用CDR采樣模式進行數據采樣設備。參見圖la,具體流程可以如下101、初始化第一器件的發送端參數和接收端參數,以及初始化第二器件的發送端參數和接收端參數,并進行環回誤碼率測試,得到環回測試結果;若環回測試結果表明從第一器件到第二器件方向的信號的誤碼率不滿足預置要求時,則執行步驟102 ;若環回測試結果表明從第二器件到第一器件方向的信號的誤碼率不滿足預置要求時,則執行步驟103 ; 例如,具體可以如下將第一器件的發送端參數和第二器件的接收端參數設置為初始值(即默認值), 然后由第一器件發送測試碼流給第二器件,進行環回誤碼率測試,得到環回測試結果;或者,將第二器件的發送端參數和第一器件的接收端參數設置為初始值(即默認值), 然后由第二器件發送測試碼流給第二器件,進行環回誤碼率測試,得到環回測試結果。其中,環回誤碼率測試具體可參見現有技術,比如,如果是以第一器件為起點的話,則該環回誤碼率測試為由第一器件發送測試碼流給第二器件,然后由第二器件將測試碼流轉發回第一器件;或者,如果是以第二器件為起點的話,則該環回誤碼率測試為由第二器件發送測試碼流給第一器件,然后由第一器件將測試碼流轉發回第二器件。需說明的是,在進行環回測試時,在第一器件和第二器件中都需要進行誤碼率統計(Error counter),以第一器件為ASIC,第二器件為FPGA為例,參見圖lb,當ASIC發送測試碼流給FPGA時,FPGA進行誤碼率統計,然后FPGA再將測試碼流轉發給ASIC,此時ASIC 也會進行誤碼率統計;或者,當FPGA發送測試碼流給ASIC時,ASIC進行誤碼率統計,然后 ASIC再將測試碼流轉發給FPGA,此時FPGA也會進行誤碼率統計。其中,第一器件使用隨路時鐘采樣模式進行數據采樣,第二器件使用CDR采樣模式進行數據采樣。此外,需說明的是,本發明所有實施例中所提及的預置要求具體可以根據實際場景進行設置,此后不再贅述。102、在環回測試結果表明從第一器件到第二器件方向的信號的誤碼率不滿足預置要求時,進行從第一器件到第二器件方向的信號質量和誤碼率測試;例如,具體可以如下(1)設置第一器件的發送端參數和第二器件的接收端參數;比如,可以將第一器件的發送端參數和第二器件的接收端參數都設置為初始值, 即默認值。(2)由第一器件發送測試碼流給第二器件,以進行信號質量測試;比如,第一器件可以發送PRBS23碼流給第二器件。(3)確定測試碼流的信號質量是否滿足預置要求;
若信號質量滿足預置要求,則將當前的第一器件的發送端參數,以及對應的第二器件的接收端參數作為一組參數組合,然后調整第二器件的接收端參數,返回執行確定測試碼流的信號質量是否滿足預置要求步驟;若信號質量不滿足預置要求,則判斷是否遍歷完第一器件中所有的發送端參數;若已遍歷完,則選擇信號質量最優的發送端參數,以及對應的第二器件的接收端參數作為一組參數組合,然后調整第二器件的接收端參數,返回執行確定測試碼流的信號質量是否滿足預置要求步驟;若尚未遍歷完,則保持第二器件的接收端參數不變,調整第一器件的發送端參數, 返回執行確定測試碼流的信號質量是否滿足預置要求的步驟。也就是說,在得到當前第二器件的接收端參數所對應的信號質量最優的第一器件的發送端參數之后,還需要調整第二器件的接收端參數,重復上述步驟(即步驟C3)),以確定該調整后第二器件的接收端參數所對應的信號質量最優的第一器件的發送端參數,直至遍歷完第二器件中的所有的接收端參數。這是因為,第一器件可能具有多組發送端參數,而第二器件也可能存在多組接收端參數,但是,并不知哪一組發送端參數對應哪一組接收端參數,可以得到好的信號質量, 所以,可以通過在第二器件的接收端中觀察信號質量,然后調整第一器件中的發送端參數, 來選擇當前接收端參數最匹配(即可以得到最好的信號質量)的發送端參數。其中,在本發明實施例中,將該最匹配的第二器件的接收端參數和第一器件的發送端參數稱為參數組合。(4)根據參數組合進行誤碼率測試。例如,具體可以如下從所有參數組合中選擇一組作為當前參數組合;根據該當前參數組合設置第一器件的發送端參數和第二器件的接收端參數;由第一器件發送測試碼流給第二器件,并由第二器件掃描采樣窗口寬度;判斷是否遍歷完所有參數組合,若尚未遍歷完,則選擇下一組參數組合作為當前參數組合,返回執行根據當前參數組合設置第一器件的發送端參數和第二器件的接收端參數的步驟;若已遍歷完畢,則選擇采樣窗口寬度最大的N組參數組合進行長時間誤碼率測試,若誤碼率滿足預置要求,則從第一器件到第二器件方向的測試結束,若誤碼率不滿足預置要求,則表明需要優化從第一器件到第二器件的鏈路信號質量。需說明的是,其中,N為大于1的正整數,N的具體取值可以根據實際應用的需求進行設置,比如,如果N為3,則第二器件可以將掃描得到的采樣窗口寬度按從大到小的順序進行排序,然后取排序靠前的前三個采樣窗口寬度所對應的參數組合作為進行長時間誤碼率測試的參數組合,以此類推,等等。103、在環回測試結果表明從第二器件到第一器件方向的信號的誤碼率不滿足預置要求時,進行從第二器件到第一器件方向的信號質量和誤碼率測試。例如,具體可以如下(1)將第一器件的接收端參數設置為初始值(即默認值),以及設置第二器件的發送端參數;比如,可以將第一器件的發送端參數和第二器件的接收端參數都設置為初始值, 即默認值。(2)由第二器件發送測試碼流給第一器件,以進行信號質量測試;
比如,第二器件可以發送PRBS23碼流給第一器件。(3)確定測試碼流的信號質量是否滿足預置要求;若信號質量滿足預置要求,則將當前的第二器件的發送端參數作為信號質量最優的發送端參數,根據信號質量最優的發送端參數進行誤碼率測試;若信號質量不滿足預置要求,則判斷是否遍歷完第二器件中所有的發送端參數;若已遍歷完,則在確定第一器件具有用于對線路損失進行補償的均衡參數時,選擇信號質量最優的發送端參數,根據該信號質量最優的發送端參數進行誤碼率測試;若尚未遍歷完,則保持第一器件的接收端參數不變,調整第二器件的發送端參數, 返回執行確定測試碼流的信號質量是否滿足預置要求的步驟。由于第一器件的接收端參數不一定可以進行調整,所以與步驟102中不同的是, 此時并不需要遍歷第一器件中的所有接收端參數,而是僅僅只需確定當前的第一器件的接收端參數所對應的信號質量最優的第二器件的發送端參數即可。(4)在確定第一器件具有用于對線路損失進行補償的均衡參數時,根據該信號質量最優的發送端參數進行誤碼率測試。例如,具體可以如下將得到的信號質量最優的發送端參數設置為第二器件的發送端參數,將第一器件的接收端參數設置為初始值;由第二器件發送測試碼流給第一器件,以進行誤碼率測試,若誤碼率符合預置要求,則從第二器件到第一器件方向的測試結束;若誤碼率不符合預置要求,則在確定第一器件的接收端參數能夠進行調整時,遍歷第一器件中的所有接收端參數, 返回執行進行誤碼率測試步驟;若遍歷完第一器件中的所有接收端參數后,誤碼率仍不符合預置要求,則表明需要優化從第二器件到第一器件的鏈路信號質量。需說明的是,如果確定第一器件不具有用于對線路損失進行補償的均衡參數,則表明需要優化從第二器件到第一器件的鏈路信號質量。此外,還需說明的是,在步驟101之前,還需要對第一器件的電源和輸入時鐘信號質量,以及第二器件的電源和輸入時鐘信號質量進行測試,在確定第一器件的電源和輸入時鐘信號質量,以及第二器件的電源和輸入時鐘信號質量符合要求時,才執行步驟101。其中,電源和輸入時鐘信號質量的測試具體可參見現有技術,在此不再贅述。由上可知,本實施例采用通過對使用隨路時鐘采樣模式進行數據采樣的第一器件和使用CDR采樣模式進行數據采樣的第二器件進行環回誤碼率測試,若發現從第一器件到第二器件方向的誤碼率不滿足要求,則進一步進行從第一器件到第二器件方向的信號質量和誤碼率測試,若發現從第二器件到第一器件方向的誤碼率不滿足要求,則進一步進行從第二器件到第一器件方向的信號質量和誤碼率測試,該方案可以適用于不同數據信號采樣模式應用在同一高速互連系統的場景。實施例二、根據實施例一所描述的方法,以下將舉例作進一步詳細說明。在本實施例中,將以第一器件具體為ASIC,第二器件具體為FPGA為例進行說明。如圖2所示,該圖為ASIC和FPGA之間進行高速串行互連的場景示意圖,其中, ASIC接收時鐘發生鏈路發送的CPU系統輸入時鐘,并使用隨路時鐘采樣模式進行數據采樣,而FPGA則接收時鐘發生鏈路發送的FPGA系統輸入時鐘,并使用CDR采樣模式進行數據采樣。在該場景下所進行的高速信號測試方法具體可以如下
首先,需要對ASIC的電源和輸入時鐘信號質量,以及FPGA的電源和輸入時鐘信號質量進行測試,參見圖3,具體可以如下201、高速信號測試裝置對ASIC的供電和FPGA的供電進行測試,若供電均符合要求,則執行步驟A202,若有一方以上的供電不符合要求,比如ASIC的供電不符合要求,或 FPGA的供電不符合要求,或ASIC和FPGA的供電均不符合要求,則表明需要解決電源問題, 在解決了電源問題之后,再返回執行對ASIC的供電和FPGA的供電進行測試的步驟。202、高速信號測試裝置對ASIC的輸入時鐘信號質量和FPGA的輸入時鐘信號質量進行測試,若輸入時鐘信號質量均符合要求,則表明電源和輸入時鐘信號質量的測試完畢, 流程結束,若有一方以上的輸入時鐘信號質量不符合要求,比如ASIC的輸入時鐘信號質量不符合要求,或FPGA的輸入時鐘信號質量不符合要求,或ASIC和FPGA的輸入時鐘信號質量均不符合要求,則表明需要解決輸入時鐘的信號質量問題,在解決了輸入時鐘的信號質量問題之后,返回執行對ASIC的輸入時鐘信號質量和FPGA的輸入時鐘信號質量進行測試的步驟。其中,電源問題和輸入時鐘信號質量問題的解決方法具體可參見現有技術,在此不再贅述。在解決了 ASIC和FPGA的供電問題和輸入時鐘信號質量問題之后,就可以開始測試ASIC和FPGA之間的數據通道的數據傳輸可靠性。參見圖4,具體流程可以如下301、高速信號測試裝置初始化ASIC的發送端參數和接收端參數,以及初始化 FPGA的發送端參數與接收端參數,并進行環回誤碼率測試,得到環回測試結果,以定位 ASIC和FPGA之間的高速信號鏈路上哪個方向的信號質量存在致命缺陷,導致誤碼率的增加。如果環回測試結果表明從FPGA到ASIC方向(即FPGA- > ASIC)的信號的誤碼率不滿足預置要求,則表明需要對從FPGA到ASIC方向的信號進行信號質量測試和誤碼率測試,于是執行步驟302。如果環回測試結果表明從ASIC到FPGA方向(即ASIC- > FPGA)的信號的誤碼率不滿足預置要求,則表明需要對從ASIC到FPGA方向的信號進行信號質量測試和誤碼率測試,于是執行步驟303。如果兩個方向(即ASIC- > FPGA和FPGA- > ASIC)的誤碼率測試都滿足要求,則表明當前的ASIC發送端參數和接收端參數,以及FPGA的發送端參數與接收端參數均可使用。302、當確認FPGA- > ASIC方向上誤碼率過高時,說明FPGA發送的高速數據信號的信號質量過差,比如眼高過窄,眼寬過小等,此時可以進行FPGA-> ASIC方向的信號質量和誤碼率測試,以調整FPGA的發送端參數和ASIC的接收端參數。需說明的是,高速串行信號一般測試眼圖,信號質量好壞主要取決于眼高、眼寬、 RJ, DJ以及在某一誤碼率下的TJ,因為ASIC采用隨路時鐘采樣模式,所以其接收信號質量的主要因素為眼高和眼寬,而RJ、DJ及TJ的參數則不是主要影響因素,所以對FPGA-> ASIC方向的誤碼率測試的重點在于FPGA發送端參數的調整,即調整FPGA的預加重及擺幅, 使其輸出的高速數據信號可以滿足ASIC接收要求的眼高及眼寬。也就是說,因為ASIC采用隨路時鐘采樣模式進行數據采樣,所以在滿足眼高、眼寬信號質量要求的前提下,只要保證FPGA發送的隨路時鐘跳變沿在FPGA發送的數據眼寬的中心位置,就可以滿足誤碼率的要求。其中,FPGA- > ASIC方向的信號質量和誤碼率測試具體可以如下(I)FPGA- > ASIC方向的信號質量測試;參見圖5a,FPGA- > ASIC方向的信號質量測試的流程具體可以如下A3021、高速信號測試裝置控制FPGA進入測試模式,初始化FPGA的發送端參數和 ASIC的接收端參數。例如,可以將FPGA的發送端參數設置為默認值,以及將ASIC的接收端參數設置為默認值。A3022、高速信號測試裝置控制FPGA發送適用于ASIC的測試碼流給ASIC,比如, FPGA可以發送PRBS23碼流給ASIC。A3023、利用高速示波器在ASIC的接收端對測試碼流進行測試,并存儲相應的測試數據,然后用ASIC專用的信號質量測試軟件,比如英特爾antel)的信號測試(sigtest) 軟件進行分析,以確定測試碼流的信號質量是否符合預置要求,若信號質量滿足預置要求,則將當前的FPGA的發送端參數作為信號質量最優的FPGA發送端參數,然后執行步驟 A3027 ;若信號質量不滿足預置要求,則執行步驟A3024。需說明的是,如果ASIC沒有專用的測試軟件,比如沒有英特爾的sigtest軟件,那么可以使用高速示波器自帶的信號質量測試軟件進行ASIC接收數據的眼高和眼寬信號質量分析,以確定滿足ASIC接收信號質量要求的FPGA發送端參數。A3024、高速信號測試裝置判斷是否遍歷完FPGA中所有的發送端參數,若已遍歷完,則執行步驟A3035 ;若尚未遍歷完,則執行A3026。A3025、確定ASIC是否具有用于對線路損失進行補償的均衡參數,若是,則在測試過的所有FPGA的發送端參數中選擇信號質量最優的發送端參數,作為信號質量最優的 FPGA發送端參數,然后執行步驟A3027,當然,此時同時也可以優化從FPGA到ASIC的鏈路信號質量;若否,則說明線路硬件有問題,需要優化從FPGA到ASIC的鏈路信號質量。A3026、保持ASIC的接收端參數不變,調整FPGA的發送端參數,返回執行確定測試碼流的信號質量是否滿足預置要求的步驟,即返回執行A3023。A3027、根據信號質量最優的FPGA發送端參數進行誤碼率測試,具體可參見圖恥流程。(2) FPGA- > ASIC方向的誤碼率測試;參見圖5b,FPGA- > ASIC方向的誤碼率測試的流程具體可以如下B302UASIC和FPGA進入測試模式,高速信號測試裝置將FPGA的發送端參數設置為經過上述信號質量測試所得到的信號質量最優的FPGA發送端參數,并將ASIC的接收端參數設置為初始值。B3022、高速信號測試裝置控制FPGA發送測試碼流給ASIC,比如,FPGA可以發送 PRBS23 碼流給 ASIC。B3023、ASIC進行誤碼率統計(Error counter),如果誤碼率滿足預置要求,則從 ASIC- > FPGA方向的測試結束;如果誤碼率不滿足預置要求,則執行步驟B3024。B3024、高速信號測試裝置確定ASIC的接收端參數是否能夠進行調整,若能夠進行調整,則執行步驟B3025,若不能進行調整,則表明需要優化從FPGA到ASIC的鏈路信號質量。B3025、高速信號測試裝置判斷是否已經遍歷完ASIC中的所有接收端參數,若是, 則表明需要優化從FPGA到ASIC的鏈路信號質量,若否,則調整ASIC中的接收端參數,并返回執行進行誤碼率測試步驟,即返回執行步驟B3023。也就是說,在確定ASIC的接收端參數能夠進行調整時,可以遍歷ASIC的接收端參數,如果在遍歷ASIC的接收端參數的過程中,發現某一 ASIC的接收端參數的誤碼率可以滿足預置要求,則該FPGA- > ASIC方向的誤碼率測試可以結束。但是,如果遍歷完第一器件中的所有接收端參數后,誤碼率仍不符合預置要求,則表明需要優化從FPGA到ASIC的鏈路
信號質量。303、當確認ASIC- > FPGA方向上誤碼率過高時,則說明ASIC發送的高速數據信號的信號質量不滿足FPGA的接收要求。此時可以進行ASIC- > FPGA方向的信號質量和誤碼率測試,以調整ASIC的發送端參數和FPGA的接收端參數。需說明的是,因為FPGA采用⑶R數據采樣模式,且FPGA接收端的均衡調整能力很強,所以ASIC-> FPGA單方向信號質量測試,測試重點不在于眼高、眼寬的信號質量要求 (雖然眼高、眼寬的信號質量也要滿足FPGA的接受要求),而是要重點關注RJ、DJ及TJ的參數是否滿足FPGA的接收要求,否則即使ASIC發送數據的眼高、眼寬信號質量滿足FPGA 的接收要求,但如果ASIC發送高速數據的RJ大于FPGA的接收抖動容忍度要求,其ASIC- > FPGA線路上的誤碼率也不能滿足線路要求。其中,ASIC- > FPGA方向的信號質量和誤碼率測試具體可以如下(I)ASIC- > FPGA方向的信號質量測試;參見圖6a,ASIC- > FPGA方向的信號質量測試的流程具體可以如下A3031、高速信號測試裝置控制ASIC進入測試模式,初始化ASIC的發送端參數和 FPGA的接收端參數。例如,可以將ASIC的發送端參數設置為默認值,以及將FPGA的接收端參數設置為默認值。A3032、高速信號測試裝置控制ASIC發送測試碼流,比如PRBS23碼流給FPGA。A3033、利用高速示波器在FPGA的接收端對測試碼流進行測試,并存儲相應的測試數據,然后用高速示波器自帶的信號質量測試軟件對FPGA所接收到的測試數據的眼高和眼寬進行信號質量分析,以確定測試碼流的信號質量是否符合預置要求,若信號質量滿足預置要求,則將當前的ASIC的發送端參數,以及對應的FPGA的接收端參數作為一組參數組合,然后執行步驟A3034 ;若信號質量不滿足預置要求,則執行步驟A3035。A3034、高速信號測試裝置確定FPGA的接收端參數是否已遍歷完,若是,則執行 A3037,若否,則高速信號測試裝置調整FPGA的接收端參數,返回執行確定測試碼流的信號質量是否滿足預置要求步驟,即返回執行步驟A3033 ;A3035、高速信號測試裝置判斷是否遍歷完ASIC中所有的發送端參數,若已遍歷完,則選擇信號質量最優的發送端參數,以及對應的FPGA的接收端參數作為一組參數組合,然后執行步驟A3034 ;若尚未遍歷完,則執行步驟A3036。A3036、保持FPGA的接收端參數不變,調整ASIC的發送端參數,返回執行確定測試碼流的信號質量是否滿足預置要求步驟,即返回執行步驟A3033。A3037、根據得到的參數組合進行誤碼率測試,具體可參見圖6b流程。(2) ASIC- > FPGA方向的誤碼率測試;參見圖6b,ASIC- > FPGA方向的誤碼率測試的流程具體可以如下B3031、ASIC和FPGA進入測試模式,從所有參數組合中選擇一組作為當前參數組合;根據該當前參數組合設置ASIC的發送端參數和FPGA的接收端參數;例如,可以根據硬件仿真或經驗從所有參數組合中選擇一組來設置ASIC發送端的加重參數(例如EQ參數)和FPGA接收端的補償參數(例如EQ參數)。B3032、高速信號測試裝置控制ASIC發送測試碼流,如PRBS23碼流給FPGA。B3033、在FPGA的接收端掃描采樣窗口寬度,遍歷所有參數組合(即前面得到的 ASIC發送端參數和FPGA接收端參數的組合),挑選采樣窗口最大的幾組參數組合進行長時間誤碼率測試,具體可以如下在FPGA的接收端掃描采樣窗口寬度,并判斷是否遍歷完所有參數組合,若否,則選擇下一組參數組合作為當前參數組合,返回執行根據當前參數組合設置ASIC的發送端參數和FPGA的接收端參數的步驟,即返回執行步驟B3031 ;若是,則選擇采樣窗口寬度最大的N組參數組合進行長時間誤碼率測試,參見步驟B3034。其中,這里所說的在FPGA的接收端進行采樣窗口寬度掃描具體采用如下方式首先,要明確ASIC發送的測試碼型,在FPGA內部實現對這種碼型的誤碼檢測,其次,在上層軟件設置可編程器件內部接收模塊的采樣點位置,然后,待測試碼流穩定后,對誤碼檢測模塊清0,并開始計時,測試一段時間,例如1秒后,讀取誤碼檢測模塊的誤碼個數,其中,連續誤碼為0的采樣點個數就是采樣窗口寬度。B3034、根據采樣窗口寬度最大的N組參數組合進行長時間誤碼率測試,若誤碼率滿足預置要求,則ASIC- > FPGA方向的測試結束,若誤碼率不滿足預置要求,則表明需要優化從ASIC到FPGA的鏈路信號質量,其中,N為大于1的正整數,比如,N可以為3、4或5,等寸。由上可知,本實施例采用通過對使用隨路時鐘采樣模式進行數據采樣的ASIC和使用CDR采樣模式進行數據采樣的FPGA進行環回誤碼率測試,若發現從ASIC到FPGA方向的誤碼率不滿足要求,則進一步進行從ASIC到FPGA方向的信號質量和誤碼率測試,若發現從FPGA到ASIC方向的誤碼率不滿足要求,則進一步進行從FPGA到ASIC方向的信號質量和誤碼率測試,該方案可以適用于不同數據信號采樣模式應用在同一高速互連系統的場景。實施例三、為了更好地實施以上方法,本發明實施例還提供一種高速信號測試裝置,如圖7 所示,該高速信號測試裝置包括環回測試單元701、第一單向測試單元702和第二單向測試單元703。環回測試單元701,用于初始化第一器件的發送端參數和第二器件的接收端參數, 或者,初始化第二器件的發送端參數和第一器件的接收端參數,并進行環回誤碼率測試,得到環回測試結果;其中,第一器件使用隨路時鐘采樣模式進行數據采樣,第二器件使用CDR 采樣模式進行數據采樣;例如,具體可以如下環回測試單元701將第一器件的發送端參數和第二器件的接收端參數設置為初
1始值(即默認值),然后由第一器件發送測試碼流給第二器件,進行環回誤碼率測試,得到環回測試結果;或者,環回測試單元701將第二器件的發送端參數和第一器件的接收端參數設置為初始值(即默認值),然后由第二器件發送測試碼流給第二器件,進行環回誤碼率測試,得到環回測試結果。第一單向測試單元702,用于在環回測試結果表明從第一器件到第二器件方向的信號的誤碼率不滿足預置要求時,進行從第一器件到第二器件方向的信號質量和誤碼率測試;第二單向測試單元703,用于在環回測試結果表明從第二器件到第一器件方向的信號的誤碼率不滿足預置要求時,進行從第二器件到第一器件方向的信號質量和誤碼率測
試ο其中,第一單向測試單元702可以包括第一參數設置子單元、第一碼流發送子單元、第一信號質量測試子單元和第一誤碼率測試子單元;第一參數設置子單元,用于設置第一器件的發送端參數和第二器件的接收端參數;比如,可以將第一器件的發送端參數和第二器件的接收端參數都設置為初始值,即默認值。第一碼流發送子單元,用于控制第一器件發送測試碼流,如PRBS23碼流給第二器件,以進行信號質量測試;第一信號質量測試子單元,用于確定測試碼流的信號質量是否滿足預置要求;若信號質量滿足預置要求,則將當前的第一器件的發送端參數,以及對應的第二器件的接收端參數作為一組參數組合,然后調整第二器件的接收端參數,返回執行確定測試碼流的信號質量是否滿足預置要求步驟;若信號質量不滿足預置要求,則判斷是否遍歷完第一器件中所有的發送端參數,若已遍歷完,則選擇信號質量最優的發送端參數,以及對應的第二器件的接收端參數作為一組參數組合,然后調整第二器件的接收端參數,返回執行確定測試碼流的信號質量是否滿足預置要求步驟;若尚未遍歷完,則保持第二器件的接收端參數不變,調整第一器件的發送端參數,返回執行確定測試碼流的信號質量是否滿足預置要求的步驟;第一誤碼率測試子單元,用于根據第一信號質量測試子單元得到的參數組合進行誤碼率測試。例如,具體可以從所有參數組合中選擇一組作為當前參數組合,然后根據該當前參數組合設置第一器件的發送端參數和第二器件的接收端參數,由第一器件發送測試碼流給第二器件,并由第二器件掃描采樣窗口寬度,選擇采樣窗口寬度最大的N組參數組合進行長時間誤碼率測試,若誤碼率滿足預置要求,則從第一器件到第二器件方向的測試結束, 若誤碼率不滿足預置要求,則表明需要優化從第一器件到第二器件的鏈路信號質量。即第一誤碼率測試子單元,具體可以用于從所有參數組合中選擇一組作為當前參數組合;根據所述當前參數組合設置第一器件的發送端參數和第二器件的接收端參數;控制第一器件發送測試碼流給第二器件,并控制第二器件掃描采樣窗口寬度;判斷是否遍歷完所有參數組合;若否,則選擇下一組參數組合作為當前參數組合,返回執行根據所述當前參數組合設置第一器件的發送端參數和第二器件的接收端參數的步驟;若是,則選擇采樣窗口寬度最大的N組參數組合進行長時間誤碼率測試,若誤碼率滿足預置要求,則從第一器件到第二器件方向的測試結束,若誤碼率不滿足預置要求,則表明需要優化從第一器件到第二器件的鏈路信號質量,其中,N為大于1的正整數。其中,第二單向測試單元703具體可以包括第二參數設置子單元、第二碼流發送子單元和第二測試子單元;第二參數設置子單元,用于將第一器件的接收端參數設置為初始值,以及設置第二器件的發送端參數;第二碼流發送子單元,用于控制第二器件發送測試碼流,如PRBS23碼流給第一器件,以進行信號質量測試;第二測試子單元,用于若信號質量滿足預置要求,則將當前的第二器件的發送端參數作為信號質量最優的發送端參數,根據信號質量最優的發送端參數進行誤碼率測試; 若信號質量不滿足預置要求,則判斷是否遍歷完第二器件中所有的發送端參數,若已遍歷完,則在確定第一器件具有用于對線路損失進行補償的均衡參數時,選擇信號質量最優的發送端參數,根據所述信號質量最優的發送端參數進行誤碼率測試;若尚未遍歷完,則保持第一器件的接收端參數不變,調整第二器件的發送端參數,返回執行確定測試碼流的信號質量是否滿足預置要求的步驟。其中,根據信號質量最優的發送端參數進行誤碼率測試具體可以如下將得到的信號質量最優的發送端參數設置為第二器件的發送端參數,將第一器件的接收端參數設置為初始值,然后由第二器件發送測試碼流給第一器件,以進行誤碼率測試,若誤碼率符合預置要求,則從第二器件到第一器件方向的測試結束;若誤碼率不符合預置要求,則判斷第一器件的接收端參數是否能夠進行調整,若不能調整,則從第二器件到第一器件方向的測試結束,表明需要優化從第二器件到第一器件的鏈路信號質量;若可以調整,則遍歷第一器件中的所有接收端參數,返回執行進行誤碼率測試步驟;若遍歷完第一器件中的所有接收端參數后,誤碼率仍不符合預置要求,則表明只能優化從第二器件到第一器件的鏈路信號質量,即只能從硬件上改善從第二器件到第一器件的鏈路信號質量,從第二器件到第一器件方向的測試結束。即第二測試子單元,具體可以用于將所述信號質量最優的發送端參數設置為第二器件的發送端參數,將第一器件的接收端參數設置為初始值;控制第二器件發送測試碼流給第一器件,以進行誤碼率測試;若誤碼率符合預置要求,則從第二器件到第一器件方向的測試結束;若誤碼率不符合預置要求,則在確定第一器件的接收端參數能夠進行調整時,遍歷第一器件中的所有接收端參數,返回執行進行誤碼率測試步驟;若遍歷完第一器件中的所有接收端參數后,誤碼率仍不符合預置要求,則表明需要優化從第二器件到第一器件的鏈路信號質量。此外,還需說明的是,在對第一器件和第二器件之間的鏈路進行信號質量和誤碼率測試之前,還需要對第一器件的電源和輸入時鐘信號質量,以及第二器件的電源和輸入時鐘信號質量進行測試,在確定第一器件的電源和輸入時鐘信號質量,以及第二器件的電源和輸入時鐘信號質量符合要求時,才對第一器件和第二器件之間的鏈路進行信號質量和誤碼率測試。也就是說,該高速信號測試裝置具體還可以包括電源和時鐘測試單元;電源和時鐘測試單元,用于對第一器件的電源和輸入時鐘信號質量,以及第二器件的電源和輸入時鐘信號質量進行測試,在確定第一器件的電源和輸入時鐘信號質量,以及第二器件的電源和輸入時鐘信號質量符合要求時,觸發環回測試單元701開始工作(即初始化第一器件的發送端參數和第二器件的接收端參數,或者,初始化第二器件的發送端參數和第一器件的接收端參數,并進行環回誤碼率測試,得到環回測試結果)。其中,電源和輸入時鐘信號質量的測試具體可參見現有技術,在此不再贅述。其中,第一器件具體可以為ASIC或者其他使用隨路時鐘采樣模式進行數據采樣設備,第二器件具體可以為FPGA或者其他使用CDR采樣模式進行數據采樣設備。該高速信號測試裝置具體可以為內置有該高速信號測試方法代碼的芯片。具體實施時,以上各個單元可以作為獨立的實體實現,也可以進行任意組合,作為同一或若干個實體來實現,以上各個單元的具體實施可參見前面的實施例,在此不再贅述。由上可知,本實施例所提供的高速信號測試裝置中的環回測試單元701可以對使用隨路時鐘采樣模式進行數據采樣的第一器件和使用CDR采樣模式進行數據采樣的第二器件進行環回誤碼率測試,若發現從第一器件到第二器件方向的誤碼率不滿足要求,則進一步由第一單向測試單元702進行從第一器件到第二器件方向的信號質量和誤碼率測試, 若發現從第二器件到第一器件方向的誤碼率不滿足要求,則進一步由第二單向測試單元 703進行從第二器件到第一器件方向的信號質量和誤碼率測試,該方案可以適用于不同數據信號采樣模式應用在同一高速互連系統的場景。實施例三、相應的,本發明實施例還提供一種通信系統,包括本發明實施例提供的任一種高速信號測試裝置,其中,高速信號測試裝置具體可以參見前面實施例,在此不再贅述。該通信系統還可以包括第一器件和第二器件;第一器件,用于與第二器件進行高速串行互連,并接受高速信號測試裝置的高速信號測試;其中,高速信號測試的方法具體可參見前面實施例,在此不再贅述。第二器件,用于與第一器件進行高速串行互連,并接受高速信號測試裝置的高速信號測試;其中,高速信號測試的方法具體可參見前面實施例,在此不再贅述。其中,該通信系統具體可以為高速信號測試系統。該高速信號測試裝置具體可以為內置有該高速信號測試方法代碼的芯片。第一器件具體可以為ASIC或者其他使用隨路時鐘采樣模式進行數據采樣設備,第二器件具體可以為FPGA或者其他使用CDR采樣模式進行數據采樣設備。以上各個設備的實施具體可參見前面實施例,在此不再贅述。由上可知,本實施例的通信系統中的高速信號測試裝置采用通過對使用隨路時鐘采樣模式進行數據采樣的第一器件和使用CDR采樣模式進行數據采樣的第二器件進行環回誤碼率測試,若發現從第一器件到第二器件方向的誤碼率不滿足要求,則進一步進行從第一器件到第二器件方向的信號質量和誤碼率測試,若發現從第二器件到第一器件方向的誤碼率不滿足要求,則進一步進行從第二器件到第一器件方向的信號質量和誤碼率測試, 該方案可以適用于不同數據信號采樣模式應用在同一高速互連系統的場景。本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序可以存儲于一計算機可讀存儲介質中,存儲介質可以包括只讀存儲器(ROM,Read Only Memory)、隨機存取記憶體(RAM,RandomAccess Memory)、磁盤或光盤等。 以上對本發明實施例所提供的一種高速信號測試方法、裝置和系統進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的技術人員,依據本發明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
權利要求
1.一種高速信號測試方法,其特征在于,包括初始化第一器件的發送端參數和第二器件的接收端參數,或者,初始化第二器件的發送端參數和第一器件的接收端參數,并進行環回誤碼率測試,得到環回測試結果;若環回測試結果表明從第一器件到第二器件方向的信號的誤碼率不滿足預置要求時, 進行從第一器件到第二器件方向的信號質量和誤碼率測試;若環回測試結果表明從第二器件到第一器件方向的信號的誤碼率不滿足預置要求時, 進行從第二器件到第一器件方向的信號質量和誤碼率測試;其中,第一器件使用隨路時鐘采樣模式進行數據采樣,第二器件使用時鐘數據恢復CDR 采樣模式進行數據采樣。
2.根據權利要求1所述的方法,其特征在于,所述進行從第一器件到第二器件方向的信號質量和誤碼率測試,包括設置第一器件的發送端參數和第二器件的接收端參數; 由第一器件發送測試碼流給第二器件,以進行信號質量測試; 確定測試碼流的信號質量是否滿足預置要求;若信號質量滿足預置要求,則將當前的第一器件的發送端參數,以及對應的第二器件的接收端參數作為一組參數組合,然后調整第二器件的接收端參數,返回執行確定測試碼流的信號質量是否滿足預置要求步驟;若信號質量不滿足預置要求,則判斷是否遍歷完第一器件中所有的發送端參數,若已遍歷完,則選擇信號質量最優的發送端參數,以及對應的第二器件的接收端參數作為一組參數組合,然后調整第二器件的接收端參數,返回執行確定測試碼流的信號質量是否滿足預置要求步驟;若尚未遍歷完,則保持第二器件的接收端參數不變,調整第一器件的發送端參數,返回執行確定測試碼流的信號質量是否滿足預置要求的步驟; 根據所述參數組合進行誤碼率測試。
3.根據權利要求2所述的方法,其特征在于,所述根據所述參數組合進行誤碼率測試, 包括從所有參數組合中選擇一組作為當前參數組合;根據所述當前參數組合設置第一器件的發送端參數和第二器件的接收端參數; 由第一器件發送測試碼流給第二器件,并由第二器件掃描采樣窗口寬度; 判斷是否遍歷完所有參數組合;若否,則選擇下一組參數組合作為當前參數組合,返回執行根據所述當前參數組合設置第一器件的發送端參數和第二器件的接收端參數的步驟;若是,則選擇采樣窗口寬度最大的N組參數組合進行長時間誤碼率測試,若誤碼率滿足預置要求,則從第一器件到第二器件方向的測試結束,若誤碼率不滿足預置要求,則表明需要優化從第一器件到第二器件的鏈路信號質量,其中,N為大于1的正整數。
4.根據權利要求1所述的方法,其特征在于,所述進行從第二器件到第一器件方向的信號質量和誤碼率測試,包括將第一器件的接收端參數設置為初始值,以及設置第二器件的發送端參數; 由第二器件發送測試碼流給第一器件,以進行信號質量測試; 確定測試碼流的信號質量是否滿足預置要求;若信號質量滿足預置要求,則將當前的第二器件的發送端參數作為信號質量最優的發送端參數,根據信號質量最優的發送端參數進行誤碼率測試;若信號質量不滿足預置要求,則判斷是否遍歷完第二器件中所有的發送端參數,若已遍歷完,則在確定第一器件具有用于對線路損失進行補償的均衡參數時,選擇信號質量最優的發送端參數,根據所述信號質量最優的發送端參數進行誤碼率測試;若尚未遍歷完,則保持第一器件的接收端參數不變,調整第二器件的發送端參數,返回執行確定測試碼流的信號質量是否滿足預置要求的步驟。
5.根據權利要求4所述的方法,其特征在于,所述根據所述信號質量最優的發送端參數進行誤碼率測試,包括將所述信號質量最優的發送端參數設置為第二器件的發送端參數,將第一器件的接收端參數設置為初始值;由第二器件發送測試碼流給第一器件,以進行誤碼率測試; 若誤碼率符合預置要求,則從第二器件到第一器件方向的測試結束; 若誤碼率不符合預置要求,則在確定第一器件的接收端參數能夠進行調整時,調整第一器件中的接收端參數,并返回執行進行誤碼率測試步驟,直至遍歷完第一器件中的所有接收端參數;若遍歷完第一器件中的所有接收端參數后,誤碼率仍不符合預置要求,則表明需要優化從第二器件到第一器件的鏈路信號質量。
6.根據權利要求1至5任一項所述的方法,其特征在于,所述第一器件具體為專門目的而設計的集成電路ASIC,第二器件具體為現場可編程門陣列FPGA。
7.一種高速信號測試裝置,其特征在于,包括環回測試單元,用于初始化第一器件的發送端參數和第二器件的接收端參數,或者,初始化第二器件的發送端參數和第一器件的接收端參數,并進行環回誤碼率測試,得到環回測試結果;其中,第一器件使用隨路時鐘采樣模式進行數據采樣,第二器件使用時鐘數據恢復CDR采樣模式進行數據采樣;第一單向測試單元,用于在環回測試結果表明從第一器件到第二器件方向的信號的誤碼率不滿足預置要求時,進行從第一器件到第二器件方向的信號質量和誤碼率測試;第二單向測試單元,用于在環回測試結果表明從第二器件到第一器件方向的信號的誤碼率不滿足預置要求時,進行從第二器件到第一器件方向的信號質量和誤碼率測試。
8.根據權利要求7所述的高速信號測試裝置,其特征在于,所述第一單向測試單元包括第一參數設置子單元,用于設置第一器件的發送端參數和第二器件的接收端參數; 第一碼流發送子單元,用于控制第一器件發送測試碼流給第二器件,以進行信號質量測試;第一信號質量測試子單元,用于確定測試碼流的信號質量是否滿足預置要求;若信號質量滿足預置要求,則將當前的第一器件的發送端參數,以及對應的第二器件的接收端參數作為一組參數組合,然后調整第二器件的接收端參數,返回執行確定測試碼流的信號質量是否滿足預置要求步驟;若信號質量不滿足預置要求,則判斷是否遍歷完第一器件中所有的發送端參數,若已遍歷完,則選擇信號質量最優的發送端參數,以及對應的第二器件的接收端參數作為一組參數組合,然后調整第二器件的接收端參數,返回執行確定測試碼流的信號質量是否滿足預置要求步驟;若尚未遍歷完,則保持第二器件的接收端參數不變,調整第一器件的發送端參數,返回執行確定測試碼流的信號質量是否滿足預置要求的步驟;第一誤碼率測試子單元,用于根據所述參數組合進行誤碼率測試。
9.根據權利要求8所述的高速信號測試裝置,其特征在于,所述第一誤碼率測試子單元,具體用于從所有參數組合中選擇一組作為當前參數組合;根據所述當前參數組合設置第一器件的發送端參數和第二器件的接收端參數;控制第一器件發送測試碼流給第二器件,并控制第二器件掃描采樣窗口寬度;判斷是否遍歷完所有參數組合;若否,則選擇下一組參數組合作為當前參數組合,返回執行根據所述當前參數組合設置第一器件的發送端參數和第二器件的接收端參數的步驟;若是,則選擇采樣窗口寬度最大的N組參數組合進行長時間誤碼率測試,若誤碼率滿足預置要求,則從第一器件到第二器件方向的測試結束,若誤碼率不滿足預置要求,則表明需要優化從第一器件到第二器件的鏈路信號質量,其中,N為大于1的正整數。
10.根據權利要求7所述的高速信號測試裝置,其特征在于,所述第二單向測試單元包括第二參數設置子單元,用于將第一器件的接收端參數設置為初始值,以及設置第二器件的發送端參數;第二碼流發送子單元,用于控制第二器件發送測試碼流給第一器件,以進行信號質量測試;第二測試子單元,用于若信號質量滿足預置要求,則將當前的第二器件的發送端參數作為信號質量最優的發送端參數,根據信號質量最優的發送端參數進行誤碼率測試;若信號質量不滿足預置要求,則判斷是否遍歷完第二器件中所有的發送端參數,若已遍歷完,則在確定第一器件具有用于對線路損失進行補償的均衡參數時,選擇信號質量最優的發送端參數,根據所述信號質量最優的發送端參數進行誤碼率測試;若尚未遍歷完,則保持第一器件的接收端參數不變,調整第二器件的發送端參數,返回執行確定測試碼流的信號質量是否滿足預置要求的步驟。
11.根據權利要求10所述的高速信號測試裝置,其特征在于,所述第二測試子單元,具體用于將所述信號質量最優的發送端參數設置為第二器件的發送端參數,將第一器件的接收端參數設置為初始值;控制第二器件發送測試碼流給第一器件,以進行誤碼率測試;若誤碼率符合預置要求,則從第二器件到第一器件方向的測試結束;若誤碼率不符合預置要求,則在確定第一器件的接收端參數能夠進行調整時,遍歷第一器件中的所有接收端參數,返回執行進行誤碼率測試步驟;若遍歷完第一器件中的所有接收端參數后,誤碼率仍不符合預置要求,則表明需要優化從第二器件到第一器件的鏈路信號質量。
12.一種通信系統,其特征在于,包括權利要求7至11所述的任一種高速信號測試裝置。
全文摘要
本發明實施例公開了一種高速信號測試方法、裝置和系統。本發明實施例通過對使用隨路時鐘采樣模式進行數據采樣的第一器件和使用CDR采樣模式進行數據采樣的第二器件進行環回誤碼率測試,若發現從第一器件到第二器件方向的誤碼率不滿足要求,則進一步進行從第一器件到第二器件方向的信號質量和誤碼率測試,若發現從第二器件到第一器件方向的誤碼率不滿足要求,則進一步進行從第二器件到第一器件方向的信號質量和誤碼率測試,該方案可以適用于不同數據信號采樣模式應用在同一高速互連系統的場景。
文檔編號H04B17/00GK102315889SQ20111029784
公開日2012年1月11日 申請日期2011年9月30日 優先權日2011年9月30日
發明者侯新宇, 劉鋼, 常勝, 鄭偉 申請人:華為技術有限公司