a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > CAN總線通信控制協議的仿真與性能分析

CAN總線通信控制協議的仿真與性能分析

作者: 時間:2016-09-12 來源:網絡 收藏

控制器局域網(CAN)屬于現場總線的范疇,是一種有效支持分布式控制系統的串行通信網絡。它是由德國博世公司在20世紀80年代專門為汽車行業開發的一種串行通信總線。由于其通信速率高、工作可靠、調試方便、使用靈活和性價比高等優點,己經在汽車業、航空業、工業控制、安全防護等領域中得到了廣泛應用,被公認為幾種最有前途的總線之一,其協議也發展為重要的國際標準。

本文引用地址:http://www.j9360.com/article/201609/303473.htm

隨著CAN總線在各個行業和領域的廣泛應用,其通信性能也越來越受到人們的關注。目前,已有很多學者對CAN總線通信性能進行分析研究。文中在分析CAN總線協議的基礎上,在MATLAB/Sinulink軟件Stateflow環境下,利用有限狀態機理論對CAN總線通信系統進行了形式化建模。通過此模型,分析了CAN總線通信系統中負載率的變化對網絡吞吐量、平均信息時延、通信沖突率、網絡利用率、網絡效率以及負載完成率的影響。

1CAN總線協議

根據ISO11898(1993)標準,CAN從結構上分為物理層和數據鏈路層,數據鏈路層又包括邏輯鏈路層控制子層(LLC)和介質訪問控制子層(MAC)。在CAN總線系統中,節點間通過公共傳輸介質傳輸數據,因而數據鏈路層是總線的核心部分。CAN總線數據鏈路層的通信介質訪問控制方式為事件觸發,采用CSMA/CD。只要總線空閑,網絡上任意節點均可在任意時刻主動地向網絡上其他節點發送信息,而不分主從,節點在請求發送信息時,首先偵聽總線狀態,若總線空閑(或等待至總線空閑)則開始發送。當多個節點同時發送產生沖突時,采用非破壞性位仲裁機制,即借助ID標識符及逐位仲裁規則,低優先級節點主動停止發送,高優先級節點不受影響繼續發送,從而避免總線沖突,避免信息和時間發生損失。在發送過程中,發送節點對發送信息進行校驗,完成發送后釋放總線。CAN總線系統通過使用這種非破壞性的逐位線仲裁技術來處理多個節點同時訪問網絡的沖突,最后優先級最高的節點能夠立即發送數據,滿足了高優先級節點實時性的相關需要。

2CAN總線系統模型

文章在Matlab/Simulink軟件Stateflow仿真環境中建立了16節點的CAN總線通信系統仿真模型。節點1-16的結構是相同的,節點模塊如圖1所示。

1.jpg

圖1節點模塊

節點模塊包括發送、緩存、數據采集3個部分。因為本次仿真主要研究CAN總線的通信性能,所以建立節點模型時,只考慮了其通信活動所涉及的部分,沒有加入節點計算控制活動部分和數據接收部分。數據采集用于采集Simulink中輸入的數據,數據長度服從隨機平均分布,在狀態有數據中,數據被組裝成CAN標準短幀。在實際系統中,數據可能是節點本身采集的現場檢測數據,或是節點控制器輸出的數據。緩存代表節點的緩沖器,這里假設容量為 1。包括兩個狀態:空和非空。數據被采集并組裝成CAN標準短幀后,觸發由空到非空的轉換,將節點信息放在等待發送的緩沖器中,發送完成后,返回空狀態,等待下一次觸發。發送代表節點發送部分,當緩沖器有數據等待傳輸時,觸發由停止到等待的轉換,進入等待狀態;當總線仲裁允許本節點發送時,觸發由等待到傳送的轉換,開始發送數據;當緩沖器的數據傳送完成時,觸發由傳送到停止的轉換,等待下一次發送。

CAN總線通信控制協議的仿真與性能分析

圖2通信調度模塊

通信調度模塊,如圖2所示。包括總線活動模塊fieldbus和仲裁判斷函數compete。fieldbus模塊包括3個狀態:空閑、 忙碌、幀間隔。開始總線在空閑狀態下,當有節點要發送信息時,用compete函數對待發節點進行仲裁,并觸發由空閑到忙碌的轉換;節點發送數據完成后,以返回事件觸發由忙碌到幀間隔的轉換;經過一個幀間隔后,回到空閑狀態,等待下一次傳輸。compete函數對各節點的仲裁符合CAN仲裁機制,通過比較各待發節點的優先級,實現線與功能,將發送權給優先級最高的節點。

以上所述的仿真平臺簡潔直觀地解釋了CAN網絡的控制機理,并能動態地仿真其通信活動。

3網絡性能

3.1性能指標

我們先介紹總線網絡相關性能指標的相關定義。

網絡負載率:單位時間內發出訪問網絡的節點數(需要傳送的報文數)與網絡最大容量的比率。

吞吐量:單位時間內系統成功發送信息數量的均值。

平均信息時延:從信息發出傳輸請求到被成功地傳輸到目的節點所需要的平均時間。

通信沖突率:節點遭受通信沖突的概率。

網絡利用率:單位時間內通道傳送信息號的時間比率,即是通道處于忙碌狀態的概率,它反映了通道被利用的情況。

網絡效率:單位時間內通道成功傳送的信息與通道發送信息的時間比率,即吞吐量與通道利用率兩者間的比率。

負載完成率:所有節點運行完成后成功向總線上發送的報文幀的總個數與所有節點請求發送的報文幀的總個數的比率。

3.2性能分析

仿真設定CAN總線傳輸速率為200kbit/s,總的運行時間為T=2s,并假設每一幀報文的數據長度為100bit,可以得知,CAN總線滿負載時傳輸4000幀數據,表示為N=4000幀,即滿負載時傳輸的數據幀的總長度為400kbit,表示為S=400kbit。通過設定各節點的發送周期,來調整負載率的大小。

CAN總線仿真模型中,輸出參數含義分別為:u代表通道處于忙碌狀態的總時間;thout代表所有節點發送的所有數據幀的總長度;fz代表所有節點產生的所有數據幀的總長度;b1-b16分別代表第1-16個節點每次運行完成后成功向總線上發送的數據幀的個數;p1-p16分別代表第1-16節點每次請求發送的數據幀的個數。


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區

關閉