当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

桂林电子科技大学:《可编程ASIC原理》课程教学资源(实验指导书)实验五 A/D采样电路设计

资源类别:文库,文档格式:PDF,文档页数:3,文件大小:34.06KB,团购合买
实验五AD采样电路设计 一、实验目的:通过本次实验掌握用VHDL语言设计程序能够通过时序对ADC0809器件进行控制并进行采集、输出。 二、实验要求: 1、了解并掌握ADC0809的工作原理。 2、编写相应的程序实现对ADC0809的控制。
点击下载完整版文档(PDF)

实验五A/D采样电路设计 一、实验目的:通过本次实验掌握用VHDL语言设计程序能够通过时序 对ADC0809器件进行控制并进行采集、输出 二、实验要求 1、了解并掌握ADC0809的工作原理。 2、编写相应的程序实现对ADC0809的控制。 3、定义引脚并下载,将ADC0809的转换结果输出到数码管 三、实验步骤: 1、ADCO809的工作时序及原理 START 转换结束 2豆夏吕588合臣吕 ALE EOC ADC0809 222 AC0809是CMoS的8位AD转换器,片内有8路模拟开关,可控制8个模 拟量中的一个进入转换器中。ADC0809的分辨率为8位,转换时间约100us, 含锁存控制的8路多路开关,输出有三态缓冲器控制,单5V电源供电 主要控制信号说明:如上图所示, START是转换启动信号,高电平有效;ALE 是3位通道选择地址(ADDC、ADB、ADDA)信号的锁存信号。当模拟量送至某 一输入端(如IN或IN2等),由3位地址信号选择,而地址信号由ALE锁存; EOC是转换情况状态信号(类似于AD574的 STATUS),当启动转换约100us后, EOC产生一个负脉冲,以示转换结束;在EOC的上升沿后,若使输出使能信号 OE为高电平,则控制打开三态缓冲器,把转换好的8位数据结果输至数据总线。 至此ADC0809的一次转换结束了 、利用ⅥHDL语言输入方法设计程序对ADC0809进行控制 3、利用 MAX+plush进行文本编辑输入和仿真测试;给出仿真波形。最后进 行引脚锁定并进行测试,硬件验证电路对ADCO809的控制功能。 测试步骤:根据附录的模式5,建议引脚锁定为: START接PI034,OE接

实验五 A/D 采样电路设计 一、实验目的:通过本次实验掌握用 VHDL 语言设计程序能够通过时序 对 ADC0809 器件进行控制并进行采集、输出。 二、实验要求: 1、 了解并掌握 ADC0809 的工作原理。 2、 编写相应的程序实现对 ADC0809 的控制。 3、 定义引脚并下载,将 ADC0809 的转换结果输出到数码管。 三、实验步骤: 1、ADC0809 的工作时序及原理: ADC0809 是 CMOS 的 8 位 A/D 转换器,片内有 8 路模拟开关,可控制 8 个模 拟量中的一个进入转换器中。ADC0809 的分辨率为 8 位,转换时间约 100us, 含锁存控制的 8 路多路开关,输出有三态缓冲器控制,单 5V 电源供电。 主要控制信号说明:如上图所示,START 是转换启动信号,高电平有效;ALE 是 3 位通道选择地址(ADDC、ADDB、ADDA)信号的锁存信号。当模拟量送至某 一输入端(如 IN1 或 IN2 等),由 3 位地址信号选择,而地址信号由 ALE 锁存; EOC 是转换情况状态信号(类似于 AD574 的 STATUS),当启动转换约 100us 后, EOC 产生一个负脉冲,以示转换结束;在 EOC 的上升沿后,若使输出使能信号 OE 为高电平,则控制打开三态缓冲器,把转换好的 8 位数据结果输至数据总线。 至此 ADC0809 的一次转换结束了。 2、利用 VHDL 语言输入方法设计程序对 ADC0809 进行控制。 3、利用 MAX+plusII 进行文本编辑输入和仿真测试;给出仿真波形。最后进 行引脚锁定并进行测试,硬件验证电路对 ADC0809 的控制功能。 测试步骤:根据附录的模式 5,建议引脚锁定为:START 接 PIO34,OE 接

PI035,EOC接PI08,ALE接PI033,状态机时钟CLK接 clock0(PIN2,可选 65536H”或更高),ADA接PI032(ADDB和ADDC都接GND),ADC0809的8 位输出数据线接PI023~PI016,锁存输出Q显示于数码8/数码7(PI0O47~ PI040),设目标器件是EPF10K10,ADC0809的转换时钟CLK已经事先接有750KHz 的频率),将实验系统左下角选择插针处的“转换结束”和“AD使能”用二短 路帽短接。下载目标文件后,可用螺丝刀旋转实验系统左下角的电位器,以便 为ADCo809提供变化的待测模拟信号,这时数码管8和7将显示ADC0809采样 输出并被锁存的数字值(16进制) 4、实验报告:根据以上的实验要求、实验内容写出实验报告。 5、写出实验心得体会。 6、思考题:如何将显示的16进制转化为真正的电压显示。 参考程序 USE IEEE STD LOGIC 1164.ALL ENTITY ADCINT IS PORT(D: IN STD LOGIC VECTOR(7 DOWNTO0);--0809的8位转换数据输出 CLK,EoC: IN STD LOGIC;-cLK是转换工作时钟 LOCK1, ALE START OE, ADDA OUT STD LOGIC Q: OUT STD LOGIC VECTOR(7 DOWNTO 0) END ADCINT ArChiteCtUre belay OF ADCINT IS TYPE states Is (sto, stl, st2, st3, st4, st5, st6 定义各状态子类型 SIGNAL current state, next state: states :=st0; SIGNAL REGL STD LOGIC VECTOR(7 DOWNTO 0 SIGNAL LOCK STD LOGI 转换后数据输出锁存时钟信号 BEGIN ROCESS( current state,EoC) BEGIN--规定各状态转换方式 current state sto = ALE Ale<=0 start<=1: oe<=0: lOcK<=0 ,next state < st3 WHeN st3 = ALE<=0, START<=0:OE<=0i LOCK<=0; IF (EOC='1)THEN next state < st3 测试Eoc的下降沿 IF(EOC="0") THEN next state<=st4;--测试Eoc的上升沿,=1表明转换结束

PIO35,EOC 接 PIO8,ALE 接 PIO33,状态机时钟 CLK 接 clock0(PIN2,可选 “65536Hz”或更高),ADDA 接 PIO32(ADDB 和 ADDC 都接 GND),ADC0809 的 8 位输出数据线接 PIO23~PIO16,锁存输出 Q 显示于数码 8/数码 7(PIO47~ PIO40),设目标器件是 EPF10K10,ADC0809 的转换时钟 CLK 已经事先接有 750KHz 的频率),将实验系统左下角选择插针处的“转换结束”和“A/D 使能”用二短 路帽短接。下载目标文件后,可用螺丝刀旋转实验系统左下角的电位器,以便 为 ADC0809 提供变化的待测模拟信号,这时数码管 8 和 7 将显示 ADC0809 采样 输出并被锁存的数字值(16 进制) 4、 实验报告:根据以上的实验要求、实验内容写出实验报告。 5、 写出实验心得体会。 6、 思考题:如何将显示的 16 进制转化为真正的电压显示。 参考程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY ADCINT IS PORT ( D : IN STD_LOGIC_VECTOR(7 DOWNTO 0); --0809 的 8 位转换数据输出 CLK ,EOC : IN STD_LOGIC; --CLK 是转换工作时钟 LOCK1, ALE, START, OE, ADDA : OUT STD_LOGIC; Q : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END ADCINT; ARCHITECTURE behav OF ADCINT IS TYPE states IS (st0, st1, st2, st3,st4,st5,st6) ; --定义各状态子类型 SIGNAL current_state, next_state: states :=st0 ; SIGNAL REGL : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL LOCK : STD_LOGIC; -- 转换后数据输出锁存时钟信号 BEGIN ADDA ALE ALE ALE ALE ALE<='0';START<='0';OE<='0';LOCK<='0'; IF (EOC='0') THEN next_state <= st4; --测试 EOC 的上升沿,=1 表明转换结束

ELSE next state ALE ALE<='0:sTART<=0: 0E<=1 i lOCK<='1 next state < sto RS = ALE<=0START<=0:0E<=0 LOCK<='0'next state < sto: END CASE PROCESS (CLK BEGIN IF( CLK'EVENT AND CLK=1) THEN current state<= next state;--在时钟上升沿,转换至下一状态 END PROCESS;--由信号 current state将当前状态值带出此进程,进入进程PRo PROCESS(LocK)-此进程中,在LocK的上升沿,将转换好的数据锁入 BEGIN 工 LOCK=1′ AND LOCK' EVENT THEN REGI<=D END PROCESS Q < REGL end behar

ELSE next_state ALE ALE ALE<='0';START<='0';OE<='0';LOCK<='0';next_state <= st0; END CASE ; END PROCESS PRO ; PROCESS (CLK) BEGIN IF ( CLK'EVENT AND CLK='1') THEN current_state <= next_state; -- 在时钟上升沿,转换至下一状态 END IF; END PROCESS; -- 由信号 current_state 将当前状态值带出此进程,进入进程 PRO PROCESS (LOCK) -- 此进程中,在 LOCK 的上升沿,将转换好的数据锁入 BEGIN IF LOCK='1' AND LOCK'EVENT THEN REGL <= D ; END IF; END PROCESS ; Q <= REGL; END behav

点击下载完整版文档(PDF)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
已到末页,全文结束
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有