本發(fā)明涉及計(jì)算機(jī)通信技術(shù)領(lǐng)域,具體涉及一種用于提高FC-AE-1553總線傳輸效率的系統(tǒng)。
背景技術(shù):
FC-AE-1553是光纖通道標(biāo)準(zhǔn)化組織的航天電子分委會(huì)制定的標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)是在FC-4層上映射MIL-STD-1553B總線協(xié)議,利用了光纖通道傳輸效率高、延遲低、傳輸距離遠(yuǎn)、可靠性高的優(yōu)點(diǎn),同時(shí)兼容原有MIL-STD-1553B設(shè)備終端。
FC-AE-1553典型網(wǎng)絡(luò)是由1個(gè)FC-AE-1553網(wǎng)絡(luò)控制器(NC),多個(gè)FC-AE-1553網(wǎng)絡(luò)終端(NT),F(xiàn)C交換機(jī)和光纖組成,如圖2所示。NC是網(wǎng)絡(luò)交互的決定者和命令發(fā)起者。NT是網(wǎng)絡(luò)終端和命令的執(zhí)行者。以NC-NT方向?yàn)槔琋C與NT之間進(jìn)行網(wǎng)絡(luò)交換方法為:
(1)軟件向NC數(shù)據(jù)緩存中寫入要交換的數(shù)據(jù);
(2)軟件向NC命令隊(duì)列中寫入命令塊,用于描述交換數(shù)據(jù)在緩存中的地址,NT的地址,控制字等信息;
(3)NC讀取命令隊(duì)列,得到命令塊;
(4)NC讀取數(shù)據(jù)緩存,得到交換數(shù)據(jù);
(5)NC通過(guò)FC光纖向NT發(fā)送命令序列和數(shù)據(jù)序列(可選);
(6)NC等待NT返回狀態(tài)序列;
(7)等待超時(shí),調(diào)到步驟(9);
(8)NT返回狀態(tài)序列,NC進(jìn)行狀態(tài)序列接收;
(9)NC將狀態(tài)信息寫入完成隊(duì)列,此次網(wǎng)絡(luò)交換完成;
(10)軟件讀取NC完成隊(duì)列,得到本次交換完成的狀態(tài)信息。
從上面的傳輸方法可以看出,NC向當(dāng)前NT發(fā)出命令序列后,必須接收到該NT返回的狀態(tài)序列或者等待超時(shí),才能再向該NT或其它NT發(fā)起新的網(wǎng)絡(luò)交換。網(wǎng)絡(luò)中NC和NT處于半雙工工作狀態(tài),接收和發(fā)送不可同時(shí)進(jìn)行,并且在同一個(gè)傳輸方向上序列的間隔較長(zhǎng),網(wǎng)絡(luò)帶寬利用率低,傳輸效率差。
技術(shù)實(shí)現(xiàn)要素:
(一)要解決的技術(shù)問(wèn)題
本發(fā)明要解決的技術(shù)問(wèn)題是:如何提高FC-AE-1553總線傳輸效率。
(二)技術(shù)方案
為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種用于提高FC-AE-1553總線傳輸效率的系統(tǒng),包括控制器、網(wǎng)絡(luò)控制器NC和網(wǎng)絡(luò)終端NT,所述NC包括主控接口,存儲(chǔ)模塊,NC發(fā)送模塊,NC接收模塊和NC控制模塊:
所述控制器用于執(zhí)行流程1.1至1.4:
1.1所述控制器通過(guò)主控接口向存儲(chǔ)模塊中的數(shù)據(jù)隊(duì)列依次寫入第i個(gè)交換的數(shù)據(jù)塊i,若接收到完成中斷,轉(zhuǎn)入步驟1.3,否則繼續(xù)執(zhí)行步驟1.2;i的初始值為1,每次循環(huán)時(shí)i加1;
1.2所述控制器通過(guò)主控接口向存儲(chǔ)模塊中的命令隊(duì)列依次寫入第i個(gè)交換的命令塊i,若接收到完成中斷,轉(zhuǎn)入步驟1.3,否則返回步驟1.1;
1.3接收到完成中斷后,通過(guò)主控接口讀取存儲(chǔ)模塊中的完成隊(duì)列,依次讀取完成塊j,獲得第j個(gè)交換的完成信息;j為整數(shù);
1.4根據(jù)交換j的完成信息,從存儲(chǔ)模塊中的數(shù)據(jù)隊(duì)列讀取數(shù)據(jù)塊j,第j個(gè)交換完成,執(zhí)行完成后重新跳回中斷位置繼續(xù)執(zhí)行,即跳回1.1或1.2;
執(zhí)行完一次步驟1.1和1.2后,觸發(fā)NC發(fā)送模塊執(zhí)行發(fā)送處理或NC接收模塊的接收處理,或同時(shí)觸發(fā)NC發(fā)送模塊執(zhí)行發(fā)送處理和NC接收模塊的接收處理,NC發(fā)送模塊執(zhí)行發(fā)送處理或NC接收模塊的接收處理時(shí)觸發(fā)NC控制模塊的執(zhí)行,NC控制模塊處理完也跳到步驟1.3;
所述NC發(fā)送模塊用于進(jìn)行網(wǎng)絡(luò)交換的發(fā)送處理:
2.1、NC發(fā)送模塊讀取存儲(chǔ)模塊中的命令隊(duì)列,得到第i個(gè)交換的命令塊i;
2.2、NC發(fā)送模塊根據(jù)命令塊i中的控制字,讀取數(shù)據(jù)隊(duì)列,得到交換i的數(shù)據(jù)塊i;
2.3、NC發(fā)送模塊根據(jù)命令塊i中的NT地址,向?qū)?yīng)的NT發(fā)送命令序列;
2.4、NC發(fā)送模塊向NC控制模塊輸出發(fā)送中斷;
2.5、如果命令隊(duì)列非空,返回步驟2.1;如果命令隊(duì)列為空,NC網(wǎng)絡(luò)交換發(fā)送處理完成;
所述NC接收模塊用于進(jìn)行網(wǎng)絡(luò)交換的接收處理:
3.1、NC接收模塊接收到新的狀態(tài)序列;
3.2、對(duì)狀態(tài)序列的完整性進(jìn)行校驗(yàn);
3.3、如果校驗(yàn)通過(guò),接收序列為有效的,進(jìn)行下一步驟,否則,結(jié)束接收處理;
3.4、NC接收模塊提取狀態(tài)信息和數(shù)據(jù)信息,輸出給NC控制模塊;
3.5、NC接收模塊向NC控制模塊輸出接收中斷;
所述NC控制模塊用于進(jìn)行網(wǎng)絡(luò)交換的控制處理,當(dāng)發(fā)送中斷有效時(shí),進(jìn)行發(fā)送控制處理,當(dāng)接收中斷有效時(shí),進(jìn)行接收控制處理;兩個(gè)方向的處理可同時(shí)進(jìn)行;
發(fā)送控制處理過(guò)程為NC控制模塊將發(fā)送命令序列中的NT地址加入到內(nèi)部交換地址表中,并且對(duì)NT地址的表項(xiàng)進(jìn)行超時(shí)計(jì)數(shù),如果NT地址的表項(xiàng)計(jì)數(shù)超時(shí),則從內(nèi)部交換地址表中清除該NT地址的表項(xiàng),并將該NT地址的表項(xiàng)的超時(shí)狀態(tài)信息寫入完成隊(duì)列中對(duì)應(yīng)的完成塊,輸出完成中斷;
接收控制處理過(guò)程為NC控制模塊提取到狀態(tài)信息中的NT地址,然后在內(nèi)部交換地址表中進(jìn)行檢索,如果內(nèi)部交換地址表中不存在該NT地址的表項(xiàng),則丟棄對(duì)應(yīng)狀態(tài)信息和數(shù)據(jù)信息,如果交換地址表中存在該NT地址的表項(xiàng),則從內(nèi)部交換地址表中清除該NT地址的表項(xiàng),將接收狀態(tài)信息寫入完成隊(duì)列,將接收數(shù)據(jù)信息寫入對(duì)應(yīng)的數(shù)據(jù)隊(duì)列,輸出完成中斷。
(三)有益效果
本發(fā)明中,網(wǎng)絡(luò)控制器NC在原有通信模式的基礎(chǔ)上,可以與多個(gè)網(wǎng)絡(luò)終端NT采用交錯(cuò)訪問(wèn)方式進(jìn)行網(wǎng)絡(luò)交換,全雙工,減小序列在總線上傳輸?shù)拈g隔,提升了帶寬利用率,提高了FC-AE-1553總線傳輸效率。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例的功能框圖;
圖2為本發(fā)明實(shí)施例的應(yīng)用拓?fù)鋱D;
圖3為本發(fā)明實(shí)施例的存儲(chǔ)模塊的存儲(chǔ)空間劃分;
圖4為本發(fā)明實(shí)施例的NC發(fā)送模塊的處理流程;
圖5為本發(fā)明實(shí)施例的NC接收模塊的處理流程。
具體實(shí)施方式
為使本發(fā)明的目的、內(nèi)容、和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式作進(jìn)一步詳細(xì)描述。
本發(fā)明實(shí)施例提供一種用于提高FC-AE-1553總線傳輸效率的系統(tǒng),實(shí)現(xiàn)在NC與多個(gè)NT間進(jìn)行網(wǎng)絡(luò)交換,所述網(wǎng)絡(luò)交換是交錯(cuò)進(jìn)行的。NC依次向多個(gè)NT發(fā)送命令序列,而無(wú)需完成與當(dāng)前NT的網(wǎng)絡(luò)交換,交錯(cuò)地與多個(gè)NT發(fā)起網(wǎng)絡(luò)交換。NC接收到某個(gè)NT返回的狀態(tài)序列,結(jié)束與該NT的網(wǎng)絡(luò)交換。NC的發(fā)送和接收是并行工作的,工作在全雙工模式。
如圖1、圖2所示,本發(fā)明實(shí)施例提供的一種用于提高FC-AE-1553總線傳輸效率的系統(tǒng)包括控制器、網(wǎng)絡(luò)控制器NC和網(wǎng)絡(luò)終端NT,所述NC包括主控接口,存儲(chǔ)模塊,NC發(fā)送模塊,NC接收模塊和NC控制模塊;NT為多個(gè),所述NT分別通過(guò)光纖與NC連接。
所述控制器用于執(zhí)行流程1.1至1.4:
1.1所述控制器通過(guò)主控接口向存儲(chǔ)模塊中的數(shù)據(jù)隊(duì)列依次寫入第i個(gè)交換的數(shù)據(jù)塊i,若接收到完成中斷,轉(zhuǎn)入步驟1.3,否則繼續(xù)執(zhí)行步驟1.2;i的初始值為1,每次循環(huán)時(shí)i加1;
其中,主控接口,作為外部主控芯片的訪問(wèn)接口,提供配置空間、存儲(chǔ)空間的讀寫訪問(wèn)。
存儲(chǔ)模塊,用于存儲(chǔ)網(wǎng)絡(luò)交換的命令、數(shù)據(jù)和狀態(tài)。如圖3所示,根據(jù)用途不同,存儲(chǔ)模塊將內(nèi)部存儲(chǔ)空間劃分為3個(gè)存儲(chǔ)隊(duì)列,分別為命令隊(duì)列、數(shù)據(jù)隊(duì)列和完成隊(duì)列。其中,命令隊(duì)列是由多個(gè)命令塊構(gòu)成,一個(gè)命令塊對(duì)應(yīng)一個(gè)網(wǎng)絡(luò)交換,命令塊存儲(chǔ)著網(wǎng)絡(luò)交換所需的控制字、目的NT的端口地址、模式、模式碼、字節(jié)長(zhǎng)度和對(duì)應(yīng)數(shù)據(jù)塊地址等信息。數(shù)據(jù)隊(duì)列是由多個(gè)數(shù)據(jù)塊構(gòu)成,一個(gè)數(shù)據(jù)塊對(duì)應(yīng)一個(gè)網(wǎng)絡(luò)交換,數(shù)據(jù)塊存儲(chǔ)著網(wǎng)絡(luò)交換的數(shù)據(jù)信息。完成隊(duì)列是由多個(gè)完成塊構(gòu)成,一個(gè)完成塊對(duì)應(yīng)一個(gè)網(wǎng)絡(luò)交換,完成塊存儲(chǔ)著網(wǎng)絡(luò)交換的完成狀態(tài)信息和對(duì)應(yīng)命令塊信息。一個(gè)網(wǎng)絡(luò)交換的命令塊、數(shù)據(jù)塊和完成塊相互對(duì)應(yīng)。
1.2所述控制器通過(guò)主控接口向存儲(chǔ)模塊中的命令隊(duì)列依次寫入第i個(gè)交換的命令塊i,若接收到完成中斷,轉(zhuǎn)入步驟1.3,否則返回步驟1.1;
1.3接收到完成中斷后,通過(guò)主控接口讀取存儲(chǔ)模塊中的完成隊(duì)列,依次讀取完成塊j,獲得第j個(gè)交換的完成信息;j為整數(shù);
1.4根據(jù)交換j的完成信息,從存儲(chǔ)模塊中的數(shù)據(jù)隊(duì)列讀取數(shù)據(jù)塊j,第j個(gè)交換完成,執(zhí)行完成后重新跳回中斷位置繼續(xù)執(zhí)行,即跳回1.1或1.2;
執(zhí)行完一次步驟1.1和1.2后,觸發(fā)NC發(fā)送模塊執(zhí)行發(fā)送處理或NC接收模塊的接收處理,或同時(shí)觸發(fā)NC發(fā)送模塊執(zhí)行發(fā)送處理和NC接收模塊的接收處理,NC發(fā)送模塊執(zhí)行發(fā)送處理或NC接收模塊的接收處理時(shí)觸發(fā)NC控制模塊的執(zhí)行,NC控制模塊處理完也跳到步驟1.3;
所述NC發(fā)送模塊,用于發(fā)送網(wǎng)絡(luò)交換的命令序列和數(shù)據(jù)序列,主要完成圖4的發(fā)送處理:
2.1、NC發(fā)送模塊讀取存儲(chǔ)模塊中的命令隊(duì)列,得到第i個(gè)交換的命令塊i;
2.2、NC發(fā)送模塊根據(jù)命令塊i中的控制字,讀取數(shù)據(jù)隊(duì)列,得到交換i的數(shù)據(jù)塊i;
2.3、NC發(fā)送模塊根據(jù)命令塊i中的NT地址,向?qū)?yīng)的NT發(fā)送命令序列;
2.4、NC發(fā)送模塊向NC控制模塊輸出發(fā)送中斷;
2.5、如果命令隊(duì)列非空,返回步驟2.1;如果命令隊(duì)列為空,NC網(wǎng)絡(luò)交換發(fā)送處理完成;
所述NC接收模塊,用于接收網(wǎng)絡(luò)交換的命令序列和數(shù)據(jù)序列,主要完成圖5的接收處理:
3.1、NC接收模塊接收到新的狀態(tài)序列;
3.2、對(duì)狀態(tài)序列的完整性進(jìn)行校驗(yàn);
3.3、如果校驗(yàn)通過(guò),接收序列為有效的,進(jìn)行下一步驟,否則,結(jié)束接收處理;
3.4、NC接收模塊提取狀態(tài)信息和數(shù)據(jù)信息,輸出給NC控制模塊;
3.5、NC接收模塊向NC控制模塊輸出接收中斷;
所述NC控制模塊用于進(jìn)行網(wǎng)絡(luò)交換的控制處理,當(dāng)發(fā)送中斷有效時(shí),進(jìn)行發(fā)送控制處理,當(dāng)接收中斷有效時(shí),進(jìn)行接收控制處理;兩個(gè)方向的處理可同時(shí)進(jìn)行;
發(fā)送控制處理過(guò)程為NC控制模塊將發(fā)送命令序列中的NT地址加入到內(nèi)部交換地址表中,并且對(duì)NT地址的表項(xiàng)進(jìn)行超時(shí)計(jì)數(shù),如果NT地址的表項(xiàng)計(jì)數(shù)超時(shí),則從內(nèi)部交換地址表中清除該NT地址的表項(xiàng),并將該NT地址的表項(xiàng)的超時(shí)狀態(tài)信息寫入完成隊(duì)列中對(duì)應(yīng)的完成塊,輸出完成中斷;
接收控制處理過(guò)程為NC控制模塊提取到狀態(tài)信息中的NT地址,然后在內(nèi)部交換地址表中進(jìn)行檢索,如果內(nèi)部交換地址表中不存在該NT地址的表項(xiàng),則丟棄對(duì)應(yīng)狀態(tài)信息和數(shù)據(jù)信息,如果交換地址表中存在該NT地址的表項(xiàng),則從內(nèi)部交換地址表中清除該NT地址的表項(xiàng),將接收狀態(tài)信息寫入完成隊(duì)列,將接收數(shù)據(jù)信息寫入對(duì)應(yīng)的數(shù)據(jù)隊(duì)列,輸出完成中斷。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明技術(shù)原理的前提下,還可以做出若干改進(jìn)和變形,這些改進(jìn)和變形也應(yīng)視為本發(fā)明的保護(hù)范圍。