AD转换电路的设计与实现.docVIP

  1. 1、本文档共21页,可阅读全部内容。
  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文档。上传文档
查看更多
AD转换电路的设计与实现

实验五 AD转换电路的设计与实现(4课时) 实验目的 1.学习AD0809模数转换芯片的工作原理和接口电路时序特征。 2.学习点阵显示器的工作原理和驱动方法。 3.掌握利用VHDL语言设计并行总线时序的方法。 4.掌握AD芯片通道切换方法和点阵显示器灵活驱动的设计方法。 实验原理 ADC0809接口电路图 ADC0809芯片工作时序图: 地址输入和控制线共4条,ALE为地址锁存允许输入线,高电平有效,当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换,A,B,C为地址输入线,用于选通IN0-IN7的一路模拟量输入,通道选择表如下表所示: C B A 选择的通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 … … … … 1 1 1 IN7 数字量输出及控制线:11条 START为转换启动信号,当START上升沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,START应保持低电平。EOC为转换结束信号,当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。D7-D0为数字量输出总线。要注意:实验箱电路板上的D0-D7的标注是反的。即D7应该是最低位,D0应该是最高位。REF(-)接GND,REF(+)接VCC5V。 电路改进及相应的简化时序 ADC0809接口的完全控制时序比较复杂,通过增加三个与门后(实验箱上的实际电路,见上图)可以简化接口时序。电路改进后的时序: 4.依据时序图归纳时序状态 状态S0:CS=1,WR=1,RD=0(请求转换) 状态S1:CS=0,WR=0,RD=0(此时0809进行转换,若转换结束,将INT置1) 状态S2:CS=1,WR=0,RD=1(读数据总线值) 状态S3:CS=0,WR=0,RD=0(空闲,等待下一次转换启动) 5.16*16点阵显示器件 列选信号为SEL0-SEL3经4-16译码器后,最右端为第一列;行选信号为L0-L16,最上方为第一行。点阵显示接口对应关系表: Sel3 Sel2 Sel1 Sel0 点亮列号 1 1 1 1 第1列 1 1 1 0 第2列 1 1 0 1 第3列 . . . . . 0 0 0 0 第16列 实验内容与要求 设计一个AD0809模数转换芯片的驱动电路,能将A0通道的模拟电压(0-5V)值以16位光柱对应显示,即电压低时光柱矮,电压高时光柱高。此光柱建议采用点阵显示器的一列(16个LED)。(6) 在上述设计的基础上,扩展显示精度。即采用点阵显示器的256个LED表示5V之内的电压大小(面积表示法)。(3) 改进电路,使之能测量并分别显示AD0809芯片至少4个通道的电压值。建议采用4个光柱(16级)显示(3分)。 相应程序: Library ieee; Use ieee.std_logic_1164.all; Use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; Entity zjf1 is Port (clk,int:in std_logic; data:in std_logic_vector(7 downto 0); CS,WR,RD:out std_logic; DX: out std_logic_vector(15 downto 0)); End entity zjf1; Architecture ADC0809 of zjf1 is Type state is(st0,st1,st2,st3,st4,st5,st6); Signal current_state, next_state: state:=st0; Signal zj:std_logic_vector(7 downto 0); Signal q:std_logic_vector(3 downto 0); Signal lock:std_logic; Begin Process(clk) Begin if(clkevent and clk=1)then current_state=next_state; End if; End process; Process(current_state,int)is Begin Case current_state is when st0 =CS=0;WR=0;RD=0;lock=0;next_state=st1;--chu shi tai when st1 =CS=1;WR=1;RD=0;lock=0;next_state=s

文档评论(0)

aicencen + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档