一種基于數(shù)字電路的sof、crc及eof錯誤注入方法
【技術(shù)領(lǐng)域】
[00011本發(fā)明涉及一種SOF、CRC及EOF錯誤注入方法,特別涉及一種基于數(shù)字電路的SOF、 CRC及EOF錯誤注入方法。
【背景技術(shù)】
[0002] 在計算機通信領(lǐng)域,節(jié)點間的通信數(shù)據(jù)按照某一固定的數(shù)據(jù)幀格式組織,目前主 流通信協(xié)議定義的數(shù)據(jù)幀格式均以SOF開始,以CRC和EOF結(jié)束,而且大部分經(jīng)過驗證的MAC 電路只能發(fā)送正確的SOFXRC及EOF,若要注入相應(yīng)的錯誤數(shù)據(jù)來驗證網(wǎng)絡(luò)的功能是否正 確,則必須購買專用的測試設(shè)備,這樣一來不僅耗時耗力而且增加成本。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的是提供一種基于數(shù)字電路的S0F、CRC及EOF錯誤注入方法,通過在正 常的發(fā)送通道中插入處理電路,實現(xiàn)對SOFXRC及EOF的錯誤注入,進而達到實現(xiàn)簡單,使用 靈活,降低成本的目的。
[0004] 為達到以上目的,本發(fā)明是采取如下技術(shù)方案予以實現(xiàn)的:
[0005] 一種基于數(shù)字電路的SOF、CRC及EOF錯誤注入方法,包括以下步驟:
[0006] 1)主機寫配置寄存器組,配置寄存器組包括與SOF、CRC和EOF對應(yīng)的3個寄存器;
[0007] 2)延時單元將發(fā)送數(shù)據(jù)延時輸出至多路選擇器;
[0008] 數(shù)據(jù)檢測單元檢查發(fā)送數(shù)據(jù):
[0009] 當檢查到SOF時,數(shù)據(jù)檢測單元產(chǎn)生SOF插入指示信號,并將該插入指示信號送給 多路選擇器;
[0010] 當檢查到CRC時,數(shù)據(jù)檢測單元產(chǎn)生CRC插入指示信號,并將該插入指示信號送給 多路選擇器;
[0011]當檢查到EOF時,數(shù)據(jù)檢測單元產(chǎn)生EOF插入指示信號,并將該插入指示信號送給 多路選擇器;
[0012] 3)若多路選擇器收到插入指示信號,多路選擇器將與插入指示信號對應(yīng)的寄存器 值輸出;
[0013] 否則多路選擇器將收到的發(fā)送數(shù)據(jù)輸出。
[0014] 上述延時單元由兩組32位的寄存器組構(gòu)成,將發(fā)送數(shù)據(jù)延時兩個時鐘周期輸出至 多路選擇器。
[0015] 上述數(shù)據(jù)檢測單元由兩個32位同或門、兩個1位2選1選擇器及3個1位寄存器組成。
[0016] 與SOF、CRC和EOF對應(yīng)的3個寄存器分別為SOF注入值寄存器、CRC注入值寄存器和 EOF注入值寄存器,均為32位寬,主機可讀可寫。
[0017] 步驟3)中"若多路選擇器收到插入指示信號,多路選擇器將與插入指示信號對應(yīng) 的寄存器值輸出"的具體方法如下:
[0018] 當SOF插入指示信號有效,多路選擇器輸出SOF注入值寄存器的值;
[0019] 或,
[0020] 當CRC插入指示信號有效,多路選擇器輸出CRC注入值寄存器的值;
[0021]或,
[0022]當EOF插入指示信號有效,多路選擇器輸出EOF注入值寄存器的值。
[0023] 上述多路選擇器位寬32位。
[0024]本發(fā)明的有益效果是:
[0025] a)本發(fā)明能夠根據(jù)主機的配置,控制每一個發(fā)送幀的SOFXRC及EOF的填充值,可 以通過對已有發(fā)送電路的簡單更改實現(xiàn)S0F、CRC及EOF錯誤注入的功能;
[0026] b)支持FPGA等集成電路的使用,易于實現(xiàn);
[0027] c)可以通過對已有電路進行簡單更改實現(xiàn),成本低;
[0028] d)使用方便,操作靈活。
【附圖說明】
[0029]圖1是本發(fā)明的結(jié)構(gòu)示意圖;
[0030]圖2是本發(fā)明的工作流程圖;
[0031 ]圖3是延時單元電路示意圖;
[0032]圖4是數(shù)據(jù)檢測單元電路示意圖;
[0033]圖5是多路選擇器工作流程示意圖。
【具體實施方式】
[0034] 本發(fā)明提出了一種基于數(shù)字電路的S0F、CRC及EOF錯誤注入方法,包括配置寄存器 組和錯誤注入模塊,錯誤注入模塊包括延時單元、數(shù)據(jù)檢測單元和多路選擇器,其中,配置 寄存器組用來儲存需要注入的S0F、CRC及EOF的值,由主機進行配置;數(shù)據(jù)檢測單元檢查發(fā) 送數(shù)據(jù),多路選擇器根據(jù)收到的插入指示信號使用配置寄存器組中對應(yīng)的寄存器的值替換 發(fā)送數(shù)據(jù)中的相應(yīng)字段。
[0035]本發(fā)明的具體步驟如下:
[0036] 1)主機寫配置寄存器組,配置寄存器組包括與SOF、CRC和EOF對應(yīng)的3個寄存器;
[0037] 2)延時單元將發(fā)送數(shù)據(jù)延時輸出至多路選擇器;
[0038]數(shù)據(jù)檢測單元檢查發(fā)送數(shù)據(jù):
[0039]當檢查到SOF時,數(shù)據(jù)檢測單元產(chǎn)生SOF插入指示信號,并將該插入指示信號送給 多路選擇器;
[0040] 當檢查到CRC時,數(shù)據(jù)檢測單元產(chǎn)生CRC插入指示信號,并將該插入指示信號送給 多路選擇器;
[0041] 當檢查到EOF時,數(shù)據(jù)檢測單元產(chǎn)生EOF插入指示信號,并將該插入指示信號送給 多路選擇器;
[0042] 3)若多路選擇器收到插入指示信號,多路選擇器將與插入指示信號對應(yīng)的寄存器 值輸出;
[0043] 否則多路選擇器將收到的發(fā)送數(shù)據(jù)輸出。
[0044]下面結(jié)合附圖及具體實例對本發(fā)明做進一步的詳細說明。
[0045] 如圖1所示,一種基于數(shù)字電路的SOF、CRC及EOF錯誤注入方法,包括:
[0046] 1)配置寄存器組
[0047] 配置寄存器組包括分別與S0F、CRC和EOF對應(yīng)的寄存器;配置寄存器組的定義和說 明如表1所示。
[0048] 表1配置寄存器組說明
[0050] 2)錯誤注入t旲塊
[0051] 錯誤注入模塊包括延時單元、數(shù)據(jù)檢測單元和多路選擇器三部分,其實現(xiàn)方式分 別如下所述。
[0052] a)延時單元
[0053] 延時單元由兩組32位的寄存器組構(gòu)成,將發(fā)送數(shù)據(jù)延時兩個時鐘周期輸出至多路 選擇器,具體電路如圖3所示。
[0054] b)數(shù)據(jù)檢測單元
[0055]數(shù)據(jù)檢測單元由兩個32位同或門、兩個1位2選1選擇器及3個1位寄存器組成,在檢 測到發(fā)送數(shù)據(jù)的S0F、CRC及EOF字段時分別輸出SOF插入指示信號、CRC插入指示信號及EOF 插入指示信號,具體電路如圖4所示。
[0056] c)多路選擇器
[0057]多路選擇器位寬32位,在SOFXRC及EOF插入指示信號的控制下,輸出配置寄存器 組中對應(yīng)的寄存器值。工作流程如圖5所示,具體說明如下:
[0058] a)當SOF插入指示信號為1時,輸出SOF注入值寄存器的值;
[0059] b)當CRC插入指示信號為1時,輸出CRC注入值寄存器的值;
[0060] c)當EOF插入指示信號為1時,輸出EOF注入值寄存器的值;
[0061 ]否則將收到的發(fā)送數(shù)據(jù)輸出。
【主權(quán)項】
1. 一種基于數(shù)字電路的SOF、CRC及EOF錯誤注入方法,其特征在于,包括以下步驟: 1) 主機寫配置寄存器組,配置寄存器組包括與S0F、CRC和EOF對應(yīng)的3個寄存器; 2) 延時單元將發(fā)送數(shù)據(jù)延時輸出至多路選擇器; 數(shù)據(jù)檢測單元檢查發(fā)送數(shù)據(jù): a) 當檢查到S0F時,數(shù)據(jù)檢測單元產(chǎn)生S0F插入指示信號,并將該插入指示信號送給多 路選擇器; b) 當檢查到CRC時,數(shù)據(jù)檢測單元產(chǎn)生CRC插入指示信號,并將該插入指示信號送給多 路選擇器; c) 當檢查到EOF時,數(shù)據(jù)檢測單元產(chǎn)生EOF插入指示信號,并將該插入指示信號送給多 路選擇器; 3) 若多路選擇器收到插入指示信號,多路選擇器將與插入指示信號對應(yīng)的寄存器值輸 出; 否則多路選擇器將收到的發(fā)送數(shù)據(jù)輸出。2. 根據(jù)權(quán)利要求1所述的基于數(shù)字電路的SOF、CRC及EOF錯誤注入方法,其特征在于,所 述延時單元由兩組32位的寄存器組構(gòu)成,將發(fā)送數(shù)據(jù)延時兩個時鐘周期輸出至多路選擇 器。3. 根據(jù)權(quán)利要求2所述的基于數(shù)字電路的SOF、CRC及EOF錯誤注入方法,其特征在于,所 述數(shù)據(jù)檢測單元由兩個32位同或門、兩個1位2選1選擇器及3個1位寄存器組成。4. 根據(jù)權(quán)利要求1或2或3所述的基于數(shù)字電路的S0F、CRC及EOF錯誤注入方法,其特征 在于,與S0F、CRC和EOF對應(yīng)的3個寄存器分別為S0F注入值寄存器、CRC注入值寄存器和EOF 注入值寄存器,均為32位寬,主機可讀可寫。5. 根據(jù)權(quán)利要求4所述的基于數(shù)字電路的SOF、CRC及EOF錯誤注入方法,其特征在于,步 驟3)中"若多路選擇器收到插入指示信號,多路選擇器將與插入指示信號對應(yīng)的寄存器值 輸出"的具體方法如下: 當S0F插入指示信號有效,多路選擇器輸出S0F注入值寄存器的值; 或, 當CRC插入指示信號有效,多路選擇器輸出CRC注入值寄存器的值; 或, 當EOF插入指示信號有效,多路選擇器輸出EOF注入值寄存器的值。6. 根據(jù)權(quán)利要求5所述的基于數(shù)字電路的SOF、CRC及EOF錯誤注入方法,其特征在于,多 路選擇器位寬32位。
【專利摘要】本發(fā)明屬于計算機通信領(lǐng)域,提出了一種基于數(shù)字電路的SOF、CRC及EOF錯誤注入方法,包括配置寄存器和錯誤注入模塊,其中,配置寄存器組用來儲存需要注入的SOF、CRC及EOF的值,由主機進行配置;錯誤注入模塊檢查發(fā)送數(shù)據(jù),并使用配置寄存器中的值替換發(fā)送數(shù)據(jù)中的相應(yīng)字段。本發(fā)明通過在正常的發(fā)送通道中插入處理電路,實現(xiàn)對SOF、CRC及EOF的錯誤注入,進而達到實現(xiàn)簡單,使用靈活,降低成本的目的。
【IPC分類】H04L1/00, H04L12/26
【公開號】CN105471551
【申請?zhí)枴緾N201510889897
【發(fā)明人】蒲愷, 王世奎, 李大鵬, 武華, 雷宇宏, 焦龍
【申請人】中國航空工業(yè)集團公司西安航空計算技術(shù)研究所
【公開日】2016年4月6日
【申請日】2015年12月7日