亚洲av成人精品日韩一区,97久久久精品综合88久久,玩弄japan白嫩少妇hd,亚洲av片不卡无码久久,玩弄人妻少妇500系列

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AUTOSAR UDP網(wǎng)絡(luò)管理策略

智能汽車電子與軟件 ? 來源:汽車通信技術(shù) ? 2023-09-27 16:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

什么是UdpNm

UdpNm,AUTOSAR UDP Network Management,基于TCP/IP協(xié)議棧,主要目的是協(xié)調(diào)網(wǎng)絡(luò)在normal operation和bus-sleep mode之間的轉(zhuǎn)換。除了核心功能以外,還提供了可選功能,例如,實(shí)現(xiàn)一個(gè)服務(wù)來檢測(cè)所有當(dāng)前節(jié)點(diǎn)或檢測(cè)所有其他節(jié)點(diǎn)是否準(zhǔn)備好休眠。UDP網(wǎng)絡(luò)管理(UdpNm)功能提供網(wǎng)絡(luò)管理接口(Nm)和TCP/IP協(xié)議棧(TCP/IP)之間的適配

12a56eb2-5d11-11ee-939d-92fbcf53809c.png

擴(kuò)展AUTOSAR的通信協(xié)議棧

從上圖可以看出:

UDP網(wǎng)絡(luò)管理(UdpNm)使用TCP/IP協(xié)議棧的服務(wù)(SoAd)并向通用網(wǎng)絡(luò)管理接口(Nm)提供服務(wù)

有幾個(gè)注意點(diǎn):

一個(gè)UdpNm實(shí)例只與一個(gè)網(wǎng)絡(luò)中的一個(gè)NM簇相關(guān)聯(lián),一個(gè)NM簇在一個(gè)節(jié)點(diǎn)中只能有一個(gè)UdpNm實(shí)例

一個(gè)UdpNm實(shí)例僅與同一ECU內(nèi)的一個(gè)網(wǎng)絡(luò)相關(guān)聯(lián)

UdpNm僅適用于基于TCP/IP的系統(tǒng)

UdpNm實(shí)例表示udp網(wǎng)絡(luò)管理在ECU中的實(shí)現(xiàn),它是NM簇在ECU中的實(shí)例化。所以NM簇,又叫網(wǎng)絡(luò)管理集群,是UdpNm實(shí)例的集合。NM集群和UdpNm實(shí)例,可以看成是面向?qū)ο?a target="_blank">編程中的類與實(shí)例化

UdpNm中需要注意兩個(gè)代碼文件:

UdpNm_Lcfg.c

配置link時(shí)間參數(shù)

UdpNm_PBcfg.c

配置后期構(gòu)建時(shí)間參數(shù)

UDP網(wǎng)絡(luò)管理策略

AUTOSAR UdpNm基于分散的網(wǎng)絡(luò)管理策略,這意味著每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)僅根據(jù)通信系統(tǒng)內(nèi)接收和/或傳輸?shù)腢DP數(shù)據(jù)包執(zhí)行自給自足的活動(dòng)

AUTOSAR UdpNm的協(xié)調(diào)算法基于周期性的網(wǎng)絡(luò)管理數(shù)據(jù)包,由集群中的所有節(jié)點(diǎn)通過廣播傳輸?shù)姆绞浇邮铡=邮盏骄W(wǎng)絡(luò)管理數(shù)據(jù)包表明發(fā)送節(jié)點(diǎn)希望保持NM集群處于喚醒狀態(tài)。如果任何節(jié)點(diǎn)準(zhǔn)備好進(jìn)入Bus-Sleep模式,它就會(huì)停止發(fā)送NM數(shù)據(jù)包,但只要收到來自其他節(jié)點(diǎn)的NM數(shù)據(jù)包,它就會(huì)推遲轉(zhuǎn)換到Bus-Sleep模式。如果在專用計(jì)時(shí)器內(nèi)沒有收到NM數(shù)據(jù)包,則每個(gè)節(jié)點(diǎn)都會(huì)啟動(dòng)Bus-Sleep模式的轉(zhuǎn)換。如果NM集群中的任何節(jié)點(diǎn)需要總線通信,它可以通過發(fā)送NM數(shù)據(jù)包來讓NM集群保持清醒

AUTOSAR UdpNm協(xié)調(diào)算法的主要概念可以通過以下兩個(gè)關(guān)鍵要求來定義:

只要需要總線通信,每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)都應(yīng)發(fā)送周期性的網(wǎng)絡(luò)管理數(shù)據(jù)包;否則不應(yīng)該發(fā)送網(wǎng)絡(luò)管理數(shù)據(jù)包

如果UdpNmStayInPbsEnabled被禁用,并且UdpNm集群中的總線通信被釋放,并且總線上沒有網(wǎng)絡(luò)管理PDU(數(shù)據(jù)包),則應(yīng)執(zhí)行由UdpNmTimeoutTime + UdpNmWaitBusSleepTime(兩個(gè)配置參數(shù))確定的可配置時(shí)間值轉(zhuǎn)換到Bus-Sleep模式

AUTOSAR UdpNm協(xié)調(diào)算法的整體狀態(tài)機(jī)定義如下:

從NM集群中單個(gè)節(jié)點(diǎn)的角度來看,AUTOSAR UdpNm狀態(tài)機(jī)應(yīng)包含AUTOSAR UdpNm協(xié)調(diào)算法所需的狀態(tài)、轉(zhuǎn)換和觸發(fā)器

操作模式

AUTOSAR UdpNm包含三種操作模式:

Network mode

網(wǎng)絡(luò)模式

Prepare Bus-Sleep mode

總線預(yù)休眠模式

Bus-Sleep mode

總線休眠模式

AUTOSAR UdpNm操作模式的變化應(yīng)通過回調(diào)函數(shù)通知上層

Network Mode

網(wǎng)絡(luò)模式包含三個(gè)內(nèi)部狀態(tài):

Repeat Message State

Normal Operation State

Ready Sleep State

當(dāng)從Bus-Sleep Mode或Prepare Bus-Sleep Mode進(jìn)入Network Mode時(shí),默認(rèn)進(jìn)入Repeat Message State

當(dāng)進(jìn)入網(wǎng)絡(luò)模式時(shí),應(yīng)啟動(dòng)NM-Timeout定時(shí)器

當(dāng)進(jìn)入網(wǎng)絡(luò)模式時(shí),UdpNm將通過調(diào)用Nm_NetworkMode通知上層

在網(wǎng)絡(luò)模式下成功接收到NM PDU(調(diào)用UdpNm_SoAdIfRxIndication)后,應(yīng)重新啟動(dòng)NM-Timeout定時(shí)器

在網(wǎng)絡(luò)模式下傳輸NM PDU(使用E_OK調(diào)用UdpNm_SoAdIfTxConfirmation)時(shí),應(yīng)重新啟動(dòng)NM-Timeout定時(shí)器

NM-Timeout定時(shí)器每次啟動(dòng)或重新啟動(dòng)時(shí)都應(yīng)重置

- Repeat Message State

對(duì)于不處于被動(dòng)模式的節(jié)點(diǎn),Repeat Message狀態(tài)確保從Bus-Sleep或Prepare Bus-Sleep到網(wǎng)絡(luò)模式的任何轉(zhuǎn)換對(duì)于網(wǎng)絡(luò)上的其他節(jié)點(diǎn)都是可見的

當(dāng)從Bus-Sleep模式、Prepare-Bus-Sleep模式、Normal Operation State或Ready Sleep State進(jìn)入Repeat Message State時(shí),應(yīng)(重新)開始NM數(shù)據(jù)包的傳輸,除非啟用被動(dòng)模式

當(dāng)NM-Timeout定時(shí)器在Repeat Message狀態(tài)超時(shí)時(shí),NM-Timeout定時(shí)器應(yīng)重新啟動(dòng)

網(wǎng)絡(luò)管理應(yīng)在由UdpNmRepeatMessageTime(配置參數(shù))確定的可配置時(shí)間內(nèi)保持在Repeat Message狀態(tài);在那之后,會(huì)離開Repeat Message狀態(tài)

當(dāng)離開Repeat Message狀態(tài)時(shí),如果網(wǎng)絡(luò)已被請(qǐng)求,則應(yīng)進(jìn)入Normal Operation狀態(tài)

當(dāng)離開Repeat Message狀態(tài)時(shí),如果網(wǎng)絡(luò)已被釋放,則應(yīng)進(jìn)入Ready Sleep狀態(tài)

如果UdpNmNodeDetectionEnabled設(shè)置為TRUE,UdpNm將在離開Repeat Message狀態(tài)時(shí)清除Repeat Message Bit

- Normal Operation State

Normal Operation狀態(tài)確保只要需要網(wǎng)絡(luò)功能,任何節(jié)點(diǎn)都可以讓NM集群處于喚醒狀態(tài)

當(dāng)從Ready Sleep狀態(tài)進(jìn)入Normal Operation狀態(tài)時(shí),應(yīng)開始傳輸NM PDU,除非啟用被動(dòng)模式或禁用NM消息傳輸能力

當(dāng)NM-Timeout定時(shí)器在Normal Operation狀態(tài)到期時(shí),NM-Timeout定時(shí)器應(yīng)重新啟動(dòng)

當(dāng)網(wǎng)絡(luò)被釋放且當(dāng)前狀態(tài)為Normal Operation狀態(tài)時(shí),應(yīng)離開Normal Operation狀態(tài),進(jìn)入Ready Sleep狀態(tài)

如果UdpNmNodeDetectionEnabled設(shè)置為TRUE并且在Normal Operation狀態(tài)下接收到Repeat Message Request bit,則UdpNm應(yīng)進(jìn)入Repeat Message狀態(tài)

如果UdpNmNodeDetectionEnabled設(shè)置為TRUE,并且在Normal Operation狀態(tài)下調(diào)用函數(shù)UdpNm_RepeatMessageRequest,則UdpNm應(yīng)進(jìn)入Repeat Message狀態(tài)

如果UdpNmNodeDetectionEnabled設(shè)置為TRUE 并且在Normal Operation狀態(tài)下調(diào)用函數(shù)UdpNm_RepeatMessageRequest,UdpNm應(yīng)設(shè)置Repeat Message Bit

- Ready Sleep State

Ready Sleep狀態(tài)確保NM集群中的任何節(jié)點(diǎn)等待轉(zhuǎn)換到Prepare Bus-Sleep模式,而其他節(jié)點(diǎn)保持NM集群清醒

當(dāng)從Repeat Message狀態(tài)或Normal Operation狀態(tài)進(jìn)入Ready Sleep State時(shí),應(yīng)停止NM PDU的傳輸

如果啟用被動(dòng)模式,則不傳輸任何NM PDU,則不需要任何操作。如果禁用被動(dòng)模式,在某些情況下,必須在Ready Sleep狀態(tài)下傳輸NM PDU才能在網(wǎng)絡(luò)中同步關(guān)閉,例如重新傳輸PN關(guān)閉消息

當(dāng)NM-Timeout定時(shí)器在Ready Sleep狀態(tài)下到期時(shí),應(yīng)離開Ready Sleep狀態(tài)并進(jìn)入Prepare Bus Sleep模式

當(dāng)請(qǐng)求網(wǎng)絡(luò)且當(dāng)前狀態(tài)為Ready Sleep狀態(tài)時(shí),應(yīng)離開Ready Sleep狀態(tài)并進(jìn)入Normal Operation狀態(tài)

如果UdpNmNodeDetectionEnabled設(shè)置為TRUE,并且在Ready Sleep狀態(tài)下接收到Repeat Message Request bit,則UdpNm應(yīng)進(jìn)入Repeat Message狀態(tài)

如果UdpNmNodeDetectionEnabled設(shè)置為TRUE并且函數(shù)UdpNm_RepeatMessageRequest在Ready Sleep狀態(tài)中被調(diào)用,UdpNm將進(jìn)入Repeat Message狀態(tài)

如果UdpNmNodeDetectionEnabled設(shè)置為TRUE并且函數(shù)UdpNm_RepeatMessageRequest在Ready Sleep狀態(tài)中被調(diào)用,UdpNm應(yīng)設(shè)置Repeat Message Bit

Prepare Bus-Sleep Mode

Prepare Bus Sleep狀態(tài)的目的是確保所有節(jié)點(diǎn)在進(jìn)入Bus Sleep狀態(tài)之前都有時(shí)間停止其網(wǎng)絡(luò)活動(dòng)??偩€活動(dòng)平靜下來(即傳輸排隊(duì)的消息以清空所有Tx緩沖區(qū)),最后在Prepare Bus Sleep模式下總線上沒有活動(dòng)

當(dāng)進(jìn)入Prepare Bus-Sleep Mode時(shí),UdpNm應(yīng)通過調(diào)用Nm_PrepareBusSleepMode通知上層

如果UdpNmStayInPbsEnabled被禁用,則UdpNm應(yīng)在UdpNmWaitBusSleepTime(配置參數(shù))確定的可配置時(shí)間內(nèi)保持在Prepare Bus-Sleep模式;然后,應(yīng)離開Prepare Bus-Sleep模式并進(jìn)入Bus-Sleep模式

上面這段話隱含地要求,如果啟用UdpNmStayInPbsEnabled,UdpNm將永遠(yuǎn)不會(huì)由于超時(shí)而離開,即UdpNm將保持在Prepare Bus-Sleep模式,直到ECU進(jìn)入電源關(guān)閉或任何重新啟動(dòng)原因被滿足

在Prepare Bus-Sleep模式下成功接收到NM PDU后,應(yīng)離開Prepare Bus-Sleep模式,進(jìn)入Network Mode;默認(rèn)情況下,進(jìn)入Repeat Message狀態(tài)

當(dāng)在Prepare Bus-Sleep模式下請(qǐng)求網(wǎng)絡(luò)時(shí),應(yīng)離開Prepare Bus-Sleep Mode,進(jìn)入Network Mode;默認(rèn)情況下,進(jìn)入Repeat Message狀態(tài)

當(dāng)在Prepare Bus-Sleep模式下請(qǐng)求網(wǎng)絡(luò)并且UdpNm模塊已進(jìn)入網(wǎng)絡(luò)模式并且如果UdpNmImmediateRestartEnabled(配置參數(shù))為TRUE,則UdpNm模塊應(yīng)發(fā)送NM PDU

Bus-Sleep Mode

Bus-Sleep狀態(tài)的目的是在沒有消息交換時(shí)降低節(jié)點(diǎn)中的功耗

通信控制器切換到睡眠模式,激活相應(yīng)的喚醒機(jī)制,最后在總線睡眠模式下將功耗降低到足夠的水平

如果禁用UdpNmStayInPbsEnabled并且由UdpNmTimeoutTime + UdpNmWaitBusSleepTime(兩個(gè)配置參數(shù))確定的可配置時(shí)間量同樣配置給網(wǎng)絡(luò)管理集群中的所有節(jié)點(diǎn),則網(wǎng)絡(luò)管理集群中使用AUTOSAR NM算法協(xié)調(diào)的所有節(jié)點(diǎn)幾乎同時(shí)轉(zhuǎn)換到總線睡眠模式

參數(shù)UdpNmTimeoutTime和UdpNmWaitBusSleepTime在NM 集群的所有網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)應(yīng)該具有相同的值。取決于具體的實(shí)現(xiàn),轉(zhuǎn)換到Bus-Sleep模式大約同時(shí)發(fā)生。此轉(zhuǎn)換所經(jīng)歷的時(shí)間抖動(dòng)取決于以下因素:

內(nèi)部時(shí)鐘精度(振蕩器漂移)

NM-task循環(huán)時(shí)間(如果任務(wù)與全局時(shí)間不同步)

NM PDU在Tx隊(duì)列中的等待時(shí)間(如果在發(fā)送請(qǐng)求后立即進(jìn)行發(fā)送確認(rèn))

按照最好情況估計(jì),在可配置的時(shí)間量?jī)?nèi)應(yīng)僅考慮振蕩器漂移,該可配置時(shí)間量由值UdpNmTimeoutTime + UdpNmWaitBusSleepTime(兩個(gè)配置參數(shù))確定。另外兩個(gè)因素可以忽略

當(dāng)進(jìn)入Bus-Sleep Mode時(shí),UdpNm應(yīng)通過調(diào)用Nm_BusSleepMode通知上層;如果在初始化時(shí)默認(rèn)進(jìn)入總線睡眠模式,則不會(huì)出現(xiàn)這種情況

當(dāng)UdpNm模塊在Bus-Sleep模式下成功接收到網(wǎng)絡(luò)管理PDU(調(diào)用UdpNm_SoAdIfRxIndication)時(shí),UdpNm模塊將通過調(diào)用回調(diào)函數(shù)Nm_NetworkStartIndication通知上層

為了避免網(wǎng)絡(luò)和模式管理之間的競(jìng)爭(zhēng)條件和狀態(tài)不一致,UdpNm 不會(huì)自動(dòng)執(zhí)行從總線睡眠模式到網(wǎng)絡(luò)模式的轉(zhuǎn)換。UdpNm只會(huì)通知必須做出喚醒決定的上層。Bus-Sleep模式下的NM數(shù)據(jù)包接收必須根據(jù)ECU關(guān)閉或啟動(dòng)過程的當(dāng)前狀態(tài)進(jìn)行處理

如果在Bus-Sleep Mode或Prepare Bus Sleep Mode中調(diào)用 UdpNm_PassiveStartUp,則UdpNm模塊應(yīng)進(jìn)入Network Mode;默認(rèn)情況下,進(jìn)入Repeat Message狀態(tài)

當(dāng)在Bus-Sleep模式下請(qǐng)求網(wǎng)絡(luò)時(shí),UdpNm模塊應(yīng)進(jìn)入網(wǎng)絡(luò)模式;默認(rèn)情況下,UdpNm模塊應(yīng)進(jìn)入Repeat Message狀態(tài)

網(wǎng)絡(luò)狀態(tài)

網(wǎng)絡(luò)狀態(tài)(即“請(qǐng)求”和“釋放”)是AUTOSAR UdpNm狀態(tài)機(jī)的兩個(gè)附加狀態(tài),與狀態(tài)機(jī)并行存在。網(wǎng)絡(luò)狀態(tài)表示軟件組件是否需要在總線上進(jìn)行通信(然后網(wǎng)絡(luò)狀態(tài)被“請(qǐng)求”);或者軟件組件是否不必在總線上通信(然后總線網(wǎng)絡(luò)狀態(tài)被“釋放”);請(qǐng)注意,如果網(wǎng)絡(luò)被釋放,一個(gè)ECU仍然可以通信,因?yàn)槠渌恍〦CU仍然請(qǐng)求網(wǎng)絡(luò)

調(diào)用函數(shù)UdpNm_NetworkRequest將請(qǐng)求網(wǎng)絡(luò)。UdpNm模塊應(yīng)將網(wǎng)絡(luò)狀態(tài)更改為“已請(qǐng)求”

調(diào)用函數(shù)UdpNm_NetworkRelease應(yīng)釋放網(wǎng)絡(luò)。UdpNm模塊應(yīng)將網(wǎng)絡(luò)狀態(tài)更改為“已釋放”

初始化

成功初始化后,網(wǎng)絡(luò)管理狀態(tài)應(yīng)設(shè)置為Bus-Sleep模式

UdpNm模塊應(yīng)該在SoAd初始化之后并且在調(diào)用任何其他網(wǎng)絡(luò)管理服務(wù)之前進(jìn)行初始化

初始化時(shí),默認(rèn)情況下,UdpNm模塊應(yīng)將網(wǎng)絡(luò)狀態(tài)設(shè)置為“已釋放”

初始化時(shí),默認(rèn)情況下,UdpNm模塊應(yīng)進(jìn)入Bus-Sleep模式

如果AUTOSAR UdpNm未初始化,不應(yīng)禁止總線通信

初始化后,應(yīng)停止網(wǎng)絡(luò)管理消息的傳輸

初始化后,用戶數(shù)據(jù)字節(jié)的每個(gè)字節(jié)都應(yīng)設(shè)置為0xFF

初始化后,Control Bit Vector應(yīng)設(shè)置為0x00

在初始化期間,如果UdpNmPnEnabled為TRUE,UdpNm模塊應(yīng)將 PNC bit vector的每個(gè)字節(jié)設(shè)置為0x00

一個(gè)NM集群中不同ECU上的所有UDP NM實(shí)例應(yīng)使用相同的UDP接收端口

執(zhí)行

處理器架構(gòu)

AUTOSAR UdpNm協(xié)調(diào)算法應(yīng)獨(dú)立于處理器,這意味著它不應(yīng)依賴于任何處理器特定的硬件支持,因此可以在AUTOSAR范圍內(nèi)的任何處理器架構(gòu)上實(shí)現(xiàn)

時(shí)間參數(shù)

配置參數(shù)UdpNmTimeoutTime是AUTOSAR UdpNm定時(shí)參數(shù)NM-Timeout的時(shí)間

配置參數(shù)UdpNmRepeatMessageTime是AUTOSAR UdpNm定時(shí)參數(shù)Repeat Message的時(shí)間

配置參數(shù)UdpNmWaitBusSleepTime是AUTOSAR UdpNm定時(shí)參數(shù)Wait Bus-Sleep的時(shí)間

可選配置參數(shù)UdpNmRemoteSleepIndTime是AUTOSAR UdpNm 定時(shí)參數(shù)Remote Sleep Indication的時(shí)間

通信調(diào)度

網(wǎng)絡(luò)管理消息傳輸

NM消息的傳輸可以通過UdpNmPassiveModeEnabled進(jìn)行配置

被動(dòng)節(jié)點(diǎn)不發(fā)送NM消息,即它們不能主動(dòng)影響關(guān)閉決策,但它們確實(shí)接收NM消息以便能夠同步關(guān)閉

上面這段話的意思是:被動(dòng)節(jié)點(diǎn)不發(fā)送NM消息,這樣別的節(jié)點(diǎn)就不會(huì)因?yàn)槭盏剿木W(wǎng)絡(luò)管理消息而從休眠中喚醒,這就是為什么說被動(dòng)節(jié)點(diǎn)不能主動(dòng)影響其他節(jié)點(diǎn)的關(guān)閉決策;但它們可以接收其他節(jié)點(diǎn)的NM消息,這樣就可以和其他節(jié)點(diǎn)同步休眠和喚醒

UdpNm模塊應(yīng)提供周期性傳輸模式。在這種傳輸模式下,UdpNm模塊將定期發(fā)送網(wǎng)絡(luò)管理PDU

在“Repeat Message State”和“Normal Operation State”中使用周期性傳輸模式

如果不是通過UdpNm_NetworkRequest或UdpNmImmediateNmTransmissions進(jìn)入Repeat Message狀態(tài),則在進(jìn)入Repeat Message狀態(tài)后,NM PDU的傳輸應(yīng)延遲UdpNmMsgCycleOffset。這種機(jī)制可以防止NM消息的突發(fā)

當(dāng)由于UdpNm_NetworkRequest()(主動(dòng)喚醒)從Bus-Sleep模式或Prepare Bus-Sleep模式進(jìn)入Repeat Message狀態(tài)時(shí),如果UdpNmImmediateNmTransmissions大于零,則應(yīng)使用UdpNmImmediateNmCycleTime作為周期時(shí)間來傳輸NM PDU。應(yīng)盡快觸發(fā)第一個(gè)NM PDU的傳輸。傳輸后,消息周期計(jì)時(shí)器應(yīng)重新加載UdpNmImmediateNmCycleTime。在這種情況下不應(yīng)使用UdpNmMsgCycleOffset

如果從Ready Sleep狀態(tài)進(jìn)入Normal Operation狀態(tài),則應(yīng)立即開始NM PDU的傳輸

如果UdpNmPnHandleMultipleNetworkRequests設(shè)置為TRUE,UdpNm_NetworkRequest將觸發(fā)從網(wǎng)絡(luò)模式到Repeat Message狀態(tài)的狀態(tài)轉(zhuǎn)換。如果啟用了PDU傳輸能力,則應(yīng)使用UdpNmImmediateNmCycleTime作為循環(huán)時(shí)間來傳輸NM PDU。應(yīng)盡快觸發(fā)第一個(gè)NM PDU的傳輸。傳輸后,消息周期計(jì)時(shí)器應(yīng)重新加載UdpNmImmediateNmCycleTime。在這種情況下不應(yīng)使用UdpNmMsgCycleOffset

如果NM PDU使用UdpNmImmediateNmCycleTime傳輸,UdpNm 應(yīng)確保成功請(qǐng)求具有此時(shí)間的UdpNmImmediateNmTransmissions(包括第一次立即傳輸)。如果對(duì)SoAd的傳輸請(qǐng)求失敗(返回 E_NOT_OK),UdpNm將在下一個(gè)主函數(shù)中重試傳輸請(qǐng)求。之后UdpNm將繼續(xù)使用UdpNmMsgCycleTime發(fā)送NM PDU

在使用UdpNmImmediateNmCycleTime傳輸NM PDU時(shí),不得傳輸其他Nm PDU(即停止UdpNmMsgCycleTime傳輸周期)

如果NM PDU的傳輸已經(jīng)開始,UdpNm消息循環(huán)計(jì)時(shí)器到期,并且當(dāng)UdpNmSynchronizedPncShutdownEnabled設(shè)置為FALSE 或設(shè)置為TRUE時(shí),并且沒有同步PNC關(guān)閉的請(qǐng)求,則UdpNm模塊應(yīng)通過調(diào)用SoAd_IfTransmit發(fā)送NM PDU

PNC,Partial Network Cluster,局部網(wǎng)絡(luò)集

如果UdpNm消息循環(huán)計(jì)時(shí)器到期,則應(yīng)使用UdpNmMsgCycleTime重新啟動(dòng)

如果NM PDU的傳輸已停止,則應(yīng)取消UdpNm消息循環(huán)計(jì)時(shí)器

如果參數(shù)UdpNmRetryFirstMessageRequest為TRUE,并且如果從Bus-Sleep到Repeat Message狀態(tài)轉(zhuǎn)換后的第一個(gè)傳輸請(qǐng)求未被SoAd接受,則應(yīng)在下一個(gè)主函數(shù)中重復(fù)該消息請(qǐng)求,直到SoAd接受一個(gè)傳輸請(qǐng)求

如果用結(jié)果E_NOT_OK調(diào)用UdpNm_SoAdIfTxConfirmation,則UdpNm應(yīng)調(diào)用函數(shù)Nm_TxTimeoutException

網(wǎng)絡(luò)管理消息接收

如果成功接收到NM消息,SoAd將調(diào)用UdpNm_SoAdIfRxIndication

在調(diào)用UdpNm_SoAdIfRxIndication時(shí),UdpNm模塊應(yīng)將函數(shù)參數(shù)中引用的網(wǎng)絡(luò)管理PDU的數(shù)據(jù)復(fù)制到內(nèi)部緩沖區(qū)

當(dāng)接收到NM PDU時(shí),如果UdpNmPduRXIndicationEnabled(配置參數(shù))為TRUE,則應(yīng)調(diào)用Nm函數(shù)Nm_PduRxIndication

附加功能

“遠(yuǎn)程睡眠指示”檢測(cè)(可選)

“遠(yuǎn)程睡眠指示”表示這樣一種情況:處于Normal Operation狀態(tài)的節(jié)點(diǎn)發(fā)現(xiàn)集群中的所有其他節(jié)點(diǎn)都準(zhǔn)備好進(jìn)入睡眠狀態(tài)。仍處于Normal Operation狀態(tài)的節(jié)點(diǎn)仍將保持總線喚醒

“遠(yuǎn)程睡眠指示”的檢測(cè)應(yīng)使用UdpNmRemoteSleepIndEnabled開關(guān)(配置參數(shù))進(jìn)行靜態(tài)配置

如果在由UdpNmRemoteSleepIndTime(配置參數(shù))確定的可配置時(shí)間內(nèi),在Normal Operation狀態(tài)下沒有接收到NM PDU,NM應(yīng)通過調(diào)用Nm_RemoteSleepIndication通知通用網(wǎng)絡(luò)管理接口集群中的所有其他節(jié)點(diǎn)都準(zhǔn)備好進(jìn)入睡眠狀態(tài)(“遠(yuǎn)程睡眠指示”)

如果先前已檢測(cè)到“遠(yuǎn)程睡眠指示”并且如果再次在Normal Operation狀態(tài)或Ready Sleep狀態(tài)中接收到NM PDU,則NM應(yīng)通過調(diào)用Nm_RemoteSleepCancellation通知通用網(wǎng)絡(luò)管理接口集群中的某些節(jié)點(diǎn)不再準(zhǔn)備好睡眠(“遠(yuǎn)程睡眠取消”)

如果先前已檢測(cè)到“遠(yuǎn)程睡眠指示”,并且如果從Normal Operation狀態(tài)或Ready Sleep狀態(tài)進(jìn)入Repeat Message狀態(tài),則UdpNm應(yīng)通過調(diào)用Nm_RemoteSleepCancellation通知通用網(wǎng)絡(luò)管理接口集群中的某些節(jié)點(diǎn)不再準(zhǔn)備睡眠('遠(yuǎn)程睡眠取消')

NM應(yīng)拒絕在Bus-Sleep模式、Prepare Bus-Sleep模式和Repeat Message狀態(tài)下對(duì)"遠(yuǎn)程睡眠指示"的檢查;服務(wù)不被執(zhí)行,返回E_NOT_OK

用戶數(shù)據(jù)(可選)

NM用戶數(shù)據(jù)的支持應(yīng)使用UdpNmUserDataEnabled開關(guān)(配置參數(shù))進(jìn)行靜態(tài)配置

調(diào)用UdpNm_SetUserData時(shí),在總線上設(shè)置下一個(gè)發(fā)送的NM包的NM用戶數(shù)據(jù);設(shè)置NM用戶數(shù)據(jù)的操作要保證數(shù)據(jù)的一致性

調(diào)用UdpNm_GetUserData時(shí),應(yīng)提供最近接收到的NM PDU的ppayload中包含的NM用戶數(shù)據(jù);提供NM用戶數(shù)據(jù)的操作應(yīng)保證數(shù)據(jù)的一致性

如果配置了NM用戶數(shù)據(jù),它肯定會(huì)在Repeat Message狀態(tài)下發(fā)送。在Ready Sleep狀態(tài)下,不會(huì)發(fā)送用戶數(shù)據(jù)

如果啟用了UdpNmComUserDataSupport,則接口UdpNm_SetUserData將不可用

如果啟用了UdpNmComUserDataSupport并且NM-PDU未配置為在SoAd中觸發(fā)傳輸(SoAdBswModules/SoAdIfTriggerTransmit = FALSE),則UdpNm應(yīng)通過調(diào)用PduR_UdpNmTriggerTransmit從引用的NM I-PDU中收集NM用戶數(shù)據(jù),并在每次請(qǐng)求傳輸相應(yīng)的NM消息之前,將用戶數(shù)據(jù)與進(jìn)一步的NM字節(jié)組合

在觸發(fā)傳輸?shù)那闆r下,傳輸請(qǐng)求不需要數(shù)據(jù),只需要長(zhǎng)度。數(shù)據(jù)將在UdpNm_SoAdIfTriggerTransmit中收集

如果啟用了UdpNmComUserDataSupport,并且如果UdpNm處于 Repeat Message狀態(tài)或NormalOperation狀態(tài),并且如果調(diào)用了UdpNm_Transmit,則UdpNm將請(qǐng)求使用當(dāng)前數(shù)據(jù)額外傳NM PDU

調(diào)用UdpNm_Transmit請(qǐng)求在與當(dāng)前數(shù)據(jù)的周期性傳輸之間(例如系統(tǒng)字節(jié)、用戶數(shù)據(jù)和PNC位向量)傳輸NM PDU

被動(dòng)模式(可選)

在被動(dòng)模式下,節(jié)點(diǎn)只接收NM消息,但不發(fā)送任何NM消息

被動(dòng)模式應(yīng)可使用UdpNmPassiveModeEnabled開關(guān)(配置參數(shù))進(jìn)行靜態(tài)配置

被動(dòng)模式應(yīng)針對(duì)一個(gè)ECU內(nèi)的所有實(shí)例進(jìn)行一致的靜態(tài)配置

如果使用被動(dòng)模式(配置參數(shù)UdpNmPassiveModeEnabled),則不得使用以下選項(xiàng):

總線同步

配置參數(shù)UdpNmBusSynchronizationEnabled

遠(yuǎn)程睡眠指示

配置參數(shù)UdpNmRemoteSleepIndEnabled

節(jié)點(diǎn)檢測(cè)

配置參數(shù)UdpNmNodeDetectionEnabled

狀態(tài)變化通知(可選)

如果啟用了回調(diào)Nm_StateChangeNotification,AUTOSAR UdpNm狀態(tài)的所有變化都應(yīng)通過調(diào)用Nm_StateChangeNotification通知上層

通訊控制(可選)

通信控制應(yīng)可使用UdpNmComControlEnabled開關(guān)(配置參數(shù))進(jìn)行靜態(tài)配置

可選服務(wù)UdpNm_DisableCommunication應(yīng)禁用NM PDU傳輸能力

如果禁用NM PDU傳輸能力,NM協(xié)調(diào)算法將無(wú)法正常工作。因此,必須確保只要NM PDU傳輸能力被禁用,ECU就不會(huì)關(guān)閉

如果調(diào)用了UdpNm_NetworkRelease并且NM PDU傳輸能力已被禁用,則ECU將關(guān)閉。這確保了ECU也可以在競(jìng)爭(zhēng)條件(例如,在啟用通信之前不久留下診斷會(huì)話)或錯(cuò)誤使用通信控制的情況下關(guān)閉

如果當(dāng)前模式不是網(wǎng)絡(luò)模式,可選服務(wù)UdpNm_DisableCommunication應(yīng)返回E_NOT_OK

當(dāng)網(wǎng)絡(luò)管理PDU傳輸能力被禁用時(shí),UdpNm模塊應(yīng)停止UdpNm消息周期定時(shí)器以停止網(wǎng)絡(luò)管理PDU的傳輸

當(dāng)禁用NM PDU傳輸能力時(shí),應(yīng)停止NM-Timeout定時(shí)器

當(dāng)NM PDU傳輸能力被禁用時(shí),“遠(yuǎn)程睡眠指示”定時(shí)器的檢測(cè)將被暫停

當(dāng)啟用網(wǎng)絡(luò)管理PDU傳輸能力時(shí),NM PDU的傳輸最晚應(yīng)在下一個(gè)NM主函數(shù)中開始

當(dāng)啟用NM PDU傳輸能力時(shí),應(yīng)重新啟動(dòng)NM-Timeout定時(shí)器

當(dāng)啟用NM PDU傳輸能力時(shí),應(yīng)恢復(fù)“遠(yuǎn)程睡眠指示”定時(shí)器的檢測(cè)

如果NM PDU傳輸能力被禁用,可選服務(wù)UdpNm_RequestBusSynchronization應(yīng)返回E_NOT_OK

NM協(xié)調(diào)器同步支持(可選)

當(dāng)有多個(gè)協(xié)調(diào)器連接到同一總線時(shí),CBV中有一個(gè)特殊位,NmCoordinatorSleepReady bit用于指示主協(xié)調(diào)器請(qǐng)求啟動(dòng)關(guān)閉序列。該算法的主要功能在Nm模塊中進(jìn)行了描述

如果UdpNm調(diào)用NM_CoordReadyToSleepIndication并且仍處于網(wǎng)絡(luò)模式,它應(yīng)在第一次接收到帶有NmCoordinatorSleepReady bit的NM消息時(shí)通過調(diào)用Nm_CoordReadyToSleepCancellation通知Nm

如果UdpNm已進(jìn)入網(wǎng)絡(luò)模式或調(diào)用Nm_CoordReadyToSleepCancellation,則它應(yīng)在第一次接收到帶有NmCoordinatorSleepReady bit的NM消息時(shí)調(diào)用Nm_CoordReadyToSleepIndication通知NM

如果UdpNmCoodinatorSyncSupport設(shè)置為TRUE并且接口UdpNm_SetSleepReadyBit被調(diào)用,UdpNm應(yīng)將“NM協(xié)調(diào)器Sleep Ready Bit”位設(shè)置為傳遞值并觸發(fā)單個(gè)網(wǎng)絡(luò)管理PDU

僅當(dāng)UdpNmCoordinatorSyncSupport設(shè)置為TRUE時(shí),接口UdpNm_SetSleepReadyBit()和“協(xié)調(diào)總線關(guān)閉”功能才可用

局部網(wǎng)絡(luò)Partial Networking

NM PDUs的Rx處理

如果UdpNmPnEnabled為FALSE,則UdpNm應(yīng)執(zhí)行正常的Rx指示處理,并且應(yīng)禁用局部網(wǎng)絡(luò)擴(kuò)展

如果UdpNmPnEnabled為TRUE,接收到的NM-PDU中的PNI bit為0,并且UdpNmAllNmMessagesKeepAwake為TRUE,則UdpNm模塊應(yīng)執(zhí)行正常的Rx指示處理并省略局部網(wǎng)絡(luò)的擴(kuò)展

如果UdpNmPnEnabled為TRUE,接收到的NM-PDU中的PNI位為 0,并且UdpNmAllNmMessagesKeepAwake為FALSE,UdpNm模塊應(yīng)忽略接收到的NM-PDU

如果將UdpNmPnEnabled設(shè)置為TRUE,則接收的NM-PDU中的PNI bit被設(shè)置為1,并且PNSR bit設(shè)置為0,根據(jù)局部網(wǎng)絡(luò)配置,UdpNm模塊應(yīng)從接收的NM-PDU中提取PNC位向量(對(duì)應(yīng)NM-channel的NmPncBitVectorOffset和NmPncBitVectorLength)并通過調(diào)用Nm_PncBitVectorRxIndication來轉(zhuǎn)發(fā)PNC位矢量

如果UdpNmPnEnabled設(shè)置為TRUE并且調(diào)用了Nm_PncBitVectorRxIndication,則接收到的NM PDU僅在以下條件下考慮進(jìn)行進(jìn)一步處理:

UdpNmAllNmMessagesKeepAwake設(shè)置為TRUE,或者

RelevantPncRequestDetectedPtr的輸出值設(shè)置為TRUE

需要UdpNmAllNmMessagesKeepAwake才能使網(wǎng)關(guān)在任何類型的NM-PDU上保持喚醒

如果UdpNmSynchronizedPncShutdownEnabled為TRUE,則接收到的NM-PDU中的PNI bit為1,接收到的NM-PDU中的PNSR bit為1,并且通過UdpNmComMNetworkHandleRef配置的相應(yīng) ComMChannel在接收到此NM-PDU的位置被主動(dòng)協(xié)調(diào) (ComMPncGatewayType設(shè)置為COMM_GATEWAY_TYPE_ACTIVE),則UdpNm模塊應(yīng)忽略接收到的NM-PDU。此外,UdpNm模塊應(yīng):

向默認(rèn)錯(cuò)誤跟蹤器報(bào)告運(yùn)行時(shí)錯(cuò)誤UDPNM_E_INVALID_PN_SYNC_SHUTDOWN_REQUEST

如果UdpNmPnSyncShutdownErrorReactionEnabled設(shè)置為TRUE,請(qǐng)求傳輸在受影響的UdpNm-Channel的下一個(gè)主函數(shù)調(diào)用中持續(xù)的當(dāng)前PN信息的NM-PDU

如果UdpNmSynchronizedPncShutdownEnabled為TRUE,則接收到的NM-PDU中的PNI bit設(shè)置為1,PNSR bit設(shè)置為1,UdpNm模塊應(yīng)根據(jù)局部網(wǎng)絡(luò)配置(NmPncBitVectorOffset和NmPncBitVectorLength)并通過調(diào)用Nm_ForwardSynchronizedPncShutdown轉(zhuǎn)發(fā)PNC位向量

僅當(dāng)請(qǐng)求同步PNC關(guān)閉時(shí),PNSR bit才可能設(shè)置為1。應(yīng)在PN拓?fù)渲刑幚硗降腜NC關(guān)閉。因此,假設(shè)所有協(xié)調(diào)器都啟用了同步PNC關(guān)閉,或者所有協(xié)調(diào)器都禁用了同步PNC關(guān)閉。兩者的混合會(huì)導(dǎo)致PNC不同步關(guān)閉,這是必須避免的

NM PDUs的Tx處理

如果UdpNmPnEnabled為TRUE,則UdpNm模塊應(yīng)將CBV中發(fā)送的PNI位的值設(shè)置為1

如果使用局部網(wǎng)絡(luò),則必須使用CBV

如果UdpNmPnEnabled為FALSE,則UdpNm模塊應(yīng)將CBV中發(fā)送的PNI位的值始終設(shè)置為0

如果UdpNmPnEnabled為TRUE,則NM-PDU未配置為在SoAd中觸發(fā)傳輸(SoAdBswModules/SoAdIfTriggerTransmit設(shè)置為FALSE),沒有等待同步PNC關(guān)閉的請(qǐng)求且必須傳輸NM-PDU,UdpNm模塊應(yīng)按給定順序執(zhí)行以下操作:

調(diào)用Nm_PncBitVectorTxIndication指示傳輸請(qǐng)求并檢索內(nèi)部PNC請(qǐng)求

通過考慮相應(yīng)NM通道的NmPncBitVectorOffset和NmPncBitVectorLength將接收到的用于內(nèi)部PNC請(qǐng)求的PNC位向量復(fù)制到NM-PDU

如果啟用了用戶數(shù)據(jù),則獲取可用數(shù)據(jù)(如果啟用了UdpNmComUserDataSupport,則從Com或從內(nèi)部存儲(chǔ)中獲取)并復(fù)制 NM-PDU的用戶數(shù)據(jù)范圍中的數(shù)據(jù)

通過調(diào)用SoAd_IfTransmit觸發(fā)NM-PDU的傳輸

如果UdpNmSynchronizedPncShutdownEnabled設(shè)置為TRUE并且通過UdpNm_RequestSynchronizedPncShutdown指示 UdpNm模塊,UdpNm模塊應(yīng)將每個(gè)給定UdpNm通道(nmChannelHandle)的給定PNC(pncId)存儲(chǔ)為同步PNC關(guān)閉的掛起請(qǐng)求

請(qǐng)求同步PNC關(guān)閉的所有PNC的聚合和作為PN關(guān)閉消息的傳輸(將CBV中的PNSR位設(shè)置為1)在相應(yīng)的UdpNm_Main函數(shù)的上下文中異步完成

如果UdpNmSynchronizedPncShutdownEnabled設(shè)置為TRUE,則同步PNC關(guān)閉請(qǐng)求處于掛起狀態(tài),并且前一個(gè)調(diào)用沒有傳輸確認(rèn)(通過UdpNm_TxConfirmation指示)被掛起,則UdpNm模塊應(yīng)在下一個(gè)主函數(shù)調(diào)用中請(qǐng)求傳輸NM-PDU,如通過調(diào)用SoAd_IfTransmit的PN關(guān)閉消息。如果NM-PDU未配置為在SoAd中觸發(fā)傳輸(SoAdBswModules/SoAdIfTriggerTransmit = FALSE),UdpNm應(yīng)為此消息在正常數(shù)據(jù)下額外設(shè)置以下數(shù)據(jù):

將CBV中的PNSR位設(shè)置為1

如果啟用了用戶數(shù)據(jù),則獲取可用數(shù)據(jù)(如果啟用了UdpNmComUserDataSupport,則從Com或從內(nèi)部存儲(chǔ)中獲取)并復(fù)制NM-PDU的用戶數(shù)據(jù)范圍中的數(shù)據(jù)

通過將與存儲(chǔ)為同步PNC關(guān)閉的掛起請(qǐng)求的PNC ID對(duì)應(yīng)的位設(shè)置為1并將所有其他位設(shè)置為0,寫入相對(duì)于相應(yīng)NM通道的NmPncBitVectorOffset和NmPncBitVectorLength的PNC位向量

UdpNm模塊必須聚合所有指示用于同步PNC關(guān)閉的PNC,并將pncId傳輸?shù)阶止?jié)數(shù)組(PNC位向量)。PNC位向量的每個(gè)位(PNC 位)代表一個(gè)特定的PNC。PNC比特的PNC比特向量?jī)?nèi)的byteIndex和bitindex應(yīng)確定如下:

byteIndex = (PncId div 8) - NmPncBitVectorOffset

bitIndex = (PncId mod 8)

如果配置了UdpNmPnShutdownMessageRetransmissionDuration并且第一次請(qǐng)求傳輸PN關(guān)閉消息,則應(yīng)在所有受影響的NM通道上使用UdpNmPnShutdownMessageRetransmissionDuration啟動(dòng)PN關(guān)閉消息的相應(yīng)重傳計(jì)時(shí)器

如果UdpNmSynchronizedPncShutdownEnabled設(shè)置為TRUE,則UdpNm模塊已請(qǐng)求傳輸NM-PDU作為PN關(guān)閉消息并且調(diào)用UdpNm_TxConfirmation,結(jié)果為E_OK,UdpNm應(yīng)將存儲(chǔ)的那些 PNC ID視為同步PNC的掛起請(qǐng)求,完成后關(guān)閉相應(yīng)的NM通道并將其從存儲(chǔ)中刪除。此外,如果配置了UdpNmPnShutdownMessageRetransmissionDuration,則UdpNm將取消受影響NM通道的PN關(guān)閉消息的重傳定時(shí)器

UdpNm必須確保同步PNC關(guān)閉的新請(qǐng)求(通過UdpNm_RequestSynchronizedPncShutdown指示)在PN關(guān)閉NM幀的持續(xù)傳輸期間不會(huì)丟失

如果UdpNmSynchronizedPncShutdownEnabled設(shè)置為TRUE,則UdpNmPnShutdownMessageRetransmissionDuration已配置,UdpNm模塊由于同步PNC關(guān)閉請(qǐng)求傳輸,UdpNm_SoAdIfTxConfirmation調(diào)用結(jié)果為E_NOT_OK或此PN關(guān)閉消息的傳輸請(qǐng)求未被接受(SoAd_IfTransmit返回E_NOT_OK),則 UdpNm模塊應(yīng)保存這些PNC ID作為同步PNC關(guān)閉的掛起請(qǐng)求,并在下一個(gè)主要功能中執(zhí)行重傳

UdpNm必須在相應(yīng)的主函數(shù)調(diào)用的上下文中對(duì)PN關(guān)閉消息執(zhí)行重試傳輸處理,如果PN關(guān)閉消息的傳輸未得到下層確認(rèn)(使用E_NOT_OK或UdpNm_SoAdIfTxConfirmation未調(diào)用)。重試傳輸 請(qǐng)求應(yīng)涵蓋錯(cuò)誤情況,如果下層無(wú)法傳輸Nm消息。在最壞的情況下,這與使用UdpNmMsgCycleTime傳輸?shù)难舆tNM消息發(fā)生沖突。但無(wú)論如何,如果在PN重置時(shí)間(EIRA)內(nèi)未恢復(fù)傳輸NM消息的能力,則PNC將不同步關(guān)閉,這可能會(huì)導(dǎo)致應(yīng)用程序級(jí)別的超時(shí)錯(cuò)誤

下層指示的掛起傳輸確認(rèn)的依賴性應(yīng)該支持可靠的通信,例如:確保在網(wǎng)絡(luò)上傳輸PN關(guān)閉消息或避免傳輸過時(shí)的PN關(guān)閉消息,例如,如果配置了低層中的排隊(duì)

如果UdpNmSynchronizedPncShutdownEnabled設(shè)置為TRUE,并且UdpNm模塊已將PNC ID存儲(chǔ)為同步PNC關(guān)閉的掛起請(qǐng)求,則UdpNm應(yīng)從存儲(chǔ)中刪除那些外部或內(nèi)部再次請(qǐng)求的PNC ID:

如果收到外部請(qǐng)求的PNC,UdpNm將檢查NM消息的接收

通過從相應(yīng)的ComPdu派生的內(nèi)部PNC請(qǐng)求可用,UdpNm應(yīng)在每次傳輸PN關(guān)閉消息之前進(jìn)行檢查

如果UdpNmSynchronizedPncShutdownEnabled設(shè)置為TRUE,未配置UdpNmPnShutdownMessageRetransmissionDuration,由于同步PNC關(guān)閉,UdpNm模塊已請(qǐng)求傳輸,則調(diào)用UdpNm_TxConfirmation并返回E_NOT_OK或不接受此PN關(guān)閉消息的傳輸請(qǐng)求(SoAdIf_Transmit返回E_NOT_OK),然后UdpNm 應(yīng)刪除存儲(chǔ)為相應(yīng)NM通道的同步PNC關(guān)閉的掛起請(qǐng)求的PNC ID,并將運(yùn)行時(shí)錯(cuò)誤UDPNM_E_TRANSMISSION_OF_PN_SHUTDOWN_MESSAGE_FAILED報(bào)告給DET

如果UdpNmSynchronizedPncShutdownEnabled設(shè)置為TRUE并且PN關(guān)閉消息的重傳計(jì)時(shí)器到期,則UdpNm應(yīng)從存儲(chǔ)中刪除相應(yīng)NM通道的同步PNC關(guān)閉的掛起請(qǐng)求,并且向DET報(bào)告運(yùn)行時(shí)錯(cuò)誤 UDPNM_E_TRANSMISSION_OF_PN_SHUTDOWN_MESSAGE_FAILED

內(nèi)部請(qǐng)求的局部網(wǎng)絡(luò)集的處理

所有內(nèi)部PNC請(qǐng)求均由ComM維護(hù)。ComM將每個(gè)通道的聚合內(nèi)部PNC請(qǐng)求作為PNC位向量轉(zhuǎn)發(fā)到NmIf。這個(gè)PNC位向量攜帶所謂的“內(nèi)部請(qǐng)求數(shù)組”。每次發(fā)送NM_PDU時(shí),UdpNm都必須從NmIf檢索最新的IRA。NmIf向UdpNm提供IRA信息并更新PNC重置計(jì)時(shí)器(每次相關(guān)的PNC被發(fā)送,PNC復(fù)位定時(shí)器重新啟動(dòng))

對(duì)于UdpNmPnEnabled設(shè)置為TRUE的所有已配置NM通道,UdpNm將調(diào)用Nm_PncBitVectorTxIndication來指示傳輸并檢索當(dāng)前內(nèi)部PNC請(qǐng)求作為相對(duì)于已配置NmPncBitVectorLength的PNC位向量。UdpNm將收到的內(nèi)部PNC請(qǐng)求復(fù)制到NM-PDU的PNC位向量字節(jié)

通過UdpNm_NetworkRequest自發(fā)傳輸NM-PDU

如果調(diào)用UdpNm_NetworkRequest,UdpNmPnHandleMultipleNetworkRequests設(shè)置為TRUE,并且UdpNm處于Ready Sleep狀態(tài)、Normal Operation狀態(tài)或Repeat Message狀態(tài),則UdpNm將更改為或重新啟動(dòng)Repeat Message狀態(tài)

如果UdpNmPnHandleMultipleNetworkRequests設(shè)置為TRUE,則UdpNm功能“立即傳輸”是強(qiáng)制性的

如果PNC位發(fā)生變化,PNC控制模塊(例如ComM)負(fù)責(zé)調(diào)用UdpNm_NetworkRequest

來源:汽車通信技術(shù)

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 通信協(xié)議
    +關(guān)注

    關(guān)注

    28

    文章

    1034

    瀏覽量

    41161
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    9000

    瀏覽量

    153715
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1402

    瀏覽量

    81025
  • AUTOSAR
    +關(guān)注

    關(guān)注

    10

    文章

    379

    瀏覽量

    22656
  • UDP
    UDP
    +關(guān)注

    關(guān)注

    0

    文章

    330

    瀏覽量

    34641

原文標(biāo)題:【通信協(xié)議】AUTOSAR UDP網(wǎng)絡(luò)管理-1

文章出處:【微信號(hào):智能汽車電子與軟件,微信公眾號(hào):智能汽車電子與軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    車載Flex Ray網(wǎng)絡(luò)管理策略的初步研究

    車載Flex Ray網(wǎng)絡(luò)管理策略的初步研究網(wǎng)絡(luò)管理的目標(biāo)是保障網(wǎng)絡(luò)可靠、有效地運(yùn)行。在一般的計(jì)算
    發(fā)表于 11-26 17:11

    AUTOSAR CAN網(wǎng)絡(luò)管理

    一、背景: 在AUTOSAR CAN網(wǎng)絡(luò)管理框架下,如果所有的節(jié)點(diǎn)都按照狀態(tài)機(jī)要求,在ReadSleep狀態(tài)下停發(fā)NM幀,在Prepare Bus-Sleep模式下停發(fā)App幀,所有節(jié)點(diǎn)可以從
    發(fā)表于 07-26 06:47

    AUTOSAR CAN網(wǎng)絡(luò)管理狀態(tài)機(jī)介紹

    AUTOSAR CAN網(wǎng)絡(luò)管理狀態(tài)機(jī)為什么停發(fā)應(yīng)用幀?有什么解決辦法嗎?
    發(fā)表于 09-24 07:47

    AUTOSAR_SWS_CAN網(wǎng)絡(luò)管理規(guī)范標(biāo)準(zhǔn)4.3.1

    AUTOSAR_SWS_CAN網(wǎng)絡(luò)管理規(guī)范標(biāo)準(zhǔn)4.3.1
    發(fā)表于 03-28 17:02 ?13次下載

    CAN網(wǎng)絡(luò)管理規(guī)范 AUTOSAR CP中文版

    CAN網(wǎng)絡(luò)管理規(guī)范 AUTOSAR CP中文版免費(fèi)下載。
    發(fā)表于 04-06 16:21 ?0次下載

    CAN網(wǎng)絡(luò)管理規(guī)范 AUTOSAR CP英文版

    AUTOSAR_SWS_CAN網(wǎng)絡(luò)管理規(guī)范標(biāo)準(zhǔn)4.3.0英文版免費(fèi)下載。
    發(fā)表于 04-06 16:20 ?0次下載

    AUTOSAR CAN網(wǎng)絡(luò)管理協(xié)議

    AUTOSAR_SWS_CANNetworkManagement AUTOSAR CAN網(wǎng)絡(luò)管理協(xié)議,4.4.0版本
    發(fā)表于 08-01 11:09 ?16次下載

    AUTOSAR和OSEK網(wǎng)絡(luò)管理比較

    AUTOSAR與OSEK二者都是汽車電子軟件的標(biāo)準(zhǔn)。OSEK/VDX是基于ECU開發(fā)的操作系統(tǒng)標(biāo)準(zhǔn),AUTOSAR基于整體汽車電子開發(fā)的功能標(biāo)準(zhǔn)。
    發(fā)表于 09-16 09:42 ?1961次閱讀

    OSEK與AUTOSAR標(biāo)準(zhǔn)分別是怎么實(shí)現(xiàn)網(wǎng)絡(luò)管理功能的

    AUTOSAR(Automotive Open System Architecture,即汽車開放系統(tǒng)架構(gòu)),另一個(gè)是OSEK。 AUTOSAR與OSEK的網(wǎng)絡(luò)管理方式雖然有區(qū)別,但是
    的頭像 發(fā)表于 11-11 14:11 ?2454次閱讀

    AutoSAR中CAN通信網(wǎng)絡(luò)管理的概述

    AutoSAR中CAN通信的網(wǎng)絡(luò)管理主要是根據(jù)CANNode接收和發(fā)送的NMMessage進(jìn)行該節(jié)點(diǎn)在整個(gè)網(wǎng)絡(luò)中的活動(dòng)的,根據(jù)NM Message控制整個(gè)
    的頭像 發(fā)表于 01-18 10:21 ?6960次閱讀
    <b class='flag-5'>AutoSAR</b>中CAN通信<b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>管理</b>的概述

    逐步講解AUTOSAR的Memory原理策略

    很多人都覺得AUTOSAR的Memory很復(fù)雜,搞了很久都摸不透里面的原理策略。
    的頭像 發(fā)表于 03-08 14:11 ?3338次閱讀

    科普系列:AUTOSAR與OSEK網(wǎng)絡(luò)管理比較(上)

    AUTOSAR(Automotive Open System Architecture,即汽車開放系統(tǒng)架構(gòu)),另一個(gè)是OSEK。AUTOSAR與OSEK的網(wǎng)絡(luò)管理方式的區(qū)
    的頭像 發(fā)表于 10-26 09:28 ?1590次閱讀
    科普系列:<b class='flag-5'>AUTOSAR</b>與OSEK<b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>管理</b>比較(上)

    科普系列:AUTOSAR與OSEK網(wǎng)絡(luò)管理比較(下)

    作者:You小編:吃不飽在上篇中我們分別在狀態(tài)機(jī)和報(bào)文格式方面對(duì)OSEK和AUTOSAR網(wǎng)絡(luò)管理進(jìn)行了簡(jiǎn)單介紹,感興趣的小伙伴請(qǐng)移步至文章《科普系列:AUTOSAR與OSEK
    的頭像 發(fā)表于 11-22 10:17 ?1410次閱讀
    科普系列:<b class='flag-5'>AUTOSAR</b>與OSEK<b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>管理</b>比較(下)

    一文解析AUTOSAR CAN網(wǎng)絡(luò)管理

    AUTOSAR CAN 網(wǎng)絡(luò)管理是一個(gè)獨(dú)立于硬件的協(xié)議,只能在 CAN 上使用。它的主要目的是協(xié)調(diào)網(wǎng)絡(luò)的正常運(yùn)行和總線休眠模式之間的轉(zhuǎn)換。
    的頭像 發(fā)表于 09-09 10:32 ?7736次閱讀
    一文解析<b class='flag-5'>AUTOSAR</b> CAN<b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>管理</b>

    解讀AUTOSAR模式管理BswM配置

    模式管理AUTOSAR中的一個(gè)難點(diǎn),也可以說是最龐雜的一塊。因?yàn)槟J?b class='flag-5'>管理貫穿整個(gè)CP Autosar流程,幾乎所有模塊都跟BSWM發(fā)生著聯(lián)系。
    的頭像 發(fā)表于 10-26 16:55 ?3495次閱讀
    解讀<b class='flag-5'>AUTOSAR</b>模式<b class='flag-5'>管理</b>BswM配置