沒有本地源端報文輸入且有遠端報文返回的時候,就可以根據(jù)返回報文的RTID從存儲空間中提取相關(guān)本地源端報文。提取的報文和遠端返回的報文共同進入?yún)f(xié)議對比模塊。
[0021]在協(xié)議對比模塊中有個協(xié)議查找表。這個查找表記錄了報文傳輸協(xié)議下,本地源端的每種報文所對應(yīng)著應(yīng)該返回的遠端報文種類。先根據(jù)本地源端報文的種類,在查找表中找到對應(yīng)著的應(yīng)該返回報文的種類或者相關(guān)數(shù)據(jù)信息。在根據(jù)找出來的報文種類去比較此時遠端返回的報文。如果返回的遠端報文不是所希望的報文,則可以認為遠端返回報文錯誤,系統(tǒng)出現(xiàn)error報錯。反之則為正常,對應(yīng)存儲空間中的報文可以被刪除了,為下一條報文存儲做準備。
[0022]如附圖1所示,該實施例的主體為一個單口輸入輸出RAM。在實際使用的時候用寄存器reg來構(gòu)建該RAM,這樣可以達到快速地讀寫。
[0023]一種在線檢測報文傳輸錯誤的裝置,其結(jié)構(gòu)包括:
RAM輸入信號模塊,也是源端報文處理模塊。對于一個RAM來說,要有數(shù)據(jù)輸入端口Data_in、輸入地址Dataln_addr、輸入使能信號Dataln_en、輸入時鐘信號Clk_in等。輸入數(shù)據(jù)信號Data_in就是輸入的報文。為了對不同的報文進行檢測,在RAM的輸入模塊中可以對報文有個簡單地過濾作用,根據(jù)報文類型的不同可以選擇是否存入該RAM中。使能信號Dataln_en來自于每個數(shù)據(jù)包的輸入使能信號,也可以用來對報文進行選擇,是否輸入存儲空間RAM中。輸入地址控制信號Dataln_addr,當有效報文輸入的時候,地址根據(jù)報文中的RTID來確定。
[0024]RAM輸出模塊,也就是遠端報文處理模塊。對于一個RAM來說,輸出的控制信號數(shù)目和輸入的控制信號數(shù)目基本一致。包括輸出數(shù)據(jù)信號Data_out,輸出數(shù)據(jù)使能信號Dataout_en,輸出地址Dataout_addr,輸出時鐘Clk_out等。輸出數(shù)據(jù)信號Data_out是和輸入數(shù)據(jù)信號相同位寬,即是一個報文的寬度。其次是Clk_out信號,該信號為輸出時鐘,因為只是對報文的檢測,可以考慮使用遠端報文時鐘就可以。當然如果用高頻時鐘可以加快報文的檢測。輸出地址DataoUt_addr是根據(jù)遠端報文的RTID。因為前文所述,源端報文和遠端報文的檢測需要根據(jù)RTID來確定,相同RTID的遠端報文對應(yīng)著源端報文。
[0025]遠端報文存儲FIFO。因為RAM存儲空間不能同時進行讀寫操作,所以在RAM有數(shù)據(jù)輸入的時候,暫時不能輸出報文。此時這個FIFO就先存儲遠端報文作為緩沖一下。當RAM可以輸出數(shù)據(jù)的時候,再從此FIFO中提取遠端報文進行比較。
[0026]協(xié)議對比模塊。這是整個檢測系統(tǒng)的核心和功能模塊。是用來根據(jù)本地源端報文推測出理論上應(yīng)該得到的遠端報文,然后與實際得到的遠端報文進行對比,判斷實際遠端返回的報文是否正確。這個模塊的核心就是一個協(xié)議查找表,記錄著在各種情況下某個本地源端報文所對應(yīng)出現(xiàn)的遠端報文情況。
[0027]上述【具體實施方式】僅是本發(fā)明的具體個案,本發(fā)明的專利保護范圍包括但不限于上述【具體實施方式】,任何符合本發(fā)明的一種在線檢測報文傳輸錯誤的方法的權(quán)利要求書的且任何所述技術(shù)領(lǐng)域的普通技術(shù)人員對其所做的適當變化或替換,皆應(yīng)落入本發(fā)明的專利保護范圍。
【主權(quán)項】
1.一種在線檢測報文傳輸錯誤的方法,其特征在于,其具體實現(xiàn)過程為: 在FPGA驗證平臺中,構(gòu)建一個存儲空間RAM ; 檢測程序啟動,RAM接收并處理由處理器發(fā)送過來的源端報文; 然后對處理器發(fā)出的源端報文和遠端返回報文的進行協(xié)議比較,確定遠端返回的報文種類是否在處理器要求的報文種類,是則刪除對應(yīng)存儲空間中的報文,并進行下一報文存儲;否則進行錯誤報錯。
2.根據(jù)權(quán)利要求1所述的一種在線檢測報文傳輸錯誤的方法,其特征在于,所述RAM的地址是唯一的且該地址由報文的RTID數(shù)值來確定。
3.根據(jù)權(quán)利要求1所述的一種在線檢測報文傳輸錯誤的方法,其特征在于,所述源端報文儲存入存儲空間RAM之前進行過濾的步驟,即過濾源端報文的純數(shù)據(jù),保留頭報文信息,同時過濾掉不需要的bit位上的數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述的一種在線檢測報文傳輸錯誤的方法,其特征在于,所述協(xié)議比較通過查找表完成,該查找表記錄遠端報文和本地源端報文直接的各種規(guī)則協(xié)議,即在報文傳輸協(xié)議下,其記錄本地源端的每種報文所對應(yīng)著應(yīng)該返回的遠端報文種類。
5.根據(jù)權(quán)利要求4所述的一種在線檢測報文傳輸錯誤的方法,其特征在于,所述協(xié)議比較包括以下兩種情況: 一、當沒有處理器發(fā)送過來本地源端報文要存儲,且有報文從遠端返回時; 二、當源端報文和遠端報文同時到來時。
6.根據(jù)權(quán)利要求5所述的一種在線檢測報文傳輸錯誤的方法,其特征在于,所述第一種情況下的協(xié)議比較過程為: 首先根據(jù)返回報文的RTID從存儲空間中提取相關(guān)本地源端報文; 提取的源端報文和遠端返回的報文共同進行協(xié)議比較; 先根據(jù)本地源端報文的種類,在查找表中找到對應(yīng)著的應(yīng)該返回報文的種類或者相關(guān)數(shù)據(jù)信息; 再根據(jù)找出來的報文種類去比較此時遠端返回的報文; 如果返回的遠端報文不是所希望的報文,則認為遠端返回報文錯誤,系統(tǒng)出現(xiàn)錯誤報錯;反之則為正常,對應(yīng)存儲空間中的報文可以被刪除了,為下一條報文存儲做準備。
7.根據(jù)權(quán)利要求5所述的一種在線檢測報文傳輸錯誤的方法,其特征在于,所述第二種情況下的協(xié)議比較過程為: 首先設(shè)計一個優(yōu)先級,即將源端報文的輸入優(yōu)先級高于遠端返回報文的優(yōu)先級; 在遠端報文返回輸入的位置設(shè)置一個FIFO緩存,當有源端報文輸入時,遠端返回報文先存入該FIFO緩存中緩存; 當源端報文處理完后,從FIFO緩存中提取返回報文; 根據(jù)本地源端報文的種類,在查找表中找到對應(yīng)著的應(yīng)該返回報文的種類或者相關(guān)數(shù)據(jù)信息; 再根據(jù)找出來的報文種類去比較此時遠端返回的報文; 如果返回的遠端報文不是所希望的報文,則認為遠端返回報文錯誤,系統(tǒng)出現(xiàn)錯誤報錯;反之則為正常,對應(yīng)存儲空間中的報文可以被刪除了,為下一條報文存儲做準備。
8.—種在線檢測報文傳輸錯誤的裝置,其特征在于,其結(jié)構(gòu)包括: RAM輸入信號模塊,即源端報文處理模塊,該RAM輸入信號模塊用于對輸入的源端報文信號進行過濾,根據(jù)報文不同選擇是否存入該RAM中; RAM輸出信號模塊,即遠端報文處理模塊,該輸出信號模塊輸出的控制信號數(shù)目和輸入信號模塊輸入的控制信號數(shù)目一致; 遠端報文存儲FIFO,用于當RAM有數(shù)據(jù)輸入的時候,先存儲遠端報文作為緩沖;當RAM可以輸出數(shù)據(jù)的時候,再從此FIFO中提取遠端報文進行比較; 協(xié)議對比模塊,根據(jù)本地源端報文推測出理論上應(yīng)該得到的遠端報文,然后與實際得到的遠端報文進行對比,判斷實際遠端返回的報文是否正確,該協(xié)議對比模塊內(nèi)置協(xié)議查找表,記錄在各種情況下某個本地源端報文所對應(yīng)出現(xiàn)的遠端報文情況。
9.根據(jù)權(quán)利要求8所述的一種在線檢測報文傳輸錯誤的裝置,其特征在于, 所述輸入信號包括數(shù)據(jù)輸入端口 Data_in、輸入地址Dataln_addr、輸入使能信號Dataln_en、輸入時鐘信號Clk_in,其中輸入數(shù)據(jù)信號Data_in即為輸入的報文;使能信號Dataln_en來自于每個數(shù)據(jù)包的輸入使能信號,用來對報文進行選擇是否輸入存儲空間RAM中;輸入地址控制信號Dataln_addr,當有效報文輸入的時候,地址根據(jù)報文中的RTID來確定; 相對應(yīng)的,所述輸出信號包括輸出數(shù)據(jù)信號Data_out、輸出數(shù)據(jù)使能信號Dataout_en、輸出地址Dataout_addr、輸出時鐘Clk_out ;其中輸出數(shù)據(jù)信號Data_out是和輸入數(shù)據(jù)信號相同位寬,即是一個報文的寬度;輸出地址Dataout_addr根據(jù)遠端報文的RTID確定,相同RTID的遠端報文對應(yīng)著源端報文。
【專利摘要】本發(fā)明公開了一種在線檢測報文傳輸錯誤的方法與裝置,方法的實現(xiàn)過程為:在FPGA驗證平臺中,構(gòu)建一個存儲空間RAM;檢測程序啟動,RAM接收并處理由處理器發(fā)送過來的源端報文;然后對處理器發(fā)出的源端報文和遠端返回報文的進行協(xié)議比較,確定遠端返回的報文種類是否在處理器要求的報文種類,是則刪除對應(yīng)存儲空間中的報文,并進行下一報文存儲;否則進行錯誤報錯。裝置的結(jié)構(gòu)包括RAM輸入信號模塊,RAM輸出信號模塊、遠端報文存儲FIFO、協(xié)議對比模塊。該一種在線檢測報文傳輸錯誤的方法與裝置與現(xiàn)有技術(shù)相比,最大程度節(jié)約了FPGA內(nèi)部有限的資源,提高了效率,更好使用了FPGA相關(guān)軟件進行代碼項目調(diào)試,實用性強,易于推廣。
【IPC分類】H04L12-26
【公開號】CN104767658
【申請?zhí)枴緾N201510182909
【發(fā)明人】劉凱, 童元滿, 李仁剛, 劉金廣
【申請人】浪潮電子信息產(chǎn)業(yè)股份有限公司
【公開日】2015年7月8日
【申請日】2015年4月17日