日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

dds信号发生器 fpga实现

發布時間:2024/3/24 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dds信号发生器 fpga实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 原理
  • 實現

原理

dds信號發生器:以rom為核心,外圍控制輸出地址,達到輸出不同頻率和相位或者幅度的結構。(這里不考慮ad轉換和濾波)
這里以正弦信號為例,用專用軟件或者matlab生成一組正弦信號值的文件,這里使用quartus自帶的ip核,將文件讀入rom。
剩下的就是控制輸出地址來達到改變頻率、相位和幅度的目的。

實現

這里分為3個模塊
一個模塊實現按鍵消抖
一個模塊實現dds具體功能
一個模塊為rom例化

按鍵消抖模塊
使用2個按鍵,模塊消抖后輸出高電平有效

module key_debounce #(parameter KEY_W = 2,TIME_20MS = 1000_000)(input clk ,input rst_n ,input [KEY_W-1:0] key_in ,output reg [KEY_W-1:0] key_out //檢測到按下,輸出一個周期的高脈沖,其他時刻為0 );//信號定義reg [19:0] cnt ;wire add_cnt ;wire end_cnt ;reg add_flag;reg [KEY_W-1:0] key_r0 ;//同步按鍵輸入reg [KEY_W-1:0] key_r1 ;//打拍wire [KEY_W-1:0] nedge ;//檢測下降沿//計數器 檢測到下降沿的時候,開啟計數器延時20msalways @(posedge clk or negedge rst_n)begin if(!rst_n)begin cnt <= 0;endelse if(add_cnt)begin if(end_cnt)cnt <= 0;else cnt <= cnt + 1;end end assign add_cnt = add_flag;assign end_cnt = add_cnt && cnt == TIME_20MS-1;//檢測到下降沿的時候,拉高計數器計數使能信號,延時結束時,再拉低使能信號always @(posedge clk or negedge rst_n)begin if(!rst_n)begin add_flag <= 1'b0;end else if(nedge)begin add_flag <= 1'b1;end else if(end_cnt)begin add_flag <= 1'b0;end end //同步按鍵輸入,并打一拍,以檢測下降沿always @(posedge clk or negedge rst_n)begin if(!rst_n)begin key_r0 <= {KEY_W{1'b1}};key_r1 <= {KEY_W{1'b1}};end else begin key_r0 <= key_in;//同步key_r1 <= key_r0;//打拍end endassign nedge = ~key_r0 & key_r1;//延時20ms結束的時鐘周期,輸出按鍵的狀態,若按下輸出一個周期的高脈沖,否則輸出0always@(posedge clk or negedge rst_n)begin if(~rst_n)begin key_out <= 0;end else begin key_out <= end_cnt?~key_r1:0;end end endmodule

dds模塊

這里輸入一個設置按鈕和設置完成按鈕
按下設置按鈕,臨時頻率步長寄存器加1,
按下設置完成按鈕,將頻率步長加上臨時頻率步長寄存器的值
最后一個always塊一直將頻率賦值給相位控制器(實際上就是rom地址)

module dds(input clk ,input rst_n ,input freq_set,input set_done,output [9:0] addr ); //信號定義 reg [7:0] freq_tmp;//頻率控制字 reg [7:0] freq;reg [9:0] phas_add ;//相位累加器//頻率控制字變化 always@(posedge clk or negedge rst_n)beginif(!rst_n)beginfreq_tmp <= 8'd0;endelse if(freq_set == 1'b1)beginfreq_tmp <= freq_tmp + 1'd1;endelse if(set_done)beginfreq_tmp <= 8'd1;end endalways@(posedge clk or negedge rst_n)beginif(!rst_n)beginfreq <= 1'b1;endelse if(set_done)beginfreq <= freq + freq_tmp;end endalways@(posedge clk or negedge rst_n)beginif(!rst_n)beginphas_add <= 1'b0;endelse beginphas_add <= phas_add + freq;end end assign addr = phas_add; endmodule

頂層

module dds_top(input clk ,input rst_n ,input [1:0] key_in ,output [7:0] dout );wire [1:0] key_out; //參數定義 key_debounce #(.KEY_W(2)) u_key(.clk (clk ),.rst_n (rst_n ),.key_in (key_in ),.key_out (key_out ) //檢測到按下,輸出一個周期的高脈沖,其他時刻為0 ); wire [9:0] addr; dds u_dds(.clk (clk ),.rst_n (rst_n ),.freq_set (key_out[0] ),//頻率控制字.set_done (key_out[1] ),.addr (addr ) );rom1 rom1_inst (.address ( addr ),.clock ( clk ),.q ( dout ));endmodule

signal tap調試

總結:原理不難,就是實現的時候思路不容易清晰,這里只實現了頻率的改變,還可以實現相位的改變,如在dds模塊中加一個相位寄存器就行,加一個相位按鈕,按下相位就加90度,其實就是加整個正弦數據地址的1/4,我這里是1024長度,就可以設置為256,幅度的話,可以將rom輸出的值直接改變。更復雜的話,我就不知道了。

總結

以上是生活随笔為你收集整理的dds信号发生器 fpga实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色三级小视频 | 欧美人与禽zozzozzo | 欧美国产第一页 | 亚洲综合a| 99国产精品99 | 极品少妇在线观看 | 久久在线中文字幕 | 国产美女自拍 | 国产成人麻豆免费观看 | 少妇的被肉日常np | 香蕉视频传媒 | 爽爽影院在线 | 不卡免费视频 | 精品999视频 | 91精品国产91 | 日韩美女做爰高潮免费 | 国内自拍网站 | 免费色av | 看全色黄大色黄大片女一次牛 | 日韩一区免费 | 24小时日本在线www免费的 | 熟女自拍一区 | av收藏小四郎最新地址 | 九色论坛 | 国产古装艳史毛片hd | 亚洲最新在线观看 | 捆绑中国女人hd视频 | 日韩夜色| 日本天堂影院 | 日本人の夫妇交换 | 国产亚洲在线观看 | av三级在线观看 | 亚洲综合视频网 | 国产一区二区三区福利 | 欧洲精品一区二区三区 | 吻胸摸激情床激烈视频大胸 | 色资源在线 | 欧美日韩精品网站 | 日本人妻一区二区三区 | xxxx18日本| 未满十八18禁止免费无码网站 | 国产人妻一区二区三区四区五区六 | 久草视频在线观 | 成人av教育 | 午夜免费激情视频 | 自拍愉拍| 成人动态视频 | 日韩久久电影 | 自拍偷拍第八页 | 久操视频在线观看免费 | 学生孕妇videosex性欧美 | 成人小视频免费观看 | 国产成人精品综合久久久久99 | 蜜臀av一区二区三区激情综合 | 一区二区三区中文视频 | 熟女精品一区二区三区 | 国产另类ts人妖一区二区 | 久久久久99人妻一区二区三区 | 操你啦免费视频 | 天天看天天摸天天操 | 日韩福利视频一区 | 蜜臀av性久久久久蜜臀aⅴ四虎 | www,久久久| caoporn免费在线 | 色婷婷精品久久二区二区密 | 懂色av一区二区在线播放 | 狠狠躁夜夜躁人人爽视频 | 亚洲一区二区不卡在线观看 | 日韩视频一区二区三区四区 | 99久久婷婷国产精品综合 | 国产农村妇女精品 | 中文在线免费视频 | 国产做爰高潮呻吟视频 | 亚洲日本成人 | 可以直接在线观看的av | 97小视频 | 1区2区3区在线观看 久久久久久久久久久影院 成人网址在线观看 | 浪潮av色 | 久久久一二三四 | 天天躁夜夜躁狠狠是什么心态 | a级在线观看视频 | 精人妻无码一区二区三区 | 麻豆视 | 97视频人人 | 国产成人精品综合在线观看 | 粉豆av | 91尤物在线| 亚洲精品国产99 | 久久久成人av | 色欲久久久天天天综合网 | 午夜污| 特级毛片在线 | 色香影视| 欧美激情成人在线 | 国产午夜亚洲精品午夜鲁丝片 | h网址在线观看 | 中文字幕av一区 | 天堂av2024| 爱爱激情网|