欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于EDA的数字电压表设计课件.ppt

    • 资源ID:78974730       资源大小:417.50KB        全文页数:25页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于EDA的数字电压表设计课件.ppt

    基于EDA的数字电压表设计实验要求 FPGA连接A/D转换硬件电路,将ADC单元中提供的0V5V信号源作为ADC0809的模拟输入量,通过IN0进行A/D转换,转换结果在数码上进行显示。通过调节电位器使数码管显示实时采集电压值。实验设计思路数字电压表设计核心:FPGA设计,FPGA负责ADC0809的启动以及转换数据的读取,再将读取的8位二进制数据进行变换,形成便于输出的3位LED段码送给LED数码管,显示被测电压值。FPGA的设计主要包括几个部分:ADC0809转换控制模块实现ADC0809的启动以及转换数据的读取;数据处理模块实现ADC0809 4位数字量对应BCD码的变换和处理;显示控制模块实现LED段码译码输出。ADC0809与FPGA接口电路 nADC0809是CMOS的8位A/D转换器,片内有8路模拟开关,可控制8个模拟量中的一个进入转换器中。nADC0809的精度是8位,转换时间约为100s,含锁存控制的8路开关,输出有三态缓冲控制,单5V电源供电。FPGA与ADC0809接口电路原理图 ADC0809与FPGA接口电路设计nIO_B13、B4、B12、B7、B14、B15、B16、B17接收ADC0809 8位数数据;nIO_B10接收ADC0809 转换结束信号EOC;nIO_B21、B20、B19为ADC0809提供8路模拟信号开关的3位地址选通信号(ADD-AC);nIO_B18为ADC0809提供地址锁存控制信号ALE:高电平时把三个地址信号送入地址锁存器,并经译码器得到地址输出,以选择相应的模拟输入通道;接下页nIO_B6为ADC0809提供输出允许控制信号ENABLE:电平由低变高时,打开输出锁存器,将转换结果的数字量送到数据总线上;nIO_B11为ADC0809提供启动控制信号START:一个正脉冲过后A/D开始转换;nIO_B5为ADC0809提供时钟信号信号CLOCK;nIN0IN7:8路模拟信号输入端口;nVref+和Vref-:参考电压输入端口;ADC0809 VHDL采样控制程序设计ADC0809的工作时序图 nSTART是转换启动信号,一个正脉冲过后A/D开始转换;ALE是3位通道选择地址(ADDC、ADDB、ADDA)信号锁存信号。n当模拟量送至某一输入端(如IN-0或IN-1)等,由3位地址信号选择,而地址信号由ALE锁存。nEOC是转换情况状态信号,当启动转换约100s后,EOC产生一个负脉冲,以示转换结束。n在EOC的上升沿后,且输出使能信号ENABLE为高电平,则控制打开三态缓冲器,把转换好的8位数据送至数据总线。n至此ADC0809的一次转换结束 ADC0809采样控制状态图 FPGA器件可以根据其采样时序用状态机来描述采样控制过程,其状态转换关系 如左图所示。ADC0809 VHDL采样控制程序 ADC0809采样控制程序电路符号 程序的端口信号与中间信号nentity ADC0809 isn port(d :in std_logic_vector(7 downto 0);-ADC0809输出的采样数据n clk,eoc :in std_logic;-clk为系统时钟,eoc为ADC0809转换结束信号nclk1,start,ale,en:out std_logic;-ADC0809控制信号n abc_in :in std_logic_vector(2 downto 0);-模拟选通信号nabc_out :out std_logic_vector(2 downto 0);-ADC0809模拟信号选通信号n q :out std_logic_vector(7 downto 0);-送至8个并排数码管信号nend ADC0809;narchitecture behav of ADC0809 is ntype states is(st0,st1,st2,st3,st4,st5,st6);-定义各状态的子类型nsignal current_state,next_state:states:=st0;nsignal regl:std_logic_vector(7 downto 0);-中间数据寄存信号nsignal qq:std_logic_vector(7 downto 0);nbegin状态转换模块(com)ncase current_state isn when st0=next_state=st1;ale=0;start=0;ennext_state=st2;ale=1;start=0;ennext_state=st3;ale=0;start=1;en ale=0;start=0;en=0;if eoc=1 then next_state=st3;-检测EOC的下降沿 else next_state ale=0;start=0;en=0;if eoc=0 then next_state=st4;-检测EOC的上升沿 else next_statenext_state=st6;ale=0;start=0;ennext_state=st0;ale=0;start=0;en=1;regl next_state=st0;ale=0;start=0;en=0;n end case;分频模块(clock)nclock:process(clk)-对系统时钟进行分频,得到ADC0809转换工作时钟nbeginn if clkevent and clk=1 then qq=qq+1;-在clk1的上升沿,转换至下一状态nif QQ=01111111 THEN clk1=1;current_state=next_state;n elsif qq=01111111 then clk1=0;n end if;nend if;nend process;nq=regl;abc_out=abc_in;nend behav;显示模块 显示模块nlibrary ieee;nuse ieee.std_logic_1164.all;nuse ieee.std_logic_arith.all;nuse ieee.std_logic_unsigned.all;nentity valconv isnport(nq:in std_logic_vector(7 downto 0);-adna:out std_logic_vector(6 downto 0);-小数点后第2位nb:out std_logic_vector(6 downto 0);-小数点后第1位nc:out std_logic_vector(6 downto 0);-个位nnend valconv;显示模块narchitecture bhv of valconv isn signal var1,var2,var3:integer;-分别对应将二进制数据转化为十进制nbeginnprocess(q)-数据读出时转化成十进制并显示nbeginnvar1=50*CONV_INTEGER(q)/2550;-计算个位nvar2=50*CONV_INTEGER(q)/255 rem 10;-计算小数点后第一位nvar3 c c c c c c c c c c c b b b b b b b b b b b a a a a a a a a a a a=1111111;nend case;nend process;nend bhv;管脚约束(AD模块)管脚约束(数码管)实验结果及程序扩展运行测试 将程序下载到目标芯片中,观察数码管的输出,其输出随着输入电压的变化而变化,当输入电压变为0时,数码管的输出为0,输入为5 V时数码管输出也为5.00 V,运行结果正确。程序扩展 该设计还可以进行相应的扩展,例如增加两个功能按键用于设定电压上下限值,当测量电压超出上下限值时,进行声音报警等,感兴趣的可以试着做数字电压表的各种扩展功能。

    注意事项

    本文(基于EDA的数字电压表设计课件.ppt)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开