• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 博客專欄

    EEPW首頁 > 博客 > 詳解AUTOSAR:AUTOSAR CAN網絡管理/CAN NM

    詳解AUTOSAR:AUTOSAR CAN網絡管理/CAN NM

    發布人:美男子玩編程 時間:2023-04-25 來源:工程師 發布文章

    圖片


    AUTOSAR CAN網絡通信中有三種模式和三種狀態,如下圖所示:


    圖片


    3種運行模式:

    1. 睡眠模式(Bus-Sleep Mode);

    2. 預睡眠模式(Prepare Bus-Sleep Mode);

    3. 網絡模式(Network Mode)。


    睡眠模式(Bus-Sleep Mode)

    當CAN網絡中沒有遠程喚醒或者本地喚醒請求時,ECU應處于睡眠模式(Bus-Sleep Mode),將功耗降低至最低水平,這種模式是ECU啟動時的起始狀態或者是ECU睡眠時的最終狀態。


    在該模式下,網絡管理報文和應用報文都禁止發送,但是可以被網絡上的報文喚醒。


    CAN收發器應當支持設定喚醒幀(如果有CAN收發器的情況下),ECU只會接受到特定的NM報文才會正常喚醒,否則就會一直處于休眠狀態,能夠不受網絡上應用報文的干擾。


    睡眠模式(Prepare Bus-Sleep Mode)

    ECU進入預睡眠模式(Prepare Bus-Sleep Mode)后禁止網絡管理報文的發送,允許接收網絡管理報文。應用報文已經在buffer中的一般允許繼續發送,進入到預睡眠模式(Prepare Bus-Sleep Mode)計時器CanNmWaitBusSleepTime就會啟動,一旦計時器CanNmWaitBusSleepTime超時,就會進入到睡眠模式(Bus-Sleep Mode)。


    圖片


    本項目AUTOSAR配置中設定計時器CanNmWaitBusSleepTime為2秒。


    網絡模式(Network Mode)

    當CAN網絡處于開啟或者工作情況下會進入網絡模式,ECU進入網絡模式(Network Mode)后計時器CanNmTimeoutTime就會啟動,只要成功接收到來自CAN總線上的網絡管理報文或者成功發送至CAN總線網絡管理報文,都會將計時器CanNmTimeoutTime重置。




    本項目AUTOSAR配置中設定計時器CanNmTimeoutTime為2秒,所以0X505網絡管理報文的發送周期要在2秒內,超時會進入預睡眠模式(Prepare Bus-Sleep Mode)。




    網絡模式(Network Mode)包含3種狀態:

    1. 報文重復狀態(Repeat Message State);

    2. 常規運行狀態(Normal Operation State);

    3. 準備睡眠狀態(Ready Sleep State)。


    報文重復狀態(Repeat Message State)

    當ECU從其他模式進入網絡模式(Network Mode)時,默認進入報文重復狀態(Repeat Message State)。該階段是CAN網絡正式開始工作前的準備階段,用來等待CAN網絡中所有相關節點進行網絡通信的準備時間。


    該模式下計時器CanNmRepeatMessageTime規定了重復發送網關管理報文的時間,CanNmImmediateNmTransmissions規定了發送網絡管理報文的次數。

    在報文重復狀態(Repeat Message State)ECU使用計時器CanNmMsgCycleTime周期時間發送網絡管理報文。


    圖片


    圖片


    本項目AUTOSAR配置中發送網絡管理報文的周期是640毫秒,重復次數為5,總時常3.2秒。


    圖片


    常規運行狀態(Normal Operation State)

    ECU進行正常CAN通信時會處于常規運行狀態(Normal Operation State),該階段中,節點要按照計時器CanNmMsgCycleTime時間周期發送網絡管理報文。每次成功發送或者接收CAN網絡報文計時器CanNmTimeoutTime就會重置。

    在常規運行狀態(Normal Operation State)下的網絡管理報文和應用報文都應該正常收、發通信。


    準備睡眠狀態(Ready Sleep State

    在準備睡眠狀態(Ready Sleep State)ECU應當停止發送網絡管理報文,每次成功接受到來自CAN網絡上的網絡管理報文,計時器CanNmTimeoutTime就會重置,一旦CanNmTimeoutTime超時,就會進入預睡眠模式(Prepare Bus-Sleep Mode)。


    在AUTOSAR中規定了各種模式和狀態下計時器的默認時間:


    圖片


    配置參數在AUTOSAR代碼中體現如下所示:


    圖片


    下圖梳理了所有網絡管理的模式轉換情況,通??刂破鞯臓顟B轉換如藍色箭頭所示:


    圖片


    *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



    關鍵詞: CAN

    技術專區

    關閉
    主站蜘蛛池模板: 广南县| 界首市| 逊克县| 清丰县| 宁津县| 漳平市| 高陵县| 杭锦后旗| 贺州市| 花莲市| 平利县| 团风县| 镇巴县| 潜江市| 泰顺县| 崇阳县| 兴和县| 神农架林区| 双桥区| 东光县| 楚雄市| 云南省| 科技| 航空| 吕梁市| 汪清县| 抚顺市| 耿马| 陇川县| 东山县| 南平市| 灵台县| 马公市| 颍上县| 祁阳县| 南漳县| 卢龙县| 奉贤区| 怀远县| 永修县| 鄂尔多斯市|