DEENESPTFRRUARHIKOZHNL
CLASSIC Modul: canif Rolle: constitutive Konfidenz: 95%

SNIP_CLASSIC_CANIF_SECTION_8_6_3_Configurable_interfaces

Quelle: SWS_CANInterface.pdf (Seite 133) • Ziel-Anforderung: SWS_EcuM_04040

Wortlaut

8.6.3 Configurable interfaces In this section all interfaces are listed, where the target function of any upper layer to be called has to be set up by configuration. These callback services are specified and implemented in the upper communication modules, which use CanIf according to the AUTOSAR BSW architecture. The specific callback notification is specified in the corresponding SWS document (see Chapter 3 “Related documentation”). As far the interface name is not specified to be mandatory, no callback is performed, if no API name is configured. This section describes only the content of notification of the callback, the call context inside CanIf and exact time by the call event. <User_NotificationName> - This condition is applied for such interface services which will be implemented in the upper layer and called by CanIf. This condition displays the symbolic name of the functional group in a callback service in the corresponding upper layer module. Each upper layer module can define no, one or several callback services for the same functionality (i.e. transmit confirmation). The dispatch is ensured by the L-SDU ID. The upper layer module provides the Service ID of the following functions. 8.6.3.1 <User_ValidateWakeupEvent> [SWS_CANIF_00532] Definition of configurable interface <User_ValidateWakeup Event> ⌈ Service Name <User_ValidateWakeupEvent> Syntax void <User_ValidateWakeupEvent> ( EcuM_WakeupSourceType sources ) Sync/Async Synchronous Reentrancy Non Reentrant (defined within providing upper layer module) Parameters (in) sources Validated CAN wakeup events. Every CAN controller or CAN transceiver can be a separate wakeup source. Parameters (inout) None Parameters (out) None Return value None Description This service indicates if a wake up event initiated from the wake up source (CAN controller or transceiver) after a former request to the CAN Driver or CAN Transceiver Driver module is valid. Available via Configuration parameter CanIfPublicCddHeaderFile ⌋ Note: This callback service is mainly implemented in and used by the ECU State Manager module (see [13, Specification of ECU State Manager]). Note: The CanIf calls this callback service. It is implemented by the configured upper layer module. It is called only during the call of CanIf_CheckValidation() if a first CAN L-PDU reception event after a wake up event has been occurred at the corresponding CAN Controller. Note: The call context of <User_ValidateWakeupEvent>() is either on interrupt level (interrupt mode) or on task level (polling mode). Note: The callback service <User_ValidateWakeupEvent>() is in general re-entrant for multiple CAN Controller usage, but not for the same CAN Controller [SWS_CANIF_00659] ⌈Configuration of <User_ValidateWakeupEvent>(): If no validation is needed, this API can be omitted by disabling CanIfPublicWakeupCheckValidSupport.⌋ [SWS_CANIF_00456] ⌈Configuration of <User_ValidateWakeupEvent>(): The upper layer module which provides this callback service has to be configured by CanIfDispatchUserValidateWakeupEventUL, but: • If no upper layer modules are configured for wake up notification using <User_ValidateWakeupEvent>(), no wake up notification needs to be configured. CanIfDispatchUserValidateWakeupEventUL needs not to be configured. • If wake up is not supported (CanIfCtrlWakeupSupport and CanIfTrcvWakeupSupport equal FALSE, CanIfDispatchUserValidateWakeupEventUL is not configurable. ⌋ [SWS_CANIF_00563] ⌈Configuration of <User_ValidateWakeupEvent>(): If CanIfDispatchUserValidateWakeupEventUL is set to ECUM, CanIfDispatchUserValidateWakeupEventName must be EcuM_ValidateWakeupEvent.⌋ [SWS_CANIF_00564] ⌈Configuration of <User_ValidateWakeupEvent>(): If CanIfDispatchUserValidateWakeupEventUL is set to CDD the name of the API has to be configured via parameter CanIfDispatchUserValidateWakeupEventName.⌋ 8.6.3.2 <User_ControllerBusOff> [SWS_CANIF_00014] Definition of configurable interface <User_ControllerBus Off> Upstream requirements: SRS_Can_01029 ⌈ Service Name <User_ControllerBusOff> Syntax void <User_ControllerBusOff> ( uint8 ControllerId ) Sync/Async Synchronous Reentrancy Non Reentrant (defined within providing upper layer module) Parameters (in) ControllerId Abstracted CanIf ControllerId which is assigned to a CAN controller, at which a BusOff occurred. Parameters (inout) None Parameters (out) None Return value None Description This service indicates a bus-off event to the corresponding upper layer module (mainly the CAN State Manager module). Available via Configuration parameter CanIfPublicCddHeaderFile ⌋ Note: This callback service is mainly implemented in and used by CanSm (see [3, Note: This callback service is called by CanIf and implemented by the configured upper layer module. It is called in case of a BusOff notification via CanIf_ControllerBusOff() of the CanDrv. The delivered parameter ControllerId of the service CanIf_ControllerBusOff() is passed to the upper layer module. Note: The call context of <User_ControllerBusOff>() is either on interrupt level (interrupt mode) or on task level (polling mode). Note: The callback service <User_ControllerBusOff>() is in general re-entrant for multiple CAN Controller usage, but not for the same CAN Controller. Note: Before re-initialization/restart during BusOff recovery is executed <User_ControllerBusOff>() is performed only once in case of multiple BusOff events at CAN Controller. Configuration of <User_ControllerBusOff>() [SWS_CANIF_00450] ⌈Configuration of <User_ControllerBusOff>(): The upper layer module which provides this callback service has to be configured by CanIfDispatchUserCtrlBusOffUL.⌋ [SWS_CANIF_00558] ⌈Configuration of <User_ControllerBusOff>(): The name of the API <User_ControllerBusOff>() which will be called by CanIf shall be configured for CanIf by parameter CanIfDispatchUserCtrlBusOffName.⌋ [SWS_CANIF_00524] ⌈Configuration of <User_ControllerBusOff>(): At least one upper layer module and hence an API of <User_ControllerBusOff>() has mandatorily to be configured, which CanIf can call in case of an occurred call of CanIf_ControllerBusOff().⌋ [SWS_CANIF_00559] ⌈Configuration of <User_ControllerBusOff>(): If CanIfDispatchUserCtrlBusOffUL is set to CAN_SM, CanIfDispatchUserCtrlBusOffName must be CanSM_ControllerBusOff.⌋ [SWS_CANIF_00560] ⌈Configuration of <User_ControllerBusOff>(): If CanIfDispatchUserCtrlBusOffUL is set to CDD the name of the API has to be configured via parameter CanIfDispatchUserCtrlBusOffName.⌋ 8.6.3.3 <User_ConfirmPnAvailability> [SWS_CANIF_00821] Definition of configurable interface <User_ConfirmPnAvailability> ⌈ Service Name <User_ConfirmPnAvailability> Syntax void <User_ConfirmPnAvailability> ( uint8 TransceiverId ) Sync/Async Synchronous Reentrancy Non Reentrant (defined within providing upper layer module) Parameters (in) TransceiverId Abstract CanIf TransceiverId, which is assigned to a CAN transceiver, which was checked for PN availability. Parameters (inout) None Parameters (out) None Return value None Description This service indicates that the CAN transceiver is running in PN communication mode. ▽

Versionen & Provenienz · Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Begründung & Zuweisungs-Evidenz

Cited verbatim in the snippet (deterministic citation).

Dokumenten-Herkunft & Rückverfolgbarkeit

Spezifikations-Dokument SWS_CANInterface.pdf
Dokumentseite Seite 133
Ziel-Modul canif (classic)
Ziel-Anforderung SWS_EcuM_04040
Semantische Rolle constitutive
Automatisierungs-Konfidenz 0.95