基于FPGA的誤碼率測試儀的設計與實現
發(fā)布時間:2007/8/28 0:00:00 訪問次數:618
作者:解放軍信息工程大學 劉江 張宏霄 劉洛琨
摘 要: 本文提出了一種使用FPGA 實現誤碼率測試的設計及實現方法。該設計可通過FPGA 內建的異步串行接口向主控計算機傳遞誤碼信息,也可以通過數碼管實時 顯示一段時間內的誤碼率。文章先介紹了系統(tǒng)構成和工作流程,然后重點分析了關鍵技術的實現。
關鍵詞: 誤碼測試,現場可編程門陣列
1、 概述
在通信系統(tǒng)的設計實現過程中,都需要測試系統(tǒng)的誤碼性能。而常見的誤碼率測試儀多數專用于測試各種標準高速信道,不便于測試實際應用中大量的專用信道,并且價格昂貴,搭建測試平臺復雜。隨著大規(guī)模集成電路的迅速發(fā)展,FPGA 在保持其集成度高,體積小,功耗低,性價比高特性的同時,能夠實現越來越復雜設計功能,日益廣泛的應用于通信設備的設計實現。
本文提出了一種基于FPGA 的誤碼率測試儀的方案,使用一片Altera 公司的Cyclone系列的FPGA(EP1C6-144T)及相關的外圍電路,實現誤碼測試功能,主控計算機可以通過FPGA 內建的異步串行接口(UART)配置誤碼測試儀并讀取誤碼信息,由計算機完成誤碼分析。同時,該方案還提供了簡易的數據顯示,可以在脫離計算機的情況下,進行通信系統(tǒng)工作性能的定性分析。
2、 系統(tǒng)構成和工作流程
按照完成的功能,整個系統(tǒng)可以分為測試碼生成單元、誤碼測試單元、接口單元、顯示單元和時鐘生成單元以及主控計算機上運行的控制測試軟件六個部分,具體框圖如圖1 所示。
圖1 誤碼測試儀框圖
利用誤碼率測試儀進行誤碼率測試的閉環(huán)測試平臺結構如圖2 所示。對照圖1、圖2,將系統(tǒng)的工作流程描述如下。
圖2 通信系統(tǒng)誤碼測試框圖
根據待測通信系統(tǒng)的數據速率由計算機通過UART 配置時鐘生成單元,得到工作時鐘和各使能計數器的參數,使得系統(tǒng)按照預定時鐘工作;由測試碼生成單元按照設置好的時鐘將 測試碼發(fā)送給待測系統(tǒng)的發(fā)送設備;發(fā)送信號經過信道仿真器后,由待測系統(tǒng)的接收單元接收、判決,再將接收數據和恢復的數據時鐘送入誤碼測試儀;誤碼測試儀中的誤碼測試單元完成輸入數據和本地數據的同步后,對輸入數據同本地數據進行比較,統(tǒng)計誤碼數,每完成兩個測試碼周期的數據比較,就將誤碼信息通過UART 發(fā)送給計算機,進行誤碼統(tǒng)計,同時將誤碼數傳送給顯示單元,進行處理后驅動外部的四個七段數碼管,顯示本測試碼周期內的誤碼率。
3、 關鍵技術及其實現
3.1 測試碼的產生
本設計使用m 序列作為測試碼,m 序列發(fā)生器按照CCITT 建議,生成用于低速數據傳輸設備測試誤碼的m序列,其特征多項式為x9+x4+1,周期為512。利用m 序列的偽隨機特性,可以很好的測試在不同的輸入組合下,系統(tǒng)的通信性能,同時,m 序列極強的自相關性,便于測試儀實現輸入數據同本地測試碼同步,以便進行誤碼計數。
3.2 誤碼測試單元的實現
誤碼測試單元是整個系統(tǒng)的核心單元,其功能框圖如圖3 所示。序列同步跟蹤單元的功能是利用m 序列的自相關特性,將輸入的數據同本地的m 序列同步起來,并將同步信息傳給碼元比較單元。
我們利用測試序列—m 序列的自相關性實現接收序列與本地序列的同步。m 序列的捕獲有很多方法,通常使用的有相關器法和循環(huán)累加法。相關器法的優(yōu)點是捕獲速度快,通常捕獲時間不超過兩個m 序列的周期,但是相關器最大的問題就是所需的邏輯資源太多。相比之下,循環(huán)累加法所需的邏輯資源很少,雖然捕獲時延較長,但在測試環(huán)境下,通常是可以忍受的,另外,我們還可以采取一定的措施進一步減少捕獲時延。循環(huán)累加器的工作原理如下,系統(tǒng)復位后,m 序列發(fā)生器按照預設的參數生成m 序列,存入m 序列緩沖區(qū),碼元同步后,在地址發(fā)生器的控制下,將m 序列從緩沖區(qū)中讀出,同輸入序列按位進行同或運算后進行算術加,相加得到的和經D 觸發(fā)器緩沖一個時鐘周期后,輸入加法器,作為下一次加法運算的一個加數,從而實現本地序列同輸入序列的循環(huán)累加。累加和送入門限檢測器同所設門限比較,如低于門限,則地址發(fā)生使能和同步指示輸出均無效,為‘0’,如果高于所設門限,則兩信號置高。后面的碼元比較單元開始工作,進行輸入序列和本地序列的比較。地址發(fā)生器產生的地址由兩部分組成,即:
地址輸出=累加地址+偏移地址
兩個地址的初值均為‘0’,累加地址計數范圍同m 序列的長度一樣,每個時鐘周期加1,第一個周期輸出的m 序列從第一個碼元開始輸出,加完一個m 序列周期后,地址發(fā)生器檢查由門限檢測輸入的地址發(fā)生控制信號,如果該信號為‘0’,那么表示輸入序列同本地序列沒有同步,存在相位差,此時,偏移地址加1,累加地址重新開始累加計
作者:解放軍信息工程大學 劉江 張宏霄 劉洛琨
摘 要: 本文提出了一種使用FPGA 實現誤碼率測試的設計及實現方法。該設計可通過FPGA 內建的異步串行接口向主控計算機傳遞誤碼信息,也可以通過數碼管實時 顯示一段時間內的誤碼率。文章先介紹了系統(tǒng)構成和工作流程,然后重點分析了關鍵技術的實現。
關鍵詞: 誤碼測試,現場可編程門陣列
1、 概述
在通信系統(tǒng)的設計實現過程中,都需要測試系統(tǒng)的誤碼性能。而常見的誤碼率測試儀多數專用于測試各種標準高速信道,不便于測試實際應用中大量的專用信道,并且價格昂貴,搭建測試平臺復雜。隨著大規(guī)模集成電路的迅速發(fā)展,FPGA 在保持其集成度高,體積小,功耗低,性價比高特性的同時,能夠實現越來越復雜設計功能,日益廣泛的應用于通信設備的設計實現。
本文提出了一種基于FPGA 的誤碼率測試儀的方案,使用一片Altera 公司的Cyclone系列的FPGA(EP1C6-144T)及相關的外圍電路,實現誤碼測試功能,主控計算機可以通過FPGA 內建的異步串行接口(UART)配置誤碼測試儀并讀取誤碼信息,由計算機完成誤碼分析。同時,該方案還提供了簡易的數據顯示,可以在脫離計算機的情況下,進行通信系統(tǒng)工作性能的定性分析。
2、 系統(tǒng)構成和工作流程
按照完成的功能,整個系統(tǒng)可以分為測試碼生成單元、誤碼測試單元、接口單元、顯示單元和時鐘生成單元以及主控計算機上運行的控制測試軟件六個部分,具體框圖如圖1 所示。
圖1 誤碼測試儀框圖
利用誤碼率測試儀進行誤碼率測試的閉環(huán)測試平臺結構如圖2 所示。對照圖1、圖2,將系統(tǒng)的工作流程描述如下。
圖2 通信系統(tǒng)誤碼測試框圖
根據待測通信系統(tǒng)的數據速率由計算機通過UART 配置時鐘生成單元,得到工作時鐘和各使能計數器的參數,使得系統(tǒng)按照預定時鐘工作;由測試碼生成單元按照設置好的時鐘將 測試碼發(fā)送給待測系統(tǒng)的發(fā)送設備;發(fā)送信號經過信道仿真器后,由待測系統(tǒng)的接收單元接收、判決,再將接收數據和恢復的數據時鐘送入誤碼測試儀;誤碼測試儀中的誤碼測試單元完成輸入數據和本地數據的同步后,對輸入數據同本地數據進行比較,統(tǒng)計誤碼數,每完成兩個測試碼周期的數據比較,就將誤碼信息通過UART 發(fā)送給計算機,進行誤碼統(tǒng)計,同時將誤碼數傳送給顯示單元,進行處理后驅動外部的四個七段數碼管,顯示本測試碼周期內的誤碼率。
3、 關鍵技術及其實現
3.1 測試碼的產生
本設計使用m 序列作為測試碼,m 序列發(fā)生器按照CCITT 建議,生成用于低速數據傳輸設備測試誤碼的m序列,其特征多項式為x9+x4+1,周期為512。利用m 序列的偽隨機特性,可以很好的測試在不同的輸入組合下,系統(tǒng)的通信性能,同時,m 序列極強的自相關性,便于測試儀實現輸入數據同本地測試碼同步,以便進行誤碼計數。
3.2 誤碼測試單元的實現
誤碼測試單元是整個系統(tǒng)的核心單元,其功能框圖如圖3 所示。序列同步跟蹤單元的功能是利用m 序列的自相關特性,將輸入的數據同本地的m 序列同步起來,并將同步信息傳給碼元比較單元。
我們利用測試序列—m 序列的自相關性實現接收序列與本地序列的同步。m 序列的捕獲有很多方法,通常使用的有相關器法和循環(huán)累加法。相關器法的優(yōu)點是捕獲速度快,通常捕獲時間不超過兩個m 序列的周期,但是相關器最大的問題就是所需的邏輯資源太多。相比之下,循環(huán)累加法所需的邏輯資源很少,雖然捕獲時延較長,但在測試環(huán)境下,通常是可以忍受的,另外,我們還可以采取一定的措施進一步減少捕獲時延。循環(huán)累加器的工作原理如下,系統(tǒng)復位后,m 序列發(fā)生器按照預設的參數生成m 序列,存入m 序列緩沖區(qū),碼元同步后,在地址發(fā)生器的控制下,將m 序列從緩沖區(qū)中讀出,同輸入序列按位進行同或運算后進行算術加,相加得到的和經D 觸發(fā)器緩沖一個時鐘周期后,輸入加法器,作為下一次加法運算的一個加數,從而實現本地序列同輸入序列的循環(huán)累加。累加和送入門限檢測器同所設門限比較,如低于門限,則地址發(fā)生使能和同步指示輸出均無效,為‘0’,如果高于所設門限,則兩信號置高。后面的碼元比較單元開始工作,進行輸入序列和本地序列的比較。地址發(fā)生器產生的地址由兩部分組成,即:
地址輸出=累加地址+偏移地址
兩個地址的初值均為‘0’,累加地址計數范圍同m 序列的長度一樣,每個時鐘周期加1,第一個周期輸出的m 序列從第一個碼元開始輸出,加完一個m 序列周期后,地址發(fā)生器檢查由門限檢測輸入的地址發(fā)生控制信號,如果該信號為‘0’,那么表示輸入序列同本地序列沒有同步,存在相位差,此時,偏移地址加1,累加地址重新開始累加計