第8章 数据采集控制系统的设计

上传人:飞*** 文档编号:51386753 上传时间:2018-08-13 格式:PPT 页数:74 大小:885.50KB
返回 下载 相关 举报
第8章  数据采集控制系统的设计_第1页
第1页 / 共74页
第8章  数据采集控制系统的设计_第2页
第2页 / 共74页
第8章  数据采集控制系统的设计_第3页
第3页 / 共74页
第8章  数据采集控制系统的设计_第4页
第4页 / 共74页
第8章  数据采集控制系统的设计_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《第8章 数据采集控制系统的设计》由会员分享,可在线阅读,更多相关《第8章 数据采集控制系统的设计(74页珍藏版)》请在金锄头文库上搜索。

1、第8章 数据采集控制系统的设计与分析 第8章 数据采集控制系统的设计与分析 8.1 系统设计要求8.2 系统设计方案 8.3 主要VHDL源程序 8.4 系统仿真/硬件验证 8.5 设计技巧分析8.6 系统扩展思路 第8章 数据采集控制系统的设计与分析 8.1 系统设计要求 数据采集和控制系统是对生产过程或科学实验中各种物理量进行实时采集、测试和反馈控制的闭环系统。它在工业控制、军事电子设备、医学监护等许多领域发挥着重要作用。第8章 数据采集控制系统的设计与分析 本设计要求用一片CPLD/FPGA、模数转换器ADC和数模转换器DAC构成一个数据采集系统,并用CPLD/FPGA实现数据采集中对A

2、/D转换、数据运算、D/A转换以及有关数据显示的控制。系统的组成框图如图8.1所示,其功能如下:(1) 系统按一定速率采集输入电压U1,经ADC0809转换为8位数字量DATA。第8章 数据采集控制系统的设计与分析 (2) 输入数据与通过预置按键输入数据采集控制器内的标准数据相减,求得带极性位的差值U(数字量);差值之绝对值送至DAC0832转换为U,它和特定的极性判别电路共同输出U。(3) 数据采集和处理均在数据采集系统控制器的管理下有序进行。工作速率由时钟信号CLK的速率决定。第8章 数据采集控制系统的设计与分析 图8.1 数据采集系统组成框图 第8章 数据采集控制系统的设计与分析 8.2

3、 系统设计方案 8.2.1 系统总体设计方案根据系统设计要求,数据采集系统控制器SJCJKZQ可由四个模块组成:A/D转换控制模块ADZHKZ、数据运算与处理模块SJYSCL、D/A转换控制模块DAZHKZ以及有关键盘输入与数据显示控制模块JPXSKZ,其组成框图及有关接口如图8.2所示。第8章 数据采集控制系统的设计与分析 图8.2 数据采集系统总体组成原理图 第8章 数据采集控制系统的设计与分析 8.2.2 A/D转换控制模块ADZHKZ的设计1ADC0809模数转换的控制ADC0809是CMOS的8位A/D转换器,片内有8路模拟开关,可控制8个模拟量中的一个进入转换器中。ADC0809的

4、分辨率为8位,转换时间约100 s,含锁存控制的8路多路开关,输出由三态缓冲器控制,单5 V电源供电。图8.3是ADC0809的管脚及主要控制信号时序图。 第8章 数据采集控制系统的设计与分析 图8.3 ADC0809的管脚及主要控制信号时序图 第8章 数据采集控制系统的设计与分析 对于ADC0809模数转换的控制程序段的VHDL设计,根据ADC0809的A/D转换控制要求,我们可用一个状态机来实现,其状态转换如图8.4所示。 第8章 数据采集控制系统的设计与分析 图8.4 ADC0809工作时的状态转换图 第8章 数据采集控制系统的设计与分析 2转换后数据的BCD码转换处理表8.1是在ADC

5、0809的基准电压(Vref)为5.12 V时,模拟输入电压与输出电压的对应关系表,其中最小电 压准位是5/28=5/256=0.2 V。这样,当由ADC0809的D70收到的数据信号是10000110(即86H)时,则对照表8.1时,高4位1000是2.56 V,而低4位0110是0.12 V,所以最后的电压输出结果是2.56 V+0.12 V=2.68 V。第8章 数据采集控制系统的设计与分析 表8.1 ADC0809模拟输入电压与输出电压的对应关系 第8章 数据采集控制系统的设计与分析 图8.5 BCD加法示意图第8章 数据采集控制系统的设计与分析 为了方便后续的电压数据显示,我们应将输

6、出电压表示成12位的BCD码形式。如上述的2.56 V是0010 0101 0110,0.12 V是0000 0001 0010,所以相加的结果2.68 V是0010 0110 1000,因此必须设计一个12位的BCD码加法程序。图8.5是2.56+0.18=2.74的二进制的BCD加法示意图。从图中可以看出,二进制BCD码相加时,由最低位4位加起,且每4位相加的结果超过10时需作进位操作。第8章 数据采集控制系统的设计与分析 8.3 主要VHDL源程序8.3.1 A/D转换控制模块ADZHKZ的VHDL源程序-ADZHKZ.VHDLIBRARY IEEE; USE IEEE.STD_LOGI

7、C_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ADZHKZ ISPORT(D: IN STD_LOGIC_VECTOR(7 DOWNTO 0); -0809的8位转换数据输出第8章 数据采集控制系统的设计与分析 RST: IN STD_LOGIC; -复位信号CLK: IN STD_LOGIC; -转换工作时钟信号EOC: IN STD_LOGIC; -0809的转换结束控制信号ALE: OUT STD_LOGIC; -0809的通道选择地址锁存信号START: OUT STD_LOGIC; -0809的转换启动控制信号OE: OUT

8、STD_LOGIC; -0809的输出使能控制信号ADDA: OUT STD_LOGIC; -0809的通道选择控制信号BCDOUT: OUT STD_LOGIC_VECTOR(11 DOWNTO 0); -来自0809的数据经BCD转换后的输出); 第8章 数据采集控制系统的设计与分析 END ENTITY ADZHKZ; ARCHITECTURE ART OF ADZHKZ ISTYPE STATES IS (ST0,ST1,ST2,ST3,ST4,ST5,ST6); SIGNAL CURRENT_STATE,NEXT_STATE: STATES; SIGNAL REGL: STD_LOG

9、IC_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; BEGIN第8章 数据采集控制系统的设计与分析 -A/D转换控制模块STATESYSTEM: BLOCK ISBEGINADDAALE0ALE0ALE0ALE0ALE0ALE0ALE

10、0ALE0HBHBHBHBHBHBHBHBHBHBHBHBHBHBHBHBLBLBLBLBLBLBLBLBLBLBLBLBLBLBLBLB“1001“ THENTEMP1: =TEMP1+“0110“; TEMP2: =HB(7 DOWNTO 4)+LB(7 DOWNTO 4)+1; IF TEMP2“1001“ THEN第8章 数据采集控制系统的设计与分析 TEMP2: =TEMP2+“0110“; TEMP3: =HB(11 DOWNTO 8)+LB(11 DOWNTO 8)+1; IF TEMP3“1001“ THENTEMP3: =TEMP3+“0110“; END IF; ELSET

11、EMP3: =HB(11 DOWNTO 8)+LB(11 DOWNTO 8); IF TEMP3“1001“ THENTEMP3: =TEMP3+“0110“; END IF; END IF; ELSE第8章 数据采集控制系统的设计与分析 TEMP2: =HB(7 DOWNTO 4)+LB(7 DOWNTO 4); IF TEMP2“1001“ THENTEMP2: =TEMP2+“0110“; TEMP3: =HB(11 DOWNTO 8)+LB(11 DOWNTO 8)+1; IF TEMP3“1001“ THENTEMP3: =TEMP3+“0110“; END IF; ELSETEMP

12、3: =HB(11 DOWNTO 8)+LB(11 DOWNTO 8); IF TEMP3“1001“ THENTEMP3: =TEMP3+“0110“; 第8章 数据采集控制系统的设计与分析 END IF; END IF; END IF; END IF; VALUEDDA THENIF DBDDB THENIF DC=DDC THEN第8章 数据采集控制系统的设计与分析 TEMPC: =DC-DDC; TEMPB: =DB-DDB; TEMPA: =DA-DDA; ELSETEMPC: =“1010“-DDC+DC; IF TEMPC“1001“ THENTEMPC: =TEMPC+“011

13、0“; END IF; TEMPB: =DB-1-DDB; TEMPA: =DA-DDA; END IF; 第8章 数据采集控制系统的设计与分析 ELSIF DB=DDB THENIF DC=DDC THENTEMPC: =DC-DDC; TEMPB: =DB-DDB; TEMPA: =DA-DDA; ELSETEMPC: =“1010“-DDC+DC; IF TEMPC“1001“ THENTEMPC: =TEMPC+“0110“ ; END IF; TEMPB: =“1010“-DDB-1+DB; IF TEMPB“1001“ THEN第8章 数据采集控制系统的设计与分析 TEMPB: =

14、TEMPB+“0110“; END IF; TEMPA: =DA-1-DDA; END IF; ELSEIF DC=DDC THENTEMPC: =DC-DDC; TEMPB: =“1010“-DDB+DB; IF TEMPB“1001“ THENTEMPB: =TEMPB+“0110“; END IF; TEMPA: =DA-1-DDA; ELSE第8章 数据采集控制系统的设计与分析 TEMPC: =“1010“-DDC+DC; IF TEMPC“1001“ THENTEMPC: =TEMPC+“0110“; END IF; TEMPB: =“1010“-1-DDB+DB; IF TEMPB

15、“1001“ THENTEMPB: =TEMPB+“0110“; END IF; TEMPA: =DA-1-DDA; END IF; END IF; ELSIF DA=DDA THEN第8章 数据采集控制系统的设计与分析 IF DBDDB THENIF DC=DDC THENTEMPC: =DC-DDC; TEMPB: =DB-DDB; TEMPA: =DA-DDA; ELSETEMPC: =“1010“-DDC+DC; IF TEMPC“1001“ THENTEMPC: =TEMPC+“0110“; END IF; TEMPB: =DB-1-DDB; TEMPA: =DA-DDA; 第8章

16、数据采集控制系统的设计与分析 END IF; ELSIF DB=DDB THENIF DC=DDC THENTEMPC: =DC-DDC; TEMPB: =DB-DDB; TEMPA: =DA-DDA; ELSETEMPC: =DDC-DC; TEMPB: =DDB-DB; TEMPA: =DDA-DA; END IF; ELSE第8章 数据采集控制系统的设计与分析 IF DDC=DC THENTEMPC: =DDC-DC; TEMPB: =DDB-DB; TEMPA: =DDA-DA; ELSETEMPC: =“1010“-DC+DDC; IF TEMPC“1001“ THENTEMPC: =TEMPC+“0110“; END IF; TEMPB: =DDB-1-DB; TEMPA: =DDA-DA; END IF; 第8章

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号