国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

1553B通信的總線競爭分析與解決方案

2018-10-15 06:08:20,
關(guān)鍵詞:衛(wèi)星平臺(tái)有效載荷矢量

,

(中國電子科技集團(tuán)公司第38研究所 孔徑陣列與空間探測安徽省重點(diǎn)實(shí)驗(yàn)室,合肥 230088)

引 言

圖1 AT697F與B65170S6RH連接原理圖

MIL-STD-1553B總線由于在傳輸可靠性和容錯(cuò)能力方面具有優(yōu)勢,特別適用于現(xiàn)場環(huán)境惡劣并且對可靠性要求高的場合,在航空航天電子設(shè)備中得到廣泛應(yīng)用。由于1553B 總線接口芯片可以工作在不同模式、數(shù)據(jù)傳輸上有不同的機(jī)制,在某特定的工作模式和數(shù)據(jù)傳輸機(jī)制下,可能會(huì)產(chǎn)生1553B接口芯片內(nèi)部的總線競爭,從而導(dǎo)致總線傳輸過程中數(shù)據(jù)傳輸異常。

本文以某實(shí)際星載項(xiàng)目在模飛聯(lián)試中出現(xiàn)的通信故障為例,對1553B總線通信過程中出現(xiàn)的總線競爭原因進(jìn)行機(jī)理分析,并給出相應(yīng)的解決方法。

1 總線接口設(shè)計(jì)

某星載項(xiàng)目為保證有效載荷和衛(wèi)星平臺(tái)之間數(shù)據(jù)能夠正確無誤地傳輸,并且要有較高的穩(wěn)定性和可靠性,有效載荷通過1553B總線與衛(wèi)星平臺(tái)系統(tǒng)通信,其通信原理如圖1所示。接口電路采用航天九院772所的抗輻射1533B接口芯片B65170S6RH。有效載荷通過1553B總線接入星上系統(tǒng)總線網(wǎng)絡(luò),作為星上1533B總線中的一個(gè)設(shè)備終端(RT),整個(gè)衛(wèi)星通過1553B總線實(shí)現(xiàn)分布式實(shí)時(shí)通信。

在項(xiàng)目中,有效載荷的處理器使用AT697F微處理器,由于AT697F較多的I/O口被復(fù)用,數(shù)量受限,故1533B接口芯片B65170S6RH通過FPGA掛載在AT697F的I/O地址空間上,地址空間為0x2000 0000~0x3FFF FFFF,F(xiàn)PGA根據(jù)AT697F的讀寫指令完成AT697F與B65170S6RH之間的接口邏輯轉(zhuǎn)換。

2 1553B數(shù)據(jù)傳輸機(jī)制

對于以衛(wèi)星平臺(tái)為總線控制器作為消息源的數(shù)據(jù)傳輸采用更新數(shù)據(jù)傳輸機(jī)制,總線控制器通過檢查更新狀態(tài)字得到數(shù)據(jù)的更新狀態(tài),組織總線通信,發(fā)送數(shù)據(jù)更新消息。

對于以遠(yuǎn)程終端為消息源的數(shù)據(jù)傳輸采用服務(wù)請求機(jī)制。各個(gè)遠(yuǎn)程終端通過總線狀態(tài)字中的“服務(wù)請求位”(狀態(tài)字第11位)來標(biāo)識(shí)數(shù)據(jù)傳輸請求,通過矢量字(16位,按位定義數(shù)據(jù)類型)位來標(biāo)識(shí)請求傳輸?shù)臄?shù)據(jù)類型。

衛(wèi)星平臺(tái)的總線控制器將根據(jù)各遠(yuǎn)程終端消息的刷新周期和最大延遲時(shí)間要求依次對各個(gè)遠(yuǎn)程終端進(jìn)行輪詢:向各遠(yuǎn)程終端發(fā)出“發(fā)送矢量字”方式指令,代碼為10 000。如返回狀態(tài)字中的“服務(wù)請求位”(狀態(tài)字第11位)被置成1,則說明該遠(yuǎn)程終端有服務(wù)請求??偩€控制器將進(jìn)一步分析該遠(yuǎn)程終端返回的矢量字,以確定該遠(yuǎn)程終端需求的某種或幾種特定的數(shù)據(jù)傳輸類型,組織通信將該遠(yuǎn)程終端的數(shù)據(jù)取走。當(dāng)總線控制器將某類要求服務(wù)的數(shù)據(jù)傳輸完成后,遠(yuǎn)程終端應(yīng)將矢量字中相應(yīng)位復(fù)位,如矢量字中還有其他服務(wù)請求,遠(yuǎn)程終端仍應(yīng)將狀態(tài)字中的“服務(wù)請求位”置1。如輪詢的對象沒有提出服務(wù)請求,總線控制器掃過此遠(yuǎn)程終端詢問下一個(gè)遠(yuǎn)程終端。

各遠(yuǎn)程終端一旦在發(fā)送緩沖區(qū)準(zhǔn)備好數(shù)據(jù)或是請求獲取某類數(shù)據(jù)時(shí),應(yīng)將矢量字中相應(yīng)位置1,并將總線狀態(tài)字中的“服務(wù)請求位”置1;待總線控制器將數(shù)據(jù)取走或發(fā)來數(shù)據(jù)后,再將矢量字中相應(yīng)的位置0。

衛(wèi)星平臺(tái)為統(tǒng)一整星的系統(tǒng)時(shí)間,采用廣播方式周期性地在A/B總線上交替發(fā)布時(shí)間碼消息給各有效載荷,發(fā)布頻度為1 s一次,各有效載荷使用系統(tǒng)統(tǒng)一規(guī)定的子地址接收時(shí)間碼消息。

3 故障現(xiàn)象

項(xiàng)目在進(jìn)行整星模飛聯(lián)試時(shí),根據(jù)第3節(jié)描述的與衛(wèi)星平臺(tái)約好的1553B數(shù)據(jù)傳輸機(jī)制,衛(wèi)星平臺(tái)向本有效載荷“發(fā)送矢量字”方式指令時(shí),如有發(fā)送本有效載荷工程參數(shù)服務(wù)請求時(shí),則將返回狀態(tài)字中的“服務(wù)請求位”置成1,待衛(wèi)星平臺(tái)將數(shù)據(jù)取走時(shí),本有效載荷軟件應(yīng)將矢量字中相應(yīng)位復(fù)位,結(jié)束本次數(shù)據(jù)傳輸。但在實(shí)際的模飛聯(lián)試時(shí),當(dāng)衛(wèi)星平臺(tái)將本有效載荷工程參數(shù)取走后,本有效載荷軟件應(yīng)將矢量字中相應(yīng)位復(fù)位,但在聯(lián)試過程中,有效載荷軟件不能每次將配置寄存器1的“服務(wù)請求位”置復(fù)位、矢量字中相應(yīng)的位置0,從而導(dǎo)致衛(wèi)星平臺(tái)需要不停讀取本有效載荷的數(shù)據(jù)。

4 問題定位

針對上述故障現(xiàn)象,利用故障樹進(jìn)行了分析,方式字未清除的故障樹如圖2所示。

圖2 1553B方式字未清除故障樹

① 初始考慮主要的可能是由于對方式字的配置錯(cuò)誤導(dǎo)致的。配置錯(cuò)誤主要有兩種可能,一是方式字本身配置錯(cuò)誤,二是將方式字設(shè)置為非法指令導(dǎo)致。經(jīng)檢查程序,方式字寄存器的配置參數(shù)為0x8803,結(jié)合B65170S6RH的手冊,方式字配置參數(shù)不會(huì)導(dǎo)致本次錯(cuò)誤;非法指令寄存器中也沒有將方式字設(shè)置為非法指令,因此非法指令也不會(huì)導(dǎo)致方式字的錯(cuò)誤。

② 另一種可能是由衛(wèi)星平臺(tái)在發(fā)送方式字時(shí),AT697F軟件沒有進(jìn)入中斷服務(wù)程序,通過在試驗(yàn)件上調(diào)試,每一次發(fā)送方式字指令,AT697F軟件均可以正確進(jìn)入中斷服務(wù)程序,因此此種故障因素也可以排除。

③ 消息描述棧讀寫錯(cuò)誤也是造成方式字錯(cuò)誤的原因:對消息描述棧讀數(shù)錯(cuò)誤,將導(dǎo)致AT697F軟件無法正確獲取衛(wèi)星平臺(tái)發(fā)送的方式字請求。通過在試驗(yàn)件上調(diào)試,AT697F軟件能夠正確獲取衛(wèi)星平臺(tái)的方式字消息。

因此,故障定位在AT697F軟件對方式字的寫錯(cuò)誤因素。AT697F在寫“發(fā)送矢量字”和“服務(wù)請求位”時(shí),盡管軟件產(chǎn)生了“寫”的動(dòng)作,但由于某種原因的影響,導(dǎo)致實(shí)際是虛寫“發(fā)送矢量字”和“服務(wù)請求位”。

5 機(jī)理分析

經(jīng)分析本有效載荷將1553B的接口芯片B65170S6RH設(shè)置為16位零等待模式,即MCU對B65170S6RH進(jìn)行讀寫操作時(shí),上一字(16位)讀寫完成,無需等待,可緊接著讀寫下一字(16位)。但MCU對B65170S6RH讀寫操作時(shí)間間隔小于器件要求值時(shí)(772所生產(chǎn)的芯片工作在16 MHz,16位零等待模式下,第一個(gè)16位數(shù)據(jù)字寫完成后到第二個(gè)16位數(shù)據(jù)字之間間隔要求大于3.4 μs),否則當(dāng)總線訪問和MCU訪問同時(shí)發(fā)生時(shí),第二個(gè)16位數(shù)據(jù)會(huì)寫入失敗。

造成上述寫入失敗的原因?yàn)椋築65170S6RH內(nèi)部集成了一塊4K×16位的共享RAM,其內(nèi)部協(xié)議處理器可以通過內(nèi)部數(shù)據(jù)總線和地址總線對4K×16位的共享RAM進(jìn)行讀寫訪問,AT697F也可通過B65170S6RH外部數(shù)據(jù)、地址總線經(jīng)內(nèi)部數(shù)據(jù)、地址總線對4K×16位的共享RAM進(jìn)行讀寫訪問,當(dāng)B65170S6RH內(nèi)部協(xié)議處理器和AT697F同時(shí)對4K×16位的共享RAM進(jìn)行讀寫訪問時(shí),這時(shí)就產(chǎn)生了競爭訪問。當(dāng)競爭訪問產(chǎn)生時(shí),如前一個(gè)數(shù)據(jù)還沒有被寫入內(nèi)部的共享RAM,就會(huì)在數(shù)據(jù)緩沖區(qū)里等待內(nèi)部協(xié)議處理器結(jié)束,以完成當(dāng)前共享RAM的訪問。下一個(gè)數(shù)據(jù)再次到來時(shí),將無法寫入數(shù)據(jù)緩沖區(qū),導(dǎo)致當(dāng)前寫入的數(shù)據(jù)丟失。

本項(xiàng)目有效載荷將B65170S6RH設(shè)為在零等待模式,衛(wèi)星平臺(tái)根據(jù)協(xié)議采用廣播方式周期性(1 s一次)向各有效載荷發(fā)布時(shí)間碼,同時(shí)向各遠(yuǎn)程終端發(fā)出“發(fā)送矢量字”方式指令,這樣在MCU讀取時(shí)間碼的過程中,在3.4 μs時(shí)間內(nèi),衛(wèi)星平臺(tái)向本有效載荷發(fā)來“發(fā)送矢量字”方式指令,待總線控制器將數(shù)據(jù)取走或發(fā)來數(shù)據(jù)后,這時(shí)MCU正在讀取時(shí)間碼,B65170S6RH內(nèi)部協(xié)議處理器正將內(nèi)部RAM輸出至內(nèi)部數(shù)據(jù)總線,這時(shí)如AT697F軟件將“發(fā)送矢量字”和“服務(wù)請求位”置0,由于總線競爭,B65170S6RH內(nèi)部協(xié)議處理器無法在內(nèi)部數(shù)據(jù)總線中傳輸置0數(shù)據(jù)到相應(yīng)的內(nèi)部RAM,結(jié)果就是導(dǎo)致無法將“發(fā)送矢量字”和“服務(wù)請求位”置0。

針對上述總線競爭的解決方法,本項(xiàng)目給出兩種解決方法:

① B65170S6RH設(shè)置為零等待模式,MCU軟件對B65170S6RH的讀寫采用軟延時(shí),在MCU讀寫B(tài)65170S6RH之間加入15次的空操作(時(shí)間約為4.8 μs),人為強(qiáng)制將讀寫間隔時(shí)間變長,這樣就可滿足B65170S6RH器件要求的讀寫操作時(shí)間間隔大于3.4 μs的要求。

② 將B65170S6RH的READYD信號(hào)輸出引至AT697F的BRDY引腳上,將B65170S6RH設(shè)置為非零等待模式,即AT697F對B65170S6RH進(jìn)行讀寫操作時(shí),上一字(16位)讀寫時(shí),需等待B65170S6RH的READYD信號(hào)變低電平(即B65170S6RH芯片已完成內(nèi)部的總線處理),才可讀寫下一字(16位)。此方法由MCU根據(jù)READYD信號(hào)自動(dòng)判斷下次的讀寫操作,可有效避免AT697F與B65170S6RH之間讀寫的總線競爭。

結(jié) 語

猜你喜歡
衛(wèi)星平臺(tái)有效載荷矢量
理念牽引 機(jī)制創(chuàng)新 人才驅(qū)動(dòng) 做有效載荷創(chuàng)新發(fā)展領(lǐng)跑者
矢量三角形法的應(yīng)用
“東方紅”五號(hào)衛(wèi)星平臺(tái)
面向有效載荷數(shù)字化研制的標(biāo)準(zhǔn)化工作轉(zhuǎn)型初探
衛(wèi)星有效載荷研制流程的策劃與推進(jìn)
基于矢量最優(yōu)估計(jì)的穩(wěn)健測向方法
三角形法則在動(dòng)態(tài)平衡問題中的應(yīng)用
基于微小衛(wèi)星平臺(tái)對鋰離子電池的在軌管理
遙感衛(wèi)星平臺(tái)與載荷一體化構(gòu)型
色料減色混合色矢量計(jì)算
出版與印刷(2013年3期)2013-01-31 03:26:11
福海县| 横山县| 枞阳县| 西乌| 大荔县| 东源县| 铁岭县| 灵台县| 五指山市| 上高县| 定西市| 新干县| 铜川市| 额济纳旗| 信宜市| 新巴尔虎右旗| 安多县| 元朗区| 镇原县| 竹北市| 南投市| 静乐县| 祁门县| 海淀区| 大姚县| 仙居县| 开鲁县| 望谟县| 沅江市| 乌海市| 自治县| 莱州市| 南投市| 慈溪市| 九龙县| 桓仁| 马公市| 和林格尔县| 株洲县| 南澳县| 台山市|