名稱:BPSK調制verilog(代碼在文末付費下載)
軟件:Quartus
語言:Verilog
要求:
一、設計說明
BPSK調制廣泛應用于衛(wèi)星通信、移動通信等領域。本題目要求設計一個基于直接數(shù)字頻率合成技術的BPSK調制器的FPGA IP核,實現(xiàn)對輸入周期數(shù)字比特流的BPSK調制。
二、設計要求
1.?輸入數(shù)字比特流波形和輸出BPSK調制波形必須能夠通過示波器或在ModelSim中觀測到。
2.?調制器輸入數(shù)字比特流的速率不低于10kbps。
3.?使用ALTERA公司的FPGA器件進行開發(fā)。
4.?可根據(jù)情況增加其他功能。
演示視頻:
部分代碼展示
`timescale?1ns?/?1ps //要求輸入的數(shù)字比特流通過外面的8個開關循環(huán)8bit,按不低于10K的速率串行發(fā)這個數(shù)據(jù). //按鍵可以切換幾個不同的載波頻率(正弦波) //輸出頻率f=clk_50M*frequency/2^10 module?DDS_top( ????input?clk_50M, ?input?rst_n,//復位 ?input?freq_key_in,//frequency控制按鍵 ?input?[7:0]?data_in,//調制信號,8bit ?output?[7:0]?BPSK_wave//BPSK波形輸出 ????); wire?[9:0]?addra; wire?[9:0]?addra_cos; assign?addra_cos=addra+512; //wire?[7:0]?douta_fangbo; wire?[7:0]?douta_sin; wire?[7:0]?douta_cos; wire?[7:0]?frequency;//頻率控制字,控制輸出波形頻率,值越大,頻率越大 wire?[15:0]?wave;//BPSK調制后波形 wire?freq_key; wire?data_o; //按鍵消抖 key_jitter?i_key_jitter( .?clkin(clk_50M), .?key_in(freq_key_in),//輸入 .?key_negedge(freq_key)//消抖后按鍵下降沿 ); //頻率控制 fre_sel?i_fre_sel( .?clk(clk_50M), .?key(freq_key), .?frequency(frequency)///頻率控制字,控制輸出波形頻率,值越大,頻率越大 ); //sin波ROM sin_ROM?i_sin_ROM?( ??.clock(clk_50M),????//?input?wire?clka ??.address(addra),??//?input?wire?[9?:?0]?addra ??.q(douta_sin)??//?output?wire?[7?:?0]?douta ); sin_ROM?i_cos_ROM?( ??.clock(clk_50M),????//?input?wire?clka ??.address(addra_cos),??//?input?wire?[9?:?0]?addra ??.q(douta_cos)??//?output?wire?[7?:?0]?douta ); //頻率累加器 Frequency_ctrl?i_Frequency_ctrl( .?clk_50M(clk_50M), .?rst_n(rst_n?&?freq_key_in), .?frequency(frequency),//頻率控制字 .?addra(addra)//輸出地址 ????); ? //調試信號輸出 //輸入的數(shù)字比特流通過外面的8個開關循環(huán)8bit,按不低于10K的速率串行發(fā)這個數(shù)據(jù). data_read?i_data_read( .?clk_50M(clk_50M), .?rst_n(rst_n?&?freq_key_in),//復位 .?data_in(data_in),//調制信號,8bit .?data_o(data_o)//串行輸出信號 ); //調制模塊 data_bpsk?i_data_bpsk( .?clk_50M(clk_50M), .?rst_n(rst_n?&?freq_key_in),//復位 .?data_o(data_o),//調制信號 .?douta_sin(douta_sin),//sin .?douta_cos(douta_cos),//cos .?BPSK_wave(BPSK_wave)//BPSK波形輸出 );
設計文檔(文檔點擊可下載):
本要求設計一個基于直接數(shù)字頻率合成技術的BPSK調制器的FPGA IP核,實現(xiàn)對輸入周期數(shù)字比特流的BPSK調制,其中調制器輸入數(shù)字比特流的速率不低于10kbps。
首先需要產生調制信號,調制信號使用外部8位撥碼開關控制,設計一個并轉串模塊將8位并行信號轉換為串行輸出信號,信號比特流的速率不低于10kbps。然后需要設計載波信號,載波采用正弦波,使用ROM存儲一個1024點的正弦波信號和余弦信號,同時為了使載波頻率可調,通過一個按鍵控制ROM的讀速率即可控制載波頻率。最后設計調制模塊,通過調制信號控制當前輸出是正弦波還是余弦波,從而達到BPSK調制的目的。
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. Testbench