欢迎来到天天文库
浏览记录
ID:15818340
大小:371.22 KB
页数:7页
时间:2018-08-05
《数据采集系统实验报告ad模块的设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、JIANGSUTEACHERSUNIVERSITYOFTECHNOLOGY数据采集系统实验报告A/D采集模块设计学院名称:电气信息工程学院专业:测控技术与仪器班级:07测控姓名:学号:指导教师:2010年12月20日目录一、实验目的二、实验原理1.ADC0809的原理及原理图2.AD574A的原理及原理图三、实验过程四、实验结果五、结束语六、参考文献一、实验目的:学习用状态机实现对ADC0809,AD574A等A/D转换器的采样控制。二、实验原理:1.ADC0809的原理及原理图图2.1和图2.2分别是ADC0809的工作时序图以及采样状态图。时序图中,START为转换
2、启动控制信号,高电平有效,ALE为模拟信号输入宣统端口地址所存信号,上升沿有效;一旦START有效后,状态信号EOC变为低电平,表示进入转换状态,转换时间约为100us。转换结束后,EOC将变为高电平。此后外部控制可使OE由低电平变为高电平(输出有效),此时,ADC0809的输出数据总线D[7…0]从原来的高阻态变为输出数据有效。由状态图也可看到,状态st2中需要对ADC0809工作状态信号EOC进行测试,如果为低电平,表示转换没有结束,仍需要停留在st2状态中等待,直到变成高电平后才说明转换结束,在下一个时钟脉冲到来时转向状态st3。在状态st3,由状态机向ADC08
3、09发出转换好的8位数据输出允许命令,这一状态周期同时可作为数据输出稳定周期,以便能在下一状态中向锁存器中锁入可靠的数据。在状态st4,由状态机向FPGA中的锁存器发出锁存信号(LOCK的上升沿),将ADC0809的输出数据进行锁存。图2.1ADC0809工作时序图2.2控制ADC0809采样状态图2.AD574A的原理及原理图(1)12位A/D转换器芯片AD574A特点:芯片内部包含微机接口逻辑和三态输出缓冲器,可以直接与8位、12位或16位;输出可以是12位一次读出或分两次读出,先读高8位,再读低4位;输入电压可有单极性和双极性两种;对外可提供一个+10V基准电压,
4、最大输出电流1.5mA;有较宽的温度使用范围。(2)芯片引脚功能如图2.4所示:图2.4AD574A引脚功能(3)启动转换的时序:在启动转换后,各控制信号不起作用,只有STS信号标志工作状态。读出数据也同样由CE来启动,读时序如下图2.5所示:①在CE上升沿之前,先有图2.5AD574A读时序图一、实验过程本次实验是采用QuartusⅡ软件进行编译与仿真。步骤如下:1.打开QuartusⅡ6.0软件,进入QuartusⅡ欢迎界面。2.鼠标单击File---new,出现如下窗口,选择“VHDLFILE”,在弹出的窗口中输入VHDL程序文件。1.输入完毕后,点击保存,由于接
5、下来步骤繁琐,我就把它简述为保存并新建工程。2.接下来就进行编译,选择下图processing菜单中的startcomplilation命令。若有VHDL程序有错误,则编译不会完成并弹出对话框提示如下图所示,单击确定后,手动排除错误。方法是在红色的错误提示上双击鼠标左键,软件会自动找到可能是错误的地方或者软件认为不符合规范的地方,排除错误后,再重新执行编译过程。3.完成编译后方可进行时序波形的仿真,也称为软件仿真,仿真的前提条件是要有波形文件。仿真的过程可以分为新建波形文件,添加节点,设置仿真时间长度,绘制波形,存储文件,启动仿真等步骤。4.附上程序清单:(1)ADC0
6、809程序清单LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYvhdl1ISPORT(D:INSTD_LOGIC_VECTOR(7DOWNTO0);--来自0809转换好的8位数据CLK:INSTD_LOGIC;--状态机工作时钟EOC:INSTD_LOGIC;--转换状态指示,低电平表示正在转换ALE:OUTSTD_LOGIC;--8个模拟信号通道地址锁存信号START:OUTSTD_LOGIC;--转换开始信号OE:OUTSTD_LOGIC;--数据输出3态控制信号ADDA:OUTSTD_LOGIC;--信号通道最低位控制信
7、号LOCK0:OUTSTD_LOGIC;--观察数据锁存时钟Q:OUTSTD_LOGIC_VECTOR(7DOWNTO0));--8位数据输出ENDvhdl1;ARCHITECTUREbehavOFvhdl1ISTYPEstatesIS(st0,st1,st2,st3,st4);--定义各状态子类型SIGNALcurrent_state,next_state:states:=st0;SIGNALREGL:STD_LOGIC_VECTOR(7DOWNTO0);SIGNALLOCK:STD_LOGIC;--转换后数据输出锁存时钟信号BEGIN
此文档下载收益归作者所有