国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于FPGA的信號發(fā)生器(三角波、方波、正弦波)

這篇具有很好參考價值的文章主要介紹了基于FPGA的信號發(fā)生器(三角波、方波、正弦波)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

DDS實現(xiàn)原理

DDS整體設(shè)計框圖?

Quartus II 仿真?

modelsim仿真

頂層代碼


DDS實現(xiàn)原理

DDS(Direct Digital ?Frequency Synthesizer)直接數(shù)字頻率合成器,也可叫DDFS。?

  • DDS是從相位的概念直接合成所需波形的一種頻率合成技術(shù)。?
  • 不僅可以產(chǎn)生不同頻率的正弦波,而且可以控制波形的初始相位。?
  • 主要構(gòu)成:?

    內(nèi)部:相位累加器,正弦查找表?

    外圍:DAC,LPF(低通濾波器)

    工作過程

    1、將存于ROM中的數(shù)字波形,經(jīng)DAC,形成模擬量波形。?

    2、改變尋址的步長來改變輸出信號的頻率。?步長即為對數(shù)字波形查表的相位增量。由累加器對相位增量進(jìn)行累加,累加器的值作為查表地址。?

    3、DAC輸出的階梯形波形,經(jīng)低通濾波,成為模擬波形

  • 基于fpgad的簡易三角波發(fā)生器,fpga開發(fā)

DDS整體設(shè)計框圖Quartus II 仿真

modelsim仿真圖

基于fpgad的簡易三角波發(fā)生器,fpga開發(fā)

基于fpgad的簡易三角波發(fā)生器,fpga開發(fā)

基于fpgad的簡易三角波發(fā)生器,fpga開發(fā)

頂層代碼

(代碼較長,完整工程免費獲取請關(guān)注公眾號:FPGA設(shè)計苑)文章來源地址http://www.zghlxwxcb.cn/news/detail-762165.html

module DDS(
			clk,                                    //時鐘輸入
			dds_data_out,                           //DDS數(shù)據(jù)輸出
			set_waveform,                           //設(shè)置輸出的波形
			set_f,                                  //設(shè)置頻率
			set_a,                                  //設(shè)置幅值
			set_p                                   //設(shè)置頻率
          );
input         clk;
input  [1:0]  set_waveform;
input  [20:0] set_f;
input  [4:0]  set_a;
input  [8:0]  set_p;
output [9:0]  dds_data_out;

wire          clk;
wire   [1:0]  set_waveform;
wire   [20:0] set_f;
wire   [4:0]  set_a;
wire   [9:0]  set_p;
wire   [9:0]  dds_data_out;
/**************連接線***************/
wire   [31:0] f32_bus;//AC頻率控制字輸入
wire   [31:0] reg32_out;//32位寄存器輸出
wire   [31:0] reg32_in;//32位寄存器輸入
wire   [8:0]  reg10_in;
wire   [8:0]  reg10_out_address;
/**************緩存寄存器******************/
wire   [9:0]  sin_data;
wire   [9:0]  tri_data;
wire   [9:0]  squ_data;
//wire   [9:0]  saw_data;
reg    [9:0]  dds_data_reg; 
reg    [20:0] set_f_reg;     
/***********************************/
assign f32_bus[31:21]=11'b000_0000_0000;//初始化,高位置低
assign f32_bus[20:0]=set_f_reg;    //低位可以設(shè)置DDS的輸出頻率
/*********************元件例化************************************/
       adder_32 u1(.data1(f32_bus),.data2(reg32_out),.sum(reg32_in));
       reg32    u2(.clk(clk),.data_in(reg32_in),.data_out(reg32_out));
       adder_10 u7(.data1(set_p),.data2(reg32_out[31:23]),.sum(reg10_in));
       reg_10   u8(.clk(clk),.data_in(reg10_in),.data_out(reg10_out_address));
/*****************波形選擇*******************************************/
       sin_rom  u3(.address(reg10_out_address),.clock(clk),.q(sin_data));//正弦
       tri_rom  u4(.address(reg10_out_address),.clock(clk),.q(tri_data));
       squ_rom  u5(.address(reg10_out_address),.clock(clk),.q(squ_data));
//       saw_rom  u6(.address(reg10_out_address),.clock(clk),.q(saw_data));
/***********************設(shè)置波形和設(shè)置頻率***************************/
    always @(set_waveform,sin_data,tri_data,squ_data)
      begin 
        case (set_waveform)
          2'b00://正弦波
               begin 
                 dds_data_reg<=sin_data; 
                 set_f_reg<=set_f;//設(shè)置范圍為100Hz到20KHz
               end
          2'b01://三角波
               begin
                 dds_data_reg<=tri_data;
                 set_f_reg<=set_f;//設(shè)置范圍為100Hz到20KHz
               end
          2'b10:
               begin
                 dds_data_reg<=squ_data;//方波
                 set_f_reg<=set_f;//設(shè)置范圍為100Hz到20KHz
               end
        default:
               begin
                  dds_data_reg<=sin_data;//正弦波
                  set_f_reg<=set_f;//設(shè)置范圍為100Hz到20KHz
               end
        endcase;
      end 
/***********************設(shè)置電壓幅值***************************/
assign dds_data_out=dds_data_reg*set_a/10;//設(shè)置電壓幅值
endmodule





到了這里,關(guān)于基于FPGA的信號發(fā)生器(三角波、方波、正弦波)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 基于FPGA的DDS原理信號發(fā)生器設(shè)計 quartusII 9.1平臺 Verilog HDL語言編程 可產(chǎn)生正弦波

    基于FPGA的DDS原理信號發(fā)生器設(shè)計 quartusII 9.1平臺 Verilog HDL語言編程 可產(chǎn)生正弦波

    基于FPGA的DDS原理信號發(fā)生器設(shè)計 quartusII 9.1平臺 Verilog HDL語言編程 ?可產(chǎn)生正弦波、方波、鋸齒波以及三角波 ? 頻率幅度可調(diào)節(jié) ? 代碼+原理圖 在現(xiàn)代電子技術(shù)領(lǐng)域,針對各種應(yīng)用的信號發(fā)生器是一種非常核心的設(shè)備,而基于現(xiàn)場可編程邏輯門陣列(FPGA)的直接數(shù)字合成(

    2024年04月27日
    瀏覽(30)
  • 可變頻率正弦信號發(fā)生器的FPGA實現(xiàn)(Quartus)

    可變頻率正弦信號發(fā)生器的FPGA實現(xiàn)(Quartus)

    實現(xiàn)平臺:Quartus17.1、MATLAB2021a和Modelsim SE-64 10.4 1. 產(chǎn)生一個完整周期的正弦波信號,并保存為*.mif文件; 2. 設(shè)計一個ROM,將正弦波信號文件初始化如該ROM中; 3. 設(shè)計一正弦波信號發(fā)生器,按照讀取步長,產(chǎn)生頻率可變的正弦波信號; 4.編寫測試文件,通過modelsim查看波形。 (

    2024年01月16日
    瀏覽(28)
  • STM32單片機TFT顯示AD9833 DDS信號發(fā)生器語音播報正弦波方波三角波
  • 基于51單片機的波形發(fā)生器(PCF8591、正弦波、三角波、鋸齒波、方波)

    基于51單片機的波形發(fā)生器(PCF8591、正弦波、三角波、鋸齒波、方波)

    ? ? ? ? 正弦波、三角波、鋸齒波和方波是我們平時最常見的四種波形,那么學(xué)會使用單片機產(chǎn)生這四種波就很重要了。但學(xué)過51單片機就知道,其IO引腳只能輸出高電平或低電平,單靠其引腳生成以上波形,好像不大可能,因此我們需要配合使用另一個很重要的芯片,DAC芯片

    2024年02月09日
    瀏覽(82)
  • 正弦信號發(fā)生器設(shè)計——VHDL

    正弦信號發(fā)生器設(shè)計——VHDL

    (1)學(xué)習(xí)并掌握Quartus II的使用方法 (2)學(xué)習(xí)簡單時序電路的設(shè)計和硬件測試。 (3)學(xué)習(xí)使用VHDL 語言方法進(jìn)行邏輯設(shè)計輸入 (4)進(jìn)一步熟悉QuartusⅡ及其 LPM_ROM 與 FPGA硬件資源的使用方法,學(xué)習(xí)較復(fù)雜的數(shù)字系統(tǒng)設(shè)計方法,并在實驗開發(fā)系統(tǒng)上熟悉運行輸入及仿真步驟原理

    2024年02月02日
    瀏覽(18)
  • 基于FPGA的信號發(fā)生器(四)

    基于FPGA的信號發(fā)生器(四)

    ???? 基于FPGA的信號發(fā)生器的硬件電路通常需要以下組件: FPGA芯片:FPGA芯片是這個電路的核心部件,用于實現(xiàn)信號生成算法和控制邏輯。選擇合適規(guī)模的FPGA芯片以滿足你的信號發(fā)生器的性能和功能需求。 時鐘源:信號發(fā)生器需要一個穩(wěn)定的時鐘源,以確定信號的頻率和采

    2024年04月14日
    瀏覽(20)
  • 基于FPGA的DDS信號發(fā)生器

    基于FPGA的DDS信號發(fā)生器

    ? ? 兩個禮拜前就像寫這個文檔了,但是一直鴿到現(xiàn)在,主要是人擺了。還有個技術(shù)上的原因是,我想用串口屏顯示波形,在串口調(diào)試助手上返回的數(shù)據(jù)是對的,但是發(fā)到串口屏上啥反應(yīng)沒有,人就很麻,如果這個弄不出來,前面 HMI 串口屏的工程、人機交互界面就白做了。

    2024年02月06日
    瀏覽(20)
  • EDA實驗-----正弦信號發(fā)生器的設(shè)計(Quartus II )

    EDA實驗-----正弦信號發(fā)生器的設(shè)計(Quartus II )

    目錄 一、實驗?zāi)康?二、實驗儀器 三、實驗原理 四、實驗內(nèi)容 五、實驗步驟 六、注意事項 七、實驗過程(操作過程) 1.定制LPM_ROM模塊 2.定制LPM_ROM元件 ?3.計數(shù)器定制 4.創(chuàng)建鎖相環(huán) 5.作出電路圖 6.頂層設(shè)計仿真 學(xué)習(xí)使用Verilog設(shè)計波形發(fā)生器。 掌握LPM_ROM在波形發(fā)生器設(shè)計中

    2024年02月04日
    瀏覽(16)
  • 基于FPGA的簡易 DDS 信號發(fā)生器的設(shè)計

    基于FPGA的簡易 DDS 信號發(fā)生器的設(shè)計

    DDS 是直接數(shù)字式頻率合成器(Direct Digital Synthesizer)的英文縮寫,是一項關(guān)鍵的數(shù)字化技術(shù)。與傳統(tǒng)的頻率合成器相比, DDS 具有低成本、低功耗、高分辨率和快速轉(zhuǎn)換時間等優(yōu)點,廣泛使用在電信與電子儀器領(lǐng)域,是實現(xiàn)設(shè)備全數(shù)字化的一個關(guān)鍵技術(shù)。作為設(shè)計人員,我們

    2024年02月07日
    瀏覽(41)
  • FPGA學(xué)習(xí)任意波函數(shù)信號發(fā)生器的設(shè)計(基于quartus II13.0)

    FPGA學(xué)習(xí)任意波函數(shù)信號發(fā)生器的設(shè)計(基于quartus II13.0)

    平臺: quartus II 13.0 仿真:signal tap II 語言:VHDL 方式:原理圖bdf輸入 芯片:Cyclone IV E: EP4CE6E22C8 設(shè)計一任意波函數(shù)信號發(fā)生器,具備以下兩功能: ①能輸出標(biāo)準(zhǔn)正弦波波形。 ②能輸出任意函數(shù)波形。 首先明確實驗用到的宏模塊操作是在tool——MeGaWizard Plug-In Manager中(如下圖)

    2024年02月03日
    瀏覽(45)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包