can 網絡管理


網絡管理主要功能:

  1. 是用來管理ECU是否在網絡里面,不在的話請求加入,也就是ALIVE報文,
  2. 要判斷是否掉線,以及睡眠狀態的轉換機制,以及跛行狀態判,也即是RING報文。

主要的實現邏輯流程:

從rtos隊列里面取出數據,保存在自定義的結構體里面
不論在何種狀態只要接收到報文都需要靜進入normal狀態,等於初始化一次
提取信息,報文的主要信息有三部分,報文ID,目的地址,以及消息類型
如果是alive報文,進行環的更新,如果是ring報文進行狀態轉換機制判斷。
ring報文的判斷的目的有兩個,一個是進行狀態的轉換,二是為了將ring報文繼續傳遞下去。

       當ring報文是節點在請求睡眠的時候,睡眠ind為true,然后在環里循環,如果有一個節點為false,則請求失敗,返回原來的狀態,都為true,則自己發送一個為ind 和ack都為true,   則進入等待睡眠狀態。

 

在接收到報文之后,如果是目的地址是自己的的話,則進行判斷然后啟動Ttype定時器,時間到了發送后繼的ring報文。如果不是發送給自己的,則啟動Tmax定時器,如果在定時器時間到的時候沒有收到下一條ring報文表示,我出故障了,進入跛足狀態。在跛足狀態的時候,定時器Terror時間到就發一個跛足報文,Tlimphome時間到的時候則進入准備睡眠狀態。

接收到睡眠報文應答的時候,進入等待睡眠狀態,讓后啟動定時器Twait,時間到沒有收到報文的話則進入睡眠狀態。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM