基于fpga信號發(fā)生器畢業(yè)設(shè)計_第1頁
已閱讀1頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p><b>  目 錄</b></p><p><b>  摘 要2</b></p><p>  1 前 言3</p><p><b>  2 設(shè)計方案5</b></p><p>  2.1 總體設(shè)計思路5</p><p>

2、;  2.2 方案論證6</p><p>  2.2.1方案一6</p><p>  2.2.2方案二6</p><p>  2.2.3方案三6</p><p>  2.3 方案確定7</p><p><b>  3 軟件設(shè)計8</b></p><p>  3.

3、1 波形產(chǎn)生模塊8</p><p>  3.1.1正弦波8</p><p>  3.1.2 矩形波10</p><p>  3.1.3 三角波10</p><p>  3.1.4 基波11</p><p>  3.1.5諧波的產(chǎn)生11</p><p>  3.1.6 波形模塊圖11

4、</p><p>  3.2 頻率控制模塊11</p><p>  3.3 選擇波形模塊11</p><p>  3.4 分頻器模塊13</p><p>  3.4.1 設(shè)計思路13</p><p>  3.4.2 VHDL實現(xiàn)13</p><p>  3.4.3 分頻值計算14&l

5、t;/p><p>  4 硬件電路設(shè)計15</p><p>  4.1 硬件設(shè)計注意事項15</p><p>  4.2濾波電路15</p><p>  4.3 幅度控制電路16</p><p>  4.4 FPGA器件引腳分配16</p><p>  4.5 硬件電路實現(xiàn)17</

6、p><p>  5 調(diào) 試18</p><p>  5.1設(shè)計及仿真調(diào)試使用設(shè)備18</p><p>  5.2 調(diào)試方法18</p><p>  5.2.1 硬件調(diào)試18</p><p>  5.2.2 軟件調(diào)試18</p><p>  5.2.3 綜合調(diào)試18</p>

7、<p>  5.3 調(diào)試結(jié)果19</p><p>  5.3.1 軟件仿真結(jié)果及分析19</p><p>  5.3.2 綜合調(diào)試結(jié)果21</p><p><b>  6 結(jié) 論24</b></p><p><b>  致謝辭25</b></p><p&g

8、t;<b>  參考文獻26</b></p><p><b>  附 錄27</b></p><p>  基于FPGA的信號發(fā)生器</p><p><b>  摘 要</b></p><p>  本次設(shè)計課題為應用VHDL語言及MAX+PLUS II軟件提供的原理圖輸

9、入設(shè)計功能,結(jié)合電子線路的設(shè)計加以完成一個可應用于數(shù)字系統(tǒng)開發(fā)或?qū)嶒灂r做輸入脈沖信號或基準脈沖信號用的信號發(fā)生器,它具結(jié)構(gòu)緊湊,性能穩(wěn)定,設(shè)計結(jié)構(gòu)靈活,方便進行多功能組合的特點,經(jīng)濟實用,成本低廉。具有產(chǎn)生三種基本波形脈沖信號(正弦波、矩形波和三角波),以及三次(及三次以下)諧波與基波的線性組合脈沖波形輸出,且單脈沖輸出脈寬及連續(xù)脈沖輸出頻率可調(diào),范圍從100HZ到1kHZ,步進為100HZ;幅度可調(diào),從0到5伏,步進為0.1V。<

10、;/p><p>  關(guān)鍵詞:信號發(fā)生器, FPGA,EDA,VHDL語言。</p><p><b>  1 前 言</b></p><p>  隨著我國的經(jīng)濟日益增長,社會對電子產(chǎn)品的需求量也就越來越大,目前,我國的電子產(chǎn)品市場正在迅速的壯大,市場前景廣闊。FPGA(Field Programmable Gate Array,現(xiàn)場可編程門陣列

11、)在現(xiàn)代數(shù)字電路設(shè)計中發(fā)揮著越來越重要的作用。FPGA/CPLD(Complex Programmable Logic Device)所具有的靜態(tài)可重復編程和動態(tài)在系統(tǒng)重構(gòu)的特性,使得硬件的功能可以像軟件一樣通過編程來修改,這樣就極大地提高了電子系統(tǒng)設(shè)計的靈活性和通用性,縮短了產(chǎn)品的上市時間并降低可電子系統(tǒng)的開發(fā)成本,且可以毫不夸張地講,F(xiàn)PGA/CPLD能完成任何數(shù)字器件的功能,從簡單的74電路到高性能的CPU。它的影響毫不亞于20世

12、紀70年代單片機的發(fā)明和使用。</p><p>  現(xiàn)在隨著電子技術(shù)的發(fā)展,產(chǎn)品的技術(shù)含量越來越高,使得芯片的復雜程度越來越高,人們對數(shù)萬門乃至數(shù)百萬門設(shè)計的需求也越來越多,特別是專用集成電路(ASIC)設(shè)計技術(shù)的日趨進步和完善,推動了數(shù)字系統(tǒng)設(shè)計的迅速發(fā)展。僅靠原理圖輸入方式已不能滿足要求,采用硬件描述語言VHDL的設(shè)計方式應運而生,解決了傳統(tǒng)用電路原理圖設(shè)計大系統(tǒng)工程時的諸多不便,成為電子電路設(shè)計人員的最得力

13、助手。設(shè)計工作從行為、功能級開始,并向著設(shè)計的高層次發(fā)展。這樣就出現(xiàn)了第三代EDA系統(tǒng),其特點是高層次設(shè)計的自動化。 </p><p>  第三代EDA系統(tǒng)中除了引入硬件描述語言,還引入了行為綜合工具和邏輯綜合工具,采用較高的抽象層次進行設(shè)計,并按層次式方法進行管理,可大大提高處理復雜設(shè)計的能力,縮短設(shè)計周期,綜合優(yōu)化工具的采用使芯片的品質(zhì)如面積、速度和功耗等獲得了優(yōu)化,因而第三代EDA系統(tǒng)迅速得到了推廣應用。&

14、lt;/p><p>  目前,最通用的硬件描述語言有VHDL和VerilogHDL兩種,現(xiàn)在大多設(shè)計者都使用93年版標準的VHDL,并且通過了IEEE認定,成為世界范圍內(nèi)通用的數(shù)字系統(tǒng)設(shè)計標準。VHDL是一種新興的程序設(shè)計語言,使用VHDL進行設(shè)計其性能總是比常規(guī)使用CPU或者MCU的程序設(shè)計語言在性能上要高好幾個數(shù)量級。這就是說,在傳統(tǒng)上使用軟件語言的地方,VHDL語言作為一種新的實現(xiàn)方式會應用得越來越廣泛。本課題

15、設(shè)計是采用美國Altera公司的FLEX10K10器件,使用的是Altera公司的EDA軟件平臺Maxplus –II可編程邏輯器件開發(fā)軟件?;贓DA工具的FPGA/CPLD的開發(fā)流程CPLD/FPGA器件的設(shè)計一般可分為設(shè)計輸入、設(shè)計實現(xiàn)和編程三個設(shè)計步驟:</p><p>  1.設(shè)計輸入方式主要由文本輸入和圖形輸入兩種,可根據(jù)需要選擇,也可混合輸入。EDA工具會自動檢查語法;</p><

16、;p>  2.設(shè)計實現(xiàn)階段EDA工具對設(shè)計文件進行編譯,進行邏輯綜合、優(yōu)化,并針對器件進行映射、布局、布線,產(chǎn)生相應的適配文件;</p><p>  3.編程階段EDA軟件將適配文件配置到相應的CPLD/FPGA器件中,使其能夠?qū)崿F(xiàn)預期的功能。</p><p>  信號發(fā)生器是數(shù)字設(shè)備運行工作中必不可少的一部分,沒有良好的脈沖信號源,最終就會導致系統(tǒng)不能夠正常工作,更不必談什么實現(xiàn)其

17、它功能了。不論是處于開發(fā)還是故障檢修階段,輸出標準且性能優(yōu)秀的信號發(fā)生器總是能夠帶來工作效率的大幅提升,使新產(chǎn)品有一個標準的信號源、損壞的系統(tǒng)得到正確校驗,不會被一些故障所蒙蔽。在傳統(tǒng)的信號發(fā)生器中,大都使用分立元件,而且體積龐大攜帶不便,且大部分只能輸出一種脈沖信號波形。在設(shè)計領(lǐng)域,不管采用什么技術(shù)生產(chǎn),生產(chǎn)的產(chǎn)品用在哪里,其產(chǎn)品設(shè)計的宗旨都是離不開以下幾點:實用性高、成本低、可升級、功能完善可擴展等!使用專用的數(shù)字電路設(shè)計的信號發(fā)生

18、器,設(shè)備成本高、使用復雜。基于以上考慮,在中小型數(shù)字電路的設(shè)計和測試中,迫切需要設(shè)計一種小型易用成本低廉的信號發(fā)生器。此課題的設(shè)計以小型經(jīng)濟,集成度高,性能穩(wěn)定,使用方便為指導,在功能上力求完善實用,同時兼顧商業(yè)價值與應用價值的體現(xiàn)。</p><p><b>  2 設(shè)計方案</b></p><p>  2.1 總體設(shè)計思路</p><p>&

19、lt;b>  1 設(shè)計步驟</b></p><p>  此設(shè)計將按模塊式實現(xiàn),據(jù)任務書要求,設(shè)計總共分四大步份完成:(1)產(chǎn)生波形(三種波形:方波、三角波和矩形波)信號;(2)波形組合;(3)頻率控制;(4)幅度控制。</p><p><b>  2 設(shè)計思想</b></p><p>  利用VHDL編程,依據(jù)基本數(shù)字電路模塊

20、原理進行整合。系統(tǒng)各部分所需工作時鐘信號由輸入系統(tǒng)時鐘信號經(jīng)分頻得到,系統(tǒng)時鐘輸入端應滿足輸入脈沖信號的要求。組合波形信號經(jīng)顯示模塊輸出。具備幅度和頻率可調(diào)功能,幅度可通過電位器調(diào)整,頻率控制模塊則是一個簡易的計數(shù)器,控制步徑為100HZ的可調(diào)頻率,最終送至脈沖發(fā)生模塊輸出脈沖信號,達到設(shè)計課題所要求的輸出波形頻率可調(diào)及幅度可調(diào)功能。幅度可調(diào)功能由于比較簡單,可以在FPGA外部利用硬件電路實現(xiàn)??傮w設(shè)計框圖如下圖1所示:</p&g

21、t;<p><b>  1KHZ</b></p><p><b>  圖1 總體設(shè)計框圖</b></p><p><b>  2.2 方案論證</b></p><p><b>  2.2.1方案一</b></p><p>  采用DDS(直接

22、數(shù)字頻率合成器)來設(shè)計,設(shè)計總體框圖如圖2所示。在設(shè)計界里眾所周知,DDS器件采用高速數(shù)字電路和高速D/A 轉(zhuǎn)換技術(shù),具有頻率轉(zhuǎn)換時間短、頻率分辨率高、頻率穩(wěn)定度高、輸出信號頻率和相位可快速程控切換等優(yōu)點,所以,我們可以利用DDS具有很好的相位控制和幅度控制功能,另外其數(shù)據(jù)采樣功能也是極具精確和完善的,它可以產(chǎn)生較為精確的任何有規(guī)則波形信號,可以實現(xiàn)對信號進行全數(shù)字式調(diào)制。用FPGA和DDS實現(xiàn)信號調(diào)制,既克服了傳統(tǒng)的方法實現(xiàn)

23、帶來的缺點,若采用它來編程設(shè)計,必定會事半功倍,且使設(shè)計趨于理想狀態(tài)。但鑒于DDS的占用RAM空間較大,我們設(shè)計是采用FPGA10K10器件,總共只有一萬門的邏輯門數(shù)量,而整個DDS設(shè)計下來,大概最少會占用3-4萬門的數(shù)量,所以在性價比方面不合理,這樣也使得我們的設(shè)計會有些不切實際。</p><p>  頻率控制字

24、 信號輸出 </p><p><b>  時鐘</b></p><p>  圖2 DDS與FPGA總體設(shè)計圖 </p><p><b>  2.2.2方案二</b></p><p>  采用震蕩器頻率合成方案。具體方案如下:首先通過頻率合成技術(shù)產(chǎn)生所需要頻率的方波,通過積分電路

25、就可以得到同頻率的三角波,再經(jīng)過濾波器就可以得到正弦波。其優(yōu)點是工作頻率可望做得很高,也可以達到很高的頻率分辨率;缺點是使用的濾波器要求通帶可變,實現(xiàn)很難,高低頻率比不可能做得很高。</p><p><b>  2.2.3方案三</b></p><p>  采用VHDL語言來編程,然后下載文件到FPGA來實現(xiàn)。VHDL語言是電子設(shè)計領(lǐng)域的主流硬件描述語言,具有很強的電

26、路描述和建模能力,能從多個層次對數(shù)字系統(tǒng)進行建模和描述,從而大大降低了硬件設(shè)計任務,提高了設(shè)計效率和可靠性,要比模擬電路快得多。該方案是利用FPGA具有的靜態(tài)可重復編程和動態(tài)在系統(tǒng)重構(gòu)的特性,使得硬件的功能可以像軟件一樣通過編程來修改,極大地提高了電子系統(tǒng)設(shè)計的靈活性和通用性,而且大大縮短了系統(tǒng)的開發(fā)周期。</p><p><b>  2.3 方案確定</b></p><

27、p>  由上述三個方案對比,采用第三種方案:</p><p>  通過FPGA軟件掃描方式將波形數(shù)據(jù)讀出傳輸給DAC0832產(chǎn)生波形輸出。這種方法在軟、硬件電路設(shè)計上都簡單,且與我們的設(shè)計思路緊密結(jié)合。</p><p>  由于幅度控制部分在設(shè)計需要用到數(shù)字電子,這樣有要經(jīng)過D/A轉(zhuǎn)換器再輸出,必將占用大量資源,造成不必要的開銷。鑒于有設(shè)計經(jīng)驗的同學和老師的建議,采用一個電位器代替,

28、雖然精確度不夠,但是也彌補了性價比方面的不足。</p><p>  波形組合如果采用分開式模塊實現(xiàn),也必將導致占用大量的資源,而且模塊設(shè)計復雜度提高,只要采用重復調(diào)用一個模塊的設(shè)計方法,既可以降低資源的占用率,也使得設(shè)計更加靈活且有針對性。此信號發(fā)生器的特點及功能集成度高,因采取整體模塊式設(shè)計,在此也考慮到實際應用中,萬一FPGA的邏輯門數(shù)量不夠,特準備了一套備用方案。</p><p> 

29、 備用方案:將波形數(shù)據(jù)存放在6116RAM中,6116的存儲容量大,且可重復使用,雖用單片機在速度方面遠不及FPGA,但是這樣是在出現(xiàn)上述狀況后的最佳補償方式。</p><p>  綜合以上涉及方面的分析,因此本次課題采用此方案進行設(shè)計。</p><p><b>  3 軟件設(shè)計</b></p><p>  3.1 波形產(chǎn)生模塊</p&g

30、t;<p>  本設(shè)計用VHDL語言根據(jù)傅立葉函數(shù)采集點進行掃描,分別產(chǎn)生正弦波、三角波和矩形波。以下介紹各種常用周期信號的傅立葉函數(shù)展開式。</p><p><b>  3.1.1正弦波</b></p><p><b>  1設(shè)計思想 </b></p><p>  正弦波發(fā)生分為兩個步驟,即正弦波幅值采樣存

31、儲和正弦波波形的還原輸出。幅值采樣是將一個周期正弦波進行64等分,如圖3所示,將64個采樣點進行量化處理,量化值=255*sin360/64(V),將64點量化值存入存儲器。正弦波形的產(chǎn)生是通過循環(huán)反復將存儲器中的64點采樣值通過DAC0832進行還原輸出,得到幅值正比于64點采樣值的正弦波。</p><p><b>  2 VHDL實現(xiàn)</b></p><p>  

32、1.正弦信號波形數(shù)據(jù)文件建立</p><p>  正弦波波形數(shù)據(jù)由64個點構(gòu)成,此數(shù)據(jù)經(jīng)DAC0832,可在示波器上觀察到正弦波形。源程序如下程序1所示:</p><p><b>  [程序1]</b></p><p>  WIDTH=8; ------表示數(shù)據(jù)輸出位寬是

33、8</p><p>  DEPTH=64; ----表示共有64個8位數(shù)據(jù)點</p><p>  ADDRESS_RADIX=HEX; -----表示地址信號用十六進制數(shù)表示</p><p>  DATA_RADIX=DEC;

34、 -----表示輸出數(shù)據(jù)是十進制數(shù)</p><p>  CONTENT BEGIN</p><p>  00:255;01:254;02:252;03:249;04:245;05:239;06:233;07:225;</p><p>  08:217;09:207;0A:197;0B:186;0C:174;0D:162;0E:150;0F:

35、137;</p><p>  10:124;11:112;12: 99;13: 87;14: 75;15: 64;16: 53;17: 43;</p><p>  18: 34;19: 26;1A: 19;1B: 13;1C: 8;1D: 4;1E: 1;1F: 0;</p><p>  20: 0;21: 1;22: 4;23: 8;24: 13;

36、25: 19;26: 26;27: 34;</p><p>  28: 43;29: 53;2A: 64;2B: 75;2C: 87;2D: 99;2E:112;2F:124;</p><p>  30:137;31:150;32:162;33:174;34:186;35:197;36:207;37:217;</p><p>  38:225;39:233;3A:2

37、39;3B:245;3C:249;3D:252;3E:254;3F:255;</p><p><b>  END;</b></p><p>  2.定制ROM源程序如下所示:</p><p>  SINDATA.VHD:</p><p>  LIBRARY ieee;</p><p>  USE

38、ieee.std_logic_1164.all;</p><p>  entity sindata is</p><p>  port(address:in std_logic_vector(5 downto 0);</p><p>  inclock:in std_logic;</p><p>  q:out std_logic_vecto

39、r(7 downto 0);</p><p>  end sindata;</p><p>  architecture syn of sindata is</p><p>  signal sub_wire0 :std_logic_vector(7 downto 0);</p><p>  component 1pm_rom</p&g

40、t;<p>  generic(1pm_width :natural;</p><p>  1pm_widthid :natural;</p><p>  1pm_address_control:string;</p><p>  1pm_outdata:string;</p><p>  1pm_file:string)

41、;</p><p>  port(address:in std_logic_vector(5 downto 0);</p><p>  inclock:in std_logic;</p><p>  q:out std_logic_v ector(7 downto 0));</p><p>  end component;</p>

42、<p><b>  begin</b></p><p>  q<=sub_wire0(7 downto 0);</p><p>  1pm_rom_component:1pm_rom</p><p>  generic map(lpm_width=>8,lpm_widthad=>6,</p><

43、;p>  lpm_address_comtrol=>"registered",lpm_outdata=>"unregistered",</p><p>  lpm_file=>"D:/SIN_G/DATA/sin_data.mif")</p><p>  port map(address=>addre

44、ss,inclock=>inclock,q=>sub_wire0);</p><p><b>  end syn;</b></p><p>  正弦波信號發(fā)生器頂層設(shè)計源程序:</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;<

45、/p><p>  use ieee.std_logic_unsigend.all;</p><p>  entity signt is</p><p>  port(clk:in std_logic;</p><p>  dout:out std_logic_vector(7 downto 0));</p><p><

46、;b>  end</b></p><p>  architecture dacc of singt is</p><p>  component sindata</p><p>  port(address:in std_logic_vector(5 downto 0);</p><p>  inclock:in std_l

47、ogic;</p><p>  q:out std_logic_vector(7 downto 0));</p><p>  end conponent;</p><p>  signal q1:std_logic_vector(5 downto 0);</p><p><b>  begin</b></p>

48、<p>  process(clk)</p><p><b>  begin</b></p><p>  if clk'event and clk='1'then q1<=q1+1;</p><p><b>  end if</b></p><p>  e

49、nd process;</p><p>  u1:sindata port map(address=>q1,q=>dout;in clock=>clk);</p><p><b>  end;</b></p><p><b>  3.1.2 矩形波</b></p><p><

50、b>  1設(shè)計思路</b></p><p>  矩形波的實現(xiàn)較之正弦波發(fā)生簡單,由于矩形波是兩個電平值間的交替變換,因此波形采樣值的預存只要有兩個不同的數(shù)值就行了,為了使矩形波發(fā)生的頻率靈活可調(diào),采用60個采樣值掃描輸出來實現(xiàn),每半個矩形波周期采用三十個采樣值,循環(huán)反復將存儲器中的60點采樣值通過DAC0832進行還原輸出,得到幅值正比于點采樣值的矩形波。采樣圖如圖4所示。</p>

51、<p><b>  2 VHDL實現(xiàn)</b></p><p><b>  源程序見附錄。 </b></p><p><b>  3.1.3 三角波</b></p><p><b>  1設(shè)計思路</b></p><p>  由于三角波是線性的,

52、比較簡單就可以產(chǎn)生,如果最低電壓設(shè)為15V,最高是255V,那么根據(jù)它的公式255/15=17,每個點的電壓只要依次加17就可以得到,一個波形所以采用簡單的加減算法就可實現(xiàn),如圖5所示三角波的采樣圖:</p><p><b>  圖5 三角波采樣圖</b></p><p><b>  2 VHDL實現(xiàn)</b></p><p&g

53、t;<b>  具體源程序見附錄。</b></p><p><b>  3.1.4 基波</b></p><p>  通過VHDL編程產(chǎn)生的正弦波、方波、三角波三種周期性波形即為基波。</p><p>  3.1.5諧波的產(chǎn)生</p><p>  采用與基波產(chǎn)生的同樣原理,編程產(chǎn)生三種波形的諧波,所

54、不同的是一個波形的周期采樣的點數(shù)不同,如果基波采樣點為63個,諧波采樣點數(shù)則為21個,其每點的電壓值為255*(sin360/60+sin360/20)(V),在對其進行循環(huán)掃描即可實現(xiàn)基波與諧波的線性疊加。</p><p>  3.1.6 波形模塊圖</p><p>  最終波形的設(shè)計模塊圖如圖6所示,L1是三角波,L2是方波,L3是正弦波,L4是諧波。</p><

55、p>  3.2 頻率控制模塊</p><p>  本課題要求頻率控制是在100HZ-1KHZ,步進為100HZ。在本題設(shè)計中只需借助FPGA便可完成。根據(jù)用戶需要的頻率,通過編程把頻率控制數(shù)值傳送給各個模塊,從而實現(xiàn)頻率的控制。如下圖7所示:</p><p>  3.3 選擇波形模塊</p><p>  這一部分主要是通過一個按鍵對波形進行循環(huán)選擇,按下確認

56、按鈕后進行波形的調(diào)用。設(shè)計流程圖如下圖8所示</p><p><b>  圖6 波形模塊圖</b></p><p>  圖7 頻率控制模塊流程圖</p><p>  圖8 選擇波形電路設(shè)計流程圖</p><p><b>  3.4 分頻器模塊</b></p><p>  3.

57、4.1 設(shè)計思路</p><p>  分頻器模塊將輸入的高頻脈沖降頻得到各模塊所需的低頻脈沖,分頻器模塊利用計數(shù)器的原理進行設(shè)計,通過對預設(shè)的分頻值進行比較計數(shù),實現(xiàn)輸入高頻時鐘脈沖的分頻輸出功能。本次課題的設(shè)計方案中使用了十組分頻器,其設(shè)計原理完全相同,將對應的頻率用8421BCD碼對其進行編程賦值,如100HZ則對應的二進制數(shù)是“0000”,200HZ則是“0001”…1KHZ則是“1010”?,F(xiàn)選取其中的5

58、00分頻分頻器進行簡單說明。具體程序見附錄。</p><p>  3.4.2 VHDL實現(xiàn)</p><p>  PROCESS(CLK_IN)</p><p><b>  BEGIN</b></p><p>  IF(CLK_IN'EVENT AND CLK_IN='0') THEN</p&

59、gt;<p>  IF Step<249 THEN――分頻值</p><p>  Step<=Step+1;</p><p><b>  ELSE</b></p><p>  Step<=0;――循環(huán)累加</p><p>  CLK_OUT<=NOT CLK_OUT;――計數(shù)滿

60、,輸出翻轉(zhuǎn)</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  3.4.3 分頻值計算</p><p>  分頻值=(輸出時鐘脈沖周期/輸入時鐘脈沖周期)/2

61、-1</p><p>  輸入時鐘脈沖頻率=1KHz,周期=1ms;輸出時鐘脈沖頻率=2Hz,周期=500ms</p><p>  分頻值=(500ms/1ms)/2-1=249</p><p>  3.4.4 分頻器模塊及初步仿真圖</p><p>  分頻器模塊及初步仿真圖如圖9所示。</p><p><b&

62、gt;  4 硬件電路設(shè)計</b></p><p>  4.1 硬件設(shè)計注意事項</p><p>  此次設(shè)計利用EDA試驗箱實現(xiàn)硬件功能,試驗箱設(shè)計可靠,干擾小,能使系統(tǒng)在良好的環(huán)境中正常工作。但是實際制作硬件電路時,就應考慮到干擾所帶來的負面影響。為了避免干擾信號影響系統(tǒng)正常工作,未分配功能的FPGA引腳必須接地,在FPGA器件的電源端必須并連一0.01uF的退耦電容,在所

63、有的輸入引腳上串聯(lián)100歐姆左右電阻減弱干擾信號影響,如有必要還應在輸入端設(shè)置上拉或下拉電阻。</p><p><b>  4.2濾波電路</b></p><p>  如圖10所示,設(shè)計D/A輸出后,通過濾波電路、輸出緩沖電路,使信號平滑且具有負載能力。</p><p>  正弦波的輸出頻率小于262kHz,為保證262kHz 頻帶內(nèi)輸出幅度平

64、坦,又要盡可能抑制諧波和高頻噪聲,綜合考慮取 R1=1k,R2=1k,C1=100pF,C=100pF運放選用寬帶運放LF351,用 Electronics Workbench 分析表明:截止頻率約為1MHz,262KHz 以內(nèi)幅度平坦。 為保證穩(wěn)幅輸出,選用AD817,這是一種低功耗、高速、寬帶運算放大器 , 具有很強的大電流驅(qū)動能力。實際電路測量結(jié)果表明:當負載100Ω、輸出電壓峰-峰值1

65、OV時,帶寬大于500kHz,幅度變化小于土1%。</p><p>  4.3 幅度控制電路</p><p>  幅度控制電路采用初定方案來設(shè)計,即用一個電位器來控制波形的輸出幅度。電位器的型號為10K 歐。</p><p>  4.4 FPGA器件引腳分配</p><p>  為了方便硬件設(shè)計,降低硬件設(shè)計的復雜度,對FPGA的輸入輸出引腳

66、進行分配,將關(guān)聯(lián)的引腳集中排布,將同一組內(nèi)的引腳按順序排布,將需要輸入高頻時鐘脈沖的端口安排在時鐘輸入端,以提高其信號接收能力。分配如下:</p><p>  CLKUSR PIN62。</p><p>  CS0 PIN67。</p><p>  CS1 PIN68</p><p>  BEV_CLK PIN76

67、.</p><p>  BEV_OE PIN72</p><p>  IN PIN31、33、73、75。</p><p>  D0 PIN1</p><p>  TD0 PIN9</p><p>  TD1 PIN4</p><p>  CE0 PIN6

68、4</p><p>  CE1 PIN3</p><p>  CONFIG PIN23</p><p>  CONF_DONE PIN65</p><p>  RS PIN70</p><p>  WS PIN69</p><p>  TMS PIN46<

69、;/p><p>  TRST PIN45</p><p>  TCK PIN66</p><p>  DCLK PIN2</p><p>  STATUS PIN44</p><p>  MSEL0 PIN20</p><p>  MSEL1 PIN21</p&

70、gt;<p>  INIT_DONE PIN58</p><p>  RDY_BUSY PIN59</p><p>  DEV_OE PIN72</p><p>  DEV_CLR PIN77</p><p>  4.5 硬件電路實現(xiàn)</p><p>  此次設(shè)計硬件部分通過FPGA/CPL

71、D實驗箱完成,如今后需制作單獨的硬件電路,亦可以依照實驗箱各部分結(jié)構(gòu)進行設(shè)計。</p><p><b>  5 調(diào) 試</b></p><p>  5.1設(shè)計及仿真調(diào)試使用設(shè)備</p><p>  示波器:Hitachi V-1060,萬用表,F(xiàn)PGA實驗箱,PC機各一臺。 </p><p><b>  5

72、.2 調(diào)試方法</b></p><p>  根據(jù)方案設(shè)計的要求,調(diào)試過程共分三大部分:硬件調(diào)試、軟件調(diào)試和綜合調(diào)試。電路用FPGA/CPLD實驗箱按模塊調(diào)試,各模塊逐個調(diào)試通過后再進行綜合調(diào)試。</p><p>  5.2.1 硬件調(diào)試</p><p>  (1)在做控制電路的調(diào)試時,分析輸入輸出,可以發(fā)現(xiàn)時序與仿真結(jié)果是否有出入,便于找出硬件電路中的故

73、障。再調(diào)試D/A轉(zhuǎn)換是否正常。   (2) 為提高電路抗干擾性能,我們采取了一些抗干擾措施。如接線線盡量短,減少交叉,每個芯片的電源與地之間都接有去擾電容,數(shù)字地與模擬地分開。實踐證明,這些措施對消除某些引腳上的 “毛刺 ” 及高頻噪聲起到了很好的效果。   (3) 運算放大器的選擇 由于輸出頻率達到上千赫茲,因此對放大器的帶寬有一定要求。所以,在調(diào)試濾波電路和緩沖輸出電路

74、時,都選擇了高速寬帶運放。</p><p>  5.2.2 軟件調(diào)試</p><p>  本系統(tǒng)的軟件功能強大,運用VHDL語言來編寫,先在MAX+PLUS II對所編的模塊一一進行仿真,排除了語法的錯誤編寫和設(shè)計邏輯思維的錯誤,當仿真完確認程序沒問題時,再直接下載到FPGA芯片,用FPGA實驗箱進行調(diào)試。采取的就是自底向上的調(diào)試方法,即先單獨調(diào)試好每一個模塊,然后再連接成一個完整的系統(tǒng)再

75、調(diào)試。</p><p>  5.2.3 綜合調(diào)試</p><p>  FPGA系統(tǒng)的軟硬件設(shè)計是緊密相連的,將軟件編譯綜合并且通過下載對FPGA進行適配,運行中的FPGA是由其內(nèi)部的硬件結(jié)構(gòu)控制讀出數(shù)據(jù),從而產(chǎn)生波形。因此,如果在軟硬件都基本調(diào)通的情況下,系統(tǒng)的軟硬件綜合調(diào)試難度不是很大。</p><p><b>  5.3 調(diào)試結(jié)果</b>&

76、lt;/p><p>  5.3.1 軟件仿真結(jié)果及分析 </p><p><b>  1.分頻</b></p><p>  (1)仿真波形圖如圖11所示:</p><p><b>  圖11</b></p><p>  CLKIN:基準時鐘輸入;</p>

77、<p>  CLKOUT:分頻時鐘輸出;</p><p>  MOVIN:處始置入值;</p><p><b> ?。?)仿真結(jié)果分析</b></p><p>  CLK_IN為輸入高頻時鐘脈沖,CLKOUT為分頻輸出的低頻時鐘脈沖。此分頻器輸入為1KHz,輸出為100Hz,為10分頻分頻器,如圖12所示。</p>

78、<p><b>  2.信號波形產(chǎn)生</b></p><p><b> ?。?)正弦波</b></p><p>  仿真波形圖如圖12所示:</p><p><b>  圖12</b></p><p>  FRCT:相位控制端;</p><p>

79、;<b>  CLK:時鐘輸入;</b></p><p>  SINOUT:正弦波輸出;</p><p>  VSIN:正弦波地址寄存器;</p><p><b>  (2)方波</b></p><p>  仿真波形圖如圖13所示:</p><p><b>  圖1

80、3</b></p><p><b>  CLK:時鐘輸入;</b></p><p>  FRCT:相位控制端;</p><p>  SQUOUT:方波輸出;</p><p><b>  (3)三角波</b></p><p>  仿真波形圖如圖14所示:</p

81、><p><b>  圖14</b></p><p><b>  CLK:時鐘輸入;</b></p><p>  FRCT:相位控制端;</p><p>  TRIOUT:三角波輸出;</p><p> ?。?)任意波形的地址</p><p>  仿真波形

82、圖如圖15所示:</p><p><b>  圖15</b></p><p>  FRCT:相位控制端;</p><p><b>  CLK:時鐘輸入;</b></p><p>  ADDOUT:地址輸出;</p><p><b> ?。?)波形選擇</b&g

83、t;</p><p>  仿真波形圖如圖16所示:</p><p><b>  圖16</b></p><p>  RI:RAM的讀數(shù)控制端;</p><p>  SELIN:波形選擇輸入端(0:正弦波;1:三角波;2:方波;3:任意波地址;4:三角波和正弦波的疊加;5:方波和正弦波的疊加;6:方波和三角波的疊加;7:三

84、種波形的疊加)</p><p>  ADDIN:地址輸入端;</p><p>  SININ:正弦波輸入端;</p><p>  TRIIN:三角波輸入端;</p><p>  SQUIN:方波輸入端;</p><p>  QADD:地址輸出端;</p><p>  Q:波形選擇輸出端;<

85、/p><p><b> ?。?)仿真結(jié)果分析</b></p><p>  經(jīng)過仿真,從各個仿真圖上看得,基本上可以實現(xiàn)預期的波形產(chǎn)生功能。</p><p>  5.3.2 綜合調(diào)試結(jié)果</p><p>  1.基波的輸出波形如圖17所示: </p><p>  (1)方波

86、 (2)正弦波 (3)三角波</p><p>  圖17 基波輸出波形圖</p><p>  2.諧波與基波疊加的輸出波形</p><p> ?。?)正弦與其三次諧波的疊加,如圖18與圖19所示:</p><p>  圖18 圖19</p>

87、<p> ?。?)我們觀察到圖20D的波形,它也混有二次諧波,但這二次諧波帶有一定的相移(圖20C)。同樣地,當觀察到圖21B的波形,我們就知道它除了基波以外混有三次諧波(見圖21A)。圖21D的波形也混有三次諧波,并帶有一定相移(圖21C)。</p><p> ?。ˋ) (B) (C) (D)</p><p>  圖20 基波

88、與二次諧波疊加</p><p> ?。ˋ) (B) (C) (D)</p><p>  圖21 基波與三次諧波的疊加圖</p><p><b>  3.綜合調(diào)試數(shù)據(jù)</b></p><p> ?。?)輸出波形頻率范圍測試測試數(shù)據(jù)如下表1所示 : </p>

89、;<p><b>  單位:HZ</b></p><p><b>  表1</b></p><p> ?。?) 輸出波形幅度范圍測試,在頻率為100HZ-1KHZ測得的輸出幅度數(shù)據(jù)范圍可以達到0-5V的要求。</p><p><b>  6 結(jié) 論</b></p><

90、p>  通過此次設(shè)計,讓我深深的感覺到自己所學知識真是非常的淺薄。面對電子技術(shù)日新月異的發(fā)展,利用EDA手段進行設(shè)計已成為不可阻擋的趨勢。相對于傳統(tǒng)至底向上的設(shè)計方式,自上而下的設(shè)計具有其顯著的優(yōu)越性。利用EDA設(shè)計軟件輔助設(shè)計,方便快捷,減少了錯誤率的產(chǎn)生,縮短了產(chǎn)品的設(shè)計及上市周期,既減輕了設(shè)計工作量又滿足了商業(yè)利益的需求。</p><p>  該系統(tǒng)以FPGA10K10器件為核心部件,可利用軟件編程實

91、現(xiàn)了對D/A轉(zhuǎn)換信號的處理。努力做到了線路簡單、高性價比的特點,充分利用了軟件編程,彌補了硬件元器件的不足。</p><p>  在設(shè)計過程當中,遇到了軟件操作不熟練,程序編寫不規(guī)范等諸多問題,通過對問題的總結(jié)分析得出,應用軟件的主要功能必須熟練操作,才能提高工作效率,需要規(guī)范操作的地方必須嚴格按照使用說明操作,避免由于軟件使用不當造成的錯誤產(chǎn)生。程序的編寫格式必須規(guī)范,模塊、端口以及信號變量的命名應當反映實際意

92、義,縮進格式工整明了,方便閱讀理解,這樣有利于程序的編寫,有利于分析調(diào)試,也有利于程序的重復使用。</p><p>  此次課題的設(shè)計已告一段落,在這次畢業(yè)設(shè)計過程中需要用一些不曾學過的東西時,就要去有針對性地查找資料,然后加以吸收利用,以提高自己的應用能力,而且還能增長自己見識,補充最新的專業(yè)知識,學會了一些編程方面的常用算法。作為一名電子專業(yè)的畢業(yè)生,我將會繼續(xù)在新技術(shù)的道路上不斷鉆研、開拓進取。相信通過此次

93、設(shè)計的鍛煉,我對專業(yè)知識和技能的掌握將更加牢靠,在今后的工作和學習中,必將使我受益匪淺,取得應有的優(yōu)勢。</p><p><b>  致謝辭</b></p><p>  在這里感謝指導老師鄭文斌給我耐心的指導,在這次設(shè)計期間,碰到許多專業(yè)方面的難題,鄭老師都一一幫我解答,特別在教學繁忙的情況下,還為我們提供了許多寶貴的資料和意見,并幫我們作出了詳細的分析,使我們更加順

94、利地完成此次畢業(yè)設(shè)計。通過這一個多月的時間,使我學到許多知識,明白了許多以前上課時無法理解的知識,還積累了一些較簡單的問題解決方案。與此同時也感謝同組做課題設(shè)計的同學,在設(shè)計過程中,有許多東西我不懂,他們都耐心地給我講解,給予我技術(shù)支援,幫助我解決了不少難題。另外由于該方面的設(shè)計水平有限,所以存在著許多缺陷和失誤,懇請老師批評指正。</p><p><b>  參考文獻</b></p&

95、gt;<p>  [1]潘松,黃繼業(yè). EDA技術(shù)實用教程(第二版). 北京科學出版社. 2005.2</p><p>  [2]億特科技. CPLD/FPGA應用系統(tǒng)設(shè)計與產(chǎn)品開發(fā). 人民郵電出版社. 2005.7</p><p>  [3]李輝. PLD與數(shù)字系統(tǒng)設(shè)計. 西安電子科技大學出版社. 2005.5&l

96、t;/p><p>  [4]王志鵬,付麗琴. 可編程邏輯器件開發(fā)技術(shù)MAX+PLUS II.北京國防工業(yè)出版社.2005.3</p><p>  [5]王道先. VHDL電路設(shè)計技術(shù). 北京國防工業(yè)出版社. 2004.1</p><p>  [6] 趙不賄. 在系統(tǒng)可編程器件與開發(fā)技術(shù). 機械工業(yè)出版社.

97、2001.6</p><p>  [7] 曾繁泰. EDA工程的理論與實踐. 電子工業(yè)出版社. 2004.5</p><p>  [8] 尹佳喜,尹 仕. 基于CPLD的三相多波形函數(shù)發(fā)生器設(shè)計http://www.pld.com.cn/application/a146.htm,2005-9-20。</p><p>  [9

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論