版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1 基于基于 vhdl 的的 8 位十進(jìn)制頻率計(jì)設(shè)位十進(jìn)制頻率計(jì)設(shè) 計(jì)計(jì) 目錄目錄 目錄目錄.1 摘要摘要.2 1.設(shè)計(jì)目的設(shè)計(jì)目的.2 2.設(shè)計(jì)要求設(shè)計(jì)要求.2 3.設(shè)計(jì)思路設(shè)計(jì)思路.2 4.頻率計(jì)設(shè)計(jì)原理頻率計(jì)設(shè)計(jì)原理.3 4.1 頻率計(jì)的組成部分.3 4.2 頻率計(jì)工作原理.3 4.3 頻率計(jì)各模塊介紹.3 5.頻率計(jì)仿真頻率計(jì)仿真.7 5.1fctrl控制模塊仿真 .7 5.2regester寄存器模塊仿真.7 5.3seltime掃描模塊仿真.7 5.4deled顯示模塊仿真.8 5.5cnt10 計(jì)數(shù)器模塊仿真.8 5.6 總電路仿真.8 6.頻率計(jì)各模塊程序頻率計(jì)各模塊程序.9
2、7.頻率計(jì)下載到實(shí)驗(yàn)箱現(xiàn)象頻率計(jì)下載到實(shí)驗(yàn)箱現(xiàn)象.13 8.設(shè)計(jì)體會設(shè)計(jì)體會.14 9.參考資料參考資料.14 2 摘要摘要 使用 vhdl 語言來設(shè)計(jì)數(shù)字頻率計(jì), 給出了原理圖和仿真圖形, 所設(shè) 計(jì)的電路通過硬件仿真, 下載到目標(biāo)器件上運(yùn)行, 能夠滿足測量頻率的要求, 具 有理論與實(shí)踐意義, 實(shí)現(xiàn)了電子電路自動化(eda)的過程。 關(guān)關(guān)鍵詞鍵詞 vhdl; eda; 仿真; fpga; 頻率計(jì) 1. 設(shè)計(jì)設(shè)計(jì)目的目的 1.1 熟悉 max+plusii 10.2 的軟件的基本使用方法。 1.2 理解頻率計(jì)的測量原理。 1.3 掌握 vhdl 語言的編寫方法。 1.4 掌握虛擬數(shù)字頻率計(jì)的軟件
3、設(shè)計(jì)。 2. 設(shè)計(jì)設(shè)計(jì)要求要求 在 max+plusii 中設(shè)計(jì)一個(gè)數(shù)字頻率計(jì)電路,設(shè)計(jì)要求為: 測量范圍: 1hz100mhz,數(shù)碼管動態(tài)掃描顯示所測的頻率。 3. 設(shè)計(jì)設(shè)計(jì)思路思路 方案一:采用周期法。通過測量待測信號的周期并求其倒數(shù),需要有標(biāo)準(zhǔn)倍 的頻率,在待測信號的一個(gè)周期內(nèi),記錄標(biāo)準(zhǔn)頻率的周期數(shù),這種方法的計(jì)數(shù)值 會產(chǎn)生最大為1 個(gè)脈沖誤差,并且測試精度與計(jì)數(shù)器中記錄的數(shù)值有關(guān),為了 保證測試精度,測周期法僅適用于低頻信號的測量。 方案二:采用直接測頻法。直接測頻法就是在確定的閘門時(shí)間內(nèi),記錄被測 信號的脈沖個(gè)數(shù)。由于閘門時(shí)間通常不是待測信號的整數(shù)倍,這種方法的計(jì)數(shù)值 也會產(chǎn)生最大為
4、1 個(gè)脈沖誤差。進(jìn)一步分析測量準(zhǔn)確度:設(shè)待測信號脈沖周期 為 tx,頻率為 fx,當(dāng)測量時(shí)間為 t=1s 時(shí),測量準(zhǔn)確度為=tx/t=1/fx。由此可知 直接測頻法的測量準(zhǔn)確度與信號的頻率有關(guān):當(dāng)待測信號頻率較高時(shí),測量準(zhǔn)確 度也較高,反之測量準(zhǔn)確度也較低。因此直接測頻法只適合測量頻率較高的信號, 不能滿足在整個(gè)測量頻段內(nèi)的測量精度保持不變的要求。 方案三:采用等精度頻率測量法,測量精度保持恒定,不隨所測信號的變化 而變化。在快速測量的要求下,要保證較高精度的測頻,必須采用較高的標(biāo)準(zhǔn)頻 率信號。采用高集成度、高速的現(xiàn)場可編程門陣列 fpga 為實(shí)現(xiàn)高速、高精度的 測頻提供了保證。 本設(shè)計(jì)所采用
5、的測頻方法就是直接測頻法。 3 3.頻頻率率計(jì)設(shè)計(jì)計(jì)設(shè)計(jì)原理原理 3.1 頻頻率率計(jì)計(jì)的的組組成部分成部分 頻率計(jì)主要由 5 個(gè)部分組成: 測頻控制信號發(fā)生器 fctrl、8 個(gè)有時(shí)鐘使能的 十進(jìn)制計(jì)數(shù)器 cnt10、1 個(gè)鎖存器 regester32、顯示模塊 deled 和控制顯示模塊 seltime。數(shù)字頻率計(jì)的框圖如下圖所示。 3.2 頻頻率率計(jì)計(jì)工作原理工作原理 頻率計(jì)是直接用十進(jìn)制數(shù)字來顯示被測信號頻率的一種測量裝置。所謂頻 率, 就是周期性信號在單位時(shí)間( 1s) 里變化的次數(shù)。若在一定時(shí)間間隔 t 內(nèi)測 得的這個(gè)周期性信號的重復(fù)變化次數(shù) n , 則其頻率可表示為 f = n /
6、 t。 頻率測量的基本原理是計(jì)算每秒鐘內(nèi)待測信號的脈沖個(gè)數(shù),測頻的基本原 理要求 fctrl 的計(jì)數(shù)使能信號 en 能產(chǎn)生一個(gè) 1s 脈寬的周期信號, 并對頻率計(jì)的 每一個(gè)計(jì)數(shù)器 cnt10 的使能端進(jìn)行同步控制。 當(dāng) en 為高電平時(shí)允許計(jì)數(shù),為低電平時(shí)停止計(jì)數(shù),并保持其所計(jì)脈沖個(gè)數(shù)。在 停止計(jì)數(shù)期間,首先需要一個(gè)鎖存信號 load 的上跳沿將計(jì)數(shù)器在前 1s 的計(jì)數(shù)值 鎖存進(jìn) regester32 中,并由外部的 7 段譯碼器譯出,并穩(wěn)定顯示。鎖存信號之后,必 須有一個(gè)清零信號對計(jì)數(shù)器進(jìn)行清零,為下 1s 的計(jì)數(shù)操作做準(zhǔn)備。測頻控制信號 發(fā)生器的工作時(shí)序圖如下圖所示。 4 其中控制信號頻率
7、始終為 1hz,那么信號 en 的脈寬正好為 1s,可以用作計(jì)數(shù) 閘門信號。然后根據(jù)測頻的時(shí)序要求,可得出信號 load 和清零信號 clr_cnt 的邏輯 描述。計(jì)數(shù)完成后, 利用計(jì)數(shù)使能信號反向值的上跳沿產(chǎn)生一個(gè)鎖存信號 load。0.5s 后,clr_cnt 產(chǎn)生一個(gè)清零信號上跳沿。計(jì)數(shù)器 cnt10 的特殊之處是, 有 一時(shí)鐘使能輸入端 ena,用于鎖存計(jì)數(shù)值。當(dāng)高電平時(shí)計(jì)數(shù)允許, 低電平時(shí)計(jì)數(shù)禁 止。鎖存器的設(shè)計(jì)要求:若已有 24 位 bcd 碼存于此模塊的輸入口,在信號 load 的 上跳沿后即被鎖存到寄存器 regester 內(nèi)部,并由 regester 的輸出端輸出, 然后有實(shí)
8、 驗(yàn)箱上 7 段譯碼器譯成能在數(shù)碼管上顯示輸出的相應(yīng)數(shù)值。 3.3 頻頻率率計(jì)計(jì)各模各模塊塊介介紹紹 測頻控制信號模塊 控制模塊的作用是產(chǎn)生測頻所需要的各種控制信號??刂菩盘柕臉?biāo)準(zhǔn)輸入 時(shí)鐘為 1hz,每兩個(gè)時(shí)鐘周期進(jìn)行一次頻率測量。該模塊產(chǎn)生的 3 個(gè)控制信號, 分別為 en,load,clr_cnt。clr_cnt 信號用于在每次測量開始時(shí),對計(jì)數(shù)器 進(jìn)行復(fù)位,以清除上次測量的結(jié)果,該復(fù)位信號高電平有效,持續(xù)半個(gè)時(shí)鐘周期 的時(shí)間。en 為計(jì)數(shù)允許信號,在 en 信號的上升沿時(shí)刻計(jì)數(shù)模塊開始對輸入信 號的頻率進(jìn)行測量,測量時(shí)間恰為一個(gè)時(shí)鐘周期(正好為單位時(shí)間 1s),在此時(shí)間 里被測信號的脈
9、沖數(shù)進(jìn)行計(jì)數(shù),即為信號的頻率。然后將值鎖存,并送到數(shù)碼管 顯示出來。設(shè)置鎖存器的好處是使顯示的數(shù)據(jù)穩(wěn)定,不會由于周期性的清零信號 5 而不斷閃爍。在每一次測量開始時(shí),都必須重新對計(jì)數(shù)器清 0。 測頻控制產(chǎn)生器如下圖所示,圖中 1hzde clk1 接 cnt,en 為計(jì)數(shù)允許信 號,接計(jì)數(shù)器 cnt10 的 ena(此圖未畫出),clr_cnt 信號用于在每次測量開始 時(shí),對計(jì)數(shù)器進(jìn)行復(fù)位,接計(jì)數(shù)器 cnt10 的 clr,load 接鎖存器的 load(此 圖未畫出)。 鎖存器模塊 測量模塊測量完成后,在 load 信號的上升沿時(shí)刻將測量值鎖存到寄存器中, 然后輸出到顯示模塊。鎖存器是起數(shù)據(jù)
10、保持的作用,它將會把數(shù)據(jù)保存到下次觸 發(fā)或復(fù)位。主要是主從觸發(fā)器組成的。用于存儲數(shù)據(jù)來進(jìn)行交換,使數(shù)據(jù)穩(wěn)定下 來保持一段時(shí)間不變化,直到新的數(shù)據(jù)將其替換。 鎖存器 regester 的封裝如下圖所示,圖中 load 接控制測頻產(chǎn)生器 ftrl 的 load,而 din31.0接計(jì)數(shù)器 cnt10 的 cq3.0,dout31.0接顯示器 seltime 模塊的 din31.0端。 掃描模塊 首先掃描模塊接一個(gè) clk 時(shí)鐘,頻率為 32768hz,din310接 regester 的 dout310,sel20鎖存到 74ls138 譯碼器的三個(gè)引腳,以便于讓 6 數(shù)碼管顯示,daout30接
11、 deled 的 s30端。 sel 為一個(gè) 7 進(jìn)制計(jì)數(shù)器,當(dāng) sel 為 000 時(shí),daout 對應(yīng)著輸入 din 的 0 到 3 位, 當(dāng) sel 為 001 時(shí),daout 對應(yīng)著輸入 din 的 4 到 7 位,以此類推,當(dāng) sel 為 111 時(shí), daout 對應(yīng) din 的 28 到 31 位。 seltime 模塊如下圖所示 sel 接線如右圖所示 顯示模塊 led 有段碼和位碼之分,所謂段碼就是讓 led 顯示出八位數(shù)據(jù),一般情況 下要通過一個(gè)譯碼電路,將輸入的 4 位 2 進(jìn)制數(shù)轉(zhuǎn)換為與 led 顯示對應(yīng)的 8 位 段碼。位碼也就是 led 的顯示使能端,對于共陰級的
12、led 而言,低電平使能。 在本設(shè)計(jì)中位碼由掃描模塊的 sel 接至 74ls138 進(jìn)行譯碼。位碼由顯示模塊 輸出。例如:要讓 8 個(gè) led 同時(shí)工作顯示數(shù)據(jù),就是要不停的循環(huán)掃描每一個(gè) led,并在使能每一個(gè) led 的同時(shí),輸入所需顯示的數(shù)據(jù)對應(yīng)的 8 位段碼。雖 然 8 個(gè) led 是依次顯示,但是受視覺分辨率的影響,看到的現(xiàn)象是 8 個(gè) led 同 時(shí)工作。 deled 模塊如下圖所示。s30經(jīng)過譯碼對應(yīng)著一個(gè) 32 位的 dout,而 a 到 g 分別對應(yīng) dout(0)至 dout(7)。 7 十進(jìn)制計(jì)數(shù)器模塊 計(jì)數(shù)器模塊是由 8 個(gè)帶有異步清零端,進(jìn)位信號輸出的模為 10 的
13、計(jì)數(shù)模塊 級連而成。它有一時(shí)鐘使能輸入端 ena,用于鎖定計(jì)數(shù)器。當(dāng)高電平計(jì)數(shù)允許, 低電平時(shí)計(jì)數(shù)禁止。計(jì)數(shù)器模塊用于對輸入信號的脈沖進(jìn)行計(jì)數(shù),該模塊有計(jì)數(shù) 允許、異步清零等端口,以便于控制模塊對其進(jìn)行控制。 cnt10 如下圖所示,其中 clr 為復(fù)位接 fctrl 的 clr_cnt 端,ena 接 fctrl 的 en 端,cq3.0接鎖存器的 dout31.0端。 8 綜上,總電路設(shè)計(jì)圖如下所示: 5.頻頻率率計(jì)計(jì)仿真仿真 5.1fctrl 控制模塊仿真 9 由圖可以看出 clk 為一個(gè) 1hz 的時(shí)鐘信號,en 為 clk 的二分頻,load 為 en 的非,clr_cnt 在 cl
14、k 和 en 都為低電平時(shí),為高電平。 5.2regester 寄存器模塊仿真 由上圖可以看出,當(dāng) rst 為高電平時(shí),32 位輸出 dout 立即全部置零,當(dāng) rst 為低電平時(shí),在 load 信號有上升沿時(shí),din 將值賦給 dout。 5.3seltime 掃描模塊仿真 由上圖可以看出,sel 從 000 開始循環(huán)計(jì)數(shù)至 111,當(dāng) clk 上升沿到來時(shí),若 sel 為 111,則將 sel 置為 000 重新計(jì)數(shù)。sel 的 000 至 111 依次對應(yīng) daout 從第四 位至高四位。 5.4deled 顯示模塊仿真 10 5.5cnt10 計(jì)數(shù)器模塊仿真 使能信號 ena 一直為高
15、電平,則 clk 來一個(gè)上升沿,cq 計(jì)一次數(shù),計(jì)數(shù)范圍 為 0 到 9,到 9 后,cq 從 0 開始重新計(jì)數(shù),并且 carry_out 輸出一個(gè)高電平;當(dāng) clr 信號為高電平時(shí),cq 清零,開始重新計(jì)數(shù)。 5.6 總電路仿真 clk1 為 1hz(基準(zhǔn)頻率),clk2 為待測頻率,clk3 為 32768hz(掃描頻率), 剩下的幾個(gè)參數(shù),在前幾個(gè)仿真中均已提過,此處不再贅述。 11 6.頻頻率率計(jì)計(jì)各模各模塊塊程序程序 6.1fctrl 控制模塊 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned
16、.all; entity fctrl is port( clk: in std_logic; en: out std_logic; clr_cnt: out std_logic; load: out std_logic); end fctrl; architecture behav of fctrl is signal div2clk : std_logic; begin process(clk) begin if(clkevent and clk=1) then div2clk=not div2clk; end if; end process; process(clk,div2clk) be
17、gin if(clk=0 and div2clk=0) then clr_cnt=1; else clr_cnt=0; end if; end process; load=not div2clk; en=div2clk; end behav; 6.2regester 寄存器模塊 library ieee; use ieee.std_logic_1164.all; entity regester32 is port( load : in std_logic; 12 rst: in std_logic; din: in std_logic_vector(31 downto 0); dout:out
18、 std_logic_vector(31 downto 0); end regester32; architecture behav of regester32 is signal data:std_logic_vector(31 downto 0); begin process(rst,load) begin if rst=1 then data0); elsif(loadevent and load=1) then data=din; end if; dout=data; end process; end behav; 6.3seltime 掃描模塊 library ieee; use i
19、eee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity seltime is port( clk : in std_logic; din : in std_logic_vector(31 downto 0); daout: out std_logic_vector(3 downto 0); sel : out std_logic_vector(2 downto 0); end seltime; architecture behav of seltime is signal sec : std_logic_vector(2
20、downto 0); begin process(clk) begin if(clkevent and clk=1) then if(sec=111) then sec=000; else secdaoutdaoutdaoutdaoutdaoutdaoutdaoutdaoutnull; end case; end process; sel=sec; end behav; 6.4deled 顯示模塊 library ieee; use ieee.std_logic_1164.all; entity deled is port( s: in std_logic_vector(3 downto 0)
21、; a,b,c,d,e,f,g,h: out std_logic); end deled; architecture behav of deled is signal data:std_logic_vector(3 downto 0); signal dout:std_logic_vector(7 downto 0); begin datadoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdout=00000000; end case; end process; h=dout(7); g=dout(6); f=dout(5); e=dout(4); d=dout(3); c=dout(2); b=dout(1); a=dout(0); end behav; 6.5cnt10 計(jì)數(shù)器模塊 library ieee; use ieee.std_logic_1164.all; entity cnt10 is po
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 5267.5-2024緊固件表面處理第5部分:熱擴(kuò)散滲鋅層
- 標(biāo)準(zhǔn)最高額抵押借款合同模板
- 旅行社常用旅游意外保險(xiǎn)合同樣本
- 2024年工程項(xiàng)目合作協(xié)議
- 2024版營運(yùn)客車購銷合同樣本
- 2024二手車買賣協(xié)議書樣本
- 2024年全新國際貿(mào)易合同模板1-
- 2024電力工程委托運(yùn)行協(xié)議
- 個(gè)人車輛抵押合同范本2024年
- 2024年同居協(xié)議書范文
- 小學(xué)五年級上學(xué)期信息科技《我們?nèi)ツ膬骸方虒W(xué)課件
- 2024智能變電站新一代集控站設(shè)備監(jiān)控系統(tǒng)技術(shù)規(guī)范部分
- 河北省邯鄲市思想政治高一上學(xué)期2024-2025學(xué)年測試試題及答案解析
- 2004年三中會議精神測試題及答案
- 2024年浙江省應(yīng)急管理行政執(zhí)法競賽題庫-上(單選、多選題)
- 【2013浙G32】機(jī)械連接竹節(jié)樁圖集
- 安全生產(chǎn)法律法規(guī)清單2024.07
- 人教版高中化學(xué)選擇性必修1第2章化學(xué)反應(yīng)速率與化學(xué)平衡測試含答案
- 《食品添加劑應(yīng)用技術(shù)》第二版 課件 任務(wù)3.1 防腐劑的使用
- 2024年國家能源投資集團(tuán)有限責(zé)任公司校園招聘考試試題及參考答案
- 糖皮質(zhì)激素的合理應(yīng)用課件
評論
0/150
提交評論