文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2017.01.008
中文引用格式: 賴曉敏,,泮朋軍,羅喚霖,,等. 基于FPGA的TMR電路跨時鐘域同步技術(shù)[J].電子技術(shù)應(yīng)用,,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型的現(xiàn)場可編程門陣列(FPGA)目前在衛(wèi)星電子系統(tǒng)中被大量應(yīng)用,。但由于SRAM型FPGA工藝特點,其功能的實現(xiàn)都是受內(nèi)部靜態(tài)RAM單元控制的,,因此容易受到空間單粒子翻轉(zhuǎn)效應(yīng)(SEU)的影響,。三模冗余(TMR)技術(shù)能有效降低FPGA電路的單粒子翻轉(zhuǎn)效應(yīng)。
如果對三重傳輸信號經(jīng)過異步時鐘邊界之后的采樣信號不作處理,,則還有可能產(chǎn)生問題,。本文針對在應(yīng)用電路出現(xiàn)以下現(xiàn)象:亞穩(wěn)態(tài)、異步采樣不確定性和SEU,,進(jìn)行了量化和分析,,同時對三重時鐘域異步采樣的不確定性的影響進(jìn)行建模,最后對同步器進(jìn)行了優(yōu)化設(shè)計,。
1 信號復(fù)制和采樣的不確定性
在TMR電路中,,除表決電路外,每個模塊和信號都是三重復(fù)制,,這有可能會帶來異步采樣不確定的問題,。3個相同的信號在異步采樣模式下,可能會在接收時鐘域上不同的時鐘周期到達(dá),。圖1為三重信號經(jīng)過不同時鐘域的傳輸,。在理想的情況下,接收到的信號Sigrcv_A,、Sigrcv_B和Sigrcv_C在接收端時鐘域?qū)⑹且恢碌?。然而,在非理想的情況下,,假設(shè)信號在時鐘上升沿采樣,,如圖2所示,由于存在布線延遲差異,,采樣后的信號可能無法保持一致[1],。
為了估算三重信號傳輸?shù)目煽啃裕疚膶D1簡化為圖3所示的電路,。
源信號Sig_s經(jīng)三重復(fù)制,,從Clks時鐘域被傳送到時鐘域Clkr,在傳輸網(wǎng)絡(luò)中的延遲時間分別為TdelayA,、TdelayB,、TdelayC(假設(shè)觸發(fā)器的建立和保持時間為0 ns)。圖4為采樣不確定時的時序波形。
由于三組信號Sig_A,、Sig_B,、Sig_C的傳輸延時不一致,因此到達(dá)時間也不一致,。Sig_A,、Sig_B在Clkr時鐘上升沿前到達(dá),而Sig_C由于延遲較大,,落后于Clkr時鐘上升沿,,因此在這個Clkr時鐘周期內(nèi)無法被采樣,由此產(chǎn)生了采樣的不確定性風(fēng)險,。
若Clkr時鐘上升沿落在最大延遲和最小延遲的窗口(即判決窗口Tskew=TdelayC-TdelayA)之外,,那么采樣不確定性將不會發(fā)生。若接收端的時鐘比發(fā)送端的時鐘要慢,,Clkr上升沿落在Clks周期外的概率是:p1=Fr/Fs,;反之,Clkr上升沿落在Clks周期內(nèi)的概率為在判決窗口Tskew除以發(fā)送端的時鐘周期p2=Tskew/Ts,。因此,,未經(jīng)同步的三組脈沖信號發(fā)送到接收端的概率為兩組概率的乘積:P1=p1×p2=(Fr/Fs)×(Tskew/Ts)=Fr×Tskew。由于在Clks周期內(nèi)輸入信號變化的概率可表示為Fd/Fs,。因此,,3個觸發(fā)器的輸出不在同一時鐘周期內(nèi)的概率可表示為:P=P1×(Fd/Fs)=Tskew×(Fr×Fd/Fs)。
因此,,降低概率P便降低了TMR判決出錯的概率,。可以看出,,減小判決窗口Tskew,、降低發(fā)送端信號變化與時鐘頻率比值Fd/Fs以及降低接收端時鐘頻率Fr均可以達(dá)到類似效果。
2 采樣不確定性及信號偏差的效應(yīng)
采樣電路中接收的三重信號脈沖寬度足夠長時,,時序圖如圖5所示。
雖然因互連延遲,,3個相同的信號在接收端的時鐘域里并不完全一樣,。如Sig_A和Sig_B在第一個時鐘周期里被采樣成‘1’,Sig_C被采樣成‘0’,。由于信號寬度足夠長,,在后兩個時鐘周期內(nèi)三組信號可以被正確的采樣,不影響后續(xù)處理,。因此,,如果源信號具有足夠長的脈沖寬度,且判決器被正確放置在源信號的有效周期內(nèi),,源信號的分組偏差不會導(dǎo)致后端信號的處理錯誤,。
信號脈沖寬度不滿足要求時,,信號偏差將影響采樣結(jié)果。三組源信號的脈沖寬度是與接收端的時鐘寬度Trcv一致,,在沒有信號偏差的情況不會產(chǎn)生錯誤,,如圖6所示。
一旦某一組信號存在偏差,,在接收端的采樣將會出現(xiàn)偏差,,如圖7所示,而這種偏差具有一定的脆弱性,,用判決器進(jìn)行糾正時有可能出現(xiàn)誤判,。如圖8所示,其上半部分為有信號偏差但沒有SEU的情況,,盡管情形2和情形3會導(dǎo)致接收端接收的信號不一致,,但判決器可以矯正這種偏差;在下半部分圖中,,Sig_A受到SEU的影響變?yōu)殚L‘0’,,在情形1和情形3中沒有發(fā)生錯誤,因為Sig_B,、Sig_C 沒有采樣不一致的情況發(fā)生,,而情形2由于SEU和Sig_B、Sig_C存在偏差,,兩種因素同時作用,,從而導(dǎo)致判決錯誤。
為了解決圖8中情形2的問題,,源信號脈沖寬度須滿足Tpw≥Tskew+Trcv,,如圖9所示。這種情況下,,即使3個發(fā)送信號之間存在延遲,,均可以在中間一個時鐘周期被正確地采樣,保證判決器不會發(fā)生錯誤,。
3 解決方案
為了解決圖8中情形2中出現(xiàn)的錯誤,,通用的解決思路如下:首先盡量減小3組源信號的不同步輸出延時,使Tskew盡量小,,可通過FPGA的布線約束進(jìn)行自動布線或手動布線來達(dá)到理想效果,;其次,在接收端的時鐘域中,,對3組源信號進(jìn)行同步處理,,保證發(fā)送信號在接收端時鐘Clkr的一個時鐘周期內(nèi)被同時采樣;而后通過判決器,在出現(xiàn)SEU時對同步器輸出信號進(jìn)行表決,,如圖10所示,。
3.1 長脈寬的源信號
由圖8可以看出,當(dāng)源信號脈沖寬度Tpw≥Tskew+Trcv時,,即使發(fā)生信號偏差也可以被接收端正確采樣,。在此情況下,同步器可以采用最經(jīng)典的兩級觸發(fā)電路,。整個系統(tǒng)的設(shè)計圖如圖11所示,。其中判決器的輸出信號寬度可能是一個時鐘周期,也可能維持多個時鐘周期,。
3.2 短脈寬的源信號
當(dāng)源信號脈沖寬度Tpw<Tskew+Trcv時,,須對源信號脈沖寬度進(jìn)行擴(kuò)展,以便判決器能正確采樣,。因此,,同步器電路須進(jìn)行適應(yīng)性修改,示例電路如圖12所示,,其時序波形如圖13所示,。
4 結(jié)束語
本文討論了TMR電路在多時鐘域系統(tǒng)可能受到的影響(亞穩(wěn)態(tài)、異步采樣錯誤和單粒子翻轉(zhuǎn)),,對這3種影響的綜合效應(yīng)進(jìn)行了量化分析,。通過降低復(fù)制輸入信號的不同步延時,以及降低接收端時鐘頻率,,可以有效減小判決出錯的概率,。針對存在SEU及信號偏差的系統(tǒng),對于不同脈沖長度的源信號,,提出了兩種同步器設(shè)計方案,,較好地解決三模冗余情況下跨時鐘域信號的問題。此設(shè)計在航天,、航空數(shù)據(jù)處理系統(tǒng)以及重要的數(shù)字冗余處理系統(tǒng)中具有較為廣泛的應(yīng)用背景與現(xiàn)實意義,,可用于數(shù)據(jù)處理器、編碼器等數(shù)字基帶單元的FPGA芯片應(yīng)用中,。
參考文獻(xiàn)
[1] KAPSCHITZ T,,NEWTON I R.Verifying synchronization in multi-clock domain SoC[Z].HDL,Inc.2004.
作者信息:
賴曉敏,泮朋軍,,羅喚霖,孫 聰,,朱新忠
(上海航天電子技術(shù)研究所,,上海201109)