采用PROFIBUS-DP的FCS性能研究及診斷軟件開發(fā)
由于在PRIFBUS傳輸報(bào)文可以反映出總線性能的很多參數(shù),包括各種故障狀態(tài)。比如:從參數(shù)化報(bào)文可以看出主站和從站的關(guān)系,從站的操作方式,包括通道參數(shù)、功能設(shè)定、裝置參數(shù)和ID號等。從組態(tài)報(bào)文可以看出從站I/0類型及性質(zhì),以及模塊的I/O性質(zhì)及數(shù)據(jù)類型等。從診斷報(bào)文可以看出從站各種參數(shù)設(shè)置錯(cuò)誤,各種組態(tài)錯(cuò)誤,以及裝置模塊錯(cuò)誤類型。所以,本文作者就是在對PROFIBUS-DP報(bào)文進(jìn)行詳盡分析的基礎(chǔ)上,采用VC++ 6.0開發(fā)了一款基于串口通訊的PROFIBUS性能分析診斷軟件。
1 PROFIBUS工作機(jī)理
1.1 PROFIBUS-DP編碼技術(shù)
PROFIBUS-DP交換數(shù)據(jù)使用異步傳輸技術(shù)和NRZ編碼。NRZ編碼的二進(jìn)制信號“0”或“1”的信號電平在信號持續(xù)期間維持不變。圖1所示為NRZ碼信號圖。
SHAPE * MERGEFORMAT
圖1 非歸零碼信號
每個(gè)數(shù)據(jù)鏈路層協(xié)議數(shù)據(jù)單元應(yīng)由一定數(shù)量的字符組成,每個(gè)字符都是一個(gè)用于異步傳輸?shù)钠皎D―停字符。
每個(gè)字符由11個(gè)比特組成,包括1個(gè)總是為二進(jìn)制“0”的起始比特(ST),8個(gè)可以是二進(jìn)制數(shù)“0”亦可以是二進(jìn)制數(shù)“1”的信息比特,1個(gè)可以是二進(jìn)制“1”也可以是二進(jìn)制數(shù)“0”的偶校驗(yàn)比特(P),1個(gè)總是為二進(jìn)制數(shù)“1”的停止比特,如圖2所示。
SHAPE * MERGEFORMAT
圖2 單個(gè)字符格式
接收器的比特同步總是從起始比特的下降沿開始,也就是說,在從二進(jìn)制“1”轉(zhuǎn)換到二進(jìn)制數(shù)“0”時(shí)開始。在比特時(shí)間的中間應(yīng)掃描起始比特和所有后繼的比特。在比特時(shí)間的中間,起始比特應(yīng)是二進(jìn)制數(shù)“0”,否則認(rèn)為同步失敗并停止同步過程。以二進(jìn)制“1”的停止比特來結(jié)束字符的同步,如果此時(shí)出現(xiàn)二進(jìn)制數(shù)“0”來代替此停止比特,則應(yīng)認(rèn)為并報(bào)告一個(gè)同步差錯(cuò)或字符差錯(cuò),并應(yīng)等待下一個(gè)起始比特的前導(dǎo)沿。
1.2 報(bào)文格式
如圖3所示,PRFIBUS-DP有以下5種報(bào)文格式。其中,SYN為同步周期,它是一個(gè)最小的時(shí)間間隔,在此時(shí)間間隔內(nèi),每個(gè)站在它可以接收發(fā)送/請求報(bào)文幀或令牌起始部分之前,應(yīng)從傳輸介質(zhì)接收空閑狀態(tài)(idle state)(idle=二進(jìn)制“1”)。同步周期最小為33個(gè)線空閑比特;SD為起始定界符,DA是目的地址,SA是源地址,F(xiàn)C是控制幀;FCS是幀校驗(yàn)和,ED為結(jié)束定界符,值為16h,L是信息字段長度,其中SD1= 10h,用于請求FDL狀態(tài),尋找一個(gè)新的活動(dòng)的站點(diǎn),報(bào)文長度固定,沒有數(shù)據(jù)單元;SD2= 68h,用于SRD服務(wù),報(bào)文的數(shù)據(jù)長度可變;SD3 = A2h,數(shù)據(jù)單元長度固定(L總為8字節(jié));SD4 = DCh,表示該報(bào)文為令牌報(bào)文;SC =E5h, 短確認(rèn)報(bào)文。
SHAPE * MERGEFORMAT
評論