欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

以太網(wǎng)crc校驗(yàn)方法

文檔序號(hào):7771360閱讀:2726來(lái)源:國(guó)知局
以太網(wǎng)crc校驗(yàn)方法
【專利摘要】本發(fā)明涉及以太網(wǎng)CRC校驗(yàn)方法,在接收以太網(wǎng)一幀數(shù)據(jù)的同時(shí)對(duì)接收到的數(shù)據(jù)逐一字節(jié)進(jìn)行CRC運(yùn)算,記錄運(yùn)算得到的CRC并存儲(chǔ),將該運(yùn)算得到的CRC與最后接收數(shù)據(jù)中的CRC進(jìn)行比對(duì),實(shí)現(xiàn)CRC校驗(yàn);本發(fā)明的整個(gè)CRC計(jì)算過(guò)程與編解碼過(guò)程是同步的,不占用額外的時(shí)鐘周期,極大提高了數(shù)據(jù)處理的速度和效率。
【專利說(shuō)明】以太網(wǎng)CRC校驗(yàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于以太網(wǎng)通信的快速編解碼【技術(shù)領(lǐng)域】,涉及一種以太網(wǎng)CRC校驗(yàn)方法?!颈尘凹夹g(shù)】
[0002]隨著以太網(wǎng)技術(shù)在工業(yè)領(lǐng)域應(yīng)用的日益廣泛,網(wǎng)絡(luò)數(shù)據(jù)通信成為工業(yè)數(shù)據(jù)交互的主要方式,然而工業(yè)以太網(wǎng)中很多通訊協(xié)議都是該領(lǐng)域獨(dú)有的,因此,即便主流的網(wǎng)絡(luò)芯片可以提供數(shù)據(jù)通信上的幫助,但具體到業(yè)務(wù)領(lǐng)域還是存在很大的缺陷,比如無(wú)法過(guò)濾業(yè)務(wù)數(shù)據(jù),無(wú)法精確定時(shí)發(fā)送數(shù)據(jù)等。
[0003]百兆以太網(wǎng)數(shù)據(jù)包在結(jié)尾處都會(huì)附帶一個(gè)32位的CRC校驗(yàn)碼。CRC即循環(huán)冗余校驗(yàn)碼,是數(shù)據(jù)通信領(lǐng)域中最常用的一種差錯(cuò)校驗(yàn)碼,信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定,在以太網(wǎng)通信中,它跟在有效報(bào)文后面發(fā)送。CRC校驗(yàn)的實(shí)質(zhì)是將CRC多項(xiàng)式與待校驗(yàn)字節(jié)做移位異或運(yùn)算,由于一個(gè)字節(jié)共有256種結(jié)果,故運(yùn)算結(jié)果也有256種,CRC查表法就是將此256種結(jié)果提前儲(chǔ)存在常量數(shù)組中,在計(jì)算時(shí),只需根據(jù)待校驗(yàn)字節(jié)所代表的數(shù)組位置直接查找結(jié)果即可。CRC校驗(yàn)的算法分為兩種:串行位算法、并行字節(jié)算法。串行位算法是將接收到的每一位數(shù)據(jù)與CRC生成多項(xiàng)式作一次邏輯運(yùn)算,直到接收完畢,該方法效率較低,一個(gè)時(shí)鐘周期僅能計(jì)算一位數(shù)據(jù);并行字節(jié)算法效率較高,它以一個(gè)字節(jié)為單位,將每個(gè)字節(jié)共256種結(jié)果存儲(chǔ)在常量數(shù)組中,計(jì)算時(shí)直接查表即可,一個(gè)時(shí)鐘周期可以計(jì)算8位數(shù)據(jù),但該算法一般都在接收完整一幀數(shù)據(jù)才開(kāi)始,當(dāng)網(wǎng)絡(luò)數(shù)據(jù)量較大的時(shí)候,依然不能滿足要求,因此需要一種效率更高的技術(shù)來(lái)支撐以太網(wǎng)越來(lái)越高速的數(shù)據(jù)量。

【發(fā)明內(nèi)容】

[0004]本發(fā)明的目的是提供一種以太網(wǎng)CRC校驗(yàn)方法,以解決現(xiàn)有校驗(yàn)方法無(wú)法滿足以太網(wǎng)數(shù)據(jù)量越來(lái)越大的問(wèn)題。
[0005]為實(shí)現(xiàn)上述目的,本發(fā)明的以太網(wǎng)CRC校驗(yàn)方法技術(shù)方案如下:在接收以太網(wǎng)一幀數(shù)據(jù)的同時(shí)對(duì)接收到的數(shù)據(jù)逐一字節(jié)進(jìn)行CRC運(yùn)算,記錄運(yùn)算得到的CRC并存儲(chǔ),將該運(yùn)算得到的CRC與最后接收數(shù)據(jù)中的CRC進(jìn)行比對(duì),實(shí)現(xiàn)CRC校驗(yàn)。
[0006]進(jìn)一步的,將接收到的數(shù)據(jù)依次存入一個(gè)FIFO的四字節(jié)CRC待校驗(yàn)緩沖區(qū),對(duì)溢出的每一個(gè)字節(jié)數(shù)據(jù)進(jìn)行查表,得到該字節(jié)的CRC并存儲(chǔ)帶入下一次運(yùn)算,直到接收數(shù)據(jù)完成,將最后CRC待校驗(yàn)緩沖區(qū)接收到的CRC與計(jì)算得到的CRC進(jìn)行比對(duì),完成CRC校驗(yàn)。
[0007]所述每接收到一個(gè)字節(jié)的數(shù)據(jù),在存入CRC待校驗(yàn)緩沖區(qū)的同時(shí)存入數(shù)據(jù)緩沖區(qū)。
[0008]所述運(yùn)算得到的CRC與最后接收數(shù)據(jù)中的CRC進(jìn)行比對(duì),若是兩CRC不同,則傳輸過(guò)程中出現(xiàn)了誤碼,數(shù)據(jù)緩沖區(qū)存儲(chǔ)的數(shù)據(jù)無(wú)效。
[0009]所述直到接收數(shù)據(jù)完成是當(dāng)最后一個(gè)字節(jié)傳輸完成,存入CRC待校驗(yàn)緩存區(qū)后,CRC待校驗(yàn)緩存區(qū)內(nèi)儲(chǔ)存的四個(gè)字節(jié)數(shù)據(jù)為待校驗(yàn)的CRC碼;同時(shí)待校驗(yàn)的CRC碼前一字節(jié)的最后一個(gè)有效數(shù)據(jù)的CRC校驗(yàn)計(jì)算完成,將CRC待校驗(yàn)緩存區(qū)內(nèi)存儲(chǔ)的待校驗(yàn)CRC與計(jì)算得到的CRC進(jìn)行比對(duì)便可得知該幀數(shù)據(jù)是否在傳輸過(guò)程中出現(xiàn)了誤碼。
[0010]進(jìn)一步的,在發(fā)送數(shù)據(jù)過(guò)程中,每發(fā)送一個(gè)字節(jié)的數(shù)據(jù),就查表得到該字節(jié)的CRC,并帶入下一次運(yùn)算,直到數(shù)據(jù)發(fā)送結(jié)束,形成最終的CRC數(shù)據(jù)包發(fā)送到鏈路上。
[0011 ] 所述數(shù)據(jù)的發(fā)送或接收通過(guò)PHY芯片的RMII接口完成,F(xiàn)PGA與PHY芯片通過(guò)RMII接口連接。
[0012]本發(fā)明的以太網(wǎng)CRC校驗(yàn)方法,在收發(fā)以太網(wǎng)報(bào)文的過(guò)程中以查表法為基礎(chǔ),在接收數(shù)據(jù)、發(fā)送數(shù)據(jù)的同時(shí)進(jìn)行CRC運(yùn)算,整個(gè)計(jì)算過(guò)程與編解碼過(guò)程是同步的,不占用額外的時(shí)鐘周期,極大提高了數(shù)據(jù)處理的速度和效率;FPGA與PHY芯片通過(guò)RMII接口連接,RMII接口在每個(gè)時(shí)鐘周期僅傳輸兩位數(shù)據(jù),傳輸一個(gè)字節(jié)需要四個(gè)周期,而將待校驗(yàn)字節(jié)查表,則需要兩個(gè)時(shí)鐘周期,因此,從時(shí)間效率上分析,可實(shí)現(xiàn)接收數(shù)據(jù)或發(fā)送數(shù)據(jù)的同時(shí)進(jìn)行CRC校驗(yàn);采用FPGA+PHY的硬件架構(gòu),利用FPGA豐富的I/O資源與多個(gè)PHY芯片的收發(fā)管腳直接相連,并利用FPGA并行處理數(shù)據(jù)的特性,可同時(shí)對(duì)多個(gè)網(wǎng)口數(shù)據(jù)進(jìn)行編解碼和CRC校驗(yàn)。
【專利附圖】

【附圖說(shuō)明】
[0013]圖1是CRC接收校驗(yàn)流程圖;
[0014]圖2是CRC發(fā)送校驗(yàn)流程圖;
[0015]圖3是實(shí)施例的硬件架構(gòu)圖。
【具體實(shí)施方式】
[0016]以太網(wǎng)CRC校驗(yàn)如圖1、2、3所示,在發(fā)送數(shù)據(jù)編碼過(guò)程中,每發(fā)送一個(gè)字節(jié)的數(shù)據(jù),就查表得到該字節(jié)的CRC,并帶入下一次運(yùn)算,直到數(shù)據(jù)發(fā)送結(jié)束,形成最終的CRC數(shù)據(jù)包通過(guò)PHY發(fā)送到鏈路上;FPGA接收從PHY發(fā)送的數(shù)據(jù),在接收數(shù)據(jù)解碼過(guò)程中,每接收一個(gè)字節(jié)的數(shù)據(jù),就查表得到該字節(jié)的CRC,并帶入下一次運(yùn)算,直到接收解碼完成,將接收到的CRC與計(jì)算得到的CRC進(jìn)行比對(duì),完成CRC校驗(yàn);整個(gè)計(jì)算過(guò)程與編解碼過(guò)程是同步的,不占用額外的時(shí)鐘周期,效率更高。
[0017]如圖3所示為硬件架構(gòu)圖,F(xiàn)PGA與CPU相連,與多個(gè)PHY芯片通過(guò)RMII接口連接,F(xiàn)PGA是硬件編程設(shè)計(jì),能實(shí)現(xiàn)對(duì)各種需求的定制服務(wù),它沒(méi)有指令周期,完全靠硬件電路的重構(gòu)來(lái)執(zhí)行所需功能,時(shí)序控制精度也很高,另外并行處理的優(yōu)勢(shì),也能實(shí)現(xiàn)同時(shí)對(duì)多個(gè)PHY的數(shù)據(jù)收發(fā)。RMII稱為媒體獨(dú)立接口,它是IEEE-802.3定義的以太網(wǎng)行業(yè)標(biāo)準(zhǔn),包括一個(gè)數(shù)據(jù)管理接口,以及一個(gè)MAC和PHY之間的管理接口。
[0018]以太網(wǎng)CRC校驗(yàn)方法在FPGA內(nèi)部實(shí)現(xiàn),利用FPGA豐富的I/O資源與多個(gè)PHY芯片的收發(fā)管腳直接相連,并利用其自身并行處理數(shù)據(jù)的優(yōu)勢(shì),可同時(shí)對(duì)這多個(gè)網(wǎng)口數(shù)據(jù)進(jìn)行編解碼和CRC校驗(yàn);另外,F(xiàn)PGA可通過(guò)軟件進(jìn)行配置和編程,從而可對(duì)特定報(bào)文進(jìn)行解析過(guò)濾,因此,可為FPGA后端的CPU釋放大量的資源,縮短數(shù)據(jù)處理的時(shí)間,從而防止網(wǎng)絡(luò)風(fēng)暴對(duì)CPU的穩(wěn)定運(yùn)行造成負(fù)面影響。
[0019]本以太網(wǎng)CRC校驗(yàn)方法是建立在CRC查表算法的基礎(chǔ)之上,在計(jì)算時(shí),只需根據(jù)待校驗(yàn)字節(jié)所代表的數(shù)組位置直接查找結(jié)果即可。據(jù)此效率上的優(yōu)勢(shì),F(xiàn)PGA可在以太網(wǎng)數(shù)據(jù)收發(fā)的過(guò)程中,完成CRC校驗(yàn)。在接收解碼過(guò)程中,每接收一個(gè)字節(jié)的數(shù)據(jù),即可根據(jù)算法得到該字節(jié)的CRC,并帶入下一次運(yùn)算,直到接收解碼完成;在發(fā)送編碼過(guò)程中,亦采用同樣的方式,每發(fā)送一個(gè)字節(jié)的數(shù)據(jù),計(jì)算一次CRC,直到發(fā)送完成,并將計(jì)算得到的CRC發(fā)送到鏈路上。
[0020]I,接收數(shù)據(jù)過(guò)程
[0021]如圖1所示,F(xiàn)PGA對(duì)來(lái)自PHY芯片的RMII接口的數(shù)據(jù)進(jìn)行實(shí)時(shí)解碼,開(kāi)辟一個(gè)32位的變量用來(lái)存儲(chǔ)每次查表得到的CRC校驗(yàn)碼,另外,除了開(kāi)辟一個(gè)儲(chǔ)存所有以太網(wǎng)數(shù)據(jù)的緩沖區(qū)以外,還需定義一個(gè)可儲(chǔ)存四個(gè)字節(jié)的CRC待校驗(yàn)緩沖區(qū)。
[0022]每收到一個(gè)字節(jié)在存入數(shù)據(jù)緩沖區(qū)后,同時(shí)存入CRC待校驗(yàn)緩沖區(qū)。此緩沖區(qū)保證先進(jìn)先出的原則,直到第五個(gè)字節(jié)壓入,第一個(gè)字節(jié)從緩沖區(qū)彈出,方可參與CRC校驗(yàn)運(yùn)算[0023]RMII接口在每個(gè)時(shí)鐘周期僅傳輸兩位數(shù)據(jù),傳輸一個(gè)字節(jié)需要四個(gè)周期,而將待校驗(yàn)字節(jié)查表,則需要兩個(gè)時(shí)鐘周期,因此,從時(shí)間效率上分析,在解碼過(guò)程中是完全可以完成CRC查表校驗(yàn)。
[0024]當(dāng)最后一個(gè)字節(jié)解碼完成,存入CRC待校驗(yàn)緩存區(qū)后,緩沖區(qū)內(nèi)儲(chǔ)存的四個(gè)字節(jié)數(shù)據(jù)正好為待校驗(yàn)的CRC碼;同時(shí),最后一個(gè)有效數(shù)據(jù)(即待校驗(yàn)的CRC碼前一字節(jié)的最后一個(gè)有效數(shù)據(jù))的CRC校驗(yàn)計(jì)算也正好完成,將兩者比較便可得知該幀數(shù)據(jù)是否在傳輸過(guò)程中出現(xiàn)了誤碼。
[0025]2、發(fā)送數(shù)據(jù)過(guò)程
[0026]如圖2所示,RMII接口發(fā)送的時(shí)序與接收近似,每個(gè)時(shí)鐘周期只能發(fā)送兩位數(shù)據(jù),因此,可在其編碼發(fā)送過(guò)程中,對(duì)該字節(jié)數(shù)據(jù)進(jìn)行CRC查表計(jì)算,待最后一個(gè)字節(jié)發(fā)送結(jié)束,便可將計(jì)算得到的CRC校驗(yàn)碼發(fā)送到鏈路上。
[0027]發(fā)送數(shù)據(jù)編碼過(guò)程和接收數(shù)據(jù)解碼過(guò)程在FPGA內(nèi)部可同時(shí)進(jìn)行,互不影響,并且可共用一個(gè)CRC表。此項(xiàng)專利受?chē)?guó)家高技術(shù)研究發(fā)展技術(shù)(863計(jì)劃)課題資助,課題編號(hào):2012AA050206。
[0028]最后所應(yīng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明而非限定本發(fā)明的技術(shù)方案,盡管參照上述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解;依然可以對(duì)本發(fā)明進(jìn)行修改或者等同替換,而不脫離本發(fā)明的精神和范圍的任何修改或局部替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
【權(quán)利要求】
1.以太網(wǎng)CRC校驗(yàn)方法,其特征在于,在接收以太網(wǎng)一幀數(shù)據(jù)的同時(shí)對(duì)接收到的數(shù)據(jù)逐一字節(jié)進(jìn)行CRC運(yùn)算,記錄運(yùn)算得到的CRC并存儲(chǔ),將該運(yùn)算得到的CRC與最后接收數(shù)據(jù)中的CRC進(jìn)行比對(duì),實(shí)現(xiàn)CRC校驗(yàn)。
2.根據(jù)權(quán)利要求1所述的以太網(wǎng)CRC校驗(yàn)方法,其特征在于:將接收到的數(shù)據(jù)依次存入一個(gè)FIFO的四字節(jié)CRC待校驗(yàn)緩沖區(qū),對(duì)溢出的每一個(gè)字節(jié)數(shù)據(jù)進(jìn)行查表,得到該字節(jié)的CRC并存儲(chǔ)帶入下一次運(yùn)算,直到接收數(shù)據(jù)完成,將最后CRC待校驗(yàn)緩沖區(qū)接收到的CRC與計(jì)算得到的CRC進(jìn)行比對(duì),完成CRC校驗(yàn)。
3.根據(jù)權(quán)利要求2所述的以太網(wǎng)CRC校驗(yàn)方法,其特征在于:所述每接收到一個(gè)字節(jié)的數(shù)據(jù),在存入CRC待校驗(yàn)緩沖區(qū)的同時(shí)存入數(shù)據(jù)緩沖區(qū)。
4.根據(jù)權(quán)利要求3所述的以太網(wǎng)CRC校驗(yàn)方法,其特征在于:所述運(yùn)算得到的CRC與最后接收數(shù)據(jù)中的CRC進(jìn)行比對(duì),若是兩CRC不同,則傳輸過(guò)程中出現(xiàn)了誤碼,數(shù)據(jù)緩沖區(qū)存儲(chǔ)的數(shù)據(jù)無(wú)效。
5.根據(jù)權(quán)利要求1所述的以太網(wǎng)CRC校驗(yàn)方法,其特征在于:所述直到接收數(shù)據(jù)完成是當(dāng)最后一個(gè)字節(jié)傳輸完成,存入CRC待校驗(yàn)緩存區(qū)后,CRC待校驗(yàn)緩存區(qū)內(nèi)儲(chǔ)存的四個(gè)字節(jié)數(shù)據(jù)為待校驗(yàn)的CRC碼;同時(shí)待校驗(yàn)的CRC碼前一字節(jié)的最后一個(gè)有效數(shù)據(jù)的CRC校驗(yàn)計(jì)算完成,將CRC待校驗(yàn)緩存區(qū)內(nèi)存儲(chǔ)的待校驗(yàn)CRC與計(jì)算得到的CRC進(jìn)行比對(duì)便可得知該幀數(shù)據(jù)是否在傳輸過(guò)程中出現(xiàn)了誤碼。
6.根據(jù)權(quán)利要求1-5中任一項(xiàng)所述的以太網(wǎng)CRC校驗(yàn)方法,在發(fā)送數(shù)據(jù)過(guò)程中,每發(fā)送一個(gè)字節(jié)的數(shù)據(jù),就查表得到該字節(jié)的CRC,并帶入下一次運(yùn)算,直到數(shù)據(jù)發(fā)送結(jié)束,形成最終的CRC數(shù)據(jù)包發(fā)送到鏈路上。
7.根據(jù)權(quán)利要求6所述的以太網(wǎng)CRC校驗(yàn)方法,其特征在于:所述數(shù)據(jù)的發(fā)送或接收通過(guò)PHY芯片的RMII接口完成,F(xiàn)PGA與PHY芯片通過(guò)RMII接口連接。
【文檔編號(hào)】H04L1/00GK103546240SQ201310438378
【公開(kāi)日】2014年1月29日 申請(qǐng)日期:2013年9月24日 優(yōu)先權(quán)日:2013年9月24日
【發(fā)明者】鄭拓夫, 周水斌, 閆志輝, 宋彥峰, 馬儀成 申請(qǐng)人:許繼集團(tuán)有限公司, 許繼電氣股份有限公司, 許昌許繼軟件技術(shù)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
昂仁县| 平舆县| 淮安市| 荣昌县| 尉犁县| 略阳县| 河池市| 崇义县| 陕西省| 明溪县| 莱州市| 金门县| 平原县| 鄂州市| 峨眉山市| 兴义市| 江城| 大理市| 阿鲁科尔沁旗| 逊克县| 河东区| 潍坊市| 沅陵县| 青铜峡市| 东兰县| 广宁县| 香格里拉县| 景谷| 西宁市| 清徐县| 无极县| 大关县| 雅安市| 锡林浩特市| 鄂伦春自治旗| 塔河县| 普洱| 安西县| 凉城县| 亳州市| 旌德县|