范燕
(常州信息職業(yè)技術(shù)學(xué)院電子與電氣工程學(xué)院 江蘇常州 213164)
基于EDA技術(shù)的數(shù)字頻率計(jì)設(shè)計(jì)方法
范燕
(常州信息職業(yè)技術(shù)學(xué)院電子與電氣工程學(xué)院 江蘇常州 213164)
介紹一種基于大規(guī)??删幊踢壿嬈骷念l率計(jì)設(shè)計(jì),該設(shè)計(jì)采用“自頂向下”的設(shè)計(jì)方法,先進(jìn)行頂層原理圖設(shè)計(jì),再進(jìn)行底層各模塊VHDL程序設(shè)計(jì),并通過波形仿真和實(shí)驗(yàn)箱下載驗(yàn)證設(shè)計(jì)結(jié)果。
頻率計(jì);VHDL;可編程邏輯器件
隨著微電子技術(shù)、大規(guī)模可編程邏輯器件、新型顯示器件和計(jì)算機(jī)技術(shù)的飛速發(fā)展,電子儀器也得到了進(jìn)一步的發(fā)展,如功能單一的傳統(tǒng)測量儀器逐步向智能儀器發(fā)展。數(shù)字頻率計(jì)是一種基本的測量儀器。它被廣泛應(yīng)用于航天、電子、測控等領(lǐng)域[1]。數(shù)字頻率計(jì)可實(shí)現(xiàn)的方法,可選用的器件是多種多樣的??梢赃\(yùn)用傳統(tǒng)模擬電路的手段如響應(yīng)測頻法、比較測頻法測量,但是模擬信號(hào)由于其自身的特點(diǎn)沒有數(shù)字信號(hào)穩(wěn)定,因此數(shù)字電路出現(xiàn)后,馬上就出現(xiàn)了數(shù)字頻率計(jì)[2]。但是數(shù)字電路的方法使用大量的數(shù)字元器件,電路原理復(fù)雜,硬件調(diào)試麻煩。以EDA技術(shù)為核心的設(shè)計(jì)方法,使用的元器件少,原理電路簡單,調(diào)試方便,只需要修改源程序即可。
EDA(電子設(shè)計(jì)自動(dòng)化)代表了當(dāng)今電子設(shè)計(jì)技術(shù)的最新發(fā)展方向,它的基本特征是:設(shè)計(jì)人員按照“自頂向下”(Top-Down)的設(shè)計(jì)方法,對整個(gè)系統(tǒng)進(jìn)行方案設(shè)計(jì)和功能劃分,系統(tǒng)的關(guān)鍵電路用一片或幾片專用集成電路(ASIC)實(shí)現(xiàn),然后采用硬件描述語言(HDL)完成系統(tǒng)行為級(jí)設(shè)計(jì),最后通過綜合器和適配器生成最終目標(biāo)器件。EDA技術(shù)可以通過軟件編程對目標(biāo)器件的結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),能隨時(shí)對設(shè)計(jì)進(jìn)行調(diào)整,具有集成度高、結(jié)構(gòu)靈活、開發(fā)周期短、快速可靠性高等特點(diǎn),數(shù)字設(shè)計(jì)在其中快速發(fā)展,應(yīng)用這種技術(shù)可使設(shè)計(jì)過程大大簡化。VHDL語言最大的特點(diǎn)是描述能力極強(qiáng),可以覆蓋邏輯設(shè)計(jì)的諸多領(lǐng)域和層次,并支持眾多的硬件模型。其特點(diǎn)包括:①設(shè)計(jì)技術(shù)齊全,方法靈活,支持廣泛;②系統(tǒng)硬件描述能力強(qiáng);③VHDL語言可以與工藝無關(guān)地進(jìn)行編程;④ VHDL語言標(biāo)準(zhǔn)、規(guī)范,易于共享和重用。
本設(shè)計(jì)運(yùn)用Altera公司提供的一種通用電子設(shè)計(jì)軟件MAX+plusII。采用原理圖和VHDL語言相結(jié)合的方法設(shè)計(jì)數(shù)字系統(tǒng),對所設(shè)計(jì)的數(shù)字系統(tǒng)進(jìn)行功能仿真和時(shí)序仿真,能對設(shè)計(jì)進(jìn)行邏輯優(yōu)化,并將邏輯映射到器件中去,自動(dòng)完成預(yù)布線,生成編程所需的熔絲圖文件,通過下載電纜下載到FPGA器件來實(shí)現(xiàn)。FPGA器件的型號(hào)是EPF10K20TC144-4。
數(shù)字頻率計(jì)的主要功能是測量周期信號(hào)的頻率。頻率是單位時(shí)間(1 s)內(nèi)信號(hào)發(fā)生周期變化的次數(shù)[3]。
頻率計(jì)又稱為頻率計(jì)數(shù)器,是一種專門對信號(hào)頻率進(jìn)行測量的電子測量儀器,不論頻率計(jì)技術(shù)指標(biāo)如何定義,其基本工作原理:當(dāng)被測信號(hào)在特定時(shí)間段T內(nèi)的周期個(gè)數(shù)為N時(shí),則被測信號(hào)的頻率:
其中:F為頻率,單位為Hz;N為計(jì)數(shù)器計(jì)數(shù)值,計(jì)數(shù)器計(jì)數(shù)定時(shí)時(shí)間為T。
一般的數(shù)字頻率計(jì)主要由4個(gè)部分構(gòu)成:輸入電路、閘門電路,計(jì)數(shù)顯示電路和控制電路,號(hào)調(diào)理器、閘門電路,計(jì)數(shù)、譯碼、顯示、清零、時(shí)基和邏輯控制電路等組成,原理框圖如圖1。
圖1 簡易數(shù)字式頻率計(jì)方框圖
本設(shè)計(jì)是一個(gè)6位的數(shù)字頻率計(jì),測量范圍為0~999 999 Hz,假設(shè)被測信號(hào)為標(biāo)準(zhǔn)的方波信號(hào)。設(shè)計(jì)采用“自頂向下”的設(shè)計(jì)方法,先進(jìn)行頂層原理圖設(shè)計(jì),再進(jìn)行底層各模塊設(shè)計(jì)。
時(shí)鐘產(chǎn)生電路由振蕩器和分頻電路構(gòu)成,這部分電路實(shí)驗(yàn)板上已經(jīng)提供。時(shí)鐘的作用:①為頻率計(jì)的控制電路提供基準(zhǔn)時(shí)鐘信號(hào);②為頻率計(jì)提供頻率可變的被測信號(hào)。
LED數(shù)碼管顯示電路原理圖如圖2所示,F(xiàn)PGA直接驅(qū)動(dòng)共陰極數(shù)碼管,通過電阻調(diào)節(jié)數(shù)碼管的電流,實(shí)現(xiàn)數(shù)碼管的顯示亮度控制,同時(shí)防止FPGA I/ O引腳的輸出電流過大。
圖2 LED數(shù)碼管顯示電路
頂層原理圖設(shè)計(jì)(如圖3),原理圖中總共有7個(gè)功能模塊,每個(gè)模塊功能如下。
1)分頻器模塊CLKDIV通過輸入信號(hào)1 kHz的125分頻得到輸出8 Hz的信號(hào)。
2)控制器模塊CODE通過CNT計(jì)數(shù)器產(chǎn)生三個(gè)控制信號(hào),計(jì)數(shù)器的第一個(gè)8 Hz的信號(hào)對應(yīng)輸出清零信號(hào)(CLR)置高電平,第一個(gè)8 Hz的信號(hào)至第八個(gè)8 Hz的信號(hào),閘門信號(hào)(CS)置高電平,因此脈沖寬度為1 s,第十二個(gè)8 Hz的信號(hào),鎖存信號(hào)(LOCK)置高電平。
3)計(jì)數(shù)器模塊CNT10,該模塊設(shè)置了計(jì)數(shù)、異步清零、使能、進(jìn)位功能。異步清零是為了閘門信號(hào)開通時(shí)計(jì)數(shù)器先清零,使能就是閘門信號(hào),進(jìn)位輸出是為了計(jì)數(shù)器之間的級(jí)聯(lián)。
4)鎖存器模塊LOCK,在鎖存信號(hào)的高電平期間,輸出隨輸入變化,低電平時(shí),輸入值鎖存,輸出值不變。
5)多選一模塊MUX61、動(dòng)態(tài)掃描CNT6和顯示譯碼器模塊DECODER,是將6位頻率計(jì)的數(shù)值通過動(dòng)態(tài)掃描及七段譯碼,顯示在共陰極七段數(shù)碼管上。
圖3 頂層原理圖
以控制器模塊CODE為例,根據(jù)CODE模塊的功能,其VHDL程序編寫如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity code is
port(dd:in std_logic_vector(3 downto 0);
cs,clr,lock:out std_logic);
end code;
architecture one of code is
begin
process(dd)
begin
if(dd=0)then clr<='1';
else clr<='0';
end if;
if(dd=11)then lock<='1';
else lock<='0';
end if;
if((dd>0)and(dd<9))then
cs<='1';
else cs<='0';
end if;
end process;
end one;
各模塊經(jīng)編譯通過以后,必須進(jìn)行仿真測試。其中CNT10和CODE模塊的仿真結(jié)果如圖4、圖5所示:
圖4 CNT10的波形仿真結(jié)果
圖5 CODE的波形仿真結(jié)果
CNT10的波形仿真結(jié)果正確,在閘門信號(hào)CS有效,清零信號(hào)clr無效,有時(shí)鐘脈沖的前提下,十進(jìn)制計(jì)數(shù)信號(hào)qq開始0~9的計(jì)數(shù)。十進(jìn)制計(jì)數(shù)結(jié)束產(chǎn)生進(jìn)位信號(hào)C0。
CODE的波形仿真結(jié)果正確,當(dāng)輸入端dd從1計(jì)數(shù)到8時(shí),閘門信號(hào)CS為高電平。計(jì)數(shù)到11時(shí),鎖存信號(hào)為高電平,計(jì)數(shù)到0時(shí),清零信號(hào)為高電平。
各模塊仿真測試正確后,經(jīng)過引腳鎖定,通過Byte Blaster MV并口下載電纜下載到實(shí)驗(yàn)箱。當(dāng)輸入脈沖源為 500 kHz,數(shù)碼管正確顯示出頻率500 kHz,實(shí)驗(yàn)結(jié)果驗(yàn)證了頻率計(jì)的正確性(如圖6所示)。
圖6 硬件測試結(jié)果
在介紹頻率計(jì)的基本原理的基礎(chǔ)上,闡述如何基于FPGA設(shè)計(jì)頻率計(jì),并給出完整的設(shè)計(jì)過程。此外,如果使用更高頻率的FPGA芯片,頻率計(jì)的量程上限可以進(jìn)一步地提高[4]。
[1] 王鳳英.基于FPGA的數(shù)字頻率計(jì)設(shè)計(jì)與仿真[J].科技資訊,2008(33):19.
[2] 張建新.基于通用集成電路的數(shù)字頻率計(jì)設(shè)計(jì)與實(shí)現(xiàn)[D].天津:天津大學(xué),2008:11-12.
[3] 賈立新,王涌.電子系統(tǒng)設(shè)計(jì)與實(shí)踐[M].北京:清華大學(xué)出版社,2011:99-107.
[4] 嵇碧波.基于FPGA數(shù)字頻率計(jì)[J].電子測量技術(shù),2005,29(4):84-85.
Design Method of Digital Frequency Meter Based on EDA Technology
FAN Yan
(School of Electronic and Electrical Engineering,Changzhou College of Information Technology,Changzhou 213164,China)
This paper describes the design of frequency meter based on large-scale programmable logic devices,which adopts the“topdown“design method.Firstly,the top-level schematic is designed,and then the VHDL program of each underlying module is designed.The design result is verified by experimental box download and Waveform simulation.
frequency meter;VHDL;PLD
book=118,ebook=118
TM 935.13
B
1672-2434(2012)03-0019-04
2012-04-10
范 燕(1981-),女,講師,從事研究方向:EDA技術(shù)
常州信息職業(yè)技術(shù)學(xué)院學(xué)報(bào)2012年3期