Linux和S3C2410的PROFIBUS-DP主站平臺(tái)設(shè)計(jì)
一次典型的主從數(shù)據(jù)交換過程如圖4所示。本文引用地址:http://butianyuan.cn/article/156156.htm
其中,Tbit表示在總線上傳輸1位所耗用的時(shí)間,是其他時(shí)間參數(shù)的計(jì)量單位。由于PROFIBUS—DP采用UART編碼方式,每個(gè)字符由11位組成,所以傳輸一個(gè)字符需要11Tbit。
TID1定義了一個(gè)發(fā)送節(jié)點(diǎn)在獲得相應(yīng)信號(hào)后的再次發(fā)送下一個(gè)信息幀所需的最短時(shí)間。
從圖4可知,一個(gè)報(bào)文循環(huán)由主動(dòng)幀(請(qǐng)求或發(fā)送/請(qǐng)求幀)和回答幀組成。循環(huán)時(shí)間由幀傳輸時(shí)間、傳輸延遲時(shí)間和站延遲時(shí)間組成。
其中:TReq=a×11Tbit,a為請(qǐng)求/發(fā)送幀中的字符個(gè)數(shù);TRes=b×11Tbit,b為應(yīng)答幀中的字符個(gè)數(shù);TAsk=1×11Tbit,短應(yīng)答幀;TS-DR為站延遲時(shí)間,指接收方從接到請(qǐng)求到產(chǎn)生響應(yīng)數(shù)據(jù)的時(shí)間間隔;TTD為傳輸間隔時(shí)間,指一個(gè)幀在傳輸時(shí)在發(fā)送器和接收器之間的傳輸介質(zhì)上經(jīng)過的最大時(shí)間。
本硬件平臺(tái)中PROFIBUS—DP總線傳輸速率設(shè)置為9.6 kbps,由于是近距離傳輸,所以TTD=OTbit,Tsdr=11Tbit,TID1=37Tbit,和主站通信的從站最多有244個(gè)數(shù)據(jù)(根據(jù):PROFIBUS—DP協(xié)議規(guī)定)輸入/輸出,請(qǐng)求幀中有11個(gè)字符數(shù)據(jù),則報(bào)文循環(huán)時(shí)間最長(zhǎng)為:
可見,在傳輸速率為9.6 kbps的情況下,一次報(bào)文循環(huán)的最長(zhǎng)時(shí)間為297.3ms;從上面這些參數(shù)中可以發(fā)現(xiàn),只有TID1能夠由主站平臺(tái)的性能決定,普通的MPU調(diào)度所需時(shí)間為24.66μs。而在移植Linux操作系統(tǒng)后,由于采用的2.6版本的Linux操作系統(tǒng)使用了新的0(1)的調(diào)度算法,大大提高了進(jìn)程調(diào)度能力,同時(shí)對(duì)于多從站的通信的任務(wù)能進(jìn)行很好的管理和調(diào)度,大大增強(qiáng)了主站平臺(tái)的功能。
5 主站平臺(tái)性能分析及調(diào)試
PROFIBUS—DP主站的主從通信性能主要體現(xiàn)在主從通信速度的快慢和支持的從站數(shù)目上。由于本實(shí)驗(yàn)室的從站數(shù)目有限,搭建的測(cè)試平臺(tái)目前只有3個(gè)PROFIBUS—DP從站(ET200S、MM420和自主設(shè)計(jì)的從站),如圖5所示。
本次測(cè)試的傳輸速率選定為9.6 kbps,同時(shí)對(duì)3個(gè)從站進(jìn)行組態(tài),分別測(cè)試移植Linux操作系統(tǒng)前主站從接收到數(shù)據(jù)到有數(shù)據(jù)發(fā)出之間的時(shí)間ttop,到移植Linux操作系統(tǒng)后主站的響應(yīng)時(shí)間tend;通過實(shí)驗(yàn),從示波器上的測(cè)試的圖形可以看出ttop的寬度是大于tend的寬度的,具體測(cè)量后可知無操作系統(tǒng)下ttop≈4 015.4μs,Linux操作系統(tǒng)tend≈70μs??梢娨浦睱inux操作系統(tǒng)后能使主站的響應(yīng)時(shí)間大大縮短,提高對(duì)從站的管理效率。
評(píng)論