新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于FPGA的QPSK信號源的設計與實現(xiàn)

基于FPGA的QPSK信號源的設計與實現(xiàn)

作者:中國電波傳播研究所 高榮山 李鐵成 時間:2008-08-01 來源:中電網(wǎng) 收藏

  相位累加器位數(shù)設置為32位,系統(tǒng)時鐘120MHz,這樣可實現(xiàn)小于0.03Hz的頻率分辨率,查找表相位截取低14位。累加器進程如下:

本文引用地址:http://butianyuan.cn/article/86523.htm

always@(posedge clk_2x)

begin

if(dds_countT ==1'b0) //dds_countT為脈沖寬度計數(shù)器,時鐘為clk_2x。

dds_start<=1'b1;

else

dds_start<=1'b0;

if(dds_stop=1'b0 && dds_stop_set=1'b0) //dds_stop是周期起停標志,dds_stop_set是上位機控制起停標志

begin

if(dds_start==1'b1 )

case (psk)

2'b00:dds_acc<=phase1;

2'b01:dds_acc<=phase2;

2'b10:dds_acc<=phase3;

2'b11:dds_acc<=phase4;

endcase;

else

dds_acc<=dds_acc + dds_freq_add;//dds_freq_add對于設置的載波頻率。

end;

if(dds_countT<=countF_set && dds_countT>1) // countF_set為設置的脈沖寬度對應的數(shù)值。

dds_addr<=dds_acc[31:18] ;

else

dds_addr<=14'b00000000000000;

end;

end;

  信號的控制實現(xiàn)

  上位機通過PCI總線實現(xiàn)信號參數(shù)的讀寫控制。因本系統(tǒng)中只需PCI實現(xiàn)信號參數(shù)的控制,數(shù)據(jù)量不大,故配置PCI9054為PCI的從目標(Slave),C模式。

  在中實現(xiàn)參數(shù)寄存器,實時讀取PCI總線的數(shù)據(jù)并更新。本地總線的讀寫通過三態(tài)門控制。實現(xiàn)代碼如下:

assign data_inout=(enout)? data_out:32'bzzzzzzzz;

always@(clk)

begin

data_in<=data_inout;

end

  讀寫實現(xiàn)通過狀態(tài)機程序?qū)崿F(xiàn),讀寫狀態(tài)流程圖如圖3。

 

  上位機程序設計

  上位機安裝Windows系統(tǒng),傳統(tǒng)上,PCI的驅(qū)動通過微軟的DDK實現(xiàn)WDM驅(qū)動程序,本設計中采用Windriver軟件,可方便地讀寫主機給PCI9054系統(tǒng)板分配的內(nèi)存及I/O資源,并可生成inf文件和基于VC等開發(fā)環(huán)境的程序文件。

結(jié)論

  試驗表明,以本文所介紹的方法產(chǎn)生的具有很好的性能,5MHz時連續(xù)波點頻的雜散SFDR達到70dB以上,輸出信號的頻率覆蓋短波波段,可達30MHz以上。在實際應用中,還可以加上線性調(diào)頻等其他信號形式。若信號頻段在超短波以上,可用產(chǎn)生固定中頻,經(jīng)數(shù)字上變頻和DAC芯片(如AD公司的AD9857)上變頻后輸出,該方法具有很強的可擴展性。


上一頁 1 2 下一頁

關鍵詞: FPGA 信號源 ASIC QPSK DDS

評論


相關推薦

技術專區(qū)

關閉