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

    数字电压表设计论文.doc

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

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

    数字电压表设计论文.doc

    【精品文档】如有侵权,请联系网站删除,仅供学习与交流数字电压表设计论文.精品文档.电子设计EDA题目:基于FPGA 数字电压表设计学院:电子与信息工程学院班级: 09电信本一班姓名:曾仁球学号:90514008指导老师:肖开选老师日期:2011年12月引 言 随着计算机与微电子技术的发展,电子设计自动化EDA领域已成为电子技术发展的主体,数字系统的设计正朝着速度快、容量大、体积小、重量轻的方向发展。推动该潮流发展的引擎,就是日趋进步和完善的FPGA设计技术。而电子设计自动化,是近几年迅速发展起来的将计算机软件、硬件、微电子技术交叉运用的现代电子设计学科,其中EDA设计语言中的VHDL语言是一种快速的电路设计工具,功能涵盖了电路描述、电路合成、电路仿真等三大电路设计工作。该数字电压表的电路设计,正是用VHDL语言完成的。此次设计主要应用美国Altera公司自行设计的一种CAE软件工具,即quartues II软件。一、数字电压表的构成及工作原理    数字电压表是诸多数字化仪表的核心与基础。以数字电压表为核心扩展成的各种数字化仪表,几乎覆盖了电子电工测量、工业测量、自动化系统等各个领域。11 数字电压表    数字电子系统通常由ASIC芯片和外围硬件设备组成,具有灵活性不强等缺陷。如图1所示的数字电压表,AD转换器在控制ASIC所提供的时序信号作用下,对输入模拟信号进行转换,控制核心再对转换结果进行运算和处理,最后驱动输出装置显示数字电压信号。由于系统功能由ASID硬件结构决定,其功能难以更新和扩展。如果用EDA方法设计,即以可编程逻辑器件FPGA代替ASIC芯片,用硬件描述语言决定系统功能,就可在硬件不变的情况下修改程序以更新和扩展功能,使其灵活性显著提高。基于此考虑,用EDA方法设计了一个简易数字电压表控制电路,旨在研究提高数字电子系统灵活性的设计方法。12 数字电压表的工作原理    数字电压表的改进结构如图2所示,它的硬件包括三个部分,其中转换器ADC0804的作用是将模拟电压信号转换成数字电压值,并送到FPGA以待运算和处理;七段数码显示器的作用是接收FPGA转换后的BCD数据并显示;FPGA兼有处理和协调作用,包括控制AD转换动作、接收AD转换结果及编码、驱动显示等作用。因此,FPGA可分为三个功能模块,即控制模块、计算模块和显示驱动模块。图2 数字电压表的改进结构二、FPGA设计    由以上分析,数字电压表的FPGA设计,适合于顶层电路与三个底层模块相结合的设计方法,其中显示驱动模块有标准的七段显示VHDL子程序可供调用。下面仅论述其余两模块的设计。2.1 控制模块的设计    该模块的任务是,控制ADC0804的工作时序,可分为ST0ST3四个连续的步骤或状态。任务分别是:使ADC0804准备转换(状态ST0)、转换(状态ST1)、FPGA准备读取转换结果(状态ST2)、读取转换结果(状态ST3)。各状态由FPGA输出脚CS、WR、RD、INTR的不同电平组合确定,主要的VHDL语句为: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ad0804 isport(cs,wr,rd:out std_logic;clk,intr:in std_logic;din:in std_logic_vector(7 downto 0);dout:out std_logic_vector(7 downto 0)end entity;architecture bhv of ad0804 istype states is (st0,st1,st2,st3);signal c_s,n_s:states;signal latch:std_logic;beginreg:process(clk)beginif (clk='1' and clk'event) thenc_s<=n_s;end if;end process;com:process(c_s,intr)begincase c_s iswhen st0=>cs<='0'wr<='0'rd<='1'latch<='0'n_s<=st1;when st1=>cs<='1'wr<='1'rd<='1' latch<='0'if intr='1' then n_s<=st1;else n_s<=st2;end if;when st2=>cs<='0'wr<='1'rd<='0'latch<='0'n_s<=st3;when st3=>cs<='0'wr<='1'rd<='0'latch<='1'n_s<=st0;when others =>n_s<=st0;end case;end process;la:process(latch)beginif latch='1'then dout<=din;-dout<="11111111"end if;end process;end architecture bhv;    2.2 计算模块    该模块将AD转换结果分为高低4位,查表依次得到其BCD码后再进行计算,计算结果与AD转换器的位宽和参考电压Vref均有关。本文选用8位转换器ADC0804,参考电压为500 V,故能输出从0500 V按照002 V步进变化的256(28)个离散值。要得到的模拟值DATA=(D*5*10)/255;D是AD0804输出的数字信号值。再将DATA分成个位和十位用两个数码管显示。程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity change isport(D:in integer range 0 to 255; sw,gw:out integer range 0 to 9; Dpy:out integer range 0 to 255);end change;architecture behv of chagne issignal data:integer range 0 to 255;beginprocess(D)begindata<=(D*5*10)/255;Dpy<=data;end process;process(data)begingw<= data REM 10; -取出余数,作个位sw<= data/10; -取出商,作十位end process;end behv; 电压离散值可用8位二进制(或2位十六进制数)表示,表1中列出了输出数字电压高4位及低4位可能出现的16个值。如果FPGA从ADC0804接收到信号01101000B(68H),按公式计算2.0V。2.3 AD0804时钟脉冲产生模块用FPGA的20M信号分4倍频,产生5M的CLKO时钟脉冲信号。程序如下:libraryieee;use ieee.std_logic_1164.all;entity clk0804 isport(clki:in bit; clko:out bit);end entity clk0804;architecture bhv of clk0804 issignal b:bit;beginprocess(clki)variable a:integer range 0 to 3;beginif (clki'event and clki='1') thenif a=3 then a:=0;b<=not b;else a:=a+1;end if;end if;end process;clko<=b;end architecture bhv;2.4显示译码模块设计用两位数码管显示结果。程序如下:LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DECL7S IS PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0); LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0); dp:out std_logic ) ; END ; ARCHITECTURE one OF DECL7S IS BEGIN PROCESS( A ) BEGIN CASE A IS WHEN "0000" => LED7S <= "0111111" ; WHEN "0001" => LED7S <= "0000110" ; WHEN "0010" => LED7S <= "1011011" ; WHEN "0011" => LED7S <= "1001111" ; WHEN "0100" => LED7S <= "1100110" ; WHEN "0101" => LED7S <= "1101101" ; WHEN "0110" => LED7S <= "1111101" ; WHEN "0111" => LED7S <= "0000111" ; WHEN "1000" => LED7S <= "1111111" ; WHEN "1001" => LED7S <= "1101111" ; WHEN "1010" => LED7S <= "1110111" ; WHEN "1011" => LED7S <= "1111100" ; WHEN "1100" => LED7S <= "0111001" ; WHEN "1101" => LED7S <= "1011110" ; WHEN "1110" => LED7S <= "1111001" ; WHEN "1111" => LED7S <= "1110001" ; WHEN OTHERS => NULL ; END CASE ; END PROCESS ; dp<='0' END ;2.5整体设计电路及引脚分配设计图图3 整体设计电路及引脚分配设计图三、 仿真结果   FPGA设计完成后,用FPGA软件编译和仿真,波形如图3所示。由图3可知,FPGA工作时,先启动控制模块,它对模数转换的一次控制由四个状态组成。在状态ST0,选定ADC0804,为模数转换做准备;在状态ST1,使ADC0804进行转换,当FPGA的INTR信号端由高电平转为低电平时,模数转换结束进入下一状态ST2,为读取转换结果做准备;在状态ST3,FPGA读取模数转换结果。接着,FPGA的计算模块工作,求出二进制模数转换数据的8位BCD码。最后启动显示驱动模块,用数码管显示有一位小数的数字电压值。例如,模数转换结果即FPGA的输入信号Din70若为68H,则输出电压Dout110是208 V,Din70为70H时,输出电压Dout110是224 V符合设计要求。 图4 控制核心的仿真波形四、显示结果展示五、本项目存在的不足1.ad0804采用不同频率,输出结果不同。稳定性不好;使频率在此3MHZ,结果最稳定;2.ad0804输入电阻较小,会影响电源输入电压;在电源输出端加入一个射极跟随器;3.改变输入电压值,要重新下载程序,才有显示。使用CPLD或者在FPGA加入一个内存模块,把数据先存入内存,再送出显示。六、结 语    本文数字电压表的功能由VHDL程序决定,用QUARTERS II软件编译、仿真和逻辑综合后,下载到FPGA芯片EP2C5T144C8。FPGA工作主频为20 MHz,逻辑综合占用了174个逻辑单元,资源利用率为30。本文所设计的数字电压表电路板已通过硬件测试,能测量和显示05 V的弱电压信号,准确度为002 V,显示精确度为0.1参考文献【1】Altera FPGA/CPLD 设计(基础篇) EDA先锋工作室编著【2】AD0804工作原理,

    注意事项

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

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




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

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

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

    收起
    展开