• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      TMR加固的SpaceWire節(jié)點(diǎn)的設(shè)計(jì)與實(shí)現(xiàn)

      2012-06-11 01:53:10劉濤賀強(qiáng)民黃偉
      航天返回與遙感 2012年4期
      關(guān)鍵詞:亞穩(wěn)態(tài)功能模塊時(shí)鐘

      劉濤 賀強(qiáng)民 黃偉

      (北京空間機(jī)電研究所,北京 100076)

      1 引言

      SpaceWire總線技術(shù)是歐空局推出的一種面向航天應(yīng)用的高速差分串行總線技術(shù)??梢越鉀Q星上分系統(tǒng)間、設(shè)備間通訊數(shù)據(jù)總線帶寬不足的問(wèn)題,并且提供一種通用接口從而簡(jiǎn)化和規(guī)范不同設(shè)備之間的互連。該總線技術(shù)已成功地應(yīng)用于歐空局的Mars Express和Smart-1等多個(gè)空間任務(wù),協(xié)議的實(shí)現(xiàn)主要使用專(zhuān)用芯片。使用FPGA實(shí)現(xiàn)SpaceWire節(jié)點(diǎn)具有設(shè)計(jì)靈活、傳輸協(xié)議可根據(jù)項(xiàng)目特點(diǎn)進(jìn)行裁剪、設(shè)計(jì)成本低、系統(tǒng)集成度高等優(yōu)勢(shì)[1-2]。

      FPGA功能加固技術(shù)包括三模冗余(Triple Modular Redundancy,TMR)技術(shù)、定時(shí)刷新配置技術(shù)、動(dòng)態(tài)重配置技術(shù)等,可以降低空間高能粒子輻射導(dǎo)致的單粒子效應(yīng)(Single-event Effects,SEE)對(duì)FPGA邏輯功能的影響。TMR技術(shù)相對(duì)于其它FPGA功能加固技術(shù),具有技術(shù)相對(duì)成熟和通用性強(qiáng)的優(yōu)勢(shì)。目前該技術(shù)已經(jīng)成功應(yīng)用于空間任務(wù)中,典型的技術(shù)就是Xilinx公司的XTMR技術(shù)[3]。

      本文結(jié)合SpaceWire高速串行總線在傳輸機(jī)制上的高容錯(cuò)性和三模冗余設(shè)計(jì)在FPGA功能實(shí)現(xiàn)上的高容錯(cuò)性,在SpaceWire節(jié)點(diǎn)代碼設(shè)計(jì)中對(duì)關(guān)鍵功能模塊進(jìn)行了軟件輔助三模冗余設(shè)計(jì)和手動(dòng)三模冗余設(shè)計(jì),并在Xilinx公司FPGA上實(shí)現(xiàn)了TMR加固的SpaceWire節(jié)點(diǎn)與SpaceWire標(biāo)準(zhǔn)設(shè)備之間的高速數(shù)據(jù)傳輸。

      2 SpaceWire節(jié)點(diǎn)的設(shè)計(jì)

      SpaceWire節(jié)點(diǎn)設(shè)計(jì)應(yīng)嚴(yán)格按照SpaceWire協(xié)議功能框架進(jìn)行[4],如圖1所示。

      圖1 SpaceWire協(xié)議節(jié)點(diǎn)的功能模塊圖Fig.1 SpaceWire link interface block diagram

      在SpaceWire節(jié)點(diǎn)的FPGA設(shè)計(jì)中,根據(jù)協(xié)議特點(diǎn)對(duì)軟件功能模塊和時(shí)序域進(jìn)行劃分[1,5]。如圖2所示,圖中不同功能模塊工作在不同的時(shí)鐘域(用顏色區(qū)分不同時(shí)鐘域),其中數(shù)字濾波編碼模塊(TxDSCode模塊)需要單獨(dú)做三模冗余設(shè)計(jì)。

      圖2 SpaceWire節(jié)點(diǎn)設(shè)計(jì)的功能模塊劃分和時(shí)鐘域劃分Fig.2 SpaceWire link interface function and timing

      3 TMR加固技術(shù)

      3.1 傳統(tǒng)TMR設(shè)計(jì)

      傳統(tǒng)TMR設(shè)計(jì)方法將用戶邏輯(組合邏輯加上寄存器)進(jìn)行了復(fù)制處理,3個(gè)相同的模塊接收3個(gè)相同的輸入,產(chǎn)生的結(jié)果送至多數(shù)表決器,表決器的輸出取決于3個(gè)輸入。若有一個(gè)模塊故障,則另兩個(gè)正常模塊的輸出可將故障模塊的輸出屏蔽,表決器輸出仍然正確,如圖3所示。

      圖3 傳統(tǒng)TMR電路的邏輯功能受到SEE影響Fig.3 Traditional TMR circuit logic function affected by SEE

      圖4 傳統(tǒng)TMR電路的時(shí)鐘受到SET影響Fig.4 Traditional TMR circuit clock affected by SET

      雖然傳統(tǒng)TMR設(shè)計(jì)方法可以在一定程度上減小電路受SEE影響而出錯(cuò)的概率,但仍存在如下不足:

      1)若時(shí)鐘線受到單粒子瞬態(tài)SET影響,可能導(dǎo)致輸出錯(cuò)誤,如圖4所示;

      2)若組合邏輯受SEU影響,由于電路沒(méi)有提供寄存器錯(cuò)誤恢復(fù)機(jī)制,會(huì)導(dǎo)致錯(cuò)誤積累;

      3)若多數(shù)表決器受SEU影響,將導(dǎo)致輸出錯(cuò)誤。

      3.2 XTMR設(shè)計(jì)

      XTMR是Xilinx公司的TMR設(shè)計(jì)軟件,相比傳統(tǒng)的TMR設(shè)計(jì),XTMR方法從設(shè)計(jì)思路上進(jìn)一步增加了FPGA功能的可靠性[6],XTMR電路結(jié)構(gòu)如圖5所示,其改進(jìn)主要體現(xiàn)在3個(gè)方面:

      1)三模時(shí)鐘信號(hào)和輸入信號(hào)。即使某一路時(shí)鐘信號(hào)受到SET影響,仍能保證輸出結(jié)果正確。

      2)三模反饋邏輯和多數(shù)表決器。這樣即使某一個(gè)表決器受SEU影響出錯(cuò),仍能保證結(jié)果正確,并且多數(shù)選擇器后添加了反饋回路,可以及時(shí)糾正由組合邏輯帶來(lái)的寄存器錯(cuò)誤。

      3)三模輸出信號(hào)并且增加少數(shù)表決器。輸出端口添加了少數(shù)選擇器,該選擇器能夠在本路輸出與其它兩路不同時(shí),將本路輸出三態(tài)門(mén)設(shè)置為高阻,這樣就不影響正確結(jié)果輸出。

      圖5 Xilinx TMR設(shè)計(jì)電路結(jié)構(gòu)Fig.5 Circuit structure of the Xilinx TMR design

      3.3 TMR的適用范圍

      在實(shí)際的FPGA設(shè)計(jì)中,不是所有的功能模塊都適合做TMR。本文結(jié)合SpaceWire節(jié)點(diǎn)的特點(diǎn)對(duì)TMR適用性進(jìn)行了如下分析。

      1)模塊功能失效時(shí)對(duì)系統(tǒng)功能影響大的優(yōu)先做TMR。FPGA軟件根據(jù)數(shù)據(jù)流的方向進(jìn)行軟件系統(tǒng)可靠性分析,不同功能模塊的失效,對(duì)整個(gè)系統(tǒng)功能的影響不同。TMR設(shè)計(jì)應(yīng)首先針對(duì)對(duì)系統(tǒng)功能影響大的模塊。

      2)是否適合做TMR。產(chǎn)生的時(shí)鐘信號(hào)或還原的時(shí)鐘信號(hào)不適合做TMR。時(shí)鐘是整個(gè)時(shí)序邏輯的基礎(chǔ),時(shí)鐘的產(chǎn)生或者時(shí)鐘的還原本身會(huì)存在相位差[7],對(duì)FPGA的時(shí)序會(huì)造成較大的影響,不符合時(shí)序邏輯設(shè)計(jì)的原則。

      3)TMR設(shè)計(jì)成本分析。TMR設(shè)計(jì)時(shí),相應(yīng)的模塊資源會(huì)增加3倍以上,由于使用FPGA資源的增加,布局布線會(huì)更加困難,導(dǎo)致時(shí)序性能下降;另外,TMR需要的判斷表決電路中存在大量組合電路,有可能會(huì)變成FPGA時(shí)序的關(guān)鍵路徑,此時(shí)很難提高FPGA的時(shí)序性能。前期代碼設(shè)計(jì)在提高時(shí)序性能上的努力也很難體現(xiàn)。

      在SpaceWire節(jié)點(diǎn)設(shè)計(jì)時(shí),發(fā)送端DS編碼功能模塊失效時(shí),會(huì)產(chǎn)生發(fā)送編碼錯(cuò)誤。850ns鏈路斷開(kāi)檢測(cè)功能模塊失效時(shí),會(huì)產(chǎn)生超時(shí)斷開(kāi)錯(cuò)誤。這兩個(gè)模塊如果發(fā)生單粒子翻轉(zhuǎn)事件,會(huì)導(dǎo)致鏈路斷開(kāi)復(fù)位,這需要經(jīng)過(guò)約26μs的時(shí)間才能重新建立連接,導(dǎo)致等效的傳輸效率下降。綜上所述,需對(duì)DS編碼模塊和鏈路斷開(kāi)功能檢測(cè)模塊進(jìn)行三模冗余設(shè)計(jì)。

      4 XTMR設(shè)計(jì)的SpaceWire節(jié)點(diǎn)

      在SpaceWire節(jié)點(diǎn)設(shè)計(jì)時(shí),對(duì)發(fā)送端DS編碼模塊進(jìn)行輔助三模冗余設(shè)計(jì)。

      本文采用XTMR軟件的XTMRTool設(shè)計(jì)工具,分3步對(duì)M_TxDSCode模塊進(jìn)行TMR設(shè)計(jì)。

      第一步:先將需要做三模的代碼進(jìn)行綜合,生成網(wǎng)表文件SPW_RS232.ngc。

      第二步:將網(wǎng)表文件SPW_RS232.ngc導(dǎo)入TMRTool進(jìn)行TMR操作,TMR讀取網(wǎng)表文件。首先,設(shè)置ISE軟件中的層次化結(jié)構(gòu),并設(shè)置XTMR軟件,鎖定IO端口,設(shè)置需要進(jìn)行三模冗余的模塊。然后,當(dāng)XTMR軟件運(yùn)行完成并產(chǎn)生新的網(wǎng)表文件,手動(dòng)修改新的網(wǎng)表文件,刪除新增加的IO端口,否則會(huì)與IO管腳約束文件產(chǎn)生沖突,編譯時(shí)出現(xiàn)錯(cuò)誤。

      第三步:建立第二個(gè)ISE工程,編譯XTMR產(chǎn)生的文件,增加三模冗余設(shè)計(jì)后,在Xilinx ISE Floop plannar下查看SpaceWire功能模塊架構(gòu),打開(kāi)M_TxDSCode模塊,若該模塊中相應(yīng)的寄存器變成TR0,TR1,TR2,則表明已經(jīng)成功做了三模冗余設(shè)計(jì)。

      5 TMR設(shè)計(jì)在降低亞穩(wěn)態(tài)導(dǎo)致系統(tǒng)功能錯(cuò)誤中的應(yīng)用

      目前FPGA功能設(shè)計(jì)中,TMR大多用在抗單粒子翻轉(zhuǎn)的設(shè)計(jì)中,廣義上講,TMR設(shè)計(jì)的思想是降低目標(biāo)部件發(fā)生錯(cuò)誤對(duì)系統(tǒng)功能造成的影響,所以三模冗余設(shè)計(jì)也可以應(yīng)用在降低亞穩(wěn)態(tài)導(dǎo)致系統(tǒng)功能錯(cuò)誤的設(shè)計(jì)中。

      在多時(shí)鐘域設(shè)計(jì)中,亞穩(wěn)態(tài)是常見(jiàn)的問(wèn)題,一般使用雙采樣降低亞穩(wěn)態(tài)產(chǎn)生的概率,但是仍然有一定概率會(huì)產(chǎn)生亞穩(wěn)態(tài)。當(dāng)產(chǎn)生亞穩(wěn)態(tài)時(shí),最差情況下,需要經(jīng)過(guò)幾個(gè)甚至更多個(gè)時(shí)鐘周期,寄存器輸出才能穩(wěn)定在“0”或者“1”。 本文嘗試使用TMR設(shè)計(jì)來(lái)降低亞穩(wěn)態(tài)的產(chǎn)生對(duì)系統(tǒng)邏輯功能造成的影響。

      SpaceWire協(xié)議有鏈路斷開(kāi)檢測(cè)功能,當(dāng)850ns內(nèi)Din和Sin信號(hào)都沒(méi)有變化時(shí)(即沒(méi)有發(fā)生高低電平的變化),會(huì)產(chǎn)生內(nèi)部報(bào)錯(cuò)。輸入信號(hào)與本地時(shí)鐘為異步信號(hào),存在產(chǎn)生亞穩(wěn)態(tài)的可能。常規(guī)的設(shè)計(jì)方法是使用本地時(shí)鐘同步兩次輸入信號(hào),然后進(jìn)行邊沿檢測(cè),邊沿檢測(cè)原理為判斷相隔幾個(gè)時(shí)鐘周期的采樣信號(hào)是否相等。當(dāng)檢測(cè)到邊沿信號(hào)時(shí),清空復(fù)位計(jì)數(shù)器,如果在一定時(shí)間內(nèi)沒(méi)有檢測(cè)到邊沿信號(hào),計(jì)數(shù)器則會(huì)達(dá)到預(yù)設(shè)值,產(chǎn)生鏈路斷開(kāi)連接錯(cuò)誤信號(hào)。電路原理如圖6左側(cè)所示。

      圖6 常規(guī)設(shè)計(jì)與三模冗余設(shè)計(jì)Fig.6 Conventional design and triple modular redundancy design

      實(shí)際使用ChipScope采樣數(shù)據(jù)時(shí),發(fā)現(xiàn)Din或者Sin信號(hào)電平發(fā)生變化,但是計(jì)數(shù)器并沒(méi)有清零仍然繼續(xù)計(jì)數(shù)的現(xiàn)象,如圖7所示。筆者認(rèn)為是本地時(shí)鐘同步輸入信號(hào)時(shí)產(chǎn)生了亞穩(wěn)態(tài),導(dǎo)致邊沿檢測(cè)電路失效,沒(méi)有對(duì)計(jì)數(shù)器復(fù)位,使計(jì)數(shù)器達(dá)到預(yù)設(shè)值而產(chǎn)生錯(cuò)誤報(bào)警信號(hào)。

      圖7 Din和Sin信號(hào)電平發(fā)送變化,邊沿檢測(cè)失效Fig.7 Din and Sin signal level sent changes in the edge detection failure

      本文對(duì)雙采樣電路和邊沿檢測(cè)電路進(jìn)行三模冗余設(shè)計(jì)[5],只要有一個(gè)檢測(cè)到邊沿的生效,即可以驅(qū)動(dòng)計(jì)數(shù)器清零復(fù)位,如圖6右側(cè)所示,這種設(shè)計(jì)方案降低了亞穩(wěn)態(tài)導(dǎo)致邊沿檢測(cè)失效的可能性。亞穩(wěn)態(tài)的產(chǎn)生是以概率來(lái)衡量的,即使經(jīng)過(guò)本地時(shí)鐘同步的信號(hào),仍然存在產(chǎn)生亞穩(wěn)態(tài)的風(fēng)險(xiǎn),只是概率會(huì)減小很多。對(duì)邊沿檢測(cè)模塊進(jìn)行TMR設(shè)計(jì),可以進(jìn)一步降低亞穩(wěn)態(tài)的產(chǎn)生對(duì)系統(tǒng)功能造成的影響。

      6 TMR加固的SpaceWire節(jié)點(diǎn)的實(shí)現(xiàn)

      本文對(duì)TMR加固后的SpaceWire節(jié)點(diǎn)進(jìn)行了測(cè)試,測(cè)試系統(tǒng)由FPGA電路板和DunDee大學(xué)的SpaceWire標(biāo)準(zhǔn)設(shè)備組成。

      SpaceWire節(jié)點(diǎn)在使用TMR設(shè)計(jì)前后所占用FPGA資源的變化如表1所示??梢钥吹皆谶M(jìn)行TMR設(shè)計(jì)前后,F(xiàn)PGA資源變化很大,尤其是LUT的資源,幾乎增加了一倍,這是由于TMR設(shè)計(jì)時(shí),在發(fā)送端DS編碼模塊時(shí)使用了3個(gè)多數(shù)表決器和3個(gè)少數(shù)表決器,導(dǎo)致組合邏輯資源增加。相應(yīng)的FPGA布局布線難度增加及關(guān)鍵信號(hào)路徑延遲的增加,導(dǎo)致FPGA時(shí)序性能有所降低。因?yàn)槭褂秒p沿采樣(ODDR)發(fā)送[8],所以理論上發(fā)送端速率仍然高達(dá)450Mbit/s,但是受器件IO端口最高頻率的限制以及PCB布線EMI的影響,實(shí)際測(cè)試時(shí),F(xiàn)PGA運(yùn)行在100MHz,對(duì)應(yīng)200Mbit/s的傳輸速率。測(cè)試中使用ChipScope截圖與圖7相似,未另行截圖。

      表1 TMR操作前后FPGA資源使用Tab.1 FPGA resource usage between used TMR and unused TMR

      7 結(jié)束語(yǔ)

      本文同時(shí)使用SpaceWire總線和TMR加固設(shè)計(jì),結(jié)合SpaceWire總線在傳輸機(jī)制上的高容錯(cuò)性和三模冗余設(shè)計(jì)在FPGA功能實(shí)現(xiàn)上的高可靠性,對(duì)SpaceWire節(jié)點(diǎn)設(shè)計(jì)中的關(guān)鍵功能模塊進(jìn)行XTMR軟件輔助三模冗余設(shè)計(jì)和手動(dòng)三模冗余設(shè)計(jì)。目前,國(guó)內(nèi)尚無(wú)公開(kāi)文獻(xiàn)報(bào)道TMR加固的SpaceWire節(jié)點(diǎn)與SpaceWire標(biāo)準(zhǔn)設(shè)備之間的數(shù)據(jù)傳輸。本文使用TMR設(shè)計(jì),在降低亞穩(wěn)態(tài)導(dǎo)致系統(tǒng)功能錯(cuò)誤方面做了有益的嘗試。

      (References)

      [1]劉濤,黃偉,潘衛(wèi)軍.SpaceWire軟核的設(shè)計(jì)與驗(yàn)證[J].航天返回與遙感,2011,32(1):51-58.

      LIU Tao,HUANG Wei,PAN Weijun.Design and Verification of SpaceWire IP Core[J].Spacecraft Recovery&Remote Sensing,2011,32(1): 51-58.(in Chinese)

      [2]Ponomarev S A.SpaceWire In Prospective Space Systems and International Collaboration[C].SpaceWire-2010 Proceedings of the 3rd International SpaceWire Conference,Petersburg,2010.

      [3]Xilinx.Triple Module Redundancy Design Techniques for Virtex FPGAs[EB/OL].//www.Xilinx.com.

      [4]European Cooperation for Space Standardization,ECSS-E-50-ST-12C SpaceWire-links,Nodes,Routers and Networks[S].Issue2,European Cooperation for Space Standardization,2008.

      [5]Masaharu Nomachi.Race Condition Free SpaceWire Decoder For FPGA[C].SpaceWire-2010 Proceedings of the 3rd International SpaceWire Conference,Petersburg,2010.

      [6]Xilinx.TMRToolUser Guide,Version9.2i[EB/OL].//www.Xilinx.com.

      [7]Actel.Implementation of the SpaceWire Clock Recovery Logic in Actel RTAX-S Devices[EB/OL].//www.actel.com

      [8]Xilinx.Virtex-5 User Guide[EB/OL].//www.Xilinx.com.

      猜你喜歡
      亞穩(wěn)態(tài)功能模塊時(shí)鐘
      別樣的“時(shí)鐘”
      古代的時(shí)鐘
      2016年門(mén)源MS6.4地震前跨斷層短水準(zhǔn)短期異常的機(jī)理探討
      地震研究(2020年4期)2020-09-26 10:08:11
      FPGA設(shè)計(jì)中跨時(shí)鐘域的問(wèn)題與方法
      有趣的時(shí)鐘
      基于ASP.NET標(biāo)準(zhǔn)的采購(gòu)管理系統(tǒng)研究
      時(shí)鐘會(huì)開(kāi)“花”
      輸電線路附著物測(cè)算系統(tǒng)測(cè)算功能模塊的研究
      M市石油裝備公服平臺(tái)網(wǎng)站主要功能模塊設(shè)計(jì)與實(shí)現(xiàn)
      功能模塊的設(shè)計(jì)與應(yīng)用研究
      漳州市| 沧州市| 花莲县| 阜新市| 武鸣县| 县级市| 涡阳县| 祁连县| 富锦市| 沅陵县| 琼中| 临猗县| 平原县| 夹江县| 岚皋县| 通辽市| 利辛县| 乌拉特中旗| 汝阳县| 炎陵县| 隆昌县| 福清市| 全南县| 日照市| 滕州市| 龙门县| 揭阳市| 邹城市| 济南市| 桃源县| 莲花县| 全南县| 临汾市| 博客| 贵州省| 隆安县| 阿勒泰市| 清水县| 云南省| 博兴县| 满洲里市|