国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      以太網(wǎng)與atm層對接數(shù)據(jù)轉(zhuǎn)換校驗(yàn)裝置及方法

      文檔序號:7505650閱讀:386來源:國知局
      專利名稱:以太網(wǎng)與atm層對接數(shù)據(jù)轉(zhuǎn)換校驗(yàn)裝置及方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及數(shù)字通信技術(shù),更具體的說,是一種用來實(shí)現(xiàn)ATM(AsynchronousTransfer Mode,異步傳輸模式)層到以太網(wǎng)對接,并進(jìn)行數(shù)據(jù)CRC(循環(huán)冗余碼校驗(yàn))校驗(yàn)的裝置以及處理方法。
      背景技術(shù)
      以太網(wǎng)是Xerox公司發(fā)明的基帶LAN(局域網(wǎng))標(biāo)準(zhǔn)。它采用帶沖突檢測的載波監(jiān)聽多路訪問協(xié)議(CSMA/CD),傳輸介質(zhì)為同軸電纜,隨著通訊技術(shù)的高速發(fā)展,在各個(gè)領(lǐng)域得到越來越廣泛地應(yīng)用。以太網(wǎng)接入采用異步工作方式,適于處理IP突發(fā)數(shù)據(jù)流,發(fā)展至今,技術(shù)已有重要變化和突破(LAN交換、星形布線、大容量MAC地址存儲以及管理性等)。ATM是一種國際電信聯(lián)盟ITU-T制定的標(biāo)準(zhǔn),在這一模式中,信息被組織成信元,因包含來自某用戶信息的各個(gè)信元不需要周期性出現(xiàn),這種傳輸模式是異步的。由于兩者標(biāo)準(zhǔn)不同,當(dāng)數(shù)據(jù)需要在以太網(wǎng)和ATM之間交互時(shí),就需要對數(shù)據(jù)格式以及相應(yīng)的控制信號等進(jìn)行轉(zhuǎn)換。
      目前與以太網(wǎng)、ATM層對接的相關(guān)專利主要有專利申請?zhí)枮?,414,966的美國專利“Bridging device for mapping/demapping ethernet packet datadirectly onto and from a sonet network”,即組建、拆分以太網(wǎng)數(shù)據(jù)包并連接至SONET(多信道同步光纖網(wǎng)絡(luò))的橋接設(shè)備。
      上述專利的主要功能為完成以太網(wǎng)處理器接口到Utopia Level 2P(Fr-UTOPIA)接口的轉(zhuǎn)換,包括數(shù)據(jù)寬度、控制信號以及時(shí)序要求等。設(shè)備只要包括以太網(wǎng)控制模塊、存儲模塊、UTOPIA(采用異步傳輸模式(ATM)的通用測試及操作物理層接口)接口模塊、CPU接口模塊,處理流程中當(dāng)以太網(wǎng)側(cè)/UTOPIA側(cè)接收完畢數(shù)據(jù),再把控制權(quán)交給另一側(cè)控制模塊,同樣該側(cè)處理完畢后再把控制權(quán)交回。
      上述專利除實(shí)現(xiàn)ATM層和以太網(wǎng)的數(shù)據(jù)通訊以外,沒有在傳輸數(shù)據(jù)過程中同時(shí)對ATM信元進(jìn)行CRC16校驗(yàn)計(jì)算。從ATM層到以太網(wǎng)以及從以太網(wǎng)到ATM層兩個(gè)傳輸方向不能并行工作,局限于只有一個(gè)處理模塊可以工作,處理效率不高。

      發(fā)明內(nèi)容
      本發(fā)明的目的在于提供一種新的以太網(wǎng)與ATM層對接數(shù)據(jù)轉(zhuǎn)換校驗(yàn)裝置,并在此基礎(chǔ)上提供實(shí)現(xiàn)以太網(wǎng)到ATM層數(shù)據(jù)傳輸及校驗(yàn)的方法。本發(fā)明根據(jù)系統(tǒng)需求,提供網(wǎng)絡(luò)處理器專用總線到ATM標(biāo)準(zhǔn)總線之間的轉(zhuǎn)換接口,在進(jìn)行接口轉(zhuǎn)換同時(shí)進(jìn)行CRC校驗(yàn)計(jì)算,減少上層軟件的工作量,提高系統(tǒng)性能。
      本發(fā)明中的以太網(wǎng)與ATM層對接數(shù)據(jù)轉(zhuǎn)換校驗(yàn)裝置,包括從以太網(wǎng)到ATM層方向的以太同網(wǎng)發(fā)送模塊、發(fā)送CRC生成模塊、ATM發(fā)送模塊和從ATM層到以太網(wǎng)方向的ATM接收模塊、接收CRC校驗(yàn)?zāi)K、以太網(wǎng)接收模塊,以及ATM側(cè)發(fā)送、接收存儲模塊和以太網(wǎng)側(cè)發(fā)送、存儲模塊;所述以太網(wǎng)發(fā)送模塊,用來與以太網(wǎng)側(cè)的網(wǎng)絡(luò)處理器的專用總線進(jìn)行數(shù)據(jù)通信,包括數(shù)據(jù)包發(fā)送狀態(tài)控制,總線其它信號生成以及時(shí)序調(diào)整;所述發(fā)送CRC生成模塊,用來對整個(gè)數(shù)據(jù)包進(jìn)行CRC計(jì)算,并將計(jì)算結(jié)果添加到數(shù)據(jù)包末;所述ATM發(fā)送模塊,用來與ATM物理層進(jìn)行通信,發(fā)送附帶CRC計(jì)算結(jié)果的數(shù)據(jù)包;所述ATM接收模塊、接收CRC校驗(yàn)?zāi)K、以太網(wǎng)接收模塊,在數(shù)據(jù)流相反的方向完成對應(yīng)的功能;所述ATM側(cè)發(fā)送、接收存儲模塊和以太網(wǎng)側(cè)發(fā)送、存儲模塊,用來緩存ATM信元相關(guān)信息;在所述CRC生成模塊(103)和接收CRC校驗(yàn)?zāi)K(107)的芯片的RAM中存放有CRC計(jì)算對應(yīng)表格。CRC對應(yīng)計(jì)算表格有地址和數(shù)據(jù)兩項(xiàng)。
      在有兩個(gè)或兩個(gè)以上通道需要傳輸數(shù)據(jù)時(shí),可以在上述裝置的基礎(chǔ)上,在從以太網(wǎng)到ATM層方向增加發(fā)送端口仲裁模塊,在從ATM層到以太網(wǎng)方向增加接收端口仲裁模塊,用來平均分配出口資源。
      本發(fā)明的上述裝置采用多時(shí)鐘域。本裝置中共有三個(gè)時(shí)鐘,兩個(gè)為外部兩種總線的時(shí)鐘,一個(gè)為內(nèi)部鎖相環(huán)時(shí)鐘。外部總線接口時(shí)鐘是由本裝置外部的器件輸入,本裝置直接使用。發(fā)明中凡是以太網(wǎng)側(cè)的模塊均使用以太網(wǎng)側(cè)外部總線接口時(shí)鐘,ATM側(cè)模塊均使用ATM側(cè)外部總線接口時(shí)鐘;裝置內(nèi)部鎖相環(huán)是裝置內(nèi)部芯片自身所具有的附加功能,裝置內(nèi)部采用一些方法進(jìn)行調(diào)用,自行產(chǎn)生這個(gè)倍頻時(shí)鐘,僅僅供發(fā)送和接收方向的CRC模塊使用。即CRC生成、校驗(yàn)?zāi)K的工作時(shí)鐘選用裝置內(nèi)部芯片鎖相環(huán)輸出的倍頻時(shí)鐘,以太網(wǎng)發(fā)送、接收模塊采用以太網(wǎng)側(cè)外部總線接口時(shí)鐘,ATM發(fā)送、接收模塊采用ATM側(cè)外部總線接口時(shí)鐘。
      本發(fā)明中實(shí)現(xiàn)以太網(wǎng)到ATM層數(shù)據(jù)傳輸及校驗(yàn)的方法,包括以下步驟從以太網(wǎng)側(cè)到ATM層A.以太網(wǎng)的網(wǎng)絡(luò)處理器向ATM層發(fā)送數(shù)據(jù)包時(shí),檢測裝置相應(yīng)的端口狀態(tài),該端口上報(bào)有效信號,網(wǎng)絡(luò)處理器發(fā)出數(shù)據(jù)包;B.以太網(wǎng)側(cè)發(fā)送模塊將32bit寬度數(shù)據(jù)存入該側(cè)存儲FIFO;C.檢測到以太網(wǎng)發(fā)送側(cè)存儲FIFO中有待發(fā)數(shù)據(jù)包,并判斷ATM側(cè)發(fā)送存儲FIFO仍有空間,則運(yùn)行發(fā)送側(cè)CRC生成模塊,讀出數(shù)據(jù)包,進(jìn)行32bit到8bit位寬轉(zhuǎn)換以及CRC計(jì)算,存入ATM側(cè)FIFO;D.檢測到ATM側(cè)FIFO中有待發(fā)包,本裝置繼續(xù)檢測ATM層的PHY芯片端口狀態(tài),若端口有效,啟動ATM側(cè)發(fā)送模塊,將8bit寬度數(shù)據(jù)轉(zhuǎn)換為16bit后發(fā)出,若端口檢測無效,繼續(xù)等待;從ATM層到以太網(wǎng)E.ATM層有數(shù)據(jù)包需要傳送給以太網(wǎng)網(wǎng)絡(luò)處理器,對應(yīng)端口上報(bào)數(shù)據(jù)包有效信號;F.檢測ATM接收側(cè)FIFO狀態(tài),若仍有空間,啟動接收模塊,將16bit寬度數(shù)據(jù)轉(zhuǎn)換為8bit后依次存入FIFO;G.檢測到ATM接收FIFO中有數(shù)據(jù)包,同時(shí)檢測以太網(wǎng)側(cè)接收FIFO仍有空間,則運(yùn)行接收CRC校驗(yàn)?zāi)K,對數(shù)據(jù)包進(jìn)行CRC計(jì)算,并與接收到的CRC字節(jié)進(jìn)行比較,判斷傳輸過程中是否出錯(cuò),將8bit寬度轉(zhuǎn)換為32bit寬度后存入以太網(wǎng)側(cè)接收FIFO;H.上報(bào)網(wǎng)絡(luò)處理器有數(shù)據(jù)包需要接收,檢測到有效接收信號后,啟動以太網(wǎng)接收模塊(106),讀出FIFO中數(shù)據(jù),送給網(wǎng)絡(luò)處理器。
      上述步驟C和步驟G中的對數(shù)據(jù)進(jìn)行CRC計(jì)算,是指將從FIFO里讀出的數(shù)據(jù)包內(nèi)容經(jīng)過一些特定計(jì)算后作為地址進(jìn)行查表,也就是把這個(gè)地址送給RAM,然后給出對應(yīng)的其它控制信號,RAM就會輸出相應(yīng)的數(shù)據(jù),再對這個(gè)數(shù)據(jù)進(jìn)行處理后就得到CRC計(jì)算的結(jié)果。
      若同時(shí)有兩個(gè)或以上的通道需要傳送數(shù)據(jù),則啟動發(fā)送端口仲裁模塊和接收端口仲裁模塊,使各個(gè)通道同等占用總線。
      有益效果采用了本發(fā)明的裝置和方法,與現(xiàn)有技術(shù)相比較,不但能夠?qū)崿F(xiàn)以太網(wǎng)到ATM之間的總線轉(zhuǎn)換,還能同步完成數(shù)據(jù)的CRC計(jì)算,不需要再占用網(wǎng)絡(luò)處理器的資源,減少網(wǎng)絡(luò)處理器工作量,大大提高系統(tǒng)性能,目前測試四個(gè)端口完全可以滿足每個(gè)端口線速的性能要求。同時(shí)本發(fā)明在CRC計(jì)算模塊中采用RAM存儲查表方式,節(jié)省大量邏輯資源,降低系統(tǒng)成本。


      圖1是以太網(wǎng)與ATM對接數(shù)據(jù)轉(zhuǎn)換校驗(yàn)?zāi)K結(jié)構(gòu)示意圖。
      圖2是以太網(wǎng)發(fā)送模塊工作流程圖。
      圖3是發(fā)送CRC生成模塊工作流程圖。
      圖4是ATM側(cè)發(fā)送模塊工作流程圖。
      具體實(shí)施例方式
      下面結(jié)合附圖進(jìn)一步的對本發(fā)明進(jìn)行詳細(xì)說明。
      如附圖1所示,本發(fā)明的一個(gè)實(shí)施例結(jié)構(gòu)共包括以下幾個(gè)部分
      102以太網(wǎng)發(fā)送模塊,主要根據(jù)網(wǎng)絡(luò)處理器的查詢要求上報(bào)端口準(zhǔn)備信息,并實(shí)時(shí)檢測總線的數(shù)據(jù)包,用數(shù)據(jù)包的起始標(biāo)志位觸發(fā)發(fā)送狀態(tài)機(jī)(發(fā)送模塊的一部分),將總線的數(shù)據(jù)按32位寬度緩存入對應(yīng)存儲FIFO,同時(shí)緩存數(shù)據(jù)包起始、結(jié)束標(biāo)志位。
      103發(fā)送CRC生成模塊,檢測到以太網(wǎng)發(fā)送側(cè)FIFO中已緩存數(shù)據(jù)包,同時(shí)ATM側(cè)發(fā)送FIFO未填滿,啟動CRC生成狀態(tài)機(jī),將32位寬度的數(shù)據(jù)從以太網(wǎng)發(fā)送FIFO中讀出,由于CRC計(jì)算按字節(jié)處理,以太網(wǎng)側(cè)每四個(gè)時(shí)鐘周期使能一次FIFO,而ATM側(cè)每個(gè)周期均壓入一個(gè)字節(jié),并將CRC計(jì)算結(jié)果嵌在數(shù)據(jù)包最后,供數(shù)據(jù)包接收方進(jìn)行正確性校驗(yàn)。
      104ATM發(fā)送模塊,當(dāng)檢測到ATM側(cè)發(fā)送FIFO中已有緩存數(shù)據(jù)包,同時(shí)發(fā)送端口仲裁模塊判斷該端口有效,則啟動ATM側(cè)發(fā)送狀態(tài)機(jī),從FIFO中讀出數(shù)據(jù),處理數(shù)據(jù)寬度后發(fā)出。
      105發(fā)送端口仲裁模塊,109接收端口仲裁模塊,本發(fā)明中有四個(gè)端口同時(shí)工作,在ATM側(cè)共用一套出口總線,這兩個(gè)模塊的主要功能就是平均分配出口資源,保證各個(gè)通道的數(shù)據(jù)暢通。
      108ATM接收模塊,當(dāng)檢測到ATM層有數(shù)據(jù)包待傳送時(shí),檢測ATM接收側(cè)FIFO,若還有存儲空間,使能ATM接收狀態(tài)機(jī)(接收模塊的一部分),啟動一次接收過程,將16位寬數(shù)據(jù)按高低位順序轉(zhuǎn)換為8位寬后存入FIFO。
      107接收CRC校驗(yàn)?zāi)K,檢測到ATM接收側(cè)FIFO中有待傳數(shù)據(jù)包,并且以太網(wǎng)接收側(cè)FIFO仍有空間存放數(shù)據(jù)包,啟動CRC校驗(yàn)狀態(tài)機(jī),使能ATM接收FIFO,讀出數(shù)據(jù)包,按字節(jié)進(jìn)行CRC計(jì)算,而后把8位數(shù)據(jù)轉(zhuǎn)換為32位寬度后存入以太網(wǎng)接收FIFO,讀出整個(gè)數(shù)據(jù)包后,將CRC計(jì)算結(jié)果與數(shù)據(jù)包自帶的CRC字節(jié)進(jìn)行校驗(yàn),并將比對結(jié)果上報(bào)軟件進(jìn)行處理。
      106以太網(wǎng)接收模塊,該模塊定期接收網(wǎng)絡(luò)處理器的端口檢測信號,當(dāng)發(fā)現(xiàn)某個(gè)端口有數(shù)據(jù)包接收使能信號時(shí),啟動接收狀態(tài)機(jī),將數(shù)據(jù)包從以太網(wǎng)接收側(cè)FIFO中讀出,并按照時(shí)序要求整理各個(gè)控制信號后送出。
      存儲模塊,主要包括ATM側(cè)發(fā)送、接收數(shù)據(jù)存儲模塊,以太網(wǎng)側(cè)發(fā)送接收數(shù)據(jù)存儲模塊,對應(yīng)每個(gè)數(shù)據(jù)存儲模塊設(shè)置標(biāo)簽存儲模塊,緩存ATM信元相關(guān)的信息。本發(fā)明所有的存儲模塊均采用異步FIFO實(shí)現(xiàn),占用裝置內(nèi)部的RAM資源。本發(fā)明目前實(shí)現(xiàn)四通道數(shù)據(jù)接口,根據(jù)實(shí)際需要可以拓展。每個(gè)通道發(fā)送接收對應(yīng)獨(dú)立存儲FIFO,根據(jù)CRC計(jì)算要求,模塊內(nèi)部數(shù)據(jù)處理寬度為8bit,對外與ATM層與網(wǎng)絡(luò)處理器接口分別為16bit和32bit,以太網(wǎng)側(cè)存儲FIFO寬度為32bit,ATM側(cè)存儲FIFO寬度定義為8bit。
      在本發(fā)明的實(shí)施例中,根據(jù)需要增加通道數(shù),加入對應(yīng)端口的接收發(fā)送模塊,并在端口仲裁模塊中加入相應(yīng)端口狀態(tài)以就可以實(shí)現(xiàn)。
      在通信系統(tǒng)中,設(shè)備性能極為重要。本發(fā)明中數(shù)據(jù)總線寬度分別為8bit、16bit和32bit,為了不影響性能,采用多時(shí)鐘域處理,工作時(shí)鐘包括外部總線接口時(shí)鐘,裝置內(nèi)部鎖相環(huán)生成的倍頻時(shí)鐘,以匹配不同的數(shù)據(jù)處理寬度,消除性能瓶頸。本裝置提供16位CRC計(jì)算功能,為節(jié)約資源,在設(shè)計(jì)時(shí)將CRC計(jì)算對應(yīng)表格存儲在RAM里。RAM(Random Access Memory)即為隨機(jī)存取存貯器,在本裝置采用的芯片內(nèi)有很多存儲單元,使用者可以根據(jù)自己的需要,將它們設(shè)置成RAM或者FIFO這些不同類型的存儲器。在本發(fā)明中,將一定數(shù)量的存儲單元設(shè)置成一個(gè)RAM使用,存放CRC計(jì)算對應(yīng)表格。根據(jù)算法要求,必須在一個(gè)時(shí)鐘周期里得到查表值,并計(jì)算出下一次查表的地址,因此計(jì)算查表地址與時(shí)鐘上升沿同步,而讀RAM與時(shí)鐘下降沿同步。CRC計(jì)算按字節(jié)進(jìn)行,為了保證性能,該模塊的工作時(shí)鐘選用芯片鎖相環(huán)輸出的66M時(shí)鐘,這樣該模塊的時(shí)間約束就達(dá)到120M,要求比較嚴(yán)格,本發(fā)明采用優(yōu)化代碼以及布線等方法滿足了該約束。目前類似的設(shè)計(jì)一般采用函數(shù)直接查表,這樣需要占用很多寄存器資源,必須選用大容量的器件實(shí)現(xiàn),本發(fā)明采用的方法有效節(jié)省了邏輯資源,降低芯片成本。
      以下根據(jù)附圖2詳細(xì)說明以太網(wǎng)發(fā)送模塊的處理流程。
      201以太網(wǎng)側(cè)有待發(fā)送數(shù)據(jù)包,網(wǎng)絡(luò)處理器發(fā)出查詢信號,檢測是否可以進(jìn)行發(fā)送。
      202轉(zhuǎn)換裝置根據(jù)以太網(wǎng)側(cè)標(biāo)簽FIFO的計(jì)數(shù)值判斷對應(yīng)數(shù)據(jù)FIFO中是否還有緩存一個(gè)數(shù)據(jù)包的空間,若已經(jīng)沒有空間,上報(bào)無效的RDY信號,網(wǎng)絡(luò)處理器保持查詢狀態(tài)。反之上報(bào)有效RDY信號。
      203檢測到有效RDY信號后,網(wǎng)絡(luò)處理器發(fā)出發(fā)送使能信號,并同步向數(shù)據(jù)總線發(fā)出32位數(shù)據(jù)以及幀頭信號,以太網(wǎng)接收模塊檢測到有效的發(fā)送使能信號后,啟動以太網(wǎng)發(fā)送狀態(tài)機(jī)。
      204以太網(wǎng)發(fā)送模塊繼續(xù)檢測數(shù)據(jù)包幀頭信號,當(dāng)檢測到有效信號時(shí),進(jìn)入下一處理流程。
      205發(fā)送模塊使能該側(cè)發(fā)送存儲FIFO,該FIFO寬度為32位,將外部數(shù)據(jù)總線上的數(shù)據(jù)存入該FIFO。
      206發(fā)送模塊在接收過程中實(shí)時(shí)檢測幀結(jié)束標(biāo)志,當(dāng)檢測到該信號有效時(shí),結(jié)束接收。
      207關(guān)閉數(shù)據(jù)FIFO,同時(shí)將該數(shù)據(jù)包的對應(yīng)長度、奇偶校驗(yàn)信息等存入8位標(biāo)簽FIFO,并開始等待下一個(gè)數(shù)據(jù)包,該模塊的處理速度與外部接口總線一致,為33M。
      附圖3為發(fā)送CRC生成模塊流程圖。
      301發(fā)送CRC模塊實(shí)時(shí)檢測以太網(wǎng)側(cè)標(biāo)簽FIFO輸出的計(jì)數(shù)值,當(dāng)讀到以太網(wǎng)側(cè)標(biāo)簽FIFO計(jì)數(shù)值>=1,即表明數(shù)據(jù)FIFO中有待發(fā)數(shù)據(jù)包時(shí),進(jìn)入下一流程。
      302檢測若ATM側(cè)發(fā)送FIFO仍有空間,則啟動CRC發(fā)送狀態(tài)機(jī),反之進(jìn)行等待。
      303使能以太網(wǎng)標(biāo)簽FIFO,讀出對應(yīng)數(shù)據(jù)包相關(guān)信息。
      304使能以太網(wǎng)側(cè)數(shù)據(jù)FIFO,讀出32位數(shù)據(jù)后關(guān)閉FIFO。
      305CRC16需要按字節(jié)進(jìn)行計(jì)算,為了保證性能需要,采用內(nèi)部鎖相環(huán)輸出的倍頻66M時(shí)鐘作為同步時(shí)鐘。按照高低位順序,將32位數(shù)據(jù)拆分為字節(jié)進(jìn)行CRC16計(jì)算。
      306檢測是否計(jì)數(shù)到四個(gè)時(shí)鐘周期,由于以太網(wǎng)側(cè)數(shù)據(jù)FIFO一次讀出32位,而ATM側(cè)FIFO一次寫入8位,因此每四個(gè)周期讀一次以太網(wǎng)側(cè)FIFO,而寫操作可以連續(xù)進(jìn)行。若未到四個(gè)周期,繼續(xù)進(jìn)行CRC計(jì)算,若計(jì)數(shù)到四個(gè)周期,進(jìn)入下一次讀FIFO操作。
      307在進(jìn)行CRC計(jì)算同時(shí)檢測幀結(jié)束標(biāo)志位,若讀到該信號有效,說明本數(shù)據(jù)包已經(jīng)傳送完畢。
      308將CRC計(jì)算結(jié)果附加在數(shù)據(jù)包末尾,寫入ATM側(cè)發(fā)送FIFO,以滿足外部設(shè)備檢驗(yàn)要求。而后關(guān)閉ATM側(cè)數(shù)據(jù)FIFO。
      309將該數(shù)據(jù)包長度、端口號等對應(yīng)信息寫入ATM側(cè)標(biāo)簽FIFO,而后關(guān)閉FIFO,完成操作。
      在該模塊中,CRC計(jì)算是關(guān)鍵部分。CRC16生成多項(xiàng)式=1+x5+x12+x16,查表算法是基于此多項(xiàng)式的一種變換算法,對于每8bit數(shù)據(jù),查表的計(jì)算公式為CRC=(CRC>>8)^CRCTAB[(CRC^data)&amp;0xFF]計(jì)算方法為首先將需計(jì)算CRC的8bit數(shù)據(jù)與上次CRC結(jié)果的低8位異或,而后再與16進(jìn)制數(shù)據(jù)FF相與,得到的數(shù)據(jù)即為查表地址,而后將上次CRC結(jié)果右移8位,高位用0填充,將該數(shù)據(jù)與CRC查表值異或后就可得到本次CRC計(jì)算結(jié)果。其中(CRC^data)&amp;0xFF表示CRC與data異或之后再同0xFF相與;CRCTAB( )表示用上面求得的值的低8位查表,得一16bit值;CRC>>8表示CRC右移8位(16此特,移位后高8位為0);每一幀計(jì)算初始時(shí)CRC=0xFFFF,由于需要與時(shí)鐘同步,每一個(gè)時(shí)鐘沿只能計(jì)算一次,而計(jì)算值到下一個(gè)時(shí)鐘沿才可用。每讀到8bit數(shù)據(jù),按上面的步驟重復(fù)計(jì)算。當(dāng)有幀結(jié)束標(biāo)志出現(xiàn),表示一幀結(jié)束,CRC=NOT CRC(或CRC XOR0xFFFF),即取一次非運(yùn)算,就得到該數(shù)據(jù)包的CRC計(jì)算結(jié)果,然后低字節(jié)在前,高字節(jié)在后,附加在數(shù)據(jù)包最后,寫入發(fā)送FIFO。
      附圖4為ATM發(fā)送模塊流程圖。
      401ATM側(cè)發(fā)送模塊檢測到ATM側(cè)發(fā)送FIFO中有待傳數(shù)據(jù)包,啟動端口仲裁器。
      402若只有一個(gè)端口有緩存數(shù)據(jù)包待發(fā)送,則不需仲裁,直接將總線使用權(quán)交給該端口,反之根據(jù)平均原則分配總線,保證每個(gè)端口對總線的占用率均一致。發(fā)送模塊同時(shí)檢測ATM層器件接收狀態(tài),若該器件暫時(shí)不能接收,該模塊停留在查詢狀態(tài),若可以接收,并且通過仲裁得到總線占用權(quán),就啟動ATM側(cè)發(fā)送狀態(tài)機(jī)。
      403發(fā)送狀態(tài)機(jī)使能對應(yīng)標(biāo)簽FIFO,將緩存數(shù)據(jù)包的相關(guān)信息讀出,進(jìn)行判斷,若該數(shù)據(jù)包為一個(gè)錯(cuò)誤包,則直接丟棄,不送給外圍器件,若為正常數(shù)據(jù)包,則開始傳送。
      404使能數(shù)據(jù)FIFO,讀出8位寬度數(shù)據(jù),由于外圍接口總線寬度為16位寬,根據(jù)數(shù)據(jù)先后順序?qū)?位寬度數(shù)據(jù)轉(zhuǎn)換為16位總線寬度后再送出,同時(shí)對應(yīng)送出總線上各個(gè)控制信號。
      405持續(xù)發(fā)送過程,并實(shí)時(shí)檢測幀結(jié)束標(biāo)志位,一旦讀到該信號有效,說明該數(shù)據(jù)包已經(jīng)傳送完畢。
      406ATM發(fā)送狀態(tài)機(jī)關(guān)閉ATM發(fā)送數(shù)據(jù)FIFO,同時(shí)釋放外圍總線使用權(quán),完成一次數(shù)據(jù)包發(fā)送過程。
      從ATM層到以太網(wǎng)的數(shù)據(jù)傳輸過程與以上流程方向相反,原理結(jié)構(gòu)等基本一致。不同點(diǎn)主要是從ATM層過來的數(shù)據(jù)包末尾已經(jīng)帶有CRC字節(jié),接收CRC校驗(yàn)?zāi)K和發(fā)送方向處理方法一樣,但是不再添加CRC字節(jié),而是把計(jì)算所得的CRC字節(jié)與數(shù)據(jù)包所帶的字節(jié)進(jìn)行比較,將比較結(jié)果附加在數(shù)據(jù)包后上報(bào)給軟件。
      本發(fā)明主要完成從以太網(wǎng)網(wǎng)絡(luò)處理器到ATM層的數(shù)據(jù)通信以及校驗(yàn)。通過應(yīng)用本發(fā)明,除了方便快捷地實(shí)現(xiàn)以太網(wǎng)和ATM層的通訊,還提供數(shù)據(jù)校驗(yàn)功能,避免軟件進(jìn)行CRC計(jì)算,節(jié)約大量系統(tǒng)資源,提高通訊設(shè)備的性能。根據(jù)不同需求,本發(fā)明還可以較方便的進(jìn)行擴(kuò)展,不需改變基本結(jié)構(gòu)和處理流程,就可以適應(yīng)CRC32等多種校驗(yàn)方法,或者實(shí)現(xiàn)其它總線類型之間的轉(zhuǎn)換,應(yīng)用空間廣泛。
      權(quán)利要求
      1.一種以太網(wǎng)與ATM層對接數(shù)據(jù)轉(zhuǎn)換校驗(yàn)裝置,包括從以太網(wǎng)到ATM層方向的以太同網(wǎng)發(fā)送模塊(102)、發(fā)送CRC生成模塊(103)、ATM發(fā)送模塊(104)和從ATM層到以太網(wǎng)方向的ATM接收模塊(108)、接收CRC校驗(yàn)?zāi)K(107)、以太網(wǎng)接收模塊(106),以及ATM側(cè)發(fā)送、接收存儲模塊和以太網(wǎng)側(cè)發(fā)送、存儲模塊;所述以太網(wǎng)發(fā)送模塊(102),用來與以太網(wǎng)側(cè)的網(wǎng)絡(luò)處理器的專用總線進(jìn)行數(shù)據(jù)通信,包括數(shù)據(jù)包發(fā)送狀態(tài)控制,總線其它信號生成以及時(shí)序調(diào)整;所述發(fā)送CRC生成模塊(103),用來對整個(gè)數(shù)據(jù)包進(jìn)行CEC計(jì)算,并將計(jì)算結(jié)果添加到數(shù)據(jù)包末;所述ATM發(fā)送模塊(104),用來與ATM物理層進(jìn)行通信,發(fā)送附帶CRC計(jì)算結(jié)果的數(shù)據(jù)包;所述ATM接收模塊(108)、接收CRC校驗(yàn)?zāi)K(107)、以太網(wǎng)接收模塊(106),在數(shù)據(jù)流相反的方向完成對應(yīng)的功能;所述ATM側(cè)發(fā)送、接收存儲模塊和以太網(wǎng)側(cè)發(fā)送、存儲模塊,用來緩存ATM信元相關(guān)信息;在所述CRC生成模塊(103)和接收CRC校驗(yàn)?zāi)K(107)的芯片的RAM中存放有CRC計(jì)算對應(yīng)表格。
      2.權(quán)利要求1所述的以太網(wǎng)與ATM層對接數(shù)據(jù)轉(zhuǎn)換校驗(yàn)裝置,其特征在于在從以太網(wǎng)到ATM層方向還有發(fā)送端口仲裁模塊(105),在從ATM層到以太網(wǎng)方向還有接收端口仲裁模塊(109);所述發(fā)送端口仲裁模塊(105)和接收端口仲裁模塊,在有兩個(gè)或兩個(gè)以上通道需要傳輸數(shù)據(jù)時(shí),用來平均分配出口資源。
      3.權(quán)利要求1或2所述的以太網(wǎng)與ATM層對接數(shù)據(jù)轉(zhuǎn)換校驗(yàn)裝置,其特征在于該裝置采用多時(shí)鐘域,其中CRC生成、校驗(yàn)?zāi)K的工作時(shí)鐘選用裝置內(nèi)部芯片鎖相環(huán)輸出的倍頻時(shí)鐘,以太網(wǎng)發(fā)送、接收模塊采用以太網(wǎng)側(cè)外部總線接口時(shí)鐘,ATM發(fā)送、接收模塊采用ATM側(cè)外部總線接口時(shí)鐘。
      4.實(shí)現(xiàn)以太網(wǎng)到ATM層數(shù)據(jù)傳輸及校驗(yàn)的方法,包括以下步驟從以太網(wǎng)側(cè)到ATM層A.以太網(wǎng)的網(wǎng)絡(luò)處理器(101)向ATM層發(fā)送數(shù)據(jù)包時(shí),檢測裝置相應(yīng)的端口狀態(tài),該端口上報(bào)有效信號,網(wǎng)絡(luò)處理器發(fā)出數(shù)據(jù)包;B.以太網(wǎng)側(cè)發(fā)送模塊(102)將32bit寬度數(shù)據(jù)存入該側(cè)存儲FIFO;C.檢測到以太網(wǎng)發(fā)送側(cè)存儲FIFO中有待發(fā)數(shù)據(jù)包,并判斷ATM側(cè)發(fā)送存儲FIFO仍有空間,則運(yùn)行發(fā)送側(cè)CRC生成模塊(103),讀出數(shù)據(jù)包,進(jìn)行32bit到8bit位寬轉(zhuǎn)換以及CRC計(jì)算,存入ATM側(cè)FIFO;D.檢測到ATM側(cè)FIFO中有待發(fā)包,本裝置繼續(xù)檢測ATM層的PHY芯片(110)端口狀態(tài),若端口有效,啟動ATM側(cè)發(fā)送模塊(104),將8bit寬度數(shù)據(jù)轉(zhuǎn)換為16bit后發(fā)出,若端口檢測無效,繼續(xù)等待;從ATM層到以太網(wǎng)E.ATM層有數(shù)據(jù)包需要傳送給以太網(wǎng)網(wǎng)絡(luò)處理器(101),對應(yīng)端口上報(bào)數(shù)據(jù)包有效信號;F.檢測ATM接收側(cè)FIFO狀態(tài),若仍有空間,啟動接收模塊(108),將16bit寬度數(shù)據(jù)轉(zhuǎn)換為8bit后依次存入FIFO;G.檢測到ATM接收FIFO中有數(shù)據(jù)包,同時(shí)檢測以太網(wǎng)側(cè)接收FIFO仍有空間,則運(yùn)行接收CRC校驗(yàn)?zāi)K(107),對數(shù)據(jù)包進(jìn)行CRC計(jì)算,并與接收到的CRC字節(jié)進(jìn)行比較,判斷傳輸過程中是否出錯(cuò),將8bit寬度轉(zhuǎn)換為32bit寬度后存入以太網(wǎng)側(cè)接收FIFO;H.上報(bào)網(wǎng)絡(luò)處理器有數(shù)據(jù)包需要接收,檢測到有效接收信號后,啟動以太網(wǎng)接收模塊(106),讀出FIFO中數(shù)據(jù),送給網(wǎng)絡(luò)處理器(101)。
      5.權(quán)利要求4所述的實(shí)現(xiàn)以太網(wǎng)到ATM層數(shù)據(jù)傳輸及校驗(yàn)的方法,其特征在于步驟C和步驟G中的對數(shù)據(jù)進(jìn)行CRC計(jì)算,是指將從FIFO里讀出的數(shù)據(jù)包內(nèi)容經(jīng)過計(jì)算后作為地址送給RAM,然后給出對應(yīng)的控制信號,RAM輸出相應(yīng)的數(shù)據(jù),再對這個(gè)數(shù)據(jù)進(jìn)行處理得到CRC計(jì)算的結(jié)果。
      6.權(quán)利要求4或5所述的實(shí)現(xiàn)以太網(wǎng)到ATM層數(shù)據(jù)傳輸及校驗(yàn)的方法,其特征在于若同時(shí)有兩個(gè)或以上的通道需要傳送數(shù)據(jù),則啟動發(fā)送端口仲裁模塊(105)和接收端口仲裁模塊(109),使各個(gè)通道同等占用總線。
      全文摘要
      一種以太網(wǎng)與ATM層對接數(shù)據(jù)轉(zhuǎn)換校驗(yàn)裝置及方法,其裝置包括從以太網(wǎng)到ATM層方向的以太同網(wǎng)發(fā)送模塊、發(fā)送CRC生成模塊、ATM發(fā)送模塊和從ATM層到以太網(wǎng)方向的ATM接收模塊、接收CRC校驗(yàn)?zāi)K、以太網(wǎng)接收模塊,以及ATM側(cè)發(fā)送、接收存儲模塊和以太網(wǎng)側(cè)發(fā)送、存儲模塊;其方法為利用上述裝置實(shí)現(xiàn)以太網(wǎng)與ATM層對接數(shù)據(jù)轉(zhuǎn)換和校驗(yàn)。采用本發(fā)明不但能夠?qū)崿F(xiàn)以太網(wǎng)到ATM之間的總線轉(zhuǎn)換,還能同步完成數(shù)據(jù)的CRC計(jì)算,不需要再占用網(wǎng)絡(luò)處理器的資源,減少網(wǎng)絡(luò)處理器工作量,大大提高系統(tǒng)性能。同時(shí)本發(fā)明在CRC計(jì)算模塊中采用RAM存儲查表方式,節(jié)省大量邏輯資源,降低系統(tǒng)成本。
      文檔編號H03M13/00GK1529476SQ20031011189
      公開日2004年9月15日 申請日期2003年10月21日 優(yōu)先權(quán)日2003年10月21日
      發(fā)明者杜曉蕓 申請人:中興通訊股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1