书签 分享 收藏 举报 版权申诉 / 25
上传文档赚钱

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

  • 上传人(卖家):三亚风情
  • 文档编号:3042477
  • 上传时间:2022-06-25
  • 格式:PPT
  • 页数:25
  • 大小:417.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《基于EDA的数字电压表设计课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    基于 EDA 数字 电压表 设计 课件
    资源描述:

    1、基于EDA的数字电压表设计实验要求 FPGA连接A/D转换硬件电路,将ADC单元中提供的0V5V信号源作为ADC0809的模拟输入量,通过IN0进行A/D转换,转换结果在数码上进行显示。通过调节电位器使数码管显示实时采集电压值。 实验设计思路数字电压表设计核心:FPGA设计,FPGA负责ADC0809的启动以及转换数据的读取,再将读取的8位二进制数据进行变换,形成便于输出的3位LED段码送给LED数码管,显示被测电压值。FPGA的设计主要包括几个部分: ADC0809转换控制模块实现ADC0809的启动以及转换数据的读取;数据处理模块实现ADC0809 4位数字量对应BCD码的变换和处理;显示

    2、控制模块实现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位地址选通信号(AD

    3、D-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是

    4、转换启动信号,一个正脉冲过后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采样控制程序

    5、 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

    6、 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_logi

    7、c_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的

    8、上升沿 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 =nex

    9、t_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_l

    10、ogic_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

    11、*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,运行结果正确。程序扩展 该设计还可以进行相应的扩展,例如增加两个功能按键用于设定电压上下限值,当测量电压超出上下限值时,进行声音报警等,感兴趣的可以试着做数字电压表的各种扩展功能。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:基于EDA的数字电压表设计课件.ppt
    链接地址:https://www.163wenku.com/p-3042477.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库