AUTOSAR SWS UDPNetworkManagement
AUTOSAR SWS UDPNetworkManagement
AUTOSAR SWS UDPNetworkManagement
AUTOSAR CP R20-11
Disclaimer
This work (specification and/or software implementation) and the material contained
in it, as released by AUTOSAR, is for the purpose of information only. AUTOSAR
and the companies that have contributed to it shall not be liable for any use of the
work.
The material contained in this work is protected by copyright and other types of
intellectual property rights. The commercial exploitation of the material contained in
this work requires a license to such intellectual property rights.
This work may be utilized or reproduced without any modification, in any form or by
any means, for informational purposes only. For any other purpose, no part of the
work may be utilized or reproduced, in any form or by any means, without permission
in writing from the publisher.
The work has been developed for automotive applications only. It has neither been
developed, nor tested for non-automotive applications.
The word AUTOSAR and the AUTOSAR logo are registered trademarks.
Table of Contents
Term: Description:
PDU This means that the NM message transmission has been disabled by the optional
transmission service UdpNm_DisableCommunication.
ability is
disabled
Repeat UdpNm_SoAdIfRxIndication finds the Repeat Message Bit set in the Control Bit
Message Vector of a received NM message.
Request Bit
Indication
NM PDU Refers to the payload transmitted in a packet. It contains the NM User Data as well
as the Control Bit Vector and the Source Node Identifier.
NM Packet Refers to an Ethernet Frame containing an IP as well as a UDP header in addition
to the data (PDU) transmitted by the NM in the payload section.
NM Message Most abstract term referring to any single information item transferred within the
methodology of the NM algorithm.
Bus-Off state Refers to a situation where no cable is connected to the Ethernet HW.
Top-level PNC The top-level PNC coordinator is an ECU that acts as PNC gateway in the network
coordinator and that handles at least one PNC as actively coordinated on all assigned
channels. If synchronized PNC shutdown is enabled, the top-level PNC coordinator
triggers for these PNCs the shutdown, if no other ECU in the network request
them.
Intermediate An intermediate PNC coordinator is an ECU that acts as PNC gateway in the
PNC network and that handles at least one PNC as passively coordinated on at least
coordinator one assigned channel. If synchronized PNC shutdown is enabled, it forwards
received shutdown requests for these PNCs to the corresponding actively
coordinated channels and starts their shutdown accordingly.
Subordinated A subordinated PNC node is an ECU that acts not as a PNC coordinator at all in
PNC node the network. It processes PN shutdown message as usual NM messages.
PN shutdown A top-level PNC coordinator transmit PN shutdown messages to indicate a
message synchronized PNC shutdown across the PN topology. A PN shutdown message is
as NM message which has PNSR bit in the control bit vector and all PNCs which
are indicated for a synchronized shutdown set to '1'.
3 Related documentation
Thus, the specification SWS BSW General shall be considered as additional and
required specification for UDP Network Management.
4.1 Limitations
1. One instance of UdpNm is associated with only one NM-Cluster in one
network. One NM-Cluster can have only one instance of UdpNm in one node.
2. One instance of UdpNm is associated with only one network within the same
ECU.
3. UdpNm is only applicable for TCP/IP based systems.
Figure 2 presents an AUTOSAR NM stack within an example ECU belonging to two
UDP NM-clusters.
:Nm
:UdpNm :UdpNm
:SoAd
Nm
Nm_*
UdpNm_*
UdpNm Det_ReportError
DET
UdpNM_*
SoAd_*
SoAd
[SWS_UdpNm_00081]⌈ The code file structure shall not be fully defined within this
specification. However, the code file structure shall include the following files:
UdpNm_Lcfg.c (for link time configurable parameters)
UdpNm_PBcfg.c (for post build time configurable parameters)
These files shall contain all link time post build time configurable parameters.
⌋(SRS_BSW_00419, SRS_BSW_00346, SRS_BSW_00158, SRS_BSW_00308)
6 Requirements traceability
platform independent
SRS_BSW_00307 Global variables naming SWS_UdpNm_NA_00999
convention
SRS_BSW_00308 AUTOSAR Basic Software SWS_UdpNm_00081
Modules shall not define global
data in their header files, but in
the C file
SRS_BSW_00309 All AUTOSAR Basic Software SWS_UdpNm_NA_00999
Modules shall indicate all global
data with read-only purposes by
explicitly assigning the const
keyword
SRS_BSW_00312 Shared code shall be reentrant SWS_UdpNm_NA_00999
SRS_BSW_00314 All internal driver modules shall SWS_UdpNm_NA_00999
separate the interrupt frame
definition from the service
routine
SRS_BSW_00321 The version numbers of SWS_UdpNm_NA_00999
AUTOSAR Basic Software
Modules shall be enumerated
according specific rules
SRS_BSW_00325 The runtime of interrupt service SWS_UdpNm_NA_00999
routines and functions that are
running in interrupt context shall
be kept short
SRS_BSW_00328 All AUTOSAR Basic Software SWS_UdpNm_NA_00999
Modules shall avoid the
duplication of code
SRS_BSW_00330 It shall be allowed to use macros SWS_UdpNm_NA_00999
instead of functions where
source code is used and runtime
is critical
SRS_BSW_00331 All Basic Software Modules shall SWS_UdpNm_NA_00999
strictly separate error and status
information
SRS_BSW_00333 For each callback function it SWS_UdpNm_NA_00999
shall be specified if it is called
from interrupt context or not
SRS_BSW_00334 All Basic Software Modules shall SWS_UdpNm_NA_00999
provide an XML file that contains
the meta data
SRS_BSW_00335 Status values naming SWS_UdpNm_NA_00999
convention
SRS_BSW_00336 Basic SW module shall be able SWS_UdpNm_NA_00999
to shutdown
SRS_BSW_00341 Module documentation shall SWS_UdpNm_NA_00999
contains all needed informations
SRS_BSW_00346 All AUTOSAR Basic Software SWS_UdpNm_00081
Modules shall provide at least a
basic set of module files
SRS_BSW_00347 A Naming seperation of different SWS_UdpNm_NA_00999
14 of 103 Document ID 414: AUTOSAR_SWS_UDPNetworkManagement
Specification of UDP Network Management
AUTOSAR CP R20-11
7 Functional specification
The main concept of the AUTOSAR UdpNm coordination algorithm can be defined
by the following two key-requirements:
The overall state machine of the AUTOSAR UdpNm coordination algorithm can be
defined as follows:
Note: A UML state chart of the AUTOSAR UdpNm state machine from the point
of view of one single node in the NM cluster can be found in the API
specifications chapter 8
[SWS_UdpNm_00097] ⌈ When the Network Mode is entered, the UdpNm shall notify
the upper layer by calling Nm_NetworkMode. ⌋()
Note: As no transmission confirmation is available from the SoAd or the TCP/IP stack
it is assumed that each Network Management PDU transmission request results in a
successful Network Management PDU transmission.
19 of 103 Document ID 414: AUTOSAR_SWS_UDPNetworkManagement
Specification of UDP Network Management
AUTOSAR CP R20-11
For nodes that are not in passive mode (refer to chapter 7.7.3) the Repeat Message
State ensures, that any transition from Bus-Sleep or Prepare Bus-Sleep to the
Network Mode becomes visible for the other nodes on the network. Additionally it
ensures that any node stays active for a minimum amount of time
(UdpNmRepeatMessageTime). Optionally it can be used for detection of present
nodes.
[SWS_UdpNm_00106] ⌈ When Repeat Message State is left, the Ready Sleep State
shall be entered, if the network has been released (see SWS_UdpNm_00105). ⌋()
[SWS_UdpNm_00470] {DRAFT}
⌈ If UdpNmDynamicPncToChannelMappingSupport is set to TRUE UdpNm shall
clear the Partial Network Learning Bit when leaving the Repeat Message State. ⌋()
The Normal Operation State ensures that any node can keep the NM-cluster awake
as long as the network functionality is required.
The Ready Sleep State ensures that any node in the NM-cluster waits with transition
to the Prepare Bus-Sleep Mode as long as any other node keeps the NM-cluster
awake.
[SWS_UdpNm_00110] ⌈ When the network is requested and the current state is the
Ready Sleep State, the Ready Sleep State shall be left and the Normal Operation
State shall be entered (refer to SWS_UdpNm_00104). ⌋()
The purpose of the Prepare Bus Sleep state is to ensure that all nodes have time to
stop their network activity before the Bus Sleep state is entered. Bus activity is
calmed down (i.e. queued messages are transmitted in order to empty all Tx-buffers)
and finally there is no activity on the bus in the Prepare Bus-Sleep Mode.
Rationale: Other nodes in the cluster are still in Prepare Bus-Sleep Mode; in the
exceptional situation described above transition into the Bus-Sleep Mode shall be
avoided and bus-communication shall be restored as fast as possible.
Caused by the transmission offset for Network Management PDUs in UdpNm, the
transmission of the first Network Management PDU in Repeat Message State can be
delayed significantly. In order to avoid a delayed re-start of the network the
transmission of a Network Management PDU can be requested immediately.
The purpose of the Bus-Sleep state is to reduce power consumption in the node,
when no messages are to be exchanged.
management cluster, all nodes in the network management cluster that are
coordinated with use of the AUTOSAR NM algorithm perform the transition into the
Bus-Sleep Mode at approximately the same time.
For a best case estimation only oscillator drift should be taken into account for a
configurable amount of time determined by the value UdpNmTimeoutTime +
UdpNmWaitBusSleepTime (both configuration parameters).
Rationale: To avoid race conditions and state inconsistencys between Network and
Mode Management, UdpNm will not automatically perform the transition from Bus-
Sleep Mode to Network Mode. UdpNm will only inform the upper layers which have
to make the wake-up decision. NM packet reception in Bus-Sleep Mode must be
handled depending on the current state of the ECU shutdown or startup process.
Note: In the Prepare Bus-Sleep Mode and Bus-Sleep Mode is assumed that the
network is released, unless bus communication is explicitly requested.
7.4 Initialization
Note: The UdpNm module should be initialized after SoAd is initialized and before
any other network management service is called.
[SWS_UdpNm_00145] ⌈If AUTOSAR UdpNm is not initialized it shall not prohibit bus
traffic. ⌋()
[SWS_UdpNm_00025] ⌈After initialization each byte of the user data bytes shall be
set to 0xFF. ⌋()
[SWS_UdpNm_00085] ⌈After initialization the Control Bit Vector shall be set to 0x00.
⌋()
7.5 Execution
Note: The transmission mechanisms described in this chapter are only relevant if the
NM message transmission ability is enabled.
Note: Passive nodes do not transmit NM messages, i.e. they can not actively
influence the shut down decision, but they do receive NM message in order to be
able to shut down synchronously.
Note: The transmission mechanisms described in this chapter are only relevant if
UdpNmPassiveModeEnabled is FALSE.
Note: The periodic transmission mode is used in the "Repeat Message State" and
"Normal Operation State".
Note: This requirement covers also the case if Repeat Message State is entered from
Network Operation State or Ready Sleep State due to Repeat Message Request or
Bit (see SWS_UdpNm_00111, SWS_UdpNm_00112, SWS_UdpNm_00119,
SWS_UdpNm_00120). This means that in this case the immediate transmission is
not used (even if UdpNmImmediateNmTransmissions > 0 and independent from
configuration of UdpNmPnHandleMultipleNetworkRequests) i.e.
UdpNmMsgCycleOffset will always be applied. This mechanism prevents bursts of
NM messages.
[SWS_UdpNm_00334] ⌈When entering the Repeat Message State from Bus Sleep
Mode or Prepare Bus Sleep Mode because of UdpNm_NetworkRequest() (active
wakeup) and if UdpNmImmediateNmTransmissions is greater zero, the NM PDUs
shall be transmitted using UdpNmImmediateNmCycleTime as cycle time. The
transmission of the first NM PDU shall be triggered as soon as possible. After the
transmission the Message Cycle Timer shall be reloaded with
[SWS_UdpNm_00006] ⌈If Normal Operation State is entered from Ready Sleep State
the transmission of NM PDUs shall be started immediately. ⌋()
Note:
Note: This feature can be used in case of partial network wakeup filter to avoid a
blocking of all messages in case of passive start-up and first message request is not
accepted by SoAd due to EthSM could not enable transmission path fast enough
(e.g. in case of asynchronous transceiver handling).
Note: If NM user data is configured it will be sent for sure in the Repeat Message
State. In Ready Sleep State the user data will not be sent.
In Passive Mode the node is only receiving NM messages but not transmitting any
NM messages.
Bus Synchronization
(configuration parameter UdpNmBusSynchronizationEnabled)
Remote Sleep Indication
(configuration parameter UdpNmRemoteSleepIndEnabled)
Node Detection
(configuration parameter UdpNmNodeDetectionEnabled) ⌋()
When having more than one coordinator connected to the same bus a special bit in
the CBV, the NmCoordinatorSleepReady bit is used to indicate that the main
coordinator requests to start shutdown sequence. The main functionality of the
algorithm is described in the Nm module.
[SWS_UdpNm_00331] ⌈If UdpNmPnEnabled is TRUE and the PNI bit in the received
NM-PDU is 1, UdpNm module shall process the Partial Networking Information of the
NM-PDU as described in chapter 7.8.3 to 7.8.5.⌋()
Note: The usage of the CBV is mandatory in case Partial Networking is used.
Note: The aggregation of all PNCs which are requested for a synchronized PNC
shutdown and the transmission as PN shutdown message (set the PNSR bit in the
CBV to 1) is done asynchronously in the context of the corresponding
UdpNm_Mainfunction.
Note: The UdpNm modul has to aggregate all PNCs which were indicated for a
synchronized PNC shutdown and transfer the pncId’s to a byte array (PN Info range).
Each bit (PN bit) of the PN Info range represent a particular PNC. The byteIndex and
bitindex within the PN Info range of PN bit shall be determined as follows:
byteIndex = (PncId div 8)
bitIndex = (PncId mod 8)
Note: UdpNm has to ensure that new request for a synchronized PNC shutdown
(indicated via UdpNm_RequestSynchronizedPncShutdown) are not lost, during
an on going transmission of a PN shutdown NM frame.
Note:
UdpNm has to perform a retry transmission handling for PN shutdown
messages in the context of the corresponding main function calls, if
transmission of the PN shutdown message was not confirmed by the lower
layer (either with E_NOT_OK or UdpNm_SoAdIfTxConfirmation was not
called).The retry transmission requests should cover error cases, were the
lower layer cannot transmit the Nm messages. In the worst case this collide
with a post poned NM message transmitted with UdpNmMsgCycleTime (see
SWS_UdpNm_00472). But in any case, if the capability to transmitted NM
messages is not re-covered within the PN reset time (EIRA), the PNCs will
shutdown not synchronized, which might lead to timeout errors on application
level.
The dependency to a pending transmission confirmation indicated by the lower
layer, should support reliable communication, e.g. ensure PN shutdown
message was transmitted on the network or avoid transmissions of outdated
PN shutdown messages, if for example queueing in the lower layer is
configured.
Example:
- UdpNmPnInfoOffset =3
36 of 103 Document ID 414: AUTOSAR_SWS_UDPNetworkManagement
Specification of UDP Network Management
AUTOSAR CP R20-11
- UdpNmPnInfoLength =2
[SWS_UdpNm_00339]⌈If at least one bit within the PN Info Range of the received
NM-PDU matches with a bit in the NM filter mask the PN request information is
relevant for the ECU⌋()
Note: This feature is used by every ECU that has to switch I-PDU-Groups because of
the activity of partial networks. (e.g. to prevent false timeouts) I-PDU-Groups shall be
switched on if the corresponding PN is requested internally or externally. I-PDU-
Groups shall not be switched off until all internal and external requests for the
corresponding PN are released.
The logic for switching the IPDU-Groups is implemented by ComM. The UdpNm only
provides the information if a PN is requested or not. The COM module is used to
transfer the data to the upper layers.
[SWS_UdpNm_00347] ⌈If
UdpNmPnEiraCalcEnabled is TRUE
a NM-PDU is received
PNs are requested within this message (bits are set to 1)
And the requested PNs are set to 1 within the [configured PN filter mask] then
UdpNm shall store the request information (value 1) for these PNs ⌋()
[SWS_UdpNm_00348] ⌈If
UdpNmPnEiraCalcEnabled is TRUE
NM-PDU is being requested to send by UdpNM
PNs are requested within this message(bits are set to 1)
And the requested PNs are set to 1 within the [configured PN filter mask] then
UdpNm shall store the request information (value 1) for these PNs.⌋()
Note: This means, only one timer is required to handle one PN on multiple connected
physical channels. For example: only 8 EIRA reset timers are required to handle the
requests of a Gateway with 6 physical channels and 8 partial networks.
This is possible because the switch of PN PDU-Groups is done global for the ECU
and not dependent of the physical channel.
Note: This feature is used by the Gateways to collect only the external PN requests.
The external PN requests are mirrored back to the requesting bus and provided to
other (required) physical channels of a central gateway.
In case of a sub gateway the requests bit must not be mirrored back to the
requesting physical channel in order to avoid static waking between central- and sub
gateways. This logic shall be implemented by the ComM.
The UdpNm module provides the information if the PN is externally requested or not.
The COM module is used for data transmission to the upper layer.The aggregated
state of the external requested PNs is called “External Requests Aggregated” (ERA).
Note: This means, a separate timer is required to handle one PN on multiple physical
channels.
For example: 48 ERA reset timers are required to handle the requests of a gateway
with 6 physical channels and 8 partial networks. It is not possible to combine the
reset timer like EIRA timers, because the external request mustn’t be mirrored back
to the requesting bus by a sub gateway. Thus it is required to detect the physical
channel that is the source of the request bit.
Note:
The length of the Network Management PDU is defined by the PduLength parameter
in the "global" ECUC module ([EcuC003_Conf], see Ecu Configuration specification).
The difference between number of enabled system bytes and length is the amount of
user data bytes.
The figure below describes the format of the Control Bit Vector:
Note: The Control Bit Vector is initialized with 0x00 during initialization (also refer to
SWS_UdpNm_00085).
[SWS_UdpNm_00013] ⌈ The source node identifier shall be set with the configuration
parameter UDPNM_NODE_ID unless UDPNM_PDU_NID_POSITION is set to off. ⌋()
Note: This is required to enable ECU to identify detail about the sender of the Car
Wakeup request
Note: The Car Wakeup filter is necessary to realize sub gateways that only consider
the Car Wakeup of the central Gateway to avoid wrong wakeups
[SWS_UdpNm_00018]⌈
Error
Type of error Related error code
value
UDPNM_E_INVALID_
API service called with wrong channel handle 0x02
CHANNEL
UDPNM_E_INVALID_
API service called with wrong PDU ID. 0x03
PDUID
UDPNM_E_PARAM_
Null pointer has been passed as an argument 0x12
POINTER
⌋()
[SWS_UdpNm_00465]⌈
Error
Type of error Related error code
value
⌋()
Wakeup notification is defined in detail in the ECU State Manager specification [11].
Note: Since the shutdown of UdpNm can be done at any time, the call of the API
Nm_SynchronizationPoint is not supported.
8 API specification
AUTOSAR UdpNm API consists of services, which are UDP specific and can be
called whenever they are required; each service apart from UdpNm_Init refers to
one NM channel only.
Note: The network handle is invalid if it is different from allowed configured values.
[]⌈
Module Header File Imported Type
ComStack_Types.h PNCHandleType
ComStack_Types.h PduIdType
ComStack_Types.h PduInfoType
ComStack_Types.h PduLengthType
NmStack_types.h Nm_ModeType
Nm
NmStack_types.h Nm_StateType
Std_Types.h Std_ReturnType
Std
Std_Types.h Std_VersionInfoType
⌋()
8.2.1 UdpNm_ConfigType
This type shall contain the parameters of the container UdpNm_GlobalConfig and
its sub containers.
[SWS_UdpNm_00308]⌈
Name UdpNm_ConfigType
Kind Structure
implementation specific
Type --
Elements
This type shall contain the parameters of the container UdpNm_Global
Comment
Config and its sub containers.
Description --
Available
UdpNm.h
via
⌋()
8.2.2 UdpNm_PduPositionType
[SWS_UdpNm_00304]⌈
Name UdpNm_PduPositionType
Kind Enumeration
Description Used to define the position of the control bit vector within the NM PACKET.
⌋()
8.3.1 UdpNm_Init
[SWS_UdpNm_00208]⌈
Service Name UdpNm_Init
void UdpNm_Init (
Syntax const UdpNm_ConfigType* UdpNmConfigPtr
)
Service ID
0x01
[hex]
Sync/Async Synchronous
Parameters
UdpNmConfigPtr Pointer to a selected configuration structure
(in)
Parameters
None
(inout)
Parameters
None
(out)
Initialize the complete UdpNm module, i.e. all channels which are activated at
configuration time are initialized. A UDP socket shall be set up with the TCP/IP
Description stack.
Caveats: This function has to be called after initialization of the TCP/IP stack.
Configuration: Mandatory
⌋()
[SWS_UdpNm_00210] ⌈ If an error has to be indicated to the DET the value 0x00
shall be used as the instance id. ⌋()
Rationale: the value 0 x 00 is not error value but instance ID
8.3.2 UdpNm_PassiveStartUp
[SWS_UdpNm_00211]⌈
Service Name UdpNm_PassiveStartUp
Std_ReturnType UdpNm_PassiveStartUp (
Syntax NetworkHandleType nmChannelHandle
)
Service ID
0x0e
[hex]
Sync/Async Asynchronous
Parameters
nmChannelHandle Identification of the NM-channel
(in)
Parameters
None
(inout)
Parameters
None
(out)
E_OK: No error
Return value Std_ReturnType E_NOT_OK: Passive startup of network management has
failed
Passive startup of the AUTOSAR UdpNm. It triggers the transition from Bus-Sleep
Description Mode or Prepare Bus Sleep Mode to the Network Mode in Repeat Message State.
Caveats: UdpNm is initialized correctly.
⌋()
[SWS_UdpNm_00147] ⌈If UdpNm_PassiveStartUp is called in the Network Mode,
the UdpNm module shall not execute this service and shall return E_NOT_OK.⌋()
8.3.3 UdpNm_NetworkRequest
[SWS_UdpNm_00213]⌈
Service Name UdpNm_NetworkRequest
Std_ReturnType UdpNm_NetworkRequest (
Syntax NetworkHandleType nmChannelHandle
)
Sync/Async Asynchronous
Parameters
None
(inout)
Parameters
None
(out)
E_OK: No error
Return value Std_ReturnType
E_NOT_OK: Requesting of network has failed
Request the network, since ECU needs to communicate on the bus. Network
state shall be changed to 'requested'
Description
Caveats: UdpNm is initialized correctly.
Configuration: Optional (Only available if UdpNmPassiveModeEnabled == false)
⌋()
8.3.4 UdpNm_NetworkRelease
[SWS_UdpNm_00214]⌈
Service Name UdpNm_NetworkRelease
Std_ReturnType UdpNm_NetworkRelease (
Syntax NetworkHandleType nmChannelHandle
)
Sync/Async Asynchronous
Parameters
None
(inout)
Parameters
None
(out)
E_OK: No error
Return value Std_ReturnType
E_NOT_OK: Releasing of network has failed
Release the network, since ECU doesn't have to communicate on the bus.
Network state shall be changed to 'released'.
Description
Caveats: UdpNm is initialized correctly.
Configuration: Optional (Only available if UdpNmPassiveModeEnabled == false)
⌋()
8.3.5 UdpNm_DisableCommunication
[SWS_UdpNm_00215]⌈
Service Name UdpNm_DisableCommunication
Std_ReturnType UdpNm_DisableCommunication (
Syntax NetworkHandleType nmChannelHandle
)
Sync/Async Asynchronous
nmChannel
Parameters (in) Identification of the NM-channel
Handle
Parameters
None
(inout)
E_OK: No error
Return value Std_ReturnType E_NOT_OK: Disabling of NM PDU transmission ability has
failed
⌋(SRS_Nm_02512)
[SWS_UdpNm_00307] ⌈ If the module operates in passive mode
(UdpNmPassiveModeEnabled) the service UdpNm_DisableCommunication
shall have no effects and shall directly return E_NOT_OK. ⌋()
8.3.6 UdpNm_EnableCommunication
[SWS_UdpNm_00216]⌈
Service Name UdpNm_EnableCommunication
Std_ReturnType UdpNm_EnableCommunication (
Syntax NetworkHandleType nmChannelHandle
)
Sync/Async Asynchronous
Parameters
None
(inout)
E_OK: No error
Return value Std_ReturnType E_NOT_OK: Enabling of NM PDU transmission ability has
failed
⌋(SRS_Nm_02512)
[SWS_UdpNm_00176] ⌈ The optional service UdpNm_EnableCommunication shall
enable the NM PDU transmission ability if the NM PDU transmission ability is
disabled. ⌋()
8.3.7 UdpNm_SetUserData
[SWS_UdpNm_00217]⌈
Service Name UdpNm_SetUserData
Std_ReturnType UdpNm_SetUserData (
NetworkHandleType nmChannelHandle,
Syntax const uint8* nmUserDataPtr
)
Sync/Async Synchronous
nmChannel
Identification of the NM-channel
Handle
Parameters (in)
Pointer where the user data for the next transmitted NM
nmUserDataPtr
message shall be copied from.
Parameters
None
(inout)
Parameters
None
(out)
Set user data for all NM messages transmitted on the bus after this function has
returned without error.
Description Caveats: UdpNm is initialized correctly.
Configuration: Optional (Only available if UdpNmUserDataEnabled==true and
UdpNmPassiveModeEnabled==false).
⌋()
8.3.8 UdpNm_GetUserData
[SWS_UdpNm_00218]⌈
Service Name UdpNm_GetUserData
Std_ReturnType UdpNm_GetUserData (
NetworkHandleType nmChannelHandle,
Syntax
uint8* nmUserDataPtr
)
Sync/Async Synchronous
nmChannel
Parameters (in) Identification of the NM-channel
Handle
Parameters
None
(inout)
Parameters nmUserData Pointer where user data out of the most recently received NM
(out) Ptr message shall be copied to.
⌋()
8.3.9 UdpNm_GetNodeIdentifier
[SWS_UdpNm_00219]⌈
Service Name UdpNm_GetNodeIdentifier
Std_ReturnType UdpNm_GetNodeIdentifier (
NetworkHandleType nmChannelHandle,
Syntax
uint8* nmNodeIdPtr
)
Service ID
0x06
[hex]
Sync/Async Synchronous
Reentrancy Reentrant
Parameters nmChannel
Identification of the NM-channel
(in) Handle
Parameters
None
(inout)
Parameters nmNodeId Pointer where the source node identifier from the most recently
(out) Ptr received NM PDU shall be copied to.
E_OK: No error
Std_Return- E_NOT_OK: Getting of the node identifier out of the most recently
Return value
Type received NM PDU has failed or is not configured for this network
handle.
⌋()
[SWS_UdpNm_00132] ⌈ The service call UdpNm_GetNodeIdentifier shall
provide the node identifier out of the most recently received Network Management
PDU if UdpNmNodeIdEnabled is set to TRUE. ⌋()
8.3.10 UdpNm_GetLocalNodeIdentifier
[SWS_UdpNm_00220]⌈
Service Name UdpNm_GetLocalNodeIdentifier
Std_ReturnType UdpNm_GetLocalNodeIdentifier (
NetworkHandleType nmChannelHandle,
Syntax uint8* nmNodeIdPtr
)
Service ID
0x07
[hex]
Sync/Async Synchronous
Reentrancy Reentrant
nmChannel
Parameters (in) Identification of the NM-channel
Handle
Parameters
None
(inout)
Parameters
nmNodeIdPtr Pointer where node identifier of the local node shall be copied to.
(out)
E_OK: No error
Std_Return-
Return value E_NOT_OK: Getting of the node identifier of the local node has
Type
failed or is not configured for this network handle.
⌋()
[SWS_UdpNm_00133] ⌈ The service call UdpNm_GetLocalNodeIdentifier shall
provide the node identifier configured for the local host node if
UdpNmNodeIdEnabled is set to TRUE. ⌋()
8.3.11 UdpNm_RepeatMessageRequest
[SWS_UdpNm_00221]⌈
Service Name UdpNm_RepeatMessageRequest
Std_ReturnType UdpNm_RepeatMessageRequest (
Syntax NetworkHandleType nmChannelHandle
)
Service ID
0x08
[hex]
Sync/Async Asynchronous
nmChannel
Parameters (in) Identification of the NM-channel
Handle
Parameters
None
(inout)
Parameters
None
(out)
Set Repeat Message Request Bit for all NM messages transmitted on the bus
Description
after this function has returned without error.
⌋()
8.3.12 UdpNm_GetPduData
[SWS_UdpNm_00309]⌈
Service Name UdpNm_GetPduData
Std_ReturnType UdpNm_GetPduData (
NetworkHandleType nmChannelHandle,
Syntax uint8* nmPduDataPtr
)
Sync/Async Synchronous
Reentrancy Reentrant
nmChannel
Parameters (in) Identification of the NM-channel
Handle
Parameters
None
(inout)
Parameters
nmPduDataPtr Pointer where NM PDU shall be copied to.
(out)
E_OK: No error
Std_Return-
Return value E_NOT_OK: Getting of NM PDU Data has failed or is not
Type
configured for this network handle.
Get the whole PDU data out of the most recently received NM message.
Description
Caveats: UdpNm is initialized correctly.
⌋()
8.3.13 UdpNm_GetState
[SWS_UdpNm_00310]⌈
Service Name UdpNm_GetState
Std_ReturnType UdpNm_GetState (
NetworkHandleType nmChannelHandle,
Syntax Nm_StateType* nmStatePtr,
Nm_ModeType* nmModePtr
)
Sync/Async Synchronous
Reentrancy Reentrant
nmChannel
Parameters (in) Identification of the NM-channel
Handle
Parameters
None
(inout)
E_OK: No error
Return value Std_ReturnType
E_NOT_OK: Getting of NM state has failed
⌋()
8.3.14 UdpNm_GetVersionInfo
[SWS_UdpNm_00224]⌈
Service Name UdpNm_GetVersionInfo
void UdpNm_GetVersionInfo (
Syntax Std_VersionInfoType* versioninfo
)
Sync/Async Synchronous
59 of 103 Document ID 414: AUTOSAR_SWS_UDPNetworkManagement
Specification of UDP Network Management
AUTOSAR CP R20-11
Reentrancy Reentrant
Parameters (out) versioninfo Pointer to where to store the version information of this module.
⌋()
[SWS_UdpNm_00318] ⌈ If DET is enabled for the UdpNm module, the function
UdpNm_GetVersionInfo shall raise UDPNM_E_PARAM_POINTER, if the argument
versioninfo is a NULL pointer and return without any action. ⌋()
8.3.15 UdpNm_RequestBusSynchronization
[SWS_UdpNm_00226]⌈
Service Name UdpNm_RequestBusSynchronization
Std_ReturnType UdpNm_RequestBusSynchronization (
Syntax NetworkHandleType nmChannelHandle
)
Service ID
0x14
[hex]
Sync/Async Asynchronous
Parameters
None
(inout)
Parameters
None
(out)
E_OK: No error
Return value Std_ReturnType
E_NOT_OK: Requesting of bus synchronization has failed
⌋()
Rationale: This service is typically used for supporting the NM gateway extensions.
8.3.16 UdpNm_CheckRemoteSleepIndication
[SWS_UdpNm_00227]⌈
Service Name UdpNm_CheckRemoteSleepIndication
Std_ReturnType UdpNm_CheckRemoteSleepIndication (
NetworkHandleType nmChannelHandle,
Syntax boolean* NmRemoteSleepIndPtr
)
Sync/Async Synchronous
Parameters
None
(inout)
E_OK: No error
Return value Std_ReturnType E_NOT_OK: Checking of remote sleep indication bits has
failed
⌋()
[SWS_UdpNm_00153] ⌈ The service call UdpNm_CheckRemoteSleepIndication
shall provide the information about current status of Remote Sleep Indication (i.e.
already detected or not). ⌋()
8.3.17 UdpNm_SetSleepReadyBit
[SWS_UdpNm_00324]⌈
Service Name UdpNm_SetSleepReadyBit
Std_ReturnType UdpNm_SetSleepReadyBit (
NetworkHandleType nmChannelHandle,
Syntax
boolean nmSleepReadyBit
)
Sync/Async Synchronous
nmChannel
Identification of the NM-channel
Handle
Parameters (in)
nmSleepReadyBit Value written to ReadySleep Bit in CBV
Parameters
None
(inout)
E_OK: No error
Return value Std_ReturnType E_NOT_OK: Writing of remote sleep indication bit has
failed
Description Set the NM Coordinator Sleep Ready bit in the Control Bit Vector
⌋()
8.3.18 UdpNm_Transmit
[SWS_UdpNm_00313]⌈
Service Name UdpNm_Transmit
Std_ReturnType UdpNm_Transmit (
PduIdType TxPduId,
Syntax
const PduInfoType* PduInfoPtr
)
Sync/Async Synchronous
Reentrancy Reentrant for different PduIds. Non reentrant for the same PduId.
Parameters
None
(inout)
⌋()
[SWS_UdpNm_00315] ⌈ If UdpNmComUserDataSupport or UdpNmPnEnabled is
enabled the UdpNm implementation shall provide an API UdpNm_Transmit. ⌋
(SRS_Nm_02503)
8.3.19 UdpNm_PnLearningRequest
[SWS_UdpNm_91004]{DRAFT} ⌈
Service
UdpNm_PnLearningRequest (draft)
Name
Std_ReturnType UdpNm_PnLearningRequest (
Syntax NetworkHandleType nmChannelHandle
)
Service ID
0x4a
[hex]
Sync/Async Asynchronous
Parameters nmChannel
Identification of the NM-channel
(in) Handle
Parameters
None
(inout)
Parameters
None
(out)
E_OK: No error
Return value Std_ReturnType E_NOT_OK: PN Learning Requesthas failed or is not
configured for this network handle.
Set Repeat Message Request Bit and Partial Network Learning Bit for NM messages
transmitted next on the bus. This will force all nodes on the bus to enter the PNC
Description Learning Phase. This is needed for the optional Dynamic PNC-to-channel-mapping
feature.
Tags:atp.Status=draft
⌋()
8.3.20 UdpNm_RequestSynchronizedPncShutdown
[SWS_UdpNm_91002]{DRAFT} ⌈
Service Name UdpNm_RequestSynchronizedPncShutdown (draft)
Std_ReturnType UdpNm_RequestSynchronizedPncShutdown (
NetworkHandleType nmChannelHandle,
Syntax PNCHandleType pncId
)
Sync/Async Synchronous
Reentrant for different nmChannelHandle. Non reentrant for the same nmChannel
Reentrancy
Handle.
Parameters
None
(inout)
Parameters
None
(out)
⌋(SRS_Nm_02545)
8.4.1 UdpNm_SoAdIfTxConfirmation
[SWS_UdpNm_00228]⌈
Service Name UdpNm_SoAdIfTxConfirmation
void UdpNm_SoAdIfTxConfirmation (
PduIdType TxPduId,
Syntax Std_ReturnType result
)
Sync/Async Synchronous
Reentrancy Reentrant for different PduIds. Non reentrant for the same PduId.
Parameters
None
(inout)
Parameters
None
(out)
⌋()
The value passed to UdpNm via the API parameter TxPduId shall refer to the NM
channel handle, i.e. a mapping from PduId to NM channel handle is not necessary.
8.4.2 UdpNm_SoAdIfRxIndication
[SWS_UdpNm_00231]⌈
Service Name UdpNm_SoAdIfRxIndication
void UdpNm_SoAdIfRxIndication (
PduIdType RxPduId,
Syntax
const PduInfoType* PduInfoPtr
)
Service ID
0x42
[hex]
Sync/Async Synchronous
Reentrancy Reentrant for different PduIds. Non reentrant for the same PduId.
RxPdu
ID of the received PDU.
Id
Parameters
(in) Contains the length (SduLength) of the received PDU, a pointer to a
Pdu
buffer (SduDataPtr) containing the PDU, and the MetaData related to this
InfoPtr
PDU.
Parameters
None
(inout)
Parameters
None
(out)
Description Indication of a received PDU from a lower layer communication interface module.
⌋()
The callback function UdpNm_SoAdIfRxIndication called by the SoAd and
implemented by the UdpNm module. It is called in case of a receive indication event
of the SoAd.
The value passed to UdpNm via the API parameter udpNmRxPduId shall refer to the
UdpNm channel handle, i.e. a mapping from PduId to UdpNm channel handle is not
necessary.
8.4.3 UdpNm_SoAdIfTriggerTransmit
[SWS_UdpNm_91001]⌈
Service
UdpNm_SoAdIfTriggerTransmit
Name
Std_ReturnType UdpNm_SoAdIfTriggerTransmit (
Syntax PduIdType TxPduId,
PduInfoType* PduInfoPtr
Service ID
0x41
[hex]
Sync/Async Synchronous
Reentrancy Reentrant for different PduIds. Non reentrant for the same PduId.
Parameters
TxPduId ID of the SDU that is requested to be transmitted.
(in)
Parameters
None
(out)
E_OK: SDU has been copied and SduLength indicates the number of
Std_-
copied bytes.
Return value Return-
E_NOT_OK: No SDU data has been copied. PduInfoPtr must not be
Type
used since it may contain a NULL pointer or point to invalid data.
Within this API, the upper layer module (called module) shall check whether the
available data fits into the buffer size reported by PduInfoPtr->SduLength. If it fits, it
Description shall copy its data into the buffer provided by PduInfoPtr->SduDataPtr and update
the length of the actual copied data in PduInfoPtr->SduLength. If not, it returns E_
NOT_OK without changing PduInfoPtr.
⌋()
Note: The UdpNm modul has to aggregate all PNCs which were indicated for a
synchronized PNC shutdown and transfer the pncId’s to a byte array (PN Info range).
Each bit (PN bit) of the PN Info range represent a particular PNC. The byteIndex and
bitindex within the PN Info range of PN bit shall be determined as follows:
byteIndex = (PncId div 8)
67 of 103 Document ID 414: AUTOSAR_SWS_UDPNetworkManagement
Specification of UDP Network Management
AUTOSAR CP R20-11
[SWS_UdpNm_00234]⌈
Service
UdpNm_MainFunction<Instance_Id>
Name
void UdpNm_MainFunction<Instance_Id> (
Syntax void
)
Service ID
0x13
[hex]
Main function of the UdpNm which processes the algorithm describes in that
document. E.g.:
Description
UdpNm_MainFunction_0() represents the UdpNm instance for the UDP channel 0
UdpNm_MainFunction_1() represents the UdpNm instance for the UDP channel 1
⌋()
This chapter defines all interfaces which are required to fulfill the core functionality of
the module.
[]⌈
Header
API Function Description
File
Nm_Network-
Nm.h Notification that the network management has entered Network Mode.
Mode
Nm_Prepare- Notification that the network management has entered Prepare Bus-
Nm.h
BusSleepMode Sleep Mode.
SoAd_If-
SoAd.h Requests transmission of a PDU.
Transmit
⌋()
This chapter defines all interfaces which are required to fulfill an optional functionality
of the module.
[SWS_UdpNm_91006]⌈
Header
API Function Description
File
Nm_CoordReady-
Cancels an indication, when the NM Coordinator Sleep Ready bit in
ToSleep- Nm.h
the Control Bit Vector is set back to 0.
Cancellation
Nm_CoordReady- Sets an indication, when the NM Coordinator Sleep Ready bit in the
Nm.h
ToSleepIndication Control Bit Vector is set
Nm_PduRx-
Nm.h Notification that a NM message has been received.
Indication
Nm_Remote- Notification that the network management has detected that not all
Sleep- Nm.h other nodes on the network are longer ready to enter Bus-Sleep
Cancellation Mode.
Nm_Remote- Notification that the network management has detected that all other
Nm.h
SleepIndication nodes on the network are ready to enter Bus-Sleep Mode.
Nm_State-
Change- Nm.h Notification that the state of the lower layer <BusNm> has changed.
Notification
Nm_TxTimeout-
Nm.h Service to indicate that an attempt to send an NM message failed.
Exception
PduR_
PduR_UdpNmRx- Indication of a received PDU from a lower layer communication
Udp
Indication interface module.
Nm.h
Within this API, the upper layer module (called module) shall check
whether the available data fits into the buffer size reported by PduInfo
PduR_
PduR_UdpNm- Ptr->SduLength. If it fits, it shall copy its data into the buffer provided
Udp
TriggerTransmit by PduInfoPtr->SduDataPtr and update the length of the actual
Nm.h
copied data in PduInfoPtr->SduLength. If not, it returns E_NOT_OK
without changing PduInfoPtr.
PduR_
PduR_UdpNmTx- The lower layer communication interface module confirms the
Udp
Confirmation transmission of a PDU, or the failure to transmit a PDU.
Nm.h
⌋()
Not applicable
PowerOff PowerOff
UdpNm_Init()
/Initialization of UdpNm PowerOff
Bus-Sleep Mode Wait Bus Sleep Timer has expired Prepare Bus-Sleep Mode
/Nm_BusSleepMode()
UdpNm_SoAdRxIndication();
UdpNm_NetworkRequest();
UdpNm_SoAdRxIndication(); UdpNm_NetworkRequest();
/Nm_NetworkStartIndication(); UdpNm_PassiveStartUp(); Network
Mode UdpNm_PassiveStartUp();
Network Mode
UdpNm_NetworkRequest();
[UdpNmPnHandleMultipleNetworkRequests == TRUE]
/Start Repeat Message Timer
UdpNm_NetworkRequest();
[UdpNmPnHandleMultipleNetworkRequests
== FALSE]
Normal Operation State Ready Sleep State
UdpNm_NetworkRelease();
9.1 UdpNmTransmission
TimerExpired()
SoAdIf_Transmit()
StartTimer(UdpNmMsgCycleTime)
UdpNm_SoAdIfTxConfirmation(PduIdType, Std_ReturnType)
UdpNm_SoAdIfTxConfirmation()
StartTimer(UdpNmTimeoutTime)
UdpNm_SoAdIfRxIndication(PduIdType, PduInfoType*)
UdpNm_SoAdIfRxIndication()
StartTimer(UdpNmTimeoutTime)
10 Configuration specification
In general, this chapter defines configuration parameters and their clustering into
containers. In order to support the specification chapter 10.1 describes fundamentals.
It also specifies a template (table) to be use for the parameter specification. Chapter
10.1 is intended to remain in the specification document to ensure
comprehensiveness.
Chapter 10.2 specifies the structure (containers) and the parameters of module
UdpNm.
The configuration parameters as defined in this chapter are used to create a data
model for an AUTOSAR tool chain. The realization in the code is implementation
specific.
The configuration parameters are divided into parameters used to enable features,
parameters affecting all instances of the UdpNm and parameters affecting the
respective instances of the UdpNm.
10.2.1 UdpNm
Included Containers
Container Name Multiplicity Scope / Dependency
This container contains all global configuration parameters of
UdpNmGlobalConfig 1
UDP NM configured from the CanTrcv Module perspective.
10.2.2 UdpNmGlobalConfig
Multiplicity 1
Type EcucBooleanParamDef
Default value false
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
Name UdpNmPduRxIndicationEnabled
Parent Container UdpNmGlobalConfig
Description Pre-processor switch for enabling the PDU Rx Indication.
This parameter shall be derived from NmPduRxIndicationEnabled.
Multiplicity 1
Type EcucBooleanParamDef
Default value --
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time --
Post-build time --
Scope / Dependency scope: local
Included Containers
Container Name Multiplicity Scope / Dependency
This container contains the channel-specific configuration
UdpNmChannelConfig 1..*
parameters of the UdpNm.
UdpNmPnInfo 0..1 PN information configuration
UdpNm: EcucModuleDef
lowerMultiplicity = 0
upperMultiplicity = 1
+container
UdpNmGlobalConfig:
UdpNmDevErrorDetect:
EcucParamConfContainerDef +parameter
EcucBooleanParamDef
defaultValue = false
UdpNmVersionInfoApi:
+parameter
EcucBooleanParamDef
defaultValue = false
+parameter UdpNmUserDataEnabled:
EcucBooleanParamDef
+parameter UdpNmRemoteSleepIndEnabled:
EcucBooleanParamDef
+parameter UdpNmBusSynchronizationEnabled:
EcucBooleanParamDef
+parameter UdpNmImmediateRestartEnabled:
EcucBooleanParamDef
+parameter UdpNmPassiveModeEnabled:
EcucBooleanParamDef
+parameter UdpNmPduRxIndicationEnabled:
EcucBooleanParamDef
+parameter UdpNmStateChangeIndEnabled:
EcucBooleanParamDef
+parameter UdpNmComControlEnabled:
EcucBooleanParamDef
UdpNmNumberOfChannels:
+parameter EcucIntegerParamDef
min = 1
max = 255
UdpNmComUserDataSupport:
EcucBooleanParamDef
+parameter
+parameter UdpNmCoordinatorSyncSupport:
EcucBooleanParamDef
+parameter UdpNmDynamicPncToChannelMappingSupport:
EcucBooleanParamDef
+parameter UdpNmPnSyncShutdownErrorReactionEnabled:
EcucBooleanParamDef
10.2.3 UdpNmChannelConfig
Post-Build Variant
false
Multiplicity
Post-Build Variant Value false
Multiplicity Configuration Pre-compile time X VARIANT-PRE-COMPILE
Class Link time X VARIANT-LINK-TIME
Post-build time --
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time --
Scope / Dependency scope: local
dependency: only available if UdpNmCarWakeUpRxEnabled == TRUE
Name UdpNmNodeDetectionEnabled
Parent Container UdpNmChannelConfig
Description Pre-processor switch for enabling the node detection support.
This parameter shall be derived from NmNodeDetectionEnabled.
This parameter shall only be enabled if UdpNmNodeIdEnabled == true.
The value of the parameter represents the location of the source node identifier in
the NM PACKET (UDPNM_PDU_BYTE_0 means byte 0, UDPNM_PDU_BYTE_1
means byte 1, UDPNM_PDU_OFF means source node identifier is not part of the
NM PACKET)
Included Containers
Container Name Multiplicity Scope / Dependency
UdpNmRxPdu 1..* This container describes the UdpNm RX PDU's.
UdpNmTxPdu 0..1 This container describes the UdpNm TX PDU's.
Preprocessor switch for enabling the Tx path of Com User
UdpNmUserDataTxPdu 0..1 Data.
Use case: Setting of NMUserData via SWC.
UdpNmChannelConfig:
UdpNmComMNetworkHandleRef: ComMChannel:
EcucParamConfContainerDef +reference +destination
EcucReferenceDef EcucParamConfContainerDef
lowerMultiplicity = 1
requiresSymbolicNameValue = true lowerMultiplicity = 1
upperMultiplicity = *
upperMultiplicity = 256
UdpNmTimeoutTime:
+parameter EcucFloatParamDef
min = 0.002
UdpNmWaitBusSleepTime:
max = 65.535
EcucFloatParamDef
+parameter
min = 0.001
max = 65.535
UdpNmRepeatMessageTime: lowerMultiplicity = 0
upperMultiplicity = 1
+parameter EcucFloatParamDef
min = 0.0
max = 65.535
UdpNmRemoteSleepIndTime:
+parameter EcucFloatParamDef
min = 0.001
max = 65.535
+literal UDPNM_PDU_OFF:
EcucEnumerationLiteralDef
+literal UDPNM_PDU_OFF:
EcucEnumerationLiteralDef
UdpNmImmediateNmCycleTime:
EcucFloatParamDef
+parameter
min = 0.001
max = 65.535
lowerMultiplicity = 0
upperMultiplicity = 1 UdpNmMsgCycleTime:
+parameter EcucFloatParamDef
min = 0.001
max = 65.535
UdpNmMsgCycleOffset:
+parameter EcucFloatParamDef
min = 0.0
max = 65.535
UdpNmStayInPbsEnabled:
EcucBooleanParamDef
+parameter
defaultValue = false
lowerMultiplicity = 1
UdpNmNodeId:
EcucIntegerParamDef upperMultiplicity = 1
+parameter
min = 0
max = 255
lowerMultiplicity = 0 UdpNmMainFunctionPeriod:
upperMultiplicity = 1 +parameter EcucFloatParamDef
min = 0
max = INF
UdpNmTxPdu:
EcucParamConfContainerDef +reference UdpNmTxPduRef: +destination Pdu:
EcucReferenceDef EcucParamConfContainerDef
lowerMultiplicity = 0
+subContainer upperMultiplicity = 1 lowerMultiplicity = 0
upperMultiplicity = *
UdpNmTxConfirmationPduId:
+parameter EcucIntegerParamDef
min = 0
max = 4294967296
symbolicNameValue = true
UdpNmRxPdu: UdpNmRxPduId:
EcucParamConfContainerDef EcucIntegerParamDef
+parameter
lowerMultiplicity = 1 min = 0
+subContainer upperMultiplicity = * max = 4294967296
symbolicNameValue = true
UdpNmUserDataTxPdu: UdpNmTxUserDataPduRef:
+reference EcucReferenceDef +destination
EcucParamConfContainerDef
lowerMultiplicity = 0 lowerMultiplicity = 1
+subContainer upperMultiplicity = 1
upperMultiplicity = 1
+parameter UdpNmTxUserDataPduId:
EcucIntegerParamDef
min = 0
max = 65535
symbolicNameValue = true
UdpNmActiveWakeupBitEnabled:
EcucBooleanParamDef
+parameter
lowerMultiplicity = 0
upperMultiplicity = 1
defaultValue = False UdpNmImmediateNmTransmissions:
EcucIntegerParamDef
+parameter
min = 0
max = 255
UdpNmRetryFirstMessageRequest:
EcucBooleanParamDef
+parameter
lowerMultiplicity = 0
upperMultiplicity = 1
UdpNmCarWakeUpBytePosition:
EcucIntegerParamDef
+parameter
min = 0
max = 7
UdpNmCarWakeUpBitPosition: lowerMultiplicity = 0
EcucIntegerParamDef upperMultiplicity = 1
+parameter
min = 0
max = 7
lowerMultiplicity = 0
upperMultiplicity = 1
UdpNmCarWakeUpRxEnabled:
+parameter
EcucBooleanParamDef
defaultValue = false
UdpNmCarWakeUpFilterEnabled:
EcucBooleanParamDef
+parameter
lowerMultiplicity = 0
upperMultiplicity = 1
defaultValue = false
UdpNmCarWakeUpFilterNodeId:
EcucIntegerParamDef
+parameter
min = 0
max = 255
lowerMultiplicity = 0
upperMultiplicity = 1
+parameter UdpNmAllNmMessagesKeepAwake:
EcucBooleanParamDef
+parameter UdpNmNodeIdEnabled:
EcucBooleanParamDef
UdpNmSynchronizedPncShutdownEnabled:
+parameter
EcucBooleanParamDef
defaultValue = false
+parameter UdpNmRepeatMsgIndEnabled: lowerMultiplicity = 0
EcucBooleanParamDef
upperMultiplicity = 1
+parameter UdpNmDynamicPncToChannelMappingEnabled:
EcucBooleanParamDef
defaultValue = false
lowerMultiplicity = 0
upperMultiplicity = 1
10.2.4 UdpNmRxPdu
No Included Containers
10.2.5 UdpNmTxPdu
No Included Containers
10.2.6 UdpNmUserDataTxPdu
No Included Containers
10.2.7 UdpNmPnInfo
Included Containers
Container Name Multiplicity Scope / Dependency
UdpNmPnFilterMaskByte 1..63 PN information configuration
UdpNmGlobalConfig: UdpNmPnResetTime:
EcucParamConfContainerDef EcucFloatParamDef
+parameter
min = 0.001
max = 65.535
lowerMultiplicity = 0 UdpNmPnEiraCalcEnabled:
upperMultiplicity = 1 EcucBooleanParamDef
+parameter
defaultValue = false
lowerMultiplicity = 0
upperMultiplicity = 1
UdpNmPnInfo:
UdpNmPnInfoOffset:
EcucParamConfContainerDef
EcucIntegerParamDef
+parameter
upperMultiplicity = 1
min = 1
lowerMultiplicity = 0
max = 63
defaultValue = 1
UdpNmPnInfoLength:
EcucIntegerParamDef
+parameter
+subContainer min = 1
max = 63
defaultValue = 1 UdpNmPnFilterMaskByteIndex:
EcucIntegerParamDef
+subContainer lowerMultiplicity = 1
upperMultiplicity = 63
+parameter UdpNmPnFilterMaskByteValue:
EcucIntegerParamDef
min = 0
max = 255
defaultValue = 0
Pdu:
+reference UdpNmPnEiraRxNSduRef:
EcucReferenceDef +destination EcucParamConfContainerDef
lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = *
+subContainer
UdpNmPnEraRxNSduRef:
UdpNmChannelConfig: +destination
+reference EcucReferenceDef
EcucParamConfContainerDef
lowerMultiplicity = 1 lowerMultiplicity = 0
upperMultiplicity = * upperMultiplicity = 1
+parameter UdpNmPnEnabled:
EcucBooleanParamDef
10.2.8 UdpNmPnFilterMaskByte
No Included Containers