基于FPGA的多通道校準(zhǔn)算法的同步實現(xiàn)
數(shù)字信號處理模塊是接收機(jī)系統(tǒng)的核心部分,系統(tǒng)要求數(shù)字信號處理模塊能實時處理ADC變換后的數(shù)字信號,并用軟件的方法來實現(xiàn)大量的無線電功能,這些功能包括:多通道校準(zhǔn)、編解碼、調(diào)制解調(diào)、濾波、同步、盲均衡、檢測、數(shù)據(jù)加密、傳輸加密糾錯、跳擴(kuò)頻及解擴(kuò)和解跳、通信環(huán)境評估、信道選擇等,而單個DSP根本無法完成這些功能。目前可用的一些高速DSP的性能最快的也不超過5GIPS ,與實際需求相差巨大。這種處理資源的匱乏,被稱之為DSP 瓶頸[1],因此我們在本系統(tǒng)中主要采用Xilinx的FPGA芯片實現(xiàn)后端數(shù)字信號處理。
本文引用地址:http://2s4d.com/article/191997.htm時鐘同步
FPGA硬件設(shè)計中,時鐘是整個設(shè)計最重要、最特殊的信號,異步信號輸入總是無法滿足數(shù)據(jù)的建立保持時間,所以需要把所有異步輸入都先進(jìn)行同步化。時鐘同步的重要性如下:
● 系統(tǒng)內(nèi)大部分器件的動作都是在時鐘的跳變沿上進(jìn)行,這就要求時鐘信號時延差要非常小,否則就可能造成時序邏輯狀態(tài)出錯;
● 時鐘信號通常是系統(tǒng)中頻率最高的信號;
● 時鐘信號通常是負(fù)載最重的信號,所以要合理分配負(fù)載。出于這樣的考慮在FPGA這類可編程器件內(nèi)部一般都設(shè)有數(shù)量不等的專門用于系統(tǒng)時鐘驅(qū)動的全局時鐘網(wǎng)絡(luò)。
對于一個設(shè)計項目來說,全局時鐘(或同步時鐘)是最簡單和最可預(yù)測的時鐘。只要可能就應(yīng)盡量在設(shè)計項目中采用全局時鐘。FPGA都具有專門的全局時鐘引腳,它直接連到器件中的每一個寄存器。這種全局時鐘提供器件中最短的時鐘到輸出的延時。
但在許多應(yīng)用中會出現(xiàn)兩個或兩個以上非同源時鐘,系統(tǒng)設(shè)計將面臨復(fù)雜的時間問題,數(shù)據(jù)的建立和保持時間很難得到保證。對于需要多時鐘的時序電路,最好將所有非同源時鐘同步化,即選用一個頻率是它們的時鐘頻率公倍數(shù)的高頻主時鐘。各個功能模塊要使用統(tǒng)一的復(fù)位電路。在使用帶時鐘的觸發(fā)器、計數(shù)器等有復(fù)位端的庫器件時,一般應(yīng)盡量使用有同步復(fù)位的器件。注意復(fù)位時應(yīng)保證各個器件都能復(fù)位,以避免某些寄存器的初始狀態(tài)不確定而引起系統(tǒng)工作不可靠。
基于以上分析,在本設(shè)計中,將64M的高頻時鐘作為系統(tǒng)時鐘,輸入到所有觸發(fā)器的時鐘端。時鐘使能信號Clk_en將控制所有觸發(fā)器的使能端。即原來接8M時鐘的觸發(fā)器,接64M時鐘,同時Clk_en將控制該觸發(fā)器使能;原接64M時鐘的觸發(fā)器, 還接64M時鐘,Clk_en也將控制該觸發(fā)器使能。這樣,就可以將任何非同源時鐘同步化。
評論