手机版av在线_96精品国产aⅴ在线观看_中文字幕35页_国产亚洲成AV人片在线观黄桃_全黄性色大片_免费视频h

產品推薦:水表|流量計|壓力變送器|熱電偶|液位計|冷熱沖擊試驗箱|水質分析|光譜儀|試驗機|試驗箱


儀表網>技術中心>應用設計>正文

歡迎聯系我

有什么可以幫您? 在線咨詢

基于FPGA的信號發生器設計

   2012年02月17日 15:35  
  摘要:信號發生器又稱為波形發生器,是一種常用的信號源,廣泛應用于電子電路、通信、控制和教學實驗等領域。用FPGA所構成的系統來產生波形信號,這個系統既能和主機系統相連,用相應的上層軟件展示波形信號,又方便程序的編寫,而且還有A/D0809接口可以產生模擬信號的輸出和外面的示波器相連。


       以FPGA芯片為載體,通過QuartusII的LPM_ROM模塊和VHDL語言為核心設計一個多功能信號發生器,根據輸入信號的選擇可以輸出遞增鋸齒波、遞減鋸齒波、三角波、階梯波和方波等5種信號,通過QuartusII軟件進行波形仿真、定時分析,仿真正確后,利用實驗板提供的資源,下載到芯片中實現預定功能。
  
  信號發生器又稱為波形發生器,是一種常用的信號源,廣泛應用于電子電路、通信、控制和教學實驗等領域。它是科研及工程實踐中zui重要的儀器之一,以往多用硬件組成,系統結構比較復雜,可維護性和可操作性不佳。隨著計算機技術的發展,信號發生器的設計制作越來越多的是用計算機技術,種類繁多,價格、性能差異很大。用FPGA或CPLD來實現,它的優點是可以進行功能仿真,而且FPGA和CPLD的片內資源豐富,設計的流程簡單。用FPGA所構成的系統來產生波形信號,這個系統既能和主機系統相連,用相應的上層軟件展示波形信號,又方便程序的編寫,而且還有A/D0809接口可以產生模擬信號的輸出和外面的示波器相連。
  
  1、正弦信號發生器的LPM定制
  
  正弦信號發生器由計數器或地址發生器(6位)、正弦信號數據ROM(6位地址線,8位數據線,含有64個8位數據,一個周期)、原理圖頂層設計和8位D/A(實驗中用DAC0832代替)。
  
  其框圖如圖1所示。其中信號產生模塊將產生所需的各種信號,這些信號的產生可以有多種方式,如用計數器直接產生信號輸出,或者用計數器產生存儲器的地址,在存儲器中存放信號輸出的數據。信號發生器的控制模塊可以用數據選擇器實現,用8選1數據選擇器實現對5種信號的選擇。
  
  圖1信號發生器結構框圖
  
  zui后將波形數據送入D/A轉換器,將數字信號轉換為模擬信號輸出。用示波器測試D/A轉換器的輸出,可以觀測到5種信號的輸出。
  
  1.1定制初始化數據文件
  
  QuartusII能接受的LPM_ROM模塊中的初始化數據文件的格式有兩種:。mif格式文件和。hex格式文件。實際應用中只要使用其中一種格式的文件即可。下面采用。mif格式文件,調出產生ROM數據文件大小的選擇窗。根據64點8位正弦數據的情況,可選ROM的數據數Number為64,數據寬Wordsize取8位。單擊OK按鈕,將出現圖2所示的空的。mif數據表格,表格中的數據格式可通過鼠標右鍵單擊窗口邊緣的地址數據彈出的窗口選擇。
  
  圖2.mif數據表格
  
  將波形數據填入mif文件表中也可以使用QuartusII以外的編輯器設計MIF文件,其格式如下:
  
  #Include<STdio.h>
  
  #Include"math.h"
  
  main()
  
  {inti;floats;
  
  for(i=0;i<1024;i++)
  
  {s=sin(atan(1)*8*i/1024);
  
  printf("%d:%d;n",i,(int)((s+1)*1023/2));}}
  
  把上述程序編譯成程序后,可在DOS命令行下執行命令:
  
  romgen>sin_rom.mif;
  
  1.2定制LPM元件
  
  打開MegaWizardPlug_InManager初始對話框,選擇Createanewcustom…項。單擊Next按鈕后,選擇Storage項下的LPM_ROM,再選擇ACEX1K器件和VHDL語言方式;zui后輸入ROM文件存放的路徑和文件名:F:sing_gntdata_rom(定制的ROM元件文件名),單擊Next按鈕,選擇ROM控制線、地址線和數據線。這里選擇地址線位寬和ROM中數據數分別為6和64;選擇地址鎖存控制信號inclock。
  
  對于地址信號發生器的設計。方法一:用VHDL語言設計6位計數器,產生其元件符號;方法二:仍采用LPM定制的方法。
  
  1.3完成頂層設計
  
  按圖3畫出頂層原理圖,然后進行編譯,波形仿真如圖4所示。
  
  圖3簡易正弦信號發生器頂層電路設計
 
  
  圖4當前工程仿真波形輸出
  
  對當前設計通過執行QuartusII的命令Create∠Update/CreateSymbolFilesforCurrentFile,可以為設計電路建立一個元件符號,以便被頂層設計多功能信號發生器所調用。
  
  2、其他信號部分原程序
  
  其他各信號發生器可參照正弦信號發生器的設計方法設計或直接采用VHDL硬件描述語言進行設計。
  
  LIBRARYIEEE;--遞增鋸齒波的設計
  
  USEIEEE.STDLOGIC1164.ALL;
  
  USEIEEE.STDLOGICUNSIGNED.ALL;
  
  ENTITYsignal2IS--遞增鋸齒波signal1
  
  PORT(clk,reset:INstd_logic;--復位信號reset,時鐘信號clk
  
  q:OUTstd_logic_vector(7DOWNTO0));--輸出信號q
  
  ENDsignal2;
  
  ARCHITECTUREbOFsignal2IS
  
  BEGIN
  
  PROCESS(clk,reset)
  
  VARIABLEtmp:std_logic_vector(7DOWNTO0);
  
  BEGIN
  
  IFreset='0'THEN
  
  tmp:="00000000";
  
  ELSITrising_ege(clk)THEN
  
  IFtmp="11111111"THEN
  
  tmp:="00000000";
  
  ELSE
  
  tmp:=tmp+1;--遞增信號的變化
  
  ENDIF;
  
  ENDIF;
  
  q<=tmp:
  
  ENDPROCESS;
  
  ENDb;
  
  LIBRARYIEEE;--方波的設計
  
  USEIEEE.STD_LOGIC_1164.ALL;
  
  USEIEEE.STD_LOGIC_UNSIGNED.ALL;
  
  entitysignal5is--方波signal5
  
  PORT(clk,reset:instd_logic;--復位信號reset,時鐘信號clk
  
  q:outstd_logic_vector(7DOWNTO0));--輸出信號q,8位數字信號
  
  ENDsignal5;
  
  ARCHITEECTUREaOFsignal5IS
  
  SIGNAL;a:std_logic;
  
  BEGIN
  
  PROCESS(clk,reset)
  
  YARIABLEtmp:std_logic_vector(7downto0);
  
  BEQIN
  
  IFreset='0'then
  
  a<='0';
  
  elsifrising_edge(clk)THEN
  
  IFtmp="11111111"THEN
  
  tmp:="00000000";
  
  ELSE
  
  tmp:=tmp+1;
  
  ENDIF;
  
  iftmp<="10000000"then
  
  a<='1';
  
  else
  
  a<='0';
  
  ENDIF;
  
  ENDIF;
  
  ENDPROCESS;
  
  PROCESS(clk,a)
  
  BEGIN
  
  IFrising_edge(clk)THEN
  
  IFa='1'THEN
  
  q<="11111111";
  
  ELSE
  
  q<="00000000";
  
  ENDIF;
  
  ENDIF;
  
  ENDPROCESS;
  
  ENDa;
  
  3、頂層電路的設計
  
  將上述6個模塊生成符號,供頂層電路調用。這些模塊分別是:遞減鋸齒波信號產生模塊signall、遞增鋸齒波信號產生模塊signal2、三角波信號產生模塊signal3、階梯波信號產生模塊signal4、方波信號產生模塊signal5和數據選擇器mux51。頂層電路的連接如圖5所示。
  
  圖5信號發生器頂層電路
  
  4、D/A轉換器的連接
  
  選擇一個D/A轉換器,將數據選擇器的輸出與D/A轉換器的輸入端連接。D/A轉換器的可選范圍很寬,這里以常用的DAC0832為例。DAC0832的連接電路如圖6所示。
  
  圖6DAC0832的連接電路
  
  5、實現與測試
  
  信號發生器頂層電路的仿真波形如圖7所示,這里只就輸入選擇信號等于5時的情況進行仿真,此時輸出波形是方波,輸出的數字信號為周期性的全0或全1。
  
  圖7信號發生器頂層電路的仿真波形
  
  信號發生器的底層電路模塊也可以分別進行仿真,例如對階梯波信號產生模塊signal4進行仿真,仿真波形如圖8所示,輸出的數字信號為階梯狀變化。
  
  圖8階梯波信號產生模塊signal4的仿真波形
  
  6、結束語
  
  硬件電路設計主要是設計相關模塊的設計思想的可視化,是相關模塊的電路圖的匯總和其相關仿真波形的集錦,該部分條理清晰,思路明確,從中我們可以清晰地看到該設計方案的具體模塊和整個設計的原理結構實圖;程序設計這一部分主要闡述該設計的設計方法與設計思想,進一步從軟件設計上揭示設計構思,主要包含了整個設計所用到的模塊的硬件描述語言的設計,本文設計思路清晰,通過QuartusII軟件進行波形仿真成功,特別是正弦信號發生器的LPM定制對于編程不是特別強的人員提供另一種途徑來實現,加深理解EDA的層次設計思想,很好的把握住了教學的改革方向,更好的鍛煉了學生理論實踐的能力。

免責聲明

  • 凡本網注明“來源:儀表網”的所有作品,均為浙江興旺寶明通網絡有限公司-儀表網合法擁有版權或有權使用的作品,未經本網授權不得轉載、摘編或利用其它方式使用上述作品。已經本網授權使用作品的,應在授權范圍內使用,并注明“來源:儀表網”。違反上述聲明者,本網將追究其相關法律責任。
  • 本網轉載并注明自其它來源(非儀表網)的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或和對其真實性負責,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品第一來源,并自負版權等法律責任。
  • 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
聯系我們

客服熱線: 15267989561

加盟熱線: 15267989561

媒體合作: 0571-87759945

投訴熱線: 0571-87759942

關注我們
  • 下載儀表站APP

  • Ybzhan手機版

  • Ybzhan公眾號

  • Ybzhan小程序

企業未開通此功能
詳詢客服 : 0571-87759942
主站蜘蛛池模板: 国产初高中生露脸在线播放 | 日韩在线视屏 | 欧美在线视频一区二区 | 三个男人躁我一个爽公交车上 | 诱人的女邻居9中文观看 | 蜜臀久久99精品久久久久久 | 亚洲a久久 | 斗罗大陆4终极斗罗免费观看 | 国产精品vⅰdeoXXXX国产 | 日韩第一夜 | 波多野结衣在线播放 | 久久精品亚洲热 | 美女视频一区 | 婷婷影院在线综合免费视频 | 亚洲成人精品免费 | 大乳三级a做爰大乳 | 中文字幕一区二区三A片 | 久久天天躁狠狠躁夜夜婷 | 欧美片网站| 久久精品国产99精品最新 | 日韩久久无码免费看A | 免费观看作爱视频网站 | 毛片18 | 少妇bbbb水多毛片人 | 欧美在线视频一区在线观看 | 阿娇艳z门照片无码av4i | 刘亦菲一区二区三区免费看 | 欧美高清一区三区在线专区 | 黄动漫在线免费观看 | www在线看片 | 精品欧美亚洲韩国日本久久 | 无码人妻精品一区二区三 | 91伊人 | 四虎影视最新网站 | 91精品一区二区三区综合在线爱 | 久久久com | 一区二区天堂 | 亚洲狠狠婷婷综合久久久久图片 | 欧美视频亚洲视频 | 久久狠狠中文字幕2017 | 级R片内射在线视频播放 |