换体DMA高速数据采集电路的CPLD实现.docVIP

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

换体DMA高速数据采集电路的CPLD实现 摘要:介绍了块体DMA高速数据采集电路原理及其CPLD实现。用CPLD设计双端口RAM缓存、控制译码、时序逻辑电路,很好地解决了电路元件所占体积大、电路复杂、不能实现在线升级等问题,大大提高了系统的整体性能。 换体DMA CPLD 双端口RAM 在线升级 在许多仪器和控制系统中,高速数据采集电路是必不可少的,也是经常需要解决的问题。数据采集电路设计方法很多,但往往离不开A/D转换电路、数据缓存电路、控制逻辑电路、地址发生器、址译码电路等。而数据缓存、控制逻辑、地址译码等电路通常是由RAM芯片、与非门、触发器、缓冲/驱动器等构成,导致数据采集电路复杂、芯片繁多,特别是硬件的固定使得采集系统在线升级几乎不可能。很多情况下只有重新设计电路和印刷板,重新焊接和调试,造成开发周期长、成本大大增高。复杂可编程逻辑器件CPLD的应用,为这些问题的解决提供了一种好的办法。利用CPLD芯片本身集成的上万个逻辑门和EAB,把数据采集电路中的数据缓存、地址发生器、控制译码等电路全部集成进一片CPLD芯片中,大大减小了系统的体积,降低了成本,提高了可靠性。同时,CPLD可由软件实现逻辑重构,而且可实现在系统中编程(ISP)以及有众多功能强大的EDA软件的支持,使得系统具有升级容易、开发周期短等优点。在数据采集有电路中,采用换体DMA技术不但大大地提高了数据采集的速度,而且弥补了数据采集中可能丢失数据的缺陷。 1 换体DMA数据采集电路原理 系统原理框图如图1所示。在时序电路的控制下,模拟输入开关将多达16路(单端输入)或8路(差分输入)的模拟输入信号经多路开关送至放大器的输入端,放大后由内含采样/保持电路的模数转换器AD774B转换成数字量,转换完的数字量经时序电路的控制写入两个存储体的一个(例如存储体0)中。每个存储体有4KB的容量,但实际使用中存储容量可设定为小于4KB。当计数到设定的存储空量后,控制电路产生换体信号,后续的A/D转换数据自动地存入另一个存储体(存储体1)。同时控制电路向主机发出DMA请求信号,主机响应请求后在时序电路配合下,从已存储规定数据的存储体(存储体0)中读入所存的数据。这样存储体0和存储体1交替存取,直到规定的换体次数计完为止。 数据采集电路中,时序控制电路、地址发生器、多路控制驱动器等芯片众多,占用了大部分体积,逻辑时序复杂。用CPLD实现这些电路则显得简单明了,如图2所示。图2中地址发生器、双端口RAM、时序控制等电路都可以用HDL语言或原理图,或是两者结合来实现,使电路开发简单、灵活、方便。 2 采用CPLD实现换体DMA CPLD的开发必须经过前期的逻辑设计、前仿真、后仿真、目标代码下载及在调试等过程,该设计过程是借助ALTERA公司的EDA软件MAXPLUS II 10.1来实现的。MAXPLUS II支持原理图输入、HDL语言输入、设计波形输入等。本设计则是将原理图和HDL语言输入相结合,这样既可以加快开发速度,又不失灵活性。本电路设计所用的CPLD芯片一FLEX10K30E。它是ALTERA公司1995年把EAB与逻辑阵列块相结合的产品,增加了许多FLEX10KA、B系列没有的新特点;FLEX10K30E内有30000个逻辑门,247576个RAM位,支持3.3V、5V多种电源,速度等级高。 2.1 数据缓存——双端口RAM 双端口RAM的核心是存储器阵列,它的读与写相互独立,有各自的时钟线、地址总线、数据总线和使能端。在数据采集时,数据进入存储器进行缓存,同时CPU可以从缓存中取出数据读进计算机内存。在传统的双RAM换体方案中要实现换体,存储器芯片必须使用偶数片来交互存储;当A/D数据位数超过8位时,需要另加芯片来存储高于8位的数据。在CPLD中设计双端口RAM模块不但实现了双RAM换体功能,而且使缓存RAM的数据位数、存储量大小可以根据需要任意配置。 如上所述,在CPLD中设计双端口RAM,可以有两种方式:原理图输入和HDL语言输入。本设计采用的是MAXPLUS II库中的LPM_RAM_DP宏,原理图如图3所示。 在LPM_RAM_DP宏中总共有10个可配置参数。通常情况下,只配置LPM_WIDTH(数据宽度)、LPM_WIDTHAD(地址总线宽度)、USE_EAB(是否使用嵌入式阵列块EAB)三个参数。在本设计中,AD774B的数据宽度是12位,转换速度为8微秒,所以配置了LPM_WIDTH 12,LPM_WIDTHAD 10(缓存容量为1K),USE_EAB ON。对于缓存的大小,可以在调试过程中根据具体采集速度和缓存要求进行在线调整,而不影响其他逻辑电路。 图3LPM_RAM_DP模块中rdaddress、rden、rdclock、rdclken、q分别

文档评论(0)

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

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

1亿VIP精品文档

相关文档