FPGA/CPLD中常见模块设计精华集锦(-)

2012-06-15 12:59:50来源: 21ic
   

一、智能全数字锁相环的设计

  1 引言

  数字锁相环路已在数字通信、无线电电子学及电力系统自动化等领域中得到了极为广泛的应用。随着集成电路技术的发展,不仅能够制成频率较高的单片集成锁相环路,而且可以把整个系统集成到一个芯片上去。在基于FPGA的通信电路中,可以把全数字锁相环路作为一个功能模块嵌入FPGA中,构成片内锁相环。

  锁相环是一个相位误差控制系统。它比较输入信号和振荡器输出信号之间的相位差,从而产生误差控制信号来调整振荡器的频率,以达到与输入信号同频同相。所谓全数字锁相环路(DPLL)就是环路部件全部数字化,采用数字鉴相器(DPD)、数字环路滤波器(DLF)、数控振荡器(DCO)构成的锁相环路,其组成框图见图1示。

  

  当锁相环中的鉴相器与数控振荡器选定后,锁相环的性能很大程度依赖于数字环路滤波器的参数设置。

  2 K计数器的参数设置

  74297中的环路滤波器采用了K计数器。其功能就是对相位误差序列计数即滤波,并输出相应的进位脉冲或是借位脉冲,来调整I/D数控振荡器输出信号的相位(或频率),从而实现相位控制和锁定。

  K计数器中K值的选取需要由四根控制线来进行控制,模值是2的N次幂。在锁相环路同步的状态下,鉴相器既没有超前脉冲也没有滞后脉冲输出,所以K计数器通常是没有输出的;这就大大减少了由噪声引起的对锁相环路的误控作用。也就是说,K计数器作为滤波器,有效地滤除了噪声对环路的干扰作用。

  显然,设计中适当选取K值是很重要的。K值取得大,对抑止噪声有利(因为K值大,计数器对少量的噪声干扰不可能计满,所以不会有进位或借位脉冲输出),但这样捕捉带变小,而且加大了环路进入锁定状态的时间。反之,K值取得小,可以加速环路的入锁,但K计数器会频繁地产生进位或借位脉冲,从而导致了相位抖动,相应地对噪声的抑制能力也随之降低。

  为了平衡锁定时间与相位抖动之间的矛盾,理想的情况是当数字锁相环处于失步状态时,降低K计数器的设置,反之加大其设置。实现的前提是检测锁相环的工作状态。

  3 工作状态检测电路

  图2为锁相环状态检测电路,由触发器与单稳态振荡器构成,fin为输入的参考时钟,fout为锁相环振荡器输出的时钟移相900。fout对fin的抽样送入单稳态振荡器。

  

  

  在锁定状态如图3,fout与fin具有稳定的相位关系, fout对fin抽样应全部为0或1,这样不会激发振荡器振荡,从而lock将输出低电平;而失锁状态时如图4,fout与fin出现相位之间的滑动,抽样时就不会出现长时间的0或1,单稳态振荡器振荡,使lock输出高电平。锁相环的锁定状态保持时间的认定,可以通过设置振荡器的性能。在FPGA设计中,要采用片外元件来进行单稳定时,是很麻烦的,而且也不利于集成和代码移植。单稳态振荡器的实现也可以在FPGA内实现,利用计数器的方法可以设计全数字化的上升、下降沿双向触发的可重触发单稳态振荡器。

  

  4 智能锁相环的设计

  智能全数字锁相环的设计如图5所示。锁相环与CPU接口电路,由寄存器来完成。对于CPU寄存器内容分为两部分:锁相环的工作状态(只读),k计数器的参数值(读/写)。CPU可以通过外部总线读写寄存器的内容。

  图5 智能全数字锁相环框图

  CPU根据锁相环状态就可以对锁相环K计数器进行最优设置。实际测试时设置K初始值为23,此时锁相环的捕捉带较大,在很短时间内就可以达到锁定状态,lock变为低电平。CPU检测到此信号后自动将K值加1,如lock仍然为低电平,CPU会继续增加K 值;直到锁相环失锁,记住其最佳设置值。设置K为初始值,锁定后,设置到最佳值,这样锁相会快速进入最佳的锁定状态。

  关于CPU的选择有三种方案:①FPGA片内实现CPU。片上系统的发展使其成为可能。②与片外系统共用CPU。DPLL大多用于通信系统中,而大部分通信系统都有嵌入式CPU。③单独采用一个廉价单片机(如89C51),不仅可用于智能锁相环的控制,还可控制外部RAM实现FPGA的初始装载,一机多用,经济实惠。可以视具体情况而定。

  5 结论

  智能全数字锁相环,在单片FPGA中就可以实现,借助锁相环状态监测电路,通过CPU可以缩短锁相环锁定时间,并逐渐改进其输出频率的抖动特性。解决了锁定时间与相位抖动之间的矛盾,对信息的传输质量都有很大的提高。此锁相环已用于我校研发的数字通信产品中。
二、使用PLD内部锁相环解决系统设计难题

  微电子技术的发展趋势是片上系统(SoC),也就是在一块芯片上实现整个系统,包括模拟部分和数字部分。作为IC产业中重要的一个分支,可编程逻辑器件(PLD)也在努力向这个方向发展。无论是Xilinx还是Altera,它们最新的PLD产品中都集成了诸如PCI接口、乘法器、MCU核以及DSP核等部件,有的甚至集成了完整的微处理器。例如,Xlinux的Vietex2-Pro系列就是集成了PowerPC微处理器。

  锁相环技术是模拟集成电路设计中一个重要的研究方向。但是,现在中高档的可编程逻辑器件一般都集成有片内的锁相环(如Xilinx的Spartan2系列,Altera的Cyclone系列)。锁相环一端连接外部全局时钟或者全局控制信号,另一端连接可编程逻辑器件内部专门的布线网络,可以最大程度地减少全局时钟信号到片内各个部分的布线延迟,有效地消除了时钟偏移而带一的各种问题。同时,锁相环一般都提供了倍频、分频、相移三个功能。

  1 应用背景介绍

  本文用FPGA实现FIFO,连接PCI与TI的TMS320C6204的扩展总线,与DSP传输数据的时钟达到100MHz。由于DSP的接口对于时钟和信号的要求很苛刻,所以下面具体分析核心的DSP的XBUS时序。

  DSP的扩展总线(XBUS)是一个32位宽的总线,支持与异步外设、异步/同步FIFO、PCI桥以及外部主控处理器等的接口。它同时提供一个灵活的总线仲裁机制,可以内部进行仲裁,也可以由外部逻辑完成。

  本文中使用XBUS的同步FIFO接口。如果是要读取FIFO,首先FIFO要通过中断信号XINT0来通知XBUS数据已经准备好,然后XBUS响应XCE0、XRE、XOE有效,就开始读取FIFO中的数据,读FIFO的时序如图1所示;如果是要写FIFO,FIFO通过XINT1申请XBUS,然后XBUS响应XCE1、XWE有效,开始一个写FIFO的DMA传输过程,写FIFO的时序如图2所示。

  通过分析XBUS读写FIFO的时序关系可以看出,在FIFO实现的过程中需要注意以下几个地方:

  ①XBUS工作时钟是100MHz,对于大部分的FPGA来说是一个比较高的频率。而且,由于读出的数据要求一定的建立时间(setup time)和保持时间(hold time),这就对内部逻辑的设计提出了较高的要求。

  ②读FIFO时,必须在使能信号有效之后的第二个时钟周期就把数据输出。对于FIFO内部的双端口RAM来说,这个实现起来不一定能满足要求(有很多RAM是在使能信号只有的3~5个时钟周期才输出数据的)。这样,通用FIFO中就要考虑产生预读逻辑来产生数据,以满足XBUS严格的时序要求。

  ③XBUS的使能信号XCE0/XCE1/XRE/XOE/XWE的变化时间范围是在时钟有效之后的1~7ns,考虑到FPGA内部的组合逻辑延时和布线延时,这样对有效信号的锁定可能是不稳定的。这就为逻辑设计带来了很大的难度。

  2 锁相环的相移功能

  系统时钟是100MHz,为了获得更好的布线效果和系统性能,时钟信号必须经过锁相环到达全局时钟布线网络。同时,锁相环还可以提供多个时钟相移的信号,同样可以连接到全局布线网络来驱动片的时钟信号。以Xilinx公司的SPARTAN2系列芯片为例(Altera的Cyclone或者更高级别的系列也提供了类似的锁相环),使用片内锁相环进行时钟相移。

  相移以后的时钟对于系统设计有很大的用处。本文利用了相移以后的时钟解决了系统设计中的两个难点,取得了令人满意的效果:

  ①用PLL解决使能信号漂移的难题;

  ②使用PLL满足TI的TMS320C62XX系列DSP中XBUS的建立、保持时间要求。

  3 使用PLL解决使能信号漂移的难题

  由于DSP的XBUS响应FIFO的中断XINT0时,需要回复XRF、XCE0、XOE三个信号。只有三个同时有效时,才可以读FIFO,所以读使能信号RDEN=not(XCE0 or XRE or XOE);XBUS回复FIFO中断信号XINT1时,需要回复XWE和XCE1两个信号。只有两个信号时有效才可以写FIFO,所以WREN=not(XCE1 or XWE)。

  RDEN或者WREN都是由FPGA内部组合逻辑产生的,在FPGA内部组合逻辑的物理延时(tc)为3~5ns。考虑到XBUS的使能信号本身相对于时钟上升沿(td)就有1~7ns,所以使能信号有效相对时钟上升沿来说可能的变化范围为4~12ns,如图4所示。

系统经过锁相环的相移,驱动FPGA内部逻辑的时钟。相对于XCLK来说,如果XBUS的回应信号的延时为1ns(图4中实线所示部分),则RDEN经过组合逻辑延迟,变为高有效的时候,可以在时钟的第一个上升沿采样到(图4中实线所示);如果XBUS的回应信号延时为7ns,

[1] [2] [3]

关键字:FPGA  CPLD  设计精华

编辑:北极风 引用地址:http://www.eeworld.com.cn/FPGA/2012/0615/article_2977.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
FPGA
CPLD
设计精华

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved