基于CPLD的片内振荡器设计.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  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文档。上传文档
查看更多
基于CPLD的片内振荡器设计 ??????? 在绝大部分数字系统设计中,时钟是不可或缺的部分,通常采用外接有源或者无源振荡器来提供时钟信号。外接时钟的优点是性能稳定,设计简便;缺点是会增加电路板面积,而且高频设计时对电路板布线和加工的要求比较严格,可能增加系统成本和设计难度。基于可编程逻辑器件FPGA/CPLD的设计提供了另外一种选择,即采用片内的可编程资源实现振荡器功能。这种设计可以将振荡部分同时集成到FPGA/CPLD中,减少了外部资源的使用。 ??????? 环形振荡器是最简单的振荡器设计方法,在分立器件和专用集成电路(ASIC)设计中一直受到关注[1,2,3]。但是在这类设计中,振荡频率随电压变化的特性使其应用受到限制,所以要在工艺或电路设计方面考虑振荡频率的稳定问题[2][3]。随着电路制造技术的发展,稳压电路已经物美价廉;另外,FPGA/CPLD厂商为用户在片内预设了一些特定模块,为振荡器的片内实现提供了方便。如Altera公司的MaxII系列CPLD芯片,允许用户通过软件Quartus II的MegaWizard:Plug-in Manager功能来调用系统提供的参数化模块库(LPM)。其中的IO/MAXII Oscil-lator[4]模块即是一个能在芯片内部实现片内振荡器的软核,其工作频率范围为3.33MHz~5.56MHz,用户不可以调整工作频率。在做仿真应用时,可选择3.33或5.56MHz;在实际应用中,会自动给出3.33~5.56MHz范围内的振荡频率。该片上振荡器模块只能下载在MaxII系列芯片内的用户闪存存储器(UFM)上,振荡输出可以驱动芯片引脚和内部逻辑,该UFM资源一旦作为振荡器使用,便不能再实现并联接口(PIO)、串连接口(SPI)和IIC接口等其他功能。 本文介绍一种通用的基于CPLD的片内振荡器设计方法,它基于环形振荡器原理,只占用片上普通逻辑资源(LE),无需使用专用逻辑资源(如MaxII中的UFM),从而提高了芯片的资源利用率;振荡频率可在一定范围内调整,振荡输出可以驱动内部逻辑和外部器件引脚。本设计有较大的通用性,可方便地在不同CPLD器件间移植,使一些基于CPLD的片上系统(SoC)设计无需使用外部时钟信号源,从而降低设计成本和难度,增加系统集成度。通过在Altera公司的MAX7000系列EMP7128LC84-15芯片上的实验说明实现的方法。实验实现的频率范围在8MHz~62MHz。仿真和硬件测试结果表明了该设计方法的正确性和可行性。 1 基于CPLD的片内环形振荡器 环形振荡器原理如图1所示。由奇数个非门组成的环形非门级联串使电路处于无稳定状态,静态下任何一个非门的输入和输出都不可能稳定在高电平或低电平,而只能处于周而复始的高低电平转换状态,从而产生自激振荡[5]。振荡周期为T=2Ntpd,其中N是非门的个数,tpd是每个非门的传输延迟时间,改变电路中非门的数量可以改变电路的振荡频率。 图1所示的环形振荡器即使采用电路原理图输入,经电子设计自动化(EDA)软件综合后,也得不到对应的电路结构。实际上,EDA综合工具不是从电路结构出发,而是从电路输入和输出的逻辑关系出发给出综合结果,所以,奇数个非门的级联将被综合为一个非门,而偶数个非门的级联被综合为一个缓冲或一条联线。为能在CPLD器件中实现图1的环形振荡器结构,本文将图1中单端口输入元件改成二端口输入元件,即用二输入与非门代替图1的第一个非门,其余偶数个非门则用二输入与门代替,二端口元件的一个输入端口连接上级输出,另一输入端口作为控制端引出。振荡器正常工作时控制端全部置高电平。采用Synplify Pro 7.7综合后的原理图如图2所示。该电路完全可实现图1的功能。 为了保证正反馈,图1结构的非门级联必须是奇数个。图2中的与非门起到反相作用,其他与门则起延时缓冲的作用。可以通过改变门的数量以及选择门的种类(与门、与非门等)改变osc输出端的振荡频率,而不受奇数个门的限制,只要保障第一个门得到正反馈就可以产生振荡。而图1的结构必须改变偶数个非门才能达到改变振荡频率的目的,因而图2结构在CPLD芯片中实现时可以节省逻辑资源。控制端oscena[n-1,0]为振荡使能控制端,置高电平时,与非门的输入和输出在缓冲级联链的反馈作用下产生自激振荡,振荡器正常工作;控制端的任意一位置零使振荡器停振。所以oscena既可单独使用,也可互联后作为一个端使用。实验证明,图2结构能够保证门延时的等间隔特性。 2 CPLD片内振荡器的实现和优化 2.1 CPLD片内振荡器的实现 基于上述方法的片内环形振荡器设计有很大的通用性,可在不同CPLD芯片间方便地移植。本文以Altera公司的MAX7000S系列CPLD芯片的实现和测试为例说明。MAX70

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档