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