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