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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于Simulink的嵌入式網絡化控制仿真實現

          基于Simulink的嵌入式網絡化控制仿真實現

          作者: 時間:2012-04-23 來源:網絡 收藏

          延時特性分析及補償方法

          系統(tǒng)的分析和設計比傳統(tǒng)的點對點復雜的主要原因在于網絡延時。在采用以太網的分布式系統(tǒng)中,雖然以太網傳輸的實時性隨著快速以太網和交換式以太網技術的發(fā)展得到了解決,但由于有限的網絡資源被網絡中的多個節(jié)點共享,使控制系統(tǒng)中的實時信息不能及時傳送,加之包交換的網絡間延時的不確定性,嚴重影響了系統(tǒng)的控制性能,甚至造成系統(tǒng)的不穩(wěn)定。因此,控制平臺要提供對真實網絡環(huán)境的模擬必須首先明確網絡延時的特點。

          延時分布特性

          往返時間round trip time 簡稱為rtt,是指小數據包從網絡源節(jié)點A 發(fā)出,經網絡到達目的節(jié)點B 后又返回到A 所用的時間。本文在實驗裝置所訪問的廣域網環(huán)境下進行rtt測量,以便從測量數據中分析得到延時分布特性。測量使用系統(tǒng)的延時測量模塊。該模塊采用Van Jacobson 提出的高精度測時思想,用 系統(tǒng)函數。

          圖4 是在網絡處于正常條件下,實際測得實驗裝置所使用的廣域網的rtt 分布。測量進行了1000 次,其均值為0.3877s,均方差為0.0106s。從頻域角度分析,得到的功率譜密度如圖5 所示。根據帶限白噪聲定義,即功率譜密度函數僅在某些有限頻率范圍內取異于零的常數,為理論分析的簡化,將測得的延時近似為低通白噪聲,這可由低通白噪聲對功率譜密度的定義

          可知。Srinivasagupta 也指出將大多數的網絡延時近似為白噪聲是合理的。

          相對于具有較大截止頻率,即時間常數較大,動態(tài)響應較慢的系統(tǒng),由于允許的采樣周期較長,該數量級的網絡延時對控制系統(tǒng)的影響也許可以忽略,但當被控對象為快速響應系統(tǒng)時,網絡延時的數量級很可能等于甚至遠大于控制系統(tǒng)的采樣周期,此時必須對延時進行補償以保證控制系統(tǒng)的穩(wěn)定。

          延時補償方策略

          由于延時的不確定性,在網絡化控制中,無法保證在一個采樣周期內恰有相應時刻的信號到來,可能在該采樣周期沒有收據,即空采樣,也可能收到多個收據,即多采樣,還可能收到被延時的數據,即延時采樣。為此,系統(tǒng)對網絡化控制系統(tǒng)的前向和反饋通道的延時分別進行了補償。

          信息在網絡間傳輸的格式為:時間戳+對應的數據值。由于仿真系統(tǒng)提供了同步機制模塊,為簡化編程,可在發(fā)送時間信息時,只發(fā)送相應的周期索引值而非硬時鐘值。圖6 描述了仿真系統(tǒng)采用的網絡延時補償策略。

          為和傳統(tǒng)的數字控制系統(tǒng)一致,仿真系統(tǒng)中的控制器,傳感器和執(zhí)行器節(jié)點均采用時間驅動方式,即設備工作由時鐘控制,按照一定的周期來執(zhí)行操作。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();