版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、畢業(yè)設計論文用vhdl語言設計數據采集系統(tǒng)摘要隨著計算機技術的發(fā)展與普及,數字設備正越來越多地取代模擬設備,將模擬信號轉換成數字信號以及將數字信號轉換成模擬信號就成了重要環(huán)節(jié)。本系統(tǒng)以多路數據的采集及監(jiān)測為例,介紹了可編程邏輯器件在模數轉換、數模轉換及數據監(jiān)控及處理中的設計方法。實現數據采集的方法有很多,如單片機、cpld、c語言等,但相比各種方法,運用vhdl硬件描述語言開發(fā)的數據采集系統(tǒng)具有具有設計方便高效、體積小、功耗低、可靠性高、易于修改、設計周期短等特點。vhdl硬件描述語言采用自頂而下的設計方法可以對模型進行及時修改,以改進系統(tǒng)或子系統(tǒng)的功能,更正設計錯誤,從而提高目標系統(tǒng)的工作速
2、度,減小面積耗用,降低功耗和成本等。本文介紹了基于altera公司的集成開發(fā)環(huán)境maxplusii,使用vhdl設計開發(fā)數據采集系統(tǒng)的基本方法。關鍵詞 vhdl adc0809 dac0832 eda 數據采集; abstractwith the development of computer technology and popularization, digital devices are increasingly replacing analog equipment,and converted the analog signals into digital signals, as wel
3、l 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 methods in the
4、 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, high relia
5、bility, 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 systems speed
6、, reducing the area of consumption, and lower the power consumption costs. in this paper,we introduce a integrated development environment which based on altera's maxplusii,and the basic method to develop a data acquisition system design by using vhdl language. key words: vhdl eda adc0809 dac083
7、2 data acquisition目 錄前言11 eda技術及開發(fā)環(huán)境31.1 eda技術31.2 vhdl41.3 eda技術的開發(fā)環(huán)境maxplusii52 數據采集系統(tǒng)的研究分析及設計思路62.1數據采集系統(tǒng)的研究與分析72.2數據采集系統(tǒng)的設計思路73 數據采集系統(tǒng)模塊的相關介紹與分析83.1 數據輸入模塊83.1.1數據輸入單元設計83.1.2 adc0809接線圖93.1.3模塊功能實現103.2 數據采集系統(tǒng)各模塊分析113.2.1 a/d轉換控制模塊adzhkz的設計183.2.2數據運算與處理模塊sjyscl173.2.3 d/a轉換控制模塊dazhkz22 3.2.4鍵盤
8、輸入與數據顯示控制模塊jpxskz253.2.5數碼顯示模塊disp的設計253.3數據輸出模塊253.3.1 dac0832芯片介紹253.3.2 daco832接線圖264 仿真結果275 硬件連接實物圖296 結論31致謝32參考文獻32附錄32 前言隨著計算機技術的發(fā)展與普及,數字設備正越來越多地取代模擬設備,在生產過程控制和科學研究等廣泛的領域中,計算機測控技術正發(fā)揮著越來越重要的作用。然而,外部世界的大部分信息是以連續(xù)變化的物理量形式出現的,例如溫度、壓力、位移、速度等。要將這些信息送入計算機進行處理,就必須先將這些連續(xù)的物理量離散化,并進行量化編碼,從而變成數字量,這個過程就是數
9、據采集。它是計算機在監(jiān)測、管理和控制一個系統(tǒng)的過程中,取得原始數據的主要手段。數據采集系統(tǒng)是計算機智能儀器與外界物理世界聯系的橋梁,是獲取信息的重要途徑。數據采集技術是信息科學的重要組成部分,已廣泛應用于國民經濟和國防建設的各個領域,并且隨著科學技術的發(fā)展,尤其是計算機技術的發(fā)展與普及,數據采集技術將有廣闊的發(fā)展前景。實現數據采集系統(tǒng)的控制方法很多,可以用標準邏輯器件、可編程序控制器plc、單片機等方案來實現。但是這些控制方法的功能修改及調試都需要硬件電路的支持,在一定程度上增加了功能修改及系統(tǒng)調試的困難。但是eda利用vhdl語言來設計實現該系統(tǒng),將更加直觀,少了匯編語言的復雜、煩瑣,其自頂
10、而下的設計方法可以對模型進行及時修改,以改進系統(tǒng)或子系統(tǒng)的功能,更正設計錯誤,從而提高目標系統(tǒng)的工作速度,減小面積耗用,降低功耗和成本等。同時,避免了傳統(tǒng)的數字電子系統(tǒng)設計中電路設計復雜、調試十分困難、對錯誤的查找和修改的不便等問題?;赾pldfpga設計的數字電子系統(tǒng),具有體積小、功耗低、可靠性高、易于修改、設計周期短等特點,用cpldfpga代替中小規(guī)模邏輯器件構成數字系統(tǒng)是發(fā)展方向。隨著電子技術的發(fā)展,在今后的電子產品的研發(fā)中,eda技術具有更好的開發(fā)手段和性價比,具有廣泛的市場應用前景。本次設計系統(tǒng)以一路數據的采集及監(jiān)測為例,介紹了可編程邏輯器件在模數轉換,數模轉換,數據監(jiān)控與處理的
11、設計方法。本系統(tǒng)主要是由五大部分組成:數據輸入單元、數據處理單元、數據輸出單元。其中包括七個功能模塊:模數轉換模塊adc0809、ad轉換控制模塊、數據運算與處理模塊、da轉換控制模塊、鍵盤顯示控制模塊、數碼管顯示模塊、數模轉換模塊dac0832。系統(tǒng)主要實現以下功能:首先對adc0809的某路通道的數值進行ad轉換為十二位的電壓bcd碼顯示,再對此值與十二位預置電壓進行差值運算,然后將所得用十二位bcd碼顯示的差值分三段分別轉化為數碼管顯示形式,最后數碼管循環(huán)顯示輸入電壓、差值、采集個數。在數據處理完之后,將數據輸出給dac0832,再將數字信號轉換為模擬量輸出,輸出值與數碼管顯示的差值電壓
12、相同。1. eda技術及開發(fā)環(huán)境1.1 eda技術eda是電子設計自動化(electronic design automation)的縮寫,在20世紀90年代初從計算機輔助設計(cad)、計算機輔助制造(cam)、計算機輔助測試(cat)和計算機輔助工程(cae)的概念發(fā)展而來的。eda技術就是以計算機為工具,設計者在eda軟件平臺上,用硬件描述語言hdl完成設計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作1。 20世紀70年代,可編程邏輯技術及其器件問世,計算機作為一種運算工具已在科研領域得到廣泛應用
13、。電子線路的cad(計算機輔助設計)是eda發(fā)展的初級階段,是高級eda系統(tǒng)的重要組成部分。它利用計算機的圖形編輯、分析和存儲等能力,協助工程師設計電子系統(tǒng)的電路圖、印制電路板和集成電路板圖。 20世紀80年代,集成電路設計進入了cmos時代。復雜課編程邏輯器件已進入商業(yè)應用,相應的輔助設計軟件也已投入使用。而在80年代末,出現了fpga,cae、cad技術的應用更為廣泛,他們在pcb設計方面的原理圖輸入、自動布局布線及pcb分析以及邏輯設計、邏輯仿真、布爾方程綜合和化簡等方面擔任了重要角色。20世紀90年代,隨著硬件描述語言的標準化得到進一步的確立,電子設計自動化技術的應用和發(fā)展,促進了ed
14、a技術的形成。各eda公司致力于推出兼容各種硬件實現方案和支持標準硬件描述語言的eda工具的研究,有效的將eda技術推向了成熟。進入21世紀后,eda技術得到了更大的發(fā)展和應用。eda技術將計算機軟件、硬件、微電子技術交叉運用的現代化電子學科,它將cad(計算機輔助設計)、cam(計算機輔助制造)、cat(計算機輔助測試)和cae(計算機輔助工程)集于一體并深入發(fā)展。eda技術就是以計算機為工作平臺、以eda軟件工具為開發(fā)環(huán)境、以硬件描述語言為設計語言、以asic(application specific integrate circuits)為實現載體的電子產品自動化設計過程。在eda軟件平
15、臺上,根據原理圖或硬件描述語言hdl完成的設計文件,自動地完成邏輯編譯、化簡、分割、綜合及優(yōu)化、布局布線、仿真、目標芯片的適配編譯、邏輯映射和編程下載等工作。設計者的工作僅限于利用軟件的方式來完成對系統(tǒng)硬件功能的描述,在eda 工具的幫助下,應用相應的cpld/fpga(complex programmable logic devices/field programmable gate array)器件,就可以得到最后的設計結果。盡管目標系統(tǒng)是硬件,但整個設計和修改過程如同完成軟件設計一樣方便和高效。此外,從應用的廣度和深度來說,由于電子信息領域的全面數字化,基于eda的數字系統(tǒng)的設計技術具有
16、更大的應用市場和更緊迫的需求性。隨著電子技術的發(fā)展,應用系統(tǒng)向小型化,快速化,大容量,重量輕的方向發(fā)展。數字系統(tǒng)的設計已從芯片組合化設計走向單片系統(tǒng)的設計。電子設計自動化是以計算機科學和微電子技術發(fā)展為先導,匯集了計算機圖形學,拓撲邏輯學,微電子工藝與結構學和計算數學等多種計算機應用學科最新成果的先進技術,它是在先進的計算機平臺上開發(fā)出來的一整套實現電子系統(tǒng)或電子產品自動化設計的技術,是當代電子設計技術的主流。其特點如下:(1)采用硬件描述語言作為設計輸入。用vhdl對數字電子系統(tǒng)進行抽象的行為與功能描述以及具體的內部線路結構描述,從而可以在電子設計的各個階段,各個層次進行計算機模擬驗證,保證
17、設計的正確性,可以大大降低設計成本,縮短設計周期。(2)庫的引入。在各類庫的引入下,使eda工具能夠完成各種自動設計過程(3)設計文檔的管理。(4)強大的系統(tǒng)建模、電路仿真功能。eda仿真測試技術只需通過計算機,就能對所設計電子系統(tǒng)從各個不同層次的系統(tǒng)性能特點完成一系列準確的測試與仿真操作,這極大地提高了大規(guī)模系統(tǒng)電子設計的自動化程度。(5)開發(fā)技術的標準化、規(guī)范化以及ip核的可重用性。eda軟件平臺支持任何標準化的設計語言,它的設計成果是通用性的,ip核具有規(guī)范的接口協議。良好的可移植性與可測試性,為高效高質的系統(tǒng)開發(fā)提供了可靠的保證。(6)適用于高效率大規(guī)模系統(tǒng)設計的自頂向下設計方案,能將
18、所有設計環(huán)節(jié)納入統(tǒng)一的自頂向下的設計方案中。(7)全方位的利用計算機自動設計、仿真和測試技術。eda不但在整個設計流程上充分利用計算機的自動設計能力,在各個層次上利用計算機完成不同內容的仿真模擬,而且在系統(tǒng)板設計結束后仍可利計算機對硬件系統(tǒng)進行完整的測試(邊界掃描技術)。(8)對設計者的硬件知識和硬件經驗要求低。eda技術的標準化hdl設計語言與設計平臺對具體硬件的無關性,使設計者能更大程度地將自己的才智和創(chuàng)造力集中在設計項目性能的提高和成本的降低上,而將更具體的硬件實現工作讓專門部門來完成。(9)純硬件系統(tǒng)的高可靠性。1.2 vhdlvhdl語言是隨著集成電路系統(tǒng)化和高度集成化的發(fā)展而逐步發(fā)
19、展起來的,是一種用于數字系統(tǒng)設計和測試的硬件描述語言。對于小規(guī)模的數字集成電路,通??梢杂脗鹘y(tǒng)的設計輸入方法(如原理圖輸入)來完成,并進行模擬仿真。但純原理圖輸入方式對于大型、復雜的系統(tǒng),由于種種條件和環(huán)境的制約,其工作效率較低,而且容易出錯,暴露出多種弊端。在信息技術高速發(fā)展的今天,對集成電路提出了高集成度、系統(tǒng)化、微尺寸、微功耗的要求,因此,高密度可編程邏輯器件和vhdl便應運而生2。vhdl主要用于描述數字系統(tǒng)的結構、行為、功能和接口。除了含有許多具有硬件特征的語句外,vhdl的語言形式和描述風格與句法十分類似于一般的計算機高級語言。應用vhdl進行工程設計的優(yōu)點是多方面的,具體如下:(
20、1)與其他硬件描述語言相比,vhdl有更強大的行為描述能力,從而決定了它成為系統(tǒng)設計領域最佳的硬件描述語言。強大的行為描述能力是避開具體的器件的結構,從邏輯行為上描述和設計大規(guī)模電子系統(tǒng)的重要保證。(2)vhdl最初是作為一種仿真標準格式出現的,因此vhdl既是一種硬件電路描述和設計語言,也是一種標準的網表格式,還是一種仿真語言。它具有豐富的仿真語句和庫函數,設計者可以在系統(tǒng)設計的早期隨時對設計進行仿真模擬,查驗所設計系統(tǒng)的功能特性,從而對整個工程設計的結構和功能可行性作出判斷。(3)vhdl的行為描述能力和程序結構決定了它具有支持大規(guī)模設計和分解已有設計的再利用功能,滿足了大規(guī)模系統(tǒng)設計要有
21、多個開發(fā)組共同進行工作來實現的這種市場需求。vhdl中設計實體的概念、程序包的概念、設計庫的概念為設計的分解和并行工作提供了有力的支持。(4)對于vhdl完成的一個確定設計,可以利用eda工具進行邏輯綜合和優(yōu)化,并自動將vhdl描述轉化成門級網表,生成一個更有效、更高速的電路系統(tǒng);此外,設計還可以容易地從綜合優(yōu)化后的電路獲得設計信息,返回去更新修改vhdl設計描述,使之更為完善。這種方式突破了門級設計的瓶頸,極大地減少了電路設計的時間和可能發(fā)生的錯誤,降低了開發(fā)成本。(5)vhdl對設計的描述具有相對獨立性,設計者可以不懂硬件的結構,也不必管最終設計實現的目標器件是什么,而進行獨立的設計。正因
22、為vhdl的硬件描述與具體的工藝技術和硬件結構無關,vhdl設計程序的硬件實現目標器件有廣闊的選擇范圍,其中包括各個系列的cpld、fpga及各種門陣列實現目標。(6)由于vhdl具有類屬描述語句和子程序調用等功能,對于已完成的設計,在不改變原程序的條件下,只需改變端口類型參量或函數,就能輕易地改變設計的規(guī)模和結構。1.3 eda技術的開發(fā)環(huán)境maxplusiimax+plusii(或寫成maxplus2,或mp2) 是altera公司推出的的第三代pld開發(fā)系統(tǒng)(altera第四代pld開發(fā)系統(tǒng)被稱為:quartusii,主要用于設計新器件和大規(guī)模cpld/fpga).使用max+plusi
23、i的設計者不需精通器件內部的復雜結構。設計者可以用自己熟悉的設計工具(如原理圖輸入或硬件描述語言)建立設計,maxplusii把這些設計轉自動換成最終所需的格式。其設計速度非常快。對于一般幾千門的電路設計,使用maxplusii,從設計輸入到器件編程完畢,用戶拿到設計好的邏輯電路,大約只需幾小時。設計處理一般在數分鐘內內完成。特別是在原理圖輸入等方面,maxplusii被公認為是最易使用,人機界面最友善的pld開發(fā)軟件,特別適合初學者使用。maxplusii軟件是一款高效的、非常靈活的數字電路開發(fā)設計軟件,它提供了多種輸入方法供設計者選用,利用合適的輸入方法設計完數字系統(tǒng)之后,設計者可利用邏輯
24、綜合工具進行邏輯綜合,并可以用仿真器進行軟件仿真,使設計者能夠盡早發(fā)現設計中的錯誤,縮短設計周期。首先我們可以先看一看用fpgacpld開發(fā)工具進行電路設計的一般流程:1.設計輸入。在傳統(tǒng)設計中,設計人員是應用傳統(tǒng)的原理圖輸入方法來開始設計的。自90年代初, verilog、vhdl、ahdl等硬件描述語言的輸入方法在大規(guī)模設計中得到了廣泛應用。2.前仿真(功能仿真)。設計的電路必須在布局布線前驗證電路功能是否有效。(asci設計中,這一步驟稱為第一次sign-off)pld設計中,有時跳過這一步。3.設計編譯。設計輸入之后就有一個從高層次系統(tǒng)行為設計向門級邏輯電路設轉化翻譯過程,即把設計輸入
25、的某種或某幾種數據格式(網表)轉化為軟件可識別的某種數據格式(網表)。4.優(yōu)化。對于上述綜合生成的網表,根據布爾方程功能等效的原則,用更小更快的綜合結果代替一些復雜的單元,并與指定的庫映射生成新的網表,這是減小電路規(guī)模的一條必由之路。5.布局布線。在pld設計中,3-5步可以用pld廠家提供的開發(fā)軟件(如 maxplus2)自動一次完成。6.后仿真(時序仿真)需要利用在布局布線中獲得的精確參數再次驗證電路的時序。(asci設計中,這一步驟稱為第二次signoff)。7.生產。布線和后仿真完成之后,就可以開始asci或pld芯片的投產。同樣,使用maxplus2基本上也是有以上幾個步驟,但可簡化
26、為:(1)設計輸入 (2)設計編譯(3)設計仿真 (4)下載 2.數據采集系統(tǒng)的研究分析及設計思路2.1數據采集系統(tǒng)的研究與分析數據采集技術(data acquisition)是信息科學的一個重要分支,它研究信息數據的采集、存貯、處理以及控制等作業(yè)。在智能儀器、信號處理以及工業(yè)自動控制等領域,都存在著數據的測量與控制問題。將外部世界存在的溫度、壓力、流量、位移以及角度等模擬量(analog signal)轉換為數字信號(digital signal), 在收集到計算機并進一步予以顯示、處理、傳輸與記錄這一過程,即稱為“數
27、據采集”3。相應的系統(tǒng)即為數據采集系統(tǒng)(data acquisition system,簡稱das)。數據采集是計算機在監(jiān)測、管理和控制一個系統(tǒng)的過程中,取得原始數據的主要手段。數據采集系統(tǒng)是計算機智能儀器與外界物理世界聯系的橋梁,是獲取信息的重要途徑。數據采集技術是信息科學的重要組成部分,已廣泛應用于國民經濟和國防建設的各個領域,并且隨著科學技術的發(fā)展,尤其是計算機技術的發(fā)展與普及,數據采集技術將有廣闊的發(fā)展前景4。傳統(tǒng)的數據采集系統(tǒng),通常采用單片機或dsp作為控制模塊,控制adc,存儲器和其他外圍電路的工作。隨著數據采集對速度性能的要求越來越高,傳統(tǒng)的采集系統(tǒng)的弊端越來越明顯。單片機的時鐘
28、頻率較低且用軟件實現數據采集,使得采集速度和效率降低,軟件運行時間在整個采樣時間中占很大的比例。而eda技術的fpga (現場可編程門陣列)有單片機無法比擬的優(yōu)勢:fpga時鐘頻率高,內部延時小,全部控制邏輯由硬件完成,速度快、效率高 。隨著復雜可編程邏輯器件的廣泛應用,以eda工具作為開發(fā)手段,運用vhdl語言來設計將使整個系統(tǒng)大大簡化,從而提高整體的性能和可靠性。因此利用vhdl硬件描述語言來設計數據采集系統(tǒng)是一個比較合理的方案。這個系統(tǒng)的設計對以后工作及生活具有相當的意義,它不僅在工業(yè)控制中應用廣泛,而且還可以用來解決生活中的一些小問題。在電子系統(tǒng)非常廣泛應用領域內,到處可見到對信號進行
29、模數/數模轉換的數字電路。在abs系統(tǒng)(汽車防抱制動系統(tǒng))、計算機技術、gprs環(huán)抱系統(tǒng)、工業(yè)自動控制系統(tǒng)等系統(tǒng)中,數據采集系統(tǒng)都有著舉足輕重的作用5。數字技術及計算機技術的發(fā)展使得系統(tǒng)的設計更理想化,以實現更多的功能。同時,還進一步提高了系統(tǒng)的可靠性和工作效率。2.2數據采集系統(tǒng)的設計思路系統(tǒng)主要實現以下功能:數據采集控制系統(tǒng)是對生產過程或科學實驗中各種物理量進行實時采集、測試和反饋控制的閉環(huán)系統(tǒng)。它在工業(yè)控制、軍事電子設備醫(yī)學監(jiān)護等許多領域發(fā)揮著重要作用。本設計要求用一個cpld/fpga、模數轉換器adc和數模轉換器dac構成了一個數據采集系統(tǒng),并用cpld/fpga實現數據采集中對a/
30、d轉換、數據運算、d/a轉換以及有關據顯示的控制。系統(tǒng)的組成框圖如圖2.1所示,其功能如下:(1)、系統(tǒng)按一定速率采集輸入電壓u1,經adc0809轉換為8位數字量data;(2)、輸入數據與通過預置按鍵輸入數據采集控制器內的標準數據相減,求得帶極性位的差值±u(數字量);差值之絕對值送至dac0832轉換為u,它和特定的極性判別電路共同輸出±u。(3) 數據采集和處理均在數據采集系統(tǒng)控制器的管理下有序進行。工作速率由時鐘信號clk的速率決定。cpld/fpga數據采集控制器dac0832adc0809u1doutu開關和控制鍵f8.88clkaddaalecestarte
31、ocdata圖2.1 系統(tǒng)組成框圖編譯和仿真時要選擇合適的芯片,不同的芯片其速度等級是不一樣的。選擇速度等級高的芯片,仿真時延就小,這樣便于分析時序波形。否則,將給時序分析帶來一些不必要的麻煩。編譯結束時,要注意認真分析芯片資源的利用情況,這其中主要包括芯片管腳和邏輯單元的利用率如果沒有充分利用資源就要重新選擇芯片,爭取實現性價比的最大化。所以大致流程是先進行主程序的輸入/輸出模塊,數據處理及監(jiān)控模塊的設計。然后對各程序進行修改、編譯、仿真,并對出現問題的程序進行程序修改和調試。3.數據采集系統(tǒng)模塊的相關介紹與分析3.1 數據輸入模塊3.1.1數據輸入單元設計數據輸入單元的設計是通過adc08
32、09的常規(guī)應用來實現的,其具體的實現如圖3.1所示。其中adc0809的clock信號是由外部輸入的。此信號的輸入沒有固定的要求,只要足夠高就可以了,通常信號頻率為640khz、750khz等。adc0809的start信號也是由外部接入的,但是此信號的頻率不宜過高,要小于1khz。將adc0809的輸出作為fpga的輸入。adc0809是一種比較典型的8位8通道逐次逼近式a/d轉換器cmos工藝,可實現8路模擬信號的分時采集,片內有8路模擬選通開關,以及相應的通道地址鎖存用譯碼電路,其轉換時間為100s左右,采用雙排28引腳封裝。adc0809的工作過程是:首先輸入3位地址,并使ale=1,
33、將地址存入地址鎖存器中。此地址經譯碼選通8路模擬輸入之一到比較器。start上升沿將逐次逼近寄存器復位。下降沿啟動 ad轉換,之后eoc輸出信號變低,指示轉換正在進行。直到ad轉換完成,eoc變?yōu)楦唠娖剑甘綼d轉換結束,結果數據已存入鎖存器,這個信號可用作中斷申請。當oe輸入高電平 時,輸出三態(tài)門打開,轉換結果的數字量輸出到數據總線上。其引腳說明如下:in0in7:8路模擬量輸入通道addaaddc:地址線用于選擇模擬量輸入通道ale:地址鎖存允許信號start:轉換啟動信號d0d7:數據輸出線oe: 輸出允許信號,低電平允許轉換結果輸出clock:時鐘信號輸入引腳,通常使用500khzeo
34、c:轉換結束信號,為0代表正在轉換,1代表轉換結束vcc:5v電壓3.1.2 adc0809接線圖此電路圖主要實現將八路輸入模擬信號轉換為數字信號,為數據處理及監(jiān)控模塊提供輸入信號。+5v+5valevocclkadcalestartadcoeoeadc0809nr4710kr4810k54321282726adcale 22a2 23a1 24a0 25131612 vcc7 d2521 d720 d619 d518 d48 d315 d214 d117 d0ref-ref+eocd7d6d5d4d3d2d1d0gndaleaddcaddbaddain7in6in5in4in3in2in1i
35、n0 圖3.1 adc0809接線圖3.1.3模塊功能實現此系統(tǒng)是用adc0809對模擬信號進行采樣,轉換為數字信號,由可編程邏輯器件讀入,再送到dac0832,將數字信號轉換為模擬信號。用可編程邏輯器件實現對adc0809的控制,由于采用查詢信號eoc的方式,所以可達到adc0809的最高速度(注:adc0809和dac0832都不能對負電壓進行操作)。主要包括分頻模塊和adc控制模塊??傮w框圖如圖3.2所示:圖中oe為輸出允許信號,高電平允許轉換結果輸出 ;eoc為轉換結束信號,為0代表正在轉換,1代表轉換結束;din7.0為八路模擬量輸入通道;dout7.0為轉換后的八路數字信
36、號輸出通道。 圖3.2 總體框圖3.2數據采集系統(tǒng)各模塊分析3.2.1 a/d轉換控制模塊adzhkz的設計adc0809模數轉換的控制:adc0809是cmos的8位a/d轉換器,片內有8路模擬開關,可控制8個模擬量中的一個進入轉換器中。adc0809的分辨率為8位,轉換時間約100 s,含鎖存控制的8路多路開關,輸出由三態(tài)緩沖器控制,單5 v電源供電。圖3.3是adc0809的管腳及主要控制信號時序圖。 2ni1ni0niaddabddacddaela0d1d2d3d7d-fer5d3ni4ni5ni6ni7nitrastcoe4deoklcccv+fer6ddng adc0809 圖3.
37、3 adc0809的管腳及主要控制信號的時序圖對于adc0809模數轉換的控制程序段的vhdl設計,根據adc0809的a/d轉換控制要求,我們可用一個狀態(tài)機來實現,其狀態(tài)轉換如圖3.4所示。 st0st1st2st3st6st5st4ale<=0start<=0lock<=0 cen<=0ale<=1start<=0oe<=0 lock<=0cen<=0ale<=0start<=0oe<=0lock<=1cen<=0eoc=0eoc=1ale<=0start<=0oe<=1lock<=
38、0cen<=1ale<=0start<=1oe<=0lock<=0cen<=0cen<=0ale<=0start<=0oe<=0lock<=0cen<=0ale<=0start<=0oe<=0lock<=0cen<=0圖3.4 adc0809工作時的狀態(tài)轉換圖轉換后數據的bcd碼轉換處理: 表3.1是在adc0809的基準電壓(vref)為5.12 v時,模擬輸入電壓與輸出電壓的對應關系其中最小電壓準位是5/28=5/256=0.2 v。 這樣,當由adc0809的d7.0收到的數據信號是10
39、000110(即86h)時,則對照表3.1時,高4位1000是2.56 v,而低4位0110是0.12 v,所以最后的電壓輸出結果是2.56 v+0.12 v=2.68 v。表3.1 adc0809模擬輸入電壓與輸出電壓的對應關系進 制參考電壓(vref)為5v162高4位電壓低4位電壓000000.000.00100010.320.02200100.640.04300110.960.06401001.280.08501011.600.10601101.920.12701112.240.14810002.560.16910012.880.18a10103.200.20b10113.520.22
40、c11003.840.24d11014.160.26e11104.480.28f11114.800.30進位 10010 0101 0110+ 0000 0001 1000 0010 0111 0100圖3.5 bcd加法示意圖為了方便后續(xù)的電壓數據顯示,我們應將輸出電壓表示成12位的bcd碼形式。如上述的2.56 v是0010 0101 0110,0.12 v是0000 0001 0010,所以相加的結果2.68 v是0010 0110 1000,因此必須設計一個12位的bcd碼加法程序。圖3.5是2.56+0.18=2.74的二進制的bcd加法示意圖。從圖中可以看出,二進制bcd碼相加時,
41、由最低位4位加起,且每4位相加的結果超過10時需作進位操作。 a/d轉換控制模塊adzhkz的vhdl源程序:圖3.6 a/d轉換控制模塊符號編輯文件 -adzhkz.vhd library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity adzhkz is port(d: in std_logic_vector(7 downto 0); -0809的8位轉換數據輸出rst: in std_logic; -復位信號 clk: in std_logic; -轉換工作時鐘信號 eoc: in st
42、d_logic; -0809的轉換結束控制信號 ale: out std_logic; -0809的通道選擇地址鎖存信號 start: out std_logic; -0809的轉換啟動控制信號 oe: out std_logic; -0809的輸出使能控制信號 adda: out std_logic; -0809的通道選擇控制信號 bcdout: out std_logic_vector(11 downto 0); -來自0809的數據經bcd轉換后的輸出 ); end entity adzhkz; architecture art of adzhkz is type states is (
43、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; -轉換后數據輸出鎖存時鐘信號 signal value: std_logic_vector(11 downto 0); signal cen: std_logic; signal ale0: std_logic; signal start0: std_logic; signal oe0: std_logic;
44、 begin-a/d轉換控制模塊 statesystem: block is begin adda<='1' -狀態(tài)轉換控制 pro: process(current_state,eoc) is begin case current_state is when st0=>ale0<='0' start0<='0' oe0<='0' lock0<='0' next_state<=st1; cen<='0' when st1=>ale0<=
45、39;1' start0<='0' oe0<='0' lock0<='0' next_state<=st2; cen<='0' when st2=>ale0<='0' start0<='1' oe0<='0' lock0<='0' next_state<=st3; cen<='0' when st3=>ale0<='0' start0<=&
46、#39;0' oe0<='0' lock0<='0' cen<='0' if eoc='1' then -測試eoc的下降沿 next_state<=st3; else next_state<=st4; end if; when st4=>ale0<='0' start0<='0' oe0<='0' lock0<='0' cen<='0' if eoc='0' t
47、hen next_state<=st4; -測試eoc的上升沿,=1表明轉換結束 else next_state<=st5; end if; when st5=>ale0<='0' start0<='0' oe0<='1' lock0<='0' next_state<=st6; cen<='1' when st6=>ale0<='0' start0<='0' oe0<='1' lock0&l
48、t;='1' next_state<=st0; cen<='0' when others=>ale0<='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 r
49、ising_edge(clk) then current_state<=next_state; -在時鐘上升沿,轉換至下一狀態(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; -數據鎖存進程 process(lock1) is begin if rising_edge(lock1) then regl<=d; -
50、在lock1的上升沿,將轉換好的數據鎖入end if; end process; end block statesystem; -a/d轉換數據的bcd碼轉換模塊 conversion: block is signal v: std_logic_vector(7 downto 0); signal hb,lb: std_logic_vector(11 downto 0); signal c30,c74,c118: std_logic; signal tempa,tempb,tempc: std_logic_vector(4 downto 0); begin process(reg
51、l) is begin v<=regl; -將a/d轉換后數據的高4位通過查表的方式用12位bcd碼表示 case v(7 downto 4) is -for a/d conversion data hight bytewhen "1111" =>hb<="010010000000" -4.80 when "1110" =>hb<="010001001000" -4.48 when "1101" =>hb<="010000010110"
52、; -4.16 when "1100" =>hb<="001110000100" -3.84 when "1011" =>hb<="001101010010" -3.52 when "1010" =>hb<="001100100000" -3.20 when "1001" =>hb<="001010001000" -2.88 when "1000" =>hb<
53、;="001001010110" -2.56 when "0111" =>hb<="001000100100" -2.24 when "0110" =>hb<="000110010010" -1.92 when "0101" =>hb<="000101100000" -1.60 when "0100" =>hb<="000100101000" -1.28 when &q
54、uot;0011" =>hb<="000010010110" -0.96when "0010" =>hb<="000001100100" -0.64 when "0001" =>hb<="000000110010" -0.32 when others =>hb<="000000000000" -0.00 end case; -將a/d轉換后數據的低4位用12位bcd碼表示 case v(3 downto 0) is -
55、for a/d conversion data low byte when "1111" =>lb<="000000110000" -0.30 when "1110" =>lb<="000000101000" -0.28 when "1101" =>lb<="000000100110" -0.26 when "1100" =>lb<="000000100100" -0.24 when &q
56、uot;1011" =>lb<="000000100010" -0.22when "1010" =>lb<="000000100000" -0.20 when "1001" =>lb<="000000011000" -0.18 when "1000" =>lb<="000000010110" -0.16 when "0111" =>lb<="000000010100" -0.14 when "0110" =>lb<="000000010010" -0.12 when "0101" =>lb<="000000010000" -0.10 when "0100" =>lb<="000000001000" -0.08 when "0011" =>l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國平形照光按鈕數據監(jiān)測研究報告
- 2025至2030年中國塑料薄膜自動制袋機數據監(jiān)測研究報告
- 2025至2030年中國單吸盤車用寫字板數據監(jiān)測研究報告
- 2025至2030年中國五金展示架數據監(jiān)測研究報告
- 2025年中國語音催繳查詢系統(tǒng)市場調查研究報告
- 2025年中國碳梭殼市場調查研究報告
- 2025至2031年中國金屬殼中型門鏡行業(yè)投資前景及策略咨詢研究報告
- 二零二五年度垃圾分類推廣與垃圾清運承包合同2篇
- 2025版智能倉儲系統(tǒng)用戶免責條款合同范本4篇
- 2025年出國務工人員住宿及生活設施租賃合同4篇
- 安徽省蚌埠市2025屆高三上學期第一次教學質量檢查考試(1月)數學試題(蚌埠一模)(含答案)
- 【探跡科技】2024知識產權行業(yè)發(fā)展趨勢報告-從工業(yè)轟鳴到數智浪潮知識產權成為競爭市場的“矛與盾”
- 《中國政法大學》課件
- GB/T 35270-2024嬰幼兒背帶(袋)
- 遼寧省沈陽名校2025屆高三第一次模擬考試英語試卷含解析
- 2022版藝術新課標解讀心得(課件)小學美術
- Profinet(S523-FANUC)發(fā)那科通訊設置
- 第三章-自然語言的處理(共152張課件)
- 醫(yī)學教程 常見化療藥物歸納
- 行政事業(yè)單位國有資產管理辦法
- 高一生物生物必修一全冊考試題帶答題紙答案
評論
0/150
提交評論