AD高速采样控制器设计.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  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文档。上传文档
查看更多
AD高速采样控制器设计.doc

A/D高速采样控制器设计 高速A/D转换应用于视频处理、医学影像、高速数据转换等领域,本设计以TI公司的TLC5510为例介绍CPLD控制高速A/D转换进行数据采集。 TLC5510是一种采样精度为8位,转换速度高达20MSPS(兆次/秒)的A/D转换芯片。采用CMOS工艺制造,图1为TLC5510的管脚图 图1 TLC5510管脚图 引脚功能如下:OE为输出使能端;DGND、VDDD为数字地和数字电源;D1—D8为转换数据输出;CLK为时钟信号输入;AGND、VDDA为模拟地和模拟电源;REFT、REFTS、REFB、REFBS为参考电压基准输入。 TLC5510功能块框图 图2 TLC5510功能块框图 TLC5510的采样时序图TLC5510在每个时钟周期都启动一次采样,完成一次采样;每次启动采样在时钟的下降沿开始,转换结果在2.5个时钟周期后输出;当连续采集数据时,每个时钟的下降沿A/D都会输出一个采样数据。 图3 采样时序图 图4 内部功能的时序图 利用TLC5510内部的三个电阻R1、RREF、R2产生内部参考电压REFTS、REFT、REFB、REFBS,可以允许变化范围为2V的采样电压输入。 电路连接参考图5。 图5 利用内部电阻提供参考电压 如果不利用TLC5510的内部电阻分压提供参考电压,可以通过外部提供一个4V的参考电压,此时采样电压的输入范围为4V。电路连接参考图6。 图6 利用外部输入提供参考电压 模拟输入电压范围为VREF(B)—VREF(T)对应的数字量输出如图7所示: 图7 功能表 应用电路参考图8: 图8 TLC5510的应用电路 参数配置如图9: 图9 电路参数配置 系统框图如图10所示:数据采样模块为TLC5510,数据存储模块为LPM_RAM_DP,地址产生器模块为ADDR。 采样模块TLC5510的输出ADCK为TLC5510提供采样时钟,ADOE为TLC5510的输出使能一直有效,DATA[7..0]为采样数据输出连接到数据存储模块的输入端DATA[],DCLK为DATA的同步时钟为地址产生器提供计数脉冲;地址产生器的地址输出连接到wraddress[]从零开始,当采样模块输出一个数据存储到RAM中后,DCLK输出一个脉冲使地址加一,连续采集1024个数据进行存储;LPM_RAM_DP为双端口RAM读写相互独立,输入地址ADDR[9..0]到LPM_RAM_DP的读地址rdaddress[]端则相应的数据就从q[7..0]输出了。选择EP1K50QC208-3器件此电路经过MAX+PLUSII的时序分析给出最大工作频率为119.04MHz,远远超出设计要求。 图10 数据采集系统框图 模块TLC5510的参考程序如下: library ieee; use ieee.std_logic_1164.all; entity tlc5510 is port(rst:in std_logic; clk:in std_logic; d :in std_logic_vector(7 downto 0); adck:out std_logic; adoe:out std_logic; data:out std_logic_vector(7 downto 0); dclk:out std_logic); end tlc5510; architecture adctro of tlc5510 is type adstates is(sta0,sta1); signal ads_state,next_ads_state:adstates; signal lock:std_logic; begin process (ads_state) begin case ads_state is when sta0=>adck<='1';lock<='1';dclk<='0'; next_ads_state<=sta1; when sta1=>adck<='0';lock<='0';dclk<='1'; next_ads_state<=sta0; when others=>adck<='0';lock<='0';dclk<='1'; next_ads_state<=sta0; end case; end process; process(clk,rst) begin if rst='0' then ads_state<=sta0; elsif (clk'event and clk='1') then ads_state<=next_ads_state; end if; en

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档