一種多類型報文實時處理方法及裝置制造方法
【專利摘要】本發(fā)明涉及ADS-B系統(tǒng)數據檢測領域,尤其涉及一種多類型報文實時處理方法及裝置。本發(fā)明所要解決的技術問題是:針對現有技術存在的問題,提供一種大容量多類型報文實時處理方法及裝置,本方法及裝置通過設置多級緩存和同步處理各類型報文,滿足ADS-B系統(tǒng)需要具備每秒接收處理700條以上ADS-B報文和32條以上FIS-B報文的能力,在確保報文不丟失的情況下,最大限度對報文進行實時處理,大大提高了系統(tǒng)的工作效率。本裝置包括接收報文存儲模塊、同步頭檢測模塊、時間等待模塊、二級緩存模塊、報文譯碼模塊、以及明文提取模塊,用于對FIS-B類型和ADS-B類型報文數據進行多線程處理并行處理。本發(fā)明應用與大容量數據多類型數據報文處理領域。
【專利說明】一種多類型報文實時處理方法及裝置
【技術領域】
[0001]本發(fā)明涉及ADS-B系統(tǒng)數據檢測領域,尤其涉及一種多類型報文實時處理方法及裝置?!颈尘凹夹g】
[0002]為了使航線上的飛機能夠在空域中安全、有效和有計劃的飛行,需要對空域中飛機的飛行動態(tài)進行實時監(jiān)視?,F有技術中的雷達監(jiān)視手段采用詢問應答方式對目標進行探測,雷達波束的直線傳播形成了大量雷達盲區(qū),無法覆蓋海洋和荒漠等地區(qū);雷達旋轉周期限制了數據更新率的提高,從而限制了監(jiān)視精度的提高;此外,雷達監(jiān)視無法獲得飛機的計劃航路、速度等態(tài)勢數據,限制了跟蹤精度的提高和短期沖突檢測告警的能力。
[0003]在自動相關監(jiān)視廣播(AutomaticDependent Surveillance Broadcast,簡稱ADS-B)系統(tǒng)中,地面設備和其他航空器通過航空數據鏈接收由機載星基導航和定位系統(tǒng)生成的精確定位信息。其中,衛(wèi)星系統(tǒng)、飛機以及地基系統(tǒng)通過高速數據鏈實現空地一體化協(xié)同監(jiān)視空域中飛機的飛行動態(tài)。ADS-B不僅克服了現有技術中通過雷達監(jiān)視存在的缺陷,同時具有精度高、更新率快、應用范圍廣、地面設備建設和維護費用低等優(yōu)點。
[0004]ADS-B作為航行系統(tǒng)中的一項重要監(jiān)視技術,在雷達覆蓋區(qū)域,可以作為雷達監(jiān)視的有效補充,對雷達監(jiān)視進行校準或補盲;在非雷達覆蓋區(qū)域,可以作為獨立的監(jiān)視技術,提供新的監(jiān)視手段。具體實施時,某ADS-B系統(tǒng)需要具備每秒接收處理700條ADS-B報文和32條FIS-B報文的能力,對系統(tǒng)的處理容量和處理實時性都提出了很高的要求。
[0005]某ADS-B系統(tǒng)需要具備每秒接收處理700條ADS-B報文和32條FIS-B報文的能力,對系統(tǒng)的處理容量和處理實時性都提出了很高的要求?,F有技術有以下缺點:
[0006]1、不能適當的設置系統(tǒng)容量,系統(tǒng)容量過大會消耗大部分資源,導致系統(tǒng)運行緩慢且不穩(wěn)定,系統(tǒng)容量太小會導致報文丟失;
[0007]2、系統(tǒng)實時性處理不高,實時性處理不夠,會導致先前到達的報文還未處理完就過期,而后續(xù)到達的報文不能被處理而丟失。
[0008]3、系統(tǒng)長時間工作在一個進程,導致系統(tǒng)其他任務長期掛起,系統(tǒng)處理在一個任務上,導致系統(tǒng)運行效率低。
【發(fā)明內容】
[0009]本發(fā)明所要解決的技術問題是:針對現有技術存在的問題,提供一種多類型報文實時處理方法及裝置,本方法及裝置通過設置多級緩存和同步處理各類型報文,滿足ADS-B系統(tǒng)需要具備每秒接收處理700條以上ADS-B報文和32條以上FIS-B報文的能力,在確保報文不丟失的情況下,最大限度對報文進行實時處理,大大提高了系統(tǒng)的工作效率。本發(fā)明解決了以下問題:
[0010]1、第二級緩沖區(qū)將第一級緩沖區(qū)中先到達的報文讀出,從而避免大量報文堆積,導致后續(xù)到達的報文將前面到達的報文覆蓋,達到釋放第一級緩沖區(qū)的空間的目的。
[0011]2、系統(tǒng)采用多種報文類型并行處理方法,在不知道報文具體類型的情況下,讀取報文同步進行FIS-B、ADS-B LONG和ADS-B BASIC的同步頭檢測,在確定報文為ADS-B類型,但不能確定為ADS-B LONG和ADS-B BASIC的情況下,讀取報文同步進行ADS-B LONG和ADS-B BASIC的檢測,大大提高系統(tǒng)的實時處理能力;
[0012]3、系統(tǒng)在處理上采用同步的方式,接收報文的同時,實時處理報文,將接收和處理同步工作,采用多級大容量緩沖區(qū)確保報文不丟失的同時,同步處理同步頭檢測、報文類型譯碼,多進程同步進行,大大提高了系統(tǒng)的工作效率。
[0013]本發(fā)明采用的技術方案如下:
[0014]—種多類型報文實時處理方法包括:
[0015]步驟1:接收報文存儲模塊I設置FIS-B報文接收存儲單元11和ADS-B報文存儲單元12,所述FIS-B報文接收存儲單元IUADS-B報文存儲單元12同時接收并存儲來自外部輸入的報文;
[0016]步驟2:同步頭檢測模塊2讀取接收FIS-B報文接收存儲單元11和ADS-B報文存儲單元12中存儲的數據報文,進行FIS-B類型同步頭和ADS-B類型同步頭檢測,若FIS-B報文接收存儲單元11有FIS-B類型數據報文,則將FIS-B類型數據報文起始地址存入FIS-B報文同步頭檢測單元21,并輸出FIS-B類型同步頭標志;同時若ADS-B報文存儲單元12有FIS-B類型數據報文,則將ADS-B類型數據報文起始地址存入ADS-B報文同步頭檢測單元22,并輸出ADS-B類型同步頭標志;
[0017]步驟3:時間等待模塊3檢測到FIS-B同步頭標志和ADS-B類型同步頭標志,根據對應FIS-B類型報文等待時間和ADS-B類型報文等待時間,確保完整的FIS-B類型或ADS-B類型數據報文存儲到對應的FIS-B報文接收存儲單元11或ADS-B報文存儲單元12 ;
[0018]步驟4:二級緩存模塊4分別設置FIS-B報文二級緩存單元41、ADS_B報文二級緩存單元42,FIS-B報文二級緩存單元41用于檢測FIS-B報文同步頭檢測單元21的空標志位,若空標志位為0,則表示FIS-B報文同步頭檢測單元存儲有FIS-B類型數據報文起始地址;FIS-B報文二級緩存單元41根據FIS-B類型數據報文起始地址、FIS-B類型報文等待時間,從FIS-B接收報文存儲模塊11讀取FIS-B報文,并將其存入FIS-B報文二級緩沖單元41中,存儲完一條完整的FIS-B報文后輸出FIS-B報文標志信號;ADS_B報文二級緩存單元42用于檢測ADS-B報文同步頭檢測單元22的空標志位,若空標志位為0,則表示ADS-B報文同步頭檢測單元存儲有ADS-B類型數據報文起始地址;ADS-B報文二級緩存單元42根據ADS-B類型數據報文起始地址、ADS-B類型報文等待時間,從ADS-B接收報文存儲模塊12讀取ADS-B報文,并將其存入ADS-B報文二級緩沖單元42中,存儲完一條完整的ADS-B報文后輸出ADS-B報文標志信號;
[0019]步驟5:報文譯碼模塊讀取二級緩存模塊4輸出的FIS-B報文以及ADS-B報文,并進行對應類型的報文譯碼,輸出譯碼成功標識給明文提取模塊;
[0020]步驟6、明文提取模塊根據譯碼成功標志,獲得報文的具體類型和報文的明文。
[0021]進一步的,所述步驟I中FIS-B報文接收存儲單元、ADS-B報文接收存儲單元存儲數據相同,所述FIS-B報文接收存儲單元包括第一緩存器RAMl和第二緩存器RAM2,ADS-B報文接收存儲單元包括第三緩存器RAM3和第四緩存器RAM4,所述第一緩存器RAMl和第二緩存器RAM2是乒乓操作,所述第三緩存器RAM3和第四緩存器RAM4是乒乓操作,所述第一緩存器RAMl、第二緩存器RAM2、第三緩存器RAM3、第四緩存器RAM4數據深度為2n,則FIS-B報文接收存儲單元11輸入輸出地址寬度為(n+1)位,FIS-B報文接收存儲單元11用地址最高位來區(qū)分報文達到的順序,先到達的報文存在地址最高位為O的第一緩存器RAMl中,當第一緩存器RAMl存滿后,FIS-B報文接收存儲單元11地址最高位將變?yōu)?,此時到達的報文存在第二緩存器RAM2中,當第一緩存器RAM2存滿后,FIS-B報文接收存儲單元11地址最高位變?yōu)镺,隨后達到的報文存在第一緩存器RAMl中,循環(huán)存儲;ADS-B報文接收存儲單元12用地址最高位來區(qū)分報文達到的順序,先到達的報文存在地址最高位為O的第三緩存器RAM3中,當第三緩存器RAM3存滿后,ADS-B報文接收存儲單元12地址最高位將變?yōu)?,此時到達的報文存在第四緩存器RAM4中,當第四緩存器RAM4存滿后,ADS-B報文接收存儲單元12地址最高位將變?yōu)镺,隨后達到的報文存在第三緩存器RAM3中,循環(huán)存儲;所述FIS-B類型等待時間為FIS-B報文長度Ml個字節(jié),每個比特位傳輸時間為K1,則FIS-B類型等待時間為M1*8*K1 ;ADS-B類型等待時間為FIS-B報文長度M2個字節(jié),每個比特位傳輸時間為K2,則 ADS-B 類型等待時間為 M2*8*K2,其中 550〈M1〈600; 40〈M2〈50。
[0022]進一步的,所述步驟2中同步頭檢測模塊2讀取接收報文存儲模塊中緩沖區(qū)存儲的報文,進行FIS-B類型報文和ADS-B類型報文同步頭檢測,具體步驟包括:
[0023]步驟21:同步頭檢測模塊讀取FIS-B報文接收存儲單元11中第一緩存器RAMl數據報文與第二緩存器RAM2中的數據報文,按順序讀取FIS-B報文接收存儲單元I中N位數據進行同步頭檢測,FIS-B報文接收存儲單元11地址最高位地址為O時,讀取第一緩存器RAMl中的數據,FIS-B報文接收存儲單元11地址最高位地址為I時,讀取第二緩存器RAM2中的數據;同時,同步頭檢測模塊讀取ADS-B報文接收存儲單元12中第三緩存器RAM3或第四緩沖器RAM4中的數據報文,按順序進行讀取N位數據進行同步頭檢測,ADS-B報文接收存儲單元12地址最高位地址為O時,讀取第三緩存器RAM3中的數據,ADS-B報文接收存儲單元12地址最高位地址為I時,讀取第四緩存器RAM4中的數據;
[0024]步驟22:當同步頭檢測模塊2對FIS-B報文進行同步頭檢測,讀取FIS-B報文接收存儲單元中FIS-B報文的前N位數據與標準FIS-B報文同步頭相同時,則判定為出現FIS-B報文,FIS-B報文同步頭檢測單元21記錄此時FIS-B報文對應的FIS-B報文接收存儲單元11的地址,并輸出FIS-B報文同步頭標志;否則,為未出現FIS-B報文,同時返回步驟21 ;
[0025]步驟23:當同步頭檢測模塊2對ADS-B報文進行同步頭檢測,讀取ADS-B報文接收存儲單元中ADS-B報文的前N位數據與標準ADS-B報文同步頭相同時,則判定為出現ADS-B報文,ADS-B報文同步頭檢測單元22記錄此時ADS-B報文對應的ADS-B報文接收存儲單元12的地址,并輸出ADS-B報文同步頭標志;否則,為未出現ADS-B報文,同時返回步驟21。
[0026]進一步的,所述步驟5中根據報文譯碼模塊讀取二級緩存模塊4輸出的報文并進行對應類型的報文譯碼,輸出譯碼成功標識給明文提取模塊,具體過程是:
[0027]步驟51:若報文譯碼模塊5的FIS-B報文譯碼單元檢測到二級緩存模塊4輸出的是FIS-B報文標志信號時,從FIS-B報文二級緩存單元41中讀取的一條完整的FIS-B報文,即根據FIS-B報文二級緩存單元41存儲的報文數量,按FIS-B報文二級緩存單元41中指示報文條數的地址進行累加,讀取FIS-B報文;
[0028]步驟52 ;從FIS-B報文二級緩存單元41中讀取的FIS-B報文進行譯碼;如果譯碼成功,FIS-B報文譯碼單元51輸出FIS-B報文譯碼成功標志,如果譯碼失敗,返回步驟51,讀取下一條報文進行譯碼;
[0029]步驟53、若報文譯碼模塊5的ADS-B LONG報文譯碼單元檢測到,二級緩存模塊4輸出的ADS-B報文標志信號時,從ADS-B報文二級緩存單元42中讀取的一條完整的ADS-B報文,即根據ADS-B LONG報文長度讀取ADS-B報文二級緩存單元42中的ADS-B報文,進行解碼,若解碼成功,則ADS-B LONG報文譯碼單元輸出ADS-B LONG報文譯碼成功標志;
[0030]步驟54:若報文譯碼模塊5的ADS-B BASIC報文譯碼單元檢測到,二級緩存模塊4輸出的ADS-B報文標志信號時,從ADS-B報文二級緩存單元42中讀取的一條完整的ADS-B報文,即根據ADS-B BASIC報文長度讀取ADS-B報文二級緩存單元42中的ADS-B報文,進行解碼,若解碼成功,則ADS-B BASIC報文譯碼單元輸出ADS-B BASIC報文譯碼成功標志。
[0031]進一步的,所述步驟6具體步驟包括:
[0032]明文提取模塊中的FIS-B明文提取單元,根據FIS-B報文譯碼成功標志,獲得FIS-B報文明文,FIS-B報文明文加上FIS-B同步頭標志存入FIS-B明文提取單元;
[0033]明文提取模塊中的ADS-B明文提取單元,根據ADS-B LONG報文譯碼成功標志,獲得ADS-BL0NG報文明文,ADS-B報文明文加上ADS-B LONG同步頭標志存入ADS-B明文提取單元;
[0034]明文提取模塊中的ADS-B明文提取單元,根據ADS-B BASIC報文譯碼成功標志,獲得ADS-B BASIC報文明文,ADS-B報文明文加上ADS-B BASIC同步頭標志存入ADS-B明文
提取單元。
[0035]一種多類型報文實時處理裝置包括:
[0036]接收報文存儲模塊1,用于設置FIS-B報文接收存儲單元11和ADS-B報文存儲單元12,所述FIS-B報文接收存儲單元IUADS-B報文存儲單元12同時接收并存儲來自外部輸入的報文;
[0037]同步頭檢測模塊2,用于讀取接收FIS-B報文接收存儲單元11和ADS-B報文存儲單元12中存儲的數據報文,進行FIS-B類型同步頭和ADS-B類型同步頭檢測,若FIS-B報文接收存儲單元11有FIS-B類型數據報文,則將FIS-B類型數據報文起始地址存入FIS-B報文同步頭檢測單元21,并輸出FIS-B類型同步頭標志;同時若ADS-B報文存儲單元12有ADS-B類型數據報文,則將ADS-B類型數據報文起始地址存入ADS-B報文同步頭檢測單元22,并輸出ADS-B類型同步頭標志;
[0038]時間等待模塊,用于根據FIS-B或ADS-B類型報文等待時間,檢測到同步頭檢測模塊輸出的FIS-B同步頭標志和ADS-B類型同步頭標志時,接收FIS-B類型報文和ADS-B類型報文并存儲到對應FIS-B報文接收存儲單元IUADS-B報文存儲單元12 ;
[0039]二級緩存模塊,分別設置FIS-B報文二級緩存單元41、ADS-B報文二級緩存單元42,FIS-B報文二級緩存單元41用于檢測FIS-B報文同步頭檢測單元21的空標志位,若空標志位為0,則表示FIS-B報文同步頭檢測單元存儲有FIS-B類型數據報文起始地址;FIS-B報文二級緩存單元41根據FIS-B類型數據報文起始地址、FIS-B類型報文等待時間,從FIS-B接收報文存儲模塊11讀取FIS-B報文,并將其存入FIS-B報文二級緩沖單元41中,存儲完一條完整的FIS-B報文后輸出FIS-B報文標志信號;ADS-B報文二級緩存單元42用于檢測ADS-B報文同步頭檢測單元22的空標志位,若空標志位為0,則表示ADS-B報文同步頭檢測單元存儲有ADS-B類型數據報文起始地址;ADS-B報文二級緩存單元42根據ADS-B類型數據報文起始地址、ADS-B類型報文等待時間,從ADS-B接收報文存儲模塊12讀取ADS-B報文,并將其存入ADS-B報文二級緩沖單元42中,存儲完一條完整的ADS-B報文后輸出ADS-B報文標志信號;
[0040]報文譯碼模塊,報文譯碼模塊讀取二級緩存模塊4輸出的FIS-B報文以及ADS-B報文,并進行對應類型的報文譯碼,輸出譯碼成功標識給明文提取模塊;
[0041]明文提取模塊,用于根據譯碼成功標志,獲得報文的具體類型和報文的明文。
[0042]進一步的,所述接收報文存儲模塊I包括FIS-B報文接收存儲單元和ADS-B報文接收存儲單元,FIS-B報文接收存儲單元和ADS-B報文接收存儲單元存儲數據相同,所述FIS-B報文接收存儲單元包括第一緩存器RAMl和第二緩存器RAM2,FIS-B報文接收存儲單元包括第三緩存器RAM3和第四緩存器RAM4,所述第一緩存器RAMl和第二緩存器RAM2是乒乓操作,所述第三緩存器RAM3和第四緩存器RAM4是乒乓操作,所述第一緩存器RAM1、第二緩存器RAM2、第三緩存器RAM3、第四緩存器RAM4數據深度為2n,則FIS-B報文接收存儲單元11輸入輸出地址寬度為(n+1)位,FIS-B報文接收存儲單元11用地址最高位來區(qū)分報文達到的順序,先到達的報文存在地址最高位為O的第一緩存器RAMl中,當第一緩存器RAMl存滿后,FIS-B報文接收存儲單元11地址最高位將變?yōu)镮,此時到達的報文存在第二緩存器RAM2中,當第一緩存器RAM2存滿后,FIS-B報文接收存儲單元11地址最高位變?yōu)?,隨后達到的報文存在第一緩存器RAMl中,循環(huán)存儲;ADS-B報文接收存儲單元12用地址最高位來區(qū)分報文達到的順序,先到達的報文存在地址最高位為O的第三緩存器RAM3中,當第三緩存器RAM3存滿后,ADS-B報文接收存儲單元12地址最高位將變?yōu)?,此時到達的報文存在第四緩存器RAM4中,當第四緩存器RAM4存滿后,ADS-B報文接收存儲單元12地址最高位將變?yōu)?,隨后達到的報文存在第三緩存器RAM3中,循環(huán)存儲;所述FIS-B或ADS-B類型等待時間計算過程是=FIS-B類型等待時間為FIS-B報文長度Ml個字節(jié),每個比特位傳輸時間為K1,則FIS-B類型等待時間為M1*8*K1 ;ADS-B類型等待時間為FIS-B報文長度M2個字節(jié),每個比特位傳輸時間為K2,則ADS-B類型等待時間為M2*8*K2。
[0043]進一步的,同步頭檢測模塊2讀取接收報文存儲模塊中緩沖區(qū)存儲的報文,進行FIS-B類型報文和ADS-B類型報文同步頭檢測,具體步驟包括:
[0044]步驟21:同步頭檢測模塊讀取FIS-B報文接收存儲單元11中第一緩存器RAMl數據報文與第二緩存器RAM2中的數據報文,按順序讀取FIS-B報文接收存儲單元I中N位數據進行同步頭檢測,FIS-B報文接收存儲單元11地址最高位地址為O時,讀取第一緩存器RAMl中的數據,FIS-B報文接收存儲單元11地址最高位地址為I時,讀取第二緩存器RAM2中的數據;同時,同步頭檢測模塊讀取ADS-B報文接收存儲單元12中第三緩存器RAM3或第四緩沖器RAM4中的數據報文,按順序進行讀取N位數據進行同步頭檢測,ADS-B報文接收存儲單元12地址最高位地址為O時,讀取第三緩存器RAM3中的數據,ADS-B報文接收存儲單元12地址最高位地址為I時,讀取第四緩存器RAM4中的數據;
[0045]步驟22:當同步頭檢測模塊2對FIS-B報文進行同步頭檢測,讀取FIS-B報文接收存儲單元中FIS-B報文的前N位數據與標準FIS-B報文同步頭相同時,則判定為出現FIS-B報文,FIS-B報文同步頭檢測單元21記錄此時FIS-B報文對應的FIS-B報文接收存儲單元11的地址,并輸出FIS-B報文同步頭標志;否則,為未出現FIS-B報文,同時返回步驟21 ;
[0046]步驟23:當同步頭檢測模塊2對ADS-B報文進行同步頭檢測,讀取ADS-B報文接收存儲單元中ADS-B報文的前N位數據與標準ADS-B報文同步頭相同時,則判定為出現ADS-B報文,ADS-B報文同步頭檢測單元22記錄此時ADS-B報文對應的ADS-B報文接收存儲單元12的地址,并輸出ADS-B報文同步頭標志;否則,為未出現ADS-B報文,同時返回步驟21。
[0047]進一步的,所述報文譯碼模塊讀取二級緩存模塊4輸出的報文并進行對應類型的報文譯碼,輸出譯碼成功標識給明文提取模塊,具體過程是:
[0048]步驟51:若報文譯碼模塊5的FIS-B報文譯碼單元檢測到二級緩存模塊4輸出的是FIS-B報文標志信號時,從FIS-B報文二級緩存單元41中讀取的一條完整的FIS-B報文,即根據FIS-B報文二級緩存單元41存儲的報文數量,按FIS-B報文二級緩存單元41中指示報文條數的地址進行累加,讀取FIS-B報文;
[0049]步驟52 ;從FIS-B報文二級緩存單元41中讀取的FIS-B報文進行譯碼;如果譯碼成功,FIS-B報文譯碼單元51輸出FIS-B報文譯碼成功標志,如果譯碼失敗,返回步驟51,讀取下一條報文進行譯碼;
[0050]步驟53、若報文譯碼模塊5的ADS-B LONG報文譯碼單元檢測到,二級緩存模塊4輸出的ADS-B報文標志信號時,從ADS-B報文二級緩存單元42中讀取的一條完整的ADS-B報文,即根據ADS-B LONG報文長度讀取ADS-B報文二級緩存單元42中的ADS-B報文,進行解碼,若解碼成功,則ADS-B LONG報文譯碼單元輸出ADS-B LONG報文譯碼成功標志;
[0051]步驟54:若報文譯碼模塊5的ADS-B BASIC報文譯碼單元檢測到,二級緩存模塊4輸出的ADS-B報文標志信號時,從ADS-B報文二級緩存單元42中讀取的一條完整的ADS-B報文,即根據ADS-B BASIC報文長度讀取ADS-B報文二級緩存單元42中的ADS-B報文,進行解碼,若解碼成功,則ADS-B BASIC報文譯碼單元輸出ADS-B BASIC報文譯碼成功標志。
[0052]進一步的,所述明文提取模塊具體工作過程包括;
[0053]明文提取模塊中的ADS-B明文提取單元,根據ADS-B LONG報文譯碼成功標志,獲得ADS-BL0NG報文明文,ADS-B報文明文加上ADS-B LONG同步頭標志存入ADS-B明文提取
單元;
[0054]明文提取模塊中的ADS-B明文提取單元,根據ADS-B BASIC報文譯碼成功標志,獲得ADS-B BASIC報文明文,ADS-B報文明文加上ADS-B BASIC同步頭標志存入ADS-B明文
提取單元。
[0055]綜上所述,由于采用了上述技術方案,本發(fā)明的有益效果是:
[0056]1、針對系統(tǒng)容量設置的問題,通過設置兩級大容量的緩沖區(qū)解決,技術方案中采用接收報文存儲模塊和二級緩存模塊共同解決。接收報文存儲模塊,用于根據FIS-B類型和ADS-B類型各自開辟兩個大容量的緩沖區(qū),通過地址最高位來輪流使用兩個大容量的緩沖區(qū),通過對接收的未知類型的報文連續(xù)存儲兩次,將未知類型分為FIS-B類型和ADS-B類型,便于后續(xù)并行操作,通過利用地址最高位來輪流使用緩沖區(qū),延伸了緩沖區(qū)容量的同時,避免了緩沖區(qū)開辟過大的問題。二級緩存模塊,用于根據完整報文到達的時間,結合報文的起始地址,從第一級緩沖區(qū)中讀取報文存入二級緩沖區(qū),使有效報文與未知報文隔離,使得報文同步頭檢測和報文譯碼得以并行處理。釋放(通過讀出第一級緩沖區(qū)中的報文,達到釋放容量的目的)了緩沖區(qū)容量的同時,將串行處理流程轉化為并行處理,使系統(tǒng)容量和工作效率得到大幅度的提高。
[0057]2、針對系統(tǒng)實時性處理問題,技術方案中采用接收報文存儲模塊,同步頭檢測模塊,時間等待模塊,二級緩存模塊,報文譯碼模塊等多模塊相互銜接,并行處理方法來解決。接收報文存儲模塊,用于根據FIS-B類型和ADS-B類型各自開辟兩個大容量的緩沖區(qū),將未知類型分為FIS-B類型和ADS-B類型,便于后端并行進行不同類型的同步頭檢測;同步頭檢測模塊,并行對FIS-B類型和ADS-B類型進行檢測,減少了先檢測FIS-B類型再檢測ADS-B類型的時間;時間等待模塊,針對FIS-B類型和ADS-B類型設置不同的等待時間,避免了系統(tǒng)長時間的等待;二級緩存模塊,將有效的FIS-B類型和ADS-B類型分別存儲,便于后續(xù)并行進行不同類型的報文譯碼;報文譯碼模塊,通過對確定的FIS-B和ADS-B類型的報文同步進行必要的FIS-B、ADS-B LONG和ADS-B BASIC類型的報文譯碼運算,減少了先后對不同類型進行譯碼等待的時間。各模塊各自工作和聯合工作都大大提高了系統(tǒng)的實時處理能力。
[0058]3、針對系統(tǒng)長時間工作在某一個進程,導致系統(tǒng)運行效率低的問題,技術方案中采用接收報文存儲模塊,同步頭檢測模塊,時間等待模塊,二級緩存模塊,報文譯碼模塊等多模塊的并行處理方法來解決。通過并行的接收存儲,采用并行的同步頭檢測,通過同步頭檢測的結果,并行的設置時間等待,并行進行二級緩存,通過二級緩存的結果,并行的進行報文譯碼,多個進行的并行設置和處理,使系統(tǒng)能同時工作在多個進程上,大大提高了系統(tǒng)的運行效率。一條報文在進行后續(xù)處理的同時,對下一條報文進行處理。相當于對一條流水線進行了多進程的拆分。對一條報文來說是串行,對多條來說是并行。
[0059]4、一條FIS-B報文的長度為4448bit,接收時間為4.2ms ;處理一條報文的時間為
4.59ms ;如果是串行操作方式,處理一條報文的時間為兩者之和為8.79ms ;采用系統(tǒng)所說的方法,一邊接受一邊處理,將接收時間包含在處理時間里,只用4.59ms的時間完成一條報文的接收和處理;開辟的RAMl和RAM2為8192bit,可以容納3條多的報文,但是當第二條完整報文到達的時候,第一條報文已經被讀出到RAM5處理,騰出了空間可以繼續(xù)接收,一級緩存保證了有空間可以接收報文,同時又不用開辟過大的緩沖區(qū);二級緩存讀出一級緩存的數據同時用于后續(xù)處理,相當于空間的延續(xù),兩級共同完成容量的解決問題;
[0060]一條ADS-B報文的長度為416bit,RAM3可以容納20條報文,兩個共40條報文;接收一條ADS-B的時間為400us,處理一條的時間為700us,若串行處理需要1.1ms,用系統(tǒng)方法只需700us,當一次性到達40條的時候,已經處理了 400*40/700=23條,RAM3已經騰空,可以接收后續(xù)報文,同FIS-B原理。。
[0061]5、FIFO的特征在于,沒有數據存儲在FIFO中時,會輸出空標志,數據存儲滿時會輸出滿標志,一旦存儲的數據被讀出,數據就不再存在。也不會存在接收報文存儲模塊數據丟失情況。FIFO滿時,接收報文存儲模塊不會發(fā)送數據給FIFO,非滿時,接收報文存儲模塊可以發(fā)送數據給FIFO。
【專利附圖】
【附圖說明】
[0062]本發(fā)明將通過例子并參照附圖的方式說明,其中:
[0063]圖1為本發(fā)明方法實施例一的流程示意圖;
[0064]圖2為本發(fā)明方法實施例二的流程示意圖;
[0065]圖3 (a)、圖3 (b)為圖2所示實施例二步驟202的流程示意圖;
[0066]圖4 (a)、圖4 (b)、圖4 (C)為圖2所示實施例二步驟205的流程示意圖;
[0067]圖5為本發(fā)明裝置實施例一的結構示意圖;
[0068]圖6為本發(fā)明裝置實施例二的結構示意圖?!揪唧w實施方式】
[0069]本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。
[0070]本說明書(包括任何附加權利要求、摘要和附圖)中公開的任一特征,除非特別敘述,均可被其他等效或具有類似目的的替代特征加以替換。即,除非特別敘述,每個特征只是一系列等效或類似特征中的一個例子而已。
[0071]根據譯碼成功標志,獲得報文的具體類型和報文的明文。根據FIS-B報文譯碼成功標志,獲得FIS-B報文,根據ADS-B LONG報文譯碼成功標志,獲得ADS-B LONG報文,根據ADS-BBASIC報文譯碼成功標志,獲得ADS-B BASIC報文。
[0072]1、接收報文存儲模塊中兩個大容量緩沖區(qū)(FIS-B報文接收存儲單元和ADS-B報文接收存儲單元)的輪流乒乓操作。根據FIS-B類型和ADS-B類型各自開辟兩個大容量的緩沖區(qū),即RAMl和RAM2用來存儲FIS-B報文,RAM3和RAM4用來存儲ADS-B報文。用地址的最高位來區(qū)分報文到達的順序,先到達的報文存在地址最高位為O的RAMl和RAM3中,當RAMl和RAM3存儲滿以后,地址的最高位將變?yōu)?,此時到達的報文存在RAM2和RAM4中,當RAM2和RAM4存儲滿以后,地址的最高位將變?yōu)?,循環(huán)存儲,兩個大容量緩沖區(qū)的輪流乒乓操作,避免開辟過多多大的緩沖區(qū),大大節(jié)約了系統(tǒng)的資源。
[0073]2、接收報文存儲模塊,同步頭檢測模塊,時間等待模塊,二級緩存模塊,報文譯碼模塊等多模塊的相互銜接和并行處理機制。通過接收報文存儲模塊,將未知報文分為FIS-B類型和ADS-B類型,將后續(xù)一系列的串行工作方式轉換為并行工作方式;同步頭檢測模塊,并行檢測FIS-B類型和ADS-B類型的同步頭,通過輸出標志來設置時間等待模塊的等待時間,將長時間的FIS-B類型等待時間分開為FIS-B類型等待時間和ADS-B類型等待時間,縮短了系統(tǒng)的長時間等待;二級緩存模塊,將有效的已知類型的報文和接收的未知類型的報文區(qū)分開,釋放一級緩存的同時進行后續(xù)報文的譯碼工作,將接收和處理獨立分開進行;報文譯碼模塊,根據報文的ADS-B類型同步進行ADS-B LONG和ADS-B BASIC類型的報文譯碼運算,縮短了先后進行兩種報文譯碼的時間。多模塊的合作處理和并行處理機制大大提高了系統(tǒng)的運行效率。
[0074]3、FIS-B報文同步頭檢測單元是第一 FIFO。ADS-B報文同步頭檢測單元是第二FIFO。
[0075]4、FIS-B報文接收存儲單元包括第一緩存器RAMl和第二緩存器RAM2。FIS-B報文接收存儲單元包括第三緩存器RAM3和第四緩存器RAM4。FIS-B報文二級緩存單元是通過第五緩存器RAM5實現。ADS-B報文二級緩存單元是通過第六緩存器RAM5實現。FIS-B明文提取單元是通過第七RAM實現。ADS-B LONG明文提取單元、ADS-B BASIC明文提取單元都是通過第八RAM8實現。第一緩存器RAMl、第二緩存器RAM2、第三緩存器RAM3、第四緩存器RAM4的空間地址大于第五緩存器RAM5、第六緩存器RAM6。第七緩存器RAM7、第八緩存器RAM8存儲空間大于第五緩存器RAM5、第六緩存器RAM6。
[0076]6、ADS-B BASIC報文長度為多少30*8個字節(jié)。
[0077]7、ADS-B LONG報文長度多少48*8個字節(jié)。
[0078]8、本裝置包括:接收報文存儲模塊,用于根據FIS-B類型和ADS-B類型各自開辟兩個大容量的緩沖區(qū),即RAMl和RAM2用來存儲FIS-B報文,RAM3和RAM4用來存儲ADS-B報文;同步頭檢測模塊,用于根據讀取緩沖區(qū)RAMl或RAM2或RAM3或RAM4中存儲的數據,同步進行FIS-B和ADS-B類型的報文同步頭檢測,檢測到FIS-B報文同步頭,記下FIS-B報文起始的地址,存入FIFOl,檢測到ADS-B報文同步頭,記下ADS-B報文起始的地址,存入FIF02;時間等待模塊,用于根據報文的FIS-B或ADS-B類型計算等待時間,確保一條完整的報文接收并存儲到緩沖區(qū)RAMl或RAM2或RAM3或RAM4中;二級緩存模塊,根據完整報文到達的時間,結合FIFOl、FIF02中報文的起始地址,從RAMl或RAM2或RAM3或RAM4中讀取報文存入RAM5和RAM6 ;報文譯碼模塊,用于根據從RAM5和RAM6中讀取的一條完整的報文進行FIS-B, ADS-B LONG和ADS-B BASIC類型的報文進行譯碼運算,輸出譯碼成功標志;明文提取模塊,用于根據譯碼成功標志,獲得報文的具體類型和報文的明文。
[0079]優(yōu)選實施例一:
[0080]如圖1所示,包括以下步驟:
[0081]步驟101、根據可能出現的報文數量和報文類型,開辟足夠大的緩沖區(qū)接收并存儲報文;
[0082]步驟102、根據存儲的報文同步進行幾種報文類型的同步頭檢測并存儲其報文起始地址;
[0083]步驟103、根據檢測到報文的同步頭標志,等待一條完整報文到達的時間;
[0084]步驟104、根據完整報文到達的時間,結合報文起始地址,讀取報文存入新開辟的緩沖區(qū);
[0085]步驟105、根據從新開辟的緩沖區(qū)讀取一條完整的報文并進行各類型的報文譯碼;
[0086]步驟106、根據譯碼成功標志,判斷報文具體類型并提取明文。
[0087]優(yōu)選實施例二:如圖2所示,包括以下步驟:
[0088]步驟201、根據FIS-B類型和ADS-B類型各自開辟兩個大容量的緩沖區(qū),即RAMl和RAM2用來存儲FIS-B報文,RAM3和RAM4用來存儲ADS-B報文。考慮到系統(tǒng)可能會連續(xù)接收報文,在不清楚報文類型和報文數量的情況下,需要將緩沖區(qū)開辟的足夠大,以確保數據不會丟失,因為FIS-B類型和ADS-B類型報文同步頭不相同,且ADS-B LONG和ADS-B BASIC的同步頭相同,所以將ADS-B LONG和ADS-B BASIC存在相同的緩沖區(qū)中,S卩RAMl、RAM2用來存儲FIS-B報文,RAM3、RAM4用來存儲ADS-B報文。
[0089]步驟202、根據讀取緩沖區(qū)RAM1/RAM2和RAM3/RAM4中存儲的數據,同步進行FIS-B和ADS-B類型的報文同步頭檢測并存儲其報文起始地址。FIS-B報文和ADS-B報文的同步頭不同,為了提高系統(tǒng)處理的實時性,同時對RAM1/RAM2和RAM3/RAM4中的報文進行檢測。
[0090]具體地,圖3 (a)、圖3 (b)為圖2所示實施例二步驟202的流程示意圖,如圖3所示,根據讀取緩沖區(qū)RAM1/RAM2和RAM3/RAM4中存儲的數據,同步進行FIS-B和ADS-B類型的報文同步頭檢測的過程如下:
[0091]步驟2021、讀取緩沖區(qū)RAMl或RAM2中的數據,根據地址累加,按順序進行讀取36位數據進行同步頭檢測,地址最高位地址為O時,讀取RAMl中的數據,地址最高位地址為I時,讀取RAM2中的數據;
[0092]步驟2022、對FIS-B報文進行同步頭檢測,將讀取的36位數據與標準FIS-B報文同步頭進行比對,相同,則判定為發(fā)現FIS-B報文同步頭,不同,則判定為未發(fā)現同步頭,同時返回步驟2021,讀取數據進行下一輪同步頭的檢測;
[0093]步驟2023、根據步驟2022的判定結果,輸出FIS-B報文同步頭標志,并將FIS-B報文起始地址存儲在FIFOl中;
[0094]步驟2024、讀取緩沖區(qū)RAM3或RAM4中的數據,根據地址累加,按順序進行讀取36位數據進行同步頭檢測,地址最高位地址為O時,讀取RAM3中的數據,地址最高位地址為I時,讀取RAM4中的數據;
[0095]步驟2025、對ADS-B報文進行同步頭檢測,將讀取的36位數據與標準ADS-B報文同步頭進行比對,相同,則判定為發(fā)現ADS-B報文同步頭,不同,則判定為未發(fā)現同步頭,同時返回步驟2024,讀取數據進行下一輪同步頭的檢測;
[0096]步驟2026、根據步驟2025的判定結果,輸出ADS-B報文同步頭標志并將ADS-B報文起始地址存儲在FIF02中。
[0097]步驟203、檢測到報文同步頭標志,根據報文的FIS-B或ADS-B類型計算等待時間,確保一條完整的報文接收并存儲到緩沖區(qū)RAMl或RAM2或RAM3或RAM4中。
[0098]步驟204、根據完整報文到達的時間,結合FIF01、FIF02中報文的起始地址,從RAMl或RAM2和RAM3或RAM4中讀取報文存入RAM5和RAM6。
[0099]步驟205、根據從RAM5和RAM6中讀取的一條完整的報文進行FIS-B、ADS-B LONG和ADS-BBASIC類型的報文進行譯碼。
[0100]具體地,圖4 (a)、圖4 (b)、圖4 (C)為圖2所示實施例二步驟205的流程示意圖,如圖4所示,根據從RAM5和RAM6中讀取的一條完整的報文進行FIS-B、ADS-B LONG和ADS-BBASIC類型的報文進行譯碼的過程如下:
[0101]步驟2051、從RAM5中讀取的一條完整的FIS-B報文,即根據RAM5中存儲的報文數量,按RAM5中指示報文條數的地址進行累加,讀取FIS-B報文;
[0102]步驟2052、對RAM5中讀取的FIS-B報文進行譯碼;
[0103]步驟2053、根據譯碼結果,輸出標志,如果譯碼成功,輸出FIS-B報文譯碼成功標志,如果譯碼失敗,返回步驟2051,讀取下一條報文進行譯碼;
[0104]步驟2054、從RAM6中讀取的一條完整的ADS-B LONG報文,即根據RAM6中存儲的報文數量,按RAM6中指示報文條數的地址進行累加,讀取ADS-B LONG報文;
[0105]步驟2055、對RAM6中讀取的ADS-B LONG報文進行譯碼;
[0106]步驟2056、根據譯碼結果,輸出標志,如果譯碼成功,輸出ADS-B LONG報文譯碼成功標志,如果譯碼失敗,返回步驟2054,讀取下一條報文進行譯碼;
[0107]步驟2057、從RAM6中讀取的一條完整的ADS-B BASIC報文,即根據RAM6中存儲的報文數量,按RAM6中指示報文條數的地址進行累加,讀取ADS-B BASIC報文;
[0108]步驟2055、對RAM6中讀取ADS-B BASIC報文進行譯碼;
[0109]步驟2056、根據譯碼結果,輸出標志,如果譯碼成功,輸出ADS-B BASIC報文譯碼成功標志,如果譯碼失敗,返回步驟2057,讀取下一條報文進行譯碼。
[0110]步驟206、根據譯碼成功標志,獲得報文的具體類型和報文的明文。根據FIS-B報文譯碼成功標志,獲得FIS-B報文,根據ADS-B LONG報文譯碼成功標志,獲得ADS-B LONG報文,根據ADS-B BASIC報文譯碼成功標志,獲得ADS-B BASIC報文。[0111]圖5為本發(fā)明一種大容量多類型報文實時處理方法實施例一的結構示意圖,該實施例的一種大容量多類型報文實時處理方法可用于實現本發(fā)明上述圖1或圖2所示實施的一種大容量多類型報文實時處理方法流程。如圖5所示,包括:接收報文存儲模塊51、同步頭檢測模塊52、時間等待模塊53、二級緩存模塊54、報文譯碼模塊55和明文提取模塊56。
[0112]其中,接收報文存儲模塊51用于根據FIS-B類型和ADS-B類型各自開辟兩個大容量的緩沖區(qū),即RAMl和RAM2用來存儲FIS-B報文,RAM3和RAM4用來存儲ADS-B報文;同步頭檢測模塊52統(tǒng)用于根據讀取緩沖區(qū)RAMl或RAM2或RAM3或RAM4中存儲的數據,同步進行FIS-B和ADS-B類型的報文同步頭檢測,檢測到FIS-B報文同步頭,記下FIS-B報文起始的地址,存入FIFOl,檢測到ADS-B報文同步頭,記下ADS-B報文起始的地址,存入FIF02 ;時間等待模塊53用于根據報文的FIS-B或ADS-B類型計算等待時間,確保一條完整的報文接收并存儲到緩沖區(qū)RAMl或RAM2或RAM3或RAM4中;二級緩存模塊54根據完整報文到達的時間,結合FIFOl、FIF02中報文的起始地址,從RAMl或RAM2或RAM3或RAM4中讀取報文存入RAM5和RAM6 ;報文譯碼模塊55用于根據從RAM5和RAM6中讀取的一條完整的報文進行FIS-B或ADS-B LONG或ADS-B SHORT類型的報文進行譯碼運算,輸出譯碼成功標志;明文提取模塊56用于根據譯碼成功標志,獲得報文的具體類型和報文的明文。
[0113]本發(fā)明提供了一種大容量多類型報文實時處理方法,開辟幾級大容量緩沖區(qū),采用各類型報文并行處理的方法,在確保報文不丟失的情況下,最大限度對報文進行實時處理,大大提高了系統(tǒng)的工作效率。
[0114]圖6為本發(fā)明一種大容量多類型報文實時處理的方法實施例二的結構示意圖,該實施例的一種大容量多類型報文實時處理的方法可用于實現本發(fā)明上述圖1或圖2所示實施例的一種大容量多類型報文實時處理的方法流程。如圖6所示,包括:接收報文存儲模塊51、同步頭檢測模塊52、時間等待模塊53、二級緩存模塊54、報文譯碼模塊55和明文提取模塊56。
[0115]在上述圖5所示實施例的基礎上,本實施例中,接收報文存儲模塊51進一步包括:FIS-B報文接收存儲單元511和ADS-B報文接收存儲單元512。
[0116]具體地,FIS-B報文接收存儲單元511。設定RAMl、RAM2的數據深度為8192,數據輸入輸出寬度均為lbit,輸入輸出地址寬度為15位,用地址的最高位來區(qū)分報文到達的順序,先到達的報文存在地址最高位為O的RAMl中,當RAMl存儲滿以后,地址的最高位將變?yōu)镮,此時到達的FIS-B報文存在RAM2中,當RAM2存儲滿以后,地址的最高位將變?yōu)?,循環(huán)存儲;
[0117]ADS-B報文接收存儲單元512。設定RAM3、RAM4的數據深度為8192,數據輸入輸出寬度均為lbit,輸入輸出地址寬度為15位,用地址的最高位來區(qū)分報文到達的順序,先到達的報文存在地址最高位為O的RAM3中,當RAM3存儲滿以后,地址的最高位將變?yōu)?,此時到達的ADS-B報文存在RAM4中,當RAM4存儲滿以后,地址的最高位將變?yōu)?,循環(huán)存儲;
[0118]RAM的特征是數據將一直保存在對應的地址區(qū)域,直到重新對地址進行數據的寫操作;
[0119]值得注意的是,此時RAM1、RAM2、RAM3、RAM4中存儲的報文相同,相當于將相同的報文當成FIS-B類型和ADS-B類型各自存儲了 一次。[0120]在上述圖5所示實施例的基礎上,本實施例中,同步頭檢測模塊52進一步包括:FIS-B報文同步頭檢測單元521和ADS-B報文同步頭檢測單元522。
[0121]具體地,FIS-B報文同步頭檢測單元521。讀取緩沖區(qū)RAMl或RAM2中的數據,按位與36位標準FIS-B報文同步頭進行比對檢測,一旦檢測到FIS-B報文同步頭,記下此時讀取到的RAMl或RAM2的地址,這個地址標志著后續(xù)報文是FIS-B報文,這個地址加I即為后續(xù)FIS-B報文的首地址,將這個地址存入FIF01,FIFOl數據深度為16,數據輸入輸出寬度均為15bit,輸入輸出地址寬度為4位,可以存儲16條報文的起始地址;
[0122]ADS-B報文同步頭檢測單元522。讀取緩沖區(qū)RAM3或RAM4中的數據,按位與36位標準ADS-B報文同步頭進行比對檢測,一旦檢測到ADS-B報文同步頭,記下此時讀取到的RAM3或RAM4的地址,這個地址標志著后續(xù)報文是ADS-B報文,這個地址加I即為后續(xù)ADS-B報文的首地址,將這個地址存入FIF02,FIF02數據深度為16,數據輸入輸出寬度均為15bit,輸入輸出地址寬度為4位,可以存儲16條報文的起始地址;
[0123]FIFO的特征在于,沒有數據存儲在FIFO中時,會輸出空標志,數據存儲滿時會輸出滿標志,一旦存儲的數據被讀出,數據就不再存在。
[0124]在上述圖5所不實施例的基礎上,本實施例中,時間等待I旲塊53進一步包括:FIS-B報文等待單元531和ADS-B報文等待單元532。
[0125]具體地,FIS-B報文等待單元531。一旦獲得FIS-B報文同步頭標志,計算FIS-B報文的等待時間,FIS-B報文長度為552字節(jié),每個字節(jié)包含8個比特位,每個比特位的時間是960ns,即FIS-B報文等待時間約為552*8*960=4239360ns,設定等待時間為4300000ns ;
[0126]ADS-B報文等待單元532。一旦獲得ADS-B報文同步頭標志,計算ADS-B報文的等待時間,ADS-B LONG報文的長度為48個字節(jié),ADS-B BASIC報文的長度為30個字節(jié),在無法明確ADS-B報文的具體類型的時候,按照ADS-B LONG報文來估算時間,即ADS-B報文長度為48字節(jié),每個字節(jié)包含8個比特位,每個比特位的時間是960ns,即ADS-B報文等待時間約為48*8*960=36840ns,設定等待時間為40000ns。
[0127]在上述圖5所示實施例的基礎上,本實施例中,二級緩存模塊54進一步包括:FIS-B報文二級緩存單元541和ADS-B報文二級緩存單元542。
[0128]具體地,FIS-B報文二級緩存單元541。設定的FIS-B報文等待時間到達,查看FIFOl的空標志,如果空標志為1,表示沒有報文發(fā)現,如果空標志為0,表示FIFOl中存儲有FIS-B報文的首地址,同時也標志著RAMl或RAM2中有完整的FIS-B報文,結合從FIFOl中讀出報文的首地址,從RAMl或RAM2中讀取552字節(jié)的FIS-B報文存入RAM5,RAM5的輸入輸出地址寬度為11位,數據輸入寬度為lbit,數據輸出寬度為8bit,將11位地址的高2位用來指示報文的數量,低9位用來指示報文的內容。存儲完一條完整的FIS-B報文后發(fā)出標志信號,指示可讀取FIS-B報文進行譯碼;
[0129]ADS-B報文二級緩存單元542。設定的ADS-B報文等待時間到達,查看FIF02的空標志,如果空標志為1,表示沒有報文發(fā)現,如果空標志為0,表示FIF02中存儲有ADS-B報文的首地址,同時也標志著RAM3或RAM4中有完整的ADS-B報文,結合從FIF02中讀出報文的首地址,從RAM3或RAM4中讀取48字節(jié)的ADS-B報文存入RAM6。RAM6的輸入輸出地址寬度為11位,數據輸入寬度為lbit,數據輸出寬度為8bit,將11位地址的高5位用來指示報文的數量,低6位用來指示報文的內容。存儲完一條完整的ADS-B報文后發(fā)出標志信號,指示可讀取ADS-B報文進行譯碼。
[0130]在上述圖5所示實施例的基礎上,本實施例中,報文譯碼模塊55進一步包括:FIS-B報文譯碼單元551、ADS-B LONG報文譯碼單元552和ADS-B BASIC報文譯碼單元553。
[0131]具體地,FIS-B報文譯碼單元551。檢測到二級緩存模塊發(fā)出的FIS-B報文標志信號,從RAM5中讀取FIS-B報文進行譯碼,譯碼成功后,輸出FIS-B報文譯碼成功標志;
[0132]ADS-B LONG報文譯碼單元552。檢測到二級緩存模塊發(fā)出的ADS-B報文標志信號,因為此時不能區(qū)分ADS-B報文是ADS-B LONG報文還是ADS-B BASIC報文,需要讀取報文進行ADS-BL0NG報文譯碼和ADS-B BASIC報文譯碼,按ADS-B LONG報文長度48字節(jié)讀取報文進行ADS-BL0NG報文譯碼,譯碼成功后,輸出ADS-B LONG報文譯碼成功標志;
[0133]ADS-B BASIC報文譯碼單元553。按ADS-B BASIC報文長度30字節(jié)讀取報文進行ADS-BBASIC報文譯碼,譯碼成功后,輸出ADS-B BASIC報文譯碼成功標志。
[0134]在上述圖5所示實施例的基礎上,本實施例中,報文譯碼模塊56進一步包括:FIS-B明文提取單元561、ADS-B LONG明文提取單元562和ADS-B BASIC明文提取單元563。
[0135]具體地,FIS-B明文提取單元561。檢測到FIS-B報文譯碼成功標志,讀取FIS-B明文,加上內部約定的FIS-B報文同步頭標志,存儲到RAM7中,RAM7的輸入輸出地址寬度為11位,數據輸入寬度為lbit,數據輸出寬度為8bit,將11位地址的高2位用來指示報文的數量,低9位用來指示報文的內容;
[0136]ADS-B LONG明文提取單元562。檢測到ADS-B LONG報文譯碼成功標志,讀取ADS-BLONG明文,加上內部約定的ADS-B報文同步頭標志,存儲到RAM8中,RAM8的輸入輸出地址寬度為11位,數據輸入寬度為lbit,數據輸出寬度為8bit,將11位地址的高5位用來指示報文的數量,低6位用來指示報文的內容;
[0137]ADS-B BASIC明文提取單元563。檢測到ADS-B BASIC報文譯碼成功標志,讀取ADS-BBASIC明文,加上內部約定的ADS-B報文同步頭標志,存儲到RAM8中,RAM8的輸入輸出地址寬度為11位,數據輸入寬度為lbit,數據輸出寬度為8bit,將11位地址的高5位用來指示報文的數量,低6位用來指示報文的內容。
[0138]本發(fā)明并不局限于前述的【具體實施方式】。本發(fā)明擴展到任何在本說明書中披露的新特征或任何新的組合,以及披露的任一新的方法或過程的步驟或任何新的組合。
【權利要求】
1.一種多類型報文實時處理方法,其特征在于包括: 步驟1:接收報文存儲模塊I設置Fis-B報文接收存儲單元和ADS-B報文存儲單元,所述FIS-B報文接收存儲單元、ADS-B報文存儲單元同時接收并存儲來自外部輸入的報文;步驟2:同步頭檢測模塊讀取接收FIS-B報文接收存儲單元和ADS-B報文存儲單元中存儲的數據報文,進行FIS-B類型同步頭和ADS-B類型同步頭檢測,若FIS-B報文接收存儲單元有FIS-B類型數據報文,則將FIS-B類型數據報文起始地址存入FIS-B報文同步頭檢測單元,并輸出FIS-B類型同步頭標志;同時若ADS-B報文存儲單元有FIS-B類型數據報文,則將ADS-B類型數據報文起始地址存入ADS-B報文同步頭檢測單元,并輸出ADS-B類型冋步頭標志;
步驟3:時間等待模塊檢測到FIS-B同步頭標志和ADS-B類型同步頭標志,根據對應FIS-B類型報文等待時間和ADS-B類型報文等待時間,確保完整的FIS-B類型或ADS-B類型數據報文存儲到對應的FIS-B報文接收存儲單元或ADS-B報文存儲單元; 步驟4:二級緩存模塊分別設置FIS-B報文二級緩存單元、ADS-B報文二級緩存單元,FIS-B報文二級緩存單元用于檢測FIS-B報文同步頭檢測單元的空標志位,若空標志位為O,則表示FIS-B報文同步頭檢測單元存儲有FIS-B類型數據報文起始地址;FIS-B報文二級緩存單元根據FIS-B類型數據報文起始地址、FIS-B類型報文等待時間,從FIS-B接收報文存儲模塊讀取FIS-B報文,并將其存入FIS-B報文二級緩沖單元中,存儲完一條完整的FIS-B報文后輸出FIS-B報文標志信號;ADS-B報文二級緩存單元用于檢測ADS-B報文同步頭檢測單元的空標志位,若空標志位為O,則表示ADS-B報文同步頭檢測單元存儲有ADS-B類型數據報文起始地址;ADS-B報文二級緩存單元根據ADS-B類型數據報文起始地址、ADS-B類型報文等待時間,從ADS-B接收報文存儲模塊讀取ADS-B報文,并將其存入ADS-B報文二級緩沖單元中,存儲完一條完整的ADS-B報文后輸出ADS-B報文標志信號; 步驟5:報文譯碼模塊讀取二級緩存模塊輸出的FIS-B報文以及ADS-B報文,并進行對應類型的報文譯碼,輸出譯碼成功標識給明文提取模塊; 步驟6、明文提取模塊根據譯碼成功標志,獲得報文的具體類型和報文的明文。
2.根據權利要求1所述的一種多類型報文實時處理方法,其特征在于所述步驟I中FIS-B報文接收存儲單元、ADS-B報文接收存儲單元存儲數據相同,所述FIS-B報文接收存儲單元包括第一緩存器RAMl和第二緩存器RAM2,ADS-B報文接收存儲單元包括第三緩存器RAM3和第四緩存器RAM4,所述第一緩存器RAMl和第二緩存器RAM2是乒乓操作,所述第三緩存器RAM3和第四緩存器RAM4是乒乓操作,所述第一緩存器RAM1、第二緩存器RAM2、第三緩存器RAM3、第四緩存器RAM4數據深度為2n,則FIS-B報文接收存儲單元輸入輸出地址寬度為(n+1)位,FIS-B報文接收存儲單元用地址最高位來區(qū)分報文達到的順序,先到達的報文存在地址最高位為O的第一緩存器RAMl中,當第一緩存器RAMl存滿后,FIS-B報文接收存儲單元地址最高位將變?yōu)?,此時到達的報文存在第二緩存器RAM2中,當第一緩存器RAM2存滿后,FIS-B報文接收存儲單元地址最高位變?yōu)镺,隨后達到的報文存在第一緩存器RAMl中,循環(huán)存儲;ADS-B報文接收存儲單元用地址最高位來區(qū)分報文達到的順序,先到達的報文存在地址最高位為O的第三緩存器RAM3中,當第三緩存器RAM3存滿后,ADS-B報文接收存儲單元地址最高位將變?yōu)?,此時到達的報文存在第四緩存器RAM4中,當第四緩存器RAM4存滿后,ADS-B報文接收存儲單元地址最高位將變?yōu)镺,隨后達到的報文存在第三緩存器RAM3中,循環(huán)存儲;所述FIS-B類型等待時間為FIS-B報文長度Ml個字節(jié),每個比特位傳輸時間為K1,則FIS-B類型等待時間為M1*8*K1 ;ADS-B類型等待時間為FIS-B報文長度M2個字節(jié),每個比特位傳輸時間為K2,則ADS-B類型等待時間為M2*8*K2,其中550<Μ1<600;40<Μ2<50ο
3.根據權利要求2所述的一種多類型報文實時處理方法,其特征在于所述步驟2中同步頭檢測模塊讀取接收報文存儲模塊中緩沖區(qū)存儲的報文,進行FIS-B類型報文和ADS-B類型報文同步頭檢測,具體步驟包括: 步驟21:同步頭檢測模塊讀取FIS-B報文接收存儲單元中第一緩存器RAMl數據報文與第二緩存器RAM2中的數據報文,按順序讀取FIS-B報文接收存儲單元I中N位數據進行同步頭檢測,FIS-B報文接收存儲單元地址最高位地址為O時,讀取第一緩存器RAMl中的數據,FIS-B報文接收存儲單元地址最高位地址為I時,讀取第二緩存器RAM2中的數據;同時,同步頭檢測模塊讀取ADS-B報文接收存儲單元中第三緩存器RAM3或第四緩沖器RAM4中的數據報文,按順序進行讀取N位數據進行同步頭檢測,ADS-B報文接收存儲單元地址最高位地址為O時,讀取第三緩存器RAM3中的數據,ADS-B報文接收存儲單元地址最高位地址為I時,讀取第四緩存器RAM4中的數據; 步驟22:當同步頭檢測模塊對FIS-B報文進行同步頭檢測,讀取FIS-B報文接收存儲單元中FIS-B報文的前N位數據與標準FIS-B報文同步頭相同時,則判定為出現FIS-B報文,FIS-B報文同步頭檢測單元記錄此時FIS-B報文對應的FIS-B報文接收存儲單元的地址,并輸出FIS-B報文同步頭 標志;否則,為未出現FIS-B報文,同時返回步驟21 ; 步驟23:當同步頭檢測模塊對ADS-B報文進行同步頭檢測,讀取ADS-B報文接收存儲單元中ADS-B報文的前N位數據與標準ADS-B報文同步頭相同時,則判定為出現ADS-B報文,ADS-B報文同步頭檢測單元記錄此時ADS-B報文對應的ADS-B報文接收存儲單元的地址,并輸出ADS-B報文同步頭標志;否則,為未出現ADS-B報文,同時返回步驟。
4.根據權利要求2所述的一種多類型報文實時處理方法,其特征在于所述步驟5中根據報文譯碼模塊讀取二級緩存模塊輸出的報文并進行對應類型的報文譯碼,輸出譯碼成功標識給明文提取模塊,具體過程是: 步驟51:若報文譯碼模塊的FIS-B報文譯碼單元檢測到二級緩存模塊輸出的是FIS-B報文標志信號時,從FIS-B報文二級緩存單元中讀取的一條完整的FIS-B報文,即根據FIS-B報文二級緩存單元存儲的報文數量,按FIS-B報文二級緩存單元41中指示報文條數的地址進行累加,讀取FIS-B報文; 步驟52 ;從FIS-B報文二級緩存單元中讀取的FIS-B報文進行譯碼;如果譯碼成功,FIS-B報文譯碼單元輸出FIS-B報文譯碼成功標志,如果譯碼失敗,返回步驟51,讀取下一條報文進行譯碼; 步驟53、若報文譯碼模塊的ADS-B LONG報文譯碼單元檢測到,二級緩存模塊4輸出的ADS-B報文標志信號時,從ADS-B報文二級緩存單元中讀取的一條完整的ADS-B報文,即根據ADS-B LONG報文長度讀取ADS-B報文二級緩存單元42中的ADS-B報文,進行解碼,若解碼成功,則ADS-B LONG報文譯碼單元輸出ADS-B LONG報文譯碼成功標志; 步驟54:若報文譯碼模塊的ADS-B BASIC報文譯碼單元檢測到,二級緩存模塊輸出的ADS-B報文標志信號時,從ADS-B報文二級緩存單元中讀取的一條完整的ADS-B報文,即根據ADS-B BASIC報文長度讀取ADS-B報文二級緩存單元中的ADS-B報文,進行解碼,若解碼成功,則ADS-B BASIC報文譯碼單元輸出ADS-B BASIC報文譯碼成功標志。
5.根據權利要求2所述的一種多類型報文實時處理方法,其特征在于所述步驟6具體步驟包括: 明文提取模塊中的FIS-B明文提取單元,根據FIS-B報文譯碼成功標志,獲得FIS-B報文明文,FIS-B報文明文加上FIS-B同步頭標志存入FIS-B明文提取單元; 明文提取模塊中的ADS-B明文提取單元,根據ADS-B LONG報文譯碼成功標志,獲得FIS-B LONG報文明文,ADS-B報文明文加上ADS-B LONG同步頭標志存入ADS-B明文提取單元; 明文提取模塊中的ADS-B明文提取單元,根據ADS-B BASIC報文譯碼成功標志,獲得ADS-B BASIC報文明文,ADS-B報文明文加上ADS-B BASIC同步頭標志存入ADS-B明文提取單元。
6.一種多類型報文實時處理裝置,其特征在于包括: 接收報文存儲模塊,用于設置FIS-B報文接收存儲單元和ADS-B報文存儲單元,所述FIS-B報文接收存儲單元、ADS-B報文存儲單元同時接收并存儲來自外部輸入的報文; 同步頭檢測模塊,用于讀取接收FIS-B報文接收存儲單元和ADS-B報文存儲單元中存儲的數據報文,進行FIS-B類型同步頭和ADS-B類型同步頭檢測,若FIS-B報文接收存儲單元有FIS-B類型數據報文,則將FIS-B類型數據報文起始地址存入FIS-B報文同步頭檢測單元,并輸出FIS-B類型同步頭標志;同時若ADS-B報文存儲單元有ADS-B類型數據報文,則將ADS-B類型數據報文起始地址存入ADS-B報文同步頭檢測單元,并輸出ADS-B類型同步頭標志; 時間等待模塊,用于根據FIS-B或ADS-B類型報文等待時間,檢測到同步頭檢測模塊輸出的FIS-B同步頭標志和ADS-B類型同步頭標志時,接收FIS-B類型報文和ADS-B類型報文并存儲到對應FIS-B報文接收存儲單元IUADS-B報文存儲單元; 二級緩存模塊,分別設置FIS-B報文二級緩存單元、ADS-B報文二級緩存單元,FIS-B報文二級緩存單元用于檢測FIS-B報文同步頭檢測單元的空標志位,若空標志位為0,則表示FIS-B報文同步頭檢測單元存儲有FIS-B類型數據報文起始地址;FIS-B報文二級緩存單元根據FIS-B類型數據報文起始地址、FIS-B類型報文等待時間,從FIS-B接收報文存儲模塊讀取FIS-B報文,并將其存入FIS-B報文二級緩沖單元中,存儲完一條完整的FIS-B報文后輸出FIS-B報文標志信號;ADS-B報文二級緩存單元用于檢測ADS-B報文同步頭檢測單元的空標志位,若空標志位為0,則表示ADS-B報文同步頭檢測單元存儲有ADS-B類型數據報文起始地址;ADS-B報文二級緩存單元根據ADS-B類型數據報文起始地址、ADS-B類型報文等待時間,從ADS-B接收報文存儲模塊讀取ADS-B報文,并將其存入ADS-B報文二級緩沖單兀中,存儲完一條完整的ADS-B報文后輸出ADS-B報文標志信號; 報文譯碼模塊,報文譯碼模塊讀取二級緩存模塊輸出的FIS-B報文以及ADS-B報文,并進行對應類型的報文譯碼,輸出譯碼成功標識給明文提取模塊; 明文提取模塊,用于根據譯碼成功標志,獲得報文的具體類型和報文的明文。
7.根據權利要求6所述 的一種多類型報文實時處理裝置,其特征在于所述接收報文存儲模塊I包括FIS-B報文接收存儲單元和ADS-B報文接收存儲單元,FIS-B報文接收存儲單元和ADS-B報文接收存儲單元存儲數據相同,所述FIS-B報文接收存儲單元包括第一緩存器RAMl和第二緩存器RAM2,FIS-B報文接收存儲單元包括第三緩存器RAM3和第四緩存器RAM4,所述第一緩存器RAMl和第二緩存器RAM2是乒乓操作,所述第三緩存器RAM3和第四緩存器RAM4是乒乓操作,所述第一緩存器RAM1、第二緩存器RAM2、第三緩存器RAM3、第四緩存器RAM4數據深度為2n,則FIS-B報文接收存儲單元輸入輸出地址寬度為(n+1)位,FIS-B報文接收存儲單元用地址最高位來區(qū)分報文達到的順序,先到達的報文存在地址最高位為O的第一緩存器RAMl中,當第一緩存器RAMl存滿后,FIS-B報文接收存儲單元地址最高位將變?yōu)?,此時到達的報文存在第二緩存器RAM2中,當第一緩存器RAM2存滿后,FIS-B報文接收存儲單元地址最高位變?yōu)镺,隨后達到的報文存在第一緩存器RAMl中,循環(huán)存儲;ADS-B報 文接收存儲單元12用地址最高位來區(qū)分報文達到的順序,先到達的報文存在地址最高位為O的第三緩存器RAM3中,當第三緩存器RAM3存滿后,ADS-B報文接收存儲單元地址最高位將變?yōu)镮,此時到達的報文存在第四緩存器RAM4中,當第四緩存器RAM4存滿后,ADS-B報文接收存儲單元地址最高位將變?yōu)镺,隨后達到的報文存在第三緩存器RAM3中,循環(huán)存儲;所述FIS-B或ADS-B類型等待時間計算過程是:FIS-B類型等待時間為FIS-B報文長度Ml個字節(jié),每個比特位傳輸時間為K1,則FIS-B類型等待時間為M1*8*K1 ;ADS-B類型等待時間為FIS-B報文長度M2個字節(jié),每個比特位傳輸時間為K2,則ADS-B類型等待時間為M2*8*K2。
8.根據權利要求7所述的一種多類型報文實時處理裝置,其特征在于所述同步頭檢測模塊讀取接收報文存儲模塊中緩沖區(qū)存儲的報文,進行FIS-B類型報文和ADS-B類型報文同步頭檢測,具體步驟包括: 步驟21:同步頭檢測模塊讀取FIS-B報文接收存儲單元中第一緩存器RAMl數據報文與第二緩存器RAM2中的數據報文,按順序讀取FIS-B報文接收存儲單元中N位數據進行同步頭檢測,FIS-B報文接收存儲單元地址最高位地址為O時,讀取第一緩存器RAMl中的數據,FIS-B報文接收存儲單元地址最高位地址為I時,讀取第二緩存器RAM2中的數據;同時,同步頭檢測模塊讀取ADS-B報文接收存儲單元中第三緩存器RAM3或第四緩沖器RAM4中的數據報文,按順序進行讀取N位數據進行同步頭檢測,ADS-B報文接收存儲單元地址最高位地址為O時,讀取第三緩存器RAM3中的數據,ADS-B報文接收存儲單元地址最高位地址為I時,讀取第四緩存器RAM4中的數據; 步驟22:當同步頭檢測模塊對FIS-B報文進行同步頭檢測,讀取FIS-B報文接收存儲單元中FIS-B報文的前N位數據與標準FIS-B報文同步頭相同時,則判定為出現FIS-B報文,FIS-B報文同步頭檢測單元記錄此時FIS-B報文對應的FIS-B報文接收存儲單元的地址,并輸出FIS-B報文同步頭標志;否則,為未出現FIS-B報文,同時返回步驟21 ; 步驟23:當同步頭檢測模塊對ADS-B報文進行同步頭檢測,讀取ADS-B報文接收存儲單元中ADS-B報文的前N位數據與標準ADS-B報文同步頭相同時,則判定為出現ADS-B報文,ADS-B報文同步頭檢測單元記錄此時ADS-B報文對應的ADS-B報文接收存儲單元的地址,并輸出ADS-B報文同步頭標志;否則,為未出現ADS-B報文,同時返回步驟21。
9.根據權利要求7所述的一種多類型報文實時處理裝置,其特征在于所述報文譯碼模塊讀取二級緩存模塊4輸出的報文并進行對應類型的報文譯碼,輸出譯碼成功標識給明文提取模塊,具體過程是:步驟51:若報文譯碼模塊的FIS-B報文譯碼單元檢測到二級緩存模塊輸出的是FIS-B報文標志信號時,從FIS-B報文二級緩存單元中讀取的一條完整的FIS-B報文,即根據FIS-B報文二級緩存單元存儲的報文數量,按FIS-B報文二級緩存單元中指示報文條數的地址進行累加,讀取FIS-B報文; 步驟52 ;從FIS-B報文二級緩存單元中讀取的FIS-B報文進行譯碼;如果譯碼成功,FIS-B報文譯碼單元輸出FIS-B報文譯碼成功標志,如果譯碼失敗,返回步驟51,讀取下一條報文進行譯碼; 步驟53、若報文譯碼模塊的ADS-B LONG報文譯碼單元檢測到,二級緩存模塊輸出的ADS-B報文標志信號時,從ADS-B報文二級緩存單元中讀取的一條完整的ADS-B報文,即根據ADS-B LONG報文長度讀取ADS-B報文二級緩存單元中的ADS-B報文,進行解碼,若解碼成功,則ADS-B LONG報文譯碼單元輸出ADS-BL0NG報文譯碼成功標志; 步驟54:若報文譯碼模塊的ADS-B BASIC報文譯碼單元檢測到,二級緩存模塊輸出的ADS-B報文標志信號時,從ADS-B報文二級緩存單元中讀取的一條完整的ADS-B報文,即根據ADS-B BASIC報文長度讀取ADS-B報文二級緩存單元中的ADS-B報文,進行解碼,若解碼成功,則ADS-B BASIC報文譯碼單元輸出ADS-B BASIC報文譯碼成功標志。
10.根據權利要求7所述的一種多類型報文實時處理裝置,其特征在于所述明文提取模塊具體工作過程包括; 明文提取模塊中的ADS-B明文提取單元,根據ADS-B LONG報文譯碼成功標志,獲得ADS-B LONG報文明文 ,ADS-B報文明文加上ADS-B LONG同步頭標志存入ADS-B明文提取單元; 明文提取模塊中的ADS-B明文提取單元,根據ADS-B BASIC報文譯碼成功標志,獲得ADS-B BASIC報文明文,ADS-B報文明文加上ADS-B BASIC同步頭標志存入ADS-B明文提取單元。
【文檔編號】H04L12/70GK103763188SQ201410030118
【公開日】2014年4月30日 申請日期:2014年1月22日 優(yōu)先權日:2014年1月22日
【發(fā)明者】張煉, 余林, 劉元春, 馮濤 申請人:四川九洲空管科技有限責任公司