小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

AUTOSAR Network Management

 黃南山 2017-11-22

最近在學(xué)習(xí)AUTOSAR Network Management,所以記下詳細(xì)筆記,也分享一下學(xué)習(xí)過程。

有什么不對的地方還請大神指正。


概述

AUTOSAR CanNm是基于權(quán)利分散的直接網(wǎng)絡(luò)管理。每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的狀態(tài)只取決于該節(jié)點(diǎn)接收到和發(fā)送的NMPDUs。

AUTOSAR CanNM的核心思想主要?dú)w納為以下兩條:

1.  如果節(jié)點(diǎn)需要保持通信,則節(jié)點(diǎn)需要周期的發(fā)送NMPDUs,否則停止發(fā)送NMPDUs

2.     如果總線上的所有節(jié)點(diǎn)不需要使用總線,那么總線上過了一段時(shí)間沒有NMPDUs時(shí),則會(huì)進(jìn)入Bus-Sleep Mode。


工作模式和狀態(tài)

CanNm一共有三個(gè)工作模式

1.  Network Mode

2.  PrepareBus-Sleep Mode

3.  Bus-Sleep Mode

模式的改變應(yīng)該通過回調(diào)函數(shù)通知上層。

三種模式的切換關(guān)系見下圖:




下面單獨(dú)說每種模式


Network Mode

Network Mode又包括三個(gè)內(nèi)部狀態(tài)

1. Repeat Message State 
2. Normal Operation State 
3. Ready Sleep State


下圖為三種狀態(tài)的切換圖


Repeat Message State

這個(gè)模式被用來確保從Bus-Sleep or Prepare Bus-Sleep到Network Mode的節(jié)點(diǎn)被總線上面其他節(jié)點(diǎn)發(fā)現(xiàn)。這個(gè)狀態(tài)可以用來檢測總線上的節(jié)點(diǎn)。
當(dāng)進(jìn)入Repeat Message State時(shí),節(jié)點(diǎn)應(yīng)該開始傳送NMPDUs。
在Repeat Message State時(shí),當(dāng)NM-Timeout Timer溢出,CanNm模塊應(yīng)該重載Timer。
CanNm模塊應(yīng)該在Repeat Message State 下保持一段時(shí)間,這段時(shí)間可以通過CANNM_REPEAT_MESSAGE_TIME來進(jìn)行配置。
當(dāng)離開Repeat Message State的時(shí)候,如果節(jié)點(diǎn)需要通信,則進(jìn)入Normal Operation State;如果節(jié)點(diǎn)不需要通信,則進(jìn)入Ready Sleep State。并且清空Repeat Message Bit。


Normal Operation State

這個(gè)狀態(tài)可以保持總線處于喚醒狀態(tài)。從Ready sleep state進(jìn)入這個(gè)狀態(tài)的時(shí)候應(yīng)該發(fā)送NMPDUs。
在Normal Operation State當(dāng)NM-Timeout Timer溢出,CanNm模塊應(yīng)該重載Timer。
如果節(jié)點(diǎn)不需要使用通信,則網(wǎng)絡(luò)應(yīng)該被釋放,節(jié)點(diǎn)應(yīng)該進(jìn)入Ready Sleep State。
如果節(jié)點(diǎn)接收到Repeat Message Request Bit,則節(jié)點(diǎn)進(jìn)入Repeat Message State。如果節(jié)點(diǎn)自身需要進(jìn)入Repeat Message State,則該節(jié)點(diǎn)進(jìn)入Repeat Message State并且設(shè)置Repeat Message Request Bit。


ReadySleep State

這個(gè)狀態(tài)是為了如果本節(jié)點(diǎn)已經(jīng)準(zhǔn)備釋放總線,而其他節(jié)點(diǎn)還需要使用總線的時(shí)候,在這個(gè)狀態(tài)下等待其他總線上的節(jié)點(diǎn)進(jìn)入Perpere Bus-Sleep Mode。進(jìn)入這個(gè)狀態(tài)之后,CanNm模塊應(yīng)該停止NMPDUs的傳送。
如果NM-Timeout Timer溢出,節(jié)點(diǎn)將會(huì)進(jìn)入Prepare Bus-Sleep Mode。
如果該節(jié)點(diǎn)需要使用總線,則節(jié)點(diǎn)進(jìn)入Nomal Operation State。
如果節(jié)點(diǎn)接收到Repeat Message Request Bit,則節(jié)點(diǎn)進(jìn)入Repeat Message State。如果節(jié)點(diǎn)自身需要進(jìn)入Repeat Message State,則該節(jié)點(diǎn)進(jìn)入Repeat Message State并且設(shè)置Repeat Message Request Bit。


PrepareBus-Sleep Mode

這個(gè)狀態(tài)是為了等待總線上的所有節(jié)點(diǎn)能夠在進(jìn)入Bus-Sleep Mode之前,有時(shí)間停止節(jié)點(diǎn)的active狀態(tài)如清空隊(duì)列中為發(fā)送的報(bào)文。在Prepare Bus –Sleep Mode下,所有節(jié)點(diǎn)都靜默下來。

當(dāng)節(jié)點(diǎn)進(jìn)入PrepareBus Mode時(shí),應(yīng)該通知上層應(yīng)用。通過配置CANNM_WAIT_BUS_SLEEP_TIME參數(shù),可以改變節(jié)點(diǎn)在PrepareBus-Sleep Mode停留的時(shí)間,在這段時(shí)間之后節(jié)點(diǎn)將會(huì)進(jìn)入其他狀態(tài)。

在Prepare Bus-Sleep Mode下面接收到NMPDU或者被上層應(yīng)用請求通信時(shí),節(jié)點(diǎn)將進(jìn)入Network Mode中的Normal operation State。


Bus-SleepMode

Bus-Sleep Mode的目的是當(dāng)沒有消息被傳送的時(shí)候可以減少能量的消耗。在Bus-Sleep Mode下面,節(jié)點(diǎn)可以被喚醒(如本地喚醒源和CAN線喚醒源)。CANNM_TIMEOUT_TIME+CANNM_WAIT_BUS_SLEEP_TIME兩個(gè)參數(shù)在整個(gè)總線上面的節(jié)點(diǎn)都應(yīng)該時(shí)一樣的配置,保證了總線上的節(jié)點(diǎn)能夠統(tǒng)一的進(jìn)行休眠。

當(dāng)進(jìn)入Bus-Sleep Mode時(shí)候,應(yīng)該通知上層應(yīng)用。

在Bus-Sleep Mode下,如果成功接收到NMPDU,CAN NM模塊應(yīng)該調(diào)用Nm_NetworkStartIndication。

如果CanNm_PassiveStartUp被調(diào)用,則CAN NM模塊進(jìn)入Network Mode 中的Repeat Message State。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多