数据采集控制系统的设计与分析.ppt

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 数据采集控制系统的设计与分析 8.1 系统设计要求 8.2 系统设计方案 8.3 主要VHDL源程序 8.4 系统仿真/硬件验证 8.5 设计技巧分析 8.6 系统扩展思路 8.1 系统设计要求 数据采集和控制系统是对生产过程或科学实验中各种物理量进行实时采集、测试和反馈控制的闭环系统。它在工业控制、军事电子设备、医学监护等许多领域发挥着重要作用。 本设计要求用一片CPLD/FPGA、模数转换器ADC和数模转换器DAC构成一个数据采集系统,并用CPLD/FPGA实现数据采集中对A/D转换、数据运算、D/A转换以及有关数据显示的控制。系统的组成框图如图8.1所示,其功能如下: (1) 系统按一定速率采集输入电压U1,经ADC0809转换为8位数字量DATA。 (2) 输入数据与通过预置按键输入数据采集控制器内的标准数据相减,求得带极性位的差值±ΔU(数字量);差值之绝对值送至DAC0832转换为ΔU,它和特定的极性判别电路共同输出±ΔU。 (3) 数据采集和处理均在数据采集系统控制器的管理下有序进行。工作速率由时钟信号CLK的速率决定。 8.2 系统设计方案 8.2.1 系统总体设计方案 ? 根据系统设计要求,数据采集系统控制器SJCJKZQ可由四个模块组成:A/D转换控制模块ADZHKZ、数据运算与处理模块SJYSCL、D/A转换控制模块DAZHKZ以及有关键盘输入与数据显示控制模块JPXSKZ,其组成框图及有关接口如图8.2所示。 8.2.2 A/D转换控制模块ADZHKZ的设计 1.ADC0809模数转换的控制 ADC0809是CMOS的8位A/D转换器,片内有8路模拟开关,可控制8个模拟量中的一个进入转换器中。ADC0809的分辨率为8位,转换时间约100 μs,含锁存控制的8路多路开关,输出由三态缓冲器控制,单5 V电源供电。图8.3是ADC0809的管脚及主要控制信号时序图。 对于ADC0809模数转换的控制程序段的VHDL设计,根据ADC0809的A/D转换控制要求,我们可用一个状态机来实现,其状态转换如图8.4所示。 2.转换后数据的BCD码转换处理 表8.1是在ADC0809的基准电压(Vref)为5.12 V时,模拟输入电压与输出电压的对应关系表,其中最小电压准位是5/28=5/256=0.2 V。 这样,当由ADC0809的D[7..0]收到的数据信号即86H)时,则对照表8.1时,高4位1000是2.56 V,而低4位0110是0.12 V,所以最后的电压输出结果是2.56 V+0.12 V=2.68 V。 为了方便后续的电压数据显示,我们应将输出电压表示成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.3 主要VHDL源程序 8.3.1 A/D转换控制模块ADZHKZ的VHDL源程序 --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 STD_LOGIC; --0809的转换结束控制信号 ALE: OUT STD_LOGIC; --0809的通道选择地址锁存信号 START: OUT STD_LOGIC; --08

文档评论(0)

allap + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档