DDS流水線(xiàn)結構的改進(jìn)
摘要:分析了DDS中流水線(xiàn)結構及輸入數據在其中移動(dòng)的特點(diǎn),提出了一種DDS流水線(xiàn)結構的改進(jìn)方案,給出了實(shí)現的方法并作了仿真,分析了對DDS電路性能的改進(jìn)方案。
本文引用地址:http://dyxdggzs.com/article/201609/304708.htm關(guān)鍵詞:DDS 流水線(xiàn) 改進(jìn)的流水線(xiàn)結構
DDS(Direct Digital Synthesizer)以其頻率分辨率高、轉換速率快及波形變換靈活等特點(diǎn),已廣泛應用于通訊、雷達、GPS、蜂窩基站有HDTV等領(lǐng)域。DDS相位字長(cháng)及運算速度決定了DDS的性能[1],相位累加器、移相加法器及LUT的字長(cháng)越長(cháng),頻率分辨率及波形精度越高,相位截尾誤差越小[2]。目前DDS相位累加器的位數一般在32~48位之間;而時(shí)鐘頻率越高,輸出頻率的范圍越大。流水線(xiàn)是高速電路中一種常用的技術(shù)[3],高速、高精度DDS的相位累加器、相移加法器、用于調幅及正交調制的乘法器都采用了流水線(xiàn)結構。
普通的流水線(xiàn)結構所占用的寄存器資源和其級數的平方比正比,無(wú)論是現有的專(zhuān)用DDS集成電路,還是采用FPGA等可編程器件實(shí)現,都將占用大量寄存器資源。其實(shí),DDS中的輸入數據一般在一個(gè)較長(cháng)的時(shí)間內保持不變?;谶@一特點(diǎn),本文提出一種改進(jìn)的DDS流水線(xiàn)結構,可以大大減少占用的寄存器資源。
1 問(wèn)題的提出
1.1 DDS結構及工作原理
圖1是包含移相及調幅部分的相位累加型DDS的結構框圖。每一時(shí)鐘周期,N位相位累加器PA與N位頻率控制字FW累加一次。其結果的高M(jìn)位作波形表LUT(Look-Up Table)的地址,如果加上PSR的值可實(shí)現移相,從LUT中讀出D位波形數據送DAC。若乘以AR的值還可實(shí)現調幅。改變FW的值可改變輸出頻率,改變PSR的值可實(shí)現調相,改變AR的值可以實(shí)現調幅。一般情況下,FW、PSR及AR刷新頻率要比DDS系統時(shí)鐘慢得多。
1.2 DDS中流水線(xiàn)結構
當DDS的相位字長(cháng)較長(cháng)、速度較高時(shí),相位累加器、移相加法器或其綜合及調幅乘法器一般都采用流水線(xiàn)結構。以下僅以相位累加器為例,分析流水線(xiàn)的結構、性能及其改進(jìn)。當相位累加器采用m級n位流水線(xiàn)結構時(shí),有, 這里PA,FW分別是相位累加器的值和相位階距,PAm是各級加法器的部分和。其中,輸入緩沖流水線(xiàn)為m級n位,占用寄存器[(m-1)×m×n]/2 位,而相位累加器輸出的高M(jìn)位需m1=int[(m-1)/m]+1級流水線(xiàn),占用[(m1-1) ×m1×n]/2+m1×(M mod m)(int[·]是取整運算)。圖2、3分別是m=4、n=4、M=8時(shí)相位累加器的結構及時(shí)序圖。此時(shí),輸入流水線(xiàn)占用24位寄存器;m=8、n=4 時(shí)(32位相位累加器),輸入流水線(xiàn)占用112位寄存器;m=12、n=4,(48位相位累加器),占用264位寄存器;若選取m=48、n=1,則占用 1128位寄存器。如果省去輸入流水線(xiàn),改變相位階距時(shí),將導致相位紊亂。
2 改進(jìn)的流水線(xiàn)結構
2.1 結構及其工作原理
一般來(lái)說(shuō),DDS控制數據刷新速率遠低于系統時(shí)鐘。以相位累加器為例,進(jìn)入各組加法器的頻率控制字值,只在數據更新后的前m個(gè)時(shí)鐘周期變化。以后各個(gè)周期不再變化?;谶@種情況,可以對累加器進(jìn)行改進(jìn),從而節省部分寄存器。圖4是改進(jìn)輸入流水線(xiàn)的相位累加器結構圖,圖5是輸入數據及控制信號的時(shí)序圖。
在輸入數據D0~15(N)準備好后,由外部控制系統向流水線(xiàn)刷新控制電路 CON發(fā)出一啟動(dòng)信號Start,CON在Start下降沿后的第一時(shí)鐘上升沿到來(lái)時(shí),輸入寫(xiě)入脈沖WR0,將D0~3(N)寫(xiě)入第一級流水線(xiàn)寄存器;第二時(shí)鐘上升沿到來(lái)時(shí),輸出寫(xiě)入脈沖WR1,將D4~7(N)寫(xiě)入第二級流水線(xiàn)寄存器;依次類(lèi)推,到第四上升沿到來(lái)時(shí),輸出寫(xiě)入脈沖WR3,將 D12~15(N)寫(xiě)入第四級流水線(xiàn)寄存器,完成一次數據的刷新。在以后的周期內,這些數據將保持不變,直至新的Start到來(lái)。
改進(jìn)后的流水線(xiàn)所占用的寄存器位數和相位的字長(cháng)相等,
與流水線(xiàn)的級數無(wú)磁。相位字長(cháng)較長(cháng)時(shí),這種改進(jìn)的效果是非常明顯的。
2.2 刷新控制器的設計
刷新控制器實(shí)質(zhì)上是一種陣發(fā)式脈沖分配器,由Start啟動(dòng),當完成一個(gè)周期的脈沖分配輸出后,便停止計數。陣發(fā)式脈沖分配器的設計及實(shí)現方法很多,以下是基于A(yíng)ltera的FPGA,以MAX+Plus Ⅱ的HDL實(shí)現的陣發(fā)式脈沖分配器,流水線(xiàn)中的寄存器為上升沿有效,延遲時(shí)間為12.5ns,速度可達80MHz(FLEX 10K20RC240-4),圖6是其仿真結果。
(FLEX 10K20RC240-4),圖6是其仿真結果。
SUBDESIGN control
(cp,start : INPUT;
q3,q2,q1,q0 : OUTPUT;)
VARIABLE
s:MACHINE OF BITS (q3,q2,q1,q0)WITH STATES
(s0=b0000,s1=b0001,s2=b0010,
s3=b0100,s4=b1000);
BEGIN
s.clk = cp;
s.reset = start;
TABLE s=>s;
s0=>s1;s1=>s2;s2=>s3;s3=>s4;s4=>s4;
END TABLE;
END;
2.3 性能改善
2.3.1 寄存器的減少
輸入流水線(xiàn)結構改后后,寄存器的位數和相位累加器的位數呈線(xiàn)性關(guān)系,位數大大減少,特別是對級數較多的流水線(xiàn),即使對寄存器密集型的FPGA,這也是有益的。
2.3.2 功耗降低
由于僅在刷新數據時(shí),流水線(xiàn)中觸發(fā)器的狀態(tài)發(fā)生改變,在以后很長(cháng)一段時(shí)間內,狀態(tài)不再改變,這對降低電路功耗是有益的。
2.4 應用
在刷新數據時(shí),只要輸出一個(gè)啟動(dòng)信號,使用方法和方案一樣便捷。啟動(dòng)信號通常由外部控制電路給出,上例中,
刷新動(dòng)作從啟動(dòng)信號Start后的第一個(gè)時(shí)鐘上升沿開(kāi)始。
需要注意的是,在刷新數據時(shí),每一組數據保持的時(shí)鐘周期數必須大于流水線(xiàn)的級數。上命名中,數據必須保持4個(gè)時(shí)鐘周期以上,否則高位數據將不能傳送到相應級的累加器。
本文分析了高速DDS中的頻率控制字、相移字等輸入數據的變化特點(diǎn)。提出了一種 DDS流水線(xiàn)結構的改進(jìn)方案,給出了具體實(shí)現的方法及仿真,并成功地用于高頻高精度AWG的研制。用這種方法設計的DDS及NCO等電路,降低了寄存器的占用,也降低了系統的功耗,可有效提高電路的性能價(jià)格比。這種設計方法對其它的流水線(xiàn)結構設計也有一定的參考價(jià)值。
評論