<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 無(wú)線HART數(shù)據(jù)鏈路層設(shè)計(jì)與實(shí)現(xiàn)

          無(wú)線HART數(shù)據(jù)鏈路層設(shè)計(jì)與實(shí)現(xiàn)

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

          無(wú)線HART是一種專門(mén)為過(guò)程控制領(lǐng)域而設(shè)計(jì)的網(wǎng)絡(luò)通信協(xié)議,是HART現(xiàn)場(chǎng)總線在無(wú)線領(lǐng)域的延伸,其通信模型主要由應(yīng)用層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層、物理層組成。其中數(shù)據(jù)鏈路層在物理層提供服務(wù)的基礎(chǔ)上向網(wǎng)絡(luò)層提供服務(wù),其最基本的服務(wù)就是將來(lái)自節(jié)點(diǎn)網(wǎng)絡(luò)層的數(shù)據(jù)可靠的傳輸?shù)较噜徆?jié)點(diǎn)的網(wǎng)絡(luò)層。數(shù)據(jù)鏈路層協(xié)議主要用于建立可靠的點(diǎn)到點(diǎn)的單跳通信。在層型的拓?fù)浣Y(jié)構(gòu)上實(shí)現(xiàn)無(wú)線HART數(shù)據(jù)鏈路層通信協(xié)議,這里所設(shè)計(jì)的算法已成功應(yīng)用于無(wú)線HART單跳網(wǎng)絡(luò)。

          1 無(wú)線HART拓?fù)浣Y(jié)構(gòu)
          無(wú)線通信網(wǎng)絡(luò)拓?fù)渲饕ㄐ切秃途W(wǎng)狀兩種結(jié)構(gòu),星型單跳網(wǎng)絡(luò)支持高可靠性的網(wǎng)絡(luò)通信,而網(wǎng)狀多跳網(wǎng)絡(luò)支持遠(yuǎn)距離通信,無(wú)線HART協(xié)議支持網(wǎng)狀拓?fù)浣Y(jié)構(gòu)和星型拓?fù)鋬煞N結(jié)構(gòu),用戶可根據(jù)實(shí)際需要選擇星型或網(wǎng)狀拓?fù)浣Y(jié)構(gòu),或者介于二者之間的拓?fù)浣Y(jié)構(gòu)。本文根據(jù)工業(yè)現(xiàn)場(chǎng)的實(shí)際要求,采用星型和網(wǎng)狀結(jié)合的兩層網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),第一層是網(wǎng)狀結(jié)構(gòu),由網(wǎng)關(guān)和路由設(shè)備構(gòu)成;第二層是星型結(jié)構(gòu),由路由設(shè)備以及現(xiàn)場(chǎng)設(shè)備構(gòu)成。其中,網(wǎng)關(guān)負(fù)責(zé)無(wú)線HART網(wǎng)絡(luò)與工廠內(nèi)的其他網(wǎng)絡(luò)的協(xié)議轉(zhuǎn)換與數(shù)據(jù)映射。簇首作為網(wǎng)絡(luò)管理者的代理,負(fù)責(zé)構(gòu)建由現(xiàn)場(chǎng)設(shè)備和路由設(shè)備構(gòu)成的星型結(jié)構(gòu),監(jiān)測(cè)星型結(jié)構(gòu)性能;作為安全管理者代理,負(fù)責(zé)合并及轉(zhuǎn)發(fā)簇成員的數(shù)據(jù);負(fù)責(zé)轉(zhuǎn)發(fā)其他簇首的數(shù)據(jù)。簇成員負(fù)責(zé)獲取現(xiàn)場(chǎng)數(shù)據(jù)并發(fā)送到簇首。

          2 無(wú)線HART數(shù)據(jù)鏈路層協(xié)議
          無(wú)線HART數(shù)據(jù)鏈路層包括邏輯鏈路層協(xié)議(LLC)和介質(zhì)訪問(wèn)控制層協(xié)議(MAC),數(shù)據(jù)鏈路層主要定義數(shù)據(jù)幀格式,介質(zhì)訪問(wèn)控制層主要負(fù)責(zé)管理和協(xié)調(diào)通信資源的分配和使用。
          2.1 邏輯鏈路層
          2.1.1 幀格式

          其中,地址指示為無(wú)線HART網(wǎng)絡(luò)支持兩種地址格式,一種用于局域網(wǎng)的短地址,一種用于廣域網(wǎng)的長(zhǎng)地址。其中短地址由16位二進(jìn)制組成,用戶可自行定義:長(zhǎng)地址由64位二進(jìn)制數(shù)組成,64位中高24位表示設(shè)備ID,低24位表示0UI地址(由IEEE STD 802.15.4協(xié)議分配,其中無(wú)線HART的OUI地址為0x00181E),中間16位表示設(shè)備類型(設(shè)備生產(chǎn)廠家確定);時(shí)序號(hào)為絕對(duì)時(shí)序號(hào)的最低8位;網(wǎng)絡(luò)ID為無(wú)線HART根據(jù)網(wǎng)絡(luò)應(yīng)用類型確定的網(wǎng)絡(luò)ID號(hào):數(shù)據(jù)包指示為數(shù)據(jù)包指示由8位二進(jìn)制數(shù)組成,低3位表示數(shù)據(jù)包的類型,第4位表示網(wǎng)絡(luò)密鑰,第5、6位表示數(shù)據(jù)包的優(yōu)先級(jí)。
          無(wú)線HART數(shù)據(jù)包分為ACK、Advertise、Keep alive、Disconnect、Data5種類型,分為命令、過(guò)程數(shù)據(jù)、一般、報(bào)警4種優(yōu)先級(jí)。發(fā)送數(shù)據(jù)來(lái)自網(wǎng)絡(luò)層并需要發(fā)送的數(shù)據(jù)。MIC為網(wǎng)絡(luò)授權(quán)檢測(cè)。CRC為數(shù)據(jù)完整性檢測(cè)。
          2.2 MAC協(xié)議分析
          無(wú)線HART鏈路調(diào)度主要通過(guò)以鄰居表位核心的五張表實(shí)現(xiàn),其中超幀表記錄超幀的分配和使用狀態(tài);鏈路表記錄鏈路(通信資源)的分配和使用狀態(tài);鄰居表記錄著節(jié)點(diǎn)本身的鄰居節(jié)點(diǎn)(處于節(jié)點(diǎn)單挑通信范圍之類的節(jié)點(diǎn)稱為該節(jié)點(diǎn)的鄰居節(jié)點(diǎn));路由表記錄著多跳網(wǎng)絡(luò)中的路由信息;緩沖表存儲(chǔ)著待發(fā)送的數(shù)據(jù)同時(shí)記錄優(yōu)先級(jí)以及等待時(shí)間等狀態(tài)。
          無(wú)線HART網(wǎng)絡(luò)中每一個(gè)節(jié)點(diǎn)都支持多個(gè)超幀,網(wǎng)絡(luò)管理者完成超幀的構(gòu)建和維護(hù),并根據(jù)網(wǎng)絡(luò)需求進(jìn)行時(shí)隙鏈路的分配。每一個(gè)超幀包含一定數(shù)量的時(shí)隙。超幀一旦建立,網(wǎng)絡(luò)管理者為該超幀增加、刪除、優(yōu)化鏈路時(shí)隙。一旦分配時(shí)隙,超幀應(yīng)該使能從而允許鏈路的調(diào)度。鏈接表中一個(gè)鏈接表示一個(gè)通信機(jī)會(huì),通過(guò)鏈接表實(shí)現(xiàn)目標(biāo)鄰居節(jié)點(diǎn)的識(shí)別,時(shí)隙、超幀序列號(hào)、發(fā)送接收方向、鏈路類別、信道。鄰居表維護(hù)并記錄著一組能與節(jié)點(diǎn)直接通信(單跳)鄰居節(jié)點(diǎn),通過(guò)鄰居表可查詢鄰居節(jié)點(diǎn)地址、時(shí)鐘源標(biāo)志、通信數(shù)據(jù)量、節(jié)點(diǎn)最后通信時(shí)間、通信節(jié)點(diǎn)狀態(tài)、節(jié)點(diǎn)通信優(yōu)先級(jí)。圖表提供上行和下行多跳網(wǎng)絡(luò)的路由信息,其元素主要由多個(gè)路由路徑節(jié)點(diǎn)信息,圖標(biāo)主要由網(wǎng)絡(luò)管理者實(shí)現(xiàn)管理。緩沖表主要用于節(jié)點(diǎn)存儲(chǔ)待發(fā)送數(shù)據(jù),記錄著數(shù)據(jù)包的ID、優(yōu)先級(jí)、目的地址類型、保存時(shí)間。

          3 無(wú)線HART數(shù)據(jù)鏈路層設(shè)計(jì)與實(shí)現(xiàn)
          3.1 通信資源分配

          無(wú)線HART網(wǎng)絡(luò)采用頻分多址(FDMA)和時(shí)分多址(TDMA)混合的信道訪問(wèn)機(jī)制。無(wú)線HART協(xié)議采用集中式資源分配方式,即通信資源由網(wǎng)絡(luò)管理器統(tǒng)一分配。無(wú)線HART網(wǎng)絡(luò)工作于2.4 GHz射頻頻段。為了保證系統(tǒng)能在非常惡劣的工業(yè)現(xiàn)場(chǎng)通信環(huán)境中實(shí)時(shí)、可靠的工作,無(wú)線HART
          采用TDMA和FDMA的混合信道分文機(jī)制。TDMA技術(shù)將每一個(gè)時(shí)隙復(fù)用到2.4 GHz的16個(gè)信道上,使系統(tǒng)的有效帶寬提高了16倍。
          為了進(jìn)行資源分配,首先建立通信資源矩陣??v坐標(biāo)表示信道頻率,橫坐標(biāo)表示時(shí)隙,矩陣中的每個(gè)單元表示一個(gè)通信資源,每個(gè)通信資源用頻率和時(shí)隙的二元組來(lái)唯一標(biāo)示。每個(gè)矩陣元素包含如下通信資源和鏈路的信息:占用標(biāo)志位,鏈路的源節(jié)點(diǎn)、鏈路的目的節(jié)點(diǎn)、鏈路的類型。矩陣中每個(gè)元素都被初始化為0,當(dāng)某個(gè)通信資源已經(jīng)被分配,矩陣中對(duì)應(yīng)元素的占用標(biāo)志位被置為1,并填充相應(yīng)的通信資源信息。
          無(wú)線HART網(wǎng)絡(luò)中,通信資源有NORMAL、ADVERTIS、JOIN和DISCOVERY 4種類型,NORMAL通信資源主要用于過(guò)程數(shù)據(jù)和管理命令的傳輸,ADVERTISE通信資源用于廣播網(wǎng)絡(luò)信息以方便新節(jié)點(diǎn)加入網(wǎng)絡(luò),JOIN通信資源用于新設(shè)備加入,DISCOVERY通信資源用于鄰居發(fā)現(xiàn)。其中NORM-AL類型的通信資源與路由路徑相關(guān),其他的資源都與路由路徑無(wú)關(guān),重點(diǎn)考慮NORMAL通信資源的分配。NORMAL通信資源分配以所建立的拓?fù)浣Y(jié)構(gòu)為基礎(chǔ),以圖表和鄰居表為分配圖,根據(jù)所建立的兩層結(jié)構(gòu)進(jìn)行兩層分配。
          1)簇內(nèi)通信 簇內(nèi)所有的通信節(jié)點(diǎn)的通信資源位于矩陣的同一行,并按照時(shí)隙進(jìn)一步分配。對(duì)于下行通信,每一資源的源地址為簇首節(jié)點(diǎn),目的地址為節(jié)點(diǎn)地址;對(duì)于上行通信,每一分資源的源地址為節(jié)點(diǎn)地址,目的地址為簇首節(jié)點(diǎn)。
          2)簇間通信 簇間通信主要是負(fù)責(zé)簇首與網(wǎng)關(guān)之間的通信,而其資源主要占據(jù)矩陣中兩行,其中上行網(wǎng)絡(luò)通信資源,一行為下行網(wǎng)絡(luò)通信資源。在資源不滿足的情況下,可以根據(jù)資源分配的具體情況進(jìn)行拓展,但必須以雙行網(wǎng)絡(luò)為前提,而且上行還有下行資源不能占據(jù)同一個(gè)時(shí)隙。分配的路徑以圖表和鄰居表為分配路徑,進(jìn)行上行和下行節(jié)點(diǎn)的分配。


          上一頁(yè) 1 2 3 下一頁(yè)

          關(guān)鍵詞: 收發(fā)器

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();