摘要:電子設(shè)計自動化是近幾年迅速發(fā)展起來的將計算機軟件、硬件、微電子技術(shù)交叉運用的現(xiàn)代電子設(shè)計學(xué)科。其中EDA設(shè)計語言中的VHDL語言是一種快速的電路設(shè)計工具,功能涵蓋了電路描述、電路合成、電路仿真等三大電路設(shè)計工作。本電壓表的電路設(shè)計正是用VHDL語言完成的。此次設(shè)計主要應(yīng)用的軟件是美國ALTERA公司自行設(shè)計的一種CAE軟件工具,即QuartusⅡ.本次所設(shè)計的電壓表的測量范圍是0~5V,精度是0.01V。此電壓表的設(shè)計特點為:通過軟件編程下載到硬件實現(xiàn),設(shè)計周期短,開發(fā)效率高。
關(guān)鍵詞:電子設(shè)計自動化(EDA);FPGA;VHDL;A/D采集;數(shù)字電壓表
數(shù)字電壓表自從1952年問世以來,隨著電子技術(shù)的飛躍發(fā)展,特別是目前,作為測量儀表、模擬指示儀表的數(shù)字化以及自動測量的系統(tǒng),而得到了很大的發(fā)展。本文通過對FPGA芯片進行VHDL語言編程,實現(xiàn)了數(shù)字電壓表的功能。該設(shè)計簡單靈活地對ADC0809進行采樣控制,程序通過QuartusⅡ軟件綜合仿真后,下載到Altera公司的EP2C8Q208C8N芯片中進行調(diào)試和運行。
一、 系統(tǒng)設(shè)計方案
(一) 控制模塊方案
采用FPGA作為系統(tǒng)控制的核心。現(xiàn)場可編程門陣列(FPGA)將所有器件集成在一塊芯片上,體積大大減小、邏輯單元靈活、集成度高以及適用范圍廣等特點,可實現(xiàn)大規(guī)模和超大規(guī)模的集成電路,而且編程靈活、調(diào)試方便。
(二) AD轉(zhuǎn)化方案
采用逐次比較型AD轉(zhuǎn)換。這是目前應(yīng)用十分廣泛的集成ADC,逐次比較型AD轉(zhuǎn)換內(nèi)部電路由一個比較器、DA轉(zhuǎn)換器、時鐘、逐次比較寄存器SAR、輸出寄存器和控制邏輯電路等部分組成。具有速度高、功耗低、輸出位數(shù)多等特點。
(三) 顯示器方案
采用LED數(shù)碼管,采用數(shù)碼管動態(tài)顯示,數(shù)碼管具有結(jié)構(gòu)簡單、低損耗、壽命長、耐老化、成本低、對外界要求低、易于維護、操作簡單、編程簡單等優(yōu)點。但是也有一個明顯的缺點,即顯示的信息量非常有限,只能顯示幾個有限的阿拉伯?dāng)?shù)字與字母。
(四) 總體方案設(shè)計
由上節(jié)分析、比較、論證,決定了系統(tǒng)的最終方案:
(1)控制部分:采用FPGA為控制核心;
(2)AD轉(zhuǎn)換部分:采用逐次逼近(比較)型AD轉(zhuǎn)換器ADC0809;
(3)顯示部分:采用LED數(shù)碼管顯示。
(五) 系統(tǒng)的基本原理
測量信號(電壓信號)送入AD轉(zhuǎn)換器,控制信號模塊發(fā)出控制信號,啟動A/D的START進行轉(zhuǎn)換,A/D采樣得到的數(shù)字信號數(shù)據(jù)在數(shù)據(jù)處理模塊中轉(zhuǎn)換為相應(yīng)的顯示代碼,最后經(jīng)顯示譯碼驅(qū)動發(fā)出控制與驅(qū)動信號,推動外部的顯示模塊(LED數(shù)碼管)顯示相應(yīng)的數(shù)據(jù)。
二、 單元電路設(shè)計
數(shù)字電壓表的硬件結(jié)構(gòu)方框圖如圖1所示。
三、 數(shù)字電壓表的軟件設(shè)計
(一) 編程語言簡介
一個完整的VHDL語言程序通常包含實體(Entity)、結(jié)構(gòu)體(Architecture)、配置(Configuration)、包集合(Package)、庫(Library)5部分。前4種是可分別編譯的源設(shè)計單元。實體用于描述所設(shè)計的系統(tǒng)的外部接口信號;結(jié)構(gòu)體用于描述系統(tǒng)內(nèi)部的結(jié)構(gòu)和行為;包集合存放各設(shè)計模塊都能共享的數(shù)據(jù)類型、常數(shù)和子程序等;配置用于從庫中選取所需單元來組成系統(tǒng)設(shè)計的不同版本;庫存放已經(jīng)編譯的實體、結(jié)構(gòu)體、包集合和配置。庫可由用戶生成或有ASIC芯片制造商提供,以便在設(shè)計中為大家所共享。
(二) FPGA功能模塊設(shè)計
我們使用的CPLD是Altera公司的EP2C8Q208C8NA。數(shù)字電壓表的三大模塊都是用VHDL語言編程實現(xiàn)的。CPLD設(shè)計可分為設(shè)計輸入、綜合、功能仿真(前仿真)、實現(xiàn)、時序仿真(后仿真)、配置下載六個步驟。
(三) 數(shù)字電壓表的模塊圖
當(dāng)兩大模塊的VHDL語言組合在一起就得到了數(shù)字電壓表的VHDL程序,然后進行程序燒寫,排線就形成了數(shù)字電壓表。圖2為數(shù)字電壓表的芯片圖:
四、 結(jié)論
經(jīng)過這次對數(shù)字電壓表的設(shè)計,我對EDA中的VHDL語言有了一定的了解,關(guān)于用VHDL和原理圖輸入進行CPLD/FPGA設(shè)計的粗略比較:在設(shè)計中,如果采用原理圖輸入的設(shè)計方式是比較直觀的。你要設(shè)計的是什么,就直接從庫中調(diào)出來用就行了。這樣比較符合人們的習(xí)慣。
參考文獻:
[1]楊旭,劉盾.EDA技術(shù)基礎(chǔ)與實驗教程[M].北京:清華大學(xué)出版社,2010.
[2]褚振勇,翁木云.FPGA設(shè)計及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2002.
[3]賀敬凱.基于FPGA的信號發(fā)生器的設(shè)計.深圳信息職業(yè)技術(shù)學(xué)院學(xué)報,2008,6(2):63-66.
作者簡介:
邵倩倩,河南省鄭州市,鄭州商業(yè)技師學(xué)院。