劉 程,夏繼強(qiáng)
(北京航空航天大學(xué)機(jī)械工程及自動化學(xué)院,北京 100083)
共享式以太網(wǎng)采用CSMA/CD訪問機(jī)制,各節(jié)點(diǎn)采用二進(jìn)制指數(shù)退避算法來處理沖突,這導(dǎo)致了以太網(wǎng)通信延遲不確定的缺點(diǎn),成為以太網(wǎng)在工業(yè)實(shí)時(shí)控制領(lǐng)域應(yīng)用的最大障礙[1-2]。當(dāng)今已經(jīng)提出了很多種改進(jìn)方法來解決這個(gè)問題,比如通過修改以太網(wǎng)協(xié)議、在以太網(wǎng)MAC層上增加虛擬令牌等軟件實(shí)時(shí)方法[3];改變以太網(wǎng)拓?fù)浣Y(jié)構(gòu)[4-5]、進(jìn)一步細(xì)分以太網(wǎng)結(jié)構(gòu)等硬件實(shí)時(shí)方法[6];或者將信號的頻分復(fù)用傳輸應(yīng)用到以太網(wǎng)[7]。其中交換式以太網(wǎng)的出現(xiàn)極大地提高了以太網(wǎng)傳輸性能。交換機(jī)作為一種能隔絕沖突的二層網(wǎng)絡(luò)設(shè)備,在同一時(shí)刻可進(jìn)行多個(gè)端口對之間的數(shù)據(jù)傳輸沖突機(jī)率大大減小,但多個(gè)端口同時(shí)嘗試與一個(gè)端口通信時(shí)依然存在沖突的可能,這可看作另外一種形式的搶占信息通道,只是發(fā)生概率減小。端口使用緩存能解決此類沖突,但增加了信息傳輸延時(shí)的不確定性。因此在工業(yè)控制背景下,定量研究和分析沖突機(jī)制,對于以太網(wǎng)技術(shù)能夠廣泛應(yīng)用到工業(yè)控制領(lǐng)域具有重要意義。
文中擬采用一種新方法來研究共享傳輸介質(zhì)的傳輸沖突特性,以工業(yè)共享式以太網(wǎng)為對象,首先建立基于CSMA/CD機(jī)制的以太網(wǎng)數(shù)學(xué)模型,然后基于此模型對以太網(wǎng)進(jìn)行定量計(jì)算,考慮負(fù)載的變化(如節(jié)點(diǎn)數(shù),數(shù)據(jù)到達(dá)率)對以太網(wǎng)性能的影響,從而進(jìn)一步分析以太網(wǎng)的實(shí)時(shí)性及可靠性。
工業(yè)以太網(wǎng)具有周期信號多,傳輸信息量小,信息長度小,負(fù)荷平穩(wěn)的特點(diǎn),因此采用以下以太網(wǎng)模型,符號含義如表1:
(1)堅(jiān)持型CSMA,當(dāng)某節(jié)點(diǎn)要送數(shù)據(jù)時(shí),先監(jiān)聽總線,若總線忙,就堅(jiān)持監(jiān)聽,直到信道空閑為止,當(dāng)空閑時(shí)立即發(fā)送一幀數(shù)據(jù)。
(2)節(jié)點(diǎn)發(fā)生沖突后,按照二進(jìn)制指數(shù)退避算法推遲發(fā)送,沖突次數(shù)達(dá)16次則發(fā)送失敗[8]。沖突后節(jié)點(diǎn)發(fā)送加強(qiáng)干擾信號(JAM信號)。
(3)星型網(wǎng)絡(luò),節(jié)點(diǎn)使用集線器連接,設(shè)任意兩節(jié)點(diǎn)之間的傳播延時(shí)都等于τ.
(4)由于發(fā)生3個(gè)及以上節(jié)點(diǎn)的沖突概率很小,遠(yuǎn)遠(yuǎn)小于兩節(jié)點(diǎn)的沖突概率,因此只考慮兩個(gè)節(jié)點(diǎn)之間的沖突。
表1 符號說明
原始負(fù)載模型是指不考慮節(jié)點(diǎn)沖突后重傳數(shù)據(jù)幀,每個(gè)數(shù)據(jù)幀不管發(fā)送是否成功,只傳輸一次時(shí)的負(fù)載模型。
2.1相鄰數(shù)據(jù)幀到達(dá)時(shí)間間隙
N個(gè)節(jié)點(diǎn)以數(shù)據(jù)到達(dá)率λ0隨機(jī)且獨(dú)立地發(fā)送數(shù)據(jù),由二項(xiàng)分布的定義可知,單個(gè)節(jié)點(diǎn)在任意的時(shí)隙t(t<<1/λ0)內(nèi)發(fā)送了數(shù)據(jù)的概率為:
P=λ0t=t/T0
(1)
如圖1所示,節(jié)點(diǎn)d4在0時(shí)刻開始發(fā)送數(shù)據(jù),其后相繼到達(dá)的節(jié)點(diǎn)之間的時(shí)間間隔分別用t1、t2、t3、t4表示。在節(jié)點(diǎn)d4發(fā)送數(shù)據(jù)后的t時(shí)間段內(nèi),若有其他節(jié)點(diǎn)嘗試占用總線(即節(jié)點(diǎn)d3落在0~t時(shí)間段內(nèi)),則t1 圖1 數(shù)據(jù)到達(dá)模型分析 由二項(xiàng)分布可得: P(t1 (2) (3) (4) (5) 對t1的分布函數(shù)式(2)求導(dǎo)可得t1的概率密度函數(shù): Ωt1(t)=λ0×(N-1)(1-p)N-2 (6) 2.2沖突模型分析 任意的數(shù)據(jù)幀發(fā)送時(shí)可能發(fā)送成功或發(fā)生沖突,其中沖突可分為等待沖突和延時(shí)沖突。等待沖突是指總線被占用時(shí)有多個(gè)節(jié)點(diǎn)需要發(fā)送數(shù)據(jù),這些節(jié)點(diǎn)在總線變空閑后同時(shí)發(fā)送數(shù)據(jù)造成的相互之間的沖突。延時(shí)沖突是指一個(gè)節(jié)點(diǎn)已經(jīng)開始發(fā)送數(shù)據(jù),但由于總線傳輸延遲,其他節(jié)點(diǎn)未檢測到總線被占用,并且發(fā)送數(shù)據(jù)所造成的沖突。 下面按照d0前一個(gè)節(jié)點(diǎn)d2的發(fā)送結(jié)果,分為成功和沖突2種情況,逐步分析d0的發(fā)送結(jié)果。分別以Ps、Pd、Pw表示發(fā)送成功、發(fā)生延時(shí)沖突和發(fā)生等待沖突的概率,可得Ps+Pd+Pw=1。 2.2.1節(jié)點(diǎn)d2發(fā)送成功 如圖2所示,節(jié)點(diǎn)d2從0時(shí)刻開始發(fā)送一幀數(shù)據(jù),其成功發(fā)送的概率為Ps,由于數(shù)據(jù)在節(jié)點(diǎn)間傳輸存在時(shí)長為τ的延時(shí),其他節(jié)點(diǎn)在ts+τ時(shí)刻才監(jiān)聽到總線空閑,因此d2占用總線從0時(shí)刻到ts+τ時(shí)刻。由于前提為d2成功發(fā)送,因此d0會在τ時(shí)刻之后到達(dá),否則d2、d0發(fā)生延時(shí)沖突。 圖2 d2節(jié)點(diǎn)發(fā)送成功條件下d0節(jié)點(diǎn)的沖突模型 下面分4種情形討論d0的發(fā)送結(jié)果。 情形①:若d0、d1兩節(jié)點(diǎn)都在ts+τ時(shí)刻之前到達(dá),即滿足t1+t2 Ps×P(t1+t2 (7) 情形②:若節(jié)點(diǎn)d1在ts+2τ之后發(fā)送數(shù)據(jù),則d0、d1是否沖突取決于d0、d1發(fā)送數(shù)據(jù)的時(shí)間間隔t2,若t2>τ則節(jié)點(diǎn)d0成功發(fā)送數(shù)據(jù),此情形發(fā)生概率為: Ps×P((t1+t2>ts+τ)&(t2>τ))= (8) 式中Ωt2(t)來自式(6)。 情形③:若節(jié)點(diǎn)d1在ts+2τ之后發(fā)送數(shù)據(jù),且t2<τ則d0、d1發(fā)生延時(shí)沖突,此情形發(fā)生概率為: Ps×P((t1+t2>ts+2τ)&(t2<τ)) (9) 情形④:若ts+τ Ps×P(ts+τ (10) 2.2.2節(jié)點(diǎn)d2發(fā)生沖突 節(jié)點(diǎn)d2發(fā)生沖突的概率為Pc,沖突對象可以分為節(jié)點(diǎn)d3和節(jié)點(diǎn)d02種,根據(jù)總線上數(shù)據(jù)幀之間的等效性,兩種沖突的概率相等,即Pc/2。 2.2.2.1節(jié)點(diǎn)d2與d0沖突 d2與d0發(fā)生沖突的概率占d2發(fā)生沖突概率的一半,即d0與d2發(fā)生等待沖突的概率為: Pw/2 (11) d0與d2發(fā)生延時(shí)沖突的概率為: Pd/2 (12) 2.2.2.2節(jié)點(diǎn)d2與d3發(fā)生延時(shí)沖突 圖3顯示了d2、d3的延時(shí)沖突模型,兩節(jié)點(diǎn)分別在ta、tb時(shí)刻發(fā)送數(shù)據(jù),節(jié)點(diǎn)d2在ta+τ時(shí)刻檢測到?jīng)_突,隨之發(fā)送時(shí)間長度為Tj的JAM信號。節(jié)點(diǎn)d3在tb+τ時(shí)刻檢測到?jīng)_突,并在tb+2τ+Tj時(shí)刻結(jié)束發(fā)送,由于傳輸延遲,其他節(jié)點(diǎn)認(rèn)為總線一直被占用直到tb+2τ+Tj時(shí)刻才結(jié)束。因此從節(jié)點(diǎn)d2開始發(fā)送數(shù)據(jù)到整個(gè)沖突占用總線結(jié)束,所經(jīng)歷的時(shí)間長度為固定值2τ+Tj. 圖3 延時(shí)沖突 節(jié)點(diǎn)d2、d3發(fā)生延時(shí)沖突的概率為Pd/2。采用與2.2.1小節(jié)相同的分析方法,將d2數(shù)據(jù)幀占用總線時(shí)間由ts+τ變?yōu)?τ+Tj.同理可得d2與d3發(fā)生延時(shí)沖突時(shí),d0發(fā)生等待沖突的概率為: (13) d0發(fā)送成功的概率為: (14) d0發(fā)生延時(shí)沖突的概率為: Pd2×P((t1+t2>3τ+Tj)&(t2<τ))+ (15) 2.2.2.3節(jié)點(diǎn)d2與d3等待沖突 圖4為等待沖突模型,節(jié)點(diǎn)d2、d3等待總線空閑后同時(shí)向總線發(fā)送數(shù)據(jù),經(jīng)過時(shí)間τ后被對方檢測出沖突,分別發(fā)送JAM信號,并且信息傳輸延遲1倍τ長的時(shí)間,即等待沖突占用總線總時(shí)長為2τ+Tj。 圖4 等待沖突 如圖5所示,由于等待節(jié)點(diǎn)d4發(fā)送結(jié)束,節(jié)點(diǎn)d2、d3推遲到ts+τ時(shí)刻發(fā)送數(shù)據(jù),并發(fā)生等待沖突,沖突占用總線直到ts+3τ+Tj時(shí)刻,其發(fā)生概率為Pw/2??紤]節(jié)點(diǎn)d4成功發(fā)送數(shù)據(jù),否則總線上連續(xù)5個(gè)數(shù)據(jù)幀發(fā)生沖突,此情形發(fā)生概率很小,文中忽略不計(jì)。 圖5 d2、d3發(fā)生等待沖突模型 此情形的分析方法與小節(jié)2.2.1相同,但是數(shù)據(jù)幀增多,時(shí)間增長,同樣原理分析可得d2、d3發(fā)生等待沖突時(shí),d0發(fā)生等待沖突概率為: (16) d0發(fā)送成功的概率為: (17) d0發(fā)生延時(shí)沖突的概率為: (18) 2.3發(fā)送沖突的概率Pc 由式(8)、式(14)、式(17)相加可得節(jié)點(diǎn)d0成功發(fā)送數(shù)據(jù)的概率Ps,式(7)、式(11)、式(13)、式(16)相加可得節(jié)點(diǎn)發(fā)送數(shù)據(jù)發(fā)生等待沖突的概率Pw,以及已知成功發(fā)送數(shù)據(jù)和發(fā)生沖突的概率和為1,因此可得以下方程組。 Ps=Ps×P((t1+t2>ts+2τ)&(t2>τ))+ (19) Pw=Ps×P(t1+t2 Pw/2+Pw×P(t1+t2<2τ+Tj)/2+ (20) Ps+Pw+Pd=1 (21) 由方程組,通過數(shù)值迭代法可解出Pw、Pd,從而計(jì)算出數(shù)據(jù)幀發(fā)生沖突的概率值Pc=Pw+Pd. 一個(gè)數(shù)據(jù)幀沖突后再次發(fā)送時(shí)仍然可能沖突,且沖突分為2種類型,一種為與新的節(jié)點(diǎn)沖突(如圖6中的分支b×Pc),一種為與前一次沖突節(jié)點(diǎn)再次沖突(如圖6中的分支a×Tij)。采用同樣的方法分析數(shù)據(jù)幀第2次、第3次直到第15次發(fā)送,即可得數(shù)據(jù)幀沖突次數(shù)的模型,如圖6所示。 圖6 數(shù)據(jù)幀沖突次數(shù)分析 a:連續(xù)多次沖突的兩節(jié)點(diǎn)發(fā)生第一次沖突時(shí)的概率。 b:前一分支點(diǎn)所對應(yīng)的概率。圖中虛線指明系數(shù)a、b所代表的值。 Tij:節(jié)點(diǎn)從i-j+1次沖突開始,與同一節(jié)點(diǎn)連續(xù)沖突j次的概率。其中i表示節(jié)點(diǎn)當(dāng)前總共沖突次數(shù);j表示其連續(xù)與同一節(jié)點(diǎn)沖突的次數(shù)。 Qn:數(shù)據(jù)幀至少發(fā)送n+1次的概率(0≤n≤15),即至少沖突了n次,其中Q0=1。 同樣原理分析可以得Tij的計(jì)算通式為: (22) 在已知Pc的前提下,可以把圖6從左至右所有分支點(diǎn)都求解出來,之后將圖6第n列(1≤n≤16)概率相加可得至少沖突n次的概率Qn,即 (23) 再用Qn減去Qn+1即可得數(shù)據(jù)幀沖突n次(第n+1次發(fā)送成功)的概率Kn+1。 Kn+1=Qn-Qn+1 (24) 通過式(22)~式(24),采用迭代法循環(huán)計(jì)算可得在已知沖突概率Pc時(shí),數(shù)據(jù)幀發(fā)送n次才成功的概率值Kn.多次迭代數(shù)值穩(wěn)定后由數(shù)組K可得沖突次數(shù)的期望值Em: (25) 由上一章節(jié)可知,在已知沖突概率Pc的前提下可以求得數(shù)據(jù)幀發(fā)送時(shí)沖突次數(shù)的期望值Em.沖突導(dǎo)致了部分?jǐn)?shù)據(jù)幀需要多次發(fā)送,對此可看作節(jié)點(diǎn)需要發(fā)送的數(shù)據(jù)幀增多,數(shù)據(jù)到達(dá)率變大為λ1=λ0+λ0×Em.由于工業(yè)以太網(wǎng)負(fù)載小,上述所有算式依然近似成立,將新的數(shù)據(jù)到達(dá)率帶入式(1)~式(21)求出新的Pc值。如此反復(fù)迭代計(jì)算,數(shù)據(jù)值趨于穩(wěn)定時(shí)即在原始到達(dá)率λ0的條件下,實(shí)際總線上的傳輸情況。 本節(jié)使用Matlab編程模擬以太網(wǎng)協(xié)議,節(jié)點(diǎn)沖突后按照二進(jìn)制指數(shù)退避重傳。圖7、圖8顯示了在λ0=167 幀/s,幀長為64字節(jié),網(wǎng)絡(luò)帶寬為100 Mbit/s,ts=5.12 μs,τ=1.2 μs時(shí)Pc、Em以及節(jié)點(diǎn)發(fā)送5~7次的概率K2~K7隨節(jié)點(diǎn)數(shù)N變化的值。理論值分別由式(19)、式(20)、式(21)、式(24)、式(25)計(jì)算。 圖7 Pc與Em隨N變化的仿真值與理論值對比 圖8 K5~K7隨N變化的仿真值與理論值對比 圖9、圖10顯示了在節(jié)點(diǎn)數(shù)N=50時(shí),Pc、Em以及節(jié)點(diǎn)發(fā)送5~7次的概率K2~K7隨數(shù)據(jù)到達(dá)率λ0變化的值。其他參數(shù)同上,理論值由式(19)、式(20)、式(21)、式(24)、式(25)計(jì)算。 圖9 Pc與Em隨λ0變化的仿真值與理論值對比 圖10 K5~K7隨λ0變化的仿真值與理論值對比 本文通過迭代法計(jì)算了以太網(wǎng)通信時(shí)數(shù)據(jù)幀沖突的概率以及發(fā)送次數(shù)的期望值,求解了各個(gè)參數(shù)對共享式以太網(wǎng)的影響,仿真結(jié)果顯示了算法的正確性和有效性。下一步可以采用迭代方法計(jì)算交換式以太網(wǎng)爭奪同一端口通信權(quán)的沖突概率,以此分析交換式以太網(wǎng)的性能。 參考文獻(xiàn): [1]CHOI B Y,SONG S,BIRCH N,et al.Probabilistic approach to switched ethernet for real-time control applications.Seventh International Conference on Real-time Computing Systems and Applications,2000:384-388. [2]陳曦,劉俊峰,付少波.工業(yè)以太網(wǎng)傳輸延時(shí)特性分析.計(jì)算機(jī)與信息技術(shù),2007(14):62-66. [3]CUONG D M,KIM M K,LEE H C.Supporting hard real-time communication of periodic messages over switched ethernet.The 1stInternational Forum on Strategic Technology,2006:419-422. [4]朱政紅,王月娥.工業(yè)以太網(wǎng)在控制領(lǐng)域中的實(shí)時(shí)性技術(shù).低壓電器,2010(7):31-37. [5]楊夏,畢艷冰,孫延濤.交換式以太網(wǎng)物理拓?fù)浒l(fā)現(xiàn)的進(jìn)展與研究.計(jì)算機(jī)用用研究,2007,24(12):24-27. [6]康葆榮.工業(yè)以太網(wǎng)實(shí)時(shí)性問題及解決方案.電腦開發(fā)與應(yīng)用,2006(7):38-40. [7]夏繼強(qiáng),邢春香.現(xiàn)場總線工業(yè)控制網(wǎng)絡(luò)技術(shù).北京:北京航空航天大學(xué)出版社,2005:42-49. [8]IEEE Std 802.3.Part 3:Carrier Sense Multiple Access with Collision Detection (CSMA/CD)access method and physical layer Specification.ISO/EEC 8802-3:2000 (E),2000. [9]SCHNEIDER S,PARDO C G,HAMILTON M.Can Ethernet be real time?[EB/OL].Real-Time Innovations,Sunnyvale,CA.http://www.rti.com/products/ndds/ ethernet.pdf. [10]XIA J Q,CAO Q,BAI R G.Modeling and quantitative real-time analysis of Ethernet based on CSMA/CD.the 13th IEEE Joint International Computer Science and Information Technology Conference(JICSIT 2011),accepted.3 沖突次數(shù)的期望值Em
4 迭代求解
5 仿真驗(yàn)證
6 結(jié)論