范燕
(常州信息職業(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)測頻法、比較測頻法測量,但是模擬信號由于其自身的特點(diǎn)沒有數(shù)字信號穩(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)今電子設(shè)計(jì)技術(shù)的最新發(fā)展方向,它的基本特征是:設(shè)計(jì)人員按照“自頂向下”(Top-Down)的設(shè)計(jì)方法,對整個系統(tǒng)進(jìn)行方案設(shè)計(jì)和功能劃分,系統(tǒng)的關(guān)鍵電路用一片或幾片專用集成電路(ASIC)實(shí)現(xiàn),然后采用硬件描述語言(HDL)完成系統(tǒng)行為級設(shè)計(jì),最后通過綜合器和適配器生成最終目標(biāo)器件。EDA技術(shù)可以通過軟件編程對目標(biāo)器件的結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),能隨時對設(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è)計(jì)進(jìn)行邏輯優(yōu)化,并將邏輯映射到器件中去,自動完成預(yù)布線,生成編程所需的熔絲圖文件,通過下載電纜下載到FPGA器件來實(shí)現(xiàn)。FPGA器件的型號是EPF10K20TC144-4。
數(shù)字頻率計(jì)的主要功能是測量周期信號的頻率。頻率是單位時間(1 s)內(nèi)信號發(fā)生周期變化的次數(shù)[3]。
頻率計(jì)又稱為頻率計(jì)數(shù)器,是一種專門對信號頻率進(jìn)行測量的電子測量儀器,不論頻率計(jì)技術(shù)指標(biāo)如何定義,其基本工作原理:當(dāng)被測信號在特定時間段T內(nèi)的周期個數(shù)為N時,則被測信號的頻率:
其中:F為頻率,單位為Hz;N為計(jì)數(shù)器計(jì)數(shù)值,計(jì)數(shù)器計(jì)數(shù)定時時間為T。
一般的數(shù)字頻率計(jì)主要由4個部分構(gòu)成:輸入電路、閘門電路,計(jì)數(shù)顯示電路和控制電路,號調(diào)理器、閘門電路,計(jì)數(shù)、譯碼、顯示、清零、時基和邏輯控制電路等組成,原理框圖如圖1。
圖1 簡易數(shù)字式頻率計(jì)方框圖
本設(shè)計(jì)是一個6位的數(shù)字頻率計(jì),測量范圍為0~999 999 Hz,假設(shè)被測信號為標(biāo)準(zhǔn)的方波信號。設(shè)計(jì)采用“自頂向下”的設(shè)計(jì)方法,先進(jìn)行頂層原理圖設(shè)計(jì),再進(jìn)行底層各模塊設(shè)計(jì)。
時鐘產(chǎn)生電路由振蕩器和分頻電路構(gòu)成,這部分電路實(shí)驗(yàn)板上已經(jīng)提供。時鐘的作用:①為頻率計(jì)的控制電路提供基準(zhǔn)時鐘信號;②為頻率計(jì)提供頻率可變的被測信號。
LED數(shù)碼管顯示電路原理圖如圖2所示,F(xiàn)PGA直接驅(qū)動共陰極數(shù)碼管,通過電阻調(diào)節(jié)數(shù)碼管的電流,實(shí)現(xiàn)數(shù)碼管的顯示亮度控制,同時防止FPGA I/ O引腳的輸出電流過大。
圖2 LED數(shù)碼管顯示電路
頂層原理圖設(shè)計(jì)(如圖3),原理圖中總共有7個功能模塊,每個模塊功能如下。
1)分頻器模塊CLKDIV通過輸入信號1 kHz的125分頻得到輸出8 Hz的信號。
2)控制器模塊CODE通過CNT計(jì)數(shù)器產(chǎn)生三個控制信號,計(jì)數(shù)器的第一個8 Hz的信號對應(yīng)輸出清零信號(CLR)置高電平,第一個8 Hz的信號至第八個8 Hz的信號,閘門信號(CS)置高電平,因此脈沖寬度為1 s,第十二個8 Hz的信號,鎖存信號(LOCK)置高電平。
3)計(jì)數(shù)器模塊CNT10,該模塊設(shè)置了計(jì)數(shù)、異步清零、使能、進(jìn)位功能。異步清零是為了閘門信號開通時計(jì)數(shù)器先清零,使能就是閘門信號,進(jìn)位輸出是為了計(jì)數(shù)器之間的級聯(lián)。
4)鎖存器模塊LOCK,在鎖存信號的高電平期間,輸出隨輸入變化,低電平時,輸入值鎖存,輸出值不變。
5)多選一模塊MUX61、動態(tài)掃描CNT6和顯示譯碼器模塊DECODER,是將6位頻率計(jì)的數(shù)值通過動態(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é)果正確,在閘門信號CS有效,清零信號clr無效,有時鐘脈沖的前提下,十進(jìn)制計(jì)數(shù)信號qq開始0~9的計(jì)數(shù)。十進(jìn)制計(jì)數(shù)結(jié)束產(chǎn)生進(jìn)位信號C0。
CODE的波形仿真結(jié)果正確,當(dāng)輸入端dd從1計(jì)數(shù)到8時,閘門信號CS為高電平。計(jì)數(shù)到11時,鎖存信號為高電平,計(jì)數(shù)到0時,清零信號為高電平。
各模塊仿真測試正確后,經(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期