EDA用状态机实现ADC的采样电路设计Word下载.doc
《EDA用状态机实现ADC的采样电路设计Word下载.doc》由会员分享,可在线阅读,更多相关《EDA用状态机实现ADC的采样电路设计Word下载.doc(4页珍藏版)》请在冰豆网上搜索。
3.学习设计仿真工具的使用方法;
4.学习层次化设计方法;
【实验内容】
1.设计实现ADC0809采样电路,启动信号START高电平开始AD转换,此时转换结束标志变为0,当EOC由低变为高,表示转会结束,此时可以置OE为1,ADC输出转换结果。
ADC0809控制时序如下:
2.编制仿真测试文件,对实验六设计的ADC0809采样电路进行功能仿真。
3.下载并验证ADC0809的功能。
【实验原理】
ADC0809是CMOS的8位A/D转换器,片内有8路模拟开关,可控制8个模拟量中的一个进入转换器中。
ADC0809的分辨率为8位,转换时间约100us,含锁存控制的8路多路开关,输出有三态缓冲器控制,单5V电源供电。
主要控制信号说明:
如图1所示,START是转换启动信号,高电平有效;
ALE是3位通道选择地址(ADDC、ADDB、ADDA)信号的锁存信号。
当模拟量送至某一输入端(如IN1或IN2等),由3位地址信号选择,而地址信号由ALE锁存;
EOC是转换情况状态信号(类似于AD574的STATUS),当启动转换约100us后,EOC产生一个负脉冲,以示转换结束;
在EOC的上升沿后,若使输出使能信号OE为高电平,则控制打开三态缓冲器,把转换好的8位数据结果输至数据总线。
至此ADC0809的一次转换结束了。
【程序源代码】
moduleADC0809C(clk,D,EOC,start,LOCK,OE,Q);
inputclk,EOC;
input[7:
0]D;
outputstart,LOCK,OE;
output[7:
0]Q;
regstart,LOCK,OE;
reg[7:
parameters0=0,s1=1,s2=2,s3=3,s4=4;
reg[4:
0]c_s,n_s;
assignclock=clk;
always@(posedgeclk)
c_s<
=n_s;
always@(c_s,EOC)
begin
case(c_s)
s0:
begin
start<
=0;
OE<
LOCK<
n_s<
=s1;
end
s1:
=1;
=s2;
s2:
if(EOC)n_s<
=s3;
elsen_s<
end
s3:
=s4;
s4:
=s0;
default
begin
start<
n_s<
end
endcase
end
always@(posedgeclk)
Q<
=D;
endmodule
【元件符号与总框图】
【仿真和测试结果】
上图为仿真结果,clk,D,EOC,为输入信号,当EOC输入为低电平时,A/D转换开始转换,如上图仿真结果显示,当EOC低电平结束时,OE为高电平,然后延时一段即LOCK信号为1时,A/D转换器转换的值送到Q输出。
第一个EOC为高电平和EOC低电平没有到达高电平时,输出的Q值一直为0;
EOC由高电平变为低电平时,START信号有效;
到第一个EOC为低电平转换结束以后,OE为高电平时,输入D的值为11,此时输出Q中的值也为11,同样,第二个EOC低电平开始时,START信号有效;
EOC低电平结束以后,OE信号有效,A/D转换的值送到Q端输出,值为32.由仿真结果分析得:
这个控制器可正常控制A/D转换的过程。
【管脚分配过程】
【实验心得和体会】
通过本次实验,进一步掌握了状态机的verilog设计方法,学习了设计仿真工具的使用方法,学习层次化设计方法。
熟悉了有限状态机的设计思路和方法,通过对仿真波形的分析,对ADC0809控制A/D转换有了更深的理解。
第-4-页共4页