基于FPGA的自适应同步器电路设计详解

时间:2025-11-01  作者:Diven  阅读:0

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

基于FPGA的自适应同步器电路设计详解

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的延时,延时单元若为一非门,该电路就是一个简单的时钟上升沿采样或者下降沿采样的自适应选择电路。

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

2.2 数据延时同步器

图4所示电路为数据延时同步器,输入数据经过若干级延时单元的延时,冲突检测电路检测时钟上升沿与各级延时数据的相位关系,由状态机选择较为理想的延时数据。

数据延时同步器可以实现对数据的精确延时,实现对超高速数据或DDR数据的锁存。但是,由于大量延时单元的使用,增加了FPGA设计的复杂度,实现较为困难。

3 自适应同步器在采样系统中的应用

图5所示电路为自适应同步器在图1所示的某雷达采样系统中的应用。图5中采样时钟、D触发器组与图1中相同,只是图5中D触发器组的时钟改为同步时钟,BUFG为Xilinx FPGA内部的全局时钟缓冲。自适应同步器检测同步时钟与数据最低位data[0]的相对相位,自适应地选择采样时钟,达到同步输入数据的目的。由于数据总线只选取其中一位data[0],因此要求总线上各位数据延时尽可能相等。

4 自适应同步器的FPGA实现

数据延时同步器实现较为复杂,尤其对于位数较多的数据总线,需要占用很多资源,状态机也较复杂。但其实现原理与时钟延时同步器基本相同,本文只给出时钟延时同步器的实现。图6所示电路为自适应同步器,其中del为延时单元,延时时间计为T_del;me_p为data上升沿与时钟上升沿的冲突检测模块,me_n为data下降沿与时钟上升沿的冲突检测模块;fsm为有限状态机。当data跳变发生在时钟上升沿[-T_del,T_del]时间之内时,电路输出sel有效。

4.2 突检测单元me_p,me_n的实现

图8为冲突检测单元me_p的原理图。该电路可以实现两路输入信号上升沿的相位检测,如果输入信号r1上升沿较r2的上升沿提前,则g1输出为‘1’,g2为‘0’;否则g1输出为‘0’,g2为‘1’。在FPGA实现时,采用基于四输入查找表(LUT4)的设计,对于布局布线要尽可能保持对称性,需要加入布局约束、甚至布线约束。图9为经Synplify综合后的原理图。

冲突检测单元me_n可以实现输入信号r1下降沿与输入信号r2上升沿的相位检测,原理同me_p。对于me_n的实现,只要在配置FPGA查找表(LUT)时,将图9中I0单元(LUT4_7FFF)改为“LUT4_DFFF”即可。

4.3 状态机的实现

图10为自适应同步器状态机,输入为conflICt,输出为sel。状态机共8个状态,状态为S0、S1、S2、S3时,输出为‘0’,选择图(5)所示‘sam_clk’;否则输出为‘1’,选择‘sam_clk’的反向时钟‘~sam_clk’;中间态S0、S1、S2以及S4、S5、S6可以有效防止状态机振荡。图10中′x′表示任意状态。

上述自适应同步器已经过图1所示的雷达采样系统的验证。采样频率在20MHz到140MHz范围内变化时,未出现采样失效。

4.1 延时单元的FPGA实现

图7为延时单元电路,采用FPGA内部的LUT4作延时。由于FPGA内部布线延时与LUT4延时相比不可忽略,因此需要对LUT4作相对布局约束,必要时还要作布线约束。

猜您喜欢

随着电子设备向着小型化和高性能的方向发展,封装技术也在不断进步。其中,SOT23-Thin(超薄SOT23封装)作为新兴的封装形式,受到了的关注。本文将对SOT...
2025-04-22 13:01:43

贴片电阻102和103不一样,主要区别在于阻值。电阻值通常用数字编码表示,像102、103这样的三位数字,前两位表示有效数字,最后一位表示10的n次方,单位是欧...
2024-11-29 10:25:56

PTC热敏电阻因其独特的温度敏感特性,被应用于过流保护、温度补偿和自恢复保险等多个场景。禾伸堂(HEC)作为业内知名品牌,其PTC热敏电阻产品种类丰富,性能稳定...
2014-08-19 16:02:30

在现代餐饮行业中,商用餐饮设备是非常重要的配件,其主要优势不容忽视。商用餐饮设备具有高效性,能够在短时间内处理大量食材,满足高峰时段的需求,提升运营效率。这些设...
2016-10-20 00:00:00

精密电阻作为电子元器件中的重要组成部分,其性能直接影响着电子设备的稳定性和精确度。智宝(TEAPO)作为国内知名的电子元器件制造商,其生产的精密电阻因品质优良、...
2014-07-28 15:40:30

贴片电阻1004的阻值并非1004欧姆,而是100千欧姆。 「1004」 这种标识方法遵循EIA-96 标准,用于表面贴装电阻(SMD 电阻)。它是一种三位数代...
2024-11-26 11:30:03

在选择清洁用品时,了解其参数非常重要。清洁剂的成分是关键,通常分为生物酶型、酸性和碱性等,选择时需根据污渍类型和材质来决定。PH值也是一个重要参数,适合的PH值...
2010-03-28 00:00:00

从宏观引力波探测器到纳米级声学器件,具有高长宽比的机械谐振器在精密传感领域发挥着举足轻重的作用。然而,制造方面的挑战和高昂的计算成本限制了这些器件的长度与厚度之...
2024-06-27 16:10:00

贴片电阻,就是表面贴装的电阻器。利用电阻体材料的电阻率,限制电流的通过,从而实现降低电压或分流的目的。其工作原理基于欧姆定律:电压 (V) = 电流 (I) ×...
2024-11-29 10:26:07

2R20贴片电阻是一种常用的电子元件,其标称阻值为2.2Ω,封装尺寸为2 x 0毫米,也就是我们常说的0201封装。别看身材小巧,却在各种电子电路中是很重要的配...
2024-11-29 10:26:25