版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 《EDA數字頻率計》</p><p><b> 課程設計報告</b></p><p> 專 業(yè): 電子信息工程 </p><p> 班 級: </p><p> 姓 名: </p><p> 學 號:
2、 </p><p> 指導老師: </p><p> 年 月 日</p><p> EDA課程設計任務書</p><p> 一.課程設計題目:數字頻率計。</p><p> 二、設計任務及要求:</p><p> 1)設計一個能測量方波信
3、號的頻率的頻率計。</p><p> 2)測量的頻率范圍是 0~999999HZ。</p><p> 3)結果用十進制數顯示</p><p> 4)按要求寫好設計報告(設計報告內容包括:引言,方案設計與論證,總體設計,模塊設計,調試與數據分析,總結)。</p><p><b> 三、教學提示:</b></p
4、><p> 1) 脈沖信號的頻率就是在單位時間內所產生的脈沖個數,其表達式以,在1秒時間內計數器所記錄的結果,就是被測信號的頻率。 </p><p> 2) 被測頻率信號取自實驗箱晶體振蕩器輸出信號,加到主控門的輸入端。</p><p> 3) 再取晶體振蕩器的另一標準頻率信號,經分頻后產生各種時基脈沖:1ms,10ms,0.1s,1s
5、等,時基信號的選擇可以控制,即量程可以改變。</p><p> 4)時基信號經控制電路產生閘門信號至主控門,只有在閘門信號采樣期間內(時基信號的一個周期),輸入信號才通過主控門。</p><p> 5)f=N/T,改變時基信號的周期T,即可得到不同的測頻范圍。</p><p> 6)當主控門關閉時,計數器停止計數,顯示器顯示記錄結果,此時控制電路輸出一個置零信
6、號,將計數器和所有觸發(fā)器復位,為新的一次采樣做好準備。</p><p> 7)改變量程時,小數點能自動移位。</p><p><b> 目 錄</b></p><p> 一:課程設計的目的 ……………………(4)</p><p> 二:硬件選擇及連接 ……………………(5)</p><
7、;p> 三:電路圖 ……………………………(6)</p><p> 3.1:頂層電路圖 …………………………(6)</p><p> 3.2:測頻模塊 ……………………………(7)</p><p> 3.3:計數模塊 ……………………………(8)</p><p> 3.4:分頻模塊 …………………………(9)&
8、lt;/p><p> 3.5:鎖存模塊 …………………………(10)</p><p> 3.6:動態(tài)顯示模塊 ……………………(10)</p><p> 四:參考文獻 ……………………………(11)</p><p><b> 1、設計目的</b></p><p> 《EDA課程設計》(注:E
9、DA即電子設計自動化,Electronics Design Automation)是繼《模擬電子技術基礎》、《數字電子技術基礎》、《電子技術基礎實驗》課程后,電氣類、自控類和電子類等專業(yè)學生在電子技術實驗技能方面綜合性質的實驗訓練課程,是電子技術基礎的一個部分,其目的和任務是通過一周的時間,讓學生掌握EDA的基本方法,熟悉一種EDA軟件(MAXPLUS2),并能利用EDA軟件設計一個電子技術綜合問題,并在實驗板上成功下載,為以后進行工程
10、實際問題的研究打下設計基礎。</p><p> 1.1課程設計的目的與任務</p><p> ?、?熟練掌握EDA工具軟件QuartusII的使用;</p><p> ?、剖炀氂肰HDL硬件描述語言描述數字電路;</p><p> ⑶學會使用VHDL進行大規(guī)模集成電路設計;</p><p> ⑷學會用CPLD\F
11、PGA使用系統(tǒng)硬件驗證電路設計的正確性;</p><p> ?、沙醪秸莆誆DA技術并具備一定的可編程邏輯芯片的開發(fā)能力;</p><p><b> 1.2實驗儀器設備</b></p><p><b> ?、?PC機;</b></p><p> ?、芉uartusII軟件;</p>&
12、lt;p> ⑶型CPLD\FPGA實驗開發(fā)系統(tǒng);</p><p> 2、硬件選擇及連接:</p><p> 3.1目標芯片:ACEX1K系列EP1K30TC144-3</p><p> 3.2:引腳鎖定情況:</p><p> 3.3:選擇模式:NO.2</p><p><b> 3、設計電
13、路圖:</b></p><p> 3.1、 頂層電路圖:</p><p><b> 3.2、測頻模塊:</b></p><p> %測頻控制信號發(fā)生器</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;&l
14、t;/p><p> use ieee.std_logic_unsigned.all; </p><p> entity cp is</p><p> port(clkk: in std_logic;</p><p> en,rst,load: out std_logic);</p><p&g
15、t;<b> end;</b></p><p> architecture cp_1 of cp is </p><p> signal div2: std_logic;</p><p><b> begin</b></p><p> process(clkk)</p>&l
16、t;p><b> begin</b></p><p> if(clkk'event and clkk='1') then </p><p> div2 <= not div2;</p><p><b> end if;</b></p><p> end
17、 process;</p><p> process(clkk,div2)</p><p><b> begin </b></p><p> if (clkk='0' and div2='0') then </p><p> rst <='1';</p
18、><p> else rst <='0';</p><p><b> end if;</b></p><p> end process;</p><p><b> end;</b></p><p><b> 3.3、計數模塊:</b
19、></p><p><b> %十進制計數器</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> en
20、tity cnt10 is</p><p> port(rst,en,clk: in std_logic;</p><p> Q: out std_logic_vector(3 downto 0);</p><p> count: out std_logic);</p><p><b> end;</b><
21、/p><p> architecture lee of cnt10 is </p><p> signal cnt: std_logic_vector(3 downto 0);</p><p><b> begin</b></p><p> process(rst,en,clk)</p><p&g
22、t;<b> begin</b></p><p> if rst='1' then cnt <= "0000";</p><p> elsif(clk'event and clk='1') and en = '1' then</p><p> if
23、 cnt = "1001" then</p><p> cnt <= "0000"; count <= '1';</p><p><b> else </b></p><p> cnt <= cnt + 1;</p><p> count
24、<= '0';</p><p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p><b> Q <= cnt;</b></p><
25、;p><b> end;</b></p><p><b> 3.4、分頻模塊:</b></p><p><b> %分頻</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p
26、><p> use ieee.std_logic_unsigned.all;</p><p> entity divid is</p><p> port(clk50: in std_logic;</p><p> qlkhz: out std_logic);</p><p><b> end;<
27、/b></p><p> architecture div of divid is</p><p><b> begin</b></p><p> K1:process(clk50)</p><p> variable cout: integer:=0;</p><p><b&
28、gt; begin</b></p><p> if(clk50'event and clk50='1') then </p><p> cout := cout + 1;</p><p> if cout <= 24999 then qlkhz <= '1';</p><
29、p> elsif cout <= 49999 then qlkhz <= '1';</p><p> else cout :=0;</p><p><b> end if;</b></p><p><b> end if;</b></p><p> end
30、 process;</p><p><b> end;</b></p><p><b> 3.5、鎖存模塊:</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all; <
31、/p><p> use ieee.std_logic_unsigned.all;</p><p> entity suocun is </p><p> port(load: in std_logic;</p><p> din : in std_logic_vector(15
32、 downto 0); </p><p> dout: out std_logic_vector(15 downto 0));</p><p><b> end;</b></p><p> architecture suo of suocun is </p><p><b> begin&
33、lt;/b></p><p> process(load,din)</p><p><b> begin</b></p><p> if (load'event and load='1') then </p><p> dout <= din;</p><p
34、><b> end if;</b></p><p> end process;</p><p><b> end;</b></p><p> 3.6動態(tài)顯示模塊:</p><p> library ieee;</p><p> use ieee.std_lo
35、gic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity exp is</p><p> port(q200hz: in std_logic;</p><p> bt: in std_logic_vector(1 downto 0);</p&g
36、t;<p> sg: in std_logic_vector(6 downto 0);</p><p> led0,led1,led2,led3: out std_logic_vector);</p><p><b> end;</b></p><p> architecture behav of exp is</p
37、><p><b> begin</b></p><p> process(q200hz)</p><p><b> begin</b></p><p> if(q200hz'event and q200hz='1') then </p><p>
38、 case bt is</p><p> when "00" => led0 <= sg(6 downto 0);</p><p> when "01" => led1 <= sg(6 downto 0);</p><p> when "10" => led2 <
39、= sg(6 downto 0);</p><p> when "11" => led3 <= sg(6 downto 0);</p><p> when others => null;</p><p><b> end case;</b></p><p><b>
40、 end if;</b></p><p> end process;</p><p><b> end;</b></p><p><b> 參考文獻:</b></p><p> 高金定,《基于QuartusⅡ的FPGA/CPLD設計與實踐》,北京,電子工業(yè)出版社,2010年<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論