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