首 页电子文章电子资料客户留言繁體中文
设为首页
加入收藏
联系我们
您当前的位置:中国电子前沿 -> FPGA/PLD -> VHDL学习 -> 电子文章内容 退出登录 用户管理
栏目导航
· CPLD应用 · FPGA应用
· VHDL学习 · EDA软件
热门电子文章
· [无线开发] 收发一体超声..
· [TI DSP综合] 轻松体验DS..
· [USB技术] 基于DSP技术的..
· [ARM入门] 安装cygwin 注..
· [USB技术] USB设计
· [ARM系统] 基于ARM体系的..
· [USB技术] 在 Java 应用程..
· [linux移植] Linux解释器..
· [linux移植] 在Redhat Li..
· [原理欣赏] 高速高密度PC..
· [FPGA应用] FPGA器件的在..
· [linux移植] 如何监控和保..
相关电子文章
· [图文] 采用FPGA数字..
· [组图] 基于FPGA的IE..
· DSP+FPGA数字硬件系..
· [组图] AD6620工作原..
· [组图] 数字信号处理..
· 基于ARM的数字电视
· [图文] 基于USB2.0的..
· [组图] 基于USB总线的..
· [组图] 智能化锂离子..
· [组图] 数字式智能电..
数字电压表的VHDL设计与实现
作者:佚名  来源:不详  发布时间:2006-9-15 8:12:02  发布人:zangyl

减小字体 增大字体

  摘 要:介绍数字电压表的组成及工作原理,论述了基于VHDL语言和FPGA芯片的数字系统的设计思想和实现过程。
  
关键词:数字电压表;VHDL语言;FPGA

  在硬件电子电路设计领域中,电子设计自动化(EDA)工具已成为主要的设计手段,而VHDL语言则是EDA的关键技术之一,它采用自顶向下的设计方法,即从系统总体要求出发,自上至下地将设计任务分解为不同的功能模块,最后将各功能模块连接形成顶层模块,完成系统硬件的整体设计。本文用FPGA芯片和VHDL语言设计了一个数字电压表,举例说明了利用VHDL语言实现数字系统的过程。

1系统组成及工作原理
  
整个数字电压表的硬件结构如图1所示。  

 

  系统的核心电路由FPGA完成,本设计选用了Altera公司的EPlKl00QC208-3芯片,用VHDL言对它进行设计,实现三大功能模块:(1)控制模块,激活A/D转换器动作、接收A/D转换器递过来的数字转换值;(2)数据处理模块,将接收到的转换值调整成对应的数字信号;(3)、显示模块,产生数码管的片选信号,并将数值处理模块输出的BCD码译成相应的7段数码驱动值。
  工作时,系统按一定的速率采集输入的模拟电压,经
ADC0804转换为8位数字量,此8位数字量经FPGA处理得到模拟电压的数字码,再输入数码管获得被测电压的数字显示。

  
此电压表的测量范围:05V,三位数码管显示。

2FPGA功能模块的设计
  
数字电压表的三大模块都是用VHDL语言编程实现的。
2.1
控制模块
  
用状态机作法,产生ADC0804的片选信号、读/写控制信号,通过状态信号INTR判断转换是否结束;转换结束后将转换数据锁存并输出。其状态转换图如图2所示。

2.2数据处理模块
  
ADC08048位模数转换器,它的输出状态共有28=256种,如果输入信号Vin05V电压范围,则每两个状态值为5/(256-1),约为0.0196V,故测量分辨率为0.02V。常用测量方法是:当读取到DB7DB0转换值是XXH时,电压测量值为
UXXH×0.02V;考虑到直接使用乘法计算对应的电压值将耗用大量的FPGA内部组件,本设计用查表命令来得到正确的电压值。
  在读取到ADC0804的转换数据后,先用查表指令算出高、低4位的两个电压值,并分别用12BCD码表示;接着设计12位的BCD码加法,如果每4位相加结果超过9需进行加6调整。这样得到模拟电压的BCD码。
 
  本模块的功能仿真结果如图3所示;当转换数据为00010101,通过查表高400010.32V,而低401010.1V,最后的电压输出结果是0.32V+0.1V=0.42V,它的BCD码表示为000001000010,仿真结果正确。
2.3扫描、显示模块
  
如图4所示,CLK是扫描时钟,其频率为1kHz,由给定的40MHz时钟分频得到;DATA
IN是数据处理模块输出的电压值的BCD码;SEL是数码管的片选信号;POINT是数码管小数点驱动;通过扫描分别输出3位电压值的BCDDATAOUT,并通过DISPBCD码译成相应7段数码驱动值,送数码管显示。

3结束语
  
本文设计的VHDL语言程序已在MAXPLUSⅡ工具软件上进行了编译、仿真和调试,并通过编程器下载到了EP1K100QC208-3芯片。经过实验验证,本设计是正确的,其电压显示值误差没有超过量化台阶上限(0.02V)。本文给出的设计思想也适用于其他基于PLD芯片的系统设计。

参考文献

1]潘松.EDA技术实用教程[M.北京:科学出版社,2003.
2]卢毅.VHDL与数字电路设计[M.北京:科学出版社,2001.
3]林敏.VHDL数字系统设计与高层次综合[M.北京:电子工业出版社,2001

[] [返回上一页] [打 印] [收 藏]
∷相关电子文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论…]
关于本站网站帮助广告合作下载声明友情连接网站地图
Copyright © 2002-2006 EMB-CN.com. All Rights Reserved .鲁ICP备06032441号qq群:30191791