基于FPGA的AD转换采样控制模块的设计_第1页
基于FPGA的AD转换采样控制模块的设计_第2页
基于FPGA的AD转换采样控制模块的设计_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、    基于FPGA的A/D转换采样控制模块的设计摘要:本文采用FPGA器件EP1C6T144C8芯片代替单片机控制A/D转换芯片ADC0809进行采样控制,整个设计用VHDL语言描述,在Quartus平台下进行软件编程实现正确的A/D转换的工作时序控制过程,并将采样数据从二进制转化成BCD码。本设计可用于高速应用领域和实时监控方面。关键词:FPGA;A/D转换;VHDL;采样控制;BCD码在以往的A/D器件采样控制设计中,多数是以单片机或CPU为控制核心,虽然编程简单,控制灵活,但缺点是控制周期长,速度摘要:本文采用FPGA器件EP1C6T144C8芯

2、片代替单片机控制A/D转换芯片ADC0809进行采样控制,整个设计用VHDL语言描述,在Quartus平台下进行软件编程实现正确的A/D转换的工作时序控制过程,并将采样数据从二进制转化成BCD码。本设计可用于高速应用领域和实时监控方面。关键词:FPGA;A/D转换;VHDL;采样控制;BCD码在以往的A/D器件采样控制设计中,多数是以单片机或CPU为控制核心,虽然编程简单,控制灵活,但缺点是控制周期长,速度慢。单片机的速度极大的限制了A/D高速性能的利用,而FPGA的时钟频率可高达100MHz以上。本设计以高集成度的芯片为核心,进行时序控制、码制变换。具有开发周期短,灵活性强,通用能力好,易于

3、开发、扩展等优点。既降低了设计难度,又加快了产品的开发周期。1 系统设计原理本设计采用FPGA芯片EP1C6T144C8来对ADC0809进行采样控制,并对数据进行处理,可将数据用LED显示出来。如图1所示,芯片EP1C6T144C8在对ADC0809控制时产生START转换启动信号,ALE地址锁存允许信号(高电平有效),在工作过程中,FPGA不断读入转换结束信号EOC判断AD0809转换是否结束。当EOC发出一个正脉冲时,表示A/D转换结束,此时开启输出允许OE,打开ADC0809的三态缓冲锁存器将转换好的8位二进制数输入FPGA芯片中。通过查找表的方法将8位二进制数转换成12位BCD码。&

4、#160;                                                 &

5、#160;           图1   控制原理图2  FPGA模块设计与仿真    本设计采用Quartus软件平台下的VHDL硬件描述语言进行软件编程。主要分为两个部分:ADC0809的工作状态模块和二进制到BCD码转换模块。2.1    ADC0809工作状态模块采用双进程有限状态机的方法来实现。设计st0st7八个工作状态。st0:初始化。st1:产生ALE的上升沿将模拟通道IN1的地址锁存。st

6、2:产生START信号上升沿,启动A/D转换。st3:START信号延时一个脉冲。st4:A/D转换中,等待。st5:转换结束,开启输出允许信号OE。st6:OE延时一个脉冲,并开启数据锁存信号LOCK。st7:延时一个时钟,输出数据。状态转换方式见下面程序段。case current_state is    when st0=> ale&lt;='0'start<='0'oe<='0'lock<='0' next_state<=st1;  &

7、#160;                -初始态ST0向下一状态ST1转换,0809采样控制信号初始化;    when st1=> ale<='1'start<='0'oe<='0'lock<='0' next_state<=st2;       

8、;            -由ALE的上升沿将通道地址'001'锁入0809的地址寄存器;    when st2=> ale<='1'start<='1'oe<='0'lock<='0' next_state<=st3;  -启动采样信号;    when st3=> ale<='

9、0'start<='1'oe<='0'lock<='0'      if(eoc='0')  then  next_state<=st4; -转换即将结束,转换至下一状态;        else next_state<=st3;   -转换未结束,继续在状态ST3中等待;      e

10、nd if;    when st4=> ale<='0'start<='0'oe<='0'lock<='0'      if(eoc='1')  then  next_state<=st5; -EOC由0恢复1,转换结束;        else next_state<=st4; -转换未结束,等待;&#

11、160;     end if;    when st5=> ale<='0'start<='0'oe<='1'lock<='0' next_state<=st6;  -开启输出允许OE;    when st6=> ale<='0'start<='0'oe<='1'lock<='1' next_state<=st7;  -开启数据锁存LOCK;    when st7=> ale<='0'start<='0'oe<='0'lock<='1' next_state<=st0;    when others=>next_state<=st0;  -其它状态返回ST0;  end case;2.2  二进制到BCD码转

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论