实验12TLC549采样控制..docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验12TLC549采样控制.

TLC549(A/D)采样控制 实验目的 掌握模/数转换芯片TLC549的使用方法 掌握利用有限状态机实现一般时序逻辑分析的方法 掌握一般状态机的设计与应用。 准备知识 TLC549封装如图A.1所示,是一个8位的串行模数转换器,ANALOG_IN为测量信号;REF+为转换所需的正电压基准(最大测量电压);REF-为转换所需的负电压基准(最小测量电压);DATA_OUT为转换数据输出;为片选信号。 图A.1 TLC549封装示意图 A/D的转换时间最大17us,I/O时钟频率可达1.1MHz如图A.2所示为TLC549的时序,从图中可以看出当片选信号为低电平时,ADC的前一次转换数据(A)的最高位A7立即出现在数据线DATA_OUT上,之后的数据在时钟I/O_CLOCK的下降沿改变,可在I/O_CLOCK上升沿读取数据。读完8位数据后,如果片选信号置为高电平,ADC开始采样、保持、转换、锁存转换结果,以便下一次读取。 图A.2 TLC549工作时序图 在进行采样控制时,要注意操作时序之间的时间间隔要足够长,以使ADC能完成其相应的工作。如:tSU(CS)为拉低到低电平后I/O_CLOCK第一个时钟到来时的时间,至少要1.4us;tCONV为ADC的转换时间,至少17us; I/O_CLOCK为系统时钟信号,不能超过1.1MHz。其他参数请参照数据手册。 由于ADC是8位的,且硬件电路上的REF+为2.5V,REF-接GND,所以采样的电压值为V=D/255*VREF。 包括扫描显示部分,最后完成的电路如图 所示。其中adc3为AD549的采样模块,需要说明的是:可以使用其它的方式完成采样,所给出的参考程序并不是最好的,使用的状态较多,但是在读取转换数据的流程相对比较清晰;显示结果为ASCII码显示,没有进行十进制处理。 在实际应用中,尤其是单片机控制中,使用串行AD的频率比较高,主要是因为串行AD所需要的管脚相对较少。 图A.3 TLC549的采样控制顶层原理图 实验步骤 新建工程 新建文件夹,在该文件夹下新建工程tlc549。 编写低层HDL文件 根据原理图A.3的内容,编写各个功能模块的HDL文件。 3、编写顶层原理图文件 新建原理图文件,并添加各个模块。 设定为顶层文件,进行编译,如有错误,纠正直至成功为止。 锁定管脚 按表 锁定管脚,并重新进行编译,把管脚信息编译到下载文件中。 下载 下载后,调节电位器RW1,观察数码管的数值变化是否正确。 实验参考程序 程序清单 adc3.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_Arith.ALL; USE IEEE.STD_LOGIC_Unsigned.ALL; ENTITY adc3 IS PORT( clk48M: IN STD_LOGIC;--系统时钟 sdat_in: IN STD_LOGIC;--TLC549串行数据输入 ad_clk: OUT STD_LOGIC;--TLC549 I/O时钟 cs_n: OUT STD_LOGIC;--TLC549 片选控制 data_out: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--AD转换数据输出 ); END; ARCHITECTURE one OF adc3 IS SIGNAL tsu_number: STD_LOGIC_VECTOR(2 downto 0);--tsu延时累加器 SIGNAL clk_count: STD_LOGIC_VECTOR(3 downto 0);--24次分频累加器 SIGNAL con_number: STD_LOGIC_VECTOR(5 downto 0);--等待转换延时累加器 SIGNAL clk2M,con_ready,read_ready,reset_con,reset_tsu,can_read: STD_LOGIC; SIGNAL data_reg: STD_LOGIC_VECTOR(7 downto 0);--读数结果寄存器 TYPE states IS(st0,st1,st2,st3,st4,st5,st6,st7,st8,st9,st10,st11,st12,st13,st14,st15,st16); SIGNAL c_state,n_state:states; BEGIN PROCESS (clk48M) BEGIN IF RISING_EDGE(clk48M) THEN IF clk_count =1011 THEN clk_count=0000;

文档评论(0)

sfkl + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档