<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 淺談嵌入式網(wǎng)絡(luò )終端報文收發(fā)機制的研究

淺談嵌入式網(wǎng)絡(luò )終端報文收發(fā)機制的研究

作者: 時(shí)間:2012-01-04 來(lái)源:網(wǎng)絡(luò ) 收藏

1、 引言

本文引用地址:http://dyxdggzs.com/article/149893.htm

21世紀已進(jìn)入計算機時(shí)代。計算機極大普及,計算機應用已進(jìn)入更高層次,計算機成了計算機行業(yè)的一部分。新一代的計算機已將網(wǎng)絡(luò )接口集成到主板上,網(wǎng)絡(luò )功能已嵌入到操作系統之中,智能大樓的興建已經(jīng)和計算機網(wǎng)絡(luò )布線(xiàn)同時(shí)、同地、同方案施工。隨著(zhù)通信和計算機技術(shù)緊密結合和同步發(fā)展,我國計算機網(wǎng)絡(luò )技術(shù)飛躍發(fā)展 .尤其在網(wǎng)絡(luò )系統中,網(wǎng)絡(luò )依靠協(xié)議棧完成,其功能集中在傳輸層、網(wǎng)絡(luò )層和鏈路層。通常的接收是在鏈路層以上建立接收任務(wù),通過(guò)查詢(xún)物理層的通信狀態(tài)或者由物理層中斷觸發(fā),來(lái)接收網(wǎng)絡(luò )數據。這兩種方式都有一定的缺陷。查詢(xún)方式,就是接收任務(wù)按照某種規則檢查底層是否收到新數據,簡(jiǎn)單可靠,但由于網(wǎng)絡(luò )通信是一種隨機的離散事件,查詢(xún)方式可能對處理器資源造成嚴重浪費,加大通信延時(shí)。本文提出一種中斷與查詢(xún)結合使用的方法,通過(guò)實(shí)踐,表明這套具有高效、穩定、可靠的優(yōu)點(diǎn)。

2、

本文的目標是充分利用系統的處理器和存儲器資源,保證網(wǎng)絡(luò )收發(fā)的實(shí)時(shí)性和吞吐量。本系統按圖1的基本架構實(shí)現網(wǎng)絡(luò )通信,由三層功能模塊和兩級緩存構成一條接收通道和一條發(fā)送通道。上層是系統應用程序。底層負責物理鏈路上的數據收發(fā)。中層由協(xié)議棧和網(wǎng)絡(luò )接口適配器驅動(dòng)負責上層和底層的數據交互。有兩級緩存,上層與中層之間的二級緩存用于網(wǎng)絡(luò )報文的封裝和解析;中層與底層之間的一級緩存分為接收緩存和發(fā)送緩存,采用環(huán)行結構,作用是解決與網(wǎng)絡(luò )之間異步問(wèn)題。接收過(guò)程分為三個(gè)階段,主要工作在RX2階段;發(fā)送過(guò)程分為兩個(gè)階段,上層和中層屬于同一階段(TX2)。原因是發(fā)送過(guò)程是主動(dòng)過(guò)程,由高層發(fā)起并控制低層完成,而接收過(guò)程中低層先得到數據,但只能等待而不能控制高層的響應。通常物理層、媒體訪(fǎng)問(wèn)控制(MAC)和一級緩存可以使用網(wǎng)絡(luò )接口控制器 (Network Interface Controller: NIC) 實(shí)現,NIC能獨立完成物理鏈路上的報文收發(fā)。

網(wǎng)絡(luò )適配器又稱(chēng)網(wǎng)卡或NIC(網(wǎng)絡(luò )接口控制器),是一塊被設計用來(lái)允許計算機在計算機網(wǎng)絡(luò )上進(jìn)行通訊的計算機硬件。由于其擁有MAC地址,因此屬于OSI模型的第2層。它使得用戶(hù)可以透過(guò)電纜或無(wú)線(xiàn)相互連接。 每一個(gè)網(wǎng)卡都有一個(gè)被稱(chēng)為MAC地址的獨一無(wú)二的48位串行號,它被寫(xiě)在卡上的一塊ROM中。在網(wǎng)絡(luò )上的每一個(gè)計算機都必須擁有一個(gè)獨一無(wú)二的MAC地址。沒(méi)有任何兩塊被生產(chǎn)出來(lái)的網(wǎng)卡擁有同樣的地址。這是因為電氣電子工程師協(xié)會(huì )(IEEE)負責為網(wǎng)絡(luò )接口控制器銷(xiāo)售商分配唯一的MAC地址。

01.jpg

2、1接收流程

02.jpg

本系統中,網(wǎng)絡(luò )報文接收過(guò)程RX2階段如圖2.初始狀態(tài)下,打開(kāi)接收中斷A和一級緩沖溢出中斷B.若物理層收到一幀或多幀數據,就存入一級接收緩存,并向處理器發(fā)出中斷請求。中斷請求即緊急事件須向處理器提出申請(發(fā)一個(gè)電脈沖信號),要求中斷,即要求處理器先停下自己手頭的工作先去處理我的急件,這一申請過(guò)程。系統將會(huì )執行相應中斷程序,檢查一級接收緩存是否溢出。如果溢出,就對其復位,并回到初始狀態(tài)。否則,關(guān)閉中斷A、B,向協(xié)議棧的接收任務(wù)發(fā)出一次接收通知。接收任務(wù)每次收到該通知,就從一級緩存取出一幀數據,保存到二級緩存,并按照網(wǎng)絡(luò )協(xié)議進(jìn)行處理后轉交上層,之后,檢查一級緩存內是否仍有新數據。如果沒(méi)有,就清除中斷A的有效狀態(tài),然后重新打開(kāi)中斷A、B.如果有,就直接進(jìn)入下輪接收過(guò)程。網(wǎng)絡(luò )協(xié)議是用來(lái)描述進(jìn)程之間信息交換數據時(shí)的規則術(shù)語(yǔ)。在計算機網(wǎng)絡(luò )中,兩個(gè)相互通信的實(shí)體處在不同的地理位置,其上的兩個(gè)進(jìn)程相互通信,需要通過(guò)交換信息來(lái)協(xié)調它們的動(dòng)作和達到同步,而信息的交換必須按照預先共同約定好的過(guò)程進(jìn)行。

2、2發(fā)送流程

本系統報文發(fā)送過(guò)程TX2階段如圖3,實(shí)現方式與接收不同,無(wú)專(zhuān)門(mén)任務(wù)負責發(fā)送功能,而是由協(xié)議棧提供一套統一接口,上層應用程序借此發(fā)送數據。首先在二級緩存中形成網(wǎng)絡(luò )報文,然后檢查一級緩存中發(fā)送緩存,待其可用,將數據從二級緩存復制到一級緩存,啟動(dòng)發(fā)送。之后,NIC通常能夠自動(dòng)完成余下的物理層發(fā)送工作。此刻,系統主動(dòng)查詢(xún)接收通道的工作狀態(tài)。如果發(fā)生中斷A或B,就觸發(fā)軟中斷。于是,構成一種多點(diǎn)隨機查詢(xún)機制。NIC指網(wǎng)絡(luò )適配器,英文全稱(chēng)為Network Interface Card,簡(jiǎn)稱(chēng)NIC,網(wǎng)卡是局域網(wǎng)中最基本的部件之一,它是連接計算機與網(wǎng)絡(luò )的硬件設備。無(wú)論是雙絞線(xiàn)連接、同軸電纜連接還是光纖連接,都必須借助于網(wǎng)卡才能實(shí)現數據的通信。它的主要技術(shù)參數為帶寬、總線(xiàn)方式、電氣接口方式等。

本系統中,報文接收流程本是一種被動(dòng)方式,相對查詢(xún)方式,軟硬件設計復雜度高,實(shí)用中很可能由于軟硬件缺陷導致可靠性問(wèn)題。采用這種中斷結合多點(diǎn)隨機查詢(xún)的辦法,既克服了周期性查詢(xún)的效率低、實(shí)時(shí)性差的缺點(diǎn),又消除了完全被動(dòng)接收的不可靠性。

3實(shí)現

根據上文提出的收發(fā)機制,建立一個(gè)實(shí)驗終端系統,檢查實(shí)際性能。

3、1系統硬件平臺

LSI403LP是DSP芯片。它可提供4路Rj11接口供傳統電話(huà)機接入,1路RJ-45接口連接internet,還有一個(gè)RS-232接口供系統程序維護與升級。使用這種VOIP網(wǎng)關(guān)后,可使小型企業(yè)或家庭用戶(hù)方便快捷地接入internet直接進(jìn)行語(yǔ)音通信,不但便捷而且經(jīng)濟。給出了硬件和軟件的結構設計。

本系統核心采用LSI403LP定點(diǎn)數字信號處理器,時(shí)鐘頻率150MHz,最高速率600MIPS.具有外部指令和數據存儲器接口,類(lèi)存儲器外設接口,三種接口共享地址、數據總線(xiàn)和讀寫(xiě)等控制信號,但具有各自的片選信號,而且可以單獨配置,兼容不同訪(fǎng)問(wèn)時(shí)序。

本系統的NIC選用RTL8019AS[4].該NIC支持ISA總線(xiàn),可直接按存儲器方式訪(fǎng)問(wèn),支持10BASE-T,有16KBytes片內SRAM,可作為一級緩存,其中14KB作為接收緩存,2KB作為發(fā)送緩存。ISA總線(xiàn): (Industry Standard Architecture:工業(yè)標準體系結構)是IBM公司為PC/AT電腦而制定的總線(xiàn)標準,為16位體系結構,只能支持16位的I/O設備,數據傳輸率大約是16MB/S.也稱(chēng)為AT標準。開(kāi)始時(shí)PC機面向個(gè)人及辦公室,定義了8位的ISA總線(xiàn)結構,對外公開(kāi),成為標準(ISO ISA標準)。

03.jpg

本系統的以太網(wǎng)接口模塊電路如圖4.8019的JP引腳接高電平,將8019設置在jumper工作模式。此模式下,8019的部分功能由跳線(xiàn)開(kāi)關(guān)來(lái)設定,軟件控制使用NE2000寄存器組。LSI403LP對8019的一個(gè)訪(fǎng)問(wèn)周期即PCS0N的一個(gè)有效周期,可通過(guò)403的寄存器設置為403時(shí)鐘周期的整數倍。以太網(wǎng)(Ethernet)指的是由Xerox公司創(chuàng )建并由Xerox,Intel和DEC公司聯(lián)合開(kāi)發(fā)的基帶局域網(wǎng)規范。是當今現有局域網(wǎng)采用的最通用的通信協(xié)議標準。 以太網(wǎng)絡(luò )使用CSMA/CD(載波監聽(tīng)多路訪(fǎng)問(wèn)及沖突檢測技術(shù))技術(shù),并以10M/S的速率運行在多種類(lèi)型的電纜上。以太網(wǎng)與IEEE802·3系列標準相類(lèi)似。

3、2系統軟件設計

04.jpg

本系統軟件架構如圖5,網(wǎng)絡(luò )通信流程按照上文描述設計。本系統基于單DSP,采用uC/OS-II 實(shí)時(shí)操作系統。uC/OS-II采用基于優(yōu)先級的搶占式多任務(wù)內核,最高優(yōu)先級任務(wù)一旦就緒就必須搶占處理器,任務(wù)級響應時(shí)間可預知,對實(shí)時(shí)通信應用非常重要。

本系統中存在一個(gè)網(wǎng)絡(luò )接收任務(wù)和多個(gè)網(wǎng)絡(luò )發(fā)送任務(wù),NIC作為它們的共享資源,利用一個(gè)信號量來(lái)進(jìn)行資源分配,以確保這幾個(gè)任務(wù)不會(huì )同時(shí)訪(fǎng)問(wèn)NIC,導致NIC故障。

4實(shí)驗結果

將一臺PC作為主機與一臺實(shí)驗終端通過(guò)10Base-T以太網(wǎng)直接連通,不通過(guò)任何中間節點(diǎn),進(jìn)行以下測試,考察本系統以太網(wǎng)接口的性能。

4、1中斷頻率

主機向實(shí)驗終端發(fā)送100字節的ICMP回傳請求報文,發(fā)送10萬(wàn)次,發(fā)送速率約8330次/秒,占用帶寬約7.0Mbps.實(shí)驗終端收到ICMP報文并且解析正確則是一次成功接收,但并不響應。LSI403與8019采用不同通信帶寬,實(shí)驗結果如表1.

05.jpg

表1說(shuō)明,在終端內部,隨著(zhù)上層與一級緩存通信速率的降低,接收中斷次數大大減少,報文丟失數有一定增加,但收到的報文數遠高于中斷次數。說(shuō)明本系統的接收機制,能夠有效減少中斷和任務(wù)切換對處理器資源的消耗,彌補上層與一級緩存通信速率的不足。表1中第6種配置下,有大量數據包丟失,原因是403外部總線(xiàn)通信速率略高,數據傳輸出錯。

總線(xiàn)通信速率低,與處理器速度慢或者協(xié)議棧效率低對網(wǎng)絡(luò )報文接收性能的影響是一致的,因此,這些都能夠采用本系統的接收機制來(lái)獲得較大的改善。

4、2帶寬

帶寬(band width)又叫頻寬,是指在固定的的時(shí)間可傳輸的資料數量,亦即在傳輸管道中可以傳遞數據的能力。在數字設備中,頻寬通常以bps表示,即每秒可傳輸之位數。在模擬設備中,頻寬通常以每秒傳送周期或赫茲 (Hz)來(lái)表示。

采用表1中第5種配置,測試環(huán)境與中斷頻率測試相同,ICMP回傳請求報文長(cháng)度分別為60和1514字節。主機配置是2.4GHz奔4處理器,256MDDR內存,RTL8139快速網(wǎng)卡,按0ms間隔(即最高速度)發(fā)送數據。測試結果如表2.本系統兩種情況下的吞吐量分別可以達到5.77Mbps和9.55Mbps,說(shuō)明本系統對網(wǎng)絡(luò )帶寬具有很高的使用效率。

06.jpg

4、3沖擊測試

計算機網(wǎng)絡(luò )中,各個(gè)節點(diǎn)都可能遭到大量數據沖擊,導致發(fā)生故障,甚至無(wú)法自動(dòng)恢復。為檢測本系統抗沖擊能力,主機向實(shí)驗終端連續地發(fā)送長(cháng)度74字節的ICMP回送請求報文。相同帶寬下,數據包長(cháng)度越小,收發(fā)頻率越高,通信節點(diǎn)負擔也就越大。測試過(guò)程中,實(shí)驗終端只運行uC/OS-II操作系統和協(xié)議棧相關(guān)任務(wù),以及一個(gè)用戶(hù)任務(wù)。主機發(fā)送報文頻率約每毫秒10次,占用帶寬約786KBytes/s.經(jīng)過(guò)3000萬(wàn)次沖擊,終端仍在按1秒間隔發(fā)送報文,并且主機仍能收到終端的ICMP回送。測試結果表明,本系統能夠為實(shí)際應用提供很好的穩定性保障。

ICMP回送請求報文的方法,用于網(wǎng)絡(luò )設備,其特征在于,包括:步驟一,接收ICMP回送請求報文,并對所述ICMP回送請求報文進(jìn)行分片分類(lèi);步驟二,根據不同的分片類(lèi)型對所述ICMP回送請求報文進(jìn)行分別處理,以獲得相應的出接口信息和封裝信息;及步驟三,根據所述出接口信息和所述封裝信息封裝ICMP回送應答報文并發(fā)送。采用本發(fā)明方法對不需分片的ICMP回送請求報文可以直接應答,對每個(gè)分片直接處理并封裝發(fā)送,從而達到節約CPU資源,快速響應的目的,本發(fā)明方法還可以在網(wǎng)絡(luò )設備的線(xiàn)卡上對ICMP回送請求報文直接進(jìn)行分布式響應,快速處理本線(xiàn)卡收到的ICMP回送請求報文。

5、結束語(yǔ)

本文針對嵌入式網(wǎng)絡(luò )終端,提出了一種中斷結合多點(diǎn)隨機查詢(xún)的網(wǎng)絡(luò )報文收發(fā)機制并進(jìn)行實(shí)踐。通過(guò)這種機制既獲得了很高的報文接收速率,同時(shí)大大降低了系統的中斷切換、查詢(xún)、任務(wù)切換等負擔,而且具有很好的穩定性和可靠性。本文的成果已經(jīng)在一種基于LSI403LP的單DSP網(wǎng)絡(luò )電話(huà)終端方案中運用,在通信速度、丟報率、穩定性各方面收到令人滿(mǎn)意的效果。在中國嵌入式系統領(lǐng)域,比較認同的嵌入式系統概念是:嵌入式系統是以應用為中心,以計算機技術(shù)為基礎,并且軟硬件可裁剪,適用于應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專(zhuān)用計算機系統。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
雙絞線(xiàn)傳輸器相關(guān)文章:雙絞線(xiàn)傳輸器原理


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>