本發(fā)明涉及計算機(jī)通信1553總線技術(shù)領(lǐng)域,具體涉及一種提高1553總線傳輸帶寬的方法。
背景技術(shù):
1553總線是MIL-STD-1553B的簡稱。1973年美國軍方制定了1553總線標(biāo)準(zhǔn)。目前已經(jīng)廣泛地應(yīng)用于機(jī)載、彈載、衛(wèi)星和航天器等航空和航天領(lǐng)域。由于1553總線1Mbps傳輸帶寬的制約,1553總線已不能滿足航空航天電子系統(tǒng)對大量數(shù)據(jù)傳輸?shù)男枨蟆?/p>
一些公司在研究高速的1553總線,如美國的DDC公司的10Mbit/s的1553產(chǎn)品。10Mbit/s的1553總線雖然保留使用現(xiàn)有線纜,但無法與1Mbit/s的1553總線直接互通。如果總線工作在10M帶寬,就必須更換總線上所有節(jié)點(diǎn)設(shè)備,否則無法實(shí)現(xiàn)所有節(jié)點(diǎn)設(shè)備的互聯(lián)互通。
此外,航空電子分委員會(ANSI FC-AE)推出了FC-AE-1553總線標(biāo)準(zhǔn)。FC-AE-1553以光纖作為物理介質(zhì),在光纖通道上映射1553協(xié)議,利用光纖通道的特性,提高總線通信能力。但由于底層介質(zhì)不同,采用FC-AE-1553需要完全更換總線線纜和設(shè)備,無法保護(hù)已有投入,更換升級的費(fèi)用昂貴。
因此迫切地需要一種方法簡單、高效、低成本、與1Mbit/s的1553總線兼容的提高總線傳輸帶寬的方法。
技術(shù)實(shí)現(xiàn)要素:
(一)要解決的技術(shù)問題
本發(fā)明要解決的技術(shù)問題是:如何提高1553總線的傳輸帶寬。
(二)技術(shù)方案
為了解決上述技術(shù)問題,本發(fā)明提供了一種提高1553總線傳輸帶寬的方法,所述方法中按照以下步驟將本地數(shù)據(jù)發(fā)送到1553總線上:
A1,外部CPU向共享緩存中寫入本地數(shù)據(jù);如果通過命令控制模式發(fā)送數(shù)據(jù),則遠(yuǎn)程終端RT子地址采用非大數(shù)據(jù)子地址;如果通過非命令控制模式,即大數(shù)據(jù)模式發(fā)送數(shù)據(jù),則RT子地址采用大數(shù)據(jù)子地址;其中,對于可靠性達(dá)到預(yù)設(shè)指標(biāo)的命令控制信息的傳輸,采用1Mbit/s的1553總線通信方式進(jìn)行冗余保護(hù)傳輸,定義為命令控制模式;對于可靠性未達(dá)到預(yù)設(shè)指標(biāo)的大數(shù)據(jù)的傳輸,利用1553總線的冗余通道,與主通道組成一條虛擬鏈路,在虛擬鏈路上采用1Mbit/s的1553總線通信方式,進(jìn)行大數(shù)據(jù)量傳輸,定義為大數(shù)據(jù)模式;所述大數(shù)據(jù)為大于預(yù)設(shè)數(shù)據(jù)量的數(shù)據(jù);
A2,控制共享緩存的讀寫操作以及地址和指針管理,以實(shí)現(xiàn)本地數(shù)據(jù)的讀?。?/p>
A3,對于讀取的本地數(shù)據(jù)實(shí)現(xiàn)1553總線協(xié)議,根據(jù)當(dāng)前1553操作的命令控制或狀態(tài)信息,組成由命令字、狀態(tài)字和數(shù)據(jù)字構(gòu)成的1553信息數(shù)據(jù);
A4,對所述1553信息數(shù)據(jù)中的命令字或狀態(tài)字中的RT子地址進(jìn)行識別,動態(tài)地建立虛擬鏈路:如果識別出命令字或狀態(tài)字中的RT子地址字段為非大數(shù)據(jù)子地址,即命令控制模式,則將1553信息數(shù)據(jù)直接在主通道上進(jìn)行發(fā)送,冗余通道用于主通道的冗余保護(hù);如果識別出命令字或狀態(tài)字中的RT子地址字段為大數(shù)據(jù)子地址,即大數(shù)據(jù)模式,則將主通道和冗余通道組合成一條虛擬通道,將1553信息數(shù)據(jù)在虛擬通道上傳輸,利用兩個通道的帶寬,同時發(fā)送1553信息數(shù)據(jù);
A5,對1553信息數(shù)據(jù)以字為單位進(jìn)行處理,添加同步頭,進(jìn)行校驗(yàn)計算,并以曼徹斯特編碼形式的串行數(shù)據(jù)發(fā)送;
所述方法中按照以下步驟從1553總線上接收遠(yuǎn)端數(shù)據(jù):
B1,對1553總線上的數(shù)據(jù)進(jìn)行解碼,解碼后的信息數(shù)據(jù)以字為單位;
B2,對解碼后的信息數(shù)據(jù)中的命令字或狀態(tài)字中的RT子地址進(jìn)行識別,動態(tài)地建立虛擬鏈路:如果命令字或狀態(tài)字中的RT子地址字段為非大數(shù)據(jù)子地址,即命令控制模式,則從主通道或冗余通道上接收1553信息數(shù)據(jù);如果命令字或狀態(tài)字中的RT子地址字段為大數(shù)據(jù)子地址,即大數(shù)據(jù)模式,則將主通道和冗余通道組合成一條虛擬通道,從虛擬鏈路上還原1553信息數(shù)據(jù);
B3,將接收到的1553信息數(shù)據(jù),按1553協(xié)議進(jìn)行解析得到遠(yuǎn)端數(shù)據(jù);
B4,控制共享緩存的讀寫操作以及地址和指針管理,以實(shí)現(xiàn)遠(yuǎn)端數(shù)據(jù)的寫入;
B5,外部CPU從共享緩存中讀取遠(yuǎn)端數(shù)據(jù)。
優(yōu)選地,步驟B1中,所述解碼的操作包括同步頭檢出、命令字檢出、狀態(tài)字檢出、數(shù)據(jù)字檢出、解碼錯誤檢出、奇偶檢測、字計數(shù)統(tǒng)計以及串并轉(zhuǎn)換中的一種或幾種操作。
優(yōu)選地,所述共享緩存是4K*16Bit的異步雙口SRAM。
(三)有益效果
本發(fā)明方法利用現(xiàn)有冗余通道,簡單高效地提高了1553總線的傳輸帶寬,兼容原1Mbit/s的1553總線傳輸,既可以進(jìn)行命令控制模式傳輸,又可以進(jìn)行大數(shù)據(jù)模式傳輸,動態(tài)切換模式,調(diào)整傳輸帶寬,成本低,優(yōu)勢明顯。
附圖說明
圖1為本發(fā)明實(shí)施例涉及的功能模塊結(jié)構(gòu)框圖;
圖2為本發(fā)明實(shí)施例的中1553信息數(shù)據(jù)格式;
圖3為本發(fā)明實(shí)施例中命令控制模式鏈路上信息格式;
圖4為本發(fā)明實(shí)施例中大數(shù)據(jù)模式虛擬鏈路上信息格式。
具體實(shí)施方式
為使本發(fā)明的目的、內(nèi)容、和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和實(shí)施例,對本發(fā)明的具體實(shí)施方式作進(jìn)一步詳細(xì)描述。
本發(fā)明實(shí)施例提供的一種提高1553總線傳輸帶寬的方法,可以根據(jù)應(yīng)用的需求,動態(tài)地切換傳輸模式,實(shí)現(xiàn)動態(tài)帶寬調(diào)整。其保留現(xiàn)有的總線線纜,對于可靠性要求達(dá)到預(yù)設(shè)指標(biāo)的命令控制信息的傳輸,采用原1Mbit/s的1553總線通信方式,進(jìn)行冗余保護(hù)傳輸,定義為命令控制模式;對于可靠性要求未達(dá)到預(yù)設(shè)指標(biāo)的大量數(shù)據(jù)的傳輸,利用1553總線的冗余通道,與主通道組成一條虛擬鏈路,在虛擬鏈路上采用原1Mbit/s的1553總線通信方式,進(jìn)行大數(shù)據(jù)量傳輸,定義為大數(shù)據(jù)模式;所述大數(shù)據(jù)為大于預(yù)設(shè)數(shù)據(jù)量的數(shù)據(jù)。其中,大數(shù)據(jù)模式傳輸采用專用的RT子地址(可自定義),定義為大數(shù)據(jù)子地址;命令控制模式傳輸采用剩余的RT子地址,定義為非大數(shù)據(jù)子地址。
本發(fā)明實(shí)施例的提高1553總線傳輸帶寬的方法,其中涉及到的功能模塊包括:CPU接口邏輯模塊、共享緩存、存儲管理模塊、1553協(xié)議控制器、虛擬鏈路控制器、主通道和冗余通道編解碼器。所述的CPU接口邏輯負(fù)責(zé)與外部CPU進(jìn)行通信,完成內(nèi)外部數(shù)據(jù)交換;所述的共享緩存負(fù)責(zé)存儲本地和遠(yuǎn)端數(shù)據(jù);所述的存儲管理模塊負(fù)責(zé)控制讀寫共享緩存器操作以及地址和指針管理;所述的1553協(xié)議控制器負(fù)責(zé)1553總線協(xié)議處理;所述的虛擬鏈路控制器負(fù)責(zé)將多個物理通道組合成為虛擬鏈路,承載1553信息數(shù)據(jù);所述的編解碼器負(fù)責(zé)信號濾波、同步檢測、時鐘對準(zhǔn)、曼徹斯特編解碼、串并/并串轉(zhuǎn)換和奇偶校驗(yàn)等功能。
如圖1所示,2個獨(dú)立的編解碼器負(fù)責(zé)信號濾波、同步檢測、時鐘對準(zhǔn)、曼徹斯特編解碼、串并/并串轉(zhuǎn)換和奇偶校驗(yàn);虛擬鏈路控制器負(fù)責(zé)將2個物理通道組合成為1條虛擬鏈路,傳輸1553信息數(shù)據(jù)。
CPU接口邏輯模塊:實(shí)現(xiàn)與外部CPU芯片接口通信,通過地址線、數(shù)據(jù)線、控制線,向寄存器寫入控制信息和讀取狀態(tài)信息,向共享緩存中寫入內(nèi)部數(shù)據(jù)或從共享緩存中讀取外部數(shù)據(jù),完成信息交換和數(shù)據(jù)存儲。尤其,CPU需要通過配置RT子地址來控制信息傳輸?shù)哪J?,命令控制模式采用非大?shù)據(jù)子地址進(jìn)行數(shù)據(jù)交換,大數(shù)據(jù)模式采用大數(shù)據(jù)子地址進(jìn)行數(shù)據(jù)交換。
共享緩存:共享緩存是4K*16Bit的異步雙口SRAM,一個端口用于外部CPU的訪問,另一個端口用于內(nèi)部存儲管理模塊的訪問,每一個端口都支持讀寫。
1553協(xié)議控制器:實(shí)現(xiàn)1553總線協(xié)議,將內(nèi)部數(shù)據(jù)按1553協(xié)議組成1553信息數(shù)據(jù)進(jìn)行發(fā)送,或?qū)⒔邮盏?553信息數(shù)據(jù)按1553協(xié)議進(jìn)行解析得到外部數(shù)據(jù),BC-RT的1553信息數(shù)據(jù)格式和RT-BC的1553信息數(shù)據(jù)格式,如圖2所示。
編解碼器模塊:發(fā)送方向,編解碼器模塊對1553信息數(shù)據(jù)以字為單位進(jìn)行處理,添加同步頭,進(jìn)行校驗(yàn)計算,并以曼徹斯特編碼形式的串行數(shù)據(jù)發(fā)送;接收方向,編解碼器模塊實(shí)現(xiàn)同步頭檢出、數(shù)據(jù)檢出、解碼錯誤檢出、奇偶檢測、字計數(shù)統(tǒng)計等功能,進(jìn)行串并轉(zhuǎn)換將處理后的16比特字交給后級模塊進(jìn)行處理。
虛擬鏈路控制器:對命令字或狀態(tài)字中RT子地址進(jìn)行識別,動態(tài)地建立虛擬鏈路:
如果命令字或狀態(tài)字中的RT子地址字段為非大數(shù)據(jù)子地址,為命令控制模式,采用1Mbit/s的1553總線傳輸,虛擬鏈路控制器根據(jù)CPU的控制,在指定的鏈路上進(jìn)行1553信息數(shù)據(jù)的承載,其余鏈路用于冗余保護(hù)處理;如圖3所示為命令控制模式BC-RT和RT-BC信息數(shù)據(jù)在主通道進(jìn)行傳輸;
如果命令字或狀態(tài)字中的RT子地址為大數(shù)據(jù)子地址,即大數(shù)據(jù)傳輸模式,則虛擬鏈路控制器將2個彼此獨(dú)立的物理通道組合成一條虛擬鏈路,在虛擬鏈路上承載1553信息數(shù)據(jù),鏈路上信息數(shù)據(jù)在2條物理通道上同時傳輸,利用了2條物理通道的傳輸帶寬。
BC-RT信息數(shù)據(jù)在虛擬鏈路上傳輸?shù)母袷饺鐖D4所示,BC將BC-RT信息數(shù)據(jù)中的命令字(接收命令字)同時在兩個物理通道上發(fā)送,將信息數(shù)據(jù)中的數(shù)據(jù)字按奇偶比特間插的方式同時在兩個物理通道上傳輸,即兩個通道均發(fā)送了完整且相同的命令字,主通道發(fā)送了每個數(shù)據(jù)字的偶數(shù)比特,冗余通道上發(fā)送每個數(shù)據(jù)字的奇數(shù)比特。RT的2個通道接收到接收命令字,進(jìn)行字對齊,接著按奇偶比特間插的方式,從2個通道還原數(shù)據(jù)字。
RT-BC信息數(shù)據(jù)在虛擬鏈路上傳輸?shù)母袷饺鐖D4所示,BC在主通道上發(fā)送命令字(發(fā)送命令字)。RT接收到BC發(fā)送的命令字后返回響應(yīng),將狀態(tài)字同時在兩個物理通道上發(fā)送,將信息數(shù)據(jù)中的數(shù)據(jù)字按奇偶比特間插的方式同時在兩個物理通道上傳輸,即兩個通道均發(fā)送了完整且相同的狀態(tài)字,主通道發(fā)送了每個數(shù)據(jù)字的偶數(shù)比特,冗余通道上發(fā)送了每個數(shù)據(jù)字的奇數(shù)比特。BC的兩個通道接收到狀態(tài)字后,進(jìn)行字對齊,接著按奇偶比特間插的方式,從2個通道還原數(shù)據(jù)字。
基于以上功能模塊實(shí)現(xiàn)的本發(fā)明實(shí)施例的方法通過以下步驟將本地數(shù)據(jù)發(fā)送到1553總線上:
A1,外部CPU通過CPU接口邏輯模塊,向共享緩存中寫入本地數(shù)據(jù)。如果通過命令控制模式發(fā)送數(shù)據(jù),則遠(yuǎn)程終端RT子地址采用非大數(shù)據(jù)子地址;如果通過大數(shù)據(jù)模式發(fā)送數(shù)據(jù),則RT子地址采用大數(shù)據(jù)專用子地址。
A2,存儲管理模塊控制共享緩存的讀寫操作以及地址和指針管理,以實(shí)現(xiàn)本地數(shù)據(jù)的讀取,交給1553協(xié)議控制器。
A3,1553協(xié)議控制器實(shí)現(xiàn)1553總線協(xié)議,根據(jù)當(dāng)前1553操作的命令控制或狀態(tài)信息,組成由命令字、狀態(tài)字、數(shù)據(jù)字構(gòu)成的1553信息數(shù)據(jù),發(fā)送給虛鏈路控制器。
A4,虛擬鏈路控制器對1553信息數(shù)據(jù)中的命令字或狀態(tài)字中RT子地址進(jìn)行識別,動態(tài)地建立虛擬鏈路:
如果命令字或狀態(tài)字中的RT子地址字段為非大數(shù)據(jù)子地址,即命令控制模式,虛擬鏈路控制器將1553信息數(shù)據(jù)直接在主通道上進(jìn)行發(fā)送,冗余通道用于主通道的冗余保護(hù);
如果命令字或狀態(tài)字中的RT子地址字段為大數(shù)據(jù)子地址,即大數(shù)據(jù)模式,虛擬鏈路控制器將主通道和冗余通道組合成一條虛擬通道,將1553信息數(shù)據(jù)在虛擬通道上傳輸,利用了兩個通道的帶寬,同時發(fā)送1553信息數(shù)據(jù)。
A5,編解碼器,對1553信息數(shù)據(jù)以字為單位進(jìn)行處理,添加同步頭,進(jìn)行校驗(yàn)計算,并以曼徹斯特編碼形式的串行數(shù)據(jù)發(fā)送;
本發(fā)明實(shí)施例的方法中通過以下步驟從1553總線上接收遠(yuǎn)端數(shù)據(jù):
B1,編解碼器對1553總線上的數(shù)據(jù)進(jìn)行同步頭檢出、命令字檢出、狀態(tài)字檢出、數(shù)據(jù)字檢出、解碼錯誤檢出、奇偶檢測、字計數(shù)統(tǒng)計等功能,進(jìn)行串并轉(zhuǎn)換等操作,將處理后信息數(shù)據(jù)以字為單位交給虛擬鏈路控制器進(jìn)行處理。
B2,虛擬鏈路控制器對編解碼器輸出的信息數(shù)據(jù)中的命令字或狀態(tài)字中RT子地址進(jìn)行識別,動態(tài)地建立虛擬鏈路:
如果命令字或狀態(tài)字中的RT子地址字段為非大數(shù)據(jù)子地址,即命令控制模式,虛擬鏈路控制器從主通道或冗余通道上接收1553信息數(shù)據(jù),交給1553協(xié)議控制器進(jìn)行處理;
如果命令字或狀態(tài)字中的RT子地址字段為大數(shù)據(jù)子地址,即大數(shù)據(jù)模式,虛擬鏈路控制器將主通道和冗余通道組合成一條虛擬通道,從虛擬鏈路上還原1553信息數(shù)據(jù),交給1553協(xié)議控制器進(jìn)行處理。
B3,1553協(xié)議控制器將接收到的1553信息數(shù)據(jù),按1553協(xié)議進(jìn)行解析得到遠(yuǎn)端數(shù)據(jù),發(fā)送給存儲管理模塊;
B4,存儲管理模塊控制共享緩存的讀寫操作以及地址和指針管理,以實(shí)現(xiàn)遠(yuǎn)端數(shù)據(jù)的寫入。
B5,外部CPU通過CPU接口邏輯模塊,從共享緩存中讀取遠(yuǎn)端數(shù)據(jù)。
可以看出,本發(fā)明實(shí)施例中,利用現(xiàn)有冗余通道,簡單高效地提高了1553總線的傳輸帶寬,兼容原1Mbit/s的1553總線傳輸,既可以進(jìn)行命令控制模式傳輸,又可以進(jìn)行大數(shù)據(jù)模式傳輸,動態(tài)切換模式,調(diào)整傳輸帶寬,成本低,優(yōu)勢明顯。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明技術(shù)原理的前提下,還可以做出若干改進(jìn)和變形,這些改進(jìn)和變形也應(yīng)視為本發(fā)明的保護(hù)范圍。