实验12TLC549采样控制

实验12TLC549采样控制

ID:38697995

大小:140.00 KB

页数:8页

时间:2019-06-17

实验12TLC549采样控制_第1页
实验12TLC549采样控制_第2页
实验12TLC549采样控制_第3页
实验12TLC549采样控制_第4页
实验12TLC549采样控制_第5页
资源描述:

《实验12TLC549采样控制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验八TLC549(A/D)采样控制一.实验目的1.掌握模/数转换芯片TLC549的使用方法2.掌握利用有限状态机实现一般时序逻辑分析的方法3.掌握一般状态机的设计与应用。二.准备知识TLC549封装如图A.1所示,是一个8位的串行模数转换器,ANALOG_IN为测量信号;REF+为转换所需的正电压基准(最大测量电压);REF-为转换所需的负电压基准(最小测量电压);DATA_OUT为转换数据输出;为片选信号。图A.1TLC549封装示意图A/D的转换时间最大17us,I/O时钟频率可达1.1MHz如图A.2所示为TLC549的

2、时序,从图中可以看出当片选信号为低电平时,ADC的前一次转换数据(A)的最高位A7立即出现在数据线DATA_OUT上,之后的数据在时钟I/O_CLOCK的下降沿改变,可在I/O_CLOCK上升沿读取数据。读完8位数据后,如果片选信号置为高电平,ADC开始采样、保持、转换、锁存转换结果,以便下一次读取。图A.2TLC549工作时序图在进行采样控制时,要注意操作时序45之间的时间间隔要足够长,以使ADC能完成其相应的工作。如:tSU(CS)为拉低到低电平后I/O_CLOCK第一个时钟到来时的时间,至少要1.4us;tCONV为ADC

3、的转换时间,至少17us;I/O_CLOCK为系统时钟信号,不能超过1.1MHz。其他参数请参照数据手册。由于ADC是8位的,且硬件电路上的REF+为2.5V,REF-接GND,所以采样的电压值为V=D/255*VREF。包括扫描显示部分,最后完成的电路如图所示。其中adc3为AD549的采样模块,需要说明的是:可以使用其它的方式完成采样,所给出的参考程序并不是最好的,使用的状态较多,但是在读取转换数据的流程相对比较清晰;显示结果为ASCII码显示,没有进行十进制处理。在实际应用中,尤其是单片机控制中,使用串行AD的频率比较高,

4、主要是因为串行AD所需要的管脚相对较少。图A.3TLC549的采样控制顶层原理图一.实验步骤1、新建工程新建文件夹,在该文件夹下新建工程tlc549。2、编写低层HDL文件根据原理图A.3的内容,编写各个功能模块的HDL文件。3、编写顶层原理图文件新建原理图文件,并添加各个模块。设定为顶层文件,进行编译,如有错误,纠正直至成功为止。3、锁定管脚按表锁定管脚,并重新进行编译,把管脚信息编译到下载文件中。4、下载下载后,调节电位器RW1,观察数码管的数值变化是否正确。二.实验参考程序程序清单adc3.VHDLIBRARYIEEE;U

5、SEIEEE.STD_LOGIC_1164.ALL;45USEIEEE.STD_LOGIC_Arith.ALL;USEIEEE.STD_LOGIC_Unsigned.ALL;ENTITYadc3ISPORT(clk48M:INSTD_LOGIC;--系统时钟sdat_in:INSTD_LOGIC;--TLC549串行数据输入ad_clk:OUTSTD_LOGIC;--TLC549I/O时钟cs_n:OUTSTD_LOGIC;--TLC549片选控制data_out:OUTSTD_LOGIC_VECTOR(7DOWNTO0)--A

6、D转换数据输出);END;ARCHITECTUREoneOFadc3ISSIGNALtsu_number:STD_LOGIC_VECTOR(2downto0);--tsu延时累加器SIGNALclk_count:STD_LOGIC_VECTOR(3downto0);--24次分频累加器SIGNALcon_number:STD_LOGIC_VECTOR(5downto0);--等待转换延时累加器SIGNALclk2M,con_ready,read_ready,reset_con,reset_tsu,can_read:STD_LOG

7、IC;SIGNALdata_reg:STD_LOGIC_VECTOR(7downto0);--读数结果寄存器TYPEstatesIS(st0,st1,st2,st3,st4,st5,st6,st7,st8,st9,st10,st11,st12,st13,st14,st15,st16);SIGNALc_state,n_state:states;BEGINPROCESS(clk48M)BEGINIFRISING_EDGE(clk48M)THENIFclk_count="1011"THENclk_count<="0000";clk2M

8、<=notclk2M;--2M的时钟信号ELSEclk_count<=clk_count+1;ENDIF;ENDIF;ENDPROCESS;PROCESS(clk2M)BEGINIFRISING_EDGE(clk2M)THENc_state<=n_state;-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。