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