FPGA设计ADC0809文档格式.docx

上传人:b****1 文档编号:14998006 上传时间:2022-10-26 格式:DOCX 页数:11 大小:230.43KB
下载 相关 举报
FPGA设计ADC0809文档格式.docx_第1页
第1页 / 共11页
FPGA设计ADC0809文档格式.docx_第2页
第2页 / 共11页
FPGA设计ADC0809文档格式.docx_第3页
第3页 / 共11页
FPGA设计ADC0809文档格式.docx_第4页
第4页 / 共11页
FPGA设计ADC0809文档格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

FPGA设计ADC0809文档格式.docx

《FPGA设计ADC0809文档格式.docx》由会员分享,可在线阅读,更多相关《FPGA设计ADC0809文档格式.docx(11页珍藏版)》请在冰豆网上搜索。

FPGA设计ADC0809文档格式.docx

、VHDL、quartus2、编译仿真、Start 

、EOC、OE、三态缓冲器

Abstract

ImplementationmuststrictlyabidebytheworktimingofADC0809,ananaloguefortheselectedchannelinput,adjustthepotentiometerchangetheanaloginput.Usingquartus2toinputtexteditingandtrycopy;

Thesimulationwaveformisgiven.Finallypinlockandtest,thecontrolfunctionofthehardwarevalidationADC0809.Concreteprocessis:

thetimingofADC0809VHDLcode.

Tocompilethesimulationmaincontrolsignalis:

StartforconversionStartsignal,highefficient;

Aleforchannelselectionaddresssignalislatchedsignals.,whenstarttheconversion,programstartsexecutingthequerystatus,thestatusof0.1.Whilewaiting,state2,trackthestatusofEOCsignal,judgewhethertheconversionisover,whentheEOC=1saidswitchover,orcontinuetowaitfor;

Transformationaftertheendofcontinuetoquerythestate,iftheOEsignalforhighlevelcontroltoopenthetri-statebuffer,whentheLOCKsignalforhighelectricityatordinarytimes,theconverteddatalatches,endedatransformation.

Keywords:

Worktiming、AD0809 

、VHDL、quartus2、Compilethesimulation、Start 

、EOC、OE、Tri-statebuffer

1设计任务

基于VHDL语言,实现对ADC0809简单控制。

2系统设计原理

2.1硬件设计原理

ADC0809 

为单极性输入,8位转换逐次逼近A/D转换器,可对0~5V的INT0~INT7的8路模拟电压信号分时进行转换,完成一次转换的时间为100 

微秒。

ADD-CBA作为8路通道选择地址,在转换开始前由地址锁存允许信号ALE将3位地址锁入锁存器中,以确定转换信号通道;

EOC为状态结束标志,低电平转为高电平时转换结束;

START为转换启动信号,上升沿有效;

OE为数据输出允许端,高电平有效;

〔D0⋯D7〕为A/D变换数据输出端。

本次实验为测试方便,因此直接选择IN0端口为输入端,即使ADDC,ADDB,ADDA都接地。

2.1.1ADC0809的主要特性

1)8路输入通道,8位A/D转换器,即分辨率为8位。

2)具有转换起停控制端。

3)转换时间为100μs 

4)单个+5V电源供电 

5)模拟输入电压范围0~+5V,不需零点和满刻度校准。

6)工作温度范围为-40~+85摄氏度 

7)低功耗,约15mW。

2.1.2ADC0809的外部特性

ADC0809芯片有28条引脚,采用双列直插式封装,如图1所示。

面说明各引脚功能。

IN0~IN7:

8路模拟量输入端。

2-1~2-8:

8位数字量输出端。

ADDA、ADDB、ADDC:

3位地址输入线,用于选通8路模拟输入中的一路 

ALE:

地址锁存允许信号,输入,高电平有效。

START:

A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。

EOC:

A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。

OE:

数据输出允许信号,输入,高电平有效。

当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。

CLK:

时钟脉冲输入端。

要求时钟频率不高于640KHZ。

REF(+)、REF(-):

基准电压。

Vcc:

电源,单一+5V。

GND:

地。

图1 

ADC0809引脚图图2ADC0809

2.1.3工作过程

首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。

此地址经译码选通8路模拟输入之一到比较器。

START上升沿将逐次逼近寄存器复位。

下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。

直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。

当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。

转换数据的传送A/D转换后得到的数据应及时传送给单片机进行处理。

数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。

为此可采用下述三种方式。

(1)定时传送方式

对于一种A/D转换器来说,转换时间作为一项技术指标是已知的和固定的。

例如ADC0809转换时间为128μs,相当于6MHz的MCS-51单片机共64个机器周期。

可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。

(2)查询方式

A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。

因此可以用查询方式,测试EOC的状态,即可确认转换是否完成,并接着进行数据传送。

(3)中断方式

把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。

不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。

首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。

本次设计依据ADC809工作时序图来编写相关程序,由其时序图来判断状态机当前的状态。

2.2软件设计思路

采用双进程有限状态机的方法来产生ADC0809的工作时序。

设计st0~st7共8个工作状态,st0:

初始状态;

st1:

产生ALE的上升沿,将地址“000”锁入0809的地址寄存器中;

st2:

产生采样信号START上升沿,开始A/D转换;

st3:

检测EOC下升沿;

st4:

检测EOC上升沿,转换结束;

st5:

数据转换结束,开启输出允许EN;

st6:

输出允许EN延时一个脉冲,输出数据;

st7:

关闭允许输出EN如表1所示。

表1状态转换表

当前状态

控制输入

下一状态

控制输出

ST0

时钟上升沿

ST1

ale<

='

0'

;

start<

en<

ST2

1'

ST3

时钟上升沿且EOC=1

ST4

时钟上升沿且EOC=0

ST5

ST6

regl<

=d

Other

2.3程序流程图

根据此流程图,结合表1的状态转换表可以写出ADC0809的VHDL描述。

VHDL语言描述的ADC0809程序看附录一。

3功能与时序仿真

原先使用ISE软件进行功能仿真与时序的仿真,但是由于对ISE软件使用不够熟练,我改用QuartusⅡ进行ADC0809的功能仿真与时序仿真。

3.1功能仿真得出的RTL图

使用QuartusⅡ,创建工程后添加一个VHDL文本,把附录的程序写进去后运行,没有出现错误。

运行之后得出的RTL图如图3所示。

图4ADC0809的RTL图

3.2功能仿真得出的状态图

在QuartusⅡ中,功能仿真还能得出其状态图,如图4所示,可以看出这是一个Moore型有限状态机。

图5ADC0809的状态图

3.3时序仿真

功能仿真之后就可以对其进行时序仿真,设置结束时间为350us,并设置CLK的频率为10KHZ。

得到如图5所示的时序仿真图。

图6ADC0809的时序仿真图

由图5可以看出符合ADC0809的工作时序,这就使用VHDL语言实现对ADC0809的简单控制。

4总结

通过本次的课程设计,使我对FPGA这门课程有了更深一步的理解,对知识进行了进一步的的巩固与提高,锻炼了自己的综合技能。

通过小组内同学的讨论与方案的论证,大家积极献言献策,集大家的智慧,终于选出了一个较好的方案。

用仿真软件进行仿真与调试,编写VHDL语言时遇到了极大地困难,这也是这项任务的重中之重。

在编写VHDL语言时由于前期的思路不清,导致编写的语言很混乱,在查阅了网上的资料后才有了比较清楚完备的认识,这一点对我有很大启发。

在这个过程中,我对仿真软件的操作与应用能力得到了进一步的加强。

这次实验让我更加注重了对这门课程的学习,了解到其重要性,这门技术必将成为今后很长一个时期的学习与应用重点,这对我们的成长与发展有极大促进作用。

5参考文献

[1]杨志方.EDA技术及应用.华中科技大学出版社,2008

[2]潘松.EDA技术与VHDL.清华大学出版社,2010

[3]刘岚.FPGA应用技术基础教程.电子工业出版社,2009

[4]曾繁泰.VHDL程序设计.清华大学出版社,2001

[4]杨志刚.FPGA技术应用.机械工业出版社,2001

附录一程序

libraryieee;

useieee.std_logic_1164.all;

useieee.std

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 自考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1