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

SNIP_CLASSIC_CANIF_SECTION_7_14_Receive_indication

Quelle: SWS_CANInterface.pdf (Seite 50) • Ziel-Anforderung: SWS_CANIF_91005

Wortlaut

7.14 Receive indication A call of CanIf_RxIndication() references in its parameters a newly received CAN L-PDU. If the function CanIf_RxIndication() is called, the CanIf evaluates the CAN L-PDU for acceptance and prepares the L-SDU for later access by the upper communication layers. The CanIf notifies upper layer modules about this asynchronous event using LSduR_CanIfRxIndication(), if configured and if this CAN L-PDU is successfully detected and accepted for further processing. The detailed requirements for this behavior follow here. [SWS_CANIF_00906] Upstream requirements: SRS_Can_01172 ⌈If Bus Mirroring is enabled globally (see CanIfBusMirroringSupport) and has been activated with a call to CanIf_EnableBusMirroring() for a CAN Controller, the CanIf shall call Mirror_ReportCanFrame() for each frame reception on that controller that is indicated with CanIf_RxIndication().⌋ [SWS_CANIF_00389] ⌈If the function CanIf_RxIndication() is called, the CanIf shall process the Software Filtering on the received L-PDU, if configured (see multiplicity of CanIfHrhRangeCfg equals 0..∗). If Software Filtering rejects the received L-PDU, the CanIf shall end the receive indication for that call of CanIf_RxIndication().⌋ Note for [SWS_CANIF_00389]: See 7.20. [SWS_CANIF_00390] ⌈If CanIf accepts an L-PDU received via CanIf_RxIndication() during Software Filtering (see [SWS_CANIF_00389]), CanIf shall process the Data Length check afterwards, if configured (see CanIfPrivateDataLengthCheck and CanIfRxPduDataLengthCheck).⌋ For further details, please refer to Chapter 7.21 “Data Length Check”. [SWS_CANIF_00297] ⌈If CanIf has accepted a L-PDU received via CanIf_RxIndication() during Data Length Check (see [SWS_CANIF_00390]), CanIf shall copy the number of bytes according to the configured Data Length (see ECUC_CanIf_00599) to the static receive buffer, if configured for that L-PDU (see [SWS_CANIF_00198], ECUC_CanIf_00600).⌋ [SWS_CANIF_00851] ⌈If MetaData item CAN_ID_32 is configured for a received L-SDU, CanIf shall copy the PDU payload to the static receive buffer and the CAN ID to the MetaDataItem of type CAN_ID_32.⌋ [SWS_CANIF_00967] Support of meta data type TIMETUPLE_TYPE_PTR at reception indication Status: DRAFT Upstream requirements: SRS_Can_02004 ⌈If MetaData item TIMETUPLE_TYPE_PTR is configured for a received L-SDU, CanIf shall transfer the ingress time stamp of the received L-SDU to the MetaDataItem of type TIMETUPLE_TYPE_PTR.⌋ [SWS_CANIF_00056] Upstream requirements: SRS_Can_02004, SRS_Can_02005 ⌈If CanIf accepts a L-PDU received via CanIf_RxIndication() during Data Length Check (see [SWS_CANIF_00390], [SWS_CANIF_00026]), CanIf shall call the target upper layer module was configured via LSduR_CanIfRxIndication() based on the parameters of CanIf_RxIndication().⌋ Overview: CanIf performs the following steps at a call of CanIf_RxIndication(): • Software Filtering (only BasicCAN), if configured • Data Length Check, if configured • buffer received L-SDU if configured • call upper layer receive indication callback service, if configured.

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 50
Ziel-Modul canif (classic)
Ziel-Anforderung SWS_CANIF_91005
Semantische Rolle constitutive
Automatisierungs-Konfidenz 0.95