一種嵌入式系統(tǒng)高速互聯(lián)規(guī)范協(xié)議解析方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種嵌入式系統(tǒng)高速互聯(lián)規(guī)范協(xié)議解析方法及系統(tǒng),克服目前完全通過軟件解析RapidIO原始報(bào)文效率低下的不足,該方法包括:對串行RapidIO采集接口卡采集到的原始報(bào)文以及接口卡附加信息進(jìn)行封裝,獲得封裝報(bào)文并傳遞給應(yīng)用程序;在應(yīng)用程序收到封裝報(bào)文后,為封裝報(bào)文分配一個(gè)數(shù)據(jù)結(jié)構(gòu)記錄原始報(bào)文以及接口卡附加信息;根據(jù)接口卡附加信息解析出原始報(bào)文的時(shí)間及順序信息;根據(jù)接口卡附加信息解析出原始報(bào)文的協(xié)議字段;根據(jù)接口卡附加信息及原始報(bào)文中字段值判斷原始報(bào)文是否包含載荷數(shù)據(jù),并在判斷出所述原始報(bào)文包含載荷數(shù)據(jù)時(shí)解析出載荷數(shù)據(jù)。本發(fā)明可快速高效地解析種類繁多、長度可變的RapidIO報(bào)文。
【專利說明】一種嵌入式系統(tǒng)高速互聯(lián)規(guī)范協(xié)議解析方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及嵌入式系統(tǒng)高速互聯(lián)規(guī)范(RapidIO)技術(shù),尤其涉及一種嵌入式系統(tǒng)高速互聯(lián)規(guī)范協(xié)議解析方法及系統(tǒng)。
【背景技術(shù)】
[0002]嵌入式系統(tǒng)高速互聯(lián)規(guī)范(RapidIO)主要應(yīng)用于嵌入式系統(tǒng)芯片和板間互聯(lián),具有協(xié)議靈活高效、便于硬件處理、打包效率高、支持多種拓?fù)浣Y(jié)構(gòu)和傳輸模式、支持極高傳輸速率等優(yōu)點(diǎn)。但其報(bào)文種類繁多、長度可變,不同種類報(bào)文具有不同的協(xié)議字段,完全通過軟件解析原始報(bào)文是一件極其復(fù)雜和困難的事,耗時(shí)長,效率低下。
【發(fā)明內(nèi)容】
[0003]本發(fā)明所要解決的技術(shù)問題是克服目前完全通過軟件解析RapidIO原始報(bào)文效率低下的不足。
[0004]為了解決上述技術(shù)問題,本申請?zhí)峁┝艘环N嵌入式系統(tǒng)高速互聯(lián)規(guī)范(RapidIO)協(xié)議解析方法,包括:
[0005]對串行RapidIO采集接口卡采集到的原始報(bào)文以及接口卡附加信息進(jìn)行封裝,獲得封裝報(bào)文并傳遞給應(yīng)用程序;所述接口卡附加信息包括所述原始報(bào)文的報(bào)文類型、輸入端口信息、錯(cuò)誤信息以及封裝所述原始報(bào)文時(shí)的時(shí)間戳;
[0006]在所述應(yīng)用程序收到所述封裝報(bào)文后,為所述封裝報(bào)文分配一個(gè)數(shù)據(jù)結(jié)構(gòu)記錄所述原始報(bào)文以及所述接口卡附加信息;
[0007]根據(jù)所述接口卡附加信息解析出所述原始報(bào)文的時(shí)間及順序信息;
[0008]根據(jù)所述接口卡附加信息解析出所述原始報(bào)文的協(xié)議字段;
[0009]根據(jù)所述接口卡附加信息以及所述原始報(bào)文中字段值判斷所述原始報(bào)文是否包含載荷數(shù)據(jù),并在判斷出所述原始報(bào)文包含所述載荷數(shù)據(jù)時(shí)解析出所述載荷數(shù)據(jù)。
[0010]優(yōu)選地,對串行RapidIO采集接口卡采集到的原始報(bào)文以及接口卡附加信息進(jìn)行封裝,獲得封裝報(bào)文,包括:
[0011]對于控制報(bào)文,所述封轉(zhuǎn)報(bào)文總長為16字節(jié),所述封轉(zhuǎn)報(bào)文的第I字節(jié)為所述報(bào)文類型,第2字節(jié)為所述錯(cuò)誤信息,第3字節(jié)為所述輸入端口信息,第4-7字節(jié)為原始報(bào)文內(nèi)容,第8-15字節(jié)為所述時(shí)間戳;
[0012]對于數(shù)據(jù)報(bào)文,所述封轉(zhuǎn)報(bào)文的第I字節(jié)為所述報(bào)文類型,第2字節(jié)為所述錯(cuò)誤信息,第3字節(jié)為所述輸入端口信息,第6個(gè)、第7個(gè)字節(jié)為報(bào)文總長度信息,第8-15字節(jié)為所述時(shí)間戳,從第32字節(jié)開始為原始報(bào)文內(nèi)容。
[0013]優(yōu)選地,根據(jù)所述接口卡附加信息解析出所述原始報(bào)文的時(shí)間及順序信息,包括:
[0014]根據(jù)所述時(shí)間戳解析出所述原始報(bào)文與本次采集第一個(gè)原始報(bào)文的相對時(shí)間、與本次采集上一個(gè)原始報(bào)文的相對時(shí)間、參照所述應(yīng)用程序本地時(shí)間的絕對時(shí)間,以及所述應(yīng)用程序記錄的從本次采集開始遞增的報(bào)文序號。
[0015]優(yōu)選地,根據(jù)所述接口卡附加信息解析出所述原始報(bào)文的協(xié)議字段,包括:
[0016]根據(jù)所述原始報(bào)文的報(bào)文類型以及所述原始報(bào)文的標(biāo)識位寬字段值解析出所述原始報(bào)文的協(xié)議字段。
[0017]優(yōu)選地,根據(jù)所述接口卡附加信息以及所述原始報(bào)文中字段值判斷所述原始報(bào)文是否包含載荷數(shù)據(jù)以及在包含所述載荷數(shù)據(jù)時(shí)解析出所述載荷數(shù)據(jù),包括:
[0018]根據(jù)所述原始報(bào)文的文件類型以及事務(wù)類型字段的值,判斷出所述原始報(bào)文是否包含所述載荷數(shù)據(jù);在所述原始報(bào)文包含所述載荷數(shù)據(jù)時(shí),將所述協(xié)議字段及循環(huán)冗余校驗(yàn)碼之間的內(nèi)容解析為所述載荷數(shù)據(jù)。
[0019]本申請還提供了一種嵌入式系統(tǒng)高速互聯(lián)規(guī)范(RapidIO)協(xié)議解析系統(tǒng),包括:
[0020]封裝模塊,設(shè)置為對串行RapidIO采集接口卡采集到的原始報(bào)文以及接口卡附加信息進(jìn)行封裝,獲得封裝報(bào)文并傳遞給應(yīng)用程序;所述接口卡附加信息包括所述原始報(bào)文的報(bào)文類型、輸入端口信息、錯(cuò)誤信息以及封裝所述原始報(bào)文時(shí)的時(shí)間戳;
[0021]分配模塊,設(shè)置為在所述應(yīng)用程序收到所述封裝報(bào)文后,為所述封裝報(bào)文分配一個(gè)數(shù)據(jù)結(jié)構(gòu)記錄所述原始報(bào)文以及所述接口卡附加信息;
[0022]第一解析模塊,設(shè)置為根據(jù)所述接口卡附加信息解析出所述原始報(bào)文的時(shí)間及順
序信息;
[0023]第二解析模塊,設(shè)置為根據(jù)所述接口卡附加信息解析出所述原始報(bào)文的協(xié)議字段;
[0024]第三解析模塊,設(shè)置為根據(jù)所述接口卡附加信息以及所述原始報(bào)文中字段值判斷所述原始報(bào)文是否包含載荷數(shù)據(jù),并在判斷出原始報(bào)文包含所述載荷數(shù)據(jù)時(shí)解析出所述載荷數(shù)據(jù)。
[0025]優(yōu)選地,所述封裝模塊配置為對于控制報(bào)文,所述封轉(zhuǎn)報(bào)文總長為16字節(jié),所述封轉(zhuǎn)報(bào)文的第I字節(jié)為所述報(bào)文類型,第2字節(jié)為所述錯(cuò)誤信息,第3字節(jié)為所述輸入端口信息,第4-7字節(jié)為原始報(bào)文內(nèi)容,第8-15字節(jié)為所述時(shí)間戳;并配置為對于數(shù)據(jù)報(bào)文,所述封轉(zhuǎn)報(bào)文的第I字節(jié)為所述報(bào)文類型,第2字節(jié)為所述錯(cuò)誤信息,第3字節(jié)為所述輸入端口信息,第6個(gè)、第7個(gè)字節(jié)為報(bào)文總長度信息,第8-15字節(jié)為所述時(shí)間戳,從第32字節(jié)開始為原始報(bào)文內(nèi)容。
[0026]優(yōu)選地,所述第一解析模塊配置為根據(jù)所述時(shí)間戳解析出所述原始報(bào)文與本次采集第一個(gè)原始報(bào)文的相對時(shí)間、與本次采集上一個(gè)原始報(bào)文的相對時(shí)間、參照所述應(yīng)用程序本地時(shí)間的絕對時(shí)間,以及所述應(yīng)用程序記錄的從本次采集開始遞增的報(bào)文序號。
[0027]優(yōu)選地,所述第二解析模塊配置為根據(jù)所述原始報(bào)文的報(bào)文類型以及所述原始報(bào)文的標(biāo)識位寬字段值解析出所述原始報(bào)文的協(xié)議字段。
[0028]優(yōu)選地,所述第三解析模塊包括第一判斷單元、第二判斷單元以及解析單元,其中:
[0029]所述第一判斷單元配置為根據(jù)所述原始報(bào)文的報(bào)文類型判斷所述原始報(bào)文是否為數(shù)據(jù)報(bào)文;
[0030]所述第二判斷單元配置為在所述第一判斷單元判斷出所述原始報(bào)文為數(shù)據(jù)報(bào)文時(shí),根據(jù)所述原始報(bào)文的文件類型以及事務(wù)類型字段的值,判斷所述原始報(bào)文是否包含所述載荷數(shù)據(jù);
[0031]所述解析單元配置為在所述判斷單元判斷出所述原始報(bào)文包含所述載荷數(shù)據(jù)時(shí),將所述協(xié)議字段及循環(huán)冗余校驗(yàn)碼之間的內(nèi)容解析為所述載荷數(shù)據(jù)。
[0032]與現(xiàn)有技術(shù)相比,本申請的實(shí)施例可以快速高效地解析種類繁多、長度可變的RapidIO報(bào)文,克服了目前完全通過軟件解析RapidIO原始報(bào)文效率低下的不足。
[0033]本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
【專利附圖】
【附圖說明】
[0034]附圖用來提供對本發(fā)明技術(shù)方案的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本申請的實(shí)施例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對本發(fā)明技術(shù)方案的限制。
[0035]圖1為RapidIO數(shù)據(jù)報(bào)文結(jié)構(gòu)示意圖。
[0036]圖2為控制報(bào)文除頭部特殊編碼字節(jié)外另外3字節(jié)的定義示意圖。
[0037]圖3為本申請實(shí)施例的嵌入式系統(tǒng)高速互聯(lián)規(guī)范協(xié)議解析方法的流程示意圖。
[0038]圖4為本申請實(shí)施例Ftype為5的報(bào)文確定載荷數(shù)據(jù)位置的示意圖。
[0039]圖5為本申請實(shí)施例的嵌入式系統(tǒng)高速互聯(lián)規(guī)范協(xié)議解析系統(tǒng)的流程示意圖。
【具體實(shí)施方式】
[0040]以下將結(jié)合附圖及實(shí)施例來詳細(xì)說明本發(fā)明的實(shí)施方式,借此對本發(fā)明如何應(yīng)用技術(shù)手段來解決技術(shù)問題,并達(dá)成技術(shù)效果的實(shí)現(xiàn)過程能充分理解并據(jù)以實(shí)施。本發(fā)明實(shí)施例以及實(shí)施例中的各個(gè)特征在不相沖突前提下的相互結(jié)合,均在本發(fā)明的保護(hù)范圍之內(nèi)。
[0041]另外,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0042]與OSI互聯(lián)模型類似,RapidIO也采用分層定義。
[0043]RapidIO協(xié)議分為三層:邏輯層、傳輸層和物理層。邏輯層定義了操作協(xié)議和包格式,傳輸層定義了包交換、路由和尋址機(jī)制,物理層定義了電氣特性、鏈路控制和糾錯(cuò)重傳
坐寸ο
[0044]像以太網(wǎng)一樣,RapidIO也是基于包交換的互連技術(shù)。不同于以太網(wǎng)的是,其報(bào)文分為數(shù)據(jù)報(bào)文和控制報(bào)文,各種類型數(shù)據(jù)報(bào)文長度不定,而控制報(bào)文固定為4個(gè)字節(jié),其可位于數(shù)據(jù)報(bào)文頭部、尾部以及中間(稱為帶內(nèi)),也可獨(dú)立存在(稱為帶外)。
[0045]如圖1所示,RapidIO數(shù)據(jù)報(bào)文主要由包頭、可選的載荷數(shù)據(jù)和16位循環(huán)冗余校驗(yàn)碼(CRC)組成。包頭的長度因?yàn)閳?bào)文類型不同可能是十幾到二十幾個(gè)字節(jié)。每個(gè)數(shù)據(jù)報(bào)文的載荷數(shù)據(jù)長度不超過256字節(jié),這有利于減少傳輸時(shí)延,簡化硬件實(shí)現(xiàn)。圖中的結(jié)構(gòu)加上頭部、尾部各4字節(jié)的帶內(nèi)控制報(bào)文,組成了一個(gè)完整的鏈路傳輸幀結(jié)構(gòu)。
[0046]控制報(bào)文也稱為系統(tǒng)控制符號,其首個(gè)接收的字節(jié)以特殊編碼(lc、7c)表示,用于標(biāo)識數(shù)據(jù)包的開始、結(jié)束及用于流控、表示鏈路狀態(tài)等。[0047]圖2顯示了控制報(bào)文除頭部特殊編碼字節(jié)外另外3字節(jié)的定義,其接收位順序自左向右,依次分為 stypeO、parameterO、parameterl、stypel、cmd 以及 CRC 字段。
[0048]數(shù)據(jù)報(bào)文物理層、傳輸層以及邏輯層,每層都包括若干協(xié)議字段。有些報(bào)文類型還包括應(yīng)用數(shù)據(jù)。數(shù)據(jù)報(bào)文整個(gè)幀結(jié)構(gòu)還包括幀頭、幀尾各4字節(jié)的標(biāo)識(均屬于一種帶內(nèi)控制報(bào)文)。鑒于幾方面原因,數(shù)據(jù)報(bào)文長度不固定,部分協(xié)議字段及應(yīng)用數(shù)據(jù)在整個(gè)報(bào)文中的位置也可變。
[0049]對于物理層:從報(bào)文頭部開始依次為響應(yīng)ID(AckID)、保留位(Reserved)、關(guān)鍵請求流(CRF)以及優(yōu)先權(quán)(Priority)字段,這些字段在報(bào)文中位置固定。CRC為校驗(yàn)字段,位于報(bào)文尾部,在報(bào)文中位置不固定。
[0050]對于傳輸層:tt字段在報(bào)文中位置固定,其值為O或1,指示目標(biāo)器件ID (destinationID)、源器件ID (sourceID)在報(bào)文中各占8位或16位,由此決定了destinationID、sourceID字段在報(bào)文中寬度、位置可變。
[0051]對于邏輯層=Ftype字段指示事務(wù)格式類型,其在報(bào)文中位置固定。Ftype字段是數(shù)據(jù)報(bào)文邏輯層包括的一種字段,所有數(shù)據(jù)報(bào)文都有,其在所有數(shù)據(jù)報(bào)文中位置相同,均占用整個(gè)幀結(jié)構(gòu)按接收順序第6個(gè)字節(jié)低4位(接收首個(gè)字節(jié)為第I個(gè)字節(jié))。因tt字段的影響,位于destinationID、sourceID字段后面的邏輯層其他所有字段在報(bào)文中位置可變。除Ftype外,邏輯層所有其他字段只在一部分Ftype類型報(bào)文中存在,如Ftype等于2、5、13、8的報(bào)文才有事務(wù)類型(Ttype)字段,而其中Ftype等于2、5的報(bào)文才有事務(wù)數(shù)據(jù)長度編碼(rd/wrsize)、源事務(wù) ID(srcTID)、擴(kuò)展地址(extended addr)、基地址(Address)、字指針(wdptr)、擴(kuò)展地址最高位(xamsbs)字段。而extended addr字段視現(xiàn)場情況可能為O或16或32位寬,由此決定了位于其后的Address、wdptr、xamsbs字段位置的變化。
[0052]如圖3所示,本申請實(shí)施例的嵌入式系統(tǒng)高速互聯(lián)規(guī)范(RapidIO)協(xié)議解析方法,主要包括如下內(nèi)容。
[0053]S310,在串行Rap i d IO采集接口卡與應(yīng)用程序之間,對串行Rap i d IO采集接口卡采集到的原始報(bào)文以及接口卡附加信息進(jìn)行封裝,獲得封裝報(bào)文傳遞給應(yīng)用程序。其中接口卡附加信息包括原始報(bào)文的報(bào)文類型、輸入端口信息、錯(cuò)誤信息以及封裝原始報(bào)文時(shí)的時(shí)間戮等等。
[0054]S320,在應(yīng)用程序收到封裝報(bào)文后,為封裝報(bào)文分配一個(gè)數(shù)據(jù)結(jié)構(gòu)。
[0055]S330,利用數(shù)據(jù)結(jié)構(gòu)記錄原始報(bào)文以及接口卡附加信息。
[0056]S340,根據(jù)接口卡附加信息解析出原始報(bào)文的時(shí)間及順序信息并記錄到數(shù)據(jù)結(jié)構(gòu)中。
[0057]S350,根據(jù)接口卡附加信息解析出原始報(bào)文的協(xié)議字段。
[0058]S360,根據(jù)接口卡附加信息以及原始報(bào)文中字段值判斷原始報(bào)文是否包含載荷數(shù)據(jù),并在判斷出原始報(bào)文包含載荷數(shù)據(jù)時(shí)解析出載荷數(shù)據(jù)。
[0059]本申請的實(shí)施例中,原始報(bào)文的時(shí)間及順序信息主要包括根據(jù)時(shí)間戳解析得到的S310中所封裝的原始報(bào)文與本次采集第一個(gè)原始報(bào)文的相對時(shí)間、與本次采集上一個(gè)原始報(bào)文的相對時(shí)間、參照應(yīng)用程序本地時(shí)間的絕對時(shí)間,以及應(yīng)用程序記錄的原始報(bào)文從本次采集開始遞增的報(bào)文序號。
[0060]本申請的實(shí)施例中,根據(jù)原始報(bào)文的報(bào)文類型及原始報(bào)文中的標(biāo)識(id)位寬字段值解析出原始報(bào)文的協(xié)議字段。
[0061]本申請的實(shí)施例中,根據(jù)原始報(bào)文的報(bào)文類型判斷原始報(bào)文是否為數(shù)據(jù)報(bào)文;在判斷出原始報(bào)文為數(shù)據(jù)報(bào)文時(shí),根據(jù)原始報(bào)文的文件類型以及事務(wù)類型字段的值,確定原始報(bào)文是否包含載荷數(shù)據(jù);在原始報(bào)文包含載荷數(shù)據(jù)時(shí),將協(xié)議字段及循環(huán)冗余校驗(yàn)碼之間的內(nèi)容解析為載荷數(shù)據(jù)。
[0062]RapidIO協(xié)議解析可應(yīng)用在在線分析、協(xié)議測試、故障注入等一系列應(yīng)用系統(tǒng)中,這些系統(tǒng)硬件上均要求至少一塊串行RapidIO采集接口卡。該接口卡可提供2個(gè)以上RapidIO串行鏈路接口,采用輸入端口信息來進(jìn)行區(qū)分,用于連接被測RapidIO設(shè)備,其可以檢測到任一輸入鏈路上的RapidIO報(bào)文,并通過定義好的接口將報(bào)文發(fā)送給應(yīng)用程序,協(xié)議解析即可對其進(jìn)行進(jìn)一步處理。
[0063]報(bào)文類型、錯(cuò)誤信息由采集接口卡解析原始報(bào)文得到,輸入端口信息標(biāo)識報(bào)文由接口卡哪個(gè)端口輸入。其中,時(shí)間戳為相對值,可取開機(jī)以來某個(gè)時(shí)鐘連續(xù)計(jì)數(shù)。
[0064]對數(shù)據(jù)報(bào)文,包括包頭各協(xié)議層、可能包含的載荷數(shù)據(jù)、CRC校驗(yàn)及頭、尾各4字節(jié)帶內(nèi)控制結(jié)構(gòu)。對獨(dú)立的帶外控制報(bào)文,包括頭部的“1C”字節(jié)共4字節(jié)。
[0065]該內(nèi)部接口要求接口卡在收到報(bào)文后經(jīng)由驅(qū)動(dòng)程序向應(yīng)用程序發(fā)送前再進(jìn)行如下形式的封裝。
[0066]控制報(bào)文
【權(quán)利要求】
1.一種嵌入式系統(tǒng)高速互聯(lián)規(guī)范(RapidIO)協(xié)議解析方法,包括: 對串行RapidIO采集接口卡采集到的原始報(bào)文以及接口卡附加信息進(jìn)行封裝,獲得封裝報(bào)文并傳遞給應(yīng)用程序;所述接口卡附加信息包括所述原始報(bào)文的報(bào)文類型、輸入端口信息、錯(cuò)誤信息以及封裝所述原始報(bào)文時(shí)的時(shí)間戳; 在所述應(yīng)用程序收到所述封裝報(bào)文后,為所述封裝報(bào)文分配一個(gè)數(shù)據(jù)結(jié)構(gòu)記錄所述原始報(bào)文以及所述接口卡附加信息; 根據(jù)所述接口卡附加信息解析出所述原始報(bào)文的時(shí)間及順序信息; 根據(jù)所述接口卡附加信息解析出所述原始報(bào)文的協(xié)議字段; 根據(jù)所述接口卡附加信息以及所述原始報(bào)文中字段值判斷所述原始報(bào)文是否包含載荷數(shù)據(jù),并在判斷出所述原始報(bào)文包含所述載荷數(shù)據(jù)時(shí)解析出所述載荷數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其中,對串行RapidIO采集接口卡采集到的原始報(bào)文以及接口卡附加信息進(jìn)行封裝,獲得封裝報(bào)文,包括: 對于控制報(bào)文,所述封轉(zhuǎn)報(bào)文總長為16字節(jié),所述封轉(zhuǎn)報(bào)文的第I字節(jié)為所述報(bào)文類型,第2字節(jié)為所述錯(cuò)誤信息,第3字節(jié)為所述輸入端口信息,第4-7字節(jié)為原始報(bào)文內(nèi)容,第8-15字節(jié)為所述時(shí)間戳; 對于數(shù)據(jù)報(bào)文,所述封轉(zhuǎn)報(bào)文的第I字節(jié)為所述報(bào)文類型,第2字節(jié)為所述錯(cuò)誤信息,第3字節(jié)為所述輸入端口信息,第6個(gè)、第7個(gè)字節(jié)為報(bào)文總長度信息,第8-15字節(jié)為所述時(shí)間戳,從第32字節(jié)開始為原始報(bào)文內(nèi)容。
3.根據(jù)權(quán)利要求1所述的方法,其中,根據(jù)所述接口卡附加信息解析出所述原始報(bào)文的時(shí)間及順序信息,包括:` 根據(jù)所述時(shí)間戳解析出所述原始報(bào)文與本次采集第一個(gè)原始報(bào)文的相對時(shí)間、與本次采集上一個(gè)原始報(bào)文的相對時(shí)間、參照所述應(yīng)用程序本地時(shí)間的絕對時(shí)間,以及所述應(yīng)用程序記錄的從本次采集開始遞增的報(bào)文序號。
4.根據(jù)權(quán)利要求1所述的方法,其中,根據(jù)所述接口卡附加信息解析出所述原始報(bào)文的協(xié)議字段,包括: 根據(jù)所述原始報(bào)文的報(bào)文類型以及所述原始報(bào)文的標(biāo)識位寬字段值解析出所述原始報(bào)文的協(xié)議字段。
5.根據(jù)權(quán)利要求1所述的方法,其中,根據(jù)所述接口卡附加信息以及所述原始報(bào)文中字段值判斷所述原始報(bào)文是否包含載荷數(shù)據(jù),并在判斷出所述原始報(bào)文包含所述載荷數(shù)據(jù)時(shí)解析出所述載荷數(shù)據(jù),包括: 根據(jù)所述原始報(bào)文的報(bào)文類型判斷所述原始報(bào)文是否為數(shù)據(jù)報(bào)文; 在所述原始報(bào)文為數(shù)據(jù)報(bào)文時(shí),根據(jù)所述原始報(bào)文的文件類型以及事務(wù)類型字段的值,判斷出所述原始報(bào)文是否包含所述載荷數(shù)據(jù); 在所述原始報(bào)文包含所述載荷數(shù)據(jù)時(shí),將所述協(xié)議字段及循環(huán)冗余校驗(yàn)碼之間的內(nèi)容解析為所述載荷數(shù)據(jù)。
6.一種嵌入式系統(tǒng)高速互聯(lián)規(guī)范(RapidIO)協(xié)議解析系統(tǒng),包括: 封裝模塊,設(shè)置為對串行RapidIO采集接口卡采集到的原始報(bào)文以及接口卡附加信息進(jìn)行封裝,獲得封裝報(bào)文并傳遞給應(yīng)用程序;所述接口卡附加信息包括所述原始報(bào)文的報(bào)文類型、輸入端口信息、錯(cuò)誤信息以及封裝所述原始報(bào)文時(shí)的時(shí)間戳;分配模塊,設(shè)置為在所述應(yīng)用程序收到所述封裝報(bào)文后,為所述封裝報(bào)文分配一個(gè)數(shù)據(jù)結(jié)構(gòu)記錄所述原始報(bào)文以及所述接口卡附加信息; 第一解析模塊,設(shè)置為根據(jù)所述接口卡附加信息解析出所述原始報(bào)文的時(shí)間及順序信息; 第二解析模塊,設(shè)置為根據(jù)所述接口卡附加信息解析出所述原始報(bào)文的協(xié)議字段; 第三解析模塊,設(shè)置為根據(jù)所述接口卡附加信息以及所述原始報(bào)文中字段值判斷所述原始報(bào)文是否包含載荷數(shù)據(jù),并在判斷出所述原始報(bào)文包含所述載荷數(shù)據(jù)時(shí)解析出所述載荷數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其中: 所述封裝模塊配置為對于控制報(bào)文,所述封轉(zhuǎn)報(bào)文總長為16字節(jié),所述封轉(zhuǎn)報(bào)文的第I字節(jié)為所述報(bào)文類型,第2字節(jié)為所述錯(cuò)誤信息,第3字節(jié)為所述輸入端口信息,第4-7字節(jié)為原始報(bào)文內(nèi)容,第8-15字節(jié)為所述時(shí)間戳;并配置為對于數(shù)據(jù)報(bào)文,所述封轉(zhuǎn)報(bào)文的第I字節(jié)為所述報(bào)文類型,第2字節(jié)為所述錯(cuò)誤信息,第3字節(jié)為所述輸入端口信息,第6個(gè)、第7個(gè)字節(jié)為報(bào)文總長度信息,第8-15字節(jié)為所述時(shí)間戳,從第32字節(jié)開始為原始報(bào)文內(nèi)容。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其中: 所述第一解析模塊配置為根據(jù)所述時(shí)間戳解析出所述原始報(bào)文與本次采集第一個(gè)原始報(bào)文的相對時(shí)間、與本次采集上一個(gè)原始報(bào)文的相對時(shí)間、參照所述應(yīng)用程序本地時(shí)間的絕對時(shí)間,以及所述應(yīng)用程序記錄的從本次采集開始遞增的報(bào)文序號。
9.根據(jù)權(quán)利要求6所述的系統(tǒng),其中: 所述第二解析模塊配置為根據(jù)所`述原始報(bào)文的報(bào)文類型以及所述原始報(bào)文的標(biāo)識位寬字段值解析出所述原始報(bào)文的協(xié)議字段。
10.根據(jù)權(quán)利要求6所述的系統(tǒng),其中,所述第三解析模塊包括第一判斷單元、第二判斷單元以及解析單元,其中: 所述第一判斷單元配置為根據(jù)所述原始報(bào)文的報(bào)文類型判斷所述原始報(bào)文是否為數(shù)據(jù)報(bào)文; 所述第二判斷單元配置為在所述第一判斷單元判斷出所述原始報(bào)文為數(shù)據(jù)報(bào)文時(shí),根據(jù)所述原始報(bào)文的文件類型以及事務(wù)類型字段的值,判斷所述原始報(bào)文是否包含所述載荷數(shù)據(jù); 所述解析單元配置為在所述第二判斷單元判斷出所述原始報(bào)文包含所述載荷數(shù)據(jù)時(shí),將所述協(xié)議字段及循環(huán)冗余校驗(yàn)碼之間的內(nèi)容解析為所述載荷數(shù)據(jù)。
【文檔編號】H04L29/06GK103873448SQ201210548196
【公開日】2014年6月18日 申請日期:2012年12月17日 優(yōu)先權(quán)日:2012年12月17日
【發(fā)明者】霍晨生, 楊水華, 楊繼偉, 李超, 李世鵬 申請人:北京旋極信息技術(shù)股份有限公司