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

SNIP_CLASSIC_FRIF_SECTION_7_3_1_FlexRay_Interface_Main_Function

Quelle: SWS_FlexRayInterface.pdf (Seite 26) • Ziel-Anforderung: SWS_FrIf_95120

Wortlaut

7.3.1 FlexRay Interface Main Function The FlexRay Interface Main Function needs to be called cyclically from a task body provided by the BSW Scheduler with a calling period (FRIF_MAINFUNCTION_PERIOD) depending on the FlexRay Cycle length and configurable at system configuration time. Since the Cycle length of each Cluster is independent, the desired calling period of the FlexRay Interface Main Function might differ from Cluster to Cluster, except for "Transmission with Immediate Buffer Access". [SWS_FrIf_05119] Upstream requirements: SRS_BSW_00432 ⌈The FrIf module shall provide one dedicated FlexRay Interface Main Function for each FlexRay Cluster that is controlled by that FrIf module.⌋ [SWS_FrIf_05283] Upstream requirements: SRS_BSW_00373 ⌈The API names of the FlexRay Interface Main Functions shall obey the following pattern: FrIf_MainFunction_<FrIfCluster.ShortName> where FrIfCluster.ShortName is the Short Name of the corresponding FrIfCluster.⌋ [SWS_FrIf_15120] ⌈The Main Function monitors and controls the continuous execution of the FlexRay Job List Execution Function including the (re)synchronization if the current FlexRay Interface State Machine is FRIF_STATE_ONLINE.⌋ [SWS_FrIf_01124] ⌈If Bus Mirroring is enabled globally (see FrIfBusMirroringSupport), then call Fr_GetChannelStatus for all controllers of each FlexRay cluster for which mirroring has been activated with a call to FrIf_EnableBusMirroring(), merge the states reported for the controllers of one cluster with a binary OR, and then call Mirror_ReportFlexRayChannelStatus() with the cluster, Fr_ChannelAStatusPtr, and Fr_Channel BStatusPtr to report the aggregated channel states to the Bus Mirroring module.⌋ [SWS_FrIf_25120] ⌈If one of the optional cluster-specific configuration parameters FRIF_E_NIT_CH_A, FRIF_E_NIT_CH_B, FRIF_E_SW_CH_A, FRIF_E_SW_CH_B or FRIF_E_ACS_CH_A, FRIF_E_ACS_CH_B exists, then call FrIf_GetChannelStatus for each FlexRay controller of the cluster and report the status to DEM as described below.⌋ [SWS_FrIf_35120] ⌈If the optional configuration parameter FRIF_E_NIT_CH_A exists, then the channel status information shall be reported to DEM as Dem_Set EventStatus (FRIF_E_NIT_CH_A, DEM_EVENT_STATUS_PREFAILED) when any of the error bits of a single controller (Channel A NIT status data vSS!SyntaxError, v SS!Bviolation) is set or as Dem_SetEventStatus (FRIF_E_NIT_CH_A, DEM_EVENT_ STATUS_PREPASSED) when none of these error bits is set.⌋ [SWS_FrIf_45120] ⌈If the optional configuration parameter FRIF_E_NIT_CH_B exists, then the channel status information shall be reported to DEM as Dem_Set EventStatus (FRIF_E_NIT_CH_B, DEM_EVENT_STATUS_PREFAILED) when any of the error bits of a single controller (Channel B NIT status data vSS!SyntaxError, v SS!Bviolation) is set or as Dem_SetEventStatus (FRIF_E_NIT_CH_B, DEM_EVENT_ STATUS_PREPASSED) when none of these error bits is set.⌋ [SWS_FrIf_55120] ⌈If the optional configuration parameter FRIF_E_SW_CH_A exists, then the channel status information shall be reported to DEM as Dem_SetEventStatus (FRIF_E_SW_CH_A, DEM_EVENT_STATUS_PREFAILED) when any of the error bits of a single controller (Channel A symbol window status data vSS!SyntaxError, v SS!Bviolation, vSS!TxConflict) is set or as Dem_SetEventStatus (FRIF_E_SW_CH_A, DEM_EVENT_STATUS_PREPASSED) when none of these error bits is set.⌋ [SWS_FrIf_65120] ⌈If the optional configuration parameter FRIF_E_SW_CH_B exists, then the channel status information shall be reported to DEM as Dem_SetEventStatus (FRIF_E_SW_CH_B, DEM_EVENT_STATUS_PREFAILED) when any of the error bits of a single controller (Channel B symbol window status data vSS!SyntaxError, v SS!Bviolation vSS!TxConflict) is set or as Dem_SetEventStatus (FRIF_E_SW_CH_B, DEM_EVENT_STATUS_PREPASSED) when none of these error bits is set.⌋ [SWS_FrIf_75120] ⌈If the optional configuration parameter FRIF_E_ACS_CH_A exists, then the channel status information shall be reported to DEM as Dem_SetEvent Status (FRIF_E_ACS_CH_A , DEM_EVENT_STATUS_PREFAILED) when any of the error bits of a single controller (Channel A aggregated channel status vSS!SyntaxError, vSS!ContentError, vSS!Bviolation, vSS!TxConflict) is set or as Dem_SetEventStatus (FRIF_E_ACS_CH_A, DEM_EVENT_STATUS_PREPASSED) when none of these error bits is set.⌋ [SWS_FrIf_85120] ⌈If the optional configuration parameter FRIF_E_ACS_CH_B exists, then the channel status information shall be reported to DEM as Dem_SetEvent Status (FRIF_E_ACS_CH_B, DEM_EVENT_STATUS_PREFAILED) when any of the error bits of a single controller (Channel B aggregated channel status vSS!SyntaxError, vSS!ContentError, vSS!Bviolation, vSS!TxConflict) is set or as Dem_SetEventStatus (FRIF_E_ACS_CH_B, DEM_EVENT_STATUS_PREPASSED) when none of these error bits is set.⌋ [SWS_FrIf_95120] ⌈If a loss of the JobList’s synchronization (see JobListAsyncFlag) or a miss of execution was detected, the following steps shall be performed: 1. Get the global time (FrIf_GetGlobalTime()) • If FrIf_GetGlobalTime() returns E_NOT_OK, stop here • If FrIf_GetGlobalTime() returns E_OK, continue with step 2 2. add some ’time buffer’ (i.e. some timespan which takes jitter into account) 3. search the FlexRay Job List for the next job, i.e. that job with an invocation time greater than the current global time + ’time buffer’. 4. set the JobListPointer to that job and program the absolute timer with this job’s invocation time (now the FlexRay Job List is synchronized again) 5. clear the JobListAsyncFlag 6. Enable the absolute timer interrupt ⌋

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_FlexRayInterface.pdf
Dokumentseite Seite 26
Ziel-Modul frif (classic)
Ziel-Anforderung SWS_FrIf_95120
Semantische Rolle constitutive
Automatisierungs-Konfidenz 0.95