Mil-std-1553b總線監(jiān)控及數(shù)據(jù)分析系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng),包括板卡接口類模塊、線程調(diào)度模塊和人機(jī)交互界面接口模塊;板卡接口類模塊包括板卡初始化模塊、啟動(dòng)/停止接收控制模塊、中斷處理模塊、數(shù)據(jù)獲取模塊和故障記錄模塊;線程調(diào)度模塊設(shè)有數(shù)據(jù)監(jiān)控存儲(chǔ)線程、數(shù)據(jù)解析線程、數(shù)據(jù)顯示線程、消息循環(huán)主線程;人機(jī)交互界面接口模塊設(shè)有用戶驗(yàn)證與管理模塊、監(jiān)控模式設(shè)置模塊、監(jiān)控啟停設(shè)置模塊、數(shù)據(jù)轉(zhuǎn)換設(shè)置模塊、轉(zhuǎn)換啟停設(shè)置模塊、數(shù)據(jù)存儲(chǔ)模塊、數(shù)據(jù)列表顯示模塊;本發(fā)明采用線程動(dòng)態(tài)調(diào)度算法,能夠?qū)崿F(xiàn)總線數(shù)據(jù)的全面監(jiān)控、MT監(jiān)控?cái)?shù)據(jù)的實(shí)時(shí)存儲(chǔ)、顯示、解析轉(zhuǎn)換,也能夠?qū)崿F(xiàn)特定格式存儲(chǔ)的總線監(jiān)控信息的顯示、存儲(chǔ)數(shù)據(jù)的轉(zhuǎn)換處理。
【專利說明】MIL-STD-1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于監(jiān)控系統(tǒng)領(lǐng)域,具體涉及一種1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng)。
【背景技術(shù)】
[0002]1553B是MIL-STD-1553B總線的簡稱,其全稱為飛機(jī)內(nèi)部時(shí)分制命令/響應(yīng)式多路傳輸數(shù)據(jù)總線。由于其傳輸速率高,設(shè)備之間連接簡單靈活,噪聲容限高,實(shí)時(shí)性好而且可靠,因此為美國軍標(biāo)所采用,將其作為機(jī)載設(shè)備相互通訊的總線標(biāo)準(zhǔn)。1553B總線是一種集中式的分時(shí)串行總線,其多余度的總線型拓?fù)浣Y(jié)構(gòu),保證了良好的容錯(cuò)性和故障隔離。它采用曼徹斯特碼進(jìn)行編碼,可以采用半雙工方式進(jìn)行雙向傳輸,數(shù)據(jù)傳輸速率可以達(dá)到1Mbps。目前,1553B總線被廣泛的應(yīng)用在飛機(jī)綜合航電系統(tǒng)、外掛物管理與集成系統(tǒng)、飛行控制系統(tǒng)以及坦克、艦船、航天等領(lǐng)域,已經(jīng)成為在航空航天領(lǐng)域占統(tǒng)治地位的總線標(biāo)準(zhǔn)。
[0003]在實(shí)際使用過程中由于總線上設(shè)備眾多且數(shù)據(jù)量大,往往很難對(duì)通訊故障進(jìn)行定位,因此總線監(jiān)控及數(shù)據(jù)分析系統(tǒng)的開發(fā)變得十分必要。現(xiàn)有的1553B總線監(jiān)測(cè)系統(tǒng),由于普遍采用在線解析的數(shù)據(jù)檢測(cè)方法,因而往往存在實(shí)時(shí)性差、監(jiān)測(cè)信息不詳細(xì)和數(shù)據(jù)完整度不夠等問題,不利于發(fā)現(xiàn)和查找故障,給使用帶來了諸多不便。在公開專利號(hào)CN101799795A的《一種1553B總線監(jiān)控器及具有該監(jiān)控器的總線系統(tǒng)》中介紹了一種1553B總線監(jiān)控器及具有該監(jiān)控器的總線系統(tǒng)能夠完成對(duì)總線上信息傳輸?shù)谋O(jiān)控及存儲(chǔ)功能,但并沒有涉及數(shù)據(jù)解析方式的內(nèi)容,難以滿足用戶的需求。于是一套完備的1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng)就顯得極為重要。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的就是為了解決已有技術(shù)的不足,提出了一種1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng)。
[0005]本發(fā)明是使用1553B總線接口板卡作為1553B總線網(wǎng)絡(luò)總線監(jiān)控器(MT)節(jié)點(diǎn),以1553B總線形式作為通訊骨干的網(wǎng)絡(luò),可實(shí)現(xiàn)總線數(shù)據(jù)的全面監(jiān)控、MT監(jiān)控?cái)?shù)據(jù)的實(shí)時(shí)存儲(chǔ)、顯示、解析轉(zhuǎn)換等,也適用于特定格式存儲(chǔ)的總線監(jiān)控信息的顯示、存儲(chǔ)數(shù)據(jù)的轉(zhuǎn)換處理等。所設(shè)計(jì)的MIL-STD-1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng)主要由板卡接口類模塊、線程調(diào)度模塊和人機(jī)交互界面接口模塊組成。
[0006]一種1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng),包括板卡接口類模塊、線程調(diào)度模塊和人機(jī)交互界面接口模塊;
[0007]板卡接口類模塊包括板卡初始化模塊、啟動(dòng)/停止接收控制模塊、中斷處理模塊、數(shù)據(jù)獲取模塊和故障記錄模塊;
[0008]板卡初始化模塊完成1553B板卡的初始化操作,用戶輸入板卡號(hào),調(diào)用板卡底層驅(qū)動(dòng),自動(dòng)進(jìn)行系統(tǒng)初始化并設(shè)置板卡為MT工作模式;啟動(dòng)/停止接收控制模塊用于創(chuàng)建MT數(shù)據(jù)實(shí)時(shí)監(jiān)聽進(jìn)程,并且將接收到的數(shù)據(jù)存入緩存;中斷處理模塊采用多媒體定時(shí)器,不受消息機(jī)制的約束,中斷到達(dá)后,直接調(diào)用預(yù)先設(shè)置好的回調(diào)函數(shù)讀取緩存中的數(shù)據(jù);數(shù)據(jù)獲取模塊獲取中斷中讀取的數(shù)據(jù),為數(shù)據(jù)處理做準(zhǔn)備;故障記錄模塊將系統(tǒng)出現(xiàn)的故障、錯(cuò)誤生成日志;
[0009]線程調(diào)度模塊設(shè)有數(shù)據(jù)監(jiān)控存儲(chǔ)線程、數(shù)據(jù)解析線程、數(shù)據(jù)顯示線程、消息循環(huán)主線程;
[0010]數(shù)據(jù)監(jiān)控存儲(chǔ)線程在板卡功能設(shè)置成功后創(chuàng)建,優(yōu)先級(jí)最高,總線上的數(shù)據(jù)流作為其輸入,其輸出直接存儲(chǔ)到內(nèi)部緩存;數(shù)據(jù)解析線程與數(shù)據(jù)監(jiān)控線程一同創(chuàng)建,優(yōu)先級(jí)相同,總線空閑時(shí),數(shù)據(jù)解析線程被喚醒,將監(jiān)測(cè)到的緩存中的數(shù)據(jù)進(jìn)行詳細(xì)的解包處理,并把解析處理后的數(shù)據(jù)進(jìn)行存儲(chǔ);數(shù)據(jù)解析線程完成同時(shí)把解析得到的數(shù)據(jù)送給數(shù)據(jù)顯示線程,完成數(shù)據(jù)的顯示;消息循環(huán)主線程采用線程動(dòng)態(tài)調(diào)度算法,實(shí)時(shí)監(jiān)測(cè)總線狀態(tài),當(dāng)總線處于活動(dòng)狀態(tài)時(shí),喚醒數(shù)據(jù)監(jiān)控存儲(chǔ)線程,而當(dāng)總線處于空閑狀態(tài)時(shí),喚醒數(shù)據(jù)解析線程,完成了兩個(gè)線程間的切換;
[0011]人機(jī)交互界面接口模塊主窗口負(fù)責(zé)系統(tǒng)的用戶管理及數(shù)據(jù)管理,根據(jù)用戶定制的任務(wù)規(guī)劃和資源配置情況對(duì)系統(tǒng)進(jìn)行初始化設(shè)置,將監(jiān)控和數(shù)據(jù)解析結(jié)果按照要求進(jìn)行界面顯示;
[0012]人機(jī)交互界面接口模塊設(shè)有用戶驗(yàn)證與管理模塊、監(jiān)控模式設(shè)置模塊、監(jiān)控啟停設(shè)置模塊、數(shù)據(jù)轉(zhuǎn)換設(shè)置模塊、轉(zhuǎn)換啟停設(shè)置模塊、數(shù)據(jù)存儲(chǔ)模塊、數(shù)據(jù)列表顯示模塊;
[0013]用戶驗(yàn)證與管理模塊限定只有特許的用戶才能操作系統(tǒng),當(dāng)用戶正確登錄后才能進(jìn)行后續(xù)的操作;監(jiān)控模式設(shè)置模塊用于板卡的工作模式設(shè)定,設(shè)定板卡的工作模式為MT模式;監(jiān)控啟停設(shè)置模塊用于啟動(dòng)或者停止系統(tǒng),監(jiān)控啟動(dòng)時(shí),同時(shí)創(chuàng)建數(shù)據(jù)監(jiān)控線程和數(shù)據(jù)解析線程;數(shù)據(jù)轉(zhuǎn)換設(shè)置模塊用于確定需要轉(zhuǎn)換的數(shù)據(jù)類型以及需要解析的數(shù)據(jù);轉(zhuǎn)換啟停設(shè)置模塊用于數(shù)據(jù)解析的轉(zhuǎn)換控制,當(dāng)轉(zhuǎn)換啟動(dòng)時(shí),允許消息循環(huán)主線程喚醒數(shù)據(jù)解析轉(zhuǎn)換線程,否則無法喚醒此線程;數(shù)據(jù)存儲(chǔ)模塊負(fù)責(zé)對(duì)監(jiān)測(cè)數(shù)據(jù)和解析數(shù)據(jù)的存儲(chǔ)設(shè)置;數(shù)據(jù)列表顯示模塊負(fù)責(zé)對(duì)解析前及解析后的數(shù)據(jù)顯示。
[0014]本發(fā)明的積極作用在于:
[0015]1、本發(fā)明提出了一種1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng),通過板卡接口類調(diào)用板卡底層驅(qū)動(dòng)程序,利用線程的動(dòng)態(tài)調(diào)度完成總線數(shù)據(jù)的記錄和解析轉(zhuǎn)換,并能夠?qū)⒔Y(jié)果按照設(shè)置通過人機(jī)交互界面呈現(xiàn)給用戶。
[0016]2、本發(fā)明提出了一種1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng),采用線程動(dòng)態(tài)調(diào)度算法,保證了線程的資源獨(dú)占性,提高了系統(tǒng)的數(shù)據(jù)處理能力,具有較好的實(shí)時(shí)性,即使在數(shù)據(jù)量較大時(shí)仍然能夠保證數(shù)據(jù)的完整性。
[0017]3、本發(fā)明提出了一種1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng),采用離線解析的方式,不會(huì)存在數(shù)據(jù)丟失的問題,能夠?qū)?shù)據(jù)進(jìn)行詳細(xì)的解析處理,而且可以根據(jù)用戶定制的規(guī)則對(duì)檢測(cè)到的數(shù)據(jù)進(jìn)行詳細(xì)的解包處理,并且按照用戶的設(shè)置進(jìn)行顯示,更加便于用戶發(fā)現(xiàn)故障和存在的問題。
[0018]4、本發(fā)明提出了一種1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng),可以對(duì)以往的MT監(jiān)控?cái)?shù)據(jù)按照用戶制定的消息格式進(jìn)行解析及轉(zhuǎn)換,并保存至相關(guān)目標(biāo)文件,便于用戶對(duì)以往數(shù)據(jù)的分析。
[0019]5、本發(fā)明提出了一種1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng),可以對(duì)總線數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控及數(shù)據(jù)解析轉(zhuǎn)換和顯示,可以為備份的總線控制器提供足夠信息以使該備份在適當(dāng)?shù)臅r(shí)候取代發(fā)生故障的總線控制器,增加系統(tǒng)的可靠性。
[0020]6、本發(fā)明提出了一種1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng),開發(fā)周期短,采用模塊化設(shè)計(jì),結(jié)構(gòu)簡單,操作簡單易學(xué),而且用戶能夠按照自己的需求設(shè)置數(shù)據(jù)解析轉(zhuǎn)換的格式,轉(zhuǎn)換精度高,在保證實(shí)時(shí)性的同時(shí)能夠保證數(shù)據(jù)的完整性,因此能夠滿足了用戶全方位的要求。
【專利附圖】
【附圖說明】
[0021]圖1:MIL-STD_1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng)組成框圖;
[0022]圖2:MIL-STD-1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng)線程動(dòng)態(tài)調(diào)度示意圖;
[0023]圖3:MIL-STD-1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng)人機(jī)交互界面主窗口運(yùn)行流程圖;
[0024]圖4:1553B總線監(jiān)控及數(shù)據(jù)分析軟件控制系統(tǒng)人機(jī)交互界面子窗口 MT監(jiān)控?cái)?shù)據(jù)解析轉(zhuǎn)換流程圖;
【具體實(shí)施方式】
[0025]下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的說明。
[0026]本發(fā)明提出了一種1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng),主要有便攜式工控機(jī)和通過擴(kuò)展具有MT功能的1553B總線接口板卡,構(gòu)成了一個(gè)通用的1553B總線數(shù)據(jù)監(jiān)控和數(shù)據(jù)解析功能的硬件平臺(tái)。其中,監(jiān)控器的顯示和數(shù)據(jù)的解析處理部分采用工控機(jī)完成。1553B總線接口板卡用于和被監(jiān)控總線間的通信,實(shí)時(shí)監(jiān)控1553B總線上的信息。
[0027]硬件是系統(tǒng)功能實(shí)現(xiàn)的基礎(chǔ)和保障,軟件是系統(tǒng)功能實(shí)現(xiàn)的關(guān)鍵與核心,基于硬件平臺(tái),軟件系統(tǒng)應(yīng)能夠?qū)崿F(xiàn)總線數(shù)據(jù)的監(jiān)控、記錄、顯示以及數(shù)據(jù)的解析處理。如圖1所示,為本系統(tǒng)的組成框圖,主要包括板卡接口類模塊、線程調(diào)度模塊和人機(jī)交互界面接口模塊。
[0028]板卡接口類模塊主要是對(duì)1553B接口板卡提供的底層驅(qū)動(dòng)庫按照面向?qū)ο蟮乃枷脒M(jìn)行進(jìn)一步的封裝,使封裝后的接口類具有完善的錯(cuò)誤和異常處理機(jī)制,比直接使用底層函數(shù)更加安全和易用,同時(shí)也使系統(tǒng)更好地符合了 “高內(nèi)聚、低耦合”的軟件開發(fā)原則。
[0029]如圖1板卡接口類模塊又細(xì)分為板卡初始化、啟動(dòng)/停止接收控制、中斷處理、數(shù)據(jù)獲取和故障記錄模塊。板卡初始化模塊主要完成板卡的初始化操作,需要用戶首先輸入板卡號(hào),調(diào)用板卡底層驅(qū)動(dòng),自動(dòng)進(jìn)行系統(tǒng)初始化并設(shè)置板卡為MT工作模式;啟動(dòng)/停止接收控制主要用于創(chuàng)建MT數(shù)據(jù)實(shí)時(shí)監(jiān)聽進(jìn)程,并且將接收到的數(shù)據(jù)存入緩存;中斷處理模塊采用多媒體定時(shí)器,不受消息機(jī)制的約束,中斷到達(dá)后,直接調(diào)用預(yù)先設(shè)置好的回調(diào)函數(shù)讀取緩存中的數(shù)據(jù);數(shù)據(jù)獲取模塊主要是獲取中斷中讀取的數(shù)據(jù),為數(shù)據(jù)處理做準(zhǔn)備;故障記錄模塊用于把系統(tǒng)出現(xiàn)的故障、錯(cuò)誤等生成日志,便于研究人員分析研究。
[0030]線程調(diào)度模塊是本發(fā)明的核心部分,它負(fù)責(zé)記錄、解析、顯示和存儲(chǔ)總線數(shù)據(jù)。由于計(jì)算機(jī)是搶占式多任務(wù)操作系統(tǒng),其運(yùn)行的任務(wù)是動(dòng)態(tài)的,根據(jù)用戶啟動(dòng)的進(jìn)程數(shù)隨時(shí)變化。線程是CPU進(jìn)行調(diào)度的最小單位,線程的優(yōu)先級(jí)的高低直接決定了 CPU在一定時(shí)間內(nèi)分配給它的時(shí)間片的多少。在優(yōu)先級(jí)相同的情況下,一個(gè)軟件中運(yùn)行的線程越多,每個(gè)線程被分配的時(shí)間片就越少,因此在監(jiān)控過程中就容易出現(xiàn)部分信息丟失的問題,不能保證系統(tǒng)的實(shí)時(shí)性。為了解決這個(gè)問題,本發(fā)明采用離線解析的方法,即總線數(shù)據(jù)記錄和數(shù)據(jù)解析異步進(jìn)行,程序根據(jù)當(dāng)前的總線狀態(tài)動(dòng)態(tài)地決定要執(zhí)行的操作,從而能夠提高監(jiān)控系統(tǒng)的效率。在系統(tǒng)啟動(dòng)時(shí),創(chuàng)建兩個(gè)工作線程,數(shù)據(jù)監(jiān)控線程和數(shù)據(jù)解析線程,并將它們的優(yōu)先級(jí)均設(shè)置為最高,從而使得操作系統(tǒng)能夠分配給監(jiān)控系統(tǒng)更多的執(zhí)行時(shí)間。數(shù)據(jù)監(jiān)控線程負(fù)責(zé)對(duì)總線上的數(shù)據(jù)流進(jìn)行監(jiān)控記錄,并進(jìn)行一些必要的預(yù)處理,為數(shù)據(jù)解析線程做準(zhǔn)備。數(shù)據(jù)解析線程用來對(duì)記錄下的數(shù)據(jù)進(jìn)行詳細(xì)解包,并完成數(shù)據(jù)的存儲(chǔ)和顯示。
[0031]如圖1線程調(diào)度模塊,數(shù)據(jù)監(jiān)控存儲(chǔ)線程在板卡功能設(shè)置成功后創(chuàng)建,優(yōu)先級(jí)最高,總線上的數(shù)據(jù)流作為其輸入,其輸出直接存儲(chǔ)到內(nèi)部緩存;數(shù)據(jù)解析線程與數(shù)據(jù)監(jiān)控線程一同創(chuàng)建,優(yōu)先級(jí)相同,總線空閑時(shí),數(shù)據(jù)解析線程被喚醒,將監(jiān)測(cè)到的緩存中的數(shù)據(jù)進(jìn)行詳細(xì)的解包處理,并把解析處理后的數(shù)據(jù)進(jìn)行存儲(chǔ);數(shù)據(jù)解析線程完成同時(shí)把解析得到的數(shù)據(jù)送給數(shù)據(jù)顯示線程,完成數(shù)據(jù)的顯示;消息循環(huán)主線程采用線程動(dòng)態(tài)調(diào)度算法,實(shí)時(shí)監(jiān)測(cè)總線狀態(tài),當(dāng)總線處于活動(dòng)狀態(tài)時(shí),喚醒數(shù)據(jù)監(jiān)控存儲(chǔ)線程,而當(dāng)總線處于空閑狀態(tài)時(shí),喚醒數(shù)據(jù)解析線程,完成了兩個(gè)線程間的切換。
[0032]如圖2所示為線程動(dòng)態(tài)調(diào)度示意圖。數(shù)據(jù)監(jiān)控線程在創(chuàng)建后即開始運(yùn)行,而數(shù)據(jù)解析線程創(chuàng)建后即設(shè)置為掛起狀態(tài),系統(tǒng)實(shí)時(shí)監(jiān)測(cè)當(dāng)前1553B總線的工作狀態(tài),在總線空閑時(shí)將數(shù)據(jù)解析線程設(shè)置為活動(dòng)狀態(tài)并將數(shù)據(jù)監(jiān)控線程掛起,而當(dāng)總線處于活動(dòng)狀態(tài)時(shí)再將數(shù)據(jù)監(jiān)控線程喚醒而將數(shù)據(jù)解析線程設(shè)置為掛起狀態(tài),而當(dāng)系統(tǒng)停止時(shí),數(shù)據(jù)解析線程直至數(shù)據(jù)解析完畢后才會(huì)停止運(yùn)行。由圖2可以知道,這種算法保證了系統(tǒng)在任何時(shí)刻只有一個(gè)工作線程在運(yùn)行,能夠提高系統(tǒng)的數(shù)據(jù)處理能力,保證系統(tǒng)實(shí)時(shí)性的同時(shí)實(shí)現(xiàn)對(duì)數(shù)據(jù)流的完整監(jiān)控,提高了資源的利用效率。而且由于是數(shù)據(jù)離線解析,不會(huì)存在數(shù)據(jù)丟失的問題,而且可以根據(jù)用戶定制的規(guī)則對(duì)監(jiān)測(cè)到的數(shù)據(jù)進(jìn)行詳細(xì)的解析轉(zhuǎn)換,更加便于用戶發(fā)現(xiàn)故障。
[0033]人機(jī)交互界面接口模塊主窗口主要負(fù)責(zé)系統(tǒng)的用戶管理及數(shù)據(jù)管理,根據(jù)用戶定制的任務(wù)規(guī)劃和資源配置情況對(duì)系統(tǒng)進(jìn)行初始化設(shè)置,將監(jiān)控和數(shù)據(jù)解析結(jié)果按照要求進(jìn)行界面顯示。圖3為主窗口運(yùn)行流程圖。首先需要用戶進(jìn)行界面登錄,登錄不成功時(shí)直接退出系統(tǒng),而當(dāng)用戶成功登陸后,必須對(duì)系統(tǒng)進(jìn)行初始操作并且設(shè)置板卡為BM工作模式,模式設(shè)置不成功,退出系統(tǒng),反之用戶可以根據(jù)需要定制需要監(jiān)視的遠(yuǎn)程終端以及需要解析的數(shù)據(jù)設(shè)置成功后系統(tǒng)啟動(dòng),同時(shí)創(chuàng)建數(shù)據(jù)監(jiān)視線程和數(shù)據(jù)解析線程,由消息循環(huán)主線程檢測(cè)總線狀態(tài),根據(jù)總線的狀態(tài)對(duì)工作線程進(jìn)行動(dòng)態(tài)調(diào)度,保證同一時(shí)刻只有一個(gè)線程在運(yùn)行,監(jiān)測(cè)任務(wù)完成后,發(fā)系統(tǒng)停止命令,等待數(shù)據(jù)解析線程結(jié)束,轉(zhuǎn)到數(shù)據(jù)存儲(chǔ)和顯示線程,完成對(duì)解析數(shù)據(jù)的存儲(chǔ)和顯示,觀察檢測(cè)結(jié)果,退出系統(tǒng),存儲(chǔ)日志。
[0034]為了便于用戶分析數(shù)據(jù),所述人機(jī)交互接口模塊子窗口還能完成對(duì)以往MT監(jiān)控?cái)?shù)據(jù)文件的解析轉(zhuǎn)換,可以根據(jù)保存消息的ID標(biāo)識(shí)信息,對(duì)MT監(jiān)控信息進(jìn)行分類,并且還可以實(shí)現(xiàn)具體RT地址及相關(guān)RT子地址消息格式的消息解析及轉(zhuǎn)換,并保存至相關(guān)目標(biāo)文件。所述MT監(jiān)控?cái)?shù)據(jù)解析轉(zhuǎn)換需要確定要轉(zhuǎn)換的有效的MT數(shù)據(jù)文件,獲得轉(zhuǎn)換后文件句柄,然后對(duì)信息進(jìn)行分類,完成數(shù)據(jù)的解析轉(zhuǎn)換,詳細(xì)的MT數(shù)據(jù)轉(zhuǎn)換流程圖如圖4所示。登錄系統(tǒng)后,首先選擇待轉(zhuǎn)換的MT數(shù)據(jù)文件,判斷文件的有效性,文件無效返回繼續(xù)選擇有效文件,如果文件有效,設(shè)置需要轉(zhuǎn)換消息的類型、轉(zhuǎn)換后文件句柄,然后讀取第一條MT消息,對(duì)MT消息進(jìn)行分類。判斷需要轉(zhuǎn)換的消息為BC->RT時(shí),保存所有BC->RT消息成功,則順序讀取MT 二進(jìn)制監(jiān)控?cái)?shù)據(jù)文件,將消息轉(zhuǎn)換成文本格式并保存;保存所有BC->RT消息失敗,則進(jìn)入特定RT地址判斷,如果為特定的RT地址則順序讀取MT 二進(jìn)制數(shù)據(jù)文件,記錄該RT地址的所有消息,否則,順序讀取MT 二進(jìn)制數(shù)據(jù)文件,記錄該RT地址、特定子地址的所有消息;判斷需要轉(zhuǎn)換的消息類型為RT_>BC消息時(shí),完成所有RT->BC,設(shè)定RT地址的RT_>BC以及特定RT子地址的RT->BC消息的轉(zhuǎn)換;判斷需要轉(zhuǎn)換的消息為RT->RT消息時(shí),只需要按照用戶要求,完成設(shè)定的RT_>RT消息的轉(zhuǎn)換;判斷需要轉(zhuǎn)換的消息為矢量字消息時(shí),需要完成設(shè)定RT地址的矢量字消息的轉(zhuǎn)換;判斷需要轉(zhuǎn)換的消息為廣播消息時(shí),進(jìn)行廣播消息的轉(zhuǎn)換。如圖1所示人機(jī)交互界面接口,用戶驗(yàn)證與管理模塊限定了只有特許的用戶才能操作此系統(tǒng),當(dāng)用戶正確登錄后才能進(jìn)行后續(xù)的操作;監(jiān)控模式設(shè)置用于板卡的工作模式設(shè)定,在此我們?cè)O(shè)置板卡的工作模式為MT模式;監(jiān)控啟停設(shè)置主要用于啟動(dòng)或者停止系統(tǒng),監(jiān)控啟動(dòng)時(shí),同時(shí)創(chuàng)建數(shù)據(jù)監(jiān)控線程和數(shù)據(jù)解析線程;數(shù)據(jù)轉(zhuǎn)換設(shè)置主要用于確定需要轉(zhuǎn)換的數(shù)據(jù)類型以及需要解析的數(shù)據(jù);轉(zhuǎn)換啟停設(shè)置模塊主要用于數(shù)據(jù)解析的轉(zhuǎn)換控制,當(dāng)轉(zhuǎn)換啟動(dòng)時(shí),允許消息循環(huán)主線程喚醒數(shù)據(jù)解析轉(zhuǎn)換線程,否則無法喚醒此線程;而數(shù)據(jù)存儲(chǔ)負(fù)責(zé)對(duì)監(jiān)測(cè)數(shù)據(jù)和解析數(shù)據(jù)的存儲(chǔ)設(shè)置;數(shù)據(jù)列表顯示負(fù)責(zé)對(duì)解析前及解析后的數(shù)據(jù)顯示,觸發(fā)此模塊后能夠立即顯示解析前后的數(shù)據(jù)。
【權(quán)利要求】
1.一種1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng),包括板卡接口類模塊、線程調(diào)度模塊和人機(jī)交互界面接口模塊; 板卡接口類模塊包括板卡初始化模塊、啟動(dòng)/停止接收控制模塊、中斷處理模塊、數(shù)據(jù)獲取模塊和故障記錄模塊; 板卡初始化模塊完成1553B板卡的初始化操作,用戶輸入板卡號(hào),調(diào)用板卡底層驅(qū)動(dòng),自動(dòng)進(jìn)行系統(tǒng)初始化并設(shè)置板卡為MT工作模式;啟動(dòng)/停止接收控制模塊用于創(chuàng)建MT數(shù)據(jù)實(shí)時(shí)監(jiān)聽進(jìn)程,并且將接收到的數(shù)據(jù)存入緩存;中斷處理模塊采用多媒體定時(shí)器,不受消息機(jī)制的約束,中斷到達(dá)后,直接調(diào)用預(yù)先設(shè)置好的回調(diào)函數(shù)讀取緩存中的數(shù)據(jù);數(shù)據(jù)獲取模塊獲取中斷中讀取的數(shù)據(jù),為數(shù)據(jù)處理做準(zhǔn)備;故障記錄模塊將系統(tǒng)出現(xiàn)的故障、錯(cuò)誤生成日志; 線程調(diào)度模塊設(shè)有數(shù)據(jù)監(jiān)控存儲(chǔ)線程、數(shù)據(jù)解析線程、數(shù)據(jù)顯示線程、消息循環(huán)主線程; 數(shù)據(jù)監(jiān)控存儲(chǔ)線程在板卡功能設(shè)置成功后創(chuàng)建,優(yōu)先級(jí)最高,總線上的數(shù)據(jù)流作為其輸入,其輸出直接存儲(chǔ)到內(nèi)部緩存;數(shù)據(jù)解析線程與數(shù)據(jù)監(jiān)控線程一同創(chuàng)建,優(yōu)先級(jí)相同,總線空閑時(shí),數(shù)據(jù)解析線程被喚醒,將監(jiān)測(cè)到的緩存中的數(shù)據(jù)進(jìn)行詳細(xì)的解包處理,并把解析處理后的數(shù)據(jù)進(jìn)行存儲(chǔ);數(shù)據(jù)解析線程完成同時(shí)把解析得到的數(shù)據(jù)送給數(shù)據(jù)顯示線程,完成數(shù)據(jù)的顯示;消息循環(huán)主線程采用線程動(dòng)態(tài)調(diào)度算法,實(shí)時(shí)監(jiān)測(cè)總線狀態(tài),當(dāng)總線處于活動(dòng)狀態(tài)時(shí),喚醒數(shù)據(jù)監(jiān)控存儲(chǔ)線程,而當(dāng)總線處于空閑狀態(tài)時(shí),喚醒數(shù)據(jù)解析線程,完成了兩個(gè)線程間的切換; 人機(jī)交互界面接口模塊主窗口負(fù)責(zé)系統(tǒng)的用戶管理及數(shù)據(jù)管理,根據(jù)用戶定制的任務(wù)規(guī)劃和資源配置情況對(duì)系統(tǒng)進(jìn)行初始化設(shè)置,將監(jiān)控和數(shù)據(jù)解析結(jié)果按照要求進(jìn)行界面顯示; 人機(jī)交互界面接口模塊設(shè)有用戶驗(yàn)證與管理模塊、監(jiān)控模式設(shè)置模塊、監(jiān)控啟停設(shè)置模塊、數(shù)據(jù)轉(zhuǎn)換設(shè)置模塊、轉(zhuǎn)換啟停設(shè)置模塊、數(shù)據(jù)存儲(chǔ)模塊、數(shù)據(jù)列表顯示模塊; 用戶驗(yàn)證與管理模塊限定只有特許的用戶才能操作系統(tǒng),當(dāng)用戶正確登錄后才能進(jìn)行后續(xù)的操作;監(jiān)控模式設(shè)置模塊用于板卡的工作模式設(shè)定,設(shè)定板卡的工作模式為MT模式;監(jiān)控啟停設(shè)置模塊用于啟動(dòng)或者停止系統(tǒng),監(jiān)控啟動(dòng)時(shí),同時(shí)創(chuàng)建數(shù)據(jù)監(jiān)控線程和數(shù)據(jù)解析線程;數(shù)據(jù)轉(zhuǎn)換設(shè)置模塊用于確定需要轉(zhuǎn)換的數(shù)據(jù)類型以及需要解析的數(shù)據(jù);轉(zhuǎn)換啟停設(shè)置模塊用于數(shù)據(jù)解析的轉(zhuǎn)換控制,當(dāng)轉(zhuǎn)換啟動(dòng)時(shí),允許消息循環(huán)主線程喚醒數(shù)據(jù)解析轉(zhuǎn)換線程,否則無法喚醒此線程;數(shù)據(jù)存儲(chǔ)模塊負(fù)責(zé)對(duì)監(jiān)測(cè)數(shù)據(jù)和解析數(shù)據(jù)的存儲(chǔ)設(shè)置;數(shù)據(jù)列表顯示模塊負(fù)責(zé)對(duì)解析前及解析后的數(shù)據(jù)顯示。
2.根據(jù)權(quán)利要求1所述的一種1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng),線程調(diào)度模塊中,數(shù)據(jù)監(jiān)控線程在創(chuàng)建后即開始運(yùn)行,數(shù)據(jù)解析線程創(chuàng)建后即設(shè)置為掛起狀態(tài),系統(tǒng)實(shí)時(shí)監(jiān)測(cè)當(dāng)前1553B總線的工作狀態(tài),在總線空閑時(shí)將數(shù)據(jù)解析線程設(shè)置為活動(dòng)狀態(tài)并將數(shù)據(jù)監(jiān)控線程掛起,而當(dāng)總線處于活動(dòng)狀態(tài)時(shí)再將數(shù)據(jù)監(jiān)控線程喚醒而將數(shù)據(jù)解析線程設(shè)置為掛起狀態(tài),而當(dāng)系統(tǒng)停止時(shí),數(shù)據(jù)解析線程直至數(shù)據(jù)解析完畢后才會(huì)停止運(yùn)行。
3.根據(jù)權(quán)利要求1所述的一種1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng),人機(jī)交互界面接口模塊中,設(shè)有主窗口,主窗口運(yùn)行流程為:首先需要用戶進(jìn)行界面登錄,登錄不成功時(shí)直接退出系統(tǒng),而當(dāng)用戶成功登陸后,必須對(duì)系統(tǒng)進(jìn)行初始操作并且設(shè)置板卡為BM工作模式,模式設(shè)置不成功,退出系統(tǒng),反之用戶可以根據(jù)需要定制需要監(jiān)視的遠(yuǎn)程終端以及需要解析的數(shù)據(jù)設(shè)置成功后系統(tǒng)啟動(dòng),同時(shí)創(chuàng)建數(shù)據(jù)監(jiān)視線程和數(shù)據(jù)解析線程,由消息循環(huán)主線程檢測(cè)總線狀態(tài),根據(jù)總線的狀態(tài)對(duì)工作線程進(jìn)行動(dòng)態(tài)調(diào)度,保證同一時(shí)刻只有一個(gè)線程在運(yùn)行,監(jiān)測(cè)任務(wù)完成后,發(fā)系統(tǒng)停止命令,等待數(shù)據(jù)解析線程結(jié)束,轉(zhuǎn)到數(shù)據(jù)存儲(chǔ)和顯示線程,完成對(duì)解析數(shù)據(jù)的存儲(chǔ)和顯示,觀察檢測(cè)結(jié)果,退出系統(tǒng),存儲(chǔ)日志。
4.根據(jù)權(quán)利要求1所述的一種1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng),人機(jī)交互接口模塊中,設(shè)有子窗口,子窗口完成對(duì)以往MT監(jiān)控?cái)?shù)據(jù)文件的解析轉(zhuǎn)換,根據(jù)保存消息的ID標(biāo)識(shí)信息,對(duì)MT監(jiān)控信息進(jìn)行分類,并且實(shí)現(xiàn)具體RT地址及相關(guān)RT子地址消息格式的消息解析及轉(zhuǎn)換,并保存至相關(guān)目標(biāo)文件;所述MT監(jiān)控?cái)?shù)據(jù)解析轉(zhuǎn)換需要確定要轉(zhuǎn)換的有效的MT數(shù)據(jù)文件,獲得轉(zhuǎn)換后文件句柄,然后對(duì)信息進(jìn)行分類,完成數(shù)據(jù)的解析轉(zhuǎn)換。
5.根據(jù)權(quán)利要求4所述的一種1553B總線監(jiān)控及數(shù)據(jù)分析系統(tǒng),MT數(shù)據(jù)轉(zhuǎn)換為:登錄系統(tǒng)后,首先選擇待轉(zhuǎn)換的MT數(shù)據(jù)文件,判斷文件的有效性,文件無效返回繼續(xù)選擇有效文件,如果文件有效,設(shè)置需要轉(zhuǎn)換消息的類型、轉(zhuǎn)換后文件句柄,然后讀取第一條MT消息,對(duì)MT消息進(jìn)行分類;判斷需要轉(zhuǎn)換的消息為BC->RT時(shí),保存所有BC->RT消息成功,則順序讀取MT 二進(jìn)制監(jiān)控?cái)?shù)據(jù)文件,將消息轉(zhuǎn)換成文本格式并保存;保存所有BC->RT消息失敗,則進(jìn)入特定RT地址判斷,如果為特定的RT地址則順序讀取MT 二進(jìn)制數(shù)據(jù)文件,記錄該RT地址的所有消息,否則,順序讀取MT 二進(jìn)制數(shù)據(jù)文件,記錄該RT地址、特定子地址的所有消息;判斷需要轉(zhuǎn)換的消息類型為RT_>BC消息時(shí),完成所有RT->BC,設(shè)定RT地址的RT_>BC以及特定RT子地址的RT->BC消息的轉(zhuǎn)換;判斷需要轉(zhuǎn)換的消息為RT->RT消息時(shí),只需要按照用戶要求,完成設(shè)定的RT_>RT消息的轉(zhuǎn)換;判斷需要轉(zhuǎn)換的消息為矢量字消息時(shí),需要完成設(shè)定RT地址的 矢量字消息的轉(zhuǎn)換;判斷需要轉(zhuǎn)換的消息為廣播消息時(shí),進(jìn)行廣播消息的轉(zhuǎn)換。
【文檔編號(hào)】G06F17/30GK103645947SQ201310607812
【公開日】2014年3月19日 申請(qǐng)日期:2013年11月25日 優(yōu)先權(quán)日:2013年11月25日
【發(fā)明者】宋佳, 蔡國飆, 施文杰, 李小川, 王鵬 申請(qǐng)人:北京航空航天大學(xué)