基于VHDL語言的數(shù)據(jù)采集系統(tǒng)_第1頁
基于VHDL語言的數(shù)據(jù)采集系統(tǒng)_第2頁
基于VHDL語言的數(shù)據(jù)采集系統(tǒng)_第3頁
基于VHDL語言的數(shù)據(jù)采集系統(tǒng)_第4頁
基于VHDL語言的數(shù)據(jù)采集系統(tǒng)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、用VHDL語言設(shè)計(jì)數(shù)據(jù)采集系統(tǒng)用VHDL語言設(shè)計(jì)數(shù)據(jù)采集系統(tǒng)摘要隨著計(jì)算機(jī)技術(shù)的發(fā)展與普及,數(shù)字設(shè)備正越來越多地取代模擬設(shè)備,將模擬信號轉(zhuǎn)換成數(shù)字信號以及將數(shù)字信號轉(zhuǎn)換成模擬信號就成了重要環(huán)節(jié)。本系統(tǒng)以多路數(shù)據(jù)的采集及監(jiān)測為例,介紹了可編程邏輯器件在模數(shù)轉(zhuǎn)換、數(shù)模轉(zhuǎn)換及數(shù)據(jù)監(jiān)控及處理中的設(shè)計(jì)方法。實(shí)現(xiàn)數(shù)據(jù)采集的方法有很多,如單片機(jī)、CPLD、C語言等,但相比各種方法,運(yùn)用VHDL硬件描述語言開發(fā)的數(shù)據(jù)采集系統(tǒng)具有具有設(shè)計(jì)方便高效、體積小、功耗低、可靠性高、易于修改、設(shè)計(jì)周期短等特點(diǎn)。VHDL硬件描述語言采用自頂而下的設(shè)計(jì)方法可以對模型進(jìn)行及時修改,以改進(jìn)系統(tǒng)或子系統(tǒng)的功能,更正設(shè)計(jì)錯誤,從而提

2、高目標(biāo)系統(tǒng)的工作速度,減小面積耗用,降低功耗和成本等。本文介紹了基于Altera公司的集成開發(fā)環(huán)境MaxplusII,使用VHDL設(shè)計(jì)開發(fā)數(shù)據(jù)采集系統(tǒng)的基本方法。關(guān)鍵詞 VHDL ADC0809 DAC0832 EDA 數(shù)據(jù)采集; AbstractWith the development of computer technology and popularization, Digital devices are increasingly replacing analog equipment,and converted the analog signals into digital signal

3、s, as well as digital signal into analog signal will become an important link.for example,this syestem depend on one multi-channel data acquisition and monitoring,introduce a programmable logic device in the analog-digital conversion, digital-analog conversion and data monitoring with handling metho

4、ds in the design. There are many ways to collect data, such as SCM, CPLD, C language,and so on. But compared with various methods,using the VHDL hardware description language to design the data acquisition system is the best. Because of its facilitate ,efficient, small size, low power consumption, h

5、igh reliability, easy to modify, and shorter design cycle characteristics. VHDL hardware description language using the top-down design method ,that can be the model for timely changes to improve the system or subsystem functions, design error correction, so as to enhance the work of the target syst

6、ems speed, reducing the area of consumption, and lower the power consumption costs. In this paper,we introduce a integrated development environment which based on Alteras MaxplusII,and the basic method to develop a data acquisition system design by using VHDL language. Key words: VHDL EDA ADC0809 DA

7、C0832 Data Acquisition目 錄前言11 EDA技術(shù)及開發(fā)環(huán)境31.1 EDA技術(shù)31.2 VHDL41.3 EDA技術(shù)的開發(fā)環(huán)境MAXPLUSII52 數(shù)據(jù)采集系統(tǒng)的研究分析及設(shè)計(jì)思路62.1數(shù)據(jù)采集系統(tǒng)的研究與分析72.2數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)思路73 數(shù)據(jù)采集系統(tǒng)模塊的相關(guān)介紹與分析83.1 數(shù)據(jù)輸入模塊83.1.1數(shù)據(jù)輸入單元設(shè)計(jì)83.1.2 ADC0809接線圖93.1.3模塊功能實(shí)現(xiàn)103.2 數(shù)據(jù)采集系統(tǒng)各模塊分析113.2.1 A/D轉(zhuǎn)換控制模塊ADZHKZ的設(shè)計(jì)183.2.2數(shù)據(jù)運(yùn)算與處理模塊SJYSCL173.2.3 D/A轉(zhuǎn)換控制模塊DAZHKZ22 3.2

8、.4鍵盤輸入與數(shù)據(jù)顯示控制模塊JPXSKZ253.2.5數(shù)碼顯示模塊DISP的設(shè)計(jì)253.3數(shù)據(jù)輸出模塊253.3.1 DAC0832芯片介紹253.3.2 DACO832接線圖264 仿真結(jié)果275 硬件連接實(shí)物圖296 結(jié)論31致謝32參考文獻(xiàn)32附錄32 前言隨著計(jì)算機(jī)技術(shù)的發(fā)展與普及,數(shù)字設(shè)備正越來越多地取代模擬設(shè)備,在生產(chǎn)過程控制和科學(xué)研究等廣泛的領(lǐng)域中,計(jì)算機(jī)測控技術(shù)正發(fā)揮著越來越重要的作用。然而,外部世界的大部分信息是以連續(xù)變化的物理量形式出現(xiàn)的,例如溫度、壓力、位移、速度等。要將這些信息送入計(jì)算機(jī)進(jìn)行處理,就必須先將這些連續(xù)的物理量離散化,并進(jìn)行量化編碼,從而變成數(shù)字量,這個過

9、程就是數(shù)據(jù)采集。它是計(jì)算機(jī)在監(jiān)測、管理和控制一個系統(tǒng)的過程中,取得原始數(shù)據(jù)的主要手段。數(shù)據(jù)采集系統(tǒng)是計(jì)算機(jī)智能儀器與外界物理世界聯(lián)系的橋梁,是獲取信息的重要途徑。數(shù)據(jù)采集技術(shù)是信息科學(xué)的重要組成部分,已廣泛應(yīng)用于國民經(jīng)濟(jì)和國防建設(shè)的各個領(lǐng)域,并且隨著科學(xué)技術(shù)的發(fā)展,尤其是計(jì)算機(jī)技術(shù)的發(fā)展與普及,數(shù)據(jù)采集技術(shù)將有廣闊的發(fā)展前景。實(shí)現(xiàn)數(shù)據(jù)采集系統(tǒng)的控制方法很多,可以用標(biāo)準(zhǔn)邏輯器件、可編程序控制器PLC、單片機(jī)等方案來實(shí)現(xiàn)。但是這些控制方法的功能修改及調(diào)試都需要硬件電路的支持,在一定程度上增加了功能修改及系統(tǒng)調(diào)試的困難。但是EDA利用VHDL語言來設(shè)計(jì)實(shí)現(xiàn)該系統(tǒng),將更加直觀,少了匯編語言的復(fù)雜、煩瑣

10、,其自頂而下的設(shè)計(jì)方法可以對模型進(jìn)行及時修改,以改進(jìn)系統(tǒng)或子系統(tǒng)的功能,更正設(shè)計(jì)錯誤,從而提高目標(biāo)系統(tǒng)的工作速度,減小面積耗用,降低功耗和成本等。同時,避免了傳統(tǒng)的數(shù)字電子系統(tǒng)設(shè)計(jì)中電路設(shè)計(jì)復(fù)雜、調(diào)試十分困難、對錯誤的查找和修改的不便等問題?;贑PLDFPGA設(shè)計(jì)的數(shù)字電子系統(tǒng),具有體積小、功耗低、可靠性高、易于修改、設(shè)計(jì)周期短等特點(diǎn),用CPLDFPGA代替中小規(guī)模邏輯器件構(gòu)成數(shù)字系統(tǒng)是發(fā)展方向。隨著電子技術(shù)的發(fā)展,在今后的電子產(chǎn)品的研發(fā)中,EDA技術(shù)具有更好的開發(fā)手段和性價比,具有廣泛的市場應(yīng)用前景。本次設(shè)計(jì)系統(tǒng)以一路數(shù)據(jù)的采集及監(jiān)測為例,介紹了可編程邏輯器件在模數(shù)轉(zhuǎn)換,數(shù)模轉(zhuǎn)換,數(shù)據(jù)監(jiān)控

11、與處理的設(shè)計(jì)方法。本系統(tǒng)主要是由五大部分組成:數(shù)據(jù)輸入單元、數(shù)據(jù)處理單元、數(shù)據(jù)輸出單元。其中包括七個功能模塊:模數(shù)轉(zhuǎn)換模塊ADC0809、AD轉(zhuǎn)換控制模塊、數(shù)據(jù)運(yùn)算與處理模塊、DA轉(zhuǎn)換控制模塊、鍵盤顯示控制模塊、數(shù)碼管顯示模塊、數(shù)模轉(zhuǎn)換模塊DAC0832。系統(tǒng)主要實(shí)現(xiàn)以下功能:首先對ADC0809的某路通道的數(shù)值進(jìn)行AD轉(zhuǎn)換為十二位的電壓BCD碼顯示,再對此值與十二位預(yù)置電壓進(jìn)行差值運(yùn)算,然后將所得用十二位BCD碼顯示的差值分三段分別轉(zhuǎn)化為數(shù)碼管顯示形式,最后數(shù)碼管循環(huán)顯示輸入電壓、差值、采集個數(shù)。在數(shù)據(jù)處理完之后,將數(shù)據(jù)輸出給DAC0832,再將數(shù)字信號轉(zhuǎn)換為模擬量輸出,輸出值與數(shù)碼管顯示的

12、差值電壓相同。1. EDA技術(shù)及開發(fā)環(huán)境1.1 EDA技術(shù)EDA是電子設(shè)計(jì)自動化(Electronic Design Automation)的縮寫,在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測試(CAT)和計(jì)算機(jī)輔助工程(CAE)的概念發(fā)展而來的。EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺上,用硬件描述語言HDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作1。 20世紀(jì)70年代,可編程邏輯技術(shù)及其器件問世,計(jì)算機(jī)作為一種運(yùn)算工具已在科研領(lǐng)域得到

13、廣泛應(yīng)用。電子線路的CAD(計(jì)算機(jī)輔助設(shè)計(jì))是EDA發(fā)展的初級階段,是高級EDA系統(tǒng)的重要組成部分。它利用計(jì)算機(jī)的圖形編輯、分析和存儲等能力,協(xié)助工程師設(shè)計(jì)電子系統(tǒng)的電路圖、印制電路板和集成電路板圖。 20世紀(jì)80年代,集成電路設(shè)計(jì)進(jìn)入了CMOS時代。復(fù)雜課編程邏輯器件已進(jìn)入商業(yè)應(yīng)用,相應(yīng)的輔助設(shè)計(jì)軟件也已投入使用。而在80年代末,出現(xiàn)了FPGA,CAE、CAD技術(shù)的應(yīng)用更為廣泛,他們在PCB設(shè)計(jì)方面的原理圖輸入、自動布局布線及PCB分析以及邏輯設(shè)計(jì)、邏輯仿真、布爾方程綜合和化簡等方面擔(dān)任了重要角色。20世紀(jì)90年代,隨著硬件描述語言的標(biāo)準(zhǔn)化得到進(jìn)一步的確立,電子設(shè)計(jì)自動化技術(shù)的應(yīng)用和發(fā)展,促

14、進(jìn)了EDA技術(shù)的形成。各EDA公司致力于推出兼容各種硬件實(shí)現(xiàn)方案和支持標(biāo)準(zhǔn)硬件描述語言的EDA工具的研究,有效的將EDA技術(shù)推向了成熟。進(jìn)入21世紀(jì)后,EDA技術(shù)得到了更大的發(fā)展和應(yīng)用。EDA技術(shù)將計(jì)算機(jī)軟件、硬件、微電子技術(shù)交叉運(yùn)用的現(xiàn)代化電子學(xué)科,它將CAD(計(jì)算機(jī)輔助設(shè)計(jì))、CAM(計(jì)算機(jī)輔助制造)、CAT(計(jì)算機(jī)輔助測試)和CAE(計(jì)算機(jī)輔助工程)集于一體并深入發(fā)展。EDA技術(shù)就是以計(jì)算機(jī)為工作平臺、以EDA軟件工具為開發(fā)環(huán)境、以硬件描述語言為設(shè)計(jì)語言、以ASIC(Application Specific Integrate Circuits)為實(shí)現(xiàn)載體的電子產(chǎn)品自動化設(shè)計(jì)過程。在ED

15、A軟件平臺上,根據(jù)原理圖或硬件描述語言HDL完成的設(shè)計(jì)文件,自動地完成邏輯編譯、化簡、分割、綜合及優(yōu)化、布局布線、仿真、目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。設(shè)計(jì)者的工作僅限于利用軟件的方式來完成對系統(tǒng)硬件功能的描述,在EDA 工具的幫助下,應(yīng)用相應(yīng)的CPLD/FPGA(Complex Programmable Logic Devices/Field Programmable Gate Array)器件,就可以得到最后的設(shè)計(jì)結(jié)果。盡管目標(biāo)系統(tǒng)是硬件,但整個設(shè)計(jì)和修改過程如同完成軟件設(shè)計(jì)一樣方便和高效。此外,從應(yīng)用的廣度和深度來說,由于電子信息領(lǐng)域的全面數(shù)字化,基于EDA的數(shù)字系統(tǒng)的設(shè)計(jì)

16、技術(shù)具有更大的應(yīng)用市場和更緊迫的需求性。隨著電子技術(shù)的發(fā)展,應(yīng)用系統(tǒng)向小型化,快速化,大容量,重量輕的方向發(fā)展。數(shù)字系統(tǒng)的設(shè)計(jì)已從芯片組合化設(shè)計(jì)走向單片系統(tǒng)的設(shè)計(jì)。電子設(shè)計(jì)自動化是以計(jì)算機(jī)科學(xué)和微電子技術(shù)發(fā)展為先導(dǎo),匯集了計(jì)算機(jī)圖形學(xué),拓?fù)溥壿媽W(xué),微電子工藝與結(jié)構(gòu)學(xué)和計(jì)算數(shù)學(xué)等多種計(jì)算機(jī)應(yīng)用學(xué)科最新成果的先進(jìn)技術(shù),它是在先進(jìn)的計(jì)算機(jī)平臺上開發(fā)出來的一整套實(shí)現(xiàn)電子系統(tǒng)或電子產(chǎn)品自動化設(shè)計(jì)的技術(shù),是當(dāng)代電子設(shè)計(jì)技術(shù)的主流。其特點(diǎn)如下:(1)采用硬件描述語言作為設(shè)計(jì)輸入。用VHDL對數(shù)字電子系統(tǒng)進(jìn)行抽象的行為與功能描述以及具體的內(nèi)部線路結(jié)構(gòu)描述,從而可以在電子設(shè)計(jì)的各個階段,各個層次進(jìn)行計(jì)算機(jī)模擬驗(yàn)

17、證,保證設(shè)計(jì)的正確性,可以大大降低設(shè)計(jì)成本,縮短設(shè)計(jì)周期。(2)庫的引入。在各類庫的引入下,使EDA工具能夠完成各種自動設(shè)計(jì)過程(3)設(shè)計(jì)文檔的管理。(4)強(qiáng)大的系統(tǒng)建模、電路仿真功能。EDA仿真測試技術(shù)只需通過計(jì)算機(jī),就能對所設(shè)計(jì)電子系統(tǒng)從各個不同層次的系統(tǒng)性能特點(diǎn)完成一系列準(zhǔn)確的測試與仿真操作,這極大地提高了大規(guī)模系統(tǒng)電子設(shè)計(jì)的自動化程度。(5)開發(fā)技術(shù)的標(biāo)準(zhǔn)化、規(guī)范化以及IP核的可重用性。EDA軟件平臺支持任何標(biāo)準(zhǔn)化的設(shè)計(jì)語言,它的設(shè)計(jì)成果是通用性的,IP核具有規(guī)范的接口協(xié)議。良好的可移植性與可測試性,為高效高質(zhì)的系統(tǒng)開發(fā)提供了可靠的保證。(6)適用于高效率大規(guī)模系統(tǒng)設(shè)計(jì)的自頂向下設(shè)計(jì)方

18、案,能將所有設(shè)計(jì)環(huán)節(jié)納入統(tǒng)一的自頂向下的設(shè)計(jì)方案中。(7)全方位的利用計(jì)算機(jī)自動設(shè)計(jì)、仿真和測試技術(shù)。EDA不但在整個設(shè)計(jì)流程上充分利用計(jì)算機(jī)的自動設(shè)計(jì)能力,在各個層次上利用計(jì)算機(jī)完成不同內(nèi)容的仿真模擬,而且在系統(tǒng)板設(shè)計(jì)結(jié)束后仍可利計(jì)算機(jī)對硬件系統(tǒng)進(jìn)行完整的測試(邊界掃描技術(shù))。(8)對設(shè)計(jì)者的硬件知識和硬件經(jīng)驗(yàn)要求低。EDA技術(shù)的標(biāo)準(zhǔn)化HDL設(shè)計(jì)語言與設(shè)計(jì)平臺對具體硬件的無關(guān)性,使設(shè)計(jì)者能更大程度地將自己的才智和創(chuàng)造力集中在設(shè)計(jì)項(xiàng)目性能的提高和成本的降低上,而將更具體的硬件實(shí)現(xiàn)工作讓專門部門來完成。(9)純硬件系統(tǒng)的高可靠性。1.2 VHDLVHDL語言是隨著集成電路系統(tǒng)化和高度集成化的發(fā)展

19、而逐步發(fā)展起來的,是一種用于數(shù)字系統(tǒng)設(shè)計(jì)和測試的硬件描述語言。對于小規(guī)模的數(shù)字集成電路,通??梢杂脗鹘y(tǒng)的設(shè)計(jì)輸入方法(如原理圖輸入)來完成,并進(jìn)行模擬仿真。但純原理圖輸入方式對于大型、復(fù)雜的系統(tǒng),由于種種條件和環(huán)境的制約,其工作效率較低,而且容易出錯,暴露出多種弊端。在信息技術(shù)高速發(fā)展的今天,對集成電路提出了高集成度、系統(tǒng)化、微尺寸、微功耗的要求,因此,高密度可編程邏輯器件和VHDL便應(yīng)運(yùn)而生2。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風(fēng)格與句法十分類似于一般的計(jì)算機(jī)高級語言。應(yīng)用VHDL進(jìn)行工程設(shè)計(jì)的優(yōu)點(diǎn)是多方面的,具體

20、如下:(1)與其他硬件描述語言相比,VHDL有更強(qiáng)大的行為描述能力,從而決定了它成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語言。強(qiáng)大的行為描述能力是避開具體的器件的結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。(2)VHDL最初是作為一種仿真標(biāo)準(zhǔn)格式出現(xiàn)的,因此VHDL既是一種硬件電路描述和設(shè)計(jì)語言,也是一種標(biāo)準(zhǔn)的網(wǎng)表格式,還是一種仿真語言。它具有豐富的仿真語句和庫函數(shù),設(shè)計(jì)者可以在系統(tǒng)設(shè)計(jì)的早期隨時對設(shè)計(jì)進(jìn)行仿真模擬,查驗(yàn)所設(shè)計(jì)系統(tǒng)的功能特性,從而對整個工程設(shè)計(jì)的結(jié)構(gòu)和功能可行性作出判斷。(3)VHDL的行為描述能力和程序結(jié)構(gòu)決定了它具有支持大規(guī)模設(shè)計(jì)和分解已有設(shè)計(jì)的再利用功能,滿足了大規(guī)模系統(tǒng)

21、設(shè)計(jì)要有多個開發(fā)組共同進(jìn)行工作來實(shí)現(xiàn)的這種市場需求。VHDL中設(shè)計(jì)實(shí)體的概念、程序包的概念、設(shè)計(jì)庫的概念為設(shè)計(jì)的分解和并行工作提供了有力的支持。(4)對于VHDL完成的一個確定設(shè)計(jì),可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動將VHDL描述轉(zhuǎn)化成門級網(wǎng)表,生成一個更有效、更高速的電路系統(tǒng);此外,設(shè)計(jì)還可以容易地從綜合優(yōu)化后的電路獲得設(shè)計(jì)信息,返回去更新修改VHDL設(shè)計(jì)描述,使之更為完善。這種方式突破了門級設(shè)計(jì)的瓶頸,極大地減少了電路設(shè)計(jì)的時間和可能發(fā)生的錯誤,降低了開發(fā)成本。(5)VHDL對設(shè)計(jì)的描述具有相對獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)

22、計(jì)。正因?yàn)閂HDL的硬件描述與具體的工藝技術(shù)和硬件結(jié)構(gòu)無關(guān),VHDL設(shè)計(jì)程序的硬件實(shí)現(xiàn)目標(biāo)器件有廣闊的選擇范圍,其中包括各個系列的CPLD、FPGA及各種門陣列實(shí)現(xiàn)目標(biāo)。(6)由于VHDL具有類屬描述語句和子程序調(diào)用等功能,對于已完成的設(shè)計(jì),在不改變原程序的條件下,只需改變端口類型參量或函數(shù),就能輕易地改變設(shè)計(jì)的規(guī)模和結(jié)構(gòu)。1.3 EDA技術(shù)的開發(fā)環(huán)境MAXPLUSIIMax+plusII(或?qū)懗蒑axplus2,或MP2) 是Altera公司推出的的第三代PLD開發(fā)系統(tǒng)(Altera第四代PLD開發(fā)系統(tǒng)被稱為:QuartusII,主要用于設(shè)計(jì)新器件和大規(guī)模CPLD/FPGA).使用MAX+P

23、LUSII的設(shè)計(jì)者不需精通器件內(nèi)部的復(fù)雜結(jié)構(gòu)。設(shè)計(jì)者可以用自己熟悉的設(shè)計(jì)工具(如原理圖輸入或硬件描述語言)建立設(shè)計(jì),MAXPLUSII把這些設(shè)計(jì)轉(zhuǎn)自動換成最終所需的格式。其設(shè)計(jì)速度非??臁τ谝话銕浊чT的電路設(shè)計(jì),使用MAXPLUSII,從設(shè)計(jì)輸入到器件編程完畢,用戶拿到設(shè)計(jì)好的邏輯電路,大約只需幾小時。設(shè)計(jì)處理一般在數(shù)分鐘內(nèi)內(nèi)完成。特別是在原理圖輸入等方面,MAXPLUSII被公認(rèn)為是最易使用,人機(jī)界面最友善的PLD開發(fā)軟件,特別適合初學(xué)者使用。MAXPLUSII軟件是一款高效的、非常靈活的數(shù)字電路開發(fā)設(shè)計(jì)軟件,它提供了多種輸入方法供設(shè)計(jì)者選用,利用合適的輸入方法設(shè)計(jì)完數(shù)字系統(tǒng)之后,設(shè)計(jì)者可

24、利用邏輯綜合工具進(jìn)行邏輯綜合,并可以用仿真器進(jìn)行軟件仿真,使設(shè)計(jì)者能夠盡早發(fā)現(xiàn)設(shè)計(jì)中的錯誤,縮短設(shè)計(jì)周期。首先我們可以先看一看用FPGACPLD開發(fā)工具進(jìn)行電路設(shè)計(jì)的一般流程:1.設(shè)計(jì)輸入。在傳統(tǒng)設(shè)計(jì)中,設(shè)計(jì)人員是應(yīng)用傳統(tǒng)的原理圖輸入方法來開始設(shè)計(jì)的。自90年代初, Verilog、VHDL、AHDL等硬件描述語言的輸入方法在大規(guī)模設(shè)計(jì)中得到了廣泛應(yīng)用。2.前仿真(功能仿真)。設(shè)計(jì)的電路必須在布局布線前驗(yàn)證電路功能是否有效。(ASCI設(shè)計(jì)中,這一步驟稱為第一次Sign-off)PLD設(shè)計(jì)中,有時跳過這一步。3.設(shè)計(jì)編譯。設(shè)計(jì)輸入之后就有一個從高層次系統(tǒng)行為設(shè)計(jì)向門級邏輯電路設(shè)轉(zhuǎn)化翻譯過程,即把

25、設(shè)計(jì)輸入的某種或某幾種數(shù)據(jù)格式(網(wǎng)表)轉(zhuǎn)化為軟件可識別的某種數(shù)據(jù)格式(網(wǎng)表)。4.優(yōu)化。對于上述綜合生成的網(wǎng)表,根據(jù)布爾方程功能等效的原則,用更小更快的綜合結(jié)果代替一些復(fù)雜的單元,并與指定的庫映射生成新的網(wǎng)表,這是減小電路規(guī)模的一條必由之路。5.布局布線。在PLD設(shè)計(jì)中,3-5步可以用PLD廠家提供的開發(fā)軟件(如 Maxplus2)自動一次完成。6.后仿真(時序仿真)需要利用在布局布線中獲得的精確參數(shù)再次驗(yàn)證電路的時序。(ASCI設(shè)計(jì)中,這一步驟稱為第二次Signoff)。7.生產(chǎn)。布線和后仿真完成之后,就可以開始ASCI或PLD芯片的投產(chǎn)。同樣,使用Maxplus2基本上也是有以上幾個步驟,

26、但可簡化為:(1)設(shè)計(jì)輸入 (2)設(shè)計(jì)編譯(3)設(shè)計(jì)仿真 (4)下載 2.數(shù)據(jù)采集系統(tǒng)的研究分析及設(shè)計(jì)思路2.1數(shù)據(jù)采集系統(tǒng)的研究與分析數(shù)據(jù)采集技術(shù)(Data Acquisition)是信息科學(xué)的一個重要分支,它研究信息數(shù)據(jù)的采集、存貯、處理以及控制等作業(yè)。在智能儀器、信號處理以及工業(yè)自動控制等領(lǐng)域,都存在著數(shù)據(jù)的測量與控制問題。將外部世界存在的溫度、壓力、流量、位移以及角度等模擬量(Analog Signal)轉(zhuǎn)換為數(shù)字信號(Digital Signal), 在收集到計(jì)算機(jī)并進(jìn)一步予以顯示、處理、傳輸與記錄這一過程,即稱為“數(shù)據(jù)采集”3。相應(yīng)的系統(tǒng)即為數(shù)據(jù)采集系統(tǒng)(Data Acquisit

27、ion System,簡稱DAS)。數(shù)據(jù)采集是計(jì)算機(jī)在監(jiān)測、管理和控制一個系統(tǒng)的過程中,取得原始數(shù)據(jù)的主要手段。數(shù)據(jù)采集系統(tǒng)是計(jì)算機(jī)智能儀器與外界物理世界聯(lián)系的橋梁,是獲取信息的重要途徑。數(shù)據(jù)采集技術(shù)是信息科學(xué)的重要組成部分,已廣泛應(yīng)用于國民經(jīng)濟(jì)和國防建設(shè)的各個領(lǐng)域,并且隨著科學(xué)技術(shù)的發(fā)展,尤其是計(jì)算機(jī)技術(shù)的發(fā)展與普及,數(shù)據(jù)采集技術(shù)將有廣闊的發(fā)展前景4。傳統(tǒng)的數(shù)據(jù)采集系統(tǒng),通常采用單片機(jī)或DSP作為控制模塊,控制ADC,存儲器和其他外圍電路的工作。隨著數(shù)據(jù)采集對速度性能的要求越來越高,傳統(tǒng)的采集系統(tǒng)的弊端越來越明顯。單片機(jī)的時鐘頻率較低且用軟件實(shí)現(xiàn)數(shù)據(jù)采集,使得采集速度和效率降低,軟件運(yùn)行時間

28、在整個采樣時間中占很大的比例。而EDA技術(shù)的FPGA (現(xiàn)場可編程門陣列)有單片機(jī)無法比擬的優(yōu)勢:FPGA時鐘頻率高,內(nèi)部延時小,全部控制邏輯由硬件完成,速度快、效率高 。隨著復(fù)雜可編程邏輯器件的廣泛應(yīng)用,以EDA工具作為開發(fā)手段,運(yùn)用VHDL語言來設(shè)計(jì)將使整個系統(tǒng)大大簡化,從而提高整體的性能和可靠性。因此利用VHDL硬件描述語言來設(shè)計(jì)數(shù)據(jù)采集系統(tǒng)是一個比較合理的方案。這個系統(tǒng)的設(shè)計(jì)對以后工作及生活具有相當(dāng)?shù)囊饬x,它不僅在工業(yè)控制中應(yīng)用廣泛,而且還可以用來解決生活中的一些小問題。在電子系統(tǒng)非常廣泛應(yīng)用領(lǐng)域內(nèi),到處可見到對信號進(jìn)行模數(shù)/數(shù)模轉(zhuǎn)換的數(shù)字電路。在ABS系統(tǒng)(汽車防抱制動系統(tǒng))、計(jì)算機(jī)

29、技術(shù)、GPRS環(huán)抱系統(tǒng)、工業(yè)自動控制系統(tǒng)等系統(tǒng)中,數(shù)據(jù)采集系統(tǒng)都有著舉足輕重的作用5。數(shù)字技術(shù)及計(jì)算機(jī)技術(shù)的發(fā)展使得系統(tǒng)的設(shè)計(jì)更理想化,以實(shí)現(xiàn)更多的功能。同時,還進(jìn)一步提高了系統(tǒng)的可靠性和工作效率。2.2數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)思路系統(tǒng)主要實(shí)現(xiàn)以下功能:數(shù)據(jù)采集控制系統(tǒng)是對生產(chǎn)過程或科學(xué)實(shí)驗(yàn)中各種物理量進(jìn)行實(shí)時采集、測試和反饋控制的閉環(huán)系統(tǒng)。它在工業(yè)控制、軍事電子設(shè)備醫(yī)學(xué)監(jiān)護(hù)等許多領(lǐng)域發(fā)揮著重要作用。本設(shè)計(jì)要求用一個CPLD/FPGA、模數(shù)轉(zhuǎn)換器ADC和數(shù)模轉(zhuǎn)換器DAC構(gòu)成了一個數(shù)據(jù)采集系統(tǒng),并用CPLD/FPGA實(shí)現(xiàn)數(shù)據(jù)采集中對A/D轉(zhuǎn)換、數(shù)據(jù)運(yùn)算、D/A轉(zhuǎn)換以及有關(guān)據(jù)顯示的控制。系統(tǒng)的組成框圖如

30、圖2.1所示,其功能如下:(1)、系統(tǒng)按一定速率采集輸入電壓U1,經(jīng)ADC0809轉(zhuǎn)換為8位數(shù)字量DATA;(2)、輸入數(shù)據(jù)與通過預(yù)置按鍵輸入數(shù)據(jù)采集控制器內(nèi)的標(biāo)準(zhǔn)數(shù)據(jù)相減,求得帶極性位的差值U(數(shù)字量);差值之絕對值送至DAC0832轉(zhuǎn)換為U,它和特定的極性判別電路共同輸出U。(3) 數(shù)據(jù)采集和處理均在數(shù)據(jù)采集系統(tǒng)控制器的管理下有序進(jìn)行。工作速率由時鐘信號CLK的速率決定。CPLD/FPGA數(shù)據(jù)采集控制器DAC0832ADC0809U1DOUTU開關(guān)和控制鍵F8.88CLKADDAALECESTARTEOCDATA圖2.1 系統(tǒng)組成框圖編譯和仿真時要選擇合適的芯片,不同的芯片其速度等級是不一

31、樣的。選擇速度等級高的芯片,仿真時延就小,這樣便于分析時序波形。否則,將給時序分析帶來一些不必要的麻煩。編譯結(jié)束時,要注意認(rèn)真分析芯片資源的利用情況,這其中主要包括芯片管腳和邏輯單元的利用率如果沒有充分利用資源就要重新選擇芯片,爭取實(shí)現(xiàn)性價比的最大化。所以大致流程是先進(jìn)行主程序的輸入/輸出模塊,數(shù)據(jù)處理及監(jiān)控模塊的設(shè)計(jì)。然后對各程序進(jìn)行修改、編譯、仿真,并對出現(xiàn)問題的程序進(jìn)行程序修改和調(diào)試。3.數(shù)據(jù)采集系統(tǒng)模塊的相關(guān)介紹與分析3.1 數(shù)據(jù)輸入模塊3.1.1數(shù)據(jù)輸入單元設(shè)計(jì)數(shù)據(jù)輸入單元的設(shè)計(jì)是通過ADC0809的常規(guī)應(yīng)用來實(shí)現(xiàn)的,其具體的實(shí)現(xiàn)如圖3.1所示。其中ADC0809的CLOCK信號是由

32、外部輸入的。此信號的輸入沒有固定的要求,只要足夠高就可以了,通常信號頻率為640KHZ、750KHZ等。ADC0809的START信號也是由外部接入的,但是此信號的頻率不宜過高,要小于1KHZ。將ADC0809的輸出作為FPGA的輸入。ADC0809是一種比較典型的8位8通道逐次逼近式A/D轉(zhuǎn)換器CMOS工藝,可實(shí)現(xiàn)8路模擬信號的分時采集,片內(nèi)有8路模擬選通開關(guān),以及相應(yīng)的通道地址鎖存用譯碼電路,其轉(zhuǎn)換時間為100s左右,采用雙排28引腳封裝。ADC0809的工作過程是:首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼

33、近寄存器復(fù)位。下降沿啟動 AD轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進(jìn)行。直到AD轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示AD轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當(dāng)OE輸入高電平 時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。其引腳說明如下:IN0IN7:8路模擬量輸入通道ADDAADDC:地址線用于選擇模擬量輸入通道ALE:地址鎖存允許信號START:轉(zhuǎn)換啟動信號D0D7:數(shù)據(jù)輸出線OE: 輸出允許信號,低電平允許轉(zhuǎn)換結(jié)果輸出CLOCK:時鐘信號輸入引腳,通常使用500KHzEOC:轉(zhuǎn)換結(jié)束信號,為0代表正在轉(zhuǎn)換,1代表轉(zhuǎn)換結(jié)束Vcc:5V電壓3.1.2 ADC080

34、9接線圖此電路圖主要實(shí)現(xiàn)將八路輸入模擬信號轉(zhuǎn)換為數(shù)字信號,為數(shù)據(jù)處理及監(jiān)控模塊提供輸入信號。+5V+5VALEVOCCLKADCALESTARTADCOEOEADC0809NR4710KR4810K54321282726ADCALE 22A2 23A1 24A0 25131612 VCC7 D2521 D720 D619 D518 D48 D315 D214 D117 D0REF-REF+EOCD7D6D5D4D3D2D1D0GNDALEADDCADDBADDAIN7IN6IN5IN4IN3IN2IN1IN0 圖3.1 ADC0809接線圖3.1.3模塊功能實(shí)現(xiàn)此系統(tǒng)是用ADC0809對模擬信

35、號進(jìn)行采樣,轉(zhuǎn)換為數(shù)字信號,由可編程邏輯器件讀入,再送到DAC0832,將數(shù)字信號轉(zhuǎn)換為模擬信號。用可編程邏輯器件實(shí)現(xiàn)對ADC0809的控制,由于采用查詢信號EOC的方式,所以可達(dá)到ADC0809的最高速度(注:ADC0809和DAC0832都不能對負(fù)電壓進(jìn)行操作)。主要包括分頻模塊和ADC控制模塊??傮w框圖如圖3.2所示:圖中OE為輸出允許信號,高電平允許轉(zhuǎn)換結(jié)果輸出;EOC為轉(zhuǎn)換結(jié)束信號,為0代表正在轉(zhuǎn)換,1代表轉(zhuǎn)換結(jié)束;DIN7.0為八路模擬量輸入通道;DOUT7.0為轉(zhuǎn)換后的八路數(shù)字信號輸出通道。 圖3.2 總體框圖3.2數(shù)據(jù)采集系統(tǒng)各模塊分析3.2.1 A/D轉(zhuǎn)換控制模塊ADZHKZ

36、的設(shè)計(jì)ADC0809模數(shù)轉(zhuǎn)換的控制:ADC0809是CMOS的8位A/D轉(zhuǎn)換器,片內(nèi)有8路模擬開關(guān),可控制8個模擬量中的一個進(jìn)入轉(zhuǎn)換器中。ADC0809的分辨率為8位,轉(zhuǎn)換時間約100 s,含鎖存控制的8路多路開關(guān),輸出由三態(tài)緩沖器控制,單5 V電源供電。圖3.3是ADC0809的管腳及主要控制信號時序圖。 2NI1NI0NIADDABDDACDDAELA0D1D2D3D7D-FER5D3NI4NI5NI6NI7NITRASTCOE4DEOKLCCCV+FER6DDNG ADC0809 圖3.3 ADC0809的管腳及主要控制信號的時序圖對于ADC0809模數(shù)轉(zhuǎn)換的控制程序段的VHDL設(shè)計(jì),根

37、據(jù)ADC0809的A/D轉(zhuǎn)換控制要求,我們可用一個狀態(tài)機(jī)來實(shí)現(xiàn),其狀態(tài)轉(zhuǎn)換如圖3.4所示。 ST0ST1ST2ST3ST6ST5ST4ALE=0START=0LOCK=0 CEN=0ALE=1START=0OE=0 LOCK=0CEN=0ALE=0START=0OE=0LOCK=1CEN=0EOC=0EOC=1ALE=0START=0OE=1LOCK=0CEN=1ALE=0START=1OE=0LOCK=0CEN=0CEN=0ALE=0START=0OE=0LOCK=0CEN=0ALE=0START=0OE=0LOCK=0CEN=0圖3.4 ADC0809工作時的狀態(tài)轉(zhuǎn)換圖轉(zhuǎn)換后數(shù)據(jù)的BCD碼

38、轉(zhuǎn)換處理: 表3.1是在ADC0809的基準(zhǔn)電壓(Vref)為5.12 V時,模擬輸入電壓與輸出電壓的對應(yīng)關(guān)系其中最小電壓準(zhǔn)位是5/28=5/256=0.2 V。 這樣,當(dāng)由ADC0809的D7.0收到的數(shù)據(jù)信號是10000110(即86H)時,則對照表3.1時,高4位1000是2.56 V,而低4位0110是0.12 V,所以最后的電壓輸出結(jié)果是2.56 V+0.12 V=2.68 V。表3.1 ADC0809模擬輸入電壓與輸出電壓的對應(yīng)關(guān)系進(jìn) 制參考電壓(Vref)為5V162高4位電壓低4位電壓000000.000.00100010.320.02200100.640.04300110.9

39、60.06401001.280.08501011.600.10601101.920.12701112.240.14810002.560.16910012.880.18A10103.200.20B10113.520.22C11003.840.24D11014.160.26E11104.480.28F11114.800.30進(jìn)位 10010 0101 0110+ 0000 0001 1000 0010 0111 0100圖3.5 BCD加法示意圖為了方便后續(xù)的電壓數(shù)據(jù)顯示,我們應(yīng)將輸出電壓表示成12位的BCD碼形式。如上述的2.56 V是0010 0101 0110,0.12 V是0000 000

40、1 0010,所以相加的結(jié)果2.68 V是0010 0110 1000,因此必須設(shè)計(jì)一個12位的BCD碼加法程序。圖3.5是2.56+0.18=2.74的二進(jìn)制的BCD加法示意圖。從圖中可以看出,二進(jìn)制BCD碼相加時,由最低位4位加起,且每4位相加的結(jié)果超過10時需作進(jìn)位操作。 A/D轉(zhuǎn)換控制模塊ADZHKZ的VHDL源程序:圖3.6 A/D轉(zhuǎn)換控制模塊符號編輯文件 -ADZHKZ.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ADZHKZ IS PORT(D: IN

41、 STD_LOGIC_VECTOR(7 DOWNTO 0); -0809的8位轉(zhuǎn)換數(shù)據(jù)輸出RST: IN STD_LOGIC; -復(fù)位信號 CLK: IN STD_LOGIC; -轉(zhuǎn)換工作時鐘信號 EOC: IN STD_LOGIC; -0809的轉(zhuǎn)換結(jié)束控制信號 ALE: OUT STD_LOGIC; -0809的通道選擇地址鎖存信號 START: OUT STD_LOGIC; -0809的轉(zhuǎn)換啟動控制信號 OE: OUT STD_LOGIC; -0809的輸出使能控制信號 ADDA: OUT STD_LOGIC; -0809的通道選擇控制信號 BCDOUT: OUT STD_LOGIC_V

42、ECTOR(11 DOWNTO 0); -來自0809的數(shù)據(jù)經(jīng)BCD轉(zhuǎn)換后的輸出 ); END ENTITY ADZHKZ; ARCHITECTURE ART OF ADZHKZ IS TYPE STATES IS (ST0,ST1,ST2,ST3,ST4,ST5,ST6); SIGNAL CURRENT_STATE,NEXT_STATE: STATES; SIGNAL REGL: STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL LOCK0,LOCK1: STD_LOGIC; -轉(zhuǎn)換后數(shù)據(jù)輸出鎖存時鐘信號 SIGNAL VALUE: STD_LOGIC_VECTOR(

43、11 DOWNTO 0); SIGNAL CEN: STD_LOGIC; SIGNAL ALE0: STD_LOGIC; SIGNAL START0: STD_LOGIC; SIGNAL OE0: STD_LOGIC; BEGIN-A/D轉(zhuǎn)換控制模塊 STATESYSTEM: BLOCK IS BEGIN ADDAALE0=0; START0=0; OE0=0; LOCK0=0; NEXT_STATE=ST1; CENALE0=1; START0=0; OE0=0; LOCK0=0; NEXT_STATE=ST2; CENALE0=0; START0=1; OE0=0; LOCK0=0; NE

44、XT_STATE=ST3; CENALE0=0; START0=0; OE0=0; LOCK0=0; CEN=0; IF EOC=1 THEN -測試EOC的下降沿 NEXT_STATE=ST3; ELSE NEXT_STATEALE0=0; START0=0; OE0=0; LOCK0=0; CEN=0; IF EOC=0 THEN NEXT_STATE=ST4; -測試EOC的上升沿,=1表明轉(zhuǎn)換結(jié)束 ELSE NEXT_STATEALE0=0; START0=0; OE0=1; LOCK0=0; NEXT_STATE=ST6; CENALE0=0; START0=0; OE0=1; LO

45、CK0=1; NEXT_STATE=ST0; CENALE0=0; START0=0; OE0=0; LOCK0=0; NEXT_STATE=ST0; CEN=0; END CASE; END PROCESS; PROCESS(RST, CLK) IS BEGIN IF RST=1 THEN CURRENT_STATE=ST0 ELSIF RISING_EDGE(CLK) THEN CURRENT_STATE=NEXT_STATE; -在時鐘上升沿,轉(zhuǎn)換至下一狀態(tài) END IF; END PROCESS; -用于給輸出信號去毛刺 PROCESS(CLK) ISBEGIN IF RISING_EDGE(CLK) THEN ALE=ALE0; START=START0; OE=OE0; LOCK1=LOCK0; END IF; END PROCESS; -數(shù)據(jù)鎖存進(jìn)程 PROCESS(LOCK1) IS BEGIN IF RISING_EDGE(LOCK1) THEN REGL=D; -在LOCK1的上升沿,將轉(zhuǎn)換好的數(shù)據(jù)鎖入END IF; END PROCESS; END BLOCK STATESYS

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論