楊志雄 馬殷元 聶紅紅
1.蘭州交通大學(xué) 機(jī)電技術(shù)研究所 蘭州 730070 2.甘肅省物流及運(yùn)輸裝備信息化工程技術(shù)研究中心 蘭州 730070 3.蘭州交通大學(xué) 機(jī)電工程學(xué)院 蘭州 730070
無線傳感器網(wǎng)絡(luò)是由部署在監(jiān)測區(qū)域內(nèi)的大量低成本傳感器節(jié)點相互通信形成的多跳自組織網(wǎng)絡(luò),數(shù)據(jù)采集是無線傳感器網(wǎng)絡(luò)的主要應(yīng)用之一。無線傳感器網(wǎng)絡(luò)因為較低的成本,被廣泛應(yīng)用于各種場合[1-2]。在軌道交通行業(yè),越來越多的技術(shù)人員開始研究無線傳感器網(wǎng)絡(luò)的應(yīng)用。韓曉哲[3]對無線傳感器網(wǎng)絡(luò)在列車?;愤\(yùn)輸監(jiān)控方面的應(yīng)用做了研究。文獻(xiàn)[4-6]對列車關(guān)鍵設(shè)備的監(jiān)控進(jìn)行了研究。為了提高無線傳感器網(wǎng)絡(luò)的設(shè)計可靠性,對無線傳感器網(wǎng)絡(luò)進(jìn)行可靠性測試很有必要[7]。哈佛大學(xué)開發(fā)的無線傳感器網(wǎng)絡(luò)輔助測試系統(tǒng)提供了試驗任務(wù)管理、日程調(diào)度、用戶訪問控制等功能,使用戶可以方便靈活地完成測試,并對無線傳感器網(wǎng)絡(luò)進(jìn)行監(jiān)控[8]。由中科院軟件所研發(fā)的零打擾無線傳感器網(wǎng)絡(luò)測試平臺,實現(xiàn)了無線傳感器網(wǎng)絡(luò)節(jié)點和系統(tǒng)的測試分析、故障定位、性能評估[9]。當(dāng)前,根據(jù)現(xiàn)有文獻(xiàn)報道,對列車特定環(huán)境下的無線傳感器網(wǎng)絡(luò)進(jìn)行可靠性測試的平臺還比較少,對此,筆者設(shè)計了一種基于故障注入的列車無線傳感器網(wǎng)絡(luò)可靠性測試系統(tǒng)。
基于故障注入的列車無線傳感器網(wǎng)絡(luò)可靠性測試系統(tǒng)主要由計算機(jī)控制軟件、故障注入節(jié)點、無線傳感器網(wǎng)絡(luò)節(jié)點故障協(xié)議集三部分組成,如圖1所示。計算機(jī)控制軟件實現(xiàn)故障命令的下達(dá),收集無線傳感器網(wǎng)絡(luò)的響應(yīng)信息,并進(jìn)行故障分析。故障注入節(jié)點實現(xiàn)故障命令的實時或定時注入,并且在下達(dá)故障命令后,收集并存儲無線傳感器網(wǎng)絡(luò)的響應(yīng)信息。待測試完成后,進(jìn)行可靠性分析。無線傳感器網(wǎng)絡(luò)節(jié)點故障協(xié)議集需要在開發(fā)協(xié)議棧的同時進(jìn)行開發(fā)。無線傳感器網(wǎng)絡(luò)節(jié)點收到注入故障命令后,調(diào)用相應(yīng)回調(diào)函數(shù)影響無線傳感器網(wǎng)絡(luò),達(dá)到故障注入的目的。
圖1 列車無線傳感器網(wǎng)絡(luò)可靠性測試系統(tǒng)組成
開發(fā)無線傳感器網(wǎng)絡(luò)時,在協(xié)議棧中針對需要注入的故障,開發(fā)相對應(yīng)的故障回調(diào)函數(shù)。無線傳感器網(wǎng)絡(luò)運(yùn)行時,將故障注入節(jié)點與選定的無線傳感器網(wǎng)絡(luò)節(jié)點相連,故障注入節(jié)點通過串口向無線傳感器網(wǎng)絡(luò)節(jié)點注入故障命令。無線傳感器網(wǎng)絡(luò)節(jié)點調(diào)取相應(yīng)回調(diào)函數(shù),激活故障處理機(jī)制,達(dá)到故障注入的目的。同時,回調(diào)函數(shù)收集響應(yīng)信息,通過串口發(fā)送至故障注入節(jié)點或經(jīng)故障注入節(jié)點直接發(fā)送至計算機(jī)控制軟件。無線傳感器網(wǎng)絡(luò)節(jié)點故障注入流程如圖2所示。
圖2 無線傳感器網(wǎng)絡(luò)節(jié)點故障注入流程
故障注入節(jié)點主控芯片采用STM32F103VET6單片機(jī)。串行通信模塊采用串口通信,與計算機(jī)控制及無線傳感器網(wǎng)絡(luò)節(jié)點進(jìn)行通信,實現(xiàn)故障命令的下達(dá)、無線傳感器網(wǎng)絡(luò)響應(yīng)信息的收集。時鐘模塊中,時鐘由主控芯片實時時鐘外設(shè)提供,主要為故障注入設(shè)置定時時間,為響應(yīng)信息添加時間戳。外設(shè)存儲模塊可以方便存儲故障響應(yīng)信息,通過串行外設(shè)接口連接存儲卡,擴(kuò)展了存儲空間。為了便于計算機(jī)讀取存儲卡中的響應(yīng)信息,在存儲卡中設(shè)計文件分配表文件系統(tǒng)[10]。故障注入節(jié)點采用定時注入時,可以將計算機(jī)控制軟件下達(dá)的故障命令存儲在單片機(jī)內(nèi)存自定義的區(qū)域中,然后移走計算機(jī),不再需要人工干預(yù)。故障注入后,無線傳感器網(wǎng)絡(luò)節(jié)點回調(diào)函數(shù)將響應(yīng)信息經(jīng)串口發(fā)送至故障注入節(jié)點,然后存儲在存儲卡中。測試完成后,使用計算機(jī)讀取存儲卡獲取故障響應(yīng)信息,進(jìn)行可靠性評估。故障注入節(jié)點采用實時注入時,故障命令經(jīng)由故障注入節(jié)點直接注入無線傳感器網(wǎng)絡(luò)節(jié)點,收到的實時響應(yīng)信息存儲在存儲卡中,同時復(fù)制相同的數(shù)據(jù),通過串口發(fā)送至計算機(jī)控制軟件,達(dá)到實時監(jiān)控的目的。故障注入節(jié)點程序設(shè)計流程如圖3所示。
圖3 故障注入節(jié)點程序設(shè)計流程
計算機(jī)控制軟件包括三部分:① 串行通信模塊,實現(xiàn)與故障注入節(jié)點的連接,進(jìn)行故障命令的下達(dá),以及系統(tǒng)時間設(shè)定與響應(yīng)數(shù)據(jù)的上傳;② 故障注入模塊,用于注入特定的故障命令,針對列車的特殊應(yīng)用環(huán)境,分析容易產(chǎn)生故障的原因,具體特定故障命令包括降低發(fā)射功率模擬障礙物,關(guān)閉無線傳感器網(wǎng)絡(luò)節(jié)點模擬節(jié)點失效,強(qiáng)制若干無線傳感器網(wǎng)絡(luò)節(jié)點退出并不斷發(fā)送數(shù)據(jù)模擬干擾等;③ 故障分析模塊,可以實時監(jiān)測無線傳感器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)變化,收集統(tǒng)計故障響應(yīng)信息,如時延、信號接收強(qiáng)度、數(shù)據(jù)包丟包率等,進(jìn)而協(xié)助設(shè)計人員分析注入故障對無線傳感器網(wǎng)絡(luò)的影響,評估無線傳感器網(wǎng)絡(luò)的可靠性。計算機(jī)控制軟件執(zhí)行程序流程如圖4所示。
圖4 計算機(jī)控制軟件執(zhí)行程序流程
為了驗證基于故障注入的列車無線傳感器網(wǎng)絡(luò)可靠性測試系統(tǒng)的有效性,采用八個無線傳感器網(wǎng)絡(luò)節(jié)點,模擬列車車廂呈長方形設(shè)置,終端節(jié)點每隔400 ms發(fā)送一個數(shù)據(jù)包,每個數(shù)據(jù)包有效載荷為20 Byte,每輪發(fā)送100個數(shù)據(jù)包。采用三個故障注入節(jié)點,連接三個無線傳感器網(wǎng)絡(luò)節(jié)點進(jìn)行故障注入。注入模擬障礙物故障,分別修改終端無線傳感器網(wǎng)絡(luò)節(jié)點,發(fā)射功率為3 dBm、-5 dBm、-22 dBm,測試結(jié)果如圖5所示。圖5中,信號接收強(qiáng)度值為換算后的絕對值,值越大,表示接收到的信號強(qiáng)度越強(qiáng)。改變發(fā)射功率后,顯著影響了信號接收強(qiáng)度。對模擬障礙物和模擬干擾兩種故障進(jìn)行混合注入,測試結(jié)果如圖6所示。干擾功率一定,數(shù)據(jù)包丟包率隨發(fā)射功率的降低而增大。干擾功率越低,對數(shù)據(jù)包丟包率的影響越小。測試結(jié)果證明,這一系統(tǒng)可以模擬列車無線傳感器網(wǎng)絡(luò)運(yùn)行故障,對列車無線傳感器網(wǎng)絡(luò)進(jìn)行可靠性測試。
圖5 模擬障礙物故障注入測試結(jié)果
筆者提出了基于故障注入的列車無線傳感器網(wǎng)絡(luò)可靠性測試系統(tǒng),在列車無線傳感器網(wǎng)絡(luò)設(shè)計階段注入模擬列車現(xiàn)場運(yùn)行故障,用于測試所設(shè)計的列車無線傳感器網(wǎng)絡(luò)的可靠性。設(shè)計開發(fā)了模擬列車無線傳感器網(wǎng)絡(luò)故障的故障協(xié)議,設(shè)計了故障注入節(jié)點,并開發(fā)了計算機(jī)控制軟件來下達(dá)故障命令,分析響應(yīng)信息。進(jìn)行了系統(tǒng)測試,結(jié)果表明,這一系統(tǒng)可以有效模擬列車無線傳感器網(wǎng)絡(luò)故障,測試列車無線傳感器網(wǎng)絡(luò)的可靠性,協(xié)助設(shè)計開發(fā)人員有針對性地對列車無線傳感器網(wǎng)絡(luò)進(jìn)行改進(jìn),具有實用價值。
圖6 混合故障注入測試結(jié)果