《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > Linux2.6下自主設計的PROFIBUS-DP單主站的實時性研究
Linux2.6下自主設計的PROFIBUS-DP單主站的實時性研究
來源:電子技術應用2011年第6期
滿慶豐,陳宇翔,夏繼強
北京航空航天大學 機械工程及自動化學院,北京100191
摘要: 通過對PROFIBUS-DP實時性分析,討論了在自主設計的PROFIBUS-DP單主站平臺上,提高Linux操作系統下PROFIBUS-DP實時性的措施,為不使用協議芯片自主設計PROFIBUS-DP主站提供了參考。
中圖分類號: TP393
文獻標識碼: A
文章編號: 0258-7998(2011)06-0041-04
The design of PROFIBUS-DP main station based on Linux2.6
Man Qingfeng,Chen Yuxiang,Xia Jiqiang
Mechanical Engineering and Automation School, Beihang University, Beijing 100191,China
Abstract: Through the analysis of the PROFIBUS-DP real-time performance, how to enhance the the PROFIBUS-DP real-time performance based on Linux OS with self-design PROFIBUS-DP main station is discussed. Provides a reference model for other PROIBUS-DP main station design without protocol chip.
Key words : PROFIBUS-DP;Linux;real-time performance


 在目前的工業現場總線中,對實時性的要求越來越高,實時性指標也成為工廠選擇總線時的一個重要因素。PROFIBUS-DP現場總線作為目前國際上的一種通用現場總線標準,隨著生產工藝對控制要求的提高,控制系統的實時性能要求也越來越高。
    為了提高PROFIBUS-DP總線的實時性,本文在嚴格按照協議完成自主設計的PROFIBUS-DP單主站情況下,探討使用Linux操作系統提高PROFIBUS-DP總線實時性的方案,以及在單主站情況下提高PROFIBUS-DP總線實時性的可行性。
1 PROFIBUS-DP實時性分析
    實時性能主要體現在MAC層協議上,不同的總線采用不同的MAC子層協議,PROFIBUS-DP采用的是簡化令牌總線協議。同時,測控周期是衡量PROFIBUS-DP系統實時性能的主要指標。
1.1 PROFIBUS-DP的MAC層協議
    PROFIBUS-DP采用簡化總線令牌總線協議作為MAC層標準,其總線設備包括主站(1類主站和2類主站)和從站,系統組成如圖1所示。

    對總線上的每一個站點分配一個地址,主站地址組成一個邏輯環,持有令牌的主站可以在持有令牌期間輪詢訪問從站。
    PROFIBUS-DP的介質訪問控制協議(MAC)包括主站之間通過占有令牌取得總線的占有權的主主通信和主站與從站之間的主從通信兩部分。本文考慮的是一個單主站系統,所以只探討主從通信部分的實時性。
1.2 測控周期
    測控周期是指控制系統周期性訪問網絡上同一節點的時間間隔,記為Dcycle,它是衡量PROFIBUS-DP系統實時性的一個重要指標。它主要由周期性數據交換時間Tcycle、主站維護時間TGAP和非周期性數據交換時間Tacycle(包括參數配置、從站數據診斷、通信接口配置等)三部分組成。
    所以,當主站第一次上電,第一次與從站進行通信時,單主站的測控周期可表示為:
    
其中N表示系統中的從站個數。
1.2.1 周期性數據交換時間Tcycle
    一次典型的數據交換過程如圖2所示。

 

 

其中,Tbit表示在總線上傳輸1位所耗用的時間,是其他時間參數的計量單位。由于PROFIBUS-DP采用UART編碼方式,每個字符由11位組成,所以傳輸一個字符需要11Tbit。
    從圖2可知,一個報文循環由主動幀(請求或發送/請求幀)和回答幀組成。循環時間由幀傳輸時間、傳輸延遲時間和站延遲時間組成。所以:

1.2.2 主站維護時間TGAP
    當總線上同時存在多個從站時,主站需要與總線上的每個從站進行數據交換。對于單主站系統,該主站將一直持有令牌。所以,當主站處理完與一個從站的周期信息后,就會發出Request_FDL_Status去查詢GAP中的一個地址,更新NS值,查找是否有其他從站已經在總線上等待與主站通信。
    由于PROFIBUS-DP主站是按地址遞增順序查找從站,并且Request_FDL_Status采用的是以SD1為起始符的報文幀,實際上,從站隨時都監聽著總線上的數據,所以當報文幀中從站地址與自身地址相同后,從站就會傳遞應答幀給主站。
    在實際應用中,總線上的從站地址一般都按順序排列(如從站5、從站6、從站7),很少出現跳躍,通常為:
 
2 Linux2.6下PROFIBUS-DP的實時性分析
    由于是自主設計的PROFIBUS-DP主站(未采用協議芯片),所以Tsdr和TID1這兩個參數完全由程序決定。如果能縮短這兩個時間參數,則對PROFIBUS-DP的實時性能的提高有很大的意義。
2.1 Linux2.6的實時性分析
    Linux2.6內核相對以前的Linux內核在實時性方面有了很大的增強,包括O(1)調度器、可搶占式內核、改進的線程模型以及對新的NPTL(Native Posix Threading Library)的支持。
2.1.1 可搶占式內核
    在2.6版的內核中,引入了內核的可搶占性,只要調度是安全的,內核就可以在任何時間搶占正在執行的任務。也就是說,只要沒有持有鎖,內核就可以進行搶占。鎖是非搶占區域的標志,由于內核支持SMP,所以,如果沒有持有鎖,則正在執行的代碼就是可重入的,也就可以搶占。
2.1.2 定時器
    時鐘粒度是否粗糙是制約實時性的一個重要方面。Linux2.6已將終端頻率改為1 000 Hz,即時鐘粒度為1 ms。
2.1.3 虛擬內存
    Linux2.6內核雖然支持虛擬內存,但是虛擬內存的使用將會帶來系統響應時間的不確定性,所以在移植Linux內核時,應盡可能去掉虛擬內存虛擬內存機制,盡量保證應用程序直接訪問物理內存。
2.1.4 調度策略
    Linux2.6中不但支持基于優先級的調度策略,還支持基于比例共享的調度策略。同時,Linux2.6內核進程調度算法的復雜度為O(1),這對于進程的切換效率有了很大的提高。
2.2 Linux2.6下PROFIBUS-DP單主站的軟件設計
    PROFIBUS-DP單主站的主從通信設計圖如圖3所示。

    從“從站通信調度模塊”開始,該模塊根據上位機發送過來的詢問從站在線命令幀對相應的從站數據結構進行初始化,然后調用“從站是否運行模塊”,判斷從站是否在線;如果在線,就進入“從站通信管理模塊”。在該模塊中,由于已經將Linux移植到了該硬件平臺上,所以通過fork()函數,建立一個進程,單獨處理與特定從站之間的通信;如果有多個從站都進入運行狀態,則建立多個進程,分享CPU,按一定的調度策略處理與主站及從站之間的通信。接著,按照PROFIBUS-DP協議的規范,調用相應的“請求幀模塊”,發送命令幀給從站設備;從站在接收到請求幀后,會在規定的時間內發送回應幀響應主站,同時,主站在特定的時間內會調用“接收請求幀模塊”,處理接收到的響應幀。
    在軟件設計中,采用了一個單獨的數據結構記錄PROFIBUS-DP主站的狀態,其數據結構如下:
    typedef struct host_info{
        u8 host_addr;
        u8 host_mechanism_flag;
        u16 Cycle_Interval;
        struct host_fc FC;
        u32 baud_rate;
        u8 baud_index;
    }*pHOST;
    另外,軟件設計中,對于從站也設計了單獨的數據結構維護其狀態。從站的數據結構如下:
    typedef struct slave_info{
        u8 global_status;
        u8 address;
        u8 baud_support;
        u8 configuration_flag;
        ……
        }*pSlave;
    同時,由于有了特定數據結構的維護,在主從數據的交換過程中,采用了一次性內存拷貝技術(即當讀取到DP從站的輸入數據后,直接將對應數據填充到輸出幀對應的位置),將大大縮短程序查找內存的時間,加快響應速度。
    另外,本軟件設計還采用了單緩沖技術。所謂單緩沖區是指不考慮通信中待轉換的數據而只保留當前最新的一幀。這樣緩沖區中隨時都只有一幀有效數據,從而提高整個系統的實時性。
2.3 Linux操作系統下PROFIBUS-DP實時性的改善
    與無操作系統、由安全使用協議完成的PROFIBUS-DP單主站相比,使用Linux2.6操作系統后,實時性的改善主要體現在以下幾個方面。
2.3.1 站延遲時間Tsdr
    站延遲時間是指接收方從接到請求到產生響應數據的時間間隔。在本設計中,由于移植的Linux操作系統已經去掉了對虛擬內存的支持,所有數據都直接存放到物理內存中,同時使用了一次性內存拷貝技術,因此加快了數據交換的速度。
2.3.2 從站之間的相互切換
    在未使用Linux操作系統設計的PROFIBUS-DP單主站中,如果總線上存在多個從站,PROFIBUS0-DP與從站的通信完全由程序的邏輯來保證,這無疑會加大編程人員的難度,如果稍有不慎,可能會導致通信出現混亂,從而出現錯誤。
    使用了Linux操作系統后,PROFIBUS-DP主站與各個從站的通信分別由對應的進程處理,總線中有多少個從站,程序中就會有多少個進程。這樣,對各個從站的管理就變成對各個進程的管理,只要選擇合適的調度策略,則對各個從站的管理就不會出現混亂。同時,Linux2.6內核中由于調度復雜度為O(1),所以進程切換時間大大縮短,這對提高系統的實時性也有很大好處。
2.3.3 從站響應時間
    從站響應時間是指當有新的從站掛到總線上時,PROFIBUS-DP單主站識別該從站的時間。在一般的系統中,PROFIBUS-DP主站通過輪詢識別從站,而在本設計中,當有新的從站掛到總線上時,會通過一個中斷信號告訴該主站,從而與該從站優先通信。此設計是為了使系統更具智能性,這是標準PROFIBUS-DP協議中沒有的。
3 主站平臺實時性能測試
    PROFIBUS-DP主站的主從通信的實時性能主要通過測控周期來判斷。搭建測試平臺由一臺PC機(主要用作上位機,向主站下載GSD文件)、自己設計的嵌入式主站平臺(選用的是S3C2410芯片)和3個PROFIBUS-DP從站(ET200S、mm420和自主設計的從站)構成,如圖4。


    本次測試的比特率選定為9.6 K,同時對三個從站進行組態,分別測試移植Linux操作系統該主站平臺的測控周期Dtop和移植Linux操作系統后主站的測控周期Dend。
    通過試驗,從示波器上的測試圖形可以看出ttop的寬度大于tend的寬度,具體測量后可知:
    無操作系統下:Dtop≈297.3 ms
    Linux操作系統下:Dend≈10.7 ms
    可見,移植Linux操作系統后,能使響應時間大大降低,提高對從站的管理效率。
    本文對影響PROFIBUS-DP實時性的因素進行了充分分析,同時,在自主設計的PROFIBUS-DP單主站平臺的基礎上,討論了無操作系統和Linux操作系統下對PROFIBUS-DP系統實時性的影響,提出了提高自主設計的PROFIBUS-DP實時性的方法。最后,通過實際測試,根據測控周期這個指標比較了兩個實時性之間的差異。
參考文獻
[1] 楊瑞霞.運用狀態機提高嵌入式軟件效率[J].單片機與嵌入式系統應用,2009(5):69-71.
[2] 夏繼強,梁超眾,邢春香.工業通信用網關設計及其關鍵技術研究[J].電子技術應用,2010,36(2):118-125.
[3] 劉強,甘勇梅,王兆安.PROFIBUS2DP現場總線通訊接口的開發[J].電子技術應用,2006,27(9):39-41.
[4] 卜志翔,胥軍.PROFIBUS現場總線通信協議研究[J].現場總線與網絡技術,2005(8).
[5] 曲輝,葛麗娟.提高嵌入式系統可靠性軟件抗干擾措施[J].內蒙古農業大學學報:自然科學版,2009,30(1):229-232.
[6] LEE K C,LEE S,LEE H H.Implementation and PID tuning of network-based control systems via Profibus polling network[J].Computer Standards and Interfaces,2004,26(3):229-240.
[7] SUK L,KYOUNG N H.NDIS-based virtual polling algorithm for IEEE 802.11b for guaranteeing the real-time requirements.Computer Standards & Interfaces,2007,29:316-324.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          美女999久久久精品视频| 欧美日韩午夜激情| 国产乱码精品一区二区三区五月婷| 91久久极品少妇xxxxⅹ软件| 欧美日韩国产专区| 国产精品日韩| 国产精品久久久久国产精品日日| 加勒比av一区二区| 久久精品道一区二区三区| 亚洲精品1234| 亚洲亚洲精品在线观看| 亚洲福利电影| 国产视频在线观看一区| 在线观看日韩av| 国产精品av久久久久久麻豆网| 性欧美1819性猛交| 久久九九免费视频| 国产一区香蕉久久| 国产综合精品| 国产精品国产三级国产aⅴ入口| 一区三区视频| 欧美国产日韩一区二区| 亚洲欧美日韩国产| 亚洲美女尤物影院| 亚洲国产免费| 欧美日韩美女一区二区| 亚洲精品欧美| 国内揄拍国内精品久久| 欧美日韩国产专区| 欧美三级精品| 久久精品国产一区二区三区| 亚洲综合视频一区| 欧美日韩dvd在线观看| 欧美一区二区视频在线观看2020| 亚洲视频一区二区在线观看| 欧美三日本三级少妇三99| 影音先锋日韩有码| 在线播放中文字幕一区| 国自产拍偷拍福利精品免费一| 99热在线精品观看| 欧美三级网址| 国产欧美亚洲一区| 欧美一级理论片| 国产欧美欧洲在线观看| 国产精品白丝av嫩草影院| 欧美大香线蕉线伊人久久国产精品| 极品少妇一区二区| 韩国女主播一区二区三区| 日韩视频一区二区三区| 黄色成人免费网站| 久久久久久久久久码影片| 欧美制服丝袜第一页| 欧美日韩亚洲一区在线观看| 欧美三日本三级少妇三2023| 欧美一区二区福利在线| 一本色道精品久久一区二区三区| 欧美日韩影院| 一区二区三区久久| 亚洲人成亚洲人成在线观看图片| 国产精品大片wwwwww| 亚洲国产精品高清久久久| 亚洲美女网站| 红桃视频国产精品| 国产精品久久久久一区二区三区共| 国内精品嫩模av私拍在线观看| 国产精品热久久久久夜色精品三区| 欧美1区视频| 欧美日韩国产精品自在自线| 欧美一区二区三区的| 亚洲一区美女视频在线观看免费| 宅男噜噜噜66国产日韩在线观看| 久久人人爽人人| 国产精品一区毛片| 国产精品一区免费观看| 欧美成人精品影院| 黄色资源网久久资源365| 国产三区精品| 欧美伦理在线观看| 久久综合久久综合久久综合| 亚洲免费激情| 一区二区三区视频在线看| 亚洲自拍高清| 国产一级揄自揄精品视频| 国产精品亚洲第一区在线暖暖韩国| 欧美jizz19hd性欧美| 亚洲一区二区三区高清| 亚洲另类在线视频| 久久一区二区三区四区五区| 欧美凹凸一区二区三区视频| 亚洲自拍高清| 欧美日韩专区在线| 亚洲黄色免费电影| 欧美日韩视频一区二区| 国产精品揄拍一区二区| 欧美一区1区三区3区公司| 国产精品一区二区在线观看网站| 欧美精品免费看| 免费日本视频一区| 韩曰欧美视频免费观看| 国产精品视频自拍| 欧美国产日韩一区二区在线观看| 久久精品国产精品| 国产日韩一区二区三区| 欧美gay视频| 欧美另类在线播放| 国产一区二区久久精品| 黄色一区三区| 在线亚洲精品福利网址导航| 久久女同精品一区二区| 午夜精品视频在线| 欧美福利专区| 国产美女高潮久久白浆| 亚洲电影免费观看高清完整版在线观看| 亚洲欧美国内爽妇网| 亚洲欧洲av一区二区| 久久婷婷激情| 羞羞漫画18久久大片| 亚洲综合国产精品| 欧美高潮视频| 国产精品欧美日韩一区二区| 国产在线精品一区二区夜色| 欧美激情第一页xxx| 999在线观看精品免费不卡网站| 国产欧美大片| 在线观看视频一区二区欧美日韩| 亚洲视频免费| 亚洲影视在线播放| 美国十次成人| 午夜欧美大尺度福利影院在线看| 欧美在线视频观看| 一本高清dvd不卡在线观看| 国产精品女人久久久久久| 国产精品久久一级| 一本色道久久综合狠狠躁篇怎么玩| 亚洲欧洲中文日韩久久av乱码| 国产日本精品| 久久爱91午夜羞羞| 亚洲无线一线二线三线区别av| 午夜国产欧美理论在线播放| 亚洲国产精品成人va在线观看| 最新亚洲视频| 国产精品爱啪在线线免费观看| 亚洲精品视频中文字幕| 欧美专区福利在线| 美女诱惑一区| 久久福利一区| 国内伊人久久久久久网站视频| 久久夜色撩人精品| 欧美精品xxxxbbbb| 国产午夜精品视频免费不卡69堂| 欧美激情aⅴ一区二区三区| 欧美视频在线观看一区| 久久久伊人欧美| 久久精品日产第一区二区三区| 欧美另类一区二区三区| 亚洲电影网站| 午夜精品美女久久久久av福利| 国产精品一区二区久久久久| 欧美精品一区二区视频| 久久久91精品国产一区二区三区| 欧美中文字幕久久| 影音先锋久久久| 一本大道久久a久久精品综合| 裸体丰满少妇做受久久99精品| 国产美女扒开尿口久久久| 一本久道久久综合中文字幕| 国产亚洲免费的视频看| 一区国产精品| 亚洲午夜女主播在线直播| 国产精品99久久久久久久vr| 欧美在线欧美在线| 国产精品第一区| 亚洲成人资源网| 久久精视频免费在线久久完整在线看| 欧美三日本三级三级在线播放| 久久在线免费观看视频| 伊人成综合网伊人222| 国产精品视频一区二区三区| 欧美不卡三区| 欧美性色综合| 国产一区二区毛片| 亚洲国产婷婷综合在线精品| 99精品国产福利在线观看免费| 久久综合色播五月| 最新亚洲一区| 欧美色大人视频| 亚洲精品极品| 亚洲欧美日韩国产成人| 久久久久久久一区| 亚洲精品黄色| 欧美日韩一级黄| 一区二区亚洲| 午夜精品久久久久久| 亚洲愉拍自拍另类高清精品| 久久亚洲综合色一区二区三区| 久久国产精品72免费观看| 久久精品91久久久久久再现| 亚洲欧美日韩综合| 国产三级精品三级| 亚洲精品自在久久| 久久亚洲美女| 国产精品久久久久久模特| 日韩视频在线一区二区三区| 老司机精品福利视频| 久久成人av少妇免费| 欧美色一级片| 久久久之久亚州精品露出| 亚洲成色777777女色窝| 国产精品视频999| 欧美一级大片在线免费观看| 国产日韩高清一区二区三区在线| 国产伊人精品| 亚洲自拍啪啪| 亚洲免费在线视频| 欧美日韩一区自拍| 国产精品美女999| 欧美中文日韩| 亚洲手机成人高清视频| 国产精品区一区二区三区| 香蕉成人久久| 狠狠色综合一区二区| 国产精品成人在线观看| 午夜精品福利一区二区蜜股av| 欧美精品久久久久久久久老牛影院| 欧美高清视频一区二区| 中文久久精品| 正在播放亚洲一区| 免费成人你懂的| 欧美高清自拍一区| 在线看片一区| 亚洲看片网站| 午夜精品久久久久久久蜜桃app| 欧美日韩国产123区| 在线观看日韩www视频免费| 欧美日韩国产精品一区| 在线看国产一区| 欧美日韩在线一区| 亚洲国产成人久久| 国产日韩亚洲欧美精品| 国产精品男女猛烈高潮激情| 国产精品magnet| 国产自产在线视频一区| 久久一区亚洲| 亚洲欧美日韩一区在线观看| 欧美成人精精品一区二区频| 男人的天堂亚洲在线| 久久久综合精品| 国产精品久久久久毛片大屁完整版| 欧美美女视频| 亚洲欧美在线免费| 国产深夜精品福利| 国内免费精品永久在线视频| 国产一区二区高清视频| 国产欧美日韩伦理| 欧美日韩国产色视频| 国产精品久久久久久久久果冻传媒| 亚洲黄色免费网站| 怡红院精品视频在线观看极品| 91久久精品国产91性色| 国产精品久久久久一区二区三区共| 欧美日韩日日夜夜| 欧美精品九九99久久| 日韩一级免费观看| 国产一区二区三区在线观看免费| 亚洲一级免费视频| 午夜在线视频一区二区区别| 亚洲全黄一级网站| 欧美激情片在线观看| 欧美一区二区三区精品电影| 国产精品高清在线观看| 欧美一区二区精品| 亚洲另类在线一区| 亚洲伊人色欲综合网| 久久国产天堂福利天堂| 欧美另类一区| 99视频精品免费观看| 亚欧美中日韩视频| 久久中文字幕一区| 国产欧美日韩亚洲精品| 巨胸喷奶水www久久久免费动漫| 久久香蕉国产线看观看网| 136国产福利精品导航网址| 激情自拍一区| 国产欧美在线| 小辣椒精品导航| 欧美福利一区| 国产女主播一区二区| 亚洲影院在线观看| 国产在线精品成人一区二区三区| 欧美成人免费视频| 久久精品国产亚洲高清剧情介绍| 在线观看欧美一区| 国产精品v欧美精品v日本精品动漫| 欧美精品日韩综合在线| 国产噜噜噜噜噜久久久久久久久| 伊人成人网在线看| 欧美新色视频| 亚洲精品少妇| 午夜精彩视频在线观看不卡| 国产精品视频区| 夜夜嗨网站十八久久| 亚洲国产成人高清精品| 亚洲欧洲av一区二区| 久热re这里精品视频在线6| 欧美日韩一区二区三区四区在线观看| 亚洲国产精品99久久久久久久久| 在线不卡欧美| 99亚洲一区二区| 亚洲国产欧美不卡在线观看| 亚洲国产一区二区三区青草影视| 免费在线亚洲| 久久久91精品国产一区二区三区| 亚洲美女区一区| 欧美精品在线免费播放| 洋洋av久久久久久久一区| 欧美大片免费观看在线观看网站推荐| 欧美精品久久久久久久| 欧美精选午夜久久久乱码6080| 亚洲视频在线观看一区| 欧美寡妇偷汉性猛交| 国产精品日韩欧美一区| 久久岛国电影| 国产精品一区免费观看| 性欧美暴力猛交69hd| 最新亚洲激情| 免费影视亚洲| 在线欧美视频| 免费观看30秒视频久久|