主要分為以下幾個部分:
鎖相環m序列生成模組
資料介面模組
模擬通道模組
本地m序列生成模組
同步模組
誤碼統計模組
鎖相環主要產生系統時鐘訊號和輸出同步時鐘訊號。
採用altera自帶的ip模組
m序列生成模組
偽隨機訊號發生器又叫pn序列發生器或者是m序列發生器。m序列是一種線性反饋暫存器序列,m序列的產生可以利用r級暫存器產生長度為2^r-1的m序列,該實驗中採用3級暫存器產生7序列發生器。其原理框圖如下:(實驗中反饋的訊號採用異或進行反饋)
設計中採用的m序列為:f ( x) =x2 + x3 + x4 + x8
資料介面模組
由於沒有實際通道,所以收發模組預留,這裡進行了人為地插入誤碼,並將此誤碼作為模擬實際的通道。
模擬通道模組
誤碼插入模組,採用的簡單的方法進行插入。
根據輸入的m序列和序列的位置,對某些想要插入的位置的m序列進行取反操作,然後進行插入。
本地m序列生成模組
與m序列生成模組相同。
同步模組
同步判斷是進行誤碼統計的先決條件,只有對接收的碼序列與本地碼序列不斷地進行同步判斷,確定收、發端處於同步狀態,那麼誤碼統計才有意義。在通訊系統中同步的方法有很多,通常採用的方法有滑動相關法,匹配濾波法等。
本設計中採用的是滑動相關法,以7個序列為滑動的範圍,進行同步判斷,確定收、發端處於同步狀態,當誤碼數小於3時才繼續迴圈判定。
誤碼統計模組
當收發端已經判斷同步後,只要將接收訊號於本地的m序列流進行同步的序列比較就可以統計誤碼的數量。當統計完成256個時,才輸出誤碼數量。
頂層設計檔案
鎖相環
m序列生成模組
資料介面模組
模擬通道模組
本地m序列生成模組
同步模組
誤碼統計模組
編譯
生成網表
開始**
這裡可以人為地插入誤碼的位置和控制誤碼的數量,這裡隨機地選取了一下這些位置。總共插入了12個誤碼。(你可以自己增加誤碼數或者改變誤碼的位置)
**結果如下
err_cnt_out輸出的值為12,符合插入的誤碼數。
總共插入了2個誤碼:
err_cnt_out輸出的值為12,符合插入的誤碼數。
scan、 seg為後期電路板顯示用的,**時不用管。
大西瓜fpga-->
配套開發板:
部落格資料、**、、文字等屬大西瓜fpga所有,切勿用於商業! 若引用資料、**、、文字等等請註明出處,謝謝!
FPGA的邊沿檢測
以前我曾一度傻乎乎的使用 always posedge signal 這樣的 去檢測signal的上公升沿,鬧出了很多問題。當受實驗室的一同學指教後,再也不會傻乎乎的這樣幹了。當然,你看完下文也不會這樣幹了。檢測上公升沿的原理 使用高頻的時鐘對訊號進行取樣,因此要實現上公升沿檢測,時鐘頻率至少要在訊...
基於FPGA的秒錶
功能 四位數碼管顯示,從零開始計數,前兩位顯示秒 0 59 後兩位顯示0.01秒 0 99 計滿後從零開始,有開始鍵 暫停鍵 復位鍵。當第一次按下開始鍵,秒錶從初始開始計數,led顯示器上顯示當前計時值 當緊按下 按住 暫停鍵時,秒錶暫停計時,led上顯示當前計時值,放開則繼續計時 當按下復位鍵時,...
誤碼檢測單元的功能設計
本章具體介紹誤位元速率測試儀的基本功能的設計方法以及各部分的具體電路設計。主要包括 fpga 內部的碼型發生單元,誤碼插入單元 誤碼檢測單元,同步單元,誤碼計數單元,模擬通道單元和顯示單元組成。本節將介紹各個功能模組的功能和實現的核心 等。碼型發生單元主要描述的是偽隨機序列產生模組,偽隨機序列產生有...