2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  1 緒論</b></p><p><b>  1.1課程設(shè)計背景</b></p><p>  隨著數(shù)字電子技術(shù)的發(fā)展,頻率測量成為一項越來越普遍的工作,因此測頻計常受到人們的青睞。目前許多高精度的數(shù)字頻率計都采用單片機加上外部的高速計數(shù)器來實現(xiàn),然而單片機的時鐘頻率不高導(dǎo)致測頻速度比較慢,并且在這種設(shè)計中,由于PCB

2、版的集成度不高,導(dǎo)致PCB板走線長,因此難以提高計數(shù)器的工作頻率。為了克服這種缺點,大大提高測量精度和速度,我們可以設(shè)計一種可編程邏輯器件來實現(xiàn)數(shù)字頻率計。EDA技術(shù)是以大規(guī)??删幊踢壿嬈骷樵O(shè)計載體,以硬件語言為系統(tǒng)邏輯描述的主要方式,以計算機、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實驗開發(fā)系統(tǒng)為設(shè)計工具,通過有關(guān)的開發(fā)軟件,自動完成用軟件設(shè)計的電子系統(tǒng)到硬件系統(tǒng)的設(shè)計,最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術(shù)。其設(shè)計的靈活性使得ED

3、A技術(shù)得以快速發(fā)展和廣泛應(yīng)用。以Max+PlusⅡ軟件為設(shè)計平臺,采用VHDL語言實現(xiàn)數(shù)字頻率計的整體設(shè)計。伴隨著集成電路(IC)技術(shù)的發(fā)展,電子設(shè)計自動化(EDA)逐漸成為重要的設(shè)計手段,已經(jīng)廣泛應(yīng)用于模擬與數(shù)字電路系統(tǒng)等許多領(lǐng)域。電子設(shè)計自動化是一種實現(xiàn)電子系統(tǒng)或電子產(chǎn)品自動化設(shè)計的技術(shù),它與電子技術(shù),微電子技術(shù)的發(fā)展密切相關(guān),它</p><p>  1.2 課程設(shè)計目的</p><p&g

4、t;  掌握數(shù)字頻率計電路的設(shè)計原理,并能夠在實際生活中正確應(yīng)用;</p><p>  學(xué)會在MAX+plusⅡ軟件環(huán)境中仿真;</p><p>  鍛煉自己獨立解決問題的能力,學(xué)會有效獲取有用信息。</p><p>  2 課程設(shè)計總體方案</p><p>  方案一: 采用小規(guī)模數(shù)字集成電路制作被測信號經(jīng)過放大整形變換為脈沖信號后加到主

5、控門的輸入端,時基信號經(jīng)控制電路產(chǎn)生閘門信號送至主控門,只有在閘門信號采樣期間內(nèi)輸入信號才通過主控門,若時基信號周期為T,進入計數(shù)器的輸入脈沖數(shù)為N,則被信號的測頻率其頻率F=N/T, 方案二:采用單片機進行測頻控制單片機技術(shù)比較成熟,功能也比較強大,被測信號經(jīng)放大整形后送入測頻電路,由單片機對測頻電路的輸出信號進行處理,得出相應(yīng)的數(shù)據(jù)送至顯示器顯示。采用這種方案優(yōu)點是呆以依賴地成熟的單片機技術(shù)、運算功能較強、軟件編程靈活、自由度大

6、、設(shè)計成本也較低,缺點是顯而易見的,在傳統(tǒng)的單片機設(shè)計系統(tǒng)中必須使用許多分立元件組成單片機的外圍電路,整個系統(tǒng)顯得十分復(fù)雜,并且單片機的頻率不能做得很高,使得測量精度大大降低。方案三:采用現(xiàn)場可編程門陣列(FPGA)為控制核心采用現(xiàn)場可編程門陣列(FPGA)為控制核心,利用VHDL語言編程,下載燒制實現(xiàn)。將所有器件集成在一塊芯片上,體積大大減小的同時還提高了穩(wěn)定性,可實現(xiàn)大規(guī)模和超大規(guī)模的集成電路,測頻測量精度高,測量頻率范圍大,而

7、且編程靈活、調(diào)試方便。綜合上述分析,方</p><p><b>  3 設(shè)計的基本原理</b></p><p>  3.1設(shè)計的原理框圖如下所示:</p><p><b>  3.2工作原理</b></p><p>  眾所周知,頻率信號易于傳輸,抗干擾性強,可以獲得較好的測量精度。因此,頻率檢測

8、是電子測量領(lǐng)域最基本的測量之一。頻率計的基本原理是用一個頻率穩(wěn)定度高的頻率源作為基準(zhǔn)時鐘,對比測量其他信號的頻率。通常情況下計算每秒內(nèi)待測信號的脈沖個數(shù),即閘門時間為1 s。閘門時間可以根據(jù)需要取值,大于或小于1 s都可以。閘門時間越長,得到的頻率值就越準(zhǔn)確,但閘門時間越長,則每測一次頻率的間隔就越長。閘門時間越短,測得的頻率值刷新就越快,但測得的頻率精度就受影響。一般取1 s作為閘門時間。</p><p>  

9、數(shù)字頻率計的關(guān)鍵組成部分包括測頻控制信號發(fā)生器、計數(shù)器、鎖存器、譯碼驅(qū)動電路和顯示電路,其原理框圖如圖1所示。</p><p>  3.3圖形元件原理圖</p><p>  利用軟件MAX+plusⅡ的圖形文件輸入法設(shè)計設(shè)計頻率計的原理圖3—1</p><p><b>  圖3—1</b></p><p>  4 設(shè)計的

10、步驟和過程</p><p>  4.1 測頻控制信號發(fā)生器</p><p>  測頻控制信號發(fā)生器產(chǎn)生測量頻率的控制時序,是設(shè)計頻率計的關(guān)鍵。這里控制信號CLK取為1 Hz,2分頻后就是一個脈寬為1 s的時鐘信號FZXH,用來作為計數(shù)閘門信號。當(dāng)FZXH為高電平時開始計數(shù);在FZXH的下降沿,產(chǎn)生一個鎖存信號SCXH,鎖存數(shù)據(jù)后,還要在下次FZXH上升沿到來之前產(chǎn)生清零信號CLEAR,為下

11、次計數(shù)做準(zhǔn)備,CLEAR信號是上升沿有效。</p><p>  四選一數(shù)據(jù)選擇器的程序如下:</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>

12、;  entity si_xuan_1 is</p><p>  port(a,b,c1,c2,c3,c4:in std_logic;</p><p>  y:out std_logic);</p><p>  end si_xuan_1;</p><p>  architecture behav of si_xuan_1 is</p&

13、gt;<p>  signal x:std_logic_vector(1 downto 0);</p><p><b>  begin</b></p><p>  process(a,b)</p><p><b>  begin</b></p><p><b>  x<

14、=b&a;</b></p><p><b>  case x is</b></p><p>  when"00"=> y<=c1;</p><p>  when"01"=> y<=c2;</p><p>  when"10&qu

15、ot;=> y<=c3;</p><p>  when"11"=> y<=c4;</p><p>  when others=>null;</p><p>  end case; </p><p>  end process;</p><p>  end behav;&

16、lt;/p><p>  通過四選一數(shù)據(jù)選擇器的控制按不同的BA二進制數(shù)值時輸出被測信號的1分頻、10分頻、100分頻、1000分頻,通過二四譯碼器按不同的BA二進制數(shù)值時輸出四個檔次p0、p1、p2、p3,分別代表1hz、10hz、100hz、1000hz為單位。</p><p><b>  4.2 計數(shù)器</b></p><p>  計數(shù)器以待測

17、信號FZXH作為時鐘,在清零信號CLEAR到來時,異步清零;FZXH為高電平時開始計數(shù)。本文設(shè)計的計數(shù)器計數(shù)最大值是99 999 999。</p><p>  十進制計數(shù)器的程序如下:</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ie

18、ee.std_logic_unsigned.all;</p><p>  entity jishu10 is</p><p>  port(clk,rst,en:in std_logic;</p><p>  cq:out std_logic_vector(3 downto 0);</p><p>  cout:out std_logic);

19、</p><p>  end jishu10;</p><p>  architecture behav of jishu10 is</p><p><b>  begin</b></p><p>  process(clk,rst,en)</p><p>  variable cqi:std_l

20、ogic_vector(3 downto 0);</p><p><b>  begin</b></p><p>  if rst='1' then cqi:=(others=>'0');</p><p>  elsif clk'event and clk='1' then</

21、p><p>  if en='1' then</p><p>  if cqi<9 then cqi:=cqi+1;</p><p>  else cqi:=(others=>'0');</p><p><b>  end if;</b></p><p>&

22、lt;b>  end if;</b></p><p><b>  end if;</b></p><p>  if cqi=9 then cout<='1';</p><p>  else cout<='0';</p><p><b>  end i

23、f;</b></p><p><b>  cq<=cqi;</b></p><p>  end process;</p><p>  end behav;</p><p><b>  4.3 鎖存器</b></p><p>  當(dāng)鎖存信號SCXH上升沿到來時

24、,將計數(shù)器的計數(shù)值鎖存,這樣可由外部的七段譯碼器譯碼并在數(shù)碼管上顯示。設(shè)置鎖存器的好處是顯示的數(shù)據(jù)穩(wěn)定,不會由于周期性的清零信號而不斷閃爍。鎖存器的位數(shù)應(yīng)跟計數(shù)器完全一樣,均是32位。寄存器是在計數(shù)結(jié)束后,利用觸發(fā)器的上升沿把最新的頻率測量值保存起來,這樣在計數(shù)過程中可不必一直看著數(shù)碼管顯示器,顯示器將最終的頻率讀數(shù)定期進行更新,其輸出將作為動態(tài)掃描電路的輸入。4位寄存器的VHDL源程序如下。</p><p> 

25、 library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  entity reg_4 is</p><p>  port(load:in std_logic;</p><p>  din:in std_logic_vector(3 downto 0);</p>

26、<p>  dout:out std_logic_vector(3 downto 0));</p><p>  end reg_4;</p><p>  architecture behav of reg_4 is</p><p><b>  begin </b></p><p>  process(din)&

27、lt;/p><p><b>  begin </b></p><p>  if load’event and load='1' then </p><p>  dout<=din;</p><p><b>  end if;</b></p><p>  en

28、d process;</p><p>  end behav;</p><p>  在源程序中LOAD 是鎖存信號,上升沿觸發(fā);din[3..0]是寄存器輸入;dout[3..0]是寄存器輸出。</p><p>  4.4 譯碼驅(qū)動電路</p><p>  本文數(shù)碼管采用動態(tài)顯示方式,每一個時刻只能有一個數(shù)碼管點亮。數(shù)碼管的位選信號電路是74

29、LS138芯片,其8個輸出分別接到8個數(shù)碼管的位選;3個輸入分別接到EPF10K10LC84-4的I/O引腳。</p><p>  譯碼模塊是對計數(shù)出的數(shù)進行譯碼顯示出來,該部分由寄存器、動態(tài)掃描電路和譯碼驅(qū)動電路組成。</p><p>  本設(shè)計采用掃描方式來實現(xiàn)LED數(shù)碼管動態(tài)顯示,控制好數(shù)碼管之間的延遲時間相當(dāng)重要。根據(jù)人眼視覺暫留原理,LED數(shù)碼管每秒導(dǎo)通16次以上,人眼就無法LE

30、D數(shù)碼管短暫的不亮,認(rèn)為是一直點亮的(其實LED數(shù)碼管是以一定頻率在閃動的)。但是,延時(導(dǎo)通頻率)也不是越小越好,因為LED數(shù)碼管達(dá)到一定亮度需要一定時間。如果延時控制的不好則會出現(xiàn)閃動,或者亮度不夠,根據(jù)經(jīng)驗,延時0.005S可以達(dá)到滿意的效果。另外,顯示的字符有變化時,可在延時到達(dá)后送一個地電平(共陰極數(shù)碼管)LED數(shù)碼管先短暫熄滅,再顯示一個字符,可使在視覺上字符的變化更清楚。</p><p>  動態(tài)掃

31、描顯示的VHDL源程序如下。</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_arith.all;</p><p>  use ieee.std_logic_unsigned.all;</p>

32、<p>  entity xu_dynamic is</p><p>  port(clk,reset:in std_logic;</p><p>  din1:in std_logic_vector(3 downto 0);</p><p>  din2:in std_logic_vector(7 downto 4);</p><p&

33、gt;  din3:in std_logic_vector(11 downto 8);</p><p>  din4:in std_logic_vector(15 downto 12);</p><p>  shift:out std_logic_vector(1 downto 0);</p><p>  bus4:out std_logic_vector(3 do

34、wnto 0));</p><p>  end xu_dynamic;</p><p>  architecture one of xu_dynamic is</p><p>  signal scan_clk:std_logic_vector(1 downto 0);</p><p><b>  begin</b>&l

35、t;/p><p>  p1:process(clk,scan_clk,reset)</p><p>  variable scan:std_logic_vector(17 downto 0);</p><p><b>  begin</b></p><p>  if reset='1' then </p

36、><p>  scan:="000000000000000000";</p><p>  scan_clk<="00";</p><p>  elsif clk'event and clk='1' then</p><p>  scan:=scan+1;</p>

37、<p><b>  end if;</b></p><p>  scan_clk<=scan(1 downto 0);</p><p>  end process p1;</p><p>  p2:process(scan_clk,din1,din2,din3,din4)</p><p><b>

38、;  begin</b></p><p>  case scan_clk is</p><p>  when"00"=>bus4<=din1;shift<="11";</p><p>  when"01"=>bus4<=din2;shift<="10

39、";</p><p>  when"10"=>bus4<=din3;shift<="01";</p><p>  when"11"=>bus4<=din4;shift<="00";</p><p>  when others=>bus4

40、<=din1;shift<="11";</p><p><b>  end case;</b></p><p>  end process p2;</p><p><b>  end one;</b></p><p>  程序中,CLK是掃描時鐘;RST為復(fù)位信號,當(dāng)

41、RST=1時對位選信號復(fù)位,shitf為4個數(shù)碼管的位選信號,高電平有效;din1、din2、din2、din3、din4為輸入的鎖存信號,bus4為選中的信號輸出。</p><p><b>  4.5數(shù)碼管顯示</b></p><p>  本文采用8個共陰極數(shù)碼管來顯示待測頻率的數(shù)值,其顯示范圍從O~99 999 999</p><p>  

42、七段數(shù)碼管驅(qū)動電路的VHDL設(shè)計</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  entity decl7s is</p><p>  port(a:in std_logic_vector(3 downto 0);</p><

43、p>  led7s:out std_logic_vector(6 downto 0));</p><p>  end decl7s</p><p><b>  4.6 模塊的整合</b></p><p>  整個軟件的程序流程圖如4—1所示。</p><p><b>  圖4—1</b><

44、;/p><p>  5 設(shè)計的仿真和運行結(jié)果</p><p><b>  5.1 設(shè)計的仿真</b></p><p>  把源程序通過鍵盤輸入電腦,先在MAX+plusⅡ軟件環(huán)境下進行編譯,將編譯提示的錯誤完全改正后,在MAX+plusⅡ軟件環(huán)境下進行仿真的結(jié)果如圖5—1所示。其中sig為系統(tǒng)待測信號,clr為清零信號,clk則為掃描時鐘,sel0

45、、sel1、sel2為led片選,q6到q0為led輸出信號,sel決定選擇顯示的8個數(shù)碼管。Clr接一開關(guān),當(dāng)clr置1時清零,8個led數(shù)碼管顯示為零,當(dāng)clr開關(guān)置0時,系統(tǒng)開始測試輸入信號的頻率,將數(shù)據(jù)傳至鎖存器后,送往led輸出所測頻率。</p><p><b>  圖5—1</b></p><p><b>  5.2 運行結(jié)果</b>

46、</p><p>  軟件仿真完全正確后,線封鎖引腳,然后連接硬件(如圖5—2), </p><p><b>  圖5—2</b></p><p>  再次編譯,沒有錯誤后下載程序到硬件之中,選用Altera公司生產(chǎn)的FPGA產(chǎn)品FLEX10K系列的EPF10K10LC84-4芯片,下載適配后,便可以在數(shù)碼管上顯示出待測頻率的數(shù)值。如下圖5—3

47、所示</p><p><b>  圖5—3</b></p><p><b>  6 總結(jié)</b></p><p>  6.1 課程設(shè)計總結(jié)</p><p>  1 設(shè)計任務(wù)完成情況</p><p>  通過為期兩周的課程設(shè)計,完成了本次設(shè)計的技術(shù)指標(biāo),剛開始設(shè)計的時候,由于v

48、hdl語言編寫程序這部分比較難搞定,所以在分析設(shè)計程序模塊的時候,就會停下來設(shè)計控制電路,為了提高效率,在實際的操作中,先分模塊編寫程序再根據(jù)分塊程序?qū)懗隹偟某绦?,利用波形文件仿真實驗結(jié)果,調(diào)測符合要求。最后搞定控制電路的連接。最后完成的一塊電路板,它所實現(xiàn)的功能就是可以測被測信號的頻率,周期和脈寬。在調(diào)測的過程中發(fā)現(xiàn)測量頻率時,檔位在1Hz~9999999Hz,最終得到的結(jié)果的誤差稍微大了點,其他的測量結(jié)果非常接近測量值。</p

49、><p><b>  2 問題及改進</b></p><p>  由于電路里面使用的電容元件,在實驗的時候,隨著實驗室里面溫度的變化,輸出信號的頻率也會發(fā)生變化,這是造成誤差的一個原因,為了在驗收的時候提高測量的準(zhǔn)確性,所以在測量前要調(diào)節(jié)電位器,把產(chǎn)生的方波信號接示波器,測量其輸出頻率,調(diào)節(jié)電位器,使輸出的信號非常接近1KHz,這樣的話在后面的測量中會減小誤差。剛開始的時

50、候波形文件的仿真總是遇到大大小小的問題,比如結(jié)束時間不會重新設(shè)置、正弦輸入脈沖不會調(diào)制等等。最后也在實驗指導(dǎo)老師的幫助下,一步步的真正的掌握了,最后成功的調(diào)制出了波形的仿真。還有引腳鎖定的第一種方法,元器件的選擇等等一些細(xì)節(jié)上的小問題,也在不知不覺的這幾天的課程設(shè)計中順利的解決了,雖然在設(shè)計的道路上我們遇到了很多的大大小小的困難,但是最終我們也在實習(xí)指導(dǎo)老師的幫助下真正的學(xué)到了許多實際應(yīng)用中的知識,而且順利的完成我們的數(shù)字頻率計。<

51、;/p><p>  6.2 課程設(shè)計心得</p><p><b>  課程設(shè)計心得</b></p><p><b>  一 、收獲:</b></p><p>  本次實習(xí)讓我們體味到設(shè)計電路、連接電路、調(diào)測電路過程中的樂苦與甜。設(shè)計是我們將來必需的技能,這次實習(xí)恰恰給我們提供了一個應(yīng)用自己所學(xué)知識的機會

52、,從到圖書館查找資料到對電路的設(shè)計對電路的調(diào)試再到最后電路的成型,都對我所學(xué)的知識進行了檢驗。在實習(xí)的過程中發(fā)現(xiàn)了以前學(xué)的數(shù)字電路的知識掌握的不牢。同時在設(shè)計的過程中,遇到了一些以前沒有見到過的元件,但是通過查找資料來學(xué)習(xí)這些元件的功能和使用。制作過程是一個考驗人耐心的過程,不能有絲毫的急躁,馬虎,對電路的調(diào)試要一步一步來,不能急躁,因為是在電腦上調(diào)試,比較慢,又要求我們有一個比較正確的調(diào)試方法,像把頻率調(diào)準(zhǔn)等等。這又要我們要靈活處理,

53、在不影響試驗的前提下可以加快進度。合理的分配時間。在設(shè)計控制電路的時候,我們可以連接譯碼顯示和計數(shù)電路,這樣就加快了完成的進度。最重要的是要熟練地掌握課本上的知識,這樣才能對試驗中出現(xiàn)的問題進行分析解決。在整個課程設(shè)計完后,總的感覺是:有收獲。以前上課都是上一些最基本的東西而現(xiàn)在卻可以將以前學(xué)的東西作出有實際價值的東西。在這個過程中,我的確學(xué)得到很多在書本上學(xué)不到的東西,如:利用VHDL語言編寫程序,如何利用現(xiàn)有的</p>

54、<p>  通過緊張有序的設(shè)計實踐,我覺得自己的動手能力有了很大的提高;自信心也增強了.在課程設(shè)計中自己動腦子解決遇到的問題,書本上的知識有了用武之地,這又鞏固和深化了自己的知識結(jié)構(gòu)。</p><p><b>  二、建議:</b></p><p>  由于種種原因,我們實習(xí)之前準(zhǔn)備嚴(yán)重不足,包括心理上和自身能力上,在這之前同學(xué)們對實習(xí)內(nèi)容了解的并不多,

55、對實習(xí)中必須用到數(shù)字實驗平臺幾乎是一無所知,所以自然地就造成了許多不必要的時間上的浪費,我建議以后老師們能夠在課堂外利用空閑的時間多講解一下有關(guān)此方面的知識,讓同學(xué)們提前有所準(zhǔn)備,對實驗內(nèi)容有所了解,相信做的時候大家必會感到更加輕松吧。另外,既然是數(shù)電實驗,作為基礎(chǔ)的數(shù)電,大家一定要熟知課本上的知識,這樣才能在實驗時不手忙腳亂不知所措。</p><p><b>  參考文獻</b></

56、p><p>  [1] 閻石 主編,《數(shù)字電子技術(shù)基礎(chǔ)》,高等教育出版社,1998</p><p>  [2] 譚會生等主編,《EDA技術(shù)及應(yīng)用》,西安電子科技大學(xué)出版社,2001</p><p>  [3] 廖裕評等主編,《CPLD數(shù)字電路設(shè)計——使用MAX+plusⅡ入門篇》,清華大學(xué)出版社,2001</p><p>  [4] 馮濤等主編,

57、《可編程邏輯器件開發(fā)技術(shù):MAX+plusⅡ入門與提高》,人民郵電出版社,2002</p><p>  [5] 楊崇志,《特殊新型電子元件手冊》,遼寧科學(xué)技術(shù)出版社,1999</p><p>  [6] 彭介華,《電子技術(shù)課程設(shè)計指導(dǎo)》高等教育出版社.2000年出版.</p><p>  [7] Mark Zwolinski, Digital System Desi

58、gn with VHDL, 電子工業(yè)出版社,2002</p><p>  [8] Alan B. Marcovitz Introduction to logic Design, 電子工業(yè)出版社,2002</p><p><b>  附錄 A源程序</b></p><p>  LIBRARY IEEE; --等精度頻率計FPGA設(shè)計部分<

59、/p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY etester IS</p><p>  PORT ( BCLK : IN STD_LOGIC; --標(biāo)準(zhǔn)頻率時鐘信號clock2,50MHZ<

60、;/p><p>  TCLK : IN STD_LOGIC; --待測頻率時鐘信號</p><p>  CLR : IN STD_LOGIC; --清零和初始化信號</p><p>  CL : IN STD_LOGIC; --當(dāng)SPUL為高電平時,CL為預(yù)置門控信號,用于測頻計數(shù)</p><p>  --時間控制當(dāng)SPUL為低電平時,CL為測脈

61、寬控制信號,</p><p>  --CL高電平時測高電平脈寬而當(dāng)CL為低電平時,測低電平脈寬。</p><p>  SPUL : IN STD_LOGIC; --測頻或測脈寬控制</p><p>  START : OUT STD_LOGIC;--起始計數(shù)標(biāo)志信號</p><p>  EEND : OUT STD_LOGIC; -- 由低電

62、平變到高電平時指示脈寬計數(shù)結(jié)束,</p><p>  SEL : IN STD_LOGIC_VECTOR(2 DOWNTO 0); --數(shù)據(jù)讀出選同控制</p><p>  DATA : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); --END etester; 8位數(shù)據(jù)讀出</p><p>  END etester;</p>

63、<p>  ARCHITECTURE behave OF etester IS</p><p>  SIGNAL BZQ : STD_LOGIC_VECTOR(31 DOWNTO 0); --標(biāo)準(zhǔn)計數(shù)器</p><p>  SIGNAL TSQ : STD_LOGIC_VECTOR(31 DOWNTO 0); --測頻計數(shù)器</p><p>  

64、SIGNAL ENA : STD_LOGIC; --計數(shù)使能</p><p>  SIGNAL MA, CLK1, CLK2, CLK3 : STD_LOGIC;</p><p>  SIGNAL Q1,Q2,Q3,BENA,PUL:STD_LOGIC;</p><p>  SIGNAL SS : STD_LOGIC_VEC

65、TOR(1 DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  START <= ENA ;</p><p>  DATA <= BZQ(7 DOWNTO 0) WHEN SEL="000" ELSE -- 標(biāo)準(zhǔn)頻率計數(shù)低8位輸出</p><p>

66、  BZQ(15 DOWNTO 8) WHEN SEL="001" ELSE</p><p>  BZQ(23 DOWNTO 16) WHEN SEL="010" ELSE</p><p>  BZQ(31 DOWNTO 24) WHEN SEL="011" ELSE -- 標(biāo)準(zhǔn)頻率計數(shù)最高8位輸出</p><

67、p>  TSQ(7 DOWNTO 0) WHEN SEL="100" ELSE --待測頻率計數(shù)值最低8位輸出</p><p>  TSQ(15 DOWNTO 8) WHEN SEL="101" ELSE</p><p>  TSQ(23 DOWNTO 16) WHEN SEL="110" ELSE</p>&

68、lt;p>  TSQ(31 DOWNTO 24) WHEN SEL="111" ELSE --待測頻率計數(shù)值最高8位輸出</p><p>  TSQ(31 DOWNTO 24) ;</p><p>  BZH : PROCESS(BCLK, CLR) --標(biāo)準(zhǔn)頻率測試計數(shù)器,標(biāo)準(zhǔn)計數(shù)器</p><p><b&

69、gt;  BEGIN</b></p><p>  IF CLR = '1' THEN BZQ <= ( OTHERS=>'0' ) ;</p><p>  ELSIF BCLK'EVENT AND BCLK = '1' THEN</p><p>  IF BENA = '1

70、9; THEN BZQ <= BZQ + 1; END IF;</p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  TF : PROCESS(TCLK, CLR, ENA) --待測頻率計數(shù)器,測頻計數(shù)器</p><p>

71、;<b>  BEGIN</b></p><p>  IF CLR = '1' THEN TSQ <= ( OTHERS=>'0' );</p><p>  ELSIF TCLK'EVENT AND TCLK = '1' THEN</p><p>  IF ENA = 

72、9;1' THEN TSQ <= TSQ + 1; END IF;</p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  PROCESS(TCLK,CLR)</p><p><b>  BEGIN</b></p&

73、gt;<p>  IF CLR = '1' THEN ENA <= '0' ;</p><p>  ELSIF TCLK'EVENT AND TCLK='1' THEN ENA <= CL ; END IF;</p><p>  END PROCESS;</p><p>  MA&

74、lt;=(TCLK AND CL) OR NOT(TCLK OR CL) ; --測脈寬邏輯</p><p>  CLK1<=NOT MA ; CLK2<=MA AND Q1 ; CLK3<=NOT CLK2; SS<=Q2 & Q3 ;</p><p>  DD1: PROCESS(CLK1,CLR)</p><p><b

75、>  BEGIN</b></p><p>  IF CLR = '1' THEN Q1 <= '0' ;</p><p>  ELSIF CLK1'EVENT AND CLK1 = '1' THEN Q1 <= '1' ; END IF;</p><p>  E

76、ND PROCESS;</p><p>  DD2: PROCESS(CLK2,CLR)</p><p><b>  BEGIN</b></p><p>  IF CLR = '1' THEN Q2 <= '0' ;</p><p>  ELSIF CLK2'EVENT

77、AND CLK2 = '1' THEN Q2 <= '1' ; END IF;</p><p>  END PROCESS;</p><p>  DD3: PROCESS(CLK3,CLR)</p><p><b>  BEGIN</b></p><p>  IF CLR

78、 = '1' THEN Q3 <= '0' ;</p><p>  ELSIF CLK3'EVENT AND CLK3 = '1' THEN Q3 <= '1' ; END IF;</p><p>  END PROCESS;</p><p>  PUL<='

79、;1' WHEN SS="10" ELSE --當(dāng)SS=“10”時,PUL高電平,允許標(biāo)準(zhǔn)計數(shù)器計數(shù),</p><p>  '0' ; --禁止計數(shù)</p><p>  EEND<='1' WHEN SS="11" ELSE --EEND為低

80、電平時,表示正在計數(shù),由低電平變到高電平</p><p>  '0'; --時,表示計數(shù)結(jié)束,可以從標(biāo)準(zhǔn)計數(shù)器中讀數(shù)據(jù)了</p><p>  BENA<=ENA WHEN SPUL='1' ELSE</p><p>  --標(biāo)準(zhǔn)計數(shù)器時鐘使能控制信號,當(dāng)SPUL為1時,測頻率</p

溫馨提示

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

評論

0/150

提交評論