,,
(1.中國人民解放軍65183部隊,遼寧 遼陽 111299;2.中國人民解放軍71375部隊,哈爾濱 150000;3.陸軍裝甲兵學(xué)院士官學(xué)校,長春 130117)
某型指控裝備車載交換機集計算機、網(wǎng)絡(luò)和通信等多項技術(shù)于一體,其功能已經(jīng)突破了傳統(tǒng)意義上的語音交換,還兼有數(shù)據(jù)交換和IP交換功能,在設(shè)備多且密集的指控平臺車上,它通過9個端口與其它多種通信設(shè)備相連接,成為指揮平臺中的核心設(shè)備和信息樞紐。為能及時掌握和發(fā)現(xiàn)交換機技術(shù)性能變化,保證整個指控系統(tǒng)處良好的技術(shù)狀態(tài),對交換機的整機性能檢測便成為維修保障人員重點關(guān)注的對象。由于交換機接口種類多,目前,用傳統(tǒng)的儀器儀表進(jìn)行檢測,不僅涉及儀器種類和數(shù)量多、連接復(fù)雜、操作步驟繁瑣等問題,甚至很難完成檢測,而交換機又沒有專用檢測設(shè)備,只能依靠在指揮平臺中通過檢查它與其他設(shè)備的通信正常與否來判定交換機的技術(shù)性能,而在其他設(shè)備也存在問題時便無法判定交換機的技術(shù)性能,給維修保障增加了難度。本文針對這一問題,設(shè)計了車載交換機檢測儀,解決了交換機不能在離線狀態(tài)下進(jìn)行整機性能檢測問題,取得了較好效果。
檢測儀能完成交換機9個端口的技術(shù)性能檢測,從而判定其整機技術(shù)性能,它們是1個控制口,2個以太口,1模擬用戶口,1個數(shù)字用戶口,2個群路口以及2個遠(yuǎn)傳群路口,其中模擬用戶口包括20路模擬用戶,數(shù)字用戶口包括8路數(shù)字用戶。
檢測儀硬件主要由檢測終端和檢測適配器兩部分組成,如圖1 所示。檢測適配器又由嵌入式計算機電路、以太網(wǎng)交換電路、FPGA電路、模擬接口電路、數(shù)字接口電路、模擬分戶電路和數(shù)字分戶電路組成。嵌入式計算機電路選用ARM9嵌入式計算機板,板內(nèi)配有S3C2410AL-20嵌入式計算機芯片。以太網(wǎng)交換電路選用的是RTL8305SC芯片,最多支持16組VLAN。FPGA電路選用的是XC3S1000-FTG256E嵌入式FPFA芯片。
圖1 交換機檢測儀硬件原理圖
檢測儀軟件由檢測終端軟件和檢測適配器嵌入式計算機端軟件兩部分組成,兩者之間通過以太網(wǎng)進(jìn)行通信,如圖2 所示。
圖2 檢測儀軟件總體架構(gòu)圖
檢測終端軟件采用C語言,在LabWindowsCVI軟件環(huán)境編制,分為操作控制層、業(yè)務(wù)實現(xiàn)層和通信協(xié)議層三層。操作控制層,向上為用戶提供圖形化的操作界面,接收用戶的配置輸入并顯示測試過程和測試結(jié)果;向下調(diào)用業(yè)務(wù)實現(xiàn)層的相關(guān)函數(shù)來完成控制命令生成和發(fā)送、測試數(shù)據(jù)接收和處理,并完成數(shù)據(jù)庫的相關(guān)操作。業(yè)務(wù)實現(xiàn)層,管理函數(shù)用于實現(xiàn)交換機參數(shù)的自動查詢和修改;通信接口用于實現(xiàn)測試命令的下發(fā)、接收和解析,并將測試數(shù)據(jù)發(fā)送到特定的測試功能函數(shù)實現(xiàn)測試信息交互;測試數(shù)據(jù)庫用于記錄測試數(shù)據(jù),便于后期查詢和生成報表。通信協(xié)議層,包括ICMP協(xié)議、SNMP協(xié)議、UDP協(xié)議及TCP/IP協(xié)議4個部分[1-2]。ICMP協(xié)議接收來自于整機測試模塊的ping包測試命令,完成ICMP請求報文的封裝和發(fā)送、ICMP響應(yīng)報文的接收和解析,判斷ping包測試結(jié)果并返回給整機測試模塊[3-4];SNMP協(xié)議接收來自于管理函數(shù)的管理操作命令,完成SNMP報文的封裝和發(fā)送、響應(yīng)報文的接收,并將響應(yīng)數(shù)據(jù)返回給管理函數(shù)進(jìn)行分析和處理;UDP協(xié)議接收來自于通信接口的測試命令,完成UDP報文的封裝和發(fā)送、響應(yīng)報文的接收,并將響應(yīng)報文內(nèi)容返回給通信接口進(jìn)行分析和處理。TCP/IP協(xié)議用于實現(xiàn)檢測終端和適配器之間的網(wǎng)絡(luò)通信。
檢測適配器的嵌入式計算機端采用Vxworks嵌入式系統(tǒng),檢測軟件采用C語言,在Tornado軟件環(huán)境編制,包括以太網(wǎng)接收模塊、以太網(wǎng)發(fā)送模塊、信令解析模塊、控制口測試模塊、模擬口測試模塊和數(shù)字口測試模塊共6個模塊。
以太網(wǎng)接收模塊以一個單獨的任務(wù)運行,任務(wù)啟動后,立即進(jìn)入阻塞式等待,等待來自檢測終端的測試命令消息,在收到測試命令消息后,立即通過消息隊列送給信令解析模塊,之后再次進(jìn)入阻塞式等待。
信令解析模塊以一個單獨的任務(wù)運行,任務(wù)啟動后,立即進(jìn)入阻塞式等待,等待來自以太網(wǎng)接收模塊的測試命令消息,在收到測試命令消息后,立即進(jìn)行解析,并根據(jù)解析的結(jié)果啟動控制口測試任務(wù)、模擬用戶口測試任務(wù)或數(shù)字用戶口測試任務(wù),之后再次進(jìn)入阻塞式等待。
模擬用戶口測試模塊僅在信令解析模塊收到測試模擬用戶口的命令后以任務(wù)的形式運行一次,任務(wù)開始后進(jìn)行對應(yīng)的測試,若在測試過程中發(fā)現(xiàn)異常則實時返回相關(guān)信息,同時任務(wù)結(jié)束,否則將完成所有測試操作后任務(wù)自動退出,模擬用戶口測試模塊依次完成注冊、自動話機基本呼叫(雙向)、注銷3個功能。
數(shù)字用戶口測試模塊同模擬用戶口測試模塊,僅在信令解析模塊收到測試數(shù)字用戶口的命令后以任務(wù)的形式運行一次,任務(wù)開始后進(jìn)行對應(yīng)的測試,若在測試過程中發(fā)現(xiàn)異常則實時返回相關(guān)信息,同時任務(wù)結(jié)束,否則將完成所有測試操作后任務(wù)自動退出,數(shù)字用戶接口測試模塊依次完成注冊、基本呼叫、數(shù)據(jù)測試、注銷4個功能。
控制口測試模塊僅在信令解析模塊收到測試控制口的命令后以任務(wù)的形式運行一次,任務(wù)開始后進(jìn)行對應(yīng)的測試,若控制口測試異常則立即返回,同時任務(wù)結(jié)束,若控制口正常,則在完成指定以太網(wǎng)接口IP地址的配置后返回測試結(jié)果,同時任務(wù)結(jié)束。
以太網(wǎng)發(fā)送模塊以一個單獨的任務(wù)運行,任務(wù)啟動后,立即進(jìn)入阻塞式等待,等待來自于控制口測試模塊、模擬用戶口測試模塊和數(shù)字用戶口測試模塊的測試數(shù)據(jù),在收到測試數(shù)據(jù)消息后,立即通過以太網(wǎng)送給檢測終端,之后再次進(jìn)入阻塞式等待。
因此,在嵌入式計算機端各軟件模塊均以任務(wù)的形式存在,當(dāng)以太網(wǎng)接收模塊接收到數(shù)據(jù)后,通過消息隊列發(fā)送給信令解析模塊,信令解析模塊根據(jù)信令的類型以任務(wù)的形式啟動控制口測試模塊、模擬用戶口測試模塊、數(shù)字用戶口測試模塊,完成對應(yīng)測試后,通過消息隊列將測試數(shù)據(jù)發(fā)送到以太網(wǎng)發(fā)送模塊,同時任務(wù)自動消亡,以太網(wǎng)發(fā)送模塊在收到測試數(shù)據(jù)后通過以太網(wǎng)將數(shù)據(jù)發(fā)送給檢測終端,從而完成整個測試過程。
檢測儀對交換機9個端口的檢測是通過運行檢測軟件自動完成,檢測軟件是采用C語言通過調(diào)用函數(shù)的方式實現(xiàn)各操作界面的顯示和對交換機各端口的檢測。在檢測終端啟動檢測應(yīng)用軟件圖標(biāo)進(jìn)入歡迎界面,在歡迎界面上點擊進(jìn)入系統(tǒng)按鈕便進(jìn)入測試配置界面,如圖3所示。在配置界面選擇要測試的端口和進(jìn)行相應(yīng)的參數(shù)配置后,點擊確定按鈕便進(jìn)入測試狀態(tài)界面,如圖4所示,各端口均測試完畢后顯示出各端口測試結(jié)果。
圖3 檢測終端測試配置界面
圖4 檢測終端測試狀態(tài)界面
進(jìn)入檢測狀態(tài)后,以控制口、以太口、數(shù)字用戶口和群路口為例,其檢測過程如下。
檢測終端運行整機測試模塊,調(diào)用業(yè)務(wù)實現(xiàn)層的控制口相關(guān)函數(shù)生成測試命令,并通過通信接口下發(fā)到通信協(xié)議層,按SNMP和UDP協(xié)議對測試命令進(jìn)行封裝形成報文,再以TCP/IP協(xié)議形式通過以太口,經(jīng)適配器內(nèi)的以太網(wǎng)交換電路至嵌入式計算機的CPU,被CPU內(nèi)處于阻塞式等待狀態(tài)的以太網(wǎng)接收模塊接收,通過消息隊列發(fā)送給信令解析模塊,信令解析模塊根據(jù)信令的類型以任務(wù)的形式啟動控制口測試模塊,通過RS-232控制口向交換機控制口發(fā)送測試命令,交換機接收到測試命令后經(jīng)內(nèi)部計算機處理,又通過控制口返回響應(yīng)數(shù)據(jù)至控制口測試模塊,完成對應(yīng)測試后,通過消息隊列將測試數(shù)據(jù)發(fā)送到以太網(wǎng)發(fā)送模塊,同時任務(wù)自動消亡,以太網(wǎng)發(fā)送模塊在收到測試數(shù)據(jù)后通過以太網(wǎng)將數(shù)據(jù)發(fā)送給檢測終端,檢測終端按TCP/IP、SNMP和UDP協(xié)議響應(yīng)接收到的數(shù)據(jù)[5],并將響應(yīng)數(shù)據(jù)返回給管理函數(shù)進(jìn)行分析和處理后存于測試數(shù)據(jù)庫,同時,在操作控制層顯示檢測結(jié)果,從而完成控制口檢測。
對以太口的檢測分兩步,以檢測以太口1為例,第一步是通過控制口設(shè)置以太口1的IP地址,第二步是利用“ping”命令檢測以太口1的性能。
1) 以太口1的IP地址設(shè)置。檢測終端調(diào)用業(yè)務(wù)實現(xiàn)層的以太口1相關(guān)函數(shù)生成測試命令,并通過通信接口下發(fā)到通信協(xié)議層,按SNMP和UDP協(xié)議對測試命令進(jìn)行封裝形成報文,再以TCP/IP協(xié)議形式通過以太口,經(jīng)適配器內(nèi)的以太網(wǎng)交換電路至嵌入式計算機的CPU,被CPU內(nèi)處于阻塞式等待狀態(tài)的以太網(wǎng)接收模塊接收,通過消息隊列發(fā)送給信令解析模塊,信令解析模塊根據(jù)信令的類型以任務(wù)的形式啟動控制口測試模塊中的以太口IP地址設(shè)置模塊,通過RS-232控制口和交換機控制口設(shè)置以太口1的 IP地址,使以太口1可以和檢測終端通過以太網(wǎng)進(jìn)行通信,設(shè)置完成后,又通過控制口返回響應(yīng)數(shù)據(jù)至以太口IP地址設(shè)置模塊,通過消息隊列將響應(yīng)數(shù)據(jù)發(fā)送到以太網(wǎng)發(fā)送模塊,同時任務(wù)自動消亡,以太網(wǎng)發(fā)送模塊收到響應(yīng)數(shù)據(jù)后通過以太網(wǎng)將數(shù)據(jù)發(fā)送給檢測終端,檢測終端按TCP/IP、SNMP和UDP協(xié)議響應(yīng)接收到的數(shù)據(jù),并將響應(yīng)數(shù)據(jù)返回給管理函數(shù)進(jìn)行分析和處理,判定設(shè)置成功后,進(jìn)行下一步。
2)檢測以太口1性能。檢測終端運行整機測試模塊中的Ping包測試命令,并按ICMP協(xié)議請求報文封裝后通過以太口、適配器以太網(wǎng)交換電路對交換機以太口1進(jìn)行Ping包測試[6-9],然后對ICMP響應(yīng)報文進(jìn)行接收和解析,根據(jù)解析結(jié)果判定以太口1的性能,完成以太口1的檢測。
對數(shù)字用戶口的檢測分?jǐn)?shù)字用戶口速率設(shè)置、數(shù)字用戶電話號碼注冊和數(shù)字用戶呼叫三步,以檢測用戶1與用戶5為例,將適配器數(shù)字接口第1路轉(zhuǎn)接于數(shù)字用戶1插孔,第2路轉(zhuǎn)接于數(shù)字用戶5插孔,如圖1所示,檢測過程如下:
1)數(shù)字用戶口速率設(shè)置。檢測終端整機測試模塊,調(diào)用業(yè)務(wù)實現(xiàn)層帶有已配置速率編碼信息的數(shù)字用戶口相關(guān)函數(shù),按SNMP協(xié)議封裝為控制命令,經(jīng)檢測終端的以太網(wǎng)口、適配器以太網(wǎng)交換電路和被測試交換機以太網(wǎng)口1發(fā)送到被測試交換機的主控,然后接收并判斷交換機主控的響應(yīng)信息,判定是否設(shè)置成功,若沒成功給出相應(yīng)提示信息,成功則進(jìn)行下一步。
2)數(shù)字用戶電話號碼注冊。檢測終端調(diào)用業(yè)務(wù)實現(xiàn)層的數(shù)字用戶口相關(guān)函數(shù)生成測試命令,并通過通信接口下發(fā)到通信協(xié)議層,按SNMP和UDP協(xié)議對測試命令進(jìn)行封裝形成報文,以TCP/IP協(xié)議形式通過以太口、適配器內(nèi)以太網(wǎng)交換電路發(fā)送至嵌入式計算機的CPU,在CPU內(nèi)通過接收、解析后運行數(shù)字用戶口測試模塊,控制FPGA電路和2路數(shù)字接口電路,通過交換機的數(shù)字用戶口分別向交換機的數(shù)字用戶通道板發(fā)送占用命令,并檢測交換機是否正常送出確認(rèn)指令,若沒正常送出確認(rèn)指令,則給出相應(yīng)提示信息,若正常送出確認(rèn)指令,則繼續(xù)向交換機數(shù)字用戶通道板分別發(fā)送帶有兩部電話號碼信息的撥號指令,并檢測交換機是否正常送出確認(rèn)指令,若沒正常送出確認(rèn)指令,則給出相應(yīng)提示信息,若正常送出確認(rèn)指令,則進(jìn)行下一步。
3)數(shù)字用戶呼叫。繼續(xù)運行數(shù)字用戶口測試模塊,控制FPGA電路和2路數(shù)字接口電路將數(shù)字用戶第1路、第2路分別做為主叫和被叫各進(jìn)行一次呼叫測試。做主叫的數(shù)字用戶向交換機的數(shù)字用戶通道板發(fā)送占用指令,并檢測交換機是否正常送出確認(rèn)指令,若沒正常送出確認(rèn)指令,則給出相應(yīng)提示信息,若正常送出確認(rèn)指令,則做主叫的數(shù)字用戶向交換機的數(shù)字用戶通道板發(fā)送帶有被叫用戶號碼撥號指令,并在主叫端檢測交換機送出的指令,在被叫端檢測交換機送出的振鈴指令,以判斷是否呼叫成功,若呼叫沒成功則給出相應(yīng)提示信息,若呼叫成功,被叫用戶端向交換機的數(shù)字用戶通道板發(fā)送占用指令以建立通話,主叫用戶端與被叫用戶端相互發(fā)送數(shù)據(jù)并進(jìn)行檢測,若雙向檢測不正常則給出相應(yīng)提示信息,若正常則在被叫用戶端發(fā)送釋放指令,在主叫用戶端檢測交換機是否送出釋放指令,然后在主叫用戶端發(fā)送釋放指令,在被叫用戶端檢測交換機是否送出釋放指令,若沒有送出釋放指令則給出相應(yīng)提示信息,若送出釋放指令則給出數(shù)字用戶口檢測正常提示信息。
群路口檢測分群路口速率設(shè)置和群路口信令交互兩步。
1)群路口速率設(shè)置。群路口速率設(shè)置過程與數(shù)字用戶口速率設(shè)置過程相仿,此處不再贅述。
2)群路口信令交互。檢測終端整機測試模塊,調(diào)用業(yè)務(wù)實現(xiàn)層群路口相關(guān)函數(shù),運行群路口檢測程序,經(jīng)檢測終端的以太網(wǎng)口、適配器以太網(wǎng)交換電路、被測試交換機以太口1、群路1口和環(huán)路線纜向群路2口發(fā)送信令,并通過以太口1讀取群路2口的接收信令,反之亦然,通過讀取交互信令,判定群路口1和群路口2的性能,并在檢測終端上顯示檢測結(jié)果。
檢測儀進(jìn)行實際應(yīng)用前對各項檢測功能均進(jìn)行了實驗,以下是對以太口和數(shù)字用戶口的實驗。
4.1.1 實驗拓?fù)鋱D
以太口檢測功能實驗拓?fù)淙鐖D5所示,數(shù)字用戶口檢測功能實驗拓?fù)淙鐖D6所示。
圖5 以太口檢測功能實驗拓?fù)鋱D
圖6 數(shù)字用戶口檢測功能實驗拓?fù)鋱D
4.1.2 實驗方法
以太口檢測功能實驗方法:在檢測儀以太口與交換機以太口之間通過HUB(集線器)連接數(shù)據(jù)監(jiān)控計算機,用于使用抓包工具WireShark捕捉測試數(shù)據(jù)。檢測過程中通過斷開交換機內(nèi)以太網(wǎng)線或其他硬件電路的方式來控制ping不通的次數(shù)。使用檢測儀對交換機以太口進(jìn)行檢測,ping10次,如果均ping通,則認(rèn)為以太口正常,如果小于10次,則認(rèn)為以太口異常,然后,通過核對檢測儀的發(fā)包數(shù)量、監(jiān)控計算機捕捉到的應(yīng)答包數(shù)量及檢測儀顯示的檢測結(jié)果三者之間是否符合這一邏輯關(guān)系來驗證檢測儀對以太口檢測功能的正確性。
數(shù)字用戶口檢測功能實驗方法:將檢測儀分別接于數(shù)據(jù)用戶口性能正常的交換機和性能異常的交換機。對性能異常的交換機是按照檢測原理順序分別設(shè)置產(chǎn)生注冊、撥號及通話失敗的各故障進(jìn)行實驗。在檢測終端上運行檢測軟件,由軟件界面控制檢測儀和被測試交換機進(jìn)行呼叫信令交互,如果信令交互過程異常,會向界面返回檢測結(jié)果異常的提示信息,如果信令交互過程正常,則進(jìn)入誤碼測試環(huán)節(jié),誤碼測試中,誤碼數(shù)大于0個則接口異常,無誤碼則接口正常,檢測過程是依據(jù)通信協(xié)議,在檢測軟件中實現(xiàn)。實驗后通過核實檢測結(jié)果是否與交換機的性能相一致來驗證檢測儀對數(shù)據(jù)用戶口檢測功能的正確性。
1)以太口檢測功能實驗數(shù)據(jù)如表1所示。
表1 以太口檢測功能實驗數(shù)據(jù) 個
續(xù)表1
序號發(fā)包數(shù)量應(yīng)答包數(shù)量預(yù)期結(jié)果檢測結(jié)果6105異常異常7104異常異常8103異常異常9102異常異常10101異常異常11100異常異常
2)數(shù)字用戶口檢測功能實驗數(shù)據(jù)如表2、表3所示。
表2 數(shù)字用戶口性能正常的實驗數(shù)據(jù)
表3 數(shù)字用戶口性能異常的試驗數(shù)據(jù)
從4.2的實驗數(shù)據(jù)來看,測試結(jié)果與預(yù)期結(jié)果完全一致,證明檢測儀的檢測功能正確。
1) 該檢測儀綜合運用計算機技術(shù)、網(wǎng)絡(luò)通信技術(shù)和自動測試技術(shù),采用“檢測終端+適配器”的結(jié)構(gòu)設(shè)計,實現(xiàn)了對交換機的整機性能檢測,解決了交換機不能離線檢測的難題,提高了修理效率。
2) 使用C語言,基于LabWindows/CVI和Tornado環(huán)境以及ICMP、UDP等通信協(xié)議,開發(fā)的整機性能檢測軟件,實現(xiàn)了對交換機共9個端口的通信性能檢測,檢測速度快,自動化程度高。
3) 采用適配器CPU內(nèi)信令解析模塊解析來自檢測終端的測試命令,并根據(jù)解析結(jié)果執(zhí)行不同檢測程序的設(shè)計方法,實現(xiàn)了檢測終端軟件和適配器端軟件的銜接,使之成為一個有機整體。
4) 采用以太網(wǎng)總線技術(shù)和標(biāo)準(zhǔn)UDP通信技術(shù),解決了測試過程中因數(shù)據(jù)吞吐量大導(dǎo)致的處理速度慢、數(shù)據(jù)包丟失問題,保證了檢測的快速性和測試結(jié)果的準(zhǔn)確性。
本文基于C語言,綜合運用計算機技術(shù)、網(wǎng)絡(luò)通信技術(shù)和自動測試技術(shù)設(shè)計的檢測儀,解決了車載交換機離線檢測難的問題,克服了用傳統(tǒng)儀器檢測導(dǎo)致使用設(shè)備多、連接麻煩、操作步驟繁瑣和檢測時間長等缺點。實驗和應(yīng)用結(jié)果表明,該檢測儀連接使用方便、檢測速度快、自動化程度高,不僅為交換機增加了新的檢測維修方法,也為其它指控設(shè)備的檢測與維修開辟了新途徑。