第8章數(shù)據(jù)采集控制系統(tǒng)的設(shè)計_第1頁
第8章數(shù)據(jù)采集控制系統(tǒng)的設(shè)計_第2頁
第8章數(shù)據(jù)采集控制系統(tǒng)的設(shè)計_第3頁
第8章數(shù)據(jù)采集控制系統(tǒng)的設(shè)計_第4頁
第8章數(shù)據(jù)采集控制系統(tǒng)的設(shè)計_第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 第第8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 8.1 系統(tǒng)設(shè)計要求系統(tǒng)設(shè)計要求8.2 系統(tǒng)設(shè)計方案系統(tǒng)設(shè)計方案 8.3 主要主要VHDL源程序源程序 8.4 系統(tǒng)仿真系統(tǒng)仿真/硬件驗證硬件驗證 8.5 設(shè)計技巧分析設(shè)計技巧分析8.6 系統(tǒng)擴展思路系統(tǒng)擴展思路 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 8.1 系統(tǒng)設(shè)計要求系統(tǒng)設(shè)計要求 數(shù)據(jù)采集和控制系統(tǒng)是對生產(chǎn)過程或科學實驗中各種物理量進行實時采集、測試和反饋控制的閉環(huán)系統(tǒng)。它在工業(yè)控制、軍事電子設(shè)備、醫(yī)學監(jiān)護等許多

2、領(lǐng)域發(fā)揮著重要作用。第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 本設(shè)計要求用一片CPLD/FPGA、模數(shù)轉(zhuǎn)換器ADC和數(shù)模轉(zhuǎn)換器DAC構(gòu)成一個數(shù)據(jù)采集系統(tǒng),并用CPLD/FPGA實現(xiàn)數(shù)據(jù)采集中對A/D轉(zhuǎn)換、數(shù)據(jù)運算、D/A轉(zhuǎn)換以及有關(guān)數(shù)據(jù)顯示的控制。系統(tǒng)的組成框圖如圖8.1所示,其功能如下: (1) 系統(tǒng)按一定速率采集輸入電壓U1,經(jīng)ADC0809轉(zhuǎn)換為8位數(shù)字量DATA。 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 (2) 輸入數(shù)據(jù)與通過預(yù)置按鍵輸入數(shù)據(jù)采集控制器內(nèi)的標準數(shù)據(jù)相減,求得帶極性位的差值U(數(shù)字量);差值之絕對值送至DA

3、C0832轉(zhuǎn)換為U,它和特定的極性判別電路共同輸出U。 (3) 數(shù)據(jù)采集和處理均在數(shù)據(jù)采集系統(tǒng)控制器的管理下有序進行。工作速率由時鐘信號CLK的速率決定。第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 圖8.1 數(shù)據(jù)采集系統(tǒng)組成框圖 CPLD/FPGA數(shù)據(jù)采集控制器DAC0832ADC0809U1DATAEOCSTART開關(guān)和控制鍵8.88電壓數(shù)據(jù)BCD碼顯示DOUTFUCEALEADDACLK第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 8.2 系統(tǒng)設(shè)計方案系統(tǒng)設(shè)計方案 8.2.1 系統(tǒng)總體設(shè)計方案 根據(jù)系統(tǒng)設(shè)計要求,數(shù)據(jù)采集系統(tǒng)控制器S

4、JCJKZQ可由四個模塊組成:A/D轉(zhuǎn)換控制模塊ADZHKZ、數(shù)據(jù)運算與處理模塊SJYSCL、D/A轉(zhuǎn)換控制模塊DAZHKZ以及有關(guān)鍵盤輸入與數(shù)據(jù)顯示控制模塊JPXSKZ,其組成框圖及有關(guān)接口如圖8.2所示。第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 圖8.2 數(shù)據(jù)采集系統(tǒng)總體組成原理圖 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 8.2.2 A/D轉(zhuǎn)換控制模塊ADZHKZ的設(shè)計 1ADC0809模數(shù)轉(zhuǎn)換的控制 ADC0809是CMOS的8位A/D轉(zhuǎn)換器,片內(nèi)有8路模擬開關(guān),可控制8個模擬量中的一個進入轉(zhuǎn)換器中。ADC0809的分辨率

5、為8位,轉(zhuǎn)換時間約100 s,含鎖存控制的8路多路開關(guān),輸出由三態(tài)緩沖器控制,單5 V電源供電。圖8.3是ADC0809的管腳及主要控制信號時序圖。 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 圖8.3 ADC0809的管腳及主要控制信號時序圖 IN2IN1IN0ADDAADDBADDCALED0D1D2D3D7REFD5IN3IN4IN5IN6IN7STARTEOCD4OECLKVCCREFGNDD6ADC0809DATA轉(zhuǎn)換結(jié)束ZZZZZZZZSTARTALEEOCOED7.0第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 對于ADC

6、0809模數(shù)轉(zhuǎn)換的控制程序段的VHDL設(shè)計,根據(jù)ADC0809的A/D轉(zhuǎn)換控制要求,我們可用一個狀態(tài)機來實現(xiàn),其狀態(tài)轉(zhuǎn)換如圖8.4所示。 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 圖8.4 ADC0809工作時的狀態(tài)轉(zhuǎn)換圖 ALE=0 START=0OE=0 LOCK=0CEN=0ALE=0 START=0OE=1 LOCK=1CEN=0EOC=0EOC=1ST0ST6ST5ST4ST1ST2ST3ALE=0 START=0OE=1 LOCK=0CEN=1ALE=0 START=0OE=0 LOCK=0CEN=0ALE=1 START=0OE=0 LOCK=0C

7、EN=0ALE=0 START=1OE=0 LOCK=0CEN=0ALE=0 START=0OE=0 LOCK=0CEN=0第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 2轉(zhuǎn)換后數(shù)據(jù)的BCD碼轉(zhuǎn)換處理 表8.1是在ADC0809的基準電壓(Vref)為5.12 V時,模擬輸入電壓與輸出電壓的對應(yīng)關(guān)系表,其中最小電壓準位是5/28=5/256=0.2 V。 這樣,當由ADC0809的D7.0收到的數(shù)據(jù)信號是10000110(即86H)時,則對照表8.1時,高4位1000是2.56 V,而低4位0110是0.12 V,所以最后的電壓輸出結(jié)果是2.56 V+0.12 V=

8、2.68 V。第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 表8.1 ADC0809模擬輸入電壓與輸出電壓的對應(yīng)關(guān)系 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 圖8.5 BCD加法示意圖1010100010010000001101000011100100100進位第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 為了方便后續(xù)的電壓數(shù)據(jù)顯示,我們應(yīng)將輸出電壓表示成12位的BCD碼形式。如上述的2.56 V是0010 0101 0110,0.12 V是0000 0001 0010,所以相加的結(jié)果2.68 V是001

9、0 0110 1000,因此必須設(shè)計一個12位的BCD碼加法程序。 圖8.5是2.56+0.18=2.74的二進制的BCD加法示意圖。從圖中可以看出,二進制BCD碼相加時,由最低位4位加起,且每4位相加的結(jié)果超過10時需作進位操作。第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 8.3 主要主要VHDL源程序源程序8.3.1 A/D轉(zhuǎn)換控制模塊ADZHKZ的VHDL源程序 -ADZHKZ.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ADZH

10、KZ IS PORT(D: IN STD_LOGIC_VECTOR(7 DOWNTO 0); -0809的8位轉(zhuǎn)換數(shù)據(jù)輸出第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 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:

11、OUT STD_LOGIC; -0809的通道選擇控制信號 BCDOUT: OUT STD_LOGIC_VECTOR(11 DOWNTO 0); -來自0809的數(shù)據(jù)經(jīng)BCD轉(zhuǎn)換后的輸出 ); 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 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(

12、7 DOWNTO 0); SIGNAL LOCK0,LOCK1: STD_LOGIC; -轉(zhuǎn)換后數(shù)據(jù)輸出鎖存時鐘信號 SIGNAL VALUE: STD_LOGIC_VECTOR(11 DOWNTO 0); SIGNAL CEN: STD_LOGIC; SIGNAL ALE0: STD_LOGIC; SIGNAL START0: STD_LOGIC; SIGNAL OE0: STD_LOGIC; BEGIN第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 -A/D轉(zhuǎn)換控制模塊 STATESYSTEM: BLOCK IS BEGIN ADDAALE0=0; START0=

13、0; OE0=0; LOCK0=0; NEXT_STATE=ST1; CENALE0=1; START0=0; OE0=0; LOCK0=0; 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 NEXT_STATE=ST2; CENALE0=0; START0=1; OE0=0; LOCK0=0; NEXT_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=

14、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; 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 NEXT_STATE=ST6; CENALE0=0; START0=0; OE0=1; LOCK0=1; NEXT_STATE=ST0; CENALE0=0; START0=0; OE0=0; LOCK0=0; NEXT_STATE=ST0; CEN=0; END CASE; END PR

15、OCESS; 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 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) IS第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 BEGIN IF RISING_EDGE(CLK) THEN ALE=ALE0; S

16、TART=START0; OE=OE0; LOCK1=LOCK0; END IF; END PROCESS; -數(shù)據(jù)鎖存進程 PROCESS(LOCK1) IS BEGIN IF RISING_EDGE(LOCK1) THEN REGL=D; -在LOCK1的上升沿,將轉(zhuǎn)換好的數(shù)據(jù)鎖入第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 END IF; END PROCESS; END BLOCK STATESYSTEM; -A/D轉(zhuǎn)換數(shù)據(jù)的BCD碼轉(zhuǎn)換模塊 CONVERSION: BLOCK IS SIGNAL V: STD_LOGIC_VECTOR(7 DOWNTO 0

17、); 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); 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 BEGIN PROCESS(REGL) IS BEGIN VHBHBHBHBHBHBHBHBHBHBHBHBHBHBHBHBLBLBLBLBLBLBLBLBLBLBLBLBLBLBLBLB1001 THEN TEMP1: =TEMP1+0110; TEM

18、P2: =HB(7 DOWNTO 4)+LB(7 DOWNTO 4)+1; IF TEMP21001 THEN第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 TEMP2: =TEMP2+0110; TEMP3: =HB(11 DOWNTO 8)+LB(11 DOWNTO 8)+1; IF TEMP31001 THEN TEMP3: =TEMP3+0110; END IF; ELSE TEMP3: =HB(11 DOWNTO 8)+LB(11 DOWNTO 8); IF TEMP31001 THEN TEMP3: =TEMP3+0110; END IF; END IF;

19、 ELSE第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 TEMP2: =HB(7 DOWNTO 4)+LB(7 DOWNTO 4); IF TEMP21001 THEN TEMP2: =TEMP2+0110; TEMP3: =HB(11 DOWNTO 8)+LB(11 DOWNTO 8)+1; IF TEMP31001 THEN TEMP3: =TEMP3+0110; END IF; ELSE TEMP3: =HB(11 DOWNTO 8)+LB(11 DOWNTO 8); IF TEMP31001 THEN TEMP3: =TEMP3+0110; 第第8 8章章

20、數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 END IF; END IF; END IF; END IF; VALUE=TEMP3&TEMP2&TEMP1; END PROCESS; -將經(jīng)過BCD碼轉(zhuǎn)換處理后的數(shù)據(jù)輸出 BCDOUT=VALUE; END BLOCK CONVERSION; END ARCHITECTURE ART; 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 8.3.2 數(shù)據(jù)運算與處理模塊SJYSCL的VHDL源程序 -SJYSCL.VHDLIBRARY IEEE; USE IEEE.STD_LOGIC_1164.

21、ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY SJYSCL IS PORT(CLK: IN STD_LOGIC; DABC: IN STD_LOGIC_VECTOR(11 DOWNTO 0); DTA: IN STD_LOGIC_VECTOR(3 DOWNTO 0); DTB: IN STD_LOGIC_VECTOR(3 DOWNTO 0); 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 DTC: IN STD_LOGIC_VECTOR(3 DOWNTO 0); QABC: OUT STD_LOGIC_VECTOR(11

22、DOWNTO 0); END ENTITY SJYSCL; ARCHITECTURE ART OF SJYSCL IS SIGNAL DA,DB,DC: STD_LOGIC_VECTOR(3 DOWNTO 0); -DA IS THE HIGHEST BIT,DC THE LAST ONE SIGNAL DDA,DDB,DDC: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN DA=DABC(11 DOWNTO 8); DB=DABC(7 DOWNTO 4); 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 DC=DABC(3 DOWNTO 0

23、); DDA=DTA(3 DOWNTO 0); DDB=DTB(3 DOWNTO 0); DDCDDA THEN IF DBDDB THEN IF DC=DDC THEN第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 TEMPC: =DC-DDC; TEMPB: =DB-DDB; TEMPA: =DA-DDA; ELSE TEMPC: =1010-DDC+DC; IF TEMPC1001 THEN TEMPC: =TEMPC+0110; END IF; TEMPB: =DB-1-DDB; TEMPA: =DA-DDA; END IF; 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)

24、的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 ELSIF DB=DDB THEN IF DC=DDC THEN TEMPC: =DC-DDC; TEMPB: =DB-DDB; TEMPA: =DA-DDA; ELSE TEMPC: =1010-DDC+DC; IF TEMPC1001 THEN TEMPC: =TEMPC+0110 ; END IF; TEMPB: =1010-DDB-1+DB; IF TEMPB1001 THEN第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 TEMPB: =TEMPB+0110; END IF; TEMPA: =DA-1-DDA; EN

25、D IF; ELSE IF DC=DDC THEN TEMPC: =DC-DDC; TEMPB: =1010-DDB+DB; IF TEMPB1001 THEN TEMPB: =TEMPB+0110; END IF; TEMPA: =DA-1-DDA; ELSE第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 TEMPC: =1010-DDC+DC; IF TEMPC1001 THEN TEMPC: =TEMPC+0110; END IF; TEMPB: =1010-1-DDB+DB; IF TEMPB1001 THEN TEMPB: =TEMPB+0110; END

26、IF; TEMPA: =DA-1-DDA; END IF; END IF; ELSIF DA=DDA THEN第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 IF DBDDB THEN IF DC=DDC THEN TEMPC: =DC-DDC; TEMPB: =DB-DDB; TEMPA: =DA-DDA; ELSE TEMPC: =1010-DDC+DC; IF TEMPC1001 THEN TEMPC: =TEMPC+0110; END IF; TEMPB: =DB-1-DDB; TEMPA: =DA-DDA; 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制

27、系統(tǒng)的設(shè)計與分析與分析 END IF; ELSIF DB=DDB THEN IF DC=DDC THEN TEMPC: =DC-DDC; TEMPB: =DB-DDB; TEMPA: =DA-DDA; ELSE TEMPC: =DDC-DC; TEMPB: =DDB-DB; TEMPA: =DDA-DA; END IF; ELSE第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 IF DDC=DC THEN TEMPC: =DDC-DC; TEMPB: =DDB-DB; TEMPA: =DDA-DA; ELSE TEMPC: =1010-DC+DDC; IF TEMPC

28、1001 THEN TEMPC: =TEMPC+0110; END IF; TEMPB: =DDB-1-DB; TEMPA: =DDA-DA; END IF; 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 END IF; ELSE IF DDBDB THEN IF DDC=DC THEN TEMPC: =DDC-DC; TEMPB: =DDB-DB; TEMPA: =DDA-DA; ELSE TEMPC: =1010-DC+DDC; IF TEMPC1001 THEN TEMPC: =TEMPC+0110; END IF; 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)

29、采集控制系統(tǒng)的設(shè)計與分析與分析 TEMPB: =DDB-1-DB; TEMPA: =DDA-DA; END IF; ELSIF DDB=DB THEN IF DDC=DC THEN TEMPC: =DDC-DC; TEMPB: =DDB-DB; TEMPA: =DDA-DA; ELSE TEMPC: =1010-DC+DDC; IF TEMPC1001 THEN TEMPC: =TEMPC+0110; END IF; TEMPB: =1010-1-DB+DDB; 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 IF TEMPB1001 THEN TEMPB: =TEM

30、PB+0110; END IF; TEMPA: =DDA-1-DA; END IF; ELSE IF DDC=DC THEN TEMPC: =DDC-DC; TEMPB: =1010-DC+DDC; IF TEMPB1001 THEN TEMPB: =TEMPB+0110; END IF; TEMPA: =DDA-1-DA; 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 ELSE TEMPC: =1010-DC+DDC; IF TEMPC1001 THEN TEMPC: =TEMPC+0110; END IF; TEMPB: =1010-1-DB+DDB; IF T

31、EMPB1001 THEN TEMPB: =TEMPB+0110; END IF; TEMPA: =DDA-1-DA; END IF; END IF; 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 END IF; QABC(11 DOWNTO 8)=TEMPA; QABC(7 DOWNTO 4)=TEMPB; QABC(3 DOWNTO 0)=TEMPC; END PROCESS; END ARCHITECTURE ART; 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 8.3.3 D/A轉(zhuǎn)換控制模塊DAZHKZ的VHDL源程序-DAZH

32、KZ.VHDLIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DAZHKZ IS PORT(DATA_IN: IN STD_LOGIC_VECTOR(11 DOWNTO 0); CLK: IN STD_LOGIC; KK: IN STD_LOGIC; RST: IN STD_LOGIC; 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 DATA_OUT: OUT STD_LOGIC_VECTOR

33、(7 DOWNTO 0); END ENTITY DAZHKZ; ARCHITECTURE ART OF DAZHKZ IS SIGNAL TEMPG: INTEGER RANGE 0 TO 9; -BCDG SIGNAL TEMPS: INTEGER RANGE 0 TO 9; -BCDS SIGNAL TEMPB: INTEGER RANGE 0 TO 9; -BCDB SIGNAL TEMP: INTEGER RANGE 0 TO 255; SIGNAL DATA: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系

34、統(tǒng)的設(shè)計與分析與分析 TEMPG=CONV_INTEGER(DATA_IN(3 DOWNTO 0); TEMPS=CONV_INTEGER(DATA_IN(7 DOWNTO 4); TEMPB=CONV_INTEGER(DATA_IN(11 DOWNTO 8); TEMP=TEMPB*100+TEMPS*10+TEMPG; PROCESS(KK,TEMP,CLK) IS BEGIN IF RST=1 THEN DATA0); ELSIF RISING_EDGE(CLK) THEN第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 DATA=CONV_STD_LOGIC_V

35、ECTOR(TEMP,8); IF KK=1 THEN DATA_OUT=DATA; ELSE NULL; END IF; END IF; END PROCESS; END ARCHITECTURE ART; 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 8.3.4 鍵盤輸入與數(shù)據(jù)顯示控制模塊JPXSKZ的VHDL源程序-JPXSKZ.VHDLIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY JPXSKZ IS PORT(BCDOUT: IN STD_L

36、OGIC_VECTOR(11 DOWNTO 0); KEYC: IN STD_LOGIC; KEY: IN STD_LOGIC; QA: IN STD_LOGIC_VECTOR(11 DOWNTO 0); 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 DATAOUT: OUT STD_LOGIC_VECTOR(11 DOWNTO 0); END ENTITY JPXSKZ; ARCHITECTURE ART OF JPXSKZ IS SIGNAL STATE: STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL QQA: STD_LOGIC_V

37、ECTOR(11 DOWNTO 0); BEGIN CHOSEKEY: PROCESS(KEYC) IS VARIABLE TEMP: STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 IF RISING_EDGE(KEYC) THEN IF TEMP=10 THEN TEMP: =00; ELSE TEMP: =TEMP+1; END IF; END IF; STATEDATAOUTDATAOUTDATAOUTNULL; END CASE; END PROCESS CHOSEDISPLAY; KEY

38、BOARD: PROCESS(KEY,STATE) IS VARIABLE TEMPA,TEMPB,TEMPC: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN WAIT UNTIL KEY=1; IF STATE=00 THEN第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 IF TEMPA=1001 THEN TEMPA: =0000; TEMPB: =TEMPB+1; IF TEMPB=1001 THEN TEMPB: =0000; TEMPC: =TEMPC+1; IF TEMPC=1001 THEN TEMPC: =0000; END

39、 IF; END IF; ELSE TEMPA: =TEMPA+1; 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 END IF; ELSE NULL; END IF; QQA(11 DOWNTO 8)=TEMPC; QQA(7 DOWNTO 4)=TEMPB; QQA(3 DOWNTO 0)=TEMPA; END PROCESS KEYBOARD; END ARCHITECTURE ART; 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 8.3.5 系統(tǒng)總體組裝的VHDL源程序 系統(tǒng)總體組裝的VHDL源程序,請讀者根據(jù)圖8.2數(shù)據(jù)采集系

40、統(tǒng)總體組成原理圖自行完成。第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 8.4 系統(tǒng)仿真系統(tǒng)仿真/硬件驗證硬件驗證 8.4.1 系統(tǒng)的有關(guān)仿真 圖8.6圖8.10是系統(tǒng)中有關(guān)模塊的仿真,請讀者結(jié)合有關(guān)程序進行仿真結(jié)果的分析。經(jīng)分析上述的有關(guān)仿真結(jié)果,可知對應(yīng)模塊的VHDL程序設(shè)計是正確的。第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 圖8.6 ADZHKZ的仿真結(jié)果圖(未加去毛刺進程前) 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 圖8.7 ADZHKZ的仿真結(jié)果圖(加了去毛刺進程后) 第第8 8章章 數(shù)據(jù)采

41、集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 圖8.8 SJYSCL的仿真結(jié)果圖 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 圖8.9 DAZHKZ的仿真結(jié)果圖 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 圖8.10 JPXSKZ的仿真結(jié)果圖 第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 8.4.2 系統(tǒng)的硬件驗證 請讀者根據(jù)自己所擁有的EDA實驗開發(fā)系統(tǒng)自行完成。第第8 8章章 數(shù)據(jù)采集控制系統(tǒng)的設(shè)計數(shù)據(jù)采集控制系統(tǒng)的設(shè)計與分析與分析 8.5 設(shè)計技巧分析設(shè)計技巧分析 (1) 對于ADC0809模數(shù)轉(zhuǎn)換的控制程序段的VHDL設(shè)計,可根據(jù)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論