版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 1 緒論</b></p><p><b> 1.1課程設(shè)計(jì)背景</b></p><p> 隨著數(shù)字電子技術(shù)的發(fā)展,頻率測(cè)量成為一項(xiàng)越來(lái)越普遍的工作,因此測(cè)頻計(jì)常受到人們的青睞。目前許多高精度的數(shù)字頻率計(jì)都采用單片機(jī)加上外部的高速計(jì)數(shù)器來(lái)實(shí)現(xiàn),然而單片機(jī)的時(shí)鐘頻率不高導(dǎo)致測(cè)頻速度比較慢,并且在這種設(shè)計(jì)中,由于PCB
2、版的集成度不高,導(dǎo)致PCB板走線長(zhǎng),因此難以提高計(jì)數(shù)器的工作頻率。為了克服這種缺點(diǎn),大大提高測(cè)量精度和速度,我們可以設(shè)計(jì)一種可編程邏輯器件來(lái)實(shí)現(xiàn)數(shù)字頻率計(jì)。EDA技術(shù)是以大規(guī)??删幊踢壿嬈骷樵O(shè)計(jì)載體,以硬件語(yǔ)言為系統(tǒng)邏輯描述的主要方式,以計(jì)算機(jī)、大規(guī)??删幊踢壿嬈骷拈_(kāi)發(fā)軟件及實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng)為設(shè)計(jì)工具,通過(guò)有關(guān)的開(kāi)發(fā)軟件,自動(dòng)完成用軟件設(shè)計(jì)的電子系統(tǒng)到硬件系統(tǒng)的設(shè)計(jì),最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術(shù)。其設(shè)計(jì)的靈活性使得ED
3、A技術(shù)得以快速發(fā)展和廣泛應(yīng)用。以Max+PlusⅡ軟件為設(shè)計(jì)平臺(tái),采用VHDL語(yǔ)言實(shí)現(xiàn)數(shù)字頻率計(jì)的整體設(shè)計(jì)。伴隨著集成電路(IC)技術(shù)的發(fā)展,電子設(shè)計(jì)自動(dòng)化(EDA)逐漸成為重要的設(shè)計(jì)手段,已經(jīng)廣泛應(yīng)用于模擬與數(shù)字電路系統(tǒng)等許多領(lǐng)域。電子設(shè)計(jì)自動(dòng)化是一種實(shí)現(xiàn)電子系統(tǒng)或電子產(chǎn)品自動(dòng)化設(shè)計(jì)的技術(shù),它與電子技術(shù),微電子技術(shù)的發(fā)展密切相關(guān),它</p><p> 1.2 課程設(shè)計(jì)目的</p><p&g
4、t; 掌握數(shù)字頻率計(jì)電路的設(shè)計(jì)原理,并能夠在實(shí)際生活中正確應(yīng)用;</p><p> 學(xué)會(huì)在MAX+plusⅡ軟件環(huán)境中仿真;</p><p> 鍛煉自己獨(dú)立解決問(wèn)題的能力,學(xué)會(huì)有效獲取有用信息。</p><p> 2 課程設(shè)計(jì)總體方案</p><p> 方案一: 采用小規(guī)模數(shù)字集成電路制作被測(cè)信號(hào)經(jīng)過(guò)放大整形變換為脈沖信號(hào)后加到主
5、控門的輸入端,時(shí)基信號(hào)經(jīng)控制電路產(chǎn)生閘門信號(hào)送至主控門,只有在閘門信號(hào)采樣期間內(nèi)輸入信號(hào)才通過(guò)主控門,若時(shí)基信號(hào)周期為T,進(jìn)入計(jì)數(shù)器的輸入脈沖數(shù)為N,則被信號(hào)的測(cè)頻率其頻率F=N/T, 方案二:采用單片機(jī)進(jìn)行測(cè)頻控制單片機(jī)技術(shù)比較成熟,功能也比較強(qiáng)大,被測(cè)信號(hào)經(jīng)放大整形后送入測(cè)頻電路,由單片機(jī)對(duì)測(cè)頻電路的輸出信號(hào)進(jìn)行處理,得出相應(yīng)的數(shù)據(jù)送至顯示器顯示。采用這種方案優(yōu)點(diǎn)是呆以依賴地成熟的單片機(jī)技術(shù)、運(yùn)算功能較強(qiáng)、軟件編程靈活、自由度大
6、、設(shè)計(jì)成本也較低,缺點(diǎn)是顯而易見(jiàn)的,在傳統(tǒng)的單片機(jī)設(shè)計(jì)系統(tǒng)中必須使用許多分立元件組成單片機(jī)的外圍電路,整個(gè)系統(tǒng)顯得十分復(fù)雜,并且單片機(jī)的頻率不能做得很高,使得測(cè)量精度大大降低。方案三:采用現(xiàn)場(chǎng)可編程門陣列(FPGA)為控制核心采用現(xiàn)場(chǎng)可編程門陣列(FPGA)為控制核心,利用VHDL語(yǔ)言編程,下載燒制實(shí)現(xiàn)。將所有器件集成在一塊芯片上,體積大大減小的同時(shí)還提高了穩(wěn)定性,可實(shí)現(xiàn)大規(guī)模和超大規(guī)模的集成電路,測(cè)頻測(cè)量精度高,測(cè)量頻率范圍大,而
7、且編程靈活、調(diào)試方便。綜合上述分析,方</p><p><b> 3 設(shè)計(jì)的基本原理</b></p><p> 3.1設(shè)計(jì)的原理框圖如下所示:</p><p><b> 3.2工作原理</b></p><p> 眾所周知,頻率信號(hào)易于傳輸,抗干擾性強(qiáng),可以獲得較好的測(cè)量精度。因此,頻率檢測(cè)
8、是電子測(cè)量領(lǐng)域最基本的測(cè)量之一。頻率計(jì)的基本原理是用一個(gè)頻率穩(wěn)定度高的頻率源作為基準(zhǔn)時(shí)鐘,對(duì)比測(cè)量其他信號(hào)的頻率。通常情況下計(jì)算每秒內(nèi)待測(cè)信號(hào)的脈沖個(gè)數(shù),即閘門時(shí)間為1 s。閘門時(shí)間可以根據(jù)需要取值,大于或小于1 s都可以。閘門時(shí)間越長(zhǎng),得到的頻率值就越準(zhǔn)確,但閘門時(shí)間越長(zhǎng),則每測(cè)一次頻率的間隔就越長(zhǎng)。閘門時(shí)間越短,測(cè)得的頻率值刷新就越快,但測(cè)得的頻率精度就受影響。一般取1 s作為閘門時(shí)間。</p><p>
9、數(shù)字頻率計(jì)的關(guān)鍵組成部分包括測(cè)頻控制信號(hào)發(fā)生器、計(jì)數(shù)器、鎖存器、譯碼驅(qū)動(dòng)電路和顯示電路,其原理框圖如圖1所示。</p><p> 3.3圖形元件原理圖</p><p> 利用軟件MAX+plusⅡ的圖形文件輸入法設(shè)計(jì)設(shè)計(jì)頻率計(jì)的原理圖3—1</p><p><b> 圖3—1</b></p><p> 4 設(shè)計(jì)的
10、步驟和過(guò)程</p><p> 4.1 測(cè)頻控制信號(hào)發(fā)生器</p><p> 測(cè)頻控制信號(hào)發(fā)生器產(chǎn)生測(cè)量頻率的控制時(shí)序,是設(shè)計(jì)頻率計(jì)的關(guān)鍵。這里控制信號(hào)CLK取為1 Hz,2分頻后就是一個(gè)脈寬為1 s的時(shí)鐘信號(hào)FZXH,用來(lái)作為計(jì)數(shù)閘門信號(hào)。當(dāng)FZXH為高電平時(shí)開(kāi)始計(jì)數(shù);在FZXH的下降沿,產(chǎn)生一個(gè)鎖存信號(hào)SCXH,鎖存數(shù)據(jù)后,還要在下次FZXH上升沿到來(lái)之前產(chǎn)生清零信號(hào)CLEAR,為下
11、次計(jì)數(shù)做準(zhǔn)備,CLEAR信號(hào)是上升沿有效。</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> 通過(guò)四選一數(shù)據(jù)選擇器的控制按不同的BA二進(jìn)制數(shù)值時(shí)輸出被測(cè)信號(hào)的1分頻、10分頻、100分頻、1000分頻,通過(guò)二四譯碼器按不同的BA二進(jìn)制數(shù)值時(shí)輸出四個(gè)檔次p0、p1、p2、p3,分別代表1hz、10hz、100hz、1000hz為單位。</p><p><b> 4.2 計(jì)數(shù)器</b></p><p> 計(jì)數(shù)器以待測(cè)
17、信號(hào)FZXH作為時(shí)鐘,在清零信號(hào)CLEAR到來(lái)時(shí),異步清零;FZXH為高電平時(shí)開(kāi)始計(jì)數(shù)。本文設(shè)計(jì)的計(jì)數(shù)器計(jì)數(shù)最大值是99 999 999。</p><p> 十進(jìn)制計(jì)數(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)鎖存信號(hào)SCXH上升沿到來(lái)時(shí)
24、,將計(jì)數(shù)器的計(jì)數(shù)值鎖存,這樣可由外部的七段譯碼器譯碼并在數(shù)碼管上顯示。設(shè)置鎖存器的好處是顯示的數(shù)據(jù)穩(wěn)定,不會(huì)由于周期性的清零信號(hào)而不斷閃爍。鎖存器的位數(shù)應(yīng)跟計(jì)數(shù)器完全一樣,均是32位。寄存器是在計(jì)數(shù)結(jié)束后,利用觸發(fā)器的上升沿把最新的頻率測(cè)量值保存起來(lái),這樣在計(jì)數(shù)過(guò)程中可不必一直看著數(shù)碼管顯示器,顯示器將最終的頻率讀數(shù)定期進(jìn)行更新,其輸出將作為動(dòng)態(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 是鎖存信號(hào),上升沿觸發(fā);din[3..0]是寄存器輸入;dout[3..0]是寄存器輸出。</p><p> 4.4 譯碼驅(qū)動(dòng)電路</p><p> 本文數(shù)碼管采用動(dòng)態(tài)顯示方式,每一個(gè)時(shí)刻只能有一個(gè)數(shù)碼管點(diǎn)亮。數(shù)碼管的位選信號(hào)電路是74
29、LS138芯片,其8個(gè)輸出分別接到8個(gè)數(shù)碼管的位選;3個(gè)輸入分別接到EPF10K10LC84-4的I/O引腳。</p><p> 譯碼模塊是對(duì)計(jì)數(shù)出的數(shù)進(jìn)行譯碼顯示出來(lái),該部分由寄存器、動(dòng)態(tài)掃描電路和譯碼驅(qū)動(dòng)電路組成。</p><p> 本設(shè)計(jì)采用掃描方式來(lái)實(shí)現(xiàn)LED數(shù)碼管動(dòng)態(tài)顯示,控制好數(shù)碼管之間的延遲時(shí)間相當(dāng)重要。根據(jù)人眼視覺(jué)暫留原理,LED數(shù)碼管每秒導(dǎo)通16次以上,人眼就無(wú)法LE
30、D數(shù)碼管短暫的不亮,認(rèn)為是一直點(diǎn)亮的(其實(shí)LED數(shù)碼管是以一定頻率在閃動(dòng)的)。但是,延時(shí)(導(dǎo)通頻率)也不是越小越好,因?yàn)長(zhǎng)ED數(shù)碼管達(dá)到一定亮度需要一定時(shí)間。如果延時(shí)控制的不好則會(huì)出現(xiàn)閃動(dòng),或者亮度不夠,根據(jù)經(jīng)驗(yàn),延時(shí)0.005S可以達(dá)到滿意的效果。另外,顯示的字符有變化時(shí),可在延時(shí)到達(dá)后送一個(gè)地電平(共陰極數(shù)碼管)LED數(shù)碼管先短暫熄滅,再顯示一個(gè)字符,可使在視覺(jué)上字符的變化更清楚。</p><p> 動(dòng)態(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是掃描時(shí)鐘;RST為復(fù)位信號(hào),當(dāng)
41、RST=1時(shí)對(duì)位選信號(hào)復(fù)位,shitf為4個(gè)數(shù)碼管的位選信號(hào),高電平有效;din1、din2、din2、din3、din4為輸入的鎖存信號(hào),bus4為選中的信號(hào)輸出。</p><p><b> 4.5數(shù)碼管顯示</b></p><p> 本文采用8個(gè)共陰極數(shù)碼管來(lái)顯示待測(cè)頻率的數(shù)值,其顯示范圍從O~99 999 999</p><p>
42、七段數(shù)碼管驅(qū)動(dòng)電路的VHDL設(shè)計(jì)</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> 整個(gè)軟件的程序流程圖如4—1所示。</p><p><b> 圖4—1</b><
44、;/p><p> 5 設(shè)計(jì)的仿真和運(yùn)行結(jié)果</p><p><b> 5.1 設(shè)計(jì)的仿真</b></p><p> 把源程序通過(guò)鍵盤輸入電腦,先在MAX+plusⅡ軟件環(huán)境下進(jìn)行編譯,將編譯提示的錯(cuò)誤完全改正后,在MAX+plusⅡ軟件環(huán)境下進(jìn)行仿真的結(jié)果如圖5—1所示。其中sig為系統(tǒng)待測(cè)信號(hào),clr為清零信號(hào),clk則為掃描時(shí)鐘,sel0
45、、sel1、sel2為led片選,q6到q0為led輸出信號(hào),sel決定選擇顯示的8個(gè)數(shù)碼管。Clr接一開(kāi)關(guān),當(dāng)clr置1時(shí)清零,8個(gè)led數(shù)碼管顯示為零,當(dāng)clr開(kāi)關(guān)置0時(shí),系統(tǒng)開(kāi)始測(cè)試輸入信號(hào)的頻率,將數(shù)據(jù)傳至鎖存器后,送往led輸出所測(cè)頻率。</p><p><b> 圖5—1</b></p><p><b> 5.2 運(yùn)行結(jié)果</b>
46、</p><p> 軟件仿真完全正確后,線封鎖引腳,然后連接硬件(如圖5—2), </p><p><b> 圖5—2</b></p><p> 再次編譯,沒(méi)有錯(cuò)誤后下載程序到硬件之中,選用Altera公司生產(chǎn)的FPGA產(chǎn)品FLEX10K系列的EPF10K10LC84-4芯片,下載適配后,便可以在數(shù)碼管上顯示出待測(cè)頻率的數(shù)值。如下圖5—3
47、所示</p><p><b> 圖5—3</b></p><p><b> 6 總結(jié)</b></p><p> 6.1 課程設(shè)計(jì)總結(jié)</p><p> 1 設(shè)計(jì)任務(wù)完成情況</p><p> 通過(guò)為期兩周的課程設(shè)計(jì),完成了本次設(shè)計(jì)的技術(shù)指標(biāo),剛開(kāi)始設(shè)計(jì)的時(shí)候,由于v
48、hdl語(yǔ)言編寫程序這部分比較難搞定,所以在分析設(shè)計(jì)程序模塊的時(shí)候,就會(huì)停下來(lái)設(shè)計(jì)控制電路,為了提高效率,在實(shí)際的操作中,先分模塊編寫程序再根據(jù)分塊程序?qū)懗隹偟某绦?,利用波形文件仿真?shí)驗(yàn)結(jié)果,調(diào)測(cè)符合要求。最后搞定控制電路的連接。最后完成的一塊電路板,它所實(shí)現(xiàn)的功能就是可以測(cè)被測(cè)信號(hào)的頻率,周期和脈寬。在調(diào)測(cè)的過(guò)程中發(fā)現(xiàn)測(cè)量頻率時(shí),檔位在1Hz~9999999Hz,最終得到的結(jié)果的誤差稍微大了點(diǎn),其他的測(cè)量結(jié)果非常接近測(cè)量值。</p
49、><p><b> 2 問(wèn)題及改進(jìn)</b></p><p> 由于電路里面使用的電容元件,在實(shí)驗(yàn)的時(shí)候,隨著實(shí)驗(yàn)室里面溫度的變化,輸出信號(hào)的頻率也會(huì)發(fā)生變化,這是造成誤差的一個(gè)原因,為了在驗(yàn)收的時(shí)候提高測(cè)量的準(zhǔn)確性,所以在測(cè)量前要調(diào)節(jié)電位器,把產(chǎn)生的方波信號(hào)接示波器,測(cè)量其輸出頻率,調(diào)節(jié)電位器,使輸出的信號(hào)非常接近1KHz,這樣的話在后面的測(cè)量中會(huì)減小誤差。剛開(kāi)始的時(shí)
50、候波形文件的仿真總是遇到大大小小的問(wèn)題,比如結(jié)束時(shí)間不會(huì)重新設(shè)置、正弦輸入脈沖不會(huì)調(diào)制等等。最后也在實(shí)驗(yàn)指導(dǎo)老師的幫助下,一步步的真正的掌握了,最后成功的調(diào)制出了波形的仿真。還有引腳鎖定的第一種方法,元器件的選擇等等一些細(xì)節(jié)上的小問(wèn)題,也在不知不覺(jué)的這幾天的課程設(shè)計(jì)中順利的解決了,雖然在設(shè)計(jì)的道路上我們遇到了很多的大大小小的困難,但是最終我們也在實(shí)習(xí)指導(dǎo)老師的幫助下真正的學(xué)到了許多實(shí)際應(yīng)用中的知識(shí),而且順利的完成我們的數(shù)字頻率計(jì)。<
51、;/p><p> 6.2 課程設(shè)計(jì)心得</p><p><b> 課程設(shè)計(jì)心得</b></p><p><b> 一 、收獲:</b></p><p> 本次實(shí)習(xí)讓我們體味到設(shè)計(jì)電路、連接電路、調(diào)測(cè)電路過(guò)程中的樂(lè)苦與甜。設(shè)計(jì)是我們將來(lái)必需的技能,這次實(shí)習(xí)恰恰給我們提供了一個(gè)應(yīng)用自己所學(xué)知識(shí)的機(jī)會(huì)
52、,從到圖書館查找資料到對(duì)電路的設(shè)計(jì)對(duì)電路的調(diào)試再到最后電路的成型,都對(duì)我所學(xué)的知識(shí)進(jìn)行了檢驗(yàn)。在實(shí)習(xí)的過(guò)程中發(fā)現(xiàn)了以前學(xué)的數(shù)字電路的知識(shí)掌握的不牢。同時(shí)在設(shè)計(jì)的過(guò)程中,遇到了一些以前沒(méi)有見(jiàn)到過(guò)的元件,但是通過(guò)查找資料來(lái)學(xué)習(xí)這些元件的功能和使用。制作過(guò)程是一個(gè)考驗(yàn)人耐心的過(guò)程,不能有絲毫的急躁,馬虎,對(duì)電路的調(diào)試要一步一步來(lái),不能急躁,因?yàn)槭窃陔娔X上調(diào)試,比較慢,又要求我們有一個(gè)比較正確的調(diào)試方法,像把頻率調(diào)準(zhǔn)等等。這又要我們要靈活處理,
53、在不影響試驗(yàn)的前提下可以加快進(jìn)度。合理的分配時(shí)間。在設(shè)計(jì)控制電路的時(shí)候,我們可以連接譯碼顯示和計(jì)數(shù)電路,這樣就加快了完成的進(jìn)度。最重要的是要熟練地掌握課本上的知識(shí),這樣才能對(duì)試驗(yàn)中出現(xiàn)的問(wèn)題進(jìn)行分析解決。在整個(gè)課程設(shè)計(jì)完后,總的感覺(jué)是:有收獲。以前上課都是上一些最基本的東西而現(xiàn)在卻可以將以前學(xué)的東西作出有實(shí)際價(jià)值的東西。在這個(gè)過(guò)程中,我的確學(xué)得到很多在書本上學(xué)不到的東西,如:利用VHDL語(yǔ)言編寫程序,如何利用現(xiàn)有的</p>
54、<p> 通過(guò)緊張有序的設(shè)計(jì)實(shí)踐,我覺(jué)得自己的動(dòng)手能力有了很大的提高;自信心也增強(qiáng)了.在課程設(shè)計(jì)中自己動(dòng)腦子解決遇到的問(wèn)題,書本上的知識(shí)有了用武之地,這又鞏固和深化了自己的知識(shí)結(jié)構(gòu)。</p><p><b> 二、建議:</b></p><p> 由于種種原因,我們實(shí)習(xí)之前準(zhǔn)備嚴(yán)重不足,包括心理上和自身能力上,在這之前同學(xué)們對(duì)實(shí)習(xí)內(nèi)容了解的并不多,
55、對(duì)實(shí)習(xí)中必須用到數(shù)字實(shí)驗(yàn)平臺(tái)幾乎是一無(wú)所知,所以自然地就造成了許多不必要的時(shí)間上的浪費(fèi),我建議以后老師們能夠在課堂外利用空閑的時(shí)間多講解一下有關(guān)此方面的知識(shí),讓同學(xué)們提前有所準(zhǔn)備,對(duì)實(shí)驗(yàn)內(nèi)容有所了解,相信做的時(shí)候大家必會(huì)感到更加輕松吧。另外,既然是數(shù)電實(shí)驗(yàn),作為基礎(chǔ)的數(shù)電,大家一定要熟知課本上的知識(shí),這樣才能在實(shí)驗(yàn)時(shí)不手忙腳亂不知所措。</p><p><b> 參考文獻(xiàn)</b></
56、p><p> [1] 閻石 主編,《數(shù)字電子技術(shù)基礎(chǔ)》,高等教育出版社,1998</p><p> [2] 譚會(huì)生等主編,《EDA技術(shù)及應(yīng)用》,西安電子科技大學(xué)出版社,2001</p><p> [3] 廖裕評(píng)等主編,《CPLD數(shù)字電路設(shè)計(jì)——使用MAX+plusⅡ入門篇》,清華大學(xué)出版社,2001</p><p> [4] 馮濤等主編,
57、《可編程邏輯器件開(kāi)發(fā)技術(shù):MAX+plusⅡ入門與提高》,人民郵電出版社,2002</p><p> [5] 楊崇志,《特殊新型電子元件手冊(cè)》,遼寧科學(xué)技術(shù)出版社,1999</p><p> [6] 彭介華,《電子技術(shù)課程設(shè)計(jì)指導(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; --等精度頻率計(jì)FPGA設(shè)計(jì)部分<
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)頻率時(shí)鐘信號(hào)clock2,50MHZ<
60、;/p><p> TCLK : IN STD_LOGIC; --待測(cè)頻率時(shí)鐘信號(hào)</p><p> CLR : IN STD_LOGIC; --清零和初始化信號(hào)</p><p> CL : IN STD_LOGIC; --當(dāng)SPUL為高電平時(shí),CL為預(yù)置門控信號(hào),用于測(cè)頻計(jì)數(shù)</p><p> --時(shí)間控制當(dāng)SPUL為低電平時(shí),CL為測(cè)脈
61、寬控制信號(hào),</p><p> --CL高電平時(shí)測(cè)高電平脈寬而當(dāng)CL為低電平時(shí),測(cè)低電平脈寬。</p><p> SPUL : IN STD_LOGIC; --測(cè)頻或測(cè)脈寬控制</p><p> START : OUT STD_LOGIC;--起始計(jì)數(shù)標(biāo)志信號(hào)</p><p> EEND : OUT STD_LOGIC; -- 由低電
62、平變到高電平時(shí)指示脈寬計(jì)數(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)計(jì)數(shù)器</p><p> SIGNAL TSQ : STD_LOGIC_VECTOR(31 DOWNTO 0); --測(cè)頻計(jì)數(shù)器</p><p>
64、SIGNAL ENA : STD_LOGIC; --計(jì)數(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)頻率計(jì)數(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)頻率計(jì)數(shù)最高8位輸出</p><
67、p> TSQ(7 DOWNTO 0) WHEN SEL="100" ELSE --待測(cè)頻率計(jì)數(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 --待測(cè)頻率計(jì)數(shù)值最高8位輸出</p><p> TSQ(31 DOWNTO 24) ;</p><p> BZH : PROCESS(BCLK, CLR) --標(biāo)準(zhǔn)頻率測(cè)試計(jì)數(shù)器,標(biāo)準(zhǔn)計(jì)數(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) --待測(cè)頻率計(jì)數(shù)器,測(cè)頻計(jì)數(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) ; --測(cè)脈寬邏輯</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”時(shí),PUL高電平,允許標(biāo)準(zhǔn)計(jì)數(shù)器計(jì)數(shù),</p><p> '0' ; --禁止計(jì)數(shù)</p><p> EEND<='1' WHEN SS="11" ELSE --EEND為低
80、電平時(shí),表示正在計(jì)數(shù),由低電平變到高電平</p><p> '0'; --時(shí),表示計(jì)數(shù)結(jié)束,可以從標(biāo)準(zhǔn)計(jì)數(shù)器中讀數(shù)據(jù)了</p><p> BENA<=ENA WHEN SPUL='1' ELSE</p><p> --標(biāo)準(zhǔn)計(jì)數(shù)器時(shí)鐘使能控制信號(hào),當(dāng)SPUL為1時(shí),測(cè)頻率</p
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設(shè)計(jì)--數(shù)字頻率計(jì)
- eda課程設(shè)計(jì)---數(shù)字頻率計(jì)
- 課程設(shè)計(jì)---eda數(shù)字頻率計(jì)
- eda課程設(shè)計(jì)---數(shù)字頻率計(jì)
- eda課程設(shè)計(jì)---數(shù)字頻率計(jì)
- eda課程設(shè)計(jì)---數(shù)字頻率計(jì)
- eda課程設(shè)計(jì)數(shù)字頻率計(jì)
- eda技術(shù)課程設(shè)計(jì) ---eda數(shù)字頻率計(jì)
- eda課程設(shè)計(jì)-數(shù)字頻率計(jì)的設(shè)計(jì)
- eda技術(shù)課程設(shè)計(jì)----數(shù)字頻率計(jì)
- 數(shù)字頻率計(jì)課程設(shè)計(jì)
- 數(shù)字頻率計(jì)課程設(shè)計(jì)
- 課程設(shè)計(jì)--數(shù)字頻率計(jì)
- 課程設(shè)計(jì)——數(shù)字頻率計(jì)
- 數(shù)字頻率計(jì)課程設(shè)計(jì)
- 課程設(shè)計(jì)-數(shù)字頻率計(jì)
- 課程設(shè)計(jì)--數(shù)字頻率計(jì)
- 課程設(shè)計(jì)--數(shù)字頻率計(jì)
- 數(shù)字頻率計(jì)課程設(shè)計(jì)
- 數(shù)字頻率計(jì)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論