一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

從CanNM模塊分析PN功能

冬至配餃子 ? 來源:開心果 Need Car ? 作者:開心果 Need Car ? 2022-08-24 18:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

上一篇我們從CanNM模塊分析PN功能,本篇接著從ComM模塊分析。因為網絡管理的PN功能主要由這兩個模塊控制。不清楚CanNM模塊與PN關系的可以參閱前文Autosar網絡管理:從CanNM模塊看Partial Networking。

對于每一個PNC(partial network cluster)的通信狀態(tài),ComM模塊都有獨立的一套狀態(tài)機進行管理。當CanNM從CanIf層拿到NM PDU以后,會將User Data部分數據獨立拆解出來,通過PDUR、COM,以信號的形式最終送給ComM模塊。為什么將User Data部分獨立拆解出來?因為User Data部分包含著PNC信息,該信息取決于項目需求:需要多少PNC,就開辟多少User Data空間。也就是說,ComM獲取的PNC信息與NM PDU中User Data 一一對應。

使能或是關閉PNC,最終的表現(xiàn)就是允許PNC關聯(lián)的Node(或者說Channel)通信與否。我們知道應用報文(Com層對應的Pdu)的發(fā)送/關閉由BswM管控,如果ECU收到的PNC關聯(lián)其對應的某個Channel,ComM模塊就會進行通信請求(進行狀態(tài)切換),BswM獲取請求信息后,使能或者禁止Com層對應的I-PDU groups通信。

1

ComM對PNC管理

前面我們說PN功能開啟需要在CanNM模塊打開CanNmPnEnabled參數,而在ComM模塊還需要將配置參數

ComMPncSupport

打開。在Autosar中,規(guī)定CanNmPnEnabled和ComMPncSupport需要存儲在NVM中,以便診斷服務使用,但是在實際的項目開發(fā)中,是否這樣實現(xiàn)還是需要看具體項目需求。

ComM管理每一個PNC狀態(tài)的切換,當狀態(tài)切換時,均需要通過接口BswM_ComM_CurrentPncMode()通知到BswM,以便BswM對Com層的

I-PDU groups

進行通信的管控。ComM在管控每個PNC狀態(tài)機之前,首先要獲取對應Channel的PNC信息,PNC信息通過Com層標準信號接口獲取ERA signal或者EIRA signal。如果signal是多字節(jié)的,一般會在Com層配置成uint8_n類型。Autosar里規(guī)定PNC對應的信號,最大可以包含56個PNC狀態(tài)位信息,這最大56是如何來的呢?對于一個經典CAN幀,一個PDU中最多攜帶8 byte有效數據,在CanNM模塊中,CBV字節(jié)是必須的,而NodeID是可選則,這樣在CanNM層級最多可以有7 byte的User Data,因此ComM最多可以管控7*8 = 56個PNC。雖然NodeID在CanNM是可選的,但還是要識別和過濾NM PDU,當NodeID在CanNM可選時,可以依賴xxIf層或者驅動層對NM PDU過濾和識別,驅動層負責將有效ID范圍的NM PDU送給xxIf層,xxIf層通過識別ID,負責將該PDU發(fā)送給對應的上層,比如:xx_TP層,xx_NM層等。

一直在說ComM通過信號獲取對應的PNC信息,這里我們再具體說一下,對ComM來說,獲取的是 EIRA 或者 ERA信號,這兩個信號獨立。可以使用其中一個,也可以均使用,ComM通過Com_ReceiveSignal()接口獲取。

ComM既然會接收信號,當然也會將PNC狀態(tài)信息通過信號發(fā)送給對應的通信總線。

ComM模塊可以處理EIRA 或者ERA信號的接收,但是發(fā)送只能處理EIRA信號。

2

ComM PNC狀態(tài)機對于每個Partial Network,會對應一個PNC狀態(tài)機,因為PNC最多可以有56個,因此ComM最多可以管理56個PNC狀態(tài)機。注意:PNC和ComM層的Channel不是一個概念,ComM的Channel對應具體的物理總線數。

在ComM模塊中,

一個Channel可以對應一個PNC,也可以對應多個PNC

ComM管理的PNC狀態(tài)機包括兩大Mode:PNC_FULL_COMMUNICATION、PNC_NO_COMMUNICATION。PNC_FULL_COMMUNICATION模式又包含三個子狀態(tài):PNC_PREPARE_SLEEP、PNC_READY_SLEEP、PNC_REQUESTED。

poYBAGMF9tCAZn7_AADpjq0Q9MM654.png

對上圖狀態(tài)行為進行解讀:

PNC_NO_COMMUNICATION主狀態(tài)行為

系統(tǒng)上電時,PNC默認狀態(tài)即PNC_NO_COMMUNICATION。如果某個PNC進入PNC_NO_COMMUNICATION狀態(tài)后,沒有收到內部或者外部請求,則狀態(tài)不跳轉。(1)

EcuM或者NM模塊調用ComM_EcuM_WakeUpIndication()接口,且配置參數ComMSynchronousWakeUp = TRUE

,PNC的狀態(tài)由PNC_NO_COMMUNICATION切換到PNC_FULL_COMMUNICATION::PNC_PREPARE_SLEEP狀態(tài)。且該PNC對應的ComMPncPrepareSleepTimer(

ComMPncPrepareSleepTimer

> 0)啟動,同時通知到BswM,PNC狀態(tài)切換。

(2)EcuM模塊調用ComM_EcuM_WakeUpIndication()接口,且配置參數ComM_PncWakeUpEnabled = TRUE

,PNC的狀態(tài)由PNC_NO_COMMUNICATION切換到PNC_FULL_COMMUNICATION::PNC_PREPARE_SLEEP狀態(tài)。且該PNC對應的ComMPncPrepareSleepTimer啟動(ComMPncPrepareSleepTimer

> 0),同時通知到BswM,PNC狀態(tài)切換。

(3)如果PNC請求信號收到(至少一個bit在EIRA 中置位),PNC的狀態(tài)由PNC_NO_COMMUNICATION切換到PNC_FULL_COMMUNICATION::PNC_READY_SLEEP 狀態(tài)。

(4)如果ComMUser調用ComM_RequestComMode()接口請求 FULL_COMMUNICATION,PNC的狀態(tài)由PNC_NO_COMMUNICATION切換到PNC_FULL_COMMUNICATION::PNC_REQUESTED 狀態(tài)。

(5)

如果PNC請求信號收到(至少一個bit在ERA 中置位)

,AND

ComMPncGatewayEnabled= TRUE

,AND

ComMPncGatewayType != NONE

。PNC的狀態(tài)由PNC_NO_COMMUNICATION切換到PNC_FULL_COMMUNICATION::PNC_REQUESTED 狀態(tài)。

PNC_FULL_COMMUNICATION主狀態(tài)行為

該狀態(tài)下,所有與此PNC關聯(lián)的通道均進入Full Communication狀態(tài)。

進入PNC_REQUESTED子狀態(tài)工況:

ComMUser對此PNC請求COMM_FULL_COMMUNICATION;

ERA信號中的PNC置位,且此PN是同步的。

進入PNC_PREPARE_SLEEP子狀態(tài)工況:

接收的EIRA信號PNC未置位;

EcuM通知ComM,Passive喚醒事件發(fā)生,且是同步喚醒,且ComMPncPrepareSleepTimer > 0。

進入PNC_READY_SLEEP子狀態(tài)工況:

此PN的所有ComMUser請求COMM_NO_COMMUNICATION, AND 接收到的EIRA信號PNC置位 ,AND 所有的ERA信號PN未置位,且此PN是同步的。

3

PNC Gateway

使能PNC的網關功能,需要在ComM中配置參數

ComMPncGatewayEnabled = TRUE

。默認的網關類型是:COMM_GATEWAY_TYPE_ACTIVE。PNC的網關類型分為:Active PNC Gateway和Passive PNC Gateway 兩種。

ComM通過ERA或者EIRA與其他ECU交互PNC信息。對于ERA,

僅當PNC網關功能開啟

,

分配給多個ComM通道時可用

。每個PNC在位向量中使用相同的位位置,由 PNC ID 定義。比如:定義PNC1、PNC2,這兩個PNC均長度均為2 byte,其中bit0均表示關聯(lián)某個ECU的指定Channel與否。

ComM負責協(xié)調網絡的網關行為,即將PNC激活請求從一個通道路由到其他通道。通過發(fā)送 EIRA TX 信號完成路由。通道的路由取決于該通道的網關類型。

PNC請求在Passive通道

如果在網關類型為PASSIVE的通道上接收到ERA=1的請求,則該請求不會鏡像回該通道,即該請求不會在EIRA Tx 信號中設置,并且不會路由到網關類型為PASSIVE的通道。請求僅路由到網關類型為ACTIVE 的通道。

PNC請求在active通道

如果在網關類型為 ACTIVE 的通道上通過 ERA=1接收到PN請求,則該請求會鏡像回此通道,且路由到所有其他協(xié)調通道。

PNC請求在網關類型為NONE的通道

如果在網關類型為NONE的通道上通過ERA=1接收到請求,則該請求不會存儲在內部ComM ERA信號中,即該PNC請求被忽略。因此,請求不會鏡像回此通道,也不會路由到任何其他通道,即請求不會設置在EIRA發(fā)射信號中。網關類型為NONE的通道忽略通過ERA信號接收的PNC請求,但它們處理通過 EIRA Rx 信號接收的PNC請求。在這種情況下,目標PNC狀態(tài)不受通過 ERA 接收的PNC請求影響,但通過EIRA=1 接收的 PNC 請求而進行狀態(tài)改變。


審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • CAN總線
    +關注

    關注

    145

    文章

    1987

    瀏覽量

    132880
  • AUTOSAR
    +關注

    關注

    10

    文章

    380

    瀏覽量

    22674
  • 狀態(tài)機
    +關注

    關注

    2

    文章

    493

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    PN碼的跟蹤

     pn碼的捕獲只能使本地的pn碼與信號的pn碼實現(xiàn)同步,而能使本地的pn碼保持與接收的pn碼精細同步的
    發(fā)表于 08-03 10:12 ?3次下載

    WL-PBM-PN網關實現(xiàn)PROFINET轉PROFIBUS功能

    WL-PBM-PN網關,用于將多個PROFIBUS-DP站設備集成入PROFINET網絡,實現(xiàn)PROFINET轉PROFIBUS功能。配上網關專用的GSD文件,實現(xiàn)PROFINET主站(西門子S7-1500或S7-1200等)
    發(fā)表于 03-28 19:50 ?1881次閱讀
    WL-PBM-<b class='flag-5'>PN</b>網關實現(xiàn)PROFINET轉PROFIBUS<b class='flag-5'>功能</b>

    PN/PN Coupler模塊進行控制器與控制器之間的相關通信

    在TIA安全系統(tǒng)中S7-1500F和S7-1200F 的PROFINET接口之間可以借助 PN/PN Coupler 模塊進行控制器與控制器之間的安全相關的通信。
    的頭像 發(fā)表于 07-25 17:06 ?7998次閱讀

    AUTOSAR架構中CanNm模塊的問題解答

    CanNm模塊配置完成后,基本不需要和其他非標準AUTOSAR模塊進行交互(除了user data數據的使用),但是在深入理解CanNm模塊
    的頭像 發(fā)表于 11-28 10:38 ?5814次閱讀

    AUTOSAR架構下CanNM User Data的概念及配置

    CanNm模塊配置完成后,基本不需要和其他非標準AUTOSAR模塊進行交互,但是User Data的使用可以通過SWC-->RTE-->COM方式使用,也可以通過CDD直接Set/Get User Data的方式使用,在實際配置
    的頭像 發(fā)表于 12-06 10:04 ?9879次閱讀

    PN/PN Coupler模塊概述

    PN/PN Coupler 用于連接兩個PROFINET網絡進行數據交換。最多可以傳送256個字節(jié)的輸入和256個字節(jié)的輸出。
    的頭像 發(fā)表于 02-08 14:30 ?5530次閱讀

    電源模塊預偏置功能原理分析

    本文用于分析電源模塊預偏置功能(prebias)。
    的頭像 發(fā)表于 03-08 14:44 ?4989次閱讀
    電源<b class='flag-5'>模塊</b>預偏置<b class='flag-5'>功能</b>原理<b class='flag-5'>分析</b>

    主設備WiFi模塊設備WiFi模塊功能介紹

    主設備WiFi模塊就是一臺低配置的電腦,供電后可以自主運行。理論上,只要資源足夠、接口支持,電腦上可以實現(xiàn)的功能,模塊都可以實現(xiàn)。設備WiFi模塊
    的頭像 發(fā)表于 04-19 14:47 ?2242次閱讀
    主設備WiFi<b class='flag-5'>模塊</b>,<b class='flag-5'>從</b>設備WiFi<b class='flag-5'>模塊</b><b class='flag-5'>功能</b>介紹

    PN/PN耦合器功能概述

    PN/PN 耦合器用于連接兩個不同 PROFINET 子網,實現(xiàn)多個控制器不同子網間的可靠數據交換
    的頭像 發(fā)表于 10-11 16:49 ?8013次閱讀
    <b class='flag-5'>PN</b>/<b class='flag-5'>PN</b>耦合器<b class='flag-5'>功能</b>概述

    pn8024r引腳功能和電壓功能

    PN8024R是一款具有重要功能的集成電路,廣泛應用于電子設備中。本文將詳細介紹PN8024R引腳功能和電壓功能,以幫助讀者更好地了解和使用
    的頭像 發(fā)表于 12-27 10:58 ?1.8w次閱讀

    DCM模塊喚醒網絡主動與被動喚醒機制探討

    CanNm專題機Prepare Bus-Sleep Mode切換到Nework Mode的Repeat Message State是如果是通過CanNm_PassiveStartUp()條件切換的就是被動喚醒,如果是通過
    發(fā)表于 03-15 11:20 ?1861次閱讀
    DCM<b class='flag-5'>模塊</b>喚醒網絡主動與被動喚醒機制探討

    EtherNet/IP站轉Profinet站協(xié)議轉換網關(JM-PN-EIP)

    為各位全面、細致地講解該設備的功能、參數以及配置的方式。 1.產品概述 1.1 產品功能 捷米特JM-PN-EIP是自主研發(fā)的一款Profinet
    的頭像 發(fā)表于 08-12 14:20 ?856次閱讀
    EtherNet/IP<b class='flag-5'>從</b>站轉Profinet<b class='flag-5'>從</b>站協(xié)議轉換網關(JM-<b class='flag-5'>PN</b>-EIP)

    Profinet站轉CAN協(xié)議轉換網關(JM-PN-CAN)

    地講解該設備的功能、參數以及配置的方式。 一,產品主要功能 捷米特JM-PN-CAN是自主研發(fā)的一款Profinet功能的通訊網關。捷米
    的頭像 發(fā)表于 08-12 14:28 ?619次閱讀
    Profinet<b class='flag-5'>從</b>站轉CAN協(xié)議轉換網關(JM-<b class='flag-5'>PN</b>-CAN)

    Modbus(TCP)轉Profinet總線協(xié)議轉換網關(JM-TCP-PN

    大家詳盡闡述該設備的功能、參數以及具體的配置方式。 一,產品主要功能 1、捷米特JM-TCP-PN該網關的核心功能是將Profinet協(xié)議轉換為Modbus TCP協(xié)議,使得Profi
    的頭像 發(fā)表于 08-16 10:14 ?666次閱讀
    Modbus(TCP)轉Profinet<b class='flag-5'>從</b>總線協(xié)議轉換網關(JM-TCP-<b class='flag-5'>PN</b>)

    Profinet站轉EtherNet/IP站網關

    Profinet站轉EtherNet/IP站網關 SG-PN-EIP(S)-220 功能概述 本產品是PN(Profinet)和Ethe
    的頭像 發(fā)表于 01-21 17:16 ?459次閱讀
    Profinet<b class='flag-5'>從</b>站轉EtherNet/IP<b class='flag-5'>從</b>站網關