公務(wù)員期刊網(wǎng) 論文中心 正文

機(jī)載設(shè)備數(shù)據(jù)交叉?zhèn)鬏敺桨冈O(shè)計(jì)分析

前言:想要寫(xiě)出一篇引人入勝的文章?我們特意為您整理了機(jī)載設(shè)備數(shù)據(jù)交叉?zhèn)鬏敺桨冈O(shè)計(jì)分析范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。

機(jī)載設(shè)備數(shù)據(jù)交叉?zhèn)鬏敺桨冈O(shè)計(jì)分析

摘要:隨著機(jī)載設(shè)備高集成和高綜合化的發(fā)展,其可靠性要求越來(lái)越高,為了提高雙余度計(jì)算機(jī)的可靠性和處理性能,文章針對(duì)機(jī)載設(shè)備多通道數(shù)據(jù)高速共享需求設(shè)計(jì)了一種基于FPGA的具有通道隔離功能的數(shù)據(jù)交叉傳輸方案,該方案利用FPGA并行工作的優(yōu)點(diǎn)實(shí)現(xiàn)采集數(shù)據(jù)自動(dòng)交叉?zhèn)鬏?,解放了CPU資源。平臺(tái)仿真驗(yàn)證和板級(jí)測(cè)試結(jié)果表明該方案能夠有效提高整機(jī)的可靠性和軟件運(yùn)行效率。

關(guān)鍵詞:CCDL;雙余度;SPI通訊;時(shí)序設(shè)計(jì)

引言

在當(dāng)前的嵌入式計(jì)算機(jī)模塊設(shè)計(jì)中,隨著模塊集成度的提高,大規(guī)模FPGA因?yàn)槠渚邆淇删幊?,性能高,且利于集成等?yōu)勢(shì),得到廣泛使用。文章針對(duì)機(jī)電管理計(jì)算機(jī)系統(tǒng),設(shè)計(jì)了一種基于FPGA實(shí)現(xiàn)的板間CCDL電路,它能實(shí)現(xiàn)板間雙通道采集數(shù)據(jù)的實(shí)時(shí)共享和控制指令的熱備份,具有數(shù)據(jù)傳輸可靠,防止故障蔓延等功能[1]。

1方案設(shè)計(jì)

CCDL功能主要用于RIU內(nèi)部雙通道之間的數(shù)據(jù)交互,由于雙通道位于同一機(jī)箱內(nèi)部,CCDL設(shè)計(jì)應(yīng)盡量滿足簡(jiǎn)單、可靠,且當(dāng)通道故障時(shí)應(yīng)將故障隔離,防止故障蔓延[2]?;贔PGA的總線雙余度硬件數(shù)據(jù)交叉?zhèn)鬏斚到y(tǒng)方案如圖1所示,通道A和通道B為同一硬件模塊上的兩部分獨(dú)立電路,兩個(gè)通道之間通過(guò)數(shù)字隔離器實(shí)現(xiàn)硬件電路隔離并提供數(shù)據(jù)傳輸通路。該方案交聯(lián)信號(hào)在產(chǎn)品內(nèi)部具有如下特點(diǎn):a)每個(gè)通道獨(dú)立采集輸入信號(hào);b)每個(gè)通道獨(dú)立進(jìn)行信號(hào)輸出;c)接口采集數(shù)據(jù)通過(guò)CCDL實(shí)現(xiàn)自動(dòng)轉(zhuǎn)發(fā),兩個(gè)通道都可以獲取所有采集接口的數(shù)據(jù);每個(gè)通道的FPGA經(jīng)過(guò)輸出表決策略通過(guò)輸出接口進(jìn)行輸出控制,當(dāng)本通道總線有效且CPU有效時(shí),采信本通道輸出命令;當(dāng)本通道總線失效或CPU失效時(shí),采信經(jīng)CCDL傳輸過(guò)來(lái)的對(duì)方通道的輸出命令。

2硬件電路設(shè)計(jì)

基于FPGA的CCDL電路可以實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)轉(zhuǎn)發(fā),該技術(shù)的實(shí)現(xiàn)使得CPU對(duì)底層數(shù)據(jù)的訪問(wèn)實(shí)現(xiàn)透明化操作,通道內(nèi)FPGA采集到所有數(shù)據(jù)后,按照固定周期將數(shù)據(jù)自動(dòng)發(fā)送到對(duì)方通道,這樣每個(gè)通道的CPU均可以訪問(wèn)到兩個(gè)通道的所有采集數(shù)據(jù)及輸出接口的輸出狀態(tài)。如圖2所示,A通道的采集數(shù)據(jù)一方面存儲(chǔ)在FPGA_A中供本通道CPU訪問(wèn),另一方面通過(guò)CCDL發(fā)送器發(fā)送至B通道供B通道CPU訪問(wèn);A通道的輸出控制一方面可以接收本通道CPU發(fā)出的控制指令,另一方面也可以通過(guò)CCDL接收器接收B通道CPU發(fā)出的指令。同樣的,B通道也可以接收A通道的采集數(shù)據(jù)且為A通道發(fā)送輸出控制指令。在上述數(shù)據(jù)交叉共享的基礎(chǔ)上結(jié)合余度處理策略即可實(shí)現(xiàn)整機(jī)的雙余度管理。由于SPI總線可以實(shí)現(xiàn)20M甚至更高的傳輸速率,根據(jù)參考文獻(xiàn)[3]的研究成果,基于FPGA的SPI通訊可通過(guò)擴(kuò)展數(shù)據(jù)線進(jìn)一步提高數(shù)據(jù)傳輸速率,因此可以保證數(shù)據(jù)傳輸速率遠(yuǎn)大于外部傳感器數(shù)據(jù)變化速率,能夠滿足機(jī)電系統(tǒng)的實(shí)時(shí)性要求。

3FPGA邏輯設(shè)計(jì)與驗(yàn)證

3.1時(shí)序設(shè)計(jì)

兩個(gè)通道之間通過(guò)SPI串行總線通訊,每個(gè)通道FPGA的發(fā)送單元為SPI主機(jī),F(xiàn)PGA的接收單元為SPI從機(jī),SPI采用3線制進(jìn)行通訊。如圖3所示,為SPI串行通訊的時(shí)序圖,每一幀數(shù)據(jù)流由26bit數(shù)據(jù)組成,MSB優(yōu)先,其中前8bit為數(shù)據(jù)幀地址,第10、11bit為保留位,最后16bit為幀數(shù)據(jù)。每一幀數(shù)據(jù)的首個(gè)數(shù)據(jù)位在CS信號(hào)下降沿后的第一個(gè)SCK上升沿有效,隨后的25個(gè)數(shù)據(jù)位在SCK的下降沿逐個(gè)輸出并在SCK的上升沿保持有效。SPI主機(jī)定時(shí)發(fā)送數(shù)據(jù)給SPI從機(jī),從機(jī)接收數(shù)據(jù)并存儲(chǔ)在FPGA內(nèi)部的DPRAM中供CPU訪問(wèn)。CCDL數(shù)據(jù)傳輸過(guò)程由FPGA周期自主完成,不需要CPU參與,解放了CPU資源。

3.2仿真驗(yàn)證

為了方便驗(yàn)證在激勵(lì)文件中,將CCDL的A、B通道SPI接口在激勵(lì)文件中進(jìn)行連接。如圖4所示,在系統(tǒng)復(fù)位之后。CCDL控制器A、B通道的數(shù)據(jù)發(fā)送模塊依次從本通道FPGA內(nèi)部各個(gè)模塊讀取緩存數(shù)據(jù),按照SPI協(xié)議自動(dòng)將數(shù)據(jù)周期地發(fā)送至對(duì)方通道的數(shù)據(jù)接收模塊,完成數(shù)據(jù)自動(dòng)交叉?zhèn)鬏?。SPI發(fā)送模塊將數(shù)據(jù)按照8位地址+2位保留+16位數(shù)據(jù)的格式進(jìn)行編碼發(fā)送,串行數(shù)據(jù)在時(shí)鐘的下降沿更新,上升沿保持。如圖5所示,第1幀數(shù)據(jù)包地址為0x01,數(shù)據(jù)為0x6311,保留位為0b11,串行數(shù)據(jù)線上的發(fā)送數(shù)據(jù)與上述數(shù)據(jù)定義一致。由于CCDL的發(fā)送接口和接收接口進(jìn)行了回繞,SPI發(fā)送端輸出后,接收端同時(shí)也收到了串行數(shù)據(jù),SPI接收端在串行時(shí)鐘的上升沿對(duì)串行數(shù)據(jù)進(jìn)行采樣,當(dāng)片選信號(hào)撤銷即一幀數(shù)據(jù)接收完成后,按照發(fā)送的定義的數(shù)據(jù)格式對(duì)接收數(shù)據(jù)進(jìn)行解析。如圖5所示,串行數(shù)據(jù)線上接收到的26位數(shù)據(jù)為0x0076311,解析后地址信息為0x01,數(shù)據(jù)信息為0x6311,保留位為0b11,接收到的數(shù)據(jù)與發(fā)送端數(shù)據(jù)一致。

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

文章針對(duì)機(jī)載設(shè)備雙余度系統(tǒng)中的數(shù)據(jù)共享設(shè)計(jì)了一種數(shù)據(jù)交叉?zhèn)鬏敺桨?,該方案硬件上采用?shù)字隔離器進(jìn)行通道之間的電氣隔離,防止故障蔓延,數(shù)據(jù)傳輸采用FPGA實(shí)現(xiàn)數(shù)據(jù)編碼和解碼并按照SPI傳輸協(xié)議進(jìn)行發(fā)送和接收,CCDL輸出傳輸過(guò)程完全由FPGA自主完成,解放了CPU資源有效提升了余度處理計(jì)算機(jī)的性能。

參考文獻(xiàn)

[1]劉明,朱守園,王婷.一種雙余度交叉通道鏈路的設(shè)計(jì)與實(shí)現(xiàn)[J].航空計(jì)算技術(shù),2019,49(01):106-108+111..

[2]周勇,王博,白晨.一種基于1394B的CCDL設(shè)計(jì)與實(shí)現(xiàn)[J].信息通信,2019(05):291-292.

[3]孫少華,屈盼讓,肖鵬,李慶楠.基于多FPGA的增強(qiáng)型SPI通信研究[J].電子測(cè)試,2018(04):83-84+61.

作者:孫少華 屈盼讓 蔡曉樂(lè) 單位:航空工業(yè)西安航空計(jì)算技術(shù)研究所