基于VHDL的数据采集系统设计(大学生自作PPT).pptVIP

基于VHDL的数据采集系统设计(大学生自作PPT).ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 基于EDA的数据采集系统设计 主讲: 陈秦德 内容摘要 1 数据采集系统 2 数据采集系统的设计思路 3 数据采集系统各模块设计 4 实物展示 5 小结 1 数据采集系统的功能 8路通道信号输入 循环检测报警模式 数据处理模式 功能一 模式一 模式二 超出预设值 报警 显示超出规定的通道数 未超出预设值 控制单元 功能二 功能三 不变 缩小1/2 放大2倍 信号输出 2 数据采集系统的设计思路 数据采集系统示意图 A/D转换 D/A转换 控制核心 显示 模拟输入 模拟输出 2.1 数据输入单元 ADC0809介绍 ADC0809引脚图 CLOCK:时钟信号输入引脚,通常使用500KHz EOC:转换结束信号,为0代表正在转换,1代表转换结束 D0~D7:数据输出线 START:转换启动信号 ALE:地址锁存允许信号 ADDA~ADDC:地址线用于选择模拟量输入通道 IN0~IN7:8路模拟量输入通道 OE:输出允许信号,低电平允许转换结果输出 Vcc:+5V电压 接线图 此电路图主要实现将八路输入模拟信号转换为数字信号,为数据处理及监控模块提供输入信号。 2.2 数据输出单元 此模块设计所使用的芯片是DAC0832,它的接线图如图所示。图中D0~D7为数字量信号输入通道,运放本身主要实现将信号放大2倍的功能。 2.3 数据处理单元 数据采集系统总体框图 k1=0, =循环检测报警模式 k1=1,=数据采集及处理模式 fun=00,=放大2 倍,fun=01=缩小1/2,fun=10或11,=不处理。 k3选择ADC0809的八路中的一路。 d[7..0]接ADC0809的数据端,q[7..0]接DAC0832的数据端,sel[2..0]接ADC0809的通道选择,seg[6..0]接数码管 CONTROL CH21 DISP 3. 数据采集系统各模块设计 控制模块: Library ieee; Use ieee.std_logic_1164.all; Use ieee.std_logic_unsigned.all; Entity control is Port(d:in std_logic_vector(7 downto 0); Clk,k1:in std_logic; Fun:in std_logic_vector(1 downto 0); Sel:out std_logic_vector(2 downto 0); Q:out std_logic_vector(7 downto 0); Alm:out std_logic); End control; Architecture bhv of control is Begin Process(clk) Variable x:std_logic; Variable cnt:std_logic_vector(2 downto 0); Begin If clk’event and clk=’1’then If k1=’0’then --循环检测模式 If x=’0’then Sel=cnt; --选择通道 Cnt:=cnt+1; x:=’1’; Else If dthen --常数决定电压超过几伏时报警 alm=’1’; --改变常数可改变设置电压 Else alm=’0’; X:=’0’; end if; End if; Else if fun=”00” then --直接将数据送出,因为已经实现了增大到2倍,所以得到的电压为2倍 Q=d; elseif fun=”01 ” --缩小到1/2,通过将七位二进制数右移两位来实现缩小四倍。 then q=’0’’0’d(7 downto 2); else --对数据不做处理 q=’0’d(7 downto 1); End if; End if; End if; End process; End bhv; 控 制 模 块 图 CONTROL 二选一模块: Library ieee; Use ieee.std_logic_1164.all; Entity ch21 is Port(a,b:in std_logic_vector(2 downto 0); S:in std_logic; Q:out std_logic_vector(2 downto 0)); End ch21

文档评论(0)

整理王 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档