资源描述
学生实验报告
系别
电子信息学院
课程名称
《EDA综合实验》
班级
14无线技术
实验名称
ADC采样控制电路设计
姓名
实验时间
2016年11 月14 日
学号
指导教师
王红航
成绩
批改时间
2016年 月 日
报 告 内 容
一、实验目的和任务
1.学习用状态机对A/D转换器ADC0809的采样控制电路的实现。
二、实验原理介绍
ADC0809是CMOS的8位A/D转换器,片内有8路模拟开关,可控制8个模拟量中的一个进入转换器中。ADC0809的分辨率为8位,转换时间约100us,含锁存控制的8路多路开关,输出有三态缓冲器控制,单5V电源供电
主要控制信号说明:如图8-5所示,START是转换启动信号,高电平有效;ALE是3位通道选择地址(ADDC、ADDB、ADDA)信号的锁存信号。当模拟量送至某一输入端(如IN1或IN2等),由3位地址信号选择,而地址信号由ALE锁存;EOC是转换情况状态信号(类似于AD574的STATUS),当启动转换约100us后,EOC产生一个负脉冲,以示转换结束;在EOC的上升沿后,若使输出使能信号OE为高电平,则控制打开三态缓冲器,把转换好的8位数据结果输至数据总线。至此ADC0809的一次转换结束了。
。
三、设计代码(或原理图)、仿真波形及分析
module ADC0809(D,CLK,EOC,RST,ALE,START,OE,ADDA,Q,LOCK_T);
input[7:0] D; //来自0809转换好的8位数据
input CLK,RST; //时钟和复位信号
input EOC;
output ALE;
output START,OE;
output ADDA,LOCK_T;
output [7:0] Q;
reg ALE,START,OE;
reg[7:0]REGL; //数据锁存输出
parameter s0=0,s1=1,s2=2,s3=3,s4=4; //定义各状态子类型
reg[4:0] cs,next_state;
reg LOCK;
always @(posedge CLK or posedge RST) //时序过程
begin
if(RST) cs<=s0;
else cs<=next_state;
end
always @(posedge LOCK) //寄存器过程
if(LOCK) REGL<=D;
assign ADDA=0;
assign ADDB=0;
assign Q=REGL;
assign LOCK_T=LOCK;
always @(cs or EOC) begin //组合过程
case(cs)
s0:next_state<=s1;
s1:next_state<=s2;
s2:if(EOC==1'b1) next_state=s3;
else next_state=s2;
s3:next_state<=s4;
s4:next_state<=s0;
default : next_state=s0;
endcase
end
always@(cs) begin
case(cs)
s0:begin ALE=0;START=0;OE=0;LOCK=0;end //初始化
s1:begin ALE=1;START=1;OE=0;LOCK=0;end
s2:begin ALE=0;START=0;OE=0;LOCK=0;end
s3:begin ALE=0;START=0;OE=1;LOCK=0;end
s4:begin ALE=0;START=0;OE=1;LOCK=1;end
default :begin ALE=0;START=0;OE=0;LOCK=0;end
endcase
end
endmodule
从硬件仿真中,可以得到几组数据
输出数字量
模拟电压量
0F
0.32
1F
0.65
2F
0.94
3F
1.20
当输出数字量不同时,它的电压量也就不同。其实就是数模转换过程。
四、实验结论与心得
通过本次实验,进一步掌握了状态机的verilog设计方法和设计仿真工具的使用,学习层次化设计方法。 熟悉了状态机的设计思路和方法,通过对仿真波形的分析,对ADC0809控制A/D转换有了更深的理解。实验中通过A/D转换将模拟信号转换为数字信号。通过引脚的锁定,我们最终能够在实验箱上看到仿真的结果。一分耕耘一分收获,只有自己动手做了才能够明白其中的意义。
展开阅读全文