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
void V2xM_Init (const void* CfgPtr);Initializes the V2x M module.void V2xM_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);Provides the version information of this module.Std_ReturnType V2xM_GetPositionAndTime (V2xM_PositionAndTimeType* Poti);Provides the instantaneous position information.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.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.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.Std_ReturnType V2xM_LockPseudonymChange (uint16 Duration, uint64* HandleId);This function is called by V2x Gn or from the Application Service Interface to lock the pseudonym change.Std_ReturnType V2xM_UnlockPseudonymChange (uint64 HandleId);This function is called by V2x Gn or from the Application Service Interface to unlock the pseudonym change.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_...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 channelStd_ReturnType V2xM_GetRefTimePtr (const uint32* * RefTimePtr);Provides a pointer to the time reference of the V2X - Stack.void V2xM_MainFunction (void);Scheduled Main Function of V2x MStd_ReturnType V2xM_CalcDistance (sint32 LatitudeA, sint32 LongitudeA, sint32 LatitudeB, sint32 LongitudeB, float32* Distance);Calculates the distance between two geographical points on earth with the assumption that they are on elevation 0.boolean V2xM_CalcHeadingInTolerance (float32 Heading1, float32 Heading2, float32 Tolerance);Calculates if difference of heading values are within a tolerance valuevoid V2xM_SetTollingZoneInformation (sint32 protectedZoneLatitude, sint32 protectedZoneLongitude, uint32 protectedZoneRadius, uint8 protectedZoneID);Set available tolling z one information.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.Std_ReturnType V2xM_Vdp_GetNextPseudonymCertificateExpirationDate (uint32* expirationDate);Service to get the certificate expiration date of the pseudonym certificate that expires in the nearest future.Std_ReturnType V2xM_Vdp_SetPositionAndTime (V2xM_PositionAndTimeType PositionAndTime);Service for setting positional and time information relevant for the V2X-StackStd_ReturnType V2xM_GetTime (uint32* CurrentItsTime);Service for getting the ITS time as estimated by the V2X-Stack
Typen — Übersicht
enum V2x_GnPacketTransportTypeSpecifies the packet transport type for Geo Networking packages.struct V2x_GnAddressTypeThe Geo Networking address.struct V2x_GnDestinationAreaTypeDefinition of the Geo Networking destination areaenum V2x_SecProfileTypeUsed to desc ribe the security service invoked by V2x Mstruct V2x_MaximumPacketLifetimeTypeSpecifies the maximum tolerable time (in seconds) a Geo Networking packet can be buffered.struct V2x_TrafficClassIdTypeRequirements on packet transport coming from ITS Facilities layerenum V2x_ChanTypeSpecifies the channel type to use.enum V2x_GnUpperProtocolTypeSpecifies the Geo Networking payload.struct V2x_GnLongPositionVectorTypePosition - related information as defined within [25] chapter 9.struct V2xM_PositionAndTimeTypePosition and time related information as defined within [25] chapter 8.struct V2x_PseudonymTypePseudonym, derived from Pseudonym Certificates.struct V2xM_ConfigTypeConfiguration data structure of the V2x M module.enum V2x_GnDestinationTypeSpecifies the destination type for Geo Networking packages.enum V2x_GnAreaShapeTypeSpecifies the shape type for Geo Networking Areas.enum V2x_GnTxResultTypeThe result code used to specify if a V2x Gn_ Transmit has been proce ssed successfully.enum V2x_SecReturnTypeUsed for return values of security related functionsstruct V2xM_SecReportTypeUsed to describe the security report after invocation of security services for Decapsulation (verify or decrypt) Variation --
Anforderungen — Übersicht
SWS_V2xM_00004The V2xM module shall implement the identity management, also known as the pseudonym.SWS_V2xM_00005The V2xM module shall provide a mechanism to permit V2X modules to inhibit the identity change for a duration of maximum 15...SWS_V2xM_00009The V2xM module shall provide the Encap and Decap services required by V2xGn and Verification On Demand (VOD) by utilizing CSM.SWS_V2xM_00031Type of error Related error code Error value API service called with wrong parameter V2XM_ E_ PARAM 0x01 API service called...SWS_V2xM_00033Module Header File Imported Type Csm Rte_ Csm_ Type.SWS_V2xM_00092Csm _ Hash Csm.SWS_V2xM_00093Det _ Report Error Det.SWS_V2xM_00095Name V2x M_ Vdp Comment Interfaces for Vehicle Data Provider (VDP) to get and set V2X related vehicle information in the BSW...SWS_V2xM_00116[SWS_V2xM_00116] ⌈The function shall store the access to the configuration structure for subsequent API calls.SWS_V2xM_00118[SWS_V2xM_00118] Upstream requirements: SRS_BSW_00414 ⌈The Configuration pointer CfgPtr shall always have a NULL_PTR value⌋SWS_V2xM_00122[SWS_V2xM_00122] ⌈If development error detection is enabled: the function shall check that the service V2xM_Init() was...SWS_V2xM_00123[SWS_V2xM_00123] ⌈If development error detection is enabled: the function shall check the parameter Poti for being valid.SWS_V2xM_00127[SWS_V2xM_00127] ⌈If development error detection is enabled: the function shall check that the service V2xM_Init() was...SWS_V2xM_00128[SWS_V2xM_00128] ⌈If development error detection is enabled: the function shall check the parameter RefTimePtr for being valid.SWS_V2xM_00130[SWS_V2xM_00130] ⌈The function V2xM_V2xGn_ReqDecap() shall invoke CSM APIs for the verification of the data given by...SWS_V2xM_00135[SWS_V2xM_00135] ⌈The function V2xM_V2xGn_ReqEncap() shall encapsulate the payload of the GeoNetworking packet to be sent as...SWS_V2xM_00136[SWS_V2xM_00136] ⌈The function V2xM_V2xGn_ReqDecap() shall decapsulate the payload of a received GeoNetworking packet as...SWS_V2xM_00142[SWS_V2xM_00142] ⌈The function V2xM_TriggerPseudonymChange() shall trig- ger the pseudonym change and update the identity of...SWS_V2xM_00143[SWS_V2xM_00143] ⌈If development error detection is enabled: the function shall check that the service V2xM_Init() was...SWS_V2xM_00144If the pseudonym change is locked E_NOT_OK shall be returnedSWS_V2xM_00145[SWS_V2xM_00145] ⌈The function V2xM_LockPseudonymChange() shall prevent the module from changing the pseudonym.SWS_V2xM_00146[SWS_V2xM_00146] ⌈If development error detection is enabled: the function shall check that the service V2xM_Init() was...SWS_V2xM_00147[SWS_V2xM_00147] ⌈If development error detection is enabled: the function shall check the parameter HandleId for being valid.SWS_V2xM_00149[SWS_V2xM_00149] ⌈The function V2xM_UnlockPseudonymChange() shall allow the module to change the pseudonym again.SWS_V2xM_00150[SWS_V2xM_00150] ⌈If development error detection is enabled: the function shall check that the service V2xM_Init() was...SWS_V2xM_00151[SWS_V2xM_00151] ⌈If development error detection is enabled: the function shall check the parameter HandleId for being valid.SWS_V2xM_00170Used for handling of tolling zone power reduction.SWS_V2xM_00172Name V2x M_ Pseudonym Change Comment Interfaces for Applications to lock and unlock pseudonym changes within the V2X - BSW -...SWS_V2xM_00173Name V2x M_ Sec Comment Security related interfaces for applications Is Service true Variation -- Possible Errors 0 E_ OK...SWS_V2xM_00175[SWS_V2xM_00175] ⌈The V2xM shall disable CAM generation in case of unusable position (e.SWS_V2xM_00180Name V2x M_ Geo Math Comment Interfaces for Applications to math functions Is Service true Variation -- Possible Errors 0 E_...SWS_V2xM_00181[SWS_V2xM_00181] ⌈If development error detection is enabled: the function shall check the parameter Distance for being valid.SWS_V2xM_00190[SWS_V2xM_00190] ⌈The V2xM Module shall check the provided positional informa- tion.SWS_V2xM_00192Service port for geographical calculation requests.SWS_V2xM_00193Service port for pseudonym lock and unlock requests.SWS_V2xM_00194Service port for security operations of V2X messages.SWS_V2xM_00195Service port for exchange of vehicle related data.SWS_V2xM_00199[SWS_V2xM_00199] ⌈The V2xM module shall support key origin authentication via the creation of a signature over internally...SWS_V2xM_00202[SWS_V2xM_00202] ⌈The function V2xM_Vdp_GetNextLongTermCertificate- ExpirationDate shall check for the currently used...SWS_V2xM_00203[SWS_V2xM_00203] ⌈The function V2xM_Vdp_GetNextPseudonymCertifica- teExpirationDate shall check for the currently used...SWS_V2xM_00204[SWS_V2xM_00204] ⌈The current position and time of the vehicle shall be set through the function V2xM_Vdp_SetPositionAndTime.SWS_V2xM_00205[SWS_V2xM_00205] ⌈The current ITS time of the vehicle shall be retrieved through the function V2xM_GetTime.SWS_V2xM_20170[SWS_V2xM_20170] ⌈The V2xM module shall use for sending messages digital signa- tures and certificates based on ECDSA that is...SWS_V2xM_20182(MAC Source Address, StationId in CAM/DENM, GN Source Address) shall be derive d from the "Certificate digest" / "hashedId8".SWS_V2xM_20460[SWS_V2xM_20460] ⌈The V2X Management module shall implement a protected zone center position list.
Funktionen & Typen — Detailansicht
फ़ंक्शन V2xM_Init [SWS_V2xM_00070] 📄 PDF
void V2xM_Init(const void* CfgPtr);
Initializes the V2x M module.
फ़ंक्शन V2xM_GetVersionInfo [SWS_V2xM_00071] 📄 PDF
void V2xM_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr);
Provides the version information of this module.
फ़ंक्शन 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_LockPseudonymChange [SWS_V2xM_00078] 📄 PDF
Std_ReturnType V2xM_LockPseudonymChange(uint16 Duration, uint64* HandleId);
This function is called by V2x Gn or from the Application Service Interface to lock the pseudonym change.
फ़ंक्शन 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_GetRefTimePtr [SWS_V2xM_00125] 📄 PDF
Std_ReturnType V2xM_GetRefTimePtr(const uint32* * RefTimePtr);
Provides a pointer to the time reference of the V2X - Stack.
फ़ंक्शन V2xM_MainFunction [SWS_V2xM_00164] 📄 PDF
void V2xM_MainFunction(void);
Scheduled Main Function of V2x M
फ़ंक्शन V2xM_CalcDistance [SWS_V2xM_00176] 📄 PDF
Std_ReturnType V2xM_CalcDistance(sint32 LatitudeA, sint32 LongitudeA, sint32 LatitudeB, sint32 LongitudeB, float32* Distance);
Calculates the distance between two geographical points on earth with the assumption that they are on elevation 0.
फ़ंक्शन V2xM_CalcHeadingInTolerance [SWS_V2xM_00178] 📄 PDF
boolean V2xM_CalcHeadingInTolerance(float32 Heading1, float32 Heading2, float32 Tolerance);
Calculates if difference of heading values are within a tolerance value
फ़ंक्शन 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
फ़ंक्शन V2xM_GetTime [SWS_V2xM_91004] 📄 PDF
Std_ReturnType V2xM_GetTime(uint32* CurrentItsTime);
Service for getting the ITS time as estimated by 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_GnAddressType [SWS_V2xM_00035] 📄 PDF
The Geo Networking address.
टाइप V2x_GnDestinationAreaType [SWS_V2xM_00036] 📄 PDF
Definition of the Geo Networking destination area
टाइप V2x_SecProfileType [SWS_V2xM_00038] 📄 PDF
Used to desc ribe the security service invoked by V2x M
टाइप 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_GnUpperProtocolType [SWS_V2xM_00045] 📄 PDF
Specifies the Geo Networking payload.
टाइप 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.
टाइप V2xM_ConfigType [SWS_V2xM_00110] 📄 PDF
Configuration data structure of the V2x M module.
टाइप 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_GnAreaShapeType [SWS_V2xM_00113] 📄 PDF
Specifies the shape type for Geo Networking Areas.
टाइप V2x_GnTxResultType [SWS_V2xM_00114] 📄 PDF
The result code used to specify if a V2x Gn_ Transmit has been proce ssed successfully.
टाइप V2x_SecReturnType [SWS_V2xM_00115] 📄 PDF
Used for return values of security related functions
टाइप 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_00144 [SWS_V2xM_00144] 📄 PDF
If the pseudonym change is locked E_NOT_OK shall be returned
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_00192 [SWS_V2xM_00192] 📄 PDF
Service port for geographical calculation requests. Variation --
requirement SWS_V2xM_00193 [SWS_V2xM_00193] 📄 PDF
Service port for pseudonym lock and unlock requests. Variation --
requirement SWS_V2xM_00194 [SWS_V2xM_00194] 📄 PDF
Service port for security operations of V2X messages. Variation --
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#f6d4e35e- Content hash
f6d4e35e- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_V2XManagement.pdf#nameddest=SWS_V2xM_00070