【文章內容簡介】
結構體 功能描述 湖北師范學院 2020 屆控制科學與工程系學士學位論文(設計) 10 接在一起,形成系統(tǒng)主電路的軟件結構。 時基產生與測頻時序控制模塊設計程序 時基產生與測頻時序控制電路主要產生計數(shù)允許信號 EN、清 零信號CLR 和鎖存信號 LOCK 部分 VHDL 代碼如下: ARCHITECTURE behave OF CTRL IS 定義結構 體 behave SIGNAL CLK2 : STD_LOGIC。 定義信號 CLK2 BEGIN PROCESS ( CLK ) 時基信號作為進程的敏感量觸發(fā)進程 BEGIN IF RISING_EDGE(CLK) THEN 時基信號上升沿觸發(fā) CLK2=NOT CLK2 。 END IF。 CLK2 是 時基信號 CLK 的二分頻 END PROCESS。 進程結束 PROCESS(CLK, CLK2) 進程開始 BEGIN IF CLK=39。039。 AND CLK2=39。039。 THEN CLR=39。139。 ELSE CLR=39。039。 END IF。 END PROCESS。 進程結束, 產生清零信號 CLR LOCK = NOT CLK2。 EN=CLK2。 產生 鎖存信號及計數(shù)允許信號 END behave。 結構體描述結束 待測信號脈沖計數(shù)模塊設計程序 待測 信號 脈沖計數(shù) 模塊的功能是對輸入信號 CLK 的矩形波進行計數(shù),它 由 4個十進制加法計數(shù)器組成, 有一時鐘使能輸入端 EN,高電平時允許計數(shù),低電平時禁止計數(shù),還有一個清零信號 CLR,當一次計數(shù)結束后,便進行清零,為下次計數(shù)做準備。 湖北師范學院 2020 屆控制科學與工程系學士學位論文(設計) 11 十進制加法計數(shù)器的部分 VHDL 代碼: ARCHITECTURE behave OF CB10 IS 定義結構 體 behave BEGIN PROCESS(CLK,CLR,EN) 進程開始 BEGIN IF CLR=39。139。 THEN COUNT10=0000。 CLR 高電平時,計數(shù)器清零 ELSIF CLK39。EVENT AND CLK=39。139。 THEN IF (EN=39。139。) THEN EN高電平時,允許計數(shù) IF (COUNT10=1001)THEN COUNT10=0000。 若計數(shù)值已到 9,則變?yōu)?0 ELSE 否則計數(shù)值加一 COUNT10=COUNT10+39。139。 END IF。 END IF。 END IF。 END PROCESS。 進程結束 END behave。 結構體描述結束 待測脈沖計數(shù)器的 部分 VHDL 代碼: ARCHITECTURE behave OF COUNT IS 定義結構 體 behave COMPONENT CB10 一位十進制加法計數(shù)器 CB10 的元件 聲明 PORT(CLK,EN,CLR: IN STD_LOGIC。 COUNT10:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0))。 END COMPONENT。 SIGNAL c2:STD_LOGIC。 定義全局信號 c c c4 SIGNAL c3:STD_LOGIC。 SIGNAL c4:STD_LOGIC。 湖北師范學院 2020 屆控制科學與工程系學士學位論文(設計) 12 BEGIN c2=NOT QA(3)。 c3=NOT QB(3)。 c4=NOT QC(3)。 U1:CB10 PORT MAP(CLK,EN,CLR,QA)。 U2:CB10 PORT MAP(c2,EN,CLR,QB)。 U3:CB10 PORT MAP(c3,EN,CLR,QC)。 U4:CB10 PORT MAP(c4,EN,CLR,QD)。 引用模塊 CB10 END behave。 結構體描述結束 鎖存與譯碼顯示控制模塊設計程序 鎖存與譯碼顯示控制模塊的功能是對 計數(shù)器所得的數(shù)值進行鎖存, 并轉換為對應的七段碼,驅動數(shù)碼管。 當 LOAD 上升沿到來時,將計數(shù)器的計數(shù)值鎖存并將 輸出的 BCD 碼譯成相應的 7段數(shù)碼管驅動值 , 此模塊的好處 是顯示的數(shù)據(jù)穩(wěn)定,不會由于周期性的清零信號而不斷閃爍 。 譯碼顯示電路的部分 VHDL 代碼: ARCHITECTURE behave OF BCD7 IS 定義結構 體 behave BEGIN PROCESS(BCD) 進程開始 BEGIN CASE BCD IS WHEN 0000 = LED = 0111111。 WHEN 0001 = LED = 0000110。 WHEN 0010 = LED = 1011011。 WHEN 0011 = LED = 1001111。 WHEN 0100 = LED = 1100110。 WHEN 0101 = LED = 1101101。 WHEN 0110 = LED = 1111101。 WHEN 0111 = LED = 0000111。 湖北師范學院 2020 屆控制科學與工程系學士學位論文(設計) 13 WHEN 1000 = LED = 1111111。 WHEN 1001 = LED = 1101111。 0到 9的七段譯碼 WHEN others = LED = 0000000。 其他時候輸出 0 END CASE。 END PROCESS。 進程結束 END behave。 結構體描述結束 鎖存與譯碼顯示控制模塊的 部分 VHDL 代碼 ARCHITECTURE ART OF LOCK IS 定義結構 體 ART SIGNAL QAB,QBB,QCB,QDB:STD_LOGIC_VECTOR(3 DOWNTO 0)。 COMPONENT BCD7 引用譯碼顯示模塊 BCD7 PORT(BCD:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 LED:OUT STD_LOGIC_VECTOR(6 DOWNTO 0))。 END COMPONENT。 BEGIN PROCESS(LOCK) BEGIN IF(LOCK39。EVENT AND LOCK=39。139。)THEN QAB=QA。 在鎖存信號 LOCK 的上升沿將計數(shù)器 輸出信號 QBB=QB。 QA,QB,QC,QD 鎖存到信號 QAB,QBB,QCB,QDB QCB=QC。 QDB=QD。 END IF。 END PROCESS。 U0:BCD7 PORT MAP(QAB,LEDA)。 引用譯碼顯示模塊 BCD7 U1:BCD7 PORT MAP(QBB,LEDB)。 將計數(shù)器輸出的四位 U2:BCD7 PORT MAP(QCB,LEDC)。 BCD 碼轉換為七段碼 U4:BCD7 PORT MAP(QDB,LEDD)。 END ART。 結構體描述結束 湖北師范學院 2020 屆控制科學與工程系學士學位論文(設計) 14 頂層電路的設計程序 通常,當系統(tǒng)生成底層各模塊后,頂層文件的設計是用電路圖完成的,這種方法雖然較簡單,但可能使電路系統(tǒng)工作中出現(xiàn)“毛刺”,降低系統(tǒng)的可靠性。因此,數(shù)字頻率計的頂層文件采用文本形式來編寫,即用 VHDL語言來描述三大模塊的連接,從而避免了系統(tǒng)在工作中出現(xiàn)“毛刺”現(xiàn)象,使系統(tǒng)的穩(wěn)定度和可靠性均得到提高。 頂層電路的部分 VHDL 代碼: ARCHITECTURE ART OF PINLVJI IS 定義結構體 ART SIGNAL ENS,LOCKS,CLRS :STD_LOGIC。 SIGNAL QAS,QBS,QCS,QDS:STD_LOGIC_VECTOR(3 DOWNTO 0)。 COMPONENT CTRL 時基產生與測頻時序控制模塊的引用 PORT(CLK:IN STD_LOGIC。 EN,LOCK,CLR:OUT STD_LOGIC)。 END COMPONENT。 COMPONENT COUNT 待測 信號 脈沖計數(shù) 模塊的引用 PORT(CLK,EN,CLR:IN STD_LOGIC。 QA,QB,QC,QD:OUT STD_LOGIC_VECTOR(3 DOWNTO 0))。 END COMPONENT。 COMPONENT LOCK 鎖存與譯碼顯示控制模塊的 PORT(LOCK:IN STD_LOGIC。 QA,QB,QC,QD:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 LEDA,LEDB,LEDC,LEDD:OUT STD_LOGIC_VECTOR(6 DOWNTO 0))。 END COMPONENT。 BEGIN ENT=ENS。 LOCKT=LOCKS。 CLRT=CLRS。 U0:CTRL PORT MAP(CLK,ENS,LOCKS,CLRS)。 U1:COUNT PORT MAP(F_IN,ENS,CLRS,QAS,QBS,QCS,QDS)。 U2:LOCK PORT MAP(LOCKS,QAS,QBS,QCS,QDS, GE,SHI,BAI,QIAN)。 END ART。 結構體描述結束 湖北師范學院 2020 屆控制科學與工程系學士學位論文(設計) 15 4 數(shù)字頻率計的仿真及波形分析 EDA 技術既指輔助人們進行電子工程設計的各種自動化軟件,也指人們進行大規(guī)模電子設計時采用的 EDA 軟件的綜合性方法的系統(tǒng)性策略。 EDA是當代計算機科學與電子技術完美結合,眾多的功能強大、完美的 EDA軟件的廣泛使用標志著電子技術的水平達到前所未有的高度。 本次設計數(shù)字頻率計選用的開發(fā)環(huán)境是美國 ALTERA 公司自行設計開發(fā)的 EDA工具 MAX+PLUSⅡ。 MAX+PLUSⅡ軟件功能全面,使用方便,易懂好學,已成為最廣為接受的 EDA工具之一。 MAX+PLUS II 軟件簡介 MAX+PLUSⅡ的全稱是 Multiple Array Matrix and Programmable Logic User SystemⅡ(多陣列矩陣及可編程邏輯用戶系統(tǒng)Ⅱ), ALTERA 公司的MAX+PLUS II 開發(fā)系統(tǒng)是一個完全集成化、易學易用的可編程邏輯設計環(huán)境,它可以在多種平臺上運行,能滿足用戶各種各樣的設計需要。它所提供的靈活性和高效性是無可比擬的。其豐富的圖形界面,輔之以完整的、可即時訪問的在線文檔,使設計人員能夠輕松 、愉快地掌握和使用 MAX+PLUS II 軟件。它具有的強大功能能夠極大的減輕設計者的負擔,使設計者可以快速的完成所需的設計。 MAX+PLUSⅡ開發(fā)系統(tǒng)