首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

自适应同步器的FPGA实现

自适应同步器的FPGA实现

 在许多高速数据采集系统中,数据正确锁存是设计者必须要面对的问题。特别是在内部时钟与外部时钟采用同一个时钟源的基于FPGA的高速数据采集系统中,由于走线延时、器件延时、FPGA输入管脚延时,导致FPGA输入数据与FPGA内部时钟的相对相位关系不确定;在时钟频率可变的情况下,相对相位关系还会随频率变化。在FPGA内部一般采用D触发器实现对输入数据的采样。为了避免亚稳态[3],D触发器要求输入数据相对时钟沿满足一定的建立、保持时间,即输入数据与FPGA内部时钟要满足一定的相位关系。由于输入数据与采样时钟相对相位的不确定性,就有可能不满足FPGA内部D触发器的建立、保持时间,出现亚稳态。针对上述情况,本文给出在FPGA中可以自适应地选择时钟上升沿或下降沿采样的自适应同步器电路设计。该电路能够检测锁存时钟上升沿与输入数据跳变的相位关系,由检测结果选择上升沿采样或下降沿采样,使数据变化避开时钟沿的亚稳态窗[1],降低出现亚稳态的概率。

  1 某雷达数据采集系统简介

  图1所示为某雷达系统数据采集原理图,该雷达系统有两种带宽,要求两种采样频率,采样时钟由FPGA产生。设计采用了ECL输出电平标准的ADC,FPGA输入输出采用LVTTL标准。因此,FPGA输出时钟以及ADC数据送入FPGA均需要采用电平转换芯片。这样,FPGA输出时钟的上升沿到相应FPGA输入管脚上升沿之间(图1中C点到D点)有8~9ns的延时。相同的延时,不同的采样频率,输入数据与采样时钟的相对相位不同;而且由于FPGA内部布线延时的不确定性,采样时钟与输入数据的相对相位会随着每次重新布局布线而改变,这两种情况都可能导致不满足D触发器的建立、保持时间,导致采样失效。

  


  如图2所示,在FPGA内部若采用上升沿锁存数据,对于115MHz采样频率可以保证正确采样,对于85MHz的采样频率,有可能出现采样失效;反之,若采用下降沿锁存数据,115MHz的采样频率可能出现采样失效。
  解决上述问题的难点在于预测输入数据与采样时钟的相位关系,从而选择合适的采样时钟沿。采用图1所示的采样方案,经常出现某一种采样频率采样失效的情况,如115MHz采样频率采样正常,而85MHz采样频率采样失效。自适应同步器可以预测采样时钟与输入数据的相位关系,自适应地选择上升沿或下降沿采样,降低出现亚稳态的概率。

  2 自适应同步器原理

  自适应同步器能够预测采样时钟上升沿与输入数据的相位关系。如果相位关系不能满足D触发器的建立、保持时间,则自适应同步器能自适应地对数据或者时钟作延时调整,直到满足建立、保持时间。
  根据同步器延时调整对象不同,同步器可以分为时钟延时同步器和数据延时同步器。下面给出两种同步器的实现原理。
  2.1 时钟延时同步器
  图3所示为时钟延时同步器,冲突检测电路检测输入数据与时钟沿的相位关系,根据检测结果由状态机自适应选择时钟是否延时。图3中时钟延时单元可实现时间为T的延时,延时单元若为一非门,该电路就是一个简单的时钟上升沿采样或者下降沿采样的自适应选择电路。

  


  该电路具有相对简单、容易实现的特点。但是由于时钟延时只有两种选择,不可能实现相位的精确匹配,很难适应一些超高速电路的需求。该电路一般选取数据总线中的某一位做相位匹配,因此要求数据总线上各位数据延时尽可能相等。
继承事业,薪火相传
返回列表