【正文】
CPLD 的數(shù)字頻率計,利用 VHDL 語言進行單片機應用系統(tǒng)的數(shù)字頻率計的設計, 并下載到 CPLD 中組成實際電路,這樣可以簡化硬件的開發(fā)和制造過程,而且使硬件體積大大縮小,并提高了系統(tǒng)的可靠性。 使用單片機完成整個測量電路的控制,數(shù)據(jù)處理和顯示輸出。 采用兩個同步測周期計數(shù)器 進行計數(shù), 并在 FPGA 中實現(xiàn)了系統(tǒng)集成 , 使設計更加靈活 , 可以在許多頻率測量的設計中取代門控計數(shù)器。文中設計的數(shù)字頻率計,無需選擇量程便可實現(xiàn)寬頻段高精度的頻率測量, 同時在基本電路模塊基礎上,不必修改硬件電路,通過修改 VHDL 源程序,增加一些新功能, 滿足不同用戶的需要,實現(xiàn)數(shù)字系統(tǒng)硬件的軟件化。 在設計當中,由于硬件電路中和測試設備的固有的特性,加大了調(diào)試的難度,造成了一些性能指標,沒有準確的達到任務書的要求,針對在設計中出現(xiàn)的問題,在今后的的工作中要避免,首先,要充分利用軟件電路和集成電路,使單片機技術(shù)再此電路扮演重要的角色;其次,要盡量解決電路的干擾問題,掌握一些常用的抗干擾技術(shù);再次,在以后的工作中要熟練使用電子測量設備,以提高測量效率。 20 參考文獻 [1]盧毅 ,賴杰 .VHDL與數(shù)字電路設計 [M].北京 :科學出版社 ,2021. [2]潘松 .VHDL實用教程 [M].成都 :電子科技大學出版社 ,2021. [3]徐志軍 .大規(guī)??删幊踢壿嬈骷捌鋺?[M].成都 :電子科技大學出版社 ,2021. [4]趙曙光 .可編程邏輯器件原理、開發(fā)與應用 [M].西安 :西安電子科技大學出社 ,2021. [5]薛萍 ,陳海燕 ,裴樹軍 .基于 ISP芯片的可編程數(shù)字頻率計的設計 [J].電測與 儀表 ,2021,(2):2123. [6]顧巨峰 ,周浩洋 ,朱建華 .基于可編程邏輯器件 (Lattice)的多功能數(shù)字頻率計 [7] Victor P. Nelson, H. Troy Nagle, Bill D. Carroll, J. David Irwin. Digital Logic Circuit Analysis amp。 Design. Prentice Hall / Pearson. 199951 21 致 謝 在即將走出大學校園步入社會的最后幾個月 , 利用 我人生當中大學 三 年 的時間 在各位老師諄諄的指導下學到 專業(yè) 知識 , 我認真地 做 了畢業(yè)設計論文 簡易數(shù)字頻率計。在簡易數(shù)字頻率計的設計當中,得到了電子通信工程系領導的關心和支持,特別是 應電教研室的董蘊華老師,在畢業(yè)設計但中進行了耐心的指導,并提出了合理化的建議,使畢業(yè)設計更加完善, 衷心感謝我的指導教師董蘊華,在她精心指導和耐心幫助下,本課題的研究工作才能順利的進行,此外,她的言傳身教將使我終生受益。 感謝學校在畢業(yè)設計期間為我提供做好畢業(yè)設計的條件以及機房全體老師的辛勞工作和支持! 感謝電子學院 老師和同窗們的關心和支持!感謝所有幫助過我的人們! 22 附 錄 LIBRARY IEEE。 USE 。 ENTITY CNT10 IS PORT (CLK:IN STD_LOGIC。 CLR:IN STD_LOGIC。 ENA:IN STD_LOGIC。 CQ:OUT INTEGER RANGE 0 TO 15。 CARRY_OUT:OUT STD_LOGIC)。 END ENTITY CNT10。 ARCHITECTURE ART OF CNT10 IS SIGNAL CQI :INTEGER RANGE 0 TO 15。 BEGIN PROCESS(CLK,CLR,ENA) IS BEGIN IF CLR=39。139。 THEN CQI=0。 ELSIF CLK39。EVENT AND CLK=39。139。 THEN IF ENA=39。139。 THEN IF CQI9 THEN CQI=CQI+1。 ELSE CQI=0。 END IF。 END IF。 END IF。 END PROCESS。 PROCESS (CQI) IS BEGIN IF CQI=9 THEN CARRY_OUT=39。139。 ELSE CARRY_OUT=39。039。 23 END IF。 END PROCESS。 CQ=CQI。 END ARCHITECTURE ART。 LIBRARY IEEE。 USE 。 ENTITY REG32B IS PORT(LOAD:IN STD_LOGIC。 DIN:IN STD_LOGIC_VECTOR(31 DOWNTO 0)。 DOUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0))。 END ENTITY REG32B。 ARCHITECTURE ART OF REG32B IS BEGIN PROCESS(LOAD,DIN)IS BEGIN IF LOAD39。EVENT AND LOAD=39。139。 THEN DOUT=DIN。 END IF。 END PROCESS。 END ARCHITECTURE ART。 LIBRARY IEEE。 USE 。 USE 。 ENTITY TESTCTL IS PORT (CLK:IN STD_LOGIC。 TSTEN:OUT STD_LOGIC。 CLR_CNT:OUT STD_LOGIC。 LOAD:OUT STD_LOGIC)。 24 END ENTITY TESTCTL。 ARCHITECTURE ART OF TESTCTL IS SIGNAL DIV2CLK: STD_LOGIC。 BEGIN PROCESS(CLK)IS BEGIN IF CLK39。EVENT AND CLK= 39。139。 THEN DIV2CLK=NOT DIV2CLK。 END IF 。 END PROCESS。 PROCESS(CLK,DIV2CLK) IS BEGIN IF CLK=39。039。 AND DIV2CLK=39。039。 THEN CLR_CNT=39。139。 ELSE CLR_CNT=39。039。 END IF。 END PROCESS。 LOAD=NOT DIV2CLK。 TSTEN=DIV2CLK。 END ARCHITECTURE ART。 LIBRARY IEEE。 USE 。 COMPONENT REG32B IS PORT(LOAD:IN STD_LOGIC。 DIN:IN STD_LOGIC_VECTOR(31 DOWNTO 0)。 DOUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0))。 END COMPONENT。 25 COMPONENT TESTCTL IS PORT (CLK:IN STD_LOGIC。 TSTEN:OUT STD_LOGIC。 CLR_CNT:OUT STD_LOGIC。 LOAD:OUT STD_LOGIC)。 END COMPONENT。 SIGNAL SE,SC,SL:STD_LOGIC。 SIGNAL S1,S2,S3,S4,S5,S6,S7,S8:STD_LOGIC。 SIGNAL SD,S9:STD_LOGIC_VECTOR(31 DOWNTO 0)。 BEGIN U0:TESTCTL PORT MAP(CLK=CLK,TSTEN=SE,CLR_CNT=SC,LOAD=SL)。 U1:CNT10 PORT MAP(CLK=FSIN,CLR=SC,ENA=SE,CQ=SD(3 DOWNTO 0),CARRY_OUT=S1)。 U2:CNT10 PORT MAP(CLK=S1,CLR=SC,ENA=SE,CQ=SD(7 DOWNTO 4),CARRY_OUT=S2)。 U3:CNT10 PORT MAP(S2,SC,SE,SD(11 DOWNTO 8 ),S3)。 U4:CNT10 PORT MAP(S3,SC,SE,SD(15 DOWNTO 12),S4)。 U5:CNT10 PORT MAP(S4,SC,SE,SD(19 DOWNTO 16),S5)。 U6:CNT10 PORT MAP(S5,SC,SE,SD(23 DOWNTO 20),S6)。 U7:CNT10 PORT MAP(S6,SC,SE,SD(27 DOWNTO 24),S7)。 U8:CNT10 PORT MAP(S7,SC,SE,SD(31 DOWNTO 28),S8)。 U9:REG32B PORT MAP(LOAD=SL,DIN=SD(31 DOWNTO 0),DOUT=S9)。 U10:DISPLAY PORT MAP(FSIN,S9,COM,SEG)。 END ARCHITECTURE ART。