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