施 睿,莊傳剛,張 晉,李 霄,劉宇航
高速1553B智能通用總線測試平臺設計
施 睿,莊傳剛,張 晉,李 霄,劉宇航
(中國運載火箭技術(shù)研究院空間物理重點實驗室 北京 100076)
傳統(tǒng)的1 Mbps 1553B由于總線帶寬受限,在航天測量控制領(lǐng)域正逐步被4 Mbps高速1553B總線替代。一般的高速1553B總線測試儀不具備精準時序控制、動態(tài)消息插入和系統(tǒng)故障恢復的功能,難以模擬系統(tǒng)實際工況。因此,通過各模式下總線的初始化配置和數(shù)據(jù)收發(fā)控制,采用SDRAM動態(tài)讀取和硬件定時觸發(fā)技術(shù),結(jié)合基于心跳和消息監(jiān)測的冗余總線控制機制,設計了一種高速1553B智能通用總線測試平臺。通過調(diào)整消息長度、消息內(nèi)容和消息間隔,驗證了總線測試平臺BC-RT、RT-BC、RT-RT以及MT監(jiān)視功能的正確性,滿足了精準時序控制、動態(tài)消息插入和系統(tǒng)故障恢復的需求。本平臺可用于半實物仿真、時序功能的驗證和系統(tǒng)真實負載狀態(tài)的測試。
高速1553B;硬件定時觸發(fā);總線數(shù)據(jù)收發(fā);SDRAM動態(tài)讀取
MIL-STD-1553B憑借網(wǎng)絡結(jié)構(gòu)簡單、實時性好、可靠性高、易于擴展等優(yōu)點,廣泛應用于航空電子、航天控制測量領(lǐng)域。隨著交互信息量的增大和實時性需求的提高,電子系統(tǒng)對總線速率的要求越來越高,傳統(tǒng)1553B總線1 Mbps的傳輸速率在多種場合下已經(jīng)捉襟見肘。隨著4 Mbps 1553B總線控制器的使用,兼容傳統(tǒng)傳輸協(xié)議的4 Mbps高速1553B通信在航天系統(tǒng)中逐漸獲得了廣泛應用。
航天測量控制系統(tǒng)中高速1553B總線具有精準時序控制、動態(tài)消息插入、系統(tǒng)故障恢復等功能,滿足全流程完整數(shù)據(jù)監(jiān)視的需求。一般的高速1553B總線測試儀雖然能實現(xiàn)測試流程的調(diào)配和總線網(wǎng)絡測試的自動控制,但不具備精準時序控制和動態(tài)消息插入的功能,難以模擬系統(tǒng)故障恢復等實際工況[1]。因此,采用SDRAM動態(tài)讀寫技術(shù)和硬件定時觸發(fā)機制,結(jié)合各模式下總線的初始化配置和數(shù)據(jù)收發(fā)控制,設計一種高速1553B智能通用總線測試平臺,用于半實物仿真、時序功能驗證和系統(tǒng)真實負載狀態(tài)的測試。
本平臺可實現(xiàn)雙通道4 Mbps 1553B總線通信,可實現(xiàn)如下具體功能:
①通過CPCI實現(xiàn)與上位機的交互,實現(xiàn)1553B通信的模式選擇、參數(shù)配置、消息設置或消息存儲,支持Target和DMA模式,可實現(xiàn)CPU對CPCI設備的訪問以及CPCI與主存之間的直接通信。
②BC模式下支持自動重試和幀自動重發(fā),支持內(nèi)部觸發(fā)1 μs~65.5 ms消息間隔設置和100 μs~6.55 s幀間隔設置,支持外部觸發(fā)消息定時發(fā)送和消息插入。
③RT模式下支持循環(huán)緩沖數(shù)據(jù)存儲模式,支持循環(huán)緩沖區(qū)大小擴展,支持RT地址設置。
④MT模式下支持消息監(jiān)視模式和RT/消息監(jiān)視組合模式(RT/MT),支持100%全監(jiān)聽總線消息,支持命令字過濾,支持完整的RT操作功能和其他30個非廣播模式RT地址總線的監(jiān)測。
⑤當MT模式監(jiān)聽到BC故障時,可作為備份BC重新配置為BC模式,實現(xiàn)系統(tǒng)故障的恢復。
基于高速1553B的智能通用總線測試平臺與其他終端搭配實現(xiàn)仿真、驗證和測試功能。平臺包括CPCI機箱、嵌入式控制器以及兩塊高速1553B接口板,嵌入式控制器中CPU實現(xiàn)X86架構(gòu)的計算機功能,主板實現(xiàn)外設接口擴展和CPCI鏈路擴展功能,主存作為計算機的緩存在DMA模式下可與CPCI直接通信,如圖1所示,單塊高速1553B接口板采用兩路LHB155304高速1553B總線控制器(兩路可分別實現(xiàn)BC/MT、RT/RT、RT/MT等模式)實現(xiàn)MIL-STD-1553B協(xié)議??偩€控制器采用抗干擾性強的16 bits緩沖非零等待模式,提供內(nèi)置的16 kB×16 bits的存儲單元,外部輸入時鐘為16 MHz,內(nèi)部可四倍頻為64 MHz時鐘[2]。采用隔離變壓器LS3067-3實現(xiàn)終端與總線之間的短路保護、直流隔離、阻抗匹配和電平轉(zhuǎn)換。當連續(xù)突發(fā)數(shù)據(jù)量較大時,芯片內(nèi)置存儲單元不足以緩存全部數(shù)據(jù),考慮到LHB155304不支持透明模式,故采用容量為16 MB×16 bits的SDRAM作為發(fā)送與接收緩存,以較高的讀寫速率連續(xù)突發(fā)讀寫32 MB數(shù)據(jù)。采用PCI總線橋芯片PCI9054實現(xiàn)CPCI與FPGA的連接,通過外接EEPROM存儲PCI9054配置信息,支持Target模式和DMA模式,便于實現(xiàn)各種場景下的CPCI主被動通信。板卡的邏輯控制由FPGA完成,系統(tǒng)供電通過CPCI總線和LDO實現(xiàn)。為適應PCI接口33 MHz時鐘的要求,兼顧其他功能的時鐘需求,F(xiàn)PGA以33 MHz時鐘為基準時鐘,如圖2所示。
圖2 高速1553B接口板原理圖
總體邏輯在FPGA上實現(xiàn),總體邏輯設計如圖3所示:
圖3 總體邏輯框圖
①PCI接口邏輯模塊實現(xiàn)CPCI總線對本地RAM和I/O數(shù)據(jù)的讀寫。上位機發(fā)送的數(shù)據(jù)主要包括初始化配置數(shù)據(jù)、BC待發(fā)送總線數(shù)據(jù)和RT待發(fā)送總線數(shù)據(jù),為便于邏輯區(qū)分和處理,對上述三種數(shù)據(jù)采用不同的標志區(qū)分并采用表1和圖4所示數(shù)據(jù)包格式。
表1 三種數(shù)據(jù)幀
② 編譯碼邏輯模塊完成上位機指令和數(shù)據(jù)的PCI譯碼與總線接收數(shù)據(jù)的PCI編碼,是PCI接口邏輯模塊與總線初始化邏輯模塊、SDRAM控制邏輯模塊、總線通信控制邏輯模塊的橋梁。本模塊的重要功能之一就是在BC模式下從圖4(b)所示的數(shù)據(jù)幀中提取時間間隔信息,并據(jù)此向總線通信控制邏輯模塊發(fā)送定時脈沖,以保證總線通信控制邏輯模塊定時讀取SDRAM中的數(shù)據(jù)。
圖4 有效數(shù)據(jù)區(qū)格式
③總線初始化模塊根據(jù)上位機發(fā)送的初始化配置數(shù)據(jù),在總線接口邏輯模塊的配合下通過對總線控制器特定寄存器和存儲空間的配置實現(xiàn)BC、RT、MT等模式的初始化。對于BC模式,通過對總線控制器相關(guān)寄存器的設置實現(xiàn)內(nèi)部觸發(fā)1 μs~65.5 ms消息間隔設置實現(xiàn)定時發(fā)送,但該種定時模式受限于芯片本身的定時長度和存儲容量。對于RT模式,需根據(jù)上位機發(fā)送的初始化配置數(shù)據(jù)輸出高/低電平以設置總線控制器的RT地址。
④SDRAM控制邏輯模塊實現(xiàn)SDRAM初始化和數(shù)據(jù)讀寫控制,完成數(shù)據(jù)緩沖。
⑤總線通信控制邏輯模塊根據(jù)總線控制器針對BC、RT、MT等不同模式的存儲管理策略,在總線接口邏輯模塊的配合下,完成各模式下總線數(shù)據(jù)的收發(fā)控制。收發(fā)控制的過程中,總線通信控制邏輯模塊接收編譯碼邏輯模塊的定時脈沖,通過SDRAM控制邏輯模塊實現(xiàn)動態(tài)消息插入和硬件精準定時。
⑥ 總線接口邏輯模塊實現(xiàn)總線控制器寄存器和存儲空間的讀寫時序,時序關(guān)系如圖5所示。在高速時鐘下,F(xiàn)PGA通過對SELECT、STRBD、MEM/REG、RD/WR的控制,完成對控制器的內(nèi)部寄存器或存儲器的訪問。
圖5 FPGA對1553B控制器內(nèi)部寄存器或存儲器訪問
⑦心跳發(fā)生邏輯模塊產(chǎn)生心跳信號,用于BC與MT之間的心跳測試,相關(guān)功能將在3.4節(jié)介紹。
本節(jié)給出了BC模式、RT模式和MT模式的典型初始化配置流程。除配置基本的寄存器外,需根據(jù)總線控制器的存儲器地址映射關(guān)系,在BC模式的配置過程中初始化堆棧指針和消息計數(shù)器,在RT模式和MT模式的配置過程中初始化堆棧指針和查詢表。各路1553B總線控制器的模式配置受上位機控制,如圖6所示。
圖6 1553B總線初始化典型配置
不同模式的初始化決定了總線數(shù)據(jù)收發(fā)控制的不同跳轉(zhuǎn)。
BC模式初始化后,總線數(shù)據(jù)收發(fā)執(zhí)行BC模式總線收發(fā)控制邏輯:當總線控制器INCMD上升沿或定時脈沖產(chǎn)生時,讀取消息計數(shù)器以獲取當前幀的消息數(shù)量。通過本條消息描述器堆棧的第4個地址空間獲取當前消息的RAM起始地址,進而讀取命令字。若命令字表征RT-BC的消息,則順序讀取本消息塊的消息,當接收字全部讀完,開始等待下一個中斷或定時脈沖。若命令字表征BC-RT的消息,則根據(jù)待發(fā)送字總數(shù),在當前消息的RAM起始地址順序?qū)懭胨写l(fā)送字。當待發(fā)送字全部寫完,開始等待下一個INCMD上升沿或定時脈沖。狀態(tài)轉(zhuǎn)換圖如圖7所示。
圖7 BC模式總線收發(fā)控制
圖8 RT模式總線收發(fā)控制
RT模式初始化后,總線數(shù)據(jù)收發(fā)執(zhí)行RT總線收發(fā)控制邏輯:當總線控制器INCMD上升沿到來時,讀取消息描述器堆棧,通過本條消息描述器的第4個地址空間獲取當前消息的命令字。若命令字表征RT-BC的消息,則根據(jù)待發(fā)送字總數(shù),順序?qū)懭胨写l(fā)送字。當待發(fā)送字全部寫完,開始等待下一個INCMD上升沿。若命令字表征BC-RT的消息,則根據(jù)數(shù)據(jù)塊指針獲取數(shù)據(jù)塊地址,順序讀取本消息塊的消息,當接收字全部讀完,開始等待下一個INCMD上升沿。狀態(tài)轉(zhuǎn)換圖如圖8所示。
MT模式初始化后,總線數(shù)據(jù)監(jiān)視執(zhí)行MT總線收發(fā)控制邏輯:當總線控制器INCMD上升沿到來時,讀取命令堆棧指針。根據(jù)命令堆棧指針獲取塊狀態(tài)字和命令字,根據(jù)命令字獲取數(shù)據(jù)字數(shù)量,根據(jù)塊狀態(tài)字獲取消息狀態(tài)。如果消息狀態(tài)異常,則放棄該消息,等待下一個中斷;反之,則讀取數(shù)據(jù)塊指針和堆棧指針,根據(jù)數(shù)據(jù)塊指針和堆棧指針,讀取數(shù)據(jù)塊內(nèi)的數(shù)據(jù)字。當數(shù)據(jù)字全部讀完,開始等待下一個INCMD上升沿。狀態(tài)轉(zhuǎn)換圖如圖9所示。
海量動態(tài)消息插入是BC或RT發(fā)送狀態(tài)下的特定需求。當BC或RT待發(fā)送數(shù)據(jù)量超過總線控制器內(nèi)部存儲容量時,上位機將BC或RT待發(fā)送數(shù)據(jù)一次性寫入SDRAM中,然后由FPGA按設定時間實現(xiàn)定時讀取SDRAM緩存中的內(nèi)容并更新RAM中消息塊的命令字、數(shù)據(jù)字,進而實現(xiàn)大量消息的動態(tài)更新。SDRAM可通過初始化完成行選通潛伏期和突發(fā)長度的設置,然后控制數(shù)據(jù)的讀寫,讀寫邏輯狀態(tài)機轉(zhuǎn)換如下:
空閑狀態(tài)下,如果檢測到刷新請求,則執(zhí)行刷新命令,等待刷新間隔計數(shù)器溢出后,收到刷新應答,回到空閑狀態(tài)。如果檢測到讀/寫請求,則執(zhí)行行選通命令,待行選通命令執(zhí)行完畢后,如果寫請求有效則執(zhí)行寫命令,如果讀請求有效則執(zhí)行讀命令。執(zhí)行寫命令時同步啟動寫完后自動預充,然后完成突發(fā)寫,并等待預充電執(zhí)行;執(zhí)行讀命令時同步啟動讀完后自動預充,等待行選通潛伏期后,才能開始突發(fā)讀。完成突發(fā)讀后,等待預充電執(zhí)行[3]。
圖9 MT模式總線收發(fā)控制
圖10 SDRAM的讀寫邏輯狀態(tài)機
SDRAM需定時刷新,刷新命令不能控制刷新的行地址,行地址由SDRAM內(nèi)部給出,內(nèi)部自動累加。由于任意一行兩次刷新間隔不能超過64 ms,因此采用定時等間隔刷新,保證每64 ms執(zhí)行一次刷新命令。每個刷新命令需要特定的執(zhí)行時間,刷新命令執(zhí)行時所有的bank必須是空閑的。另外,如果刷新請求在數(shù)據(jù)讀/寫期間提出,則必然會導致對其響應的延遲。為解決響應延遲的問題,在計算刷新間隔時預留一個讀/寫操作的時間余量。
對于BC而言,超過 1μs~65.5 ms范圍的消息間隔須由外部硬件定時實現(xiàn),可通過獲取來自上位機的PCI消息間隔參數(shù)實現(xiàn)消息的定時讀取。如前節(jié)圖4(b)所述待發(fā)送總線數(shù)據(jù)的有效數(shù)據(jù)區(qū)前兩個字表示本次消息與下一次消息之間的間隔,第三個字表示本消息的數(shù)據(jù)量大小,第四個字是消息命令字,若為接收數(shù)據(jù)命令字則其后無數(shù)據(jù)字,若為發(fā)送數(shù)據(jù)命令字則后面緊跟相應數(shù)量的數(shù)據(jù)字。在BC非重發(fā)模式下,F(xiàn)PGA將需要發(fā)送的數(shù)據(jù)依次寫入到緩存SDRAM中,并根據(jù)數(shù)據(jù)幀中要求的時間間隔定時從緩存中讀取待發(fā)送的數(shù)據(jù)并寫入總線控制器;為保證數(shù)據(jù)傳輸和定時的可靠性,采用FPGA精準定時。BC重發(fā)模式下,總線通信控制邏輯模塊不讀取消息間隔。
MT作為備份BC時,與BC間通過FPGA心跳發(fā)生邏輯模塊產(chǎn)生定時信號以建立心跳通信,BC以5 ms定時將心跳信號傳遞給MT。當MT總線監(jiān)聽到BC的狀態(tài)故障或連續(xù)10 ms內(nèi)未接收到BC的心跳信號時,則重新初始化為BC模式并接管總線控制權(quán)。由于BC和MT共享同一塊高速1553B接口板的內(nèi)部資源,上位機傳遞給BC的待發(fā)送數(shù)據(jù)同樣能夠供MT使用,此方法保證了BC故障狀態(tài)下系統(tǒng)功能的迅速恢復[4]。
針對高速1553B智能通用總線測試平臺的各項功能進行測試。通過上位機向相應總線控制器的配置寄存器和存儲空間寫入數(shù)據(jù),再從中讀取數(shù)據(jù),寫入和讀取的數(shù)據(jù)一致,表明寄存器讀寫和存儲器讀寫功能正常。
將一塊高速1553B接口板的兩路高速1553B總線控制器分別配置為BC和MT,將另一塊高速1553B接口板的兩路高速1553B總線控制器分別配置為RT/MT模式,配備耦合器和終端電阻,利用數(shù)字示波器檢測1553B波形(包括峰峰值電壓、波形上升沿/下降沿時間、終端響應時間、消息長度、消息間隔、傳輸速率等),用信號發(fā)生器產(chǎn)生頻帶為1.0 kHz~8.0 MHz,有效均方根幅度為140 mV的高斯白噪聲以檢測總線的噪聲抑制能力[5],如圖11所示。
圖11 平臺測試方法
通過上位機調(diào)整BC的消息長度、消息內(nèi)容、消息間隔以及RT的消息內(nèi)容,檢測到平臺電氣性能均正常,BC-RT、RT-BC、RT-RT功能以及MT監(jiān)視功能均正常,動態(tài)消息插入和硬件精準定時功能均正常。其中,F(xiàn)PGA讀取SDRAM數(shù)據(jù)并寫入總線控制器的實測時序如圖12所示,上位機交互界面如圖13所示,利用數(shù)字示波器實測的BC消息波形如圖14所示。
圖12 實測時序圖
另外,通過斷開BC總線物理連接以及停止心跳信號傳輸?shù)姆绞侥MBC故障,驗證BC故障下MT初始化為BC并接管總線控制權(quán)的功能,結(jié)果表明,該功能正常。
本文介紹了一種高速1553B智能通用總線測試平臺設計方案,以“4 Mbps 1553B總線控制器+FPGA”為核心,通過各模式下總線的初始化配置和數(shù)據(jù)收發(fā)控制,采用SDRAM動態(tài)讀取和外部定時觸發(fā)技術(shù),結(jié)合基于心跳和消息監(jiān)測的冗余總線控制機制,設計了一種高速1553B智能通用總線測試平臺。經(jīng)測試,本平臺靈活可靠,能夠真實模擬系統(tǒng)特征,提升系統(tǒng)測試效率,用于半實物仿真、時序功能驗證和系統(tǒng)真實負載狀態(tài)的測試,具有廣闊的應用前景。
圖13 上位機交互界面
圖14 實測1553B消息波形
[1] 牛文娟, 張方, 饒張飛.一種高速1553B總線控制器自動測試平臺的開發(fā)[J].計算機測量與控制,2020,28(10):7–9, 15.
NIU Wenjuan, ZHANG Fang, RAO Zhangfei. Development of automatic test platform of a high-speed 1553B bus controller[J]. Computer Measurement & Control, 2020, 28(10): 7–9, 15.
[2] 甄國涌, 關(guān)瑞云, 武慧軍. 基于LHB155304的高速1553B總線RT設計與實現(xiàn)[J]. 實驗室研究與探索, 2020, 39(7): 138–142.
ZHEN Guoyong, GUAN Ruiyun, WU Huijun. Design and implementation of high speed 1553B bus RT based on LHB155304[J]. Reserch and Exploration in Laboratory, 2020, 39(7): 138–142.
[3] 安書董, 李明, 鄭久壽,等.一種采用可編程邏輯實現(xiàn)SDRAM的控制方法[J].航空計算技術(shù),2020,50(4):97–100.
AN Shudong, LI Ming, ZHENG Jiushou, et al. Design of SDRAM controller based on programmable logic device[J]. Aeronautical Computing Technique, 2020, 50(4): 97–100.
[4] 陳春燕, 楊友超, 張翔,等.基于1553B總線的飛行器電氣綜合系統(tǒng)管理設計[J].計算機測量與控制,2014,22(6):1865–1867.
CHEN Chunyan, YANG Youchao, ZHANG Xiang, et al. Design of electrical intergrated system management based on bus 1553B for aerial vehicle[J]. Computer Measurement & Control, 2014, 22(6): 1865–1867.
[5] 范祥輝, 趙剛, 王世奎,等.高速1553B總線有效性測試平臺設計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2017,40(3):23–26.
FAN Xianghui, ZHAO Gang, WANG Shikui, et al. Design and implementation of validity test platform for high-speed 1553B bus[J]. Modern Electronics Technique, 2017, 40(3): 23–26.
Design of high speed 1553B intelligent universal bus test platform
SHI Rui, ZHUANG Chuangang, ZHANG Jin, LI Xiao, LIU Yuhang
(Key Laboratory of Science and Technology on Space Physics, China Acadmey of Launch Vehicle Technology, Beijing 100076, China)
The bandwidth of traditional 1 Mbps 1553B bus is limited, so it is gradually replaced by 4 Mbps high-speed 1553B bus in the field of aerospace measurement and control. While the general high-speed 1553B bus tester does not have the functions of precise timing control, dynamic message insertion and system fault recovery, so it is difficult to simulate the actual working condition of the system. Therefore,a high-speed 1553B intelligent universal bus test platform is designed by using the bus initialization configuration and data transmit-receive control in each mode, SDRAM dynamic reading and writing, hardware timing trigger technology, as well as the redundant bus control mechanism based on heartbeat and message monitoring. By adjusting message length, message content and message interval, the correctness of the bus test platform functions including BC-RT, RT-BC, RT-BC and MT monitoring is verified, which meets the requirements of precise timing control, dynamic message insertion and system fault recovery. The platform can be used for hardware in the loop simulation, timing function verification and real system load status test.
High-speed 1553B Bus; Hardware timing trigger; Bus data transmit-receive; SDRAM dynamic reading and writing
TP336
A
CN11-1780(2022)01-0111-08
10.12347/j.ycyk.20210514003
施睿, 莊傳剛, 張晉, 等.高速1553B智能通用總線測試平臺設計[J]. 遙測遙控, 2022, 43(1): 111–118.
DOI:10.12347/j.ycyk.20210514003
: SHI Rui, ZHUANG Chuangang, ZHANG Jin, et al. Design of high speed 1553B intelligent universal bus test platform[J]. Journal of Telemetry, Tracking and Command, 2022, 43(1): 111–118.
施 睿 1988年生,碩士,工程師,主要研究方向為飛行器信息技術(shù)和自動測試系統(tǒng)。
莊傳剛 1979年生,碩士,高級工程師,主要研究方向為飛行器信息技術(shù)。
張 晉 1985年生,碩士,高級工程師,主要研究方向為飛行器信息技術(shù)。
李 霄 1980年生,博士,高級工程師,主要研究方向為飛行器信息技術(shù)。
劉宇航 1992年生,碩士,工程師,主要研究方向為飛行器信息技術(shù)。
2021-05-14
2021-06-11
Website: ycyk.brit.com.cn Email: ycyk704@163.com
(本文編輯:潘三英)