DEENESPTFRRUARHIKOZHNL

Vehicle-2-X Management (V2xM)

ModulV2xM (Vehicle-2-X Management)
BSW-Modul-ID185
Standard-Header#include "V2xM.h"
SWS-SpezifikationAUTOSAR_CP_SWS_V2XManagement.pdf, AUTOSAR_SWS_V2XManagement.pdf
Umfang81 Records · 13 Snippets
ClusterVehicle-2-X (V2X)

Vehicle-2-X Management (V2xM)

AUTOSAR Classic Off-board Comm. Services-Modul Vehicle-2-X Management (V2xM, Spezifikation: AUTOSAR_CP_SWS_V2XManagement.pdf, AUTOSAR_SWS_V2XManagement.pdf).

Funktionen — Übersicht

Typen — Übersicht

Anforderungen — Übersicht

Funktionen & Typen — Detailansicht

دالة V2xM_GetPositionAndTime [SWS_V2xM_00072] 📄 PDF

Std_ReturnType V2xM_GetPositionAndTime(V2xM_PositionAndTimeType* Poti);

Provides the instantaneous position information. Availab le via V2x M.h

دالة V2xM_V2xGn_ReqEncap [SWS_V2xM_00074] 📄 PDF

V2x_SecReturnType V2xM_V2xGn_ReqEncap(uint16 TransactionId16, V2x_SecProfileType SecProfile, uint16 UnsecuredDataLength, const uint8* UnsecuredDataPtr, uint16* SecuredDataLength, uint8* SecuredDataPtr);

This function is called by the V2x Gn to sign and/ or encrypt a message. An asynchronous V2x Gn_ V2x M_ Encap Confirmation call will be used to notify V2x G n of the result.

دالة V2xM_V2xGn_ReqDecap [SWS_V2xM_00075] 📄 PDF

V2x_SecReturnType V2xM_V2xGn_ReqDecap(uint32 TransactionId32, uint16 SecuredDataLength, const uint8* SecuredDataPtr, uint16* UnsecuredDataLength, uint8* UnsecuredDataPtr, V2xM_SecReportType* SecReport, uint64* CertificateId, uint32* ItsAid, uint8* SspLength, uint8* SspBits);

This function is called by the V2x Gn to decrypt and verify a message. An asynchronous V2x Gn_ V2x M_ Decap Confirmation call will be used to notify V2x Gn of the result.

دالة V2xM_TriggerPseudonymChange [SWS_V2xM_00077] 📄 PDF

Std_ReturnType V2xM_TriggerPseudonymChange(void);

This function is called by the V2x Fac, V2x Gn or another entity to change the Pseudonym used by the V2X - Stack, e.g. due to a Geo Networking address conflict.

دالة V2xM_UnlockPseudonymChange [SWS_V2xM_00079] 📄 PDF

Std_ReturnType V2xM_UnlockPseudonymChange(uint64 HandleId);

This function is called by V2x Gn or from the Application Service Interface to unlock the pseudonym change.

دالة V2xM_V2xGn_SetGlobalRxParams [SWS_V2xM_00080] 📄 PDF

void V2xM_V2xGn_SetGlobalRxParams(const uint16* Cbr_Gs, const V2x_ChanType* Channel);

This function is called by V2x Gn to set the current channel busy percentage for the specified channel Available vi a V2x M_ V2x Gn.h

دالة V2xM_V2xGn_GetGlobalTxParams [SWS_V2xM_00081] 📄 PDF

void V2xM_V2xGn_GetGlobalTxParams(const V2x_ChanType* channel, uint16* Cbr);

This function is called by V2x Gn to get the current channel busy percentage for the specified channel

دالة V2xM_SetTollingZoneInformation [SWS_V2xM_00182] 📄 PDF

void V2xM_SetTollingZoneInformation(sint32 protectedZoneLatitude, sint32 protectedZoneLongitude, uint32 protectedZoneRadius, uint8 protectedZoneID);

Set available tolling z one information. This is done from V2x Fac that receives this information via CAM messages.

دالة V2xM_Vdp_GetNextLongTermCertificateExpirationDate [SWS_V2xM_91001] 📄 PDF

Std_ReturnType V2xM_Vdp_GetNextLongTermCertificateExpirationDate(uint32* ExpirationDate);

Service to get the certificate expiration date of the long term certificate that expires in the nearest future.

دالة V2xM_Vdp_GetNextPseudonymCertificateExpirationDate [SWS_V2xM_91002] 📄 PDF

Std_ReturnType V2xM_Vdp_GetNextPseudonymCertificateExpirationDate(uint32* expirationDate);

Service to get the certificate expiration date of the pseudonym certificate that expires in the nearest future.

دالة V2xM_Vdp_SetPositionAndTime [SWS_V2xM_91003] 📄 PDF

Std_ReturnType V2xM_Vdp_SetPositionAndTime(V2xM_PositionAndTimeType PositionAndTime);

Service for setting positional and time information relevant for the V2X-Stack

نوع V2x_GnPacketTransportType [SWS_V2xM_00034] 📄 PDF

Specifies the packet transport type for Geo Networking packages. This is passed e.g. via V2x Fac and V2x Btp for the transmit path.

نوع V2x_MaximumPacketLifetimeType [SWS_V2xM_00039] 📄 PDF

Specifies the maximum tolerable time (in seconds) a Geo Networking packet can be buffered.

نوع V2x_TrafficClassIdType [SWS_V2xM_00043] 📄 PDF

Requirements on packet transport coming from ITS Facilities layer

نوع V2x_ChanType [SWS_V2xM_00044] 📄 PDF

Specifies the channel type to use. Channels from ITS - G5A and ITS - G5B are used. Values matching IEEE 802.11 - 2012 channel numbers.

نوع V2x_GnLongPositionVectorType [SWS_V2xM_00046] 📄 PDF

Position - related information as defined within [25] chapter 9.5.2.

نوع V2xM_PositionAndTimeType [SWS_V2xM_00047] 📄 PDF

Position and time related information as defined within [25] chapter 8.2. Variation --

نوع V2x_PseudonymType [SWS_V2xM_00057] 📄 PDF

Pseudonym, derived from Pseudonym Certificates. The pseudonym is distributed to different modules to support privacy within the V2X System to the outside world.

نوع V2x_GnDestinationType [SWS_V2xM_00112] 📄 PDF

Specifies the destination type for Geo Networking packages. This is passed e.g. via V2x Fac and V2x Btp for the transmit path.

نوع V2x_GnTxResultType [SWS_V2xM_00114] 📄 PDF

The result code used to specify if a V2x Gn_ Transmit has been proce ssed successfully.

نوع V2xM_SecReportType [SWS_V2xM_91000] 📄 PDF

Used to describe the security report after invocation of security services for Decapsulation (verify or decrypt) Variation --

requirement SWS_V2xM_00004 [SWS_V2xM_00004] 📄 PDF

The V2xM module shall implement the identity management, also known as the pseudonym. Specific V2X modules shall be notified with the current identity to e nsure a consistent value is used in each layer of the V2X Stack.

requirement SWS_V2xM_00005 [SWS_V2xM_00005] 📄 PDF

The V2xM module shall provide a mechanism to permit V2X modules to inhibit the identity change for a duration of maximum 15 minutes (e.g. during DENM event) via an API call to V2xM_LockPseudonymChange .

requirement SWS_V2xM_00009 [SWS_V2xM_00009] 📄 PDF

The V2xM module shall provide the Encap and Decap services required by V2xGn and Verification On Demand (VOD) by utilizing CSM.

requirement SWS_V2xM_00031 [SWS_V2xM_00031] 📄 PDF

Type of error Related error code Error value API service called with wrong parameter V2XM_ E_ PARAM 0x01 API service called with invalid pointer V2XM_ E_ PARAM_ POINTER 0x02 V2x M initialization failed V2XM_ E_ INIT_ FAILED 0x03 API function called before the V2x M module has been fully initialized V2XM_ E_ UNINIT 0x04

requirement SWS_V2xM_00033 [SWS_V2xM_00033] 📄 PDF

Module Header File Imported Type Csm Rte_ Csm_ Type.h Crypto _ Operation Mode Type Rte_ Csm_ Type.h Crypto _ Verify Result Type Gpt Gpt.h Gpt _ Channel Type Gpt.h Gpt _ Predef Timer Type Gpt.h Gpt _ Value Type Nv M Rte_ Nv M_ Type.h Nv M _ Block Id Type Rte_ Nv M_ Type.h Nv M _ Request Result Type Stb M Rte_ Stb M_ Type.h Stb M _ Synchronized Time Base Type Rte_ Stb M_ Type.h Stb M _ Time Base Status Type Rte_ Stb M_ Type.h Stb M _ Time Stamp Extended Type Rte_ Stb M_ Type.h Stb M _ Time Stamp Type Rte_ Stb M_ Type.h Stb M _ User Data Type Std Std_ Types.h Std _ Return Type Std_ Types.h Std _ Version Info Type V2x_ General Types Rte_ V2x M_ Type.h V2x M _ Position And Time Type Rte_ V2x M_ Type.h V2x M _ Sec Report Type V2x_ General Types.h V2x _ Chan Type V2x_ General Types.h V2x _ Pseudonym Type V2x_ General Types.h V2x _ Sec Profile Type V2x_ General Types.h V2x _ Sec Return Type WEth Trcv WEth_ General Types.h W Eth Trcv _ Get Chan Rx Param Id Type WEth_ General Types.h W Eth Trcv _ Set Chan Rx Param Id Type WEth_ General Types.h W Eth Trcv _ Set Chan Tx Param Id Type WEth_ General Types.h W Eth Trcv _ Set Radio Param Id Type

requirement SWS_V2xM_00092 [SWS_V2xM_00092] 📄 PDF

Csm _ Hash Csm.h Uses the given data to perform the hash calculation and stores the hash. Csm _ Key Element Get Csm.h Retrieves th e key element bytes from a specific key element of the key identified by the key Id and stores the key element in the memory location pointed by the key pointer. Csm _ Key Element Set Csm.h Sets the given key element bytes to the key identified by key Id. Csm _ Random - Generate Csm.h Generate a random number and stores it in the memory location pointed by the result pointer. Csm _ Signature - Generate Csm.h Uses the given data to perform the signature calculation and stores the signature in the memory locat ion pointed by the result pointer. Csm _ Signature Verify Csm.h Verifies the given MAC by comparing if the signature is generated with the given data. Eth If _ Get Chan Rx - Params Eth If.h Read values related to the receive direction of the transceiver. F or example, this could be a Channel Busy Ratio (CBR) or the average Channel Idle Time (CIT). Eth If _ Set Chan Rx - Params Eth If.h Set values related to the receive direction of a transceiver's wireless channel. For example, this could be a channel paramet er like the frequency. Eth If _ Set Chan Tx - Params Eth If.h Set values related to the transmit direction of a transceiver's wireless channel. For example, this could be the bitrate of a channel. Eth If _ Set Phys Addr Eth If.h Sets the physical source address used by the indexed controller. Eth If _ Set Radio - Params Eth If.h Set values related to a transceiver's wireless radio. For example, this could be the selection of the radio settings (channel, ...). Nv M _ Get Error Stat us Nv M.h Service to read the block dependent error/ status information. Nv M _ Read Block Nv M.h Service to copy the data of the NV block to its corresponding RAM block. Nv M _ Write Block Nv M.h Service to copy the data of the RAM block to its correspo nding NV block. V2x Fac _ V2x M _ Abort - Pseudonym Change V2x Fac_ V2x M.h This function is called by the V2x M when not all modules are OK with the pseudonym change and the change is to be rolled back. V2x Fac _ V2x M _ - Commit Pseudonym - Change V2x Fac_ V 2x M.h This function is called by the V2x M when all modules are OK with the pseudonym change and the change is to be committed. V2x Fac _ V2x M _ - Prepare Pseudonym - Change V2x Fac_ V2x M.h By this API primitive the V2x Fac module gets an indication that the given Pseudonym and hereby the Station Id is about to be changed V2x Fac _ V2x M _ Set - Ca Bs Operation V2x Fac_ V2x M.h By this API primitive the V2x Fac module gets an indication of the current operation state of the CA Basic Service. V2x Fac _ V2x M _ Set T - Gen Cam Dcc V2x Fac_ V2x M.h By this API primitive the V2x Fac module gets an indication of the current TGen Cam Dcc value. V2x Gn _ V2x M _ Abort - Pseudonym Change V2x Gn_ V2x M.h This function is called by the V2x M when not all modules are OK with the pseudonym change and the change is to be rolled back. V2x Gn _ V2x M _ - Commit Pseudonym - Change V2x Gn_ V2x M.h This function is called by the V2x M when all modules are OK with the pseudonym change and the change is to be committed. V2x Gn _ V2x M _ Decap - Confirmation V2x Gn_ V2x M.h This function is called by the V2x M when a decapsulation has been finished. V2x Gn _ V2x M _ Encap - Confirmation V2x Gn_ V2x M.h This function is called by the V2x M when an encapsulation has been finished. V2x Gn _ V2x M _ - Prepare Pseudonym - Change V2x Gn_ V2x M.h This function is called by the V2x M when a Pseudonym Change occurs to prepare the change in every module using it.

requirement SWS_V2xM_00093 [SWS_V2xM_00093] 📄 PDF

Det _ Report Error Det.h Service to report development errors. Efx _ Arc Cos _s32 - _u32 Efx.h This service computes the inverse cosine of a value. Efx _ Arc Sin _s32 - _s32 Efx.h This service computes the inverse sine of a value. Efx _ Cos _s32 - _s32 Efx.h This service computes the cosine of an angle. Efx _ Sin _s32 _s32 Efx.h This service computes the sine of an angle. Efx _ Sqrt _u32 - _u32 Efx.h This service computes the s quare root of a value Gpt _ Get Predef - Timer Value Gpt.h Delivers the current value of the desired GPT Predef Timer. Gpt _ Start Timer Gpt.h Starts a timer channel. Mfl _ Arc Cos _f32 Mfl.h Returns the arc cosine of an angle, in the range of 0.0 through pi. Mfl _ Arc Sin _f32 Mfl.h Returns the arc sine of an angle, in the range of - pi/ 2 through pi/ 2. Mfl _ Cos _f32 Mfl.h Calculates the cosine of the argument. Mfl _ Sin _f32 Mfl.h Calcula tes the sine of the argument. Mfl _ Sqrt _f32 Mfl.h Returns the square root of the operand (Val Sqrt), determined according to the following equation Stb M _ Get - Current Time Stb M.h Returns a time value (Local Time Base derived from Global Time Base) in standard format. Note: This API shall be called with locked interrupts / within an Exclusive Area to prevent interruption (i.e., the risk that the time stamp is outdated on return of the function call). Stb M _ Get - Current Time - Extended Stb M.h Returns a time value (Local Time Base derived from Global Time Base) in extended format. Note: This API shall be called with locked interrupts / within an Exclusive Area to prevent interruption (i.e., the risk that the time stamp is outdated on return of t he function call).

requirement SWS_V2xM_00095 [SWS_V2xM_00095] 📄 PDF

Name V2x M_ Vdp Comment Interfaces for Vehicle Data Provider (VDP) to get and set V2X related vehicle information in the BSW V2X - Stack Is Service true Variation -- Possible Errors 0 E_ OK Operation successful 1 E_ NOT_ OK Operation failed Operation Get Next Long Term Certificate Expiration Date Comment Service to get the certificate expiration date of the long term certificates that expires in the nearest future. Variation -- Parameters Expiration Date Type uint32 Direction OUT Comment Date is based on format Time32 that is specified in IEEE 1609.2 as mentioned in [19]. Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Get Next Pseudonym Certificate Expiration Date Comment Service to get the certificate expiration date of the pseudonym certificates that expires in the nearest future. Variation -- Parameters Expiration Date Type uint32 Direction OUT Comment Date is based on format Time32 that is specified in IEEE 1609.2 as mentioned in [19] Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Get Time32 Comment Service to get the current reference time. Variation -- Parameters Time32 Type uint32 Direction OUT Comment Time is based on TAI mod 2^32, where TAI is the number of elapsed TAI milliseconds since 2004 - 01 - 01 00:00:00.000. Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Set Position And Time Comment Service for setting positional and time information relevant for the V2X - Stack Variation -- Parameters position And Time Type V2x M _ Position And Time Type Direction IN Comment -- Variation -- Possible Errors E _ O K E _ N O T _ O K

requirement SWS_V2xM_00116 [SWS_V2xM_00116] 📄 PDF

[SWS_V2xM_00116] ⌈The function shall store the access to the configuration structure for subsequent API calls.⌋

requirement SWS_V2xM_00118 [SWS_V2xM_00118] 📄 PDF

[SWS_V2xM_00118] Upstream requirements: SRS_BSW_00414 ⌈The Configuration pointer CfgPtr shall always have a NULL_PTR value⌋

requirement SWS_V2xM_00122 [SWS_V2xM_00122] 📄 PDF

[SWS_V2xM_00122] ⌈If development error detection is enabled: the function shall check that the service V2xM_Init() was previously called. If the check fails, the function shall raise the development error V2XM_E_UNINIT.⌋

requirement SWS_V2xM_00123 [SWS_V2xM_00123] 📄 PDF

[SWS_V2xM_00123] ⌈If development error detection is enabled: the function shall check the parameter Poti for being valid. If the check fails, the function shall raise the development error V2XM_E_PARAM_POINTER.⌋

requirement SWS_V2xM_00127 [SWS_V2xM_00127] 📄 PDF

[SWS_V2xM_00127] ⌈If development error detection is enabled: the function shall check that the service V2xM_Init() was previously called. If the check fails, the function shall raise the development error V2XM_E_UNINIT.⌋

requirement SWS_V2xM_00128 [SWS_V2xM_00128] 📄 PDF

[SWS_V2xM_00128] ⌈If development error detection is enabled: the function shall check the parameter RefTimePtr for being valid. If the check fails, the function shall raise the development error V2XM_E_PARAM_POINTER.⌋

requirement SWS_V2xM_00130 [SWS_V2xM_00130] 📄 PDF

[SWS_V2xM_00130] ⌈The function V2xM_V2xGn_ReqDecap() shall invoke CSM APIs for the verification of the data given by SecuredDataPtr.⌋(SRS_V2X_00163)

requirement SWS_V2xM_00135 [SWS_V2xM_00135] 📄 PDF

[SWS_V2xM_00135] ⌈The function V2xM_V2xGn_ReqEncap() shall encapsulate the payload of the GeoNetworking packet to be sent as defined in [19] and [17].⌋(SRS_- V2X_00406, SRS_V2X_00407)

requirement SWS_V2xM_00136 [SWS_V2xM_00136] 📄 PDF

[SWS_V2xM_00136] ⌈The function V2xM_V2xGn_ReqDecap() shall decapsulate the payload of a received GeoNetworking packet as defined in [19] and [17].⌋()

requirement SWS_V2xM_00142 [SWS_V2xM_00142] 📄 PDF

[SWS_V2xM_00142] ⌈The function V2xM_TriggerPseudonymChange() shall trig- ger the pseudonym change and update the identity of the V2X-Stack to the adjacent modules.⌋

requirement SWS_V2xM_00143 [SWS_V2xM_00143] 📄 PDF

[SWS_V2xM_00143] ⌈If development error detection is enabled: the function shall check that the service V2xM_Init() was previously called. If the check fails, the function shall raise the development error V2XM_E_UNINIT.⌋

requirement SWS_V2xM_00145 [SWS_V2xM_00145] 📄 PDF

[SWS_V2xM_00145] ⌈The function V2xM_LockPseudonymChange() shall prevent the module from changing the pseudonym. The requirements from [23] shall apply.⌋

requirement SWS_V2xM_00146 [SWS_V2xM_00146] 📄 PDF

[SWS_V2xM_00146] ⌈If development error detection is enabled: the function shall check that the service V2xM_Init() was previously called. If the check fails, the function shall raise the development error V2XM_E_UNINIT.⌋

requirement SWS_V2xM_00147 [SWS_V2xM_00147] 📄 PDF

[SWS_V2xM_00147] ⌈If development error detection is enabled: the function shall check the parameter HandleId for being valid. If the check fails, the function shall raise the development error V2XM_E_PARAM_POINTER.⌋

requirement SWS_V2xM_00149 [SWS_V2xM_00149] 📄 PDF

[SWS_V2xM_00149] ⌈The function V2xM_UnlockPseudonymChange() shall allow the module to change the pseudonym again.⌋

requirement SWS_V2xM_00150 [SWS_V2xM_00150] 📄 PDF

[SWS_V2xM_00150] ⌈If development error detection is enabled: the function shall check that the service V2xM_Init() was previously called. If the check fails, the function shall raise the development error V2XM_E_UNINIT.⌋

requirement SWS_V2xM_00151 [SWS_V2xM_00151] 📄 PDF

[SWS_V2xM_00151] ⌈If development error detection is enabled: the function shall check the parameter HandleId for being valid. If the check fails, the function shall raise the development error V2XM_E_PARAM.⌋

requirement SWS_V2xM_00170 [SWS_V2xM_00170] 📄 PDF

Used for handling of tolling zone power reduction. If the distance to a Tolling Zone position given by V2xM_SetTollingZoneInformation is less than the distance given in protectedZoneRadius, the module shall p ush that to the WEthTrcv via the API EthIf_SetRadioParams so that WEthTrcv is able to reduce output power of specific packets. If the position drops out of the range, tolling zone power reduction shall be switched off.

requirement SWS_V2xM_00172 [SWS_V2xM_00172] 📄 PDF

Name V2x M_ Pseudonym Change Comment Interfaces for Applications to lock and unlock pseudonym changes within the V2X - BSW - Stack. Is Service true Variation -- Possible Errors 0 E_ OK Operation successful 1 E_ NOT_ OK Operation failed Operation Lock Comment Service for locking the pseudonym change. See SWS_V2xM_00078 for more information about locking the pseudonym change. Variation -- Parameters Duration Type uint16 Direction IN Comment Duration to lock. Variation -- Handle Id Type uint64 Direction OUT Comment Handle Id for manual Unlock Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Unlock Comment Service for unlocking the pseudonym change. See SWS_V2xM_00079 for more information about locking the pseudonym change. Variation -- Parameters Handle Id Type uint64 Direction IN Comment Handle Id to unlock Variation -- Possible Errors E _ O K E _ N O T _ O K

requirement SWS_V2xM_00173 [SWS_V2xM_00173] 📄 PDF

Name V2x M_ Sec Comment Security related interfaces for applications Is Service true Variation -- Possible Errors 0 E_ OK Operation successful 1 E_ NOT_ OK Operation failed Operation Verify Comment Interfaces for Applications to verify messages on demand instead of verify all incoming messages, to reduce ECU load. Variation -- Parameters Transaction Id32 Type uint32 Direction IN Comment Transaction Id of the packet to be verified Variation -- Sec Report Type V2x M _ Sec Report Type Direction OUT Comment -- Variation -- Possible Errors E _ O K E _ N O T _ O K

requirement SWS_V2xM_00175 [SWS_V2xM_00175] 📄 PDF

[SWS_V2xM_00175] ⌈The V2xM shall disable CAM generation in case of unusable position (e.g. due to no position available, degenerated dead reckoning, time jitter/drift). This is done via a call to V2xFac_V2xM_SetCaBsOperation().⌋()

requirement SWS_V2xM_00180 [SWS_V2xM_00180] 📄 PDF

Name V2x M_ Geo Math Comment Interfaces for Applications to math functions Is Service true Variation -- Possible Errors 0 E_ OK Operation successful 1 E_ NOT_ OK Operation failed Operation Distance Comment Service for Calculating the distance between two geographical points Variation -- Parameters latitude A Type sint32 Direction IN Comment Latitude of geographical point A Variation -- longitude A Type sint32 Direction IN Comment Longitude of geographical point A Variation -- latitude B Type sint32 Direction IN Comment Latitude of geographical point B Variation -- longitude B Type sint32 Direction IN Comment Longitude of geographical point B Variation -- distance Type float32 Direction OUT Comment Distance between geographical points A and B in [m]. Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Heading In Tolerance Comment Service for Calculating if difference of heading values are within a tolerance value Variation -- Parameters heading1 Type float32 Direction IN Comment First heading value Variation -- heading2 Type float32 Direction IN Comment Next heading value Variation -- tolerance Value Type float32 Direction IN Comment Tolerated difference between heading1 and heading2 Variation -- tolerated Type boolean Direction OUT Comment Return value Variation -- Possible Errors E _ O K E _ N O T _ O K

requirement SWS_V2xM_00181 [SWS_V2xM_00181] 📄 PDF

[SWS_V2xM_00181] ⌈If development error detection is enabled: the function shall check the parameter Distance for being valid. If the check fails, the function shall raise the development error V2XM_E_PARAM_POINTER.⌋

requirement SWS_V2xM_00190 [SWS_V2xM_00190] 📄 PDF

[SWS_V2xM_00190] ⌈The V2xM Module shall check the provided positional informa- tion. In case of a distance less than given in protectedZoneRadius, tolling zone power reduction shall be enabled.⌋()

requirement SWS_V2xM_00195 [SWS_V2xM_00195] 📄 PDF

Service port for exchange of vehicle related data. This port is used by the Vehicle Data Provider SW - C. Variation --

requirement SWS_V2xM_00199 [SWS_V2xM_00199] 📄 PDF

[SWS_V2xM_00199] ⌈The V2xM module shall support key origin authentication via the creation of a signature over internally generated public key(s), where public keys for Enrolment Certificates shall be signed with the module private key and public keys for Pseudonym Certificates shall be signed with a previously registered Enrolment Cer- tificates private key.⌋(SRS_V2X_00163, SRS_V2X_00174) Note: The "module private key" is a vehicle specific unique private key that could be generated randomly inside the HSM when the ECU is initialized in the first place

requirement SWS_V2xM_00202 [SWS_V2xM_00202] 📄 PDF

[SWS_V2xM_00202] ⌈The function V2xM_Vdp_GetNextLongTermCertificate- ExpirationDate shall check for the currently used long-term certificate (aka. Enrol- ment Credentials (EC)). If none was found, the function shall return E_NOT_OK. If a long-term certificate is in use, the expiration date of this certificate shall be provided through the parameter ExpirationDate and the function shall return E_OK.⌋

requirement SWS_V2xM_00203 [SWS_V2xM_00203] 📄 PDF

[SWS_V2xM_00203] ⌈The function V2xM_Vdp_GetNextPseudonymCertifica- teExpirationDate shall check for the currently used pseudonym certificate (aka. Authorization Tickets (AT)). If none was found, the function shall return E_NOT_OK. If a pseudonym certificate is in use, the expiration date of this certificate shall be provided through the parameter expirationDate and the function shall return E_OK.⌋

requirement SWS_V2xM_00204 [SWS_V2xM_00204] 📄 PDF

[SWS_V2xM_00204] ⌈The current position and time of the vehicle shall be set through the function V2xM_Vdp_SetPositionAndTime. If the values are accepted by the function, E_OK shall be returned, otherwise the value E_NOT_OK shall be returned.⌋

requirement SWS_V2xM_00205 [SWS_V2xM_00205] 📄 PDF

[SWS_V2xM_00205] ⌈The current ITS time of the vehicle shall be retrieved through the function V2xM_GetTime. If ITS time was successfully retrieved by the function, E_OK shall be returned, otherwise the value E_NOT_OK shall be returned.⌋()

requirement SWS_V2xM_20170 [SWS_V2xM_20170] 📄 PDF

[SWS_V2xM_20170] ⌈The V2xM module shall use for sending messages digital signa- tures and certificates based on ECDSA that is specified in IEEE 1609.2 as mentioned in [17].⌋(SRS_V2X_00163) Note: Additionally, [18] requires implementation of the elliptic curve brainpool P256r1 to sign messages.

requirement SWS_V2xM_20182 [SWS_V2xM_20182] 📄 PDF

(MAC Source Address, StationId in CAM/DENM, GN Source Address) shall be derive d from the "Certificate digest" / "hashedId8". The required number of least significant bytes of the "Certificate digest" / "hashedId8" shall be used as respective identifier. ⌋ ( SRS_V2X_00010 ) [SWS_V2xM_00005] The V2xM module shall provide a mechanism to permit V2X modules to inhibit the identity change for a duration of maximum 15 minutes (e.g. during DENM event) via an API call to V2xM_LockPseudonymChange .

requirement SWS_V2xM_20460 [SWS_V2xM_20460] 📄 PDF

[SWS_V2xM_20460] ⌈The V2X Management module shall implement a protected zone center position list. The minimum is to build in the official list provided by the ASECAP (not supposed to be updated except by a firmware update). Protected Zones with identical protectedZone ID may be seen as a single station. In case the ASECAP database and the CEN-DSRC mitigation CAMs contains a valid protection zone with the identical protectedZone ID mitigation shall be done only based on the CEN-DSRC mitigation CAM content.⌋()

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_V2xM
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_V2xM@rel:R20-11#1bc32266
Content hash
1bc32266
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_V2XManagement.pdf#nameddest=SWS_V2xM_00070

خريطة المواضيع

التهيئة والحالة

2

عرض التفاصيل

اختر عنصرًا من المخطط.

التهيئة والحالة

Provides the version information of this module.

void V2xM_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr);
V2xM_Init دالة

Initializes the V2x M module.

void V2xM_Init(const void* CfgPtr);

الخدمات

This function is called by the V2x Gn to decrypt and verify a message. An asynchronous V2x Gn_ V2x M_ Decap Confirmation call will be used to notify V2x Gn of the result.

V2x_SecReturnType V2xM_V2xGn_ReqDecap(uint32 TransactionId32, uint16 SecuredDataLength, const uint8* SecuredDataPtr, uint16* UnsecuredDataLength, uint8* UnsecuredDataPtr, V2xM_SecReportType* SecReport, uint64* CertificateId, uint32* ItsAid, uint8* SspLength, uint8* SspBits);

This function is called by the V2x Gn to sign and/ or encrypt a message. An asynchronous V2x Gn_ V2x M_ Encap Confirmation call will be used to notify V2x G n of the result.

V2x_SecReturnType V2xM_V2xGn_ReqEncap(uint16 TransactionId16, V2x_SecProfileType SecProfile, uint16 UnsecuredDataLength, const uint8* UnsecuredDataPtr, uint16* SecuredDataLength, uint8* SecuredDataPtr);

Calculates the distance between two geographical points on earth with the assumption that they are on elevation 0.

Std_ReturnType V2xM_CalcDistance(sint32 LatitudeA, sint32 LongitudeA, sint32 LatitudeB, sint32 LongitudeB, float32* Distance);

Calculates if difference of heading values are within a tolerance value

boolean V2xM_CalcHeadingInTolerance(float32 Heading1, float32 Heading2, float32 Tolerance);

Provides the instantaneous position information. Availab le via V2x M.h

Std_ReturnType V2xM_GetPositionAndTime(V2xM_PositionAndTimeType* Poti);

Provides a pointer to the time reference of the V2X - Stack.

Std_ReturnType V2xM_GetRefTimePtr(const uint32* * RefTimePtr);
V2xM_GetTime دالة

Service for getting the ITS time as estimated by the V2X-Stack

Std_ReturnType V2xM_GetTime(uint32* CurrentItsTime);

This function is called by V2x Gn or from the Application Service Interface to lock the pseudonym change.

Std_ReturnType V2xM_LockPseudonymChange(uint16 Duration, uint64* HandleId);

Set available tolling z one information. This is done from V2x Fac that receives this information via CAM messages.

void V2xM_SetTollingZoneInformation(sint32 protectedZoneLatitude, sint32 protectedZoneLongitude, uint32 protectedZoneRadius, uint8 protectedZoneID);

This function is called by the V2x Fac, V2x Gn or another entity to change the Pseudonym used by the V2X - Stack, e.g. due to a Geo Networking address conflict.

Std_ReturnType V2xM_TriggerPseudonymChange(void);

This function is called by V2x Gn or from the Application Service Interface to unlock the pseudonym change.

Std_ReturnType V2xM_UnlockPseudonymChange(uint64 HandleId);

This function is called by V2x Gn to get the current channel busy percentage for the specified channel

void V2xM_V2xGn_GetGlobalTxParams(const V2x_ChanType* channel, uint16* Cbr);

This function is called by V2x Gn to set the current channel busy percentage for the specified channel Available vi a V2x M_ V2x Gn.h

void V2xM_V2xGn_SetGlobalRxParams(const uint16* Cbr_Gs, const V2x_ChanType* Channel);

Service to get the certificate expiration date of the long term certificate that expires in the nearest future.

Std_ReturnType V2xM_Vdp_GetNextLongTermCertificateExpirationDate(uint32* ExpirationDate);

Service to get the certificate expiration date of the pseudonym certificate that expires in the nearest future.

Std_ReturnType V2xM_Vdp_GetNextPseudonymCertificateExpirationDate(uint32* expirationDate);

Service for setting positional and time information relevant for the V2X-Stack

Std_ReturnType V2xM_Vdp_SetPositionAndTime(V2xM_PositionAndTimeType PositionAndTime);

دورية

Scheduled Main Function of V2x M

void V2xM_MainFunction(void);

الأنواع

Specifies the channel type to use. Channels from ITS - G5A and ITS - G5B are used. Values matching IEEE 802.11 - 2012 channel numbers.

The Geo Networking address.

Specifies the shape type for Geo Networking Areas.

Definition of the Geo Networking destination area

Specifies the destination type for Geo Networking packages. This is passed e.g. via V2x Fac and V2x Btp for the transmit path.

Position - related information as defined within [25] chapter 9.5.2.

Specifies the packet transport type for Geo Networking packages. This is passed e.g. via V2x Fac and V2x Btp for the transmit path.

The result code used to specify if a V2x Gn_ Transmit has been proce ssed successfully.

Specifies the Geo Networking payload.

Specifies the maximum tolerable time (in seconds) a Geo Networking packet can be buffered.

Pseudonym, derived from Pseudonym Certificates. The pseudonym is distributed to different modules to support privacy within the V2X System to the outside world.

Used to desc ribe the security service invoked by V2x M

Used for return values of security related functions

Requirements on packet transport coming from ITS Facilities layer

Configuration data structure of the V2x M module.

Position and time related information as defined within [25] chapter 8.2. Variation --

Used to describe the security report after invocation of security services for Decapsulation (verify or decrypt) Variation --

المتطلبات

SWS_V2xM_00004 requirement

The V2xM module shall implement the identity management, also known as the pseudonym. Specific V2X modules shall be notified with the current identity to e nsure a consistent value is used in each layer of the V2X Stack.

SWS_V2xM_00005 requirement

The V2xM module shall provide a mechanism to permit V2X modules to inhibit the identity change for a duration of maximum 15 minutes (e.g. during DENM event) via an API call to V2xM_LockPseudonymChange .

SWS_V2xM_00009 requirement

The V2xM module shall provide the Encap and Decap services required by V2xGn and Verification On Demand (VOD) by utilizing CSM.

SWS_V2xM_00031 requirement

Type of error Related error code Error value API service called with wrong parameter V2XM_ E_ PARAM 0x01 API service called with invalid pointer V2XM_ E_ PARAM_ POINTER 0x02 V2x M initialization failed V2XM_ E_ INIT_ FAILED 0x03 API function called before the V2x M module has been fully initialized V2XM_ E_ UNINIT 0x04

SWS_V2xM_00033 requirement

Module Header File Imported Type Csm Rte_ Csm_ Type.h Crypto _ Operation Mode Type Rte_ Csm_ Type.h Crypto _ Verify Result Type Gpt Gpt.h Gpt _ Channel Type Gpt.h Gpt _ Predef Timer Type Gpt.h Gpt _ Value Type Nv M Rte_ Nv M_ Type.h Nv M _ Block Id Type Rte_ Nv M_ Type.h Nv M _ Request Result Type Stb M Rte_ Stb M_ Type.h Stb M _ Synchronized Time Base Type Rte_ Stb M_ Type.h Stb M _ Time Base Status Type Rte_ Stb M_ Type.h Stb M _ Time Stamp Extended Type Rte_ Stb M_ Type.h Stb M _ Time Stamp Type Rte_ Stb M_ Type.h Stb M _ User Data Type Std Std_ Types.h Std _ Return Type Std_ Types.h Std _ Version Info Type V2x_ General Types Rte_ V2x M_ Type.h V2x M _ Position And Time Type Rte_ V2x M_ Type.h V2x M _ Sec Report Type V2x_ General Types.h V2x _ Chan Type V2x_ General Types.h V2x _ Pseudonym Type V2x_ General Types.h V2x _ Sec Profile Type V2x_ General Types.h V2x _ Sec Return Type WEth Trcv WEth_ General Types.h W Eth Trcv _ Get Chan Rx Param Id Type WEth_ General Types.h W Eth Trcv _ Set Chan Rx Param Id Type WEth_ General Types.h W Eth Trcv _ Set Chan Tx Param Id Type WEth_ General Types.h W Eth Trcv _ Set Radio Param Id Type

SWS_V2xM_00092 requirement

Csm _ Hash Csm.h Uses the given data to perform the hash calculation and stores the hash. Csm _ Key Element Get Csm.h Retrieves th e key element bytes from a specific key element of the key identified by the key Id and stores the key element in the memory location pointed by the key pointer. Csm _ Key Element Set Csm.h Sets the given key element bytes to the key identified by key Id. Csm _ Random - Generate Csm.h Generate a random number and stores it in the memory location pointed by the result pointer. Csm _ Signature - Generate Csm.h Uses the given data to perform the signature calculation and stores the signature in the memory locat ion pointed by the result pointer. Csm _ Signature Verify Csm.h Verifies the given MAC by comparing if the signature is generated with the given data. Eth If _ Get Chan Rx - Params Eth If.h Read values related to the receive direction of the transceiver. F or example, this could be a Channel Busy Ratio (CBR) or the average Channel Idle Time (CIT). Eth If _ Set Chan Rx - Params Eth If.h Set values related to the receive direction of a transceiver's wireless channel. For example, this could be a channel paramet er like the frequency. Eth If _ Set Chan Tx - Params Eth If.h Set values related to the transmit direction of a transceiver's wireless channel. For example, this could be the bitrate of a channel. Eth If _ Set Phys Addr Eth If.h Sets the physical source address used by the indexed controller. Eth If _ Set Radio - Params Eth If.h Set values related to a transceiver's wireless radio. For example, this could be the selection of the radio settings (channel, ...). Nv M _ Get Error Stat us Nv M.h Service to read the block dependent error/ status information. Nv M _ Read Block Nv M.h Service to copy the data of the NV block to its corresponding RAM block. Nv M _ Write Block Nv M.h Service to copy the data of the RAM block to its correspo nding NV block. V2x Fac _ V2x M _ Abort - Pseudonym Change V2x Fac_ V2x M.h This function is called by the V2x M when not all modules are OK with the pseudonym change and the change is to be rolled back. V2x Fac _ V2x M _ - Commit Pseudonym - Change V2x Fac_ V 2x M.h This function is called by the V2x M when all modules are OK with the pseudonym change and the change is to be committed. V2x Fac _ V2x M _ - Prepare Pseudonym - Change V2x Fac_ V2x M.h By this API primitive the V2x Fac module gets an indication that the given Pseudonym and hereby the Station Id is about to be changed V2x Fac _ V2x M _ Set - Ca Bs Operation V2x Fac_ V2x M.h By this API primitive the V2x Fac module gets an indication of the current operation state of the CA Basic Service. V2x Fac _ V2x M _ Set T - Gen Cam Dcc V2x Fac_ V2x M.h By this API primitive the V2x Fac module gets an indication of the current TGen Cam Dcc value. V2x Gn _ V2x M _ Abort - Pseudonym Change V2x Gn_ V2x M.h This function is called by the V2x M when not all modules are OK with the pseudonym change and the change is to be rolled back. V2x Gn _ V2x M _ - Commit Pseudonym - Change V2x Gn_ V2x M.h This function is called by the V2x M when all modules are OK with the pseudonym change and the change is to be committed. V2x Gn _ V2x M _ Decap - Confirmation V2x Gn_ V2x M.h This function is called by the V2x M when a decapsulation has been finished. V2x Gn _ V2x M _ Encap - Confirmation V2x Gn_ V2x M.h This function is called by the V2x M when an encapsulation has been finished. V2x Gn _ V2x M _ - Prepare Pseudonym - Change V2x Gn_ V2x M.h This function is called by the V2x M when a Pseudonym Change occurs to prepare the change in every module using it.

SWS_V2xM_00093 requirement

Det _ Report Error Det.h Service to report development errors. Efx _ Arc Cos _s32 - _u32 Efx.h This service computes the inverse cosine of a value. Efx _ Arc Sin _s32 - _s32 Efx.h This service computes the inverse sine of a value. Efx _ Cos _s32 - _s32 Efx.h This service computes the cosine of an angle. Efx _ Sin _s32 _s32 Efx.h This service computes the sine of an angle. Efx _ Sqrt _u32 - _u32 Efx.h This service computes the s quare root of a value Gpt _ Get Predef - Timer Value Gpt.h Delivers the current value of the desired GPT Predef Timer. Gpt _ Start Timer Gpt.h Starts a timer channel. Mfl _ Arc Cos _f32 Mfl.h Returns the arc cosine of an angle, in the range of 0.0 through pi. Mfl _ Arc Sin _f32 Mfl.h Returns the arc sine of an angle, in the range of - pi/ 2 through pi/ 2. Mfl _ Cos _f32 Mfl.h Calculates the cosine of the argument. Mfl _ Sin _f32 Mfl.h Calcula tes the sine of the argument. Mfl _ Sqrt _f32 Mfl.h Returns the square root of the operand (Val Sqrt), determined according to the following equation Stb M _ Get - Current Time Stb M.h Returns a time value (Local Time Base derived from Global Time Base) in standard format. Note: This API shall be called with locked interrupts / within an Exclusive Area to prevent interruption (i.e., the risk that the time stamp is outdated on return of the function call). Stb M _ Get - Current Time - Extended Stb M.h Returns a time value (Local Time Base derived from Global Time Base) in extended format. Note: This API shall be called with locked interrupts / within an Exclusive Area to prevent interruption (i.e., the risk that the time stamp is outdated on return of t he function call).

SWS_V2xM_00095 requirement

Name V2x M_ Vdp Comment Interfaces for Vehicle Data Provider (VDP) to get and set V2X related vehicle information in the BSW V2X - Stack Is Service true Variation -- Possible Errors 0 E_ OK Operation successful 1 E_ NOT_ OK Operation failed Operation Get Next Long Term Certificate Expiration Date Comment Service to get the certificate expiration date of the long term certificates that expires in the nearest future. Variation -- Parameters Expiration Date Type uint32 Direction OUT Comment Date is based on format Time32 that is specified in IEEE 1609.2 as mentioned in [19]. Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Get Next Pseudonym Certificate Expiration Date Comment Service to get the certificate expiration date of the pseudonym certificates that expires in the nearest future. Variation -- Parameters Expiration Date Type uint32 Direction OUT Comment Date is based on format Time32 that is specified in IEEE 1609.2 as mentioned in [19] Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Get Time32 Comment Service to get the current reference time. Variation -- Parameters Time32 Type uint32 Direction OUT Comment Time is based on TAI mod 2^32, where TAI is the number of elapsed TAI milliseconds since 2004 - 01 - 01 00:00:00.000. Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Set Position And Time Comment Service for setting positional and time information relevant for the V2X - Stack Variation -- Parameters position And Time Type V2x M _ Position And Time Type Direction IN Comment -- Variation -- Possible Errors E _ O K E _ N O T _ O K

SWS_V2xM_00116 requirement

[SWS_V2xM_00116] ⌈The function shall store the access to the configuration structure for subsequent API calls.⌋

SWS_V2xM_00118 requirement

[SWS_V2xM_00118] Upstream requirements: SRS_BSW_00414 ⌈The Configuration pointer CfgPtr shall always have a NULL_PTR value⌋

SWS_V2xM_00122 requirement

[SWS_V2xM_00122] ⌈If development error detection is enabled: the function shall check that the service V2xM_Init() was previously called. If the check fails, the function shall raise the development error V2XM_E_UNINIT.⌋

SWS_V2xM_00123 requirement

[SWS_V2xM_00123] ⌈If development error detection is enabled: the function shall check the parameter Poti for being valid. If the check fails, the function shall raise the development error V2XM_E_PARAM_POINTER.⌋

SWS_V2xM_00127 requirement

[SWS_V2xM_00127] ⌈If development error detection is enabled: the function shall check that the service V2xM_Init() was previously called. If the check fails, the function shall raise the development error V2XM_E_UNINIT.⌋

SWS_V2xM_00128 requirement

[SWS_V2xM_00128] ⌈If development error detection is enabled: the function shall check the parameter RefTimePtr for being valid. If the check fails, the function shall raise the development error V2XM_E_PARAM_POINTER.⌋

SWS_V2xM_00130 requirement

[SWS_V2xM_00130] ⌈The function V2xM_V2xGn_ReqDecap() shall invoke CSM APIs for the verification of the data given by SecuredDataPtr.⌋(SRS_V2X_00163)

SWS_V2xM_00135 requirement

[SWS_V2xM_00135] ⌈The function V2xM_V2xGn_ReqEncap() shall encapsulate the payload of the GeoNetworking packet to be sent as defined in [19] and [17].⌋(SRS_- V2X_00406, SRS_V2X_00407)

SWS_V2xM_00136 requirement

[SWS_V2xM_00136] ⌈The function V2xM_V2xGn_ReqDecap() shall decapsulate the payload of a received GeoNetworking packet as defined in [19] and [17].⌋()

SWS_V2xM_00142 requirement

[SWS_V2xM_00142] ⌈The function V2xM_TriggerPseudonymChange() shall trig- ger the pseudonym change and update the identity of the V2X-Stack to the adjacent modules.⌋

SWS_V2xM_00143 requirement

[SWS_V2xM_00143] ⌈If development error detection is enabled: the function shall check that the service V2xM_Init() was previously called. If the check fails, the function shall raise the development error V2XM_E_UNINIT.⌋

SWS_V2xM_00144 requirement

If the pseudonym change is locked E_NOT_OK shall be returned

SWS_V2xM_00145 requirement

[SWS_V2xM_00145] ⌈The function V2xM_LockPseudonymChange() shall prevent the module from changing the pseudonym. The requirements from [23] shall apply.⌋

SWS_V2xM_00146 requirement

[SWS_V2xM_00146] ⌈If development error detection is enabled: the function shall check that the service V2xM_Init() was previously called. If the check fails, the function shall raise the development error V2XM_E_UNINIT.⌋

SWS_V2xM_00147 requirement

[SWS_V2xM_00147] ⌈If development error detection is enabled: the function shall check the parameter HandleId for being valid. If the check fails, the function shall raise the development error V2XM_E_PARAM_POINTER.⌋

SWS_V2xM_00149 requirement

[SWS_V2xM_00149] ⌈The function V2xM_UnlockPseudonymChange() shall allow the module to change the pseudonym again.⌋

SWS_V2xM_00150 requirement

[SWS_V2xM_00150] ⌈If development error detection is enabled: the function shall check that the service V2xM_Init() was previously called. If the check fails, the function shall raise the development error V2XM_E_UNINIT.⌋

SWS_V2xM_00151 requirement

[SWS_V2xM_00151] ⌈If development error detection is enabled: the function shall check the parameter HandleId for being valid. If the check fails, the function shall raise the development error V2XM_E_PARAM.⌋

SWS_V2xM_00170 requirement

Used for handling of tolling zone power reduction. If the distance to a Tolling Zone position given by V2xM_SetTollingZoneInformation is less than the distance given in protectedZoneRadius, the module shall p ush that to the WEthTrcv via the API EthIf_SetRadioParams so that WEthTrcv is able to reduce output power of specific packets. If the position drops out of the range, tolling zone power reduction shall be switched off.

SWS_V2xM_00172 requirement

Name V2x M_ Pseudonym Change Comment Interfaces for Applications to lock and unlock pseudonym changes within the V2X - BSW - Stack. Is Service true Variation -- Possible Errors 0 E_ OK Operation successful 1 E_ NOT_ OK Operation failed Operation Lock Comment Service for locking the pseudonym change. See SWS_V2xM_00078 for more information about locking the pseudonym change. Variation -- Parameters Duration Type uint16 Direction IN Comment Duration to lock. Variation -- Handle Id Type uint64 Direction OUT Comment Handle Id for manual Unlock Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Unlock Comment Service for unlocking the pseudonym change. See SWS_V2xM_00079 for more information about locking the pseudonym change. Variation -- Parameters Handle Id Type uint64 Direction IN Comment Handle Id to unlock Variation -- Possible Errors E _ O K E _ N O T _ O K

SWS_V2xM_00173 requirement

Name V2x M_ Sec Comment Security related interfaces for applications Is Service true Variation -- Possible Errors 0 E_ OK Operation successful 1 E_ NOT_ OK Operation failed Operation Verify Comment Interfaces for Applications to verify messages on demand instead of verify all incoming messages, to reduce ECU load. Variation -- Parameters Transaction Id32 Type uint32 Direction IN Comment Transaction Id of the packet to be verified Variation -- Sec Report Type V2x M _ Sec Report Type Direction OUT Comment -- Variation -- Possible Errors E _ O K E _ N O T _ O K

SWS_V2xM_00175 requirement

[SWS_V2xM_00175] ⌈The V2xM shall disable CAM generation in case of unusable position (e.g. due to no position available, degenerated dead reckoning, time jitter/drift). This is done via a call to V2xFac_V2xM_SetCaBsOperation().⌋()

SWS_V2xM_00180 requirement

Name V2x M_ Geo Math Comment Interfaces for Applications to math functions Is Service true Variation -- Possible Errors 0 E_ OK Operation successful 1 E_ NOT_ OK Operation failed Operation Distance Comment Service for Calculating the distance between two geographical points Variation -- Parameters latitude A Type sint32 Direction IN Comment Latitude of geographical point A Variation -- longitude A Type sint32 Direction IN Comment Longitude of geographical point A Variation -- latitude B Type sint32 Direction IN Comment Latitude of geographical point B Variation -- longitude B Type sint32 Direction IN Comment Longitude of geographical point B Variation -- distance Type float32 Direction OUT Comment Distance between geographical points A and B in [m]. Variation -- Possible Errors E _ O K E _ N O T _ O K Operation Heading In Tolerance Comment Service for Calculating if difference of heading values are within a tolerance value Variation -- Parameters heading1 Type float32 Direction IN Comment First heading value Variation -- heading2 Type float32 Direction IN Comment Next heading value Variation -- tolerance Value Type float32 Direction IN Comment Tolerated difference between heading1 and heading2 Variation -- tolerated Type boolean Direction OUT Comment Return value Variation -- Possible Errors E _ O K E _ N O T _ O K

SWS_V2xM_00181 requirement

[SWS_V2xM_00181] ⌈If development error detection is enabled: the function shall check the parameter Distance for being valid. If the check fails, the function shall raise the development error V2XM_E_PARAM_POINTER.⌋

SWS_V2xM_00190 requirement

[SWS_V2xM_00190] ⌈The V2xM Module shall check the provided positional informa- tion. In case of a distance less than given in protectedZoneRadius, tolling zone power reduction shall be enabled.⌋()

SWS_V2xM_00192 requirement

Service port for geographical calculation requests. Variation --

SWS_V2xM_00193 requirement

Service port for pseudonym lock and unlock requests. Variation --

SWS_V2xM_00194 requirement

Service port for security operations of V2X messages. Variation --

SWS_V2xM_00195 requirement

Service port for exchange of vehicle related data. This port is used by the Vehicle Data Provider SW - C. Variation --

SWS_V2xM_00199 requirement

[SWS_V2xM_00199] ⌈The V2xM module shall support key origin authentication via the creation of a signature over internally generated public key(s), where public keys for Enrolment Certificates shall be signed with the module private key and public keys for Pseudonym Certificates shall be signed with a previously registered Enrolment Cer- tificates private key.⌋(SRS_V2X_00163, SRS_V2X_00174) Note: The "module private key" is a vehicle specific unique private key that could be generated randomly inside the HSM when the ECU is initialized in the first place

SWS_V2xM_00202 requirement

[SWS_V2xM_00202] ⌈The function V2xM_Vdp_GetNextLongTermCertificate- ExpirationDate shall check for the currently used long-term certificate (aka. Enrol- ment Credentials (EC)). If none was found, the function shall return E_NOT_OK. If a long-term certificate is in use, the expiration date of this certificate shall be provided through the parameter ExpirationDate and the function shall return E_OK.⌋

SWS_V2xM_00203 requirement

[SWS_V2xM_00203] ⌈The function V2xM_Vdp_GetNextPseudonymCertifica- teExpirationDate shall check for the currently used pseudonym certificate (aka. Authorization Tickets (AT)). If none was found, the function shall return E_NOT_OK. If a pseudonym certificate is in use, the expiration date of this certificate shall be provided through the parameter expirationDate and the function shall return E_OK.⌋

SWS_V2xM_00204 requirement

[SWS_V2xM_00204] ⌈The current position and time of the vehicle shall be set through the function V2xM_Vdp_SetPositionAndTime. If the values are accepted by the function, E_OK shall be returned, otherwise the value E_NOT_OK shall be returned.⌋

SWS_V2xM_00205 requirement

[SWS_V2xM_00205] ⌈The current ITS time of the vehicle shall be retrieved through the function V2xM_GetTime. If ITS time was successfully retrieved by the function, E_OK shall be returned, otherwise the value E_NOT_OK shall be returned.⌋()

SWS_V2xM_20170 requirement

[SWS_V2xM_20170] ⌈The V2xM module shall use for sending messages digital signa- tures and certificates based on ECDSA that is specified in IEEE 1609.2 as mentioned in [17].⌋(SRS_V2X_00163) Note: Additionally, [18] requires implementation of the elliptic curve brainpool P256r1 to sign messages.

SWS_V2xM_20182 requirement

(MAC Source Address, StationId in CAM/DENM, GN Source Address) shall be derive d from the "Certificate digest" / "hashedId8". The required number of least significant bytes of the "Certificate digest" / "hashedId8" shall be used as respective identifier. ⌋ ( SRS_V2X_00010 ) [SWS_V2xM_00005] The V2xM module shall provide a mechanism to permit V2X modules to inhibit the identity change for a duration of maximum 15 minutes (e.g. during DENM event) via an API call to V2xM_LockPseudonymChange .

SWS_V2xM_20460 requirement

[SWS_V2xM_20460] ⌈The V2X Management module shall implement a protected zone center position list. The minimum is to build in the official list provided by the ASECAP (not supposed to be updated except by a firmware update). Protected Zones with identical protectedZone ID may be seen as a single station. In case the ASECAP database and the CEN-DSRC mitigation CAMs contains a valid protection zone with the identical protectedZone ID mitigation shall be done only based on the CEN-DSRC mitigation CAM content.⌋()