下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于RTLINUX的實時以太網(wǎng)研究_通信延時論文導讀::本文首先闡述了以太網(wǎng)的應用和實時化的改進技術(shù),然后在研究造成網(wǎng)絡(luò)通信延遲的三個因素基礎(chǔ)上提出了基于RTLINUX的實時以太網(wǎng)的實現(xiàn)技術(shù)。文章描述了基于RTLINUX的實時以太網(wǎng)的關(guān)鍵技術(shù)實現(xiàn):多隊列數(shù)據(jù)交換機制、基于地址映射表的緩沖區(qū)管理機制、數(shù)據(jù)幀小型化機制。 論文關(guān)鍵詞:RTLINUX,LINUX,實時以太網(wǎng),通信延時1.引言 以太網(wǎng)(Ethernet) 是當前應用最普遍的局域網(wǎng)技術(shù),它很大程度上取代了其他局域網(wǎng)標準,如令牌環(huán)、FDDI和ARCNET。Ethernet遵循IEEE802.3標準,采用帶沖突檢測的載波偵聽多路訪問(CSM
2、A/CD)協(xié)議解決介質(zhì)訪問沖突.由于CSMA/CD協(xié)議采用隨機爭用介質(zhì)方式訪問網(wǎng)絡(luò),使得網(wǎng)絡(luò)節(jié)點發(fā)送與接收信息的時間變得不可預測,因此,現(xiàn)有Ethernet網(wǎng)絡(luò)不具有我們所謂的實時性。為了使傳統(tǒng)的Ethernet具有較好的實時性,很多研究人員提出了改進Ethernet網(wǎng)絡(luò)的途徑: 1)交換式以太網(wǎng)1:這種方法用交換機取代集線器(hub),以把整個以太網(wǎng)分割成多個獨立的沖突域通信延時,這樣在降低沖突的同時保證了傳輸時間的可預測性。 2)傳輸整形2:這種方法在傳輸層(如TCP/UDP)與Ethernet之間增加了一個流量整形器,以使網(wǎng)絡(luò)的平均負載始終保持在某個較低的規(guī)定值,利用低負載、低沖突概率的
3、原理來保證消息傳輸時間的可預測性; 3)增加實時通信控制層3:這種Ethernet實時化改進采用最多的方法。該方法主要在MAC層上增加一個實時通信控制層控制消息的發(fā)送與接收。如令牌傳遞、時分多路訪問、虛擬時間協(xié)議等都使用這種方法。 本文提出的基于RTLINUX的實時以太網(wǎng)技術(shù)是一種在RTLINUX實時操作系統(tǒng)平臺上,通過多隊列數(shù)據(jù)交換、基于地址映射表的緩沖區(qū)管理、數(shù)據(jù)幀小型化等多種機制實現(xiàn)的一種以太網(wǎng)實時化改進技術(shù)。 2.系統(tǒng)設(shè)計 以太網(wǎng)絡(luò)是一個軟件和硬件的結(jié)合體,數(shù)據(jù)就在網(wǎng)絡(luò)的軟件和硬件中傳送。以太網(wǎng)絡(luò)基于CSMA/CD協(xié)議的內(nèi)在特性決定了以太網(wǎng)絡(luò)很難真正意義上消除網(wǎng)絡(luò)數(shù)據(jù)的發(fā)送沖突。使用在
4、MAC層上增加實時通信控制層在原理上可以消除網(wǎng)絡(luò)沖突,但往往也帶來一些網(wǎng)諸如絡(luò)系統(tǒng)時鐘同步的困境。 要實現(xiàn)網(wǎng)絡(luò)的實時性,說到底就是要盡量的減少數(shù)據(jù)在網(wǎng)絡(luò)中的傳輸延遲時間。在網(wǎng)絡(luò)中從發(fā)送數(shù)據(jù)到接收到數(shù)據(jù)之間的全部通信延時,稱為端到端的通信延時發(fā)表論文。主要包括下面幾個因素:排隊延時:從信息進入排隊隊列,到此信息獲取通信網(wǎng)絡(luò)所需的時間。發(fā)送延時:從信息的第一個字節(jié)開始發(fā)送到信息最后一個字節(jié)發(fā)送結(jié)束所需的時間。傳輸延時:信息在現(xiàn)場設(shè)備間傳輸所需的時間。 網(wǎng)絡(luò)的傳輸延時在很大程度上取決于網(wǎng)絡(luò)的傳輸帶寬,傳輸帶寬主要取決于網(wǎng)絡(luò)的傳輸介質(zhì)等硬件條件。本文主要是考慮在網(wǎng)絡(luò)的傳輸延時一定的情況下,通過減少排隊
5、延時和發(fā)送延時來改善網(wǎng)絡(luò)的實時性能。網(wǎng)絡(luò)中的終端在RTLINUX實時操作系統(tǒng)下運行,以增強對實時任務的響應速度。使用多隊列數(shù)據(jù)交換機制來改善數(shù)據(jù)發(fā)送時的排隊延時,使用基于地址映射表的緩沖區(qū)管理機制和數(shù)據(jù)幀小型化機制來改善數(shù)據(jù)的發(fā)送延時。同時,使用交換機取代集線器(hub),以把整個以太網(wǎng)分割成多個獨立的沖突域,來降低網(wǎng)絡(luò)沖突。 3.系統(tǒng)實現(xiàn) 3.1 構(gòu)建RTLINUX實時操作系統(tǒng) LINUX是一個源代碼開放的、免費,支持多任務、多種硬件平臺的網(wǎng)絡(luò)操作系統(tǒng)。但是,LINUX與WINDOWS一樣不是實時的操作系統(tǒng),因此通信延時,LINUX也很難在實時控制領(lǐng)域得到應用。 RTLINUX說到底其實就是
6、LINUX的一個實時補丁,它對LINUX內(nèi)核進行改造,在LINUX內(nèi)核與硬件之間增加了一個虛擬層(常稱作虛擬機),構(gòu)筑了一個小的、時間上可預測的、與LINUX內(nèi)核分開的實時內(nèi)核(即RTLINUX內(nèi)核)。 打上實時補丁的LINUX(即RTLINUX操作系統(tǒng))將所有中斷信號都首先交給RTLINUX內(nèi)核進行處理, RTLINUX將所有的中斷分成LINUX中斷和實時中斷兩類,如果收到的中斷信號是普通LINUX中斷,那就設(shè)置一個標志位,轉(zhuǎn)由LINUX內(nèi)核來響應該中斷;如果是實時中斷,則立即響應中斷。這樣系統(tǒng)將LINUX系統(tǒng)上的任務以及LINUX內(nèi)核本身作為一個優(yōu)先級最低的任務,而實時任務作為優(yōu)先級最高的
7、任務。RTLINUX最先知道硬件的信息,而實時任務直接和RTLINUX內(nèi)核進行交互,這樣大大縮短了系統(tǒng)和實時任務訪問硬件的時間,從而得到最快的響應速度。 3.2 多隊列數(shù)據(jù)交換機制 標準Linux對網(wǎng)絡(luò)數(shù)據(jù)包的處理本質(zhì)上是基于中斷驅(qū)動的,因而應用層的處理總是被位于內(nèi)核空間、擁有更高優(yōu)先級的數(shù)據(jù)包處理(即中斷處理)所搶斷。在高負荷網(wǎng)絡(luò)中,CPU的大部分資源會被頻繁到達的網(wǎng)卡中斷占用,而優(yōu)先級較低的數(shù)據(jù)包應用進程任務無法得到執(zhí)行。一段時間就會導致網(wǎng)絡(luò)子系統(tǒng)的上層緩沖區(qū)溢出,收到的數(shù)據(jù)包丟棄。長此以往,將出現(xiàn)所謂的“接收活鎖”。CPU花去所有的資源處理接收中斷,而數(shù)據(jù)包被接受后由于得不到進一步處理而
8、堆積通信延時,當接收隊列溢出,數(shù)據(jù)包便白白被丟棄。另外,在標準的Linux系統(tǒng)中所有數(shù)據(jù)包共用一個backlog排隊而使得優(yōu)先級高的數(shù)據(jù)得不到及時處理,所以優(yōu)先級高的數(shù)據(jù)有時分發(fā)延遲會增大,網(wǎng)絡(luò)性能也會受到影響4。 為了解決“接收活鎖”和單一backlog隊列引起的問題,可以在RTLinux系統(tǒng)中實現(xiàn)一個網(wǎng)絡(luò)子系統(tǒng),該子系統(tǒng)主要具有如下兩方面的功能: 1)網(wǎng)絡(luò)子系統(tǒng)啟動專門的內(nèi)核線程對不同協(xié)議的數(shù)據(jù)包進行處理,然后應用進程任務在相應的隊列中取包進一步操作。由于線程的運行是參加調(diào)度的,它不像標準Linux的基于中斷驅(qū)動的協(xié)議處理方法那樣完全搶占CPU資源,自然也不會出現(xiàn)前面提到的“接收活鎖”現(xiàn)象
9、,從而實現(xiàn)對網(wǎng)絡(luò)設(shè)備接收數(shù)據(jù)包的控制。 2)在網(wǎng)絡(luò)子系統(tǒng)中依據(jù)實時性要求程度的不同建立多條接收隊列backlog,每個隊列分配不同大小的緩沖區(qū)和優(yōu)先級,實時性要求高的隊列具有較大的緩沖區(qū)和較高的調(diào)度優(yōu)先級,而實時性要求低的隊列具有較小的緩沖區(qū)和較低的調(diào)度優(yōu)先級。這樣就確保在高負荷網(wǎng)絡(luò)中,實時的網(wǎng)絡(luò)數(shù)據(jù)包也能及時的接受并得到處理。 3.3 基于地址映射表的緩沖區(qū)管理機制 用戶緩沖區(qū)用來緩存網(wǎng)絡(luò)報文,是連接網(wǎng)絡(luò)層界面和用戶層應用的橋梁發(fā)表論文。傳統(tǒng)的緩沖區(qū)動態(tài)管理算法出于對通用性的考慮,在每次報文傳輸時都進行malloc/free操作,這無疑會影響系統(tǒng)性能5?;诘刂酚成浔淼木彌_區(qū)管理機制的主要思
10、想就是在網(wǎng)絡(luò)設(shè)備啟用的時候就在用戶空間預先分配一大塊靜態(tài)共享內(nèi)存池,并將該內(nèi)存池劃分成若干個大小相同(比如說2K)的存儲單元通信延時,通過資源映射圖統(tǒng)一管理存儲單元,這樣就有效地避免了malloc/free操作。 問題是網(wǎng)絡(luò)接口的DMA引擎與用戶緩沖區(qū)進行數(shù)據(jù)交換時只能對鎖定的物理地址操作,即不能操作使用虛擬內(nèi)存地址的用戶緩沖區(qū)。這里我們通過建立緩沖區(qū)地址映射表(ATB)的方法來解決:通過查找Linux內(nèi)核中的三級頁表,邏輯設(shè)備獲得用戶緩沖區(qū)中每個虛擬頁面的物理地址,并將該頁面鎖定于內(nèi)存.轉(zhuǎn)換后的物理地址緩存在一個靜態(tài)地址快表ATB(address translation buffer)中,所
11、有用于報文傳輸?shù)挠脩艟彌_區(qū)物理地址被ATB完全覆蓋,這樣網(wǎng)絡(luò)接口的DMA引擎就可以通過靜態(tài)地址快表ATB來間接的操作用戶緩沖區(qū)了。 圖2基于地址映射表的緩沖區(qū)管理機制示意圖 當新的網(wǎng)絡(luò)數(shù)據(jù)報文到達時,網(wǎng)絡(luò)設(shè)備驅(qū)動進程從可分配接收緩沖區(qū)首部獲取一個空閑存儲單元,并根據(jù)緩沖區(qū)地址映射表(ATB)獲得該剛獲得的儲單元的物理地址AP,將接收到的網(wǎng)絡(luò)以太幀通過DMA通道直接送到物理地址為AP的主機內(nèi)存,最后將剛剛被填充數(shù)據(jù)的存儲單元加入不同優(yōu)先級的接收隊列中。應用程序進程需要處理報文時,首先從較高優(yōu)先級的接收隊列首部獲取已填充數(shù)據(jù)的存儲單元,然后通過ATB根據(jù)該存儲單元的物理地址AP.獲得其虛擬地址AV
12、,應用程序進程使用該虛擬地址AV處理完報文后又重新將剛剛處理過的存儲單元加入到可分配接收緩沖區(qū)隊列尾部。 3.4 數(shù)據(jù)幀小型化機制 網(wǎng)絡(luò)的排隊延時和發(fā)送延時其實是一對矛盾體,加大網(wǎng)絡(luò)數(shù)據(jù)幀的容量可以明顯的減少發(fā)送數(shù)據(jù)隊列的長度,從而縮短數(shù)據(jù)發(fā)送的排隊延時,但是大容量的數(shù)據(jù)幀又會增大數(shù)據(jù)的發(fā)送延時。數(shù)據(jù)仿真表明在10M帶寬的以太網(wǎng)絡(luò)中,數(shù)據(jù)幀長一定的情況下,數(shù)據(jù)幀越長通信延時,發(fā)送延時就越大,當數(shù)據(jù)幀長度超過128B時,傳送延時在總延時里占主導地位6。根據(jù)IEEE802.3標準,10M帶寬的以太網(wǎng)絡(luò)幀的最小容量為64B,所以將以太網(wǎng)絡(luò)幀的容量縮小在64128B是比較適合在實時以太網(wǎng)絡(luò)中傳輸?shù)?。?/p>
13、其他帶寬的以太網(wǎng)絡(luò)中可以根據(jù)實際的帶寬來縮小數(shù)據(jù)幀的容量。 4.結(jié)論 具有實時性的工業(yè)以太網(wǎng)是當前學術(shù)界及工業(yè)界研究的熱點,而以太網(wǎng)在工業(yè)應用中的實時性研究更是近年來發(fā)展最迅速、最受人們關(guān)注的研究領(lǐng)域之一。RTLINUX是一個免費、開放的硬實時操作系統(tǒng),所以在RTLINUX系統(tǒng)之上架設(shè)實時以太網(wǎng)絡(luò)是一個比較經(jīng)濟、可靠、實用的方法。在實際的工業(yè)應用中,場控制指令往往是比較短小精悍的,縮小數(shù)據(jù)幀容量以減少在網(wǎng)絡(luò)中的發(fā)送延遲是一種提高網(wǎng)絡(luò)實時性能的有效途徑。但是,數(shù)據(jù)幀小型化往往會增加調(diào)度數(shù)據(jù)隊列的長度,也會產(chǎn)生本文未考慮的網(wǎng)絡(luò)吞吐量減少的問題。參考文獻: 1、KrommenackerN, Divo
14、ux T. Rondeau E. Using genetic algorithms to design switched Ethernetindustrial networksJ. Industrial Electronics, 2002,1(1):152?157. 2、KweonSK, Shin KG. Achieving real-time communication over Ethernet with adaptivetraffic smoothingJ. In: Proc. of the IEEE Real-Time Technology andApplications Symp. Washington: IEEE Computer Society Press, 2000. 90?100. 3、楊
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度新能源企業(yè)聘用合同范本4篇
- 二零二五年度人工智能輔助軟件服務合同模板2篇
- 二零二五美容院美容護理技術(shù)培訓合同3篇
- 《短視頻編?。哼x題構(gòu)想+腳本制作+劇本策劃+鏡頭拍攝》課件 第5章 了解劇本:創(chuàng)作優(yōu)劇本的基礎(chǔ)
- 二零二五年度某局勞務分包結(jié)算與人才培養(yǎng)計劃合同4篇
- 二零二五農(nóng)機綠色生產(chǎn)技術(shù)研發(fā)與應用合同4篇
- 二零二五年度棉被品牌授權(quán)生產(chǎn)及銷售合同4篇
- 二零二五年度智能制造名義合伙人合同4篇
- 二零二五版南京海事法院海洋石油開發(fā)合同4篇
- (必會)公路水運工程助理試驗檢測師《交通工程》近年考試真題題庫(含答案解析)
- 中藥材產(chǎn)地加工技術(shù)規(guī)程 第1部分:黃草烏
- 危險化學品經(jīng)營單位安全生產(chǎn)考試題庫
- 基于視覺的工業(yè)缺陷檢測技術(shù)
- 案例分析:美國紐約高樓防火設(shè)計課件
- 老客戶維護方案
- 移動商務內(nèi)容運營(吳洪貴)任務一 用戶定位與選題
- 萬科物業(yè)管理公司全套制度(2016版)
- 2021年高考化學真題和模擬題分類匯編專題20工業(yè)流程題含解析
- 工作證明模板下載免費
- (完整word)長沙胡博士工作室公益發(fā)布新加坡SM2考試物理全真模擬試卷(附答案解析)
- 機械點檢員職業(yè)技能知識考試題庫與答案(900題)
評論
0/150
提交評論