【正文】
’ OE=’1’LOCK=’0’ CEN=’1’ ALE=’0’START=’1’OE=’0’LOCK=’0’ CEN=’0’ CEN=’0’ ALE=’0’START=’0’ OE=’0’LOCK=’0’ CEN=’0’ ALE=’0’START=’0’OE=’0’LOCK=’0’ CEN=’0’ 用 VHDL 語言設(shè)計(jì)數(shù)據(jù)采集系統(tǒng) 第 15 頁 共 38 頁 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 A 1010 B 1011 C 1100 D 1101 E 1110 F 1111 圖 BCD 加法示意圖 為了方便后續(xù)的 電壓數(shù)據(jù)顯示,我們應(yīng)將輸出電壓表示成 12 位的 BCD 碼形式。主要包括分頻模塊和 ADC 控制模塊。此地址經(jīng)譯碼選通 8路模擬輸入之一到比較器。 然后 對(duì)各程序進(jìn)行修改、編譯、仿真,并對(duì)出現(xiàn)問題的程序進(jìn)行程序修改和調(diào)試。 U。數(shù)字技術(shù)及計(jì)算機(jī)技術(shù)的發(fā)展使得系統(tǒng)的設(shè)計(jì)更理想化,以實(shí)現(xiàn)更多的功能。隨著數(shù)據(jù)采集對(duì)速度性能的要求越來越高,傳統(tǒng)的采集系統(tǒng)的弊端越來越明顯。 同樣,使用 Maxplus2 基本上也是有以上幾個(gè)步驟,但可簡(jiǎn)化為: ( 1) 設(shè)計(jì)輸入 ( 2) 設(shè)計(jì)編譯 ( 3) 設(shè)計(jì)仿真 ( 4) 下載 系統(tǒng)的研究分析及設(shè)計(jì)思路 系統(tǒng)的研究與分析 數(shù)據(jù)采集技術(shù) (Data Acquisition)是信息科學(xué)的一個(gè)重要分支 ,它研究信息數(shù)據(jù)的采集、存貯、處理以及控制等作業(yè)。 。 用 VHDL 語言設(shè)計(jì)數(shù)據(jù)采集系統(tǒng) 第 9 頁 共 38 頁 首先 我們可以先看一看用 FPGA/ CPLD 開發(fā)工具進(jìn)行電路設(shè)計(jì)的一般流程 : 。 ( 6)由于 VHDL 具有類屬描述語句和子程序調(diào)用等功能,對(duì)于已完成的設(shè)計(jì) ,在不改變?cè)绦虻臈l件下,只需改變端口類 型 參量或函數(shù),就能輕易地改變?cè)O(shè)計(jì)的規(guī)模和結(jié)構(gòu)。 用 VHDL 語言設(shè)計(jì)數(shù)據(jù)采集系統(tǒng) 第 8 頁 共 38 頁 ( 2) VHDL 最初是作為一種仿真標(biāo)準(zhǔn)格式出現(xiàn)的,因此 VHDL 既是一種硬件電路描述和設(shè)計(jì)語言,也是一種標(biāo)準(zhǔn)的網(wǎng)表格式,還是一種仿真語言。 VHDL VHDL 語言是隨著集成電路系統(tǒng)化和高度集成化的發(fā)展而逐步發(fā)展 起來的,是一種用于數(shù)字系統(tǒng)設(shè)計(jì)和測(cè)試的硬件描述語言。 EDA 軟件平臺(tái)支持任何標(biāo)準(zhǔn)化的設(shè)計(jì)語言,它的設(shè)計(jì)成果是通用性的, IP 核具有規(guī)范的接口協(xié)議。電子設(shè)計(jì)自動(dòng)化是以計(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ī)平臺(tái)上開發(fā)出來的一整套實(shí)現(xiàn)電子系統(tǒng)或電子產(chǎn)品自動(dòng)化設(shè)計(jì)的技術(shù),是當(dāng)代電子設(shè)計(jì)技術(shù)的主流。 EDA 技術(shù) 將計(jì)算機(jī)軟件、硬件、微電子技術(shù)交叉運(yùn)用的現(xiàn)代化電子學(xué)科, 它將 CAD(計(jì)算機(jī)輔助設(shè)計(jì))、 CAM(計(jì)算機(jī)輔助制造)、 CAT(計(jì)算機(jī)輔助測(cè)試)和 CAE(計(jì)算機(jī)輔助工程) 集于一體并深入 發(fā)展。 電子線路的 CAD(計(jì)算機(jī)輔助設(shè)計(jì) )是 EDA 發(fā)展的初級(jí)階段,是高級(jí) EDA 系統(tǒng)的重要組成部分。 本次設(shè)計(jì)系統(tǒng)以 一 路數(shù)據(jù)的采集及監(jiān)測(cè)為例 ,介紹了可編程邏輯器件在模數(shù)轉(zhuǎn)換 ,數(shù)模轉(zhuǎn)換 ,數(shù)據(jù)監(jiān)控與處理的設(shè)計(jì)方法。 數(shù)據(jù)采集系統(tǒng)是計(jì)算機(jī)智能儀器與外界物理世界聯(lián)系的橋梁,是獲取信息的重要途徑。 實(shí)現(xiàn) 數(shù)據(jù)采集的 方法有很多,如單片機(jī)、 CPLD、 C語言 等,但相比各種方法,運(yùn)用 VHDL 硬件描述語言開發(fā)的數(shù)據(jù)采集系統(tǒng)具有 具有 設(shè)計(jì)方便高效、 體積小、功耗低、可靠性高、易于修改、設(shè)計(jì)周 期短等特點(diǎn) 。 [關(guān)鍵詞 ] VHDL ADC0809 DAC0832 EDA 數(shù)據(jù)采集; 用 VHDL 語言設(shè)計(jì)數(shù)據(jù)采集系統(tǒng) 第 3 頁 共 38 頁 Abstract With the development of puter technology and popularization, Digital devices are increasingly replacing analog equipment,and converted the analog signals into digital signals, as well as digital signal into analog signal will bee an important example,this syestem depend on one multichannel data acquisition and monitoring,introduce a programmable logic device in the analogdigital conversion, digitalanalog conversion and data monitoring with handling methods in the design. There are many ways to collect data, such as SCM, CPLD, C language,and so on. But pared 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 reliability, easy to modify, and shorter design cycle characteristics. VHDL hardware description language using the topdown 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 system’s speed, reducing the area of consumption, and lower the power consumption costs. In this paper,we introduce a integrated development environment which based on Altera39。但是這 些控制方法的功能修改及調(diào)試都需要硬件電路的支持,在一定程度上增加了功能修改及系統(tǒng)調(diào)試的困難。系統(tǒng)主要實(shí)現(xiàn)以下功能:首先對(duì) ADC0809 的 某 路通道的數(shù)值 進(jìn)行 AD 轉(zhuǎn)換為十二位的電壓 BCD 碼顯示,再對(duì)此值與十二位預(yù)置電壓進(jìn)行差值運(yùn)算,然后將所得用十二位 BCD 碼顯示的差值 分三段分別轉(zhuǎn)化為數(shù)碼管顯示形式,最后數(shù)碼管循環(huán)顯示輸入電壓、差值、采集個(gè)數(shù)。復(fù)雜課編程邏輯器件已進(jìn)入商業(yè)應(yīng)用,相應(yīng)的輔助設(shè)計(jì)軟件也已投入使用。設(shè)計(jì)者的工作僅限于利用軟件的方式來完成對(duì)系統(tǒng)硬件功能的描述,在 EDA 工具的幫助下,應(yīng)用相應(yīng)的CPLD/FPGA( Complex Programmable Logic Devices/Field Programmable Gate Array)器件,就可以得到最后的設(shè)計(jì)結(jié)果。 ( 2)庫的引入。 ( 7)全方位的利用計(jì)算機(jī)自動(dòng)設(shè)計(jì)、仿真和測(cè)試技術(shù)。在信息技術(shù)高速發(fā)展的今天,對(duì)集成電路提出了高集成度、系統(tǒng)化、微尺寸、微功耗的要求,因此,高密度可編程邏輯器件和 VHDL 便應(yīng)運(yùn)而生 [2]。 VHDL 中設(shè)計(jì)實(shí)體的概念、程序包的概念、設(shè)計(jì)庫的概念為設(shè)計(jì)的分解和并行工作提供了有力的支持。其設(shè)計(jì)速度非常快。 (功能仿真)。在 PLD 設(shè)計(jì)中, 35 步可以用 PLD 廠家提供的開發(fā)軟件(如 Maxplus2)自動(dòng)一次完成。相應(yīng)的系統(tǒng)即為數(shù)據(jù)采集系統(tǒng)( Data Acquisition System,簡(jiǎn)稱 DAS) 。 隨著復(fù)雜可編程 邏輯器件的廣泛應(yīng)用,以 EDA 工具作為開發(fā)手段,運(yùn)用 VHDL 語言來設(shè)計(jì) 將使整個(gè)系統(tǒng)大大簡(jiǎn)化 ,從而 提高整體的性能和可靠性。它在工業(yè)控制、軍事電子設(shè)備醫(yī)學(xué)監(jiān)護(hù)等許多領(lǐng)域發(fā)揮著重要作用。 用 VHDL 語言設(shè)計(jì)數(shù)據(jù)采集系統(tǒng) 第 11 頁 共 38 頁 圖 系統(tǒng)組成框圖 編譯和仿真時(shí) 要選擇合適的芯片,不同的芯片其速度等級(jí)是不一樣的。此信號(hào)的輸入沒有固定的要求,只要足夠高就可以了,通常信號(hào)頻率為 640KHZ、 750KHZ 等。直到 A/ D 轉(zhuǎn)換完成, EOC 變?yōu)楦唠娖?,指?A/ D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號(hào)可用作中斷申請(qǐng)。 ADC0809 的分辨率為 8 位,轉(zhuǎn)換時(shí)間約 100 μ s,含鎖存控制的8 路多路開關(guān),輸出由三態(tài)緩沖器控制,單 5 V 電源供電。從圖中可以看出,二進(jìn)制BCD 碼相加時(shí),由最低位 4位加起,且每 4位相加的結(jié)果超過 10 時(shí)需作進(jìn)位操作。 0809 的轉(zhuǎn)換結(jié)束控制信號(hào) ALE: OUT STD_LOGIC。 SIGNAL CURRENT_STATE, NEXT_STATE: STATES。 BEGIN A/D 轉(zhuǎn)換控制模塊 STATESYSTEM: BLOCK IS BEGIN ADDA=39。 LOCK0=39。039。 WHEN ST2=ALE0=39。 NEXT_STATE=ST3。039。 ELSE NEXT_STATE=ST4。 LOCK0=39。 END IF。039。 OE0=39。039。 CEN=39。 END PROCESS。 在 LOCK1 的上升沿,將轉(zhuǎn)換好的數(shù)據(jù)鎖入 END IF。 將 A/D 轉(zhuǎn)換后數(shù)據(jù)的高 4 位通過查表的方式用 12 位 BCD碼表示 CASE V(7 DOWNTO 4) IS FOR A/D CONVERSION DATA HIGHT BYTE WHEN 1111 =HB=010010000000。 WHEN 0111 =HB=001000100100。 END CASE。 WHEN 1000 =LB=000000010110。 WHEN OTHERS =LB=000000000000。 IF TEMP21001 THEN TEMP2: =TEMP2+0110。 END IF。 IF TEMP31001 THEN TEMP3: =TEMP3+0110。 END PROCESS。 ENTITY SJYSCL IS PORT(CLK: IN STD_LOGIC。 DA IS THE HIGHEST BIT, DC THE LAST ONE SIGNAL DDA, DDB, DDC: STD_LOGIC_VECTOR(3 DOWNTO 0)。 BEGIN WAIT UNTIL CLK=39。 END IF。 TEMPA: =DADDA。 TEMPB: =DBDDB。 TEMPA: =DADDA。 TEMPB: =1010DDB39。 END IF。 用 VHDL 語言設(shè)計(jì)數(shù)據(jù)采集系統(tǒng) 第 24 頁 共 38 頁 ELSE TEMPC: =1010DDC+DC。 TEMPA: =DA39。 ELSE TEMPC: =1010DDC+DC。 ELSIF DB=DDB THEN IF DC=DDC THEN TEMPC: =DCDDC。 TEMPB: =DDBDB。 TEMPA: =DDADA。 END IF。 TEMPA: =DDADA。 TEMPA: =DDA39。 TEMPA: =DDA39。DB+DDB。 END IF。 US