【学术论文】基于FPGA的TMR电路跨时钟域同步技术

摘要: 

三模冗余(TMR)电路中的跨时钟域信号可能会受到来自信号偏差和空间单粒子效应(SEE)的组合影响。通过建立数学模型,对这两个问题进行分析和量化。最后针对长脉宽和短脉宽源信号的不同情况,提出了相应的解决方案。

中文引用格式: 赖晓敏,泮朋军,罗唤霖,等. 基于FPGA的TMR电路跨时钟域同步技术[J].电子技术应用,2017,43(1):32-34,38.
英文引用格式: Lai Xiaomin,Pan Pengjun,Luo Huanlin,et al. Synchronization technology for TMR circuits across clock domains based on FPGA[J].Application of Electronic Technique,2017,43(1):32-34,38.

0 引言

基于SRAM型的现场可编程门阵列(FPGA)目前在卫星电子系统中被大量应用。但由于SRAM型FPGA工艺特点,其功能的实现都是受内部静态RAM单元控制的,因此容易受到空间单粒子翻转效应(SEU)的影响。三模冗余(TMR)技术能有效降低FPGA电路的单粒子翻转效应。

如果对三重传输信号经过异步时钟边界之后的采样信号不作处理,则还有可能产生问题。本文针对在应用电路出现以下现象:亚稳态、异步采样不确定性和SEU,进行了量化和分析,同时对三重时钟域异步采样的不确定性的影响进行建模,最后对同步器进行了优化设计。

1 信号复制和采样的不确定性

在TMR电路中,除表决电路外,每个模块和信号都是三重复制,这有可能会带来异步采样不确定的问题。3个相同的信号在异步采样模式下,可能会在接收时钟域上不同的时钟周期到达。图1为三重信号经过不同时钟域的传输。在理想的情况下,接收到的信号Sigrcv_A、Sigrcv_B和Sigrcv_C在接收端时钟域将是一致的。然而,在非理想的情况下,假设信号在时钟上升沿采样,如图2所示,由于存在布线延迟差异,采样后的信号可能无法保持一致[1]

为了估算三重信号传输的可靠性,本文将图1简化为图3所示的电路。

源信号Sig_s经三重复制,从Clks时钟域被传送到时钟域Clkr,在传输网络中的延迟时间分别为TdelayA、TdelayB、TdelayC(假设触发器的建立和保持时间为0 ns)。图4为采样不确定时的时序波形。

由于三组信号Sig_A、Sig_B、Sig_C的传输延时不一致,因此到达时间也不一致。Sig_A、Sig_B在Clkr时钟上升沿前到达,而Sig_C由于延迟较大,落后于Clkr时钟上升沿,因此在这个Clkr时钟周期内无法被采样,由此产生了采样的不确定性风险。

若Clkr时钟上升沿落在最大延迟和最小延迟的窗口(即判决窗口Tskew=TdelayC-TdelayA)之外,那么采样不确定性将不会发生。若接收端的时钟比发送端的时钟要慢,Clkr上升沿落在Clks周期外的概率是:p1=Fr/Fs;反之,Clkr上升沿落在Clks周期内的概率为在判决窗口Tskew除以发送端的时钟周期p2=Tskew/Ts。因此,未经同步的三组脉冲信号发送到接收端的概率为两组概率的乘积:P1=p1×p2=(Fr/Fs)×(Tskew/Ts)=Fr×Tskew。由于在Clks周期内输入信号变化的概率可表示为Fd/Fs。因此,3个触发器的输出不在同一时钟周期内的概率可表示为:P=P1×(Fd/Fs)=Tskew×(Fr×Fd/Fs)。

因此,降低概率P便降低了TMR判决出错的概率。可以看出,减小判决窗口Tskew、降低发送端信号变化与时钟频率比值Fd/Fs以及降低接收端时钟频率Fr均可以达到类似效果。

2 采样不确定性及信号偏差的效应

采样电路中接收的三重信号脉冲宽度足够长时,时序图如图5所示。

虽然因互连延迟,3个相同的信号在接收端的时钟域里并不完全一样。如Sig_A和Sig_B在第一个时钟周期里被采样成‘1’,Sig_C被采样成‘0’。由于信号宽度足够长,在后两个时钟周期内三组信号可以被正确的采样,不影响后续处理。因此,如果源信号具有足够长的脉冲宽度,且判决器被正确放置在源信号的有效周期内,源信号的分组偏差不会导致后端信号的处理错误。

信号脉冲宽度不满足要求时,信号偏差将影响采样结果。三组源信号的脉冲宽度是与接收端的时钟宽度Trcv一致,在没有信号偏差的情况不会产生错误,如图6所示。

一旦某一组信号存在偏差,在接收端的采样将会出现偏差,如图7所示,而这种偏差具有一定的脆弱性,用判决器进行纠正时有可能出现误判。如图8所示,其上半部分为有信号偏差但没有SEU的情况,尽管情形2和情形3会导致接收端接收的信号不一致,但判决器可以矫正这种偏差;在下半部分图中,Sig_A受到SEU的影响变为长‘0’,在情形1和情形3中没有发生错误,因为Sig_B、Sig_C 没有采样不一致的情况发生,而情形2由于SEU和Sig_B、Sig_C存在偏差,两种因素同时作用,从而导致判决错误。

为了解决图8中情形2的问题,源信号脉冲宽度须满足Tpw≥Tskew+Trcv,如图9所示。这种情况下,即使3个发送信号之间存在延迟,均可以在中间一个时钟周期被正确地采样,保证判决器不会发生错误。

3 解决方案

为了解决图8中情形2中出现的错误,通用的解决思路如下:首先尽量减小3组源信号的不同步输出延时,使Tskew尽量小,可通过FPGA的布线约束进行自动布线或手动布线来达到理想效果;其次,在接收端的时钟域中,对3组源信号进行同步处理,保证发送信号在接收端时钟Clkr的一个时钟周期内被同时采样;而后通过判决器,在出现SEU时对同步器输出信号进行表决,如图10所示。

3.1 长脉宽的源信号

由图8可以看出,当源信号脉冲宽度Tpw≥Tskew+Trcv时,即使发生信号偏差也可以被接收端正确采样。在此情况下,同步器可以采用最经典的两级触发电路。整个系统的设计图如图11所示。其中判决器的输出信号宽度可能是一个时钟周期,也可能维持多个时钟周期。

3.2 短脉宽的源信号

当源信号脉冲宽度Tpw<Tskew+Trcv时,须对源信号脉冲宽度进行扩展,以便判决器能正确采样。因此,同步器电路须进行适应性修改,示例电路如图12所示,其时序波形如图13所示。

4 结束语

本文讨论了TMR电路在多时钟域系统可能受到的影响(亚稳态、异步采样错误和单粒子翻转),对这3种影响的综合效应进行了量化分析。通过降低复制输入信号的不同步延时,以及降低接收端时钟频率,可以有效减小判决出错的概率。针对存在SEU及信号偏差的系统,对于不同脉冲长度的源信号,提出了两种同步器设计方案,较好地解决三模冗余情况下跨时钟域信号的问题。此设计在航天、航空数据处理系统以及重要的数字冗余处理系统中具有较为广泛的应用背景与现实意义,可用于数据处理器、编码器等数字基带单元的FPGA芯片应用中。

参考文献

[1] KAPSCHITZ T,NEWTON I R.Verifying synchronization in multi-clock domain SoC[Z].HDL,Inc.2004.

作者信息:

赖晓敏,泮朋军,罗唤霖,孙  聪,朱新忠

(上海航天电子技术研究所,上海201109)

 

(0)

相关推荐