高皚瓊 甘肅工業職業技術學院
電子秒表在很多領域充當著重要的角色,尤其在各種比賽中對秒表的精度要求很高。以往的電路多選用單元電路來實現,采用傳統的“自底向上”設計方法,其設計主要依賴設計者的經驗與技巧,這種方式設計成本高,效率低。本設計采用EDA 技術,以VHDL 語言為系統邏輯描述,自動完成由軟件描述系統到硬件電路的實現。整個設計“自頂向下”完成功能模塊的劃分,各模塊相對獨立。可以對各模塊單獨進行設計、調試和修改,極大地減少了設計人員的工作量,更提高了設計的靈活性和可靠性。
秒表實際上是一個對標準脈沖信號(1HZ)進行計數的電路,能夠精確反映計時時間。在此過程中具備啟動、暫停、復位等功能,使其真正具有實用功能。秒表計時的最大范圍為1 小時,精度為0.01 秒,當按下暫停按鍵后,由顯示電路顯示計時時間。
電子秒表的設計模塊主要包括分頻器、計數器電路、控制電路、報時電路和譯碼顯示電路等。其中,計時電路和控制電路是系統的主要部分,計時電路完成對秒脈沖信號的計數功能,而控制電路具有直接控制計數器的清零、啟動計數、停止 3 種狀態的功能。
(1)計數器模塊主要完成對時鐘信號的精確計時。其實質是對有分頻器輸出的秒脈沖信號(頻率為1HZ)進行計數,通過計數完成計時。秒、分部分為60 進制計數,即從0 到59 循環計數,計至59 分59 秒時歸零。計數結果通過譯碼顯示部分顯示,即所計時間值。
(2)控制電路可產生 3 個控制信號,分別用作電子秒表的清零、計時、停止 3 種狀態。
(3)由石英晶體振蕩器產生頻率很高的脈沖信號,經分頻電路分頻生成 1Hz 標準秒脈沖信號和100Hz 的音頻信號,同時滿足計數電路和報時電路的需要。
(4)譯碼顯示模塊為譯碼驅動電路和數碼顯示電路,可以將測得的數值轉換成能在數碼管上顯示的數字,方便讀取結果。
(5)報時電路,當計時電路計到 59 秒時,產生一個報時信號,蜂鳴器報時。產生“滴答,滴答”的報時聲。
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY mb_60 IS
PORT( en,Reset,clk: IN STD_LOGIC;
co: OUT STD_LOGIC;
led1: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
led10: OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END mb_60;
ARCHITECTURE S_watch OF mb_60 IS
COMPONENT count_60_2
PORT( en,Reset,clk: IN STD_LOGIC;
counter1: OUT STD_LOGIC_
VECTOR(3 DOWNTO 0);
counter10: out STD_LOGIC_VECTOR(3 DOWNTO 0);
co: OUT STD_LOGIC);
END COMPONENT;
COMPONENT encoder_7_2
PORT( d:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
y:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END COMPONENT;
COMPONENT fenping
PORT( clk: IN STD_LOGIC;
clk_out: OUT STD_LOGIC);
END COMPONENT;
SIGNAL x:STD_LOGIC;
SIGNAL y,z:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
U0: fenping PORT MAP(clk,x);
U1: count_60_2 PORT MAP(en,Reset,x,y,z,co);
U2: encoder_7_2 PORT MAP(y,led1);
U3: encoder_7_2 PORT MAP(z,led10);
END S_watch;


EDA 技術的應用實現了電子設計自動化,使得數字電路的設計變得更加靈活、簡捷、高效。不僅極大的減輕了設計人員的工作量,提高了工作效率,更縮短了產品開發的周期。