99在线精品免费视频九九视-99在线精品视频-99在线精品视频免费观里-99在线精品视频在线观看-99在线免费播放



官方論壇
官方淘寶
官方博客
微信公眾號
點擊聯系吳工 點擊聯系周老師
您的當前位置:主頁 > 高級實訓案例 >

【至簡設計案例系列】波形相位頻率可調DDS信號發生器

發布時間:2020-03-25   作者:admin 瀏覽量:
  本文為明德揚原創及錄用文章,轉載請注明出處

1.1 總體設計

      1.1.1 概述

     學習了明德揚至簡設計法和明德揚設計規范,本人設計了一個基于FPGA的可調頻調相而且可以輸出不同波形的DDS信號發生器。該信號發生器實現了通過按鍵控制輸出不同類型的波形,并可以通過按鍵改變波形頻率和初始相位。將此設計與明德揚的波形采集設計相結合,可以實現示波器功能,并且還可拓展實現波形頻率計算、峰峰值計算、頻譜分析等功能,有很大的設計空間。同時本設計以及其擴展功能在現實生活中也具有比較廣泛的應用。在本案例的設計過程中,包含了按鍵定義和消抖、計數器、ROMIP的應用等技術。經過逐步改進、調試等一系列操作之后,完成了此設計,下面將完整的設計記錄與大家分享。

      1.1.2 設計目標

      此設計可以通過按鍵進行波形類型的切換,并且波形的頻率還可以進行改變,具體需求如下:

1)按鍵1按下時可以改變波形的類型,實現波形的切換,順序為正弦波、鋸齒波、三角波;
2)按鍵2按下時可以改變波形的頻率,每按下一次,頻率增大2倍,達到一定值后跳回初始頻率值,以此循環;
3)按鍵3按下時可以改變波形的初始相位,每按下一次,初始相位加30,達到一定值后跳回初始相位值,以此循環。

      1.1.3 系統結構框圖

   系統結構框圖如下所示:

      1.1.4 模塊功能
  • 按鍵模塊實現功能
  • 將外來異步信號打兩拍處理,將異步信號同步化;
實現20ms按鍵消抖功能,并輸出有效按鍵信號。

  • DDS模塊實現功能
  • 通過有效按鍵信號實現切換波形類型、改變波形頻率、調整波形初始相位;
從ROM中讀取波形數據并輸出按鍵控制下的波形數據。

    1.1.5 信號定義
  • 頂層模塊mdy_DDS.v
信號
定義
clk
系統時鐘
rst_n
低電平復位信號
key_in
按鍵輸入
dadata
波形數據


  • 按鍵模塊key_delay.v

信號
定義
clk
系統時鐘
rst_n
低電平復位信號
key_in
按鍵輸入
key_done
有效按鍵

  • DDS模塊DDS.v
信號
定義
clk
系統時鐘
rst_n
低電平復位信號
key_done
有效按鍵
dadata
波形數據
i
頻率控制字
phase
相位控制字

      1.1.6 工作原理



          在系統整體結構中,通過按鍵控制輸出波形類型,并通過按鍵改變波形頻率控制字和初始相位控制字,得到ROM的讀地址。ROM為只讀存儲器,只要給它一個地址,就能讀出該地址中相應的數據,從已經初始化好的ROM讀取相應的波形數據。

     DDS的原理如下圖,累加器每次累加一個頻率控制字,調節頻率控制字的數值,可以改變累加器的累加速度,進而可以調節從ROM查找表中讀取波形數據的速度。即頻率控制字越大,頻率越高。相位控制字可以用來調節初始相位,即ROM地址自加的初始值。

   1.2 按鍵電路


       1.2.1 按鍵電路









     獨立式按鍵工作原理如上圖所示,4條輸入線接到FPGA的IO口上,當按鍵K1按下時,VCC通過電阻R1再通過按鍵K1最終進入GND形成一條通路,這條線路的全部電壓都加在R1上,則引腳P14是低電平。當松開按鍵后,線路斷開,就不會有電流通過,P14和VCC就應該是等電位,為高電平。我們可以通過P14這個IO口的高低電平狀態來判斷是否有按鍵按下。其它按鍵原理與K1一致。

     從圖中可以看出,如果我們按下按鍵,那么按鍵就會接通并連接到低電平GND,如果我們沒有按下,那么按鍵就會斷開并接到VCC,因此按鍵為低電平有效。通常的按鍵所用開關為機械彈性開關,當機械觸點斷開或者閉合時,由于機械觸點的彈性作用,一個按鍵開關在閉合時不會馬上穩定地接通,在斷開時也不會一下子斷開。因而機械式按鍵在閉合及斷開的瞬間均伴隨有一連串的抖動,如果不進行處理,會使系統識別到抖動信號而進行不必要的反應,導致模塊功能不正常,為了避免這種現象的產生,需要進行按鍵消抖的操作。

     1.2.2 按鍵消抖
      
      按鍵消抖主要分為硬件消抖和軟件消抖。兩個“與非”門構成一個RS觸發器為常用的硬件消抖。軟件方法消抖,即檢測出鍵閉合后執行一個延時程序,抖動時間的長短由按鍵的機械特性決定,一般為5ms~20ms,讓前沿抖動消失后再一次檢測鍵的狀態,如果仍保持閉合狀態電平,則確認按下按鍵操作有效。當檢測到按鍵釋放后,也要給5ms~20ms的延時,待后沿抖動消失后才能轉入該鍵的處理程序。經過按鍵消抖的行人優先按鍵,判斷按鍵有效后,按鍵信號傳遞給控制系統,控制系統再進入相應的處理程序。如還不明白之處,見實驗的PDF。







圖5.1.2按鍵消抖示意圖

      1.2.3 按鍵消抖代碼實現

      
      使用明德揚的計數器模板,可以很快速很熟練地寫出按鍵消抖模塊。

      每20ms掃描一次按鍵輸入key_in,可以達到消抖的目的,再用寄存器緩存一下,按鍵為低電平有效;所以檢測當檢測到按鍵有下降沿變化時,代表該按鍵被按下,按鍵有效,輸出1。

代碼如下:

  



   1.3 DDS模塊設計



           1.3.1 控制波形類型

      消抖過后的按鍵輸入到本模塊,同樣使用明德揚至簡設計法和計數器模板,可以秒速寫出控制波形類型的代碼。按鍵1每按下一次,即key_done[0]有效時,wave_cnt加1,加到3時歸0,否則保持不變。wave_cnt為0時輸出正弦波,1時輸出三角波,2時輸出鋸齒波,默認時輸出正弦波;至簡設計法和計數器模板有多好用,越用越絕精妙。

完整代碼如下:

     
     1.3.2 改變波形頻率
      
      話不多說,反手又是一個明德揚計數模板。按鍵2每按下一次,即key_done[1]有效時,i乘以2,加到64時歸0,否則保持不變。這里通過i可以改變頻率的原理是ROM中512個數據為一個周期,i等于1的話,采集一個周期需要512次,clk/512即為頻率,i為2時,只需要采集256次即完成一個周期,頻率為clk/256。

      當然也可以直接通過分頻改變clk,從而達到改變頻率的效果。

      完整代碼如下:


     1.3.3 改變波形相位

      依舊是百用不厭的計數器模板,按鍵3每按下一次,即key_done[2]有效時,初始相位加30,加到360時歸0,否則保持不變。達到改變相位的目的。

      因此,通過至簡設計法、計數器模板,可以輕松達到設計目標。

完整代碼如下:


     1.3.4 mif文件的生成

      程序中我們會用到一個ROM用于存儲512個8位的波形數據,首先我們需要準備ROM的初始化文件(mif文件)。以下為生成正弦波數據mif文件的方法:首先打開Guagle_wave工具,選擇菜單"查看"->”全局參數設置”,設置參數如下:



       調用ROMIP核,并將mif導入ROM,其他波形同理。


     1.4 在線邏輯分析儀查看波形數據


  • 不同頻率正弦波:




  • 三角波


  • 鋸齒波


      觀看上面的現象,可以發現,各項功能正常,可以通過按鍵改變波形類型、頻率、相位,成功完成設計目標。

      在這個設計案例中,至簡設計法和明德揚計數器模板發揮了至關重要的作用,使我能夠快速準確完成設計。本設計拓展加上ADDA采集和VGA顯示,可以實現基于FPGA的示波器設計,之前明德揚論壇已經發布了波形采集并VGA顯示的案例,希望有興趣的同學可以運用至簡設計法和明德揚模板嘗試一下拓展設計哦。

感興趣的朋友也可以訪問明德揚論壇(http://www.fpgabbs.cn/)進行FPGA相關工程設計學習,也歡迎大家在評論與我進行討論!


  •   
  •   
  •   
  •  
  • FPGA教育領域第一品牌
  • 咨詢熱線:020-39002701
  • 技術交流Q群:544453837
主站蜘蛛池模板: 一级a毛片| 精品国产一区二区三区久久影院 | 中文字幕无线码一区二区三区 | 关婷哪一级毛片高清免费看 | 亚洲不卡视频在线观看 | 国产小说| 久久精品美女久久 | 黄色无毒网站 | 国产三级精品在线 | 97精品视频在线观看 | 一级黄色片一级黄色片 | 国产片自拍 | 国产麻豆剧传媒精品网站 | 欧美毛片一级的免费的 | 小明成人永久视频在线观看 | 8090碰成年女人免费碰碰尤物 | 亚洲国产二区 | 成人精品一区二区久久久 | 亚洲国产精品久久婷婷 | 国产精品三级国语在线看 | 国产在亚洲线视频观看 | 在线欧美一区 | 国产女主播在线播放 | 国产黄色三级三级三级 | 成人在线不卡 | 亚洲欧美日韩另类在线 | 黑人巨茎xxx免费视频 | 久热这里只精品99re8久 | 黄毛片| 日韩亚洲欧美综合一区二区三区 | 美国黑人特大一级毛片 | 亚洲精品视频在线播放 | 国产原创自拍 | 午夜看片未满十八勿进 | 久久久久婷婷国产综合青草 | 国产一区二区三区 | 偷窥自拍有声 | 97精品视频在线观看 | aaa一级毛片| 免费中国女人69xxxxx视频 | 亚洲欧美日韩中文高清ww |