【正文】
28 各組員針對(duì)自己的任務(wù),查找相關(guān)資料,完成各自相關(guān)部分。06/30—07/05 進(jìn)行可行性分析,進(jìn)行程序設(shè)計(jì)及仿真,對(duì)有錯(cuò)或不佳的地方加以改正。2011/07/08 打印相關(guān)圖紙,答辯。第1章 頻率計(jì)的設(shè)計(jì)背景及原理 設(shè)計(jì)背景隨著數(shù)字電子技術(shù)的發(fā)展,頻率測(cè)量成為一項(xiàng)越來(lái)越普遍的工作,因此測(cè)頻計(jì)常受到人們的青睞。為了克服這種缺點(diǎn),大大提高測(cè)量精度和速度,我們可以設(shè)計(jì)一種可編程邏輯器件來(lái)實(shí)現(xiàn)數(shù)字頻率計(jì)。其設(shè)計(jì)的靈活性使得EDA技術(shù)得以快速發(fā)展和廣泛應(yīng)用。伴隨著集成電路(IC)技術(shù)的發(fā)展,電子設(shè)計(jì)自動(dòng)化(EDA)逐漸成為重要的設(shè)計(jì)手段,已經(jīng)廣泛應(yīng)用于模擬與數(shù)字電路系統(tǒng)等許多領(lǐng)域。EDA的一個(gè)重要特征就是使用硬件描述語(yǔ)言(HDL)來(lái)完成的設(shè)計(jì)文件,VHDL語(yǔ)言是經(jīng)IEEE確認(rèn)的標(biāo)準(zhǔn)硬件語(yǔ)言,在電子設(shè)計(jì)領(lǐng)域受到了廣泛的接受。通常情況下計(jì)算每秒內(nèi)待測(cè)信號(hào)的脈沖個(gè)數(shù),即閘門時(shí)間為1s。閘門時(shí)間越長(zhǎng),得到的頻率值就越準(zhǔn)確,但閘門時(shí)間越長(zhǎng),則每測(cè)量一次頻率的間隔就越長(zhǎng)。一般取1s作為閘門時(shí)間。測(cè)量頻率的方法有多種,其中電子計(jì)數(shù)器測(cè)量頻率具有精度高、使用方便、測(cè)量迅速,以及便于實(shí)現(xiàn)測(cè)量過(guò)程自動(dòng)化等優(yōu)點(diǎn),是頻率測(cè)量的重要手段之一。直接測(cè)頻法適用于高頻信號(hào)的頻率測(cè)量,通常采用計(jì)數(shù)器、數(shù)據(jù)鎖存器及控制電路實(shí)現(xiàn),并通過(guò)改變計(jì)數(shù)器閥門的時(shí)間長(zhǎng)短在達(dá)到不同的測(cè)量精度;間接測(cè)頻法適用于低頻信號(hào)的頻率測(cè)量,本設(shè)計(jì)中使用的就是直接測(cè)頻法,即用計(jì)數(shù)器在計(jì)算1S內(nèi)輸入信號(hào)周期的個(gè)數(shù)。隨著現(xiàn)場(chǎng)可編程門陣列FPGA的廣泛應(yīng)用,以EDA工具作為開發(fā)手段,運(yùn)用VHDL等硬件描述語(yǔ)言語(yǔ)言,將使整個(gè)系統(tǒng)大大簡(jiǎn)化,提高了系統(tǒng)的整體性能和可靠性。 原理框圖設(shè)計(jì)的原理框圖如下所示: 圖1 數(shù)字頻率計(jì)原理框圖 設(shè)計(jì)思路 通過(guò)脈沖轉(zhuǎn)換電路將三角波、鋸齒波、正弦波,矩形波等周期性信號(hào)轉(zhuǎn)換成矩形脈沖,本論文中就不涉及這方面的設(shè)計(jì)。這就要求測(cè)頻控制信號(hào)發(fā)生器testpl的計(jì)數(shù)使能信號(hào)tsten能產(chǎn)生一個(gè)1秒脈寬的周期信號(hào),并對(duì)頻率計(jì)的每一計(jì)數(shù)器t10的使能端en進(jìn)行同步控制。在停止計(jì)數(shù)期間,首先需要一個(gè)鎖存信號(hào)load的上跳沿將計(jì)數(shù)器在前1 秒種的計(jì)數(shù)值鎖存進(jìn)24位鎖存器reg24b中。然后由外部數(shù)碼管控制器led控制的8段譯碼器ymq譯出,并穩(wěn)定顯示。在閘門信號(hào)有效時(shí)間內(nèi),對(duì)被測(cè)信號(hào)計(jì)數(shù),即為信號(hào)的頻率。本設(shè)計(jì)中選取的基準(zhǔn)信號(hào)頻率為40khz,為了得到1s高電平的周期性閘門信號(hào),本設(shè)計(jì)采用對(duì)頻率為40khz基準(zhǔn)信號(hào)進(jìn)行分頻就能得到1HZ的基準(zhǔn)信號(hào),這樣得到的門閘信號(hào)高電平為1秒鐘,處理后可以產(chǎn)生用于測(cè)頻所需的計(jì)數(shù)允許、鎖存數(shù)據(jù)和清零三個(gè)控制信號(hào)。library ieee。use 。 clk_div1 : out std_logic。end lpm_counter0。beginprocess(clock) variable t1 : integer range 1 to 50。 begin if clock39。139。 q1 = not q1。 q2 =not q2。 end if。 end if。 end process。 clkq =q2。編譯成功后生成元件圖如下:仿真時(shí)設(shè)置總時(shí)間為4s,對(duì)clock引腳輸入設(shè)置成時(shí)間信號(hào),周期是25ns,則其頻率為40kHZ。仿真波形如圖下圖:輸入端clk收到1Hz信號(hào)后,其輸出端testen控制各個(gè)t10的使能,clr_t控制各個(gè)t10的清零,load控制鎖存器內(nèi)數(shù)據(jù)的輸出。use 。entity testpl is port(clk:in std_logic。計(jì)數(shù)器使能信號(hào) clr_t:out std_logic。鎖存器輸出控制信號(hào)end testpl。begin process(clk) begin if clk39。139。 div2clk為2Hz end if 。 process (clk ,div2clk) begin if( clk=39。and div2clk=39。)then clr_t=39。 當(dāng)div2clk與clk同時(shí)為零時(shí)計(jì)數(shù)器清零 else clr_t=39。 當(dāng)div2clk處于的高電平時(shí)計(jì)數(shù)器計(jì)數(shù) end if。 load=not div2clk。 end art。仿真結(jié)果如下圖所示:有一時(shí)鐘使能輸入端en,用于鎖定計(jì)數(shù)值。多位十進(jìn)制計(jì)數(shù)器時(shí),最低位的計(jì)數(shù)器的clk端輸入被測(cè)信號(hào),各計(jì)數(shù)器的進(jìn)位輸出端c10將信號(hào)輸?shù)较乱晃皇M(jìn)制計(jì)數(shù)器t10的輸入端clk,最高位十進(jìn)制計(jì)數(shù)器t10的進(jìn)位輸出端c10給carry_out,進(jìn)行報(bào)警提示(超出量程)。use 。entity t10 is port(clk,clr,en: in std_logic。q:4位計(jì)數(shù)結(jié)果輸出 c10: out std_logic)。architecture art of t10 issignal cqi: std_logic_vector(3 downto 0)。139。 當(dāng)輸入的clr_t為低電平0時(shí)清零 elsif clk39。139。139。 else cqi=0000。 當(dāng)輸入的tesen為低電平0時(shí)禁止計(jì)數(shù),鎖定計(jì)數(shù)值 end if。end process。139。039。end process。end art。編譯成功后生成元件圖如下:在源程序中c10是計(jì)數(shù)器進(jìn)位輸出;q[3..0]是計(jì)數(shù)器的狀態(tài)輸出;clk是被測(cè)信號(hào)轉(zhuǎn)換后的矩形脈沖輸入端;clr是復(fù)位控制輸入端,當(dāng)clr=1時(shí),q[3..0]=0;en是使能控制輸入端,當(dāng)en=1時(shí),計(jì)數(shù)器計(jì)數(shù),當(dāng)en=0時(shí),計(jì)數(shù)器保持狀態(tài)不變。library ieee。use 。輸出鎖存控制信號(hào) din: in std_logic_vector(23 downto 0)。end reg24b。event and load=39。then load為高電平時(shí)teten為低電平,計(jì)數(shù)器禁止 dout=din。 end process。編譯成功后生成元件圖如下:在源程序中l(wèi)oad 是鎖存信號(hào),上升沿觸發(fā);din[23..0]是寄存器輸入;dout[23..0]是寄存器輸出。library ieee。use 。 數(shù)碼管掃描頻率 datain: in std_logic_vector(23 downto 0)。輸出至譯碼器的4位信號(hào) : out std_logic_vector(5 dow