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

一種基于以太網(wǎng)核接收控制器的雙接收fifo方法

文檔序號(hào):7852220閱讀:265來源:國知局
專利名稱:一種基于以太網(wǎng)核接收控制器的雙接收fifo方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種以太網(wǎng)控制器體系結(jié)構(gòu),特別是一種基于以太網(wǎng)核接收控制器的雙接收FIFO方法。
背景技術(shù)
以太網(wǎng)接收控制器的設(shè)計(jì)是整個(gè)以太網(wǎng)控制器的關(guān)鍵設(shè)計(jì)之一。目前通用的以太網(wǎng)接收控制器都是先將網(wǎng)絡(luò)上的數(shù)據(jù)幀先暫存于接收FIFO中(接收FIFO深度大小不一)。在SoC芯片設(shè)計(jì)中,為了有效合理使用總線,當(dāng)寫入接收FIFO中的數(shù)據(jù)量達(dá)到某個(gè)上界值時(shí)才將數(shù)據(jù)寫入主存。一個(gè)較大的數(shù)據(jù)幀可能要分多次從接收FIFO寫入主存。不同于發(fā)送控制器,當(dāng)網(wǎng)絡(luò)上發(fā)送過來的數(shù)據(jù)幀在未傳輸完畢前,不知道數(shù)據(jù)幀長。因此,當(dāng)數(shù)據(jù)幀傳輸完畢后,最后接收FIFO中都?xì)埩舸龑懭胫鞔娴臄?shù)據(jù)。若系統(tǒng)主頻不太高,當(dāng)網(wǎng)絡(luò)中下一幀數(shù)據(jù)緊跟而來時(shí),若再寫入同一個(gè)接收FIFO中,勢(shì)必會(huì)引起數(shù)據(jù)幀混淆,而導(dǎo)致接收出錯(cuò)。這時(shí)只有將下一幀數(shù)據(jù)丟棄才能保證上一幀數(shù)據(jù)不會(huì)出錯(cuò),因而數(shù)據(jù)傳輸效率受到極大的影響。

發(fā)明內(nèi)容
1、發(fā)明目的本發(fā)明的目的是提供一種有效的能提高以太網(wǎng)接收數(shù)據(jù)處理能力的方法,解決SoC芯片設(shè)計(jì)中現(xiàn)有單接收FIFO中可能導(dǎo)致待接收的數(shù)據(jù)幀丟棄的問題。
2、技術(shù)方案為實(shí)現(xiàn)上述目的,需要額外的硬件支持,即給接收控制器再添加一個(gè)接收FIFO以及相應(yīng)的控制邏輯。詳細(xì)方法包括以下步驟當(dāng)網(wǎng)絡(luò)中上一幀數(shù)據(jù)傳輸完畢后,數(shù)據(jù)都將寫入一個(gè)接收FIFO(設(shè)為FIFO1)中,此后對(duì)該接收FIFO將只有讀操作以寫入主存,而再無寫操作。
接收控制器在將該接收FIFO的數(shù)據(jù)通過系統(tǒng)總線寫入主存時(shí),若緊接著收到下一數(shù)據(jù)幀,則該數(shù)據(jù)幀將寫入另一個(gè)接收FIFO(設(shè)為FIFO2)中。對(duì)此接收FIFO此時(shí)只有寫入操作而無讀取操作。
當(dāng)接收FIFO2中的數(shù)據(jù)量達(dá)到其傳輸上界時(shí),硬件能保證接收FIFO1中的數(shù)據(jù)能完全被寫入主存,即上一幀接收完畢;此時(shí)接收控制器可將接收FIFO2中的數(shù)據(jù)寫入主存。
當(dāng)再接收下一個(gè)數(shù)據(jù)幀時(shí),再使用接收FIFO1,如此輪流切換兩個(gè)接收FIFO。
3、有益效果本發(fā)明與現(xiàn)有技術(shù)相比,其顯著優(yōu)點(diǎn)是在改進(jìn)使用兩個(gè)接收FIFO后,能完全解決丟幀問題,極大地提高了數(shù)據(jù)傳輸?shù)男?。同時(shí)本發(fā)明具有代價(jià)小,實(shí)現(xiàn)靈活,效率高的優(yōu)點(diǎn)。
具體實(shí)施例方式
本發(fā)明針對(duì)基于龍芯1號(hào)的稅控SoC芯片和Linux操作系統(tǒng)做了具體實(shí)施,下面將詳細(xì)描述基于龍芯1號(hào)的稅控SoC芯片內(nèi)部集成一個(gè)10/100Mbps以太網(wǎng)控制器IP核。在10Mbps網(wǎng)絡(luò)環(huán)境中,由于接收控制器工作頻率(2.5MHz)遠(yuǎn)低于系統(tǒng)主頻(33MHz),待接收的數(shù)據(jù)幀間隔較大。使用一個(gè)接收FIFO已足夠能滿足數(shù)據(jù)接收處理需求。在啟動(dòng)Linux操作系統(tǒng)后,使用ping命令以及其它測(cè)試工具,能完整的接收各種大小的IP數(shù)據(jù)包,可見以太網(wǎng)接收控制器并沒有丟棄數(shù)據(jù)幀。
但在100Mbps網(wǎng)絡(luò)環(huán)境中,接收控制器工作頻率(25MHz)稍低于系統(tǒng)主頻(33MHz)。當(dāng)ping較大(大于30KB)的數(shù)據(jù)包時(shí),網(wǎng)絡(luò)層軟件將會(huì)將IP數(shù)據(jù)包拆分為符合IEEE802.3規(guī)定的數(shù)據(jù)幀,再發(fā)送出去。這些拆分的數(shù)據(jù)幀間間隔很小。使用一個(gè)接收FIFO時(shí),以太網(wǎng)接收控制器將會(huì)丟棄一些來不及處理的數(shù)據(jù)幀,從而大大降低性能和傳輸效率。
在改進(jìn)使用兩個(gè)接收FIFO,即FIFO1和FIFO2后,仍在100Mbps網(wǎng)絡(luò)環(huán)境中做同樣的測(cè)試,由于輪流切換兩個(gè)接收FIFO,一個(gè)將上一幀數(shù)據(jù)寫入主存,另一個(gè)繼續(xù)接收下一數(shù)據(jù)幀,因此能完全解決丟幀問題。試驗(yàn)表明,使用雙接收FIFO后,可以ping最大長度為64KB(IP數(shù)據(jù)包最大長度)的IP數(shù)據(jù)包,而未發(fā)生任何數(shù)據(jù)幀丟棄問題,效率提高70%左右。
本發(fā)明除了適用于SoC芯片設(shè)計(jì)中的100Mbps以太網(wǎng)接收控制器外,還適用于1000Mbps以太網(wǎng)控制器甚至所有串行數(shù)據(jù)接收控制器。
權(quán)利要求
1.一種基于以太網(wǎng)核接收控制器的雙接收FIFO方法,其特征是接收控制器中同時(shí)使兩個(gè)接收FIFO并行工作,一個(gè)將上一幀數(shù)據(jù)寫入主存,另一個(gè)繼續(xù)接收下一數(shù)據(jù)幀,如此輪流切換兩個(gè)接收FIFO。
2.根據(jù)權(quán)利要求1所述的一種基于以太網(wǎng)核接收控制器的雙接收FIFO方法,其特征是所述輪流切換兩個(gè)接收FIFO包括以下步驟當(dāng)網(wǎng)絡(luò)中上一幀數(shù)據(jù)傳輸完畢后,數(shù)據(jù)都將寫入第一個(gè)接收FIFO1中,此后對(duì)該接收FIFO1將只有讀操作以寫入主存,而再無寫操作;接收控制器在將該接收FIFO1的數(shù)據(jù)通過系統(tǒng)總線寫入主存時(shí),若緊接著收到下一數(shù)據(jù)幀時(shí),則該數(shù)據(jù)幀將寫入另一個(gè)接收FIFO2中,對(duì)此接收FIFO2此時(shí)只有寫入操作而無讀取操作;當(dāng)?shù)诙€(gè)接收FIFO2中的數(shù)據(jù)量達(dá)到其傳輸上界時(shí),硬件能保證第一個(gè)接收FIFO1中的數(shù)據(jù)能完全被寫入主存,即上一幀接收完畢;此時(shí)接收控制器可將接收FIFO2中的數(shù)據(jù)寫入主存;當(dāng)再接收下一個(gè)數(shù)據(jù)幀時(shí),則使用第一個(gè)接收FIFO1,如此輪流切換兩個(gè)接收FIFO。
全文摘要
本發(fā)明公開了一種基于以太網(wǎng)核接收控制器的雙接收FIFO方法。該方法是接收控制器中同時(shí)使兩個(gè)接收FIFO并行工作,一個(gè)將上一幀數(shù)據(jù)寫入主存,另一個(gè)繼續(xù)接收下一數(shù)據(jù)幀,如此輪流切換兩個(gè)接收FIFO。本發(fā)明的優(yōu)點(diǎn)是在改進(jìn)使用兩個(gè)接收FIFO后,能完全解決丟幀問題,極大地提高了數(shù)據(jù)傳輸?shù)男?。同時(shí)本發(fā)明具有代價(jià)小,實(shí)現(xiàn)靈活,效率高的優(yōu)點(diǎn)。
文檔編號(hào)H04L12/00GK1909460SQ20061004131
公開日2007年2月7日 申請(qǐng)日期2006年8月14日 優(yōu)先權(quán)日2006年8月14日
發(fā)明者吳少剛, 章軍, 肖永田 申請(qǐng)人:江蘇中科龍夢(mèng)科技有限公司
平舆县| 开鲁县| 宣化县| 新绛县| 承德县| 左权县| 和平县| 赤峰市| 辰溪县| 丹寨县| 犍为县| 兴业县| 怀集县| 修水县| 洮南市| 佳木斯市| 汶上县| 虹口区| 乌鲁木齐县| 全州县| 南通市| 海口市| 越西县| 遂川县| 和政县| 大洼县| 巴彦县| 高陵县| 维西| 扶绥县| 扬中市| 奉新县| 敦煌市| 曲靖市| 黄石市| 策勒县| 九台市| 莆田市| 资中县| 治县。| 盐城市|