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

SNIP_CLASSIC_CANIF_SECTION_9_12_BusOff_recovery

Quelle: SWS_CANInterface.pdf (Seite 160) • Ziel-Anforderung: SWS_Std_00005

Wortlaut

9.12 BusOff recovery «module» CanIf «Peripheral» CanController «module» Can <User_ControllerBusOff>                                                            opt CAN controller [BUSSOFF] [STOPPED]                                            loop Requesting CAN controller mode consecutively. If mode changed -> CanIf_ControllerModeIndication(). BusOff Detection() Reset transmit queue() Set CAN controller to STOPPED mode, if necessary() <User_ControllerModeIndication>() BusOff Detection() CanIf_ControllerModeIndication(uint8, Can_ControllerStateType) Set CAN controller to STOPPED mode, if necessary() CanIf_SetControllerMode() Can_MainFunction_Mode() <User_ControllerModeIndication>(uint8, Can_ControllerStateType) <User_ControllerBusOff>(uint8) CanIf_ControllerBusOff(uint8) CanIf_ControllerModeIndication() request CAN controller mode transition to START() Can_SetContollerMode() Reset CAN controller, if necessary() CanIf_SetControllerMode(Std_ReturnType, uint8, Can_ControllerStateType) <User_ControllerBusOff>() Can_SetControllerMode(Std_ReturnType, uint8, Can_ControllerStateType) CanIf_ControllerBusOff() Figure 9.12: BusOff recovery Activity Description BusOff detection interrupt The CAN controller signals a BusOff event. Stop CAN controller CAN controller is set to STOPPED mode by the CanDrv, if necessary BusOff indication to CanIf BusOff is notified to the CanIf by calling of CanIf_ ControllerBusOff(). The transmit buffers inside CanIf will be reset. BusOff indication to upper layer BusOff is notified to the upper layer by calling of <User_ControllerBusOff>() Upper Layer (CanSM) initiates BusOff Recovery After a time specified by the BusOff Recovery algorithm the Recovery process itself in initiated by CanIf_ SetControllerMode(ControllerId, CAN_CS_STARTED). Restart of CAN controller The driver restarts the CAN controller by call of Can_ SetControllerMode(Controller, CAN_CS_STARTED). CAN controller started CanDrv informs CanIf about the successful start by calling CanIf_ControllerModeIndication(). CanIf informs in turn upper layers about the mode change.

Versionen & Provenienz · Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Begründung & Zuweisungs-Evidenz

The passage uses Std_ReturnType as a parameter type in CanIf_SetControllerMode and Can_SetControllerMode.

Dokumenten-Herkunft & Rückverfolgbarkeit

Spezifikations-Dokument SWS_CANInterface.pdf
Dokumentseite Seite 160
Ziel-Modul canif (classic)
Ziel-Anforderung SWS_Std_00005
Semantische Rolle diffundiert
Automatisierungs-Konfidenz 0.95