基于CORDIC 2FSK調(diào)制器的FPGA設(shè)計(jì)
1.2 CORDIC流水線結(jié)構(gòu)
CORDIC算法的實(shí)現(xiàn)方式有2種:簡(jiǎn)單狀態(tài)機(jī)法和高速全流水線處理器法。如果計(jì)算時(shí)間的要求不嚴(yán)格,可以采用狀態(tài)機(jī)結(jié)構(gòu)。這一結(jié)構(gòu)中最復(fù)雜的就是兩個(gè)桶狀移位器,而桶狀移位器的面積大約和它所包含的傳輸門(mén)的數(shù)目成正比。盡管可以通過(guò)改進(jìn)CORDIC算法來(lái)減小CORDIC處理器的總面積,但桶狀移位器所占的面積并不能減小。另外,這種結(jié)構(gòu)由于只在時(shí)間上復(fù)用資源,因此,數(shù)據(jù)吞吐率不高。
由于CORDIC算法的內(nèi)部數(shù)據(jù)流規(guī)則,決定了在CORDIC處理器解決方案中非常適合采用流水線型微旋轉(zhuǎn)結(jié)構(gòu)。采用流水線可將一個(gè)算術(shù)操作分解成一些小規(guī)模的加減法和移位操作,并在多個(gè)比較高速的時(shí)鐘內(nèi)完成。另一方面,輸出信號(hào)的精度只與CORDIC算法的旋轉(zhuǎn)次數(shù)或流水單元數(shù)有關(guān),即與級(jí)數(shù)有關(guān)。如需提高精度,只需簡(jiǎn)單地增加流水單元即可,其擴(kuò)展性很好,而且這并不會(huì)大量增加FPGA的資源耗費(fèi)。CORD-IC流水線結(jié)構(gòu)的每一級(jí)迭代旋轉(zhuǎn)的硬件實(shí)現(xiàn)基本單元如圖2所示。
2 基于CORDIC算法正弦載波發(fā)生器的總體結(jié)構(gòu)
正弦載波發(fā)生器系統(tǒng)結(jié)構(gòu)如圖3所示。
在該系統(tǒng)結(jié)構(gòu)圖中,CORDIC計(jì)算單元是核心。CORDIC計(jì)算單元的輸入由相位加法器提供。相位加法器不間斷地產(chǎn)生角度值,由CORDIC計(jì)算單元計(jì)算出相應(yīng)的三角函數(shù)值,即可在其輸出端產(chǎn)生連續(xù)的數(shù)字正弦載波。
通過(guò)頻率控制字,改變相位累加器的步長(zhǎng),這樣即可改變正弦載波的頻率。具體的數(shù)學(xué)推導(dǎo)如下:
設(shè)相位累加器的字長(zhǎng)為N,頻率控制字即步長(zhǎng)為step,則2N就相當(dāng)于2π rad,N位中的最低有效位相當(dāng)于2π/2N rad,即最小的相位增量,step對(duì)應(yīng)的相位為step×(2π/2N)rad,完成一個(gè)周期的正弦載波輸出需要2N/step個(gè)參考時(shí)鐘周期。所以輸出正弦載波的周期為:
可見(jiàn)改變相位累加器的步長(zhǎng)step,可以改變正弦載波的頻率;改變相位累加器的字長(zhǎng)N,可控制正弦載波的頻率分辨率。在相位累加器后加入相位加法器,通過(guò)改變相位控制字P,可以控制輸出信號(hào)的相位;通過(guò)設(shè)置幅度控制字A,可控制最終輸出的正弦載波的幅度大小。因此,通過(guò)對(duì)相位控制字、頻率控制字或幅度控制字進(jìn)行多路選擇,可以形成不同進(jìn)制的調(diào)制方式。可以看出,使用該結(jié)構(gòu)可以很容易實(shí)現(xiàn)頻率調(diào)制、相位調(diào)制和幅值調(diào)制。
3 2FSK調(diào)制器的FPGA設(shè)計(jì)
圖4為2FSK調(diào)制器頂層工程原理圖。該原理圖主要由三個(gè)模塊組成:2選1數(shù)據(jù)選擇器MUX21、相位累加器adder、正弦載波生成模塊eor-dic。其中,clk為系統(tǒng)時(shí)鐘信號(hào),rst為系統(tǒng)清零信號(hào),step1,step2為2個(gè)不同的頻率控制字,s為系統(tǒng)頻率控制字選通端。2選1數(shù)據(jù)選擇器的選通端s受基帶信號(hào)控制,當(dāng)基帶信號(hào)為‘0’時(shí),選通控制字step1;當(dāng)基帶信號(hào)為‘1’時(shí),選通控制字step2。通過(guò)對(duì)step1,step2的選擇,可以實(shí)現(xiàn)頻率的切換。
在QuartusⅡ環(huán)境中,三個(gè)子模塊均用VHDL語(yǔ)言進(jìn)行設(shè)計(jì),系統(tǒng)頂層工程采用原理圖進(jìn)行設(shè)計(jì),對(duì)系統(tǒng)頂層工程進(jìn)行器件選擇、引腳鎖定、編譯、綜合后下載到Cyclone系列EP1C12Q240C8器件中,通過(guò)在頻率控制字的引腳選擇不同參數(shù)即可在FPGA器件中完成2FSK調(diào)制器的設(shè)計(jì)。
4 系統(tǒng)硬件實(shí)時(shí)測(cè)試
調(diào)制器的輸出信號(hào)為數(shù)字信號(hào),經(jīng)D/A轉(zhuǎn)換后可以通過(guò)示波器進(jìn)行測(cè)試,也可以直接采用QuartusⅡ軟件中的嵌入式邏輯分析儀Signal-TapⅡ進(jìn)行測(cè)試。
采用SignalTapⅡ進(jìn)行芯片測(cè)試,用戶(hù)無(wú)需外接專(zhuān)用儀器,就可以對(duì)FPGA器件內(nèi)部所有信號(hào)和節(jié)點(diǎn)進(jìn)行捕獲分析,而又不影響原硬件系統(tǒng)的正常工作。經(jīng)測(cè)試得到的實(shí)時(shí)波形如圖5所示。測(cè)試結(jié)果表明,基于FPGA和CORDIC算法的2FSK調(diào)制器設(shè)計(jì)方案是正確可行的,且波形流暢,在轉(zhuǎn)換處能快速進(jìn)行切換。
5 結(jié)語(yǔ)
用FPGA和CORDIC算法實(shí)現(xiàn)信號(hào)調(diào)制,既克服了傳統(tǒng)方法耗費(fèi)資源、運(yùn)行速度低等缺點(diǎn),還具有靜態(tài)可重復(fù)編程和動(dòng)態(tài)在系統(tǒng)重構(gòu)的特性,極大地提高了電子系統(tǒng)設(shè)計(jì)的靈活性和通用性,大大縮短了系統(tǒng)的開(kāi)發(fā)周期。
fpga相關(guān)文章:fpga是什么
評(píng)論