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