FlexRay Interface (FrIf)
Abstracts FlexRay hardware controllers for upper layers.
Funktionen — Übersicht
void FrIf_Init (const FrIf_ConfigType* FrIf_ConfigPtr);Initializes the Flex Ray Interface.Std_ReturnType FrIf_ControllerInit (uint8 FrIf_CtrlIdx);Initialized a Flex Ray CC.Std_ReturnType FrIf_SetAbsoluteTimer (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx, uint8 FrIf_Cycle, uint16 FrIf_Offset);Wraps the Flex Ray Driver API function Fr_ Set Absolute Timer().Std_ReturnType FrIf_EnableAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);Service FrIf_EnableAbsoluteTimerIRQ.Std_ReturnType FrIf_AckAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);Wraps the Flex Ray Driver API function Fr_ Ack Absolute Timer IRQ()Std_ReturnType FrIf_StartCommunication (uint8 FrIf_CtrlIdx);Wraps the Flex Ray Driver API function Fr_ Start Communication().Std_ReturnType FrIf_HaltCommunication (uint8 FrIf_CtrlIdx);Wraps the Flex Ray Driver API function Fr_ Halt Communication().Std_ReturnType FrIf_AbortCommunication (uint8 FrIf_CtrlIdx);Wraps the Flex Ray Driver API function Fr_ Abort Communication().Std_ReturnType FrIf_GetState (uint8 FrIf_ClstIdx, FrIf_StateType* FrIf_StatePtr);Get current Fr If state.Std_ReturnType FrIf_SetState (uint8 FrIf_ClstIdx, FrIf_StateTransitionType FrIf_StateTransition);Requests Fr If state machine transition.Std_ReturnType FrIf_SetWakeupChannel (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);Wraps the Flex Ray Driver API functi on Fr_ Set Wakeup Channel().Std_ReturnType FrIf_SendWUP (uint8 FrIf_CtrlIdx);Wraps the Flex Ray Driver API function Fr_ Send WUP().Std_ReturnType FrIf_GetPOCStatus (uint8 FrIf_CtrlIdx, Fr_POCStatusType* FrIf_POCStatusPtr);Wraps the Flex Ray Driver API function Fr_ Get POCStatus().Std_ReturnType FrIf_GetGlobalTime (uint8 FrIf_CtrlIdx, uint8* FrIf_CyclePtr, uint16* FrIf_MacroTickPtr);Wraps the Flex Ray Driver API function Fr_ Get Global Time().Std_ReturnType FrIf_AllowColdstart (uint8 FrIf_CtrlIdx);Wraps the Flex Ray Driver API function Fr_ Allow Coldstart().uint16 FrIf_GetMacroticksPerCycle (uint8 FrIf_CtrlIdx);Retrieves the amount of Macroticks per Cycleuint16 FrIf_GetMacrotickDuration (uint8 FrIf_CtrlIdx);Retrieves the Duration of a Macrotick in nsStd_ReturnType FrIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Requests transmission of a PDU.Std_ReturnType FrIf_SetTransceiverMode (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, Limited by st atic configuration [Configuration Parameter FrIfCounterLimit, see FrIf06076 ]); ⚠️Wraps the Flex Ray Transceiver Driver API function FrStd_ReturnType FrIf_GetTransceiverMode (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, FrTrcv_TrcvModeType* FrIf_TrcvModePtr);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver Mode().Std_ReturnType FrIf_GetTransceiverWUReason (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, FrTrcv_TrcvWUReasonType* FrIf_TrcvWUReasonPtr);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver WUReason().Std_ReturnType FrIf_ClearTransceiverWakeup (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Clear Transceiver Wakeup().Std_ReturnType FrIf_CancelAbsoluteTimer (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);Wraps the Flex Ray Driver API function Fr_ Cancel Absolute Timer().Std_ReturnType FrIf_GetAbsoluteTimerIRQStatus (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx, boolean* FrIf_IRQStatusPtr);Wraps the Flex Ray Driver API function Fr_ Get Absolute Timer IRQStatus()Std_ReturnType FrIf_DisableAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);Wraps the Flex Ray Driver API function Fr_ Disable Absolute Timer IRQ().uint32 FrIf_GetCycleLength (uint8 FrIf_CtrlIdx);This API returns the configured time of the configuration parameter "Gd Cycle" in nanoseconds for the Flex Ray controller with...Std_ReturnType FrIf_AllSlots (uint8 FrIf_CtrlIdx);Wraps the Flex Ray Driver API function Fr_ All SlotsStd_ReturnType FrIf_GetChannelStatus (uint8 FrIf_CtrlIdx, uint16* FrIf_ChannelAStatusPtr, uint16* FrIf_ChannelBStatusPtr);Wraps the Flex Ray Driver API function Fr_ Get Channel Status() and gets the channel status information.Std_ReturnType FrIf_GetClockCorrection (uint8 FrIf_CtrlIdx, sint16* FrIf_RateCorrectionPtr, sint32* FrIf_OffsetCorrectionPtr);Wraps the Flex Ray Driver API function Fr_ Get Clock Correction () and gets the current clock correction values.Std_ReturnType FrIf_GetSyncFrameList (uint8 FrIf_CtrlIdx, uint8 FrIf_ListSize, uint16* FrIf_ChannelAEvenListPtr, uint16* FrIf_ChannelBEvenListPtr, uint16* FrIf_ChannelAOddListPtr, uint16* FrIf_ChannelBOddListPtr);Service FrIf_GetSyncFrameList.Std_ReturnType FrIf_GetNumOfStartup FrIf_GetNumStartupFrames (uint8 FrIf_CtrlIdx, uint8* FrIf_NumOfStartupFramesPtr); ⚠️Wraps the Flex Ray Driver API function Fr_ Get Num Of Startup Frames and gets a list of the current number of startup frames...Std_ReturnType FrIf_GetWakeupRxStatus (uint8 FrIf_CtrlIdx, uint8* FrIf_WakeupRxStatusPtr);Wraps the Flex Ray Driver API function Fr_ Get Wakeup Rx Status and gets the wakeup received information from the Flex Ray...Std_ReturnType FrIf_CancelTransmit (PduIdType TxPduId);Requests cancellation of an ongoing transmission o f a PDU in a lower layer communication module.Std_ReturnType FrIf_DisableLPdu (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);Wraps the Flex Ray Driver Function Fr_ Disable LPdu.Std_ReturnType FrIf_GetTransceiverError (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx, uint32* FrIf_BusErrorState);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver Error.Std_ReturnType FrIf_EnableTransceiverBranch (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Enable Transceiver Branch.Std_ReturnType FrIf_DisableTransceiverBranch (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Disable Transceiver Branch.Std_ReturnType FrIf_ReconfigLPdu (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx, uint16 FrIf_FrameId, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_CycleRepetition, uint8 FrIf_CycleOffset, uint8 FrIf_PayloadLength, uint16 FrIf_Header CRC); ⚠️Service FrIf_ReconfigLPdu.Std_ReturnType FrIf_GetNmVector (uint8 FrIf_CtrlIdx, uint8* FrIf_NmVectorPtr);Derives the Flex Ray NM Vector.void FrIf_GetVersionInfo (Std_VersionInfoType* FrIf_VersionInfoPtr);Returns the version information of this module.Std_ReturnType FrIf_ReadCCConfig (uint8 FrIf_CtrlIdx, uint8 FrIf_Config ParamIdx, uint32* FrIf_Config ParamValuePtr); ⚠️Wraps the Flex Ray Driver API function Fr_ Read CCConfig().Std_ReturnType FrIf_EnableBusMirroring (uint8 FrIf_ClstIdx, boolean FrIf_MirroringActive);Enables or disables mirroring for all Flex Ray controllers connected to the addressed Flex Ray cluster.void FrIf_CheckWakeupByTransceiver (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Check Wakeup By Transceiver().void <User_RxIndication> (PduIdType RxPduId, const PduInfoType* PduInfoPtr);Indication of a received PDU from a lower layer communication interface module.void <User_TxConfirmation> (PduIdType TxPduId, Std_ReturnType result);The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.Std_ReturnType <User_TriggerTransmit> (PduIdType TxPduId, PduInfoType* PduInfoPtr);Within this API, the upper lay er module (called module) shall check whether thevoid <Free_Op_A> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);User defined communication operation in order to support hardware specific or additional communication controller features to...void <Free_Op_B> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);User defined communication operation in order to support hardware specific or additional communication controller features to...void <UL_TxConflictNotification> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);Notification in case a Tx Conflict has been detected.
Typen — Übersicht
struct FrIf_ConfigTypeThis type contains the implementation - specific post build time configuration structure.enum FrIf_StateTypeVariables of this type are used to represent the Fr If_ State of a Flex Ray CC.FrIf_StateTransitionTypeVariables of this type are used to represent the Fr If_ State of a Flex Ray CC.
Funktionen & Typen — Detailansicht
函数 FrIf_Init [SWS_FrIf_05003] 📄 PDF
void FrIf_Init (const FrIf_ConfigType* FrIf_ConfigPtr);
Initializes the Flex Ray Interface.
函数FrIf_Init用于初始化FlexRay接口模块([SWS_FrIf_05003])。调用同步进行,并被指定为不可重入(Non Reentrant)([SWS_FrIf_05003])。
参数与返回值
FrIf_ConfigPtr(输入参数):指向FlexRay接口配置结构的基指针([SWS_FrIf_05003])。- 返回值:
void——该函数不返回任何返回值([SWS_FrIf_05003])。
限制与调用条件
由于FrIf_Init不可重入,因此在任何时候都不得由相同或其他线程或任务并行或以中断方式再次调用该函数([SWS_FrIf_05003])。在请求FlexRay接口的常规服务之前,必须在系统初始化上下文中进行调用。
此使用说明基于 AUTOSAR Classic R20-11 规范自动生成。
实现者指南即将推出(复杂度 I2)
函数 FrIf_ControllerInit [SWS_FrIf_05004] 📄 PDF
Std_ReturnType FrIf_ControllerInit (uint8 FrIf_CtrlIdx);
Initialized a Flex Ray CC.
同步函数 FrIf_ControllerInit 用于初始化 FlexRay 通信控制器(FlexRay CC)[SWS_FrIf_05004]。它可通过头文件 FrIf.h 获取,并由服务 ID 0x03 标识[SWS_FrIf_05004]。
通过数据类型为 uint8 的输入参数 FrIf_CtrlIdx 传递待寻址的 FlexRay 控制器索引[SWS_FrIf_05004]。该接口不存在其他输入或输出参数[SWS_FrIf_05004]。
返回值类型为 Std_ReturnType,并将初始化状态报告给调用方[SWS_FrIf_05004]:
E_OK:底层 FlexRay 驱动程序的 API 服务调用成功并返回了E_OK[SWS_FrIf_05004]。E_NOT_OK:FlexRay 驱动程序的 API 服务返回了E_NOT_OK,或者在开发模式下检测到错误[SWS_FrIf_05004]。
在并发性方面,FrIf_ControllerInit 对于不同的控制器索引是可重入的(FrIf_CtrlIdx),但对于相同的 FrIf_CtrlIdx 值是不可重入的[SWS_FrIf_05004]。因此,整个系统必须防止针对同一控制器的并发调用。
该文本由 AI 基于 AUTOSAR R20-11 规范生成。
实现者指南即将推出(复杂度 I1)
函数 FrIf_SetAbsoluteTimer [SWS_FrIf_05021] 📄 PDF
Std_ReturnType FrIf_SetAbsoluteTimer (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx, uint8 FrIf_Cycle, uint16 FrIf_Offset);
Wraps the Flex Ray Driver API function Fr_ Set Absolute Timer().
函数 FrIf_EnableAbsoluteTimerIRQ [SWS_FrIf_05025] 📄 PDF
Std_ReturnType FrIf_EnableAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);
Service FrIf_EnableAbsoluteTimerIRQ.
使用
函数FrIf_EnableAbsoluteTimerIRQ代表具有服务ID 0x1d的同步服务,通过头文件FrIf.h提供[SWS_FrIf_05025]。它用作FlexRay驱动程序接口Fr_EnableAbsoluteTimerIRQ()周围的包装器,用于激活绝对定时器的中断[SWS_FrIf_05025]。
调用需要两个输入参数[SWS_FrIf_05025]:
FrIf_CtrlIdx:要寻址的FlexRay通信控制器(FlexRay CC)的索引[SWS_FrIf_05025]。FrIf_AbsTimerIdx:寻址控制器上要激活的绝对定时器的索引[SWS_FrIf_05025]。
返回值与错误处理
该函数返回类型为 Std_ReturnType 的状态值 [SWS_FrIf_05025]:
E_OK:底层驱动程序服务的调用成功,并返回了E_OK[SWS_FrIf_05025]。E_NOT_OK:驱动程序函数返回了E_NOT_OK,或者在开发模式(Development Mode)下检测到错误[SWS_FrIf_05025]。
并发性与可重入性
关于调用上下文,FrIf_EnableAbsoluteTimerIRQ对于同一个FlexRay控制器是不可重入的,但可以针对不同的FlexRay控制器可重入调用[SWS_FrIf_05025]。
此使用说明基于 AUTOSAR CP R20-11 规范自动生成。
实现者指南即将推出(复杂度 I1)
函数 FrIf_AckAbsoluteTimerIRQ [SWS_FrIf_05029] 📄 PDF
Std_ReturnType FrIf_AckAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);
Wraps the Flex Ray Driver API function Fr_ Ack Absolute Timer IRQ()
同步接口函数FrIf_AckAbsoluteTimerIRQ作为包装器封装了FlexRay驱动程序之驱动程序函数Fr_AckAbsoluteTimerIRQ()的API调用[SWS_FrIf_05029]。它具有服务ID 0x21,通过头文件FrIf.h提供,并用于确认FlexRay通信控制器的绝对定时器中断请求。
调用该函数时须传递两个输入参数[SWS_FrIf_05029]:
FrIf_CtrlIdx:要寻址的 FlexRay 通信控制器(CC)的索引。FrIf_AbsTimerIdx:应确认其中断的特定绝对定时器的索引。
该函数提供类型为Std_ReturnType的返回值以供评估结果[SWS_FrIf_05029]:
E_OK:驱动程序APIFr_AckAbsoluteTimerIRQ()的调用已成功执行。E_NOT_OK:FlexRay驱动程序在调用时报告了E_NOT_OK,或者在开发模式(Development Mode)下检测到错误。
关于并发行为,该函数同步工作。针对不同FlexRay CC的调用是可重入的,而针对同一FlexRay CC的并发调用是不可重入的,必须予以避免[SWS_FrIf_05029]。
此使用说明基于 AUTOSAR CP R20-11 规范自动生成。
实现者指南即将推出(复杂度 I1)
函数 FrIf_StartCommunication [SWS_FrIf_05005] 📄 PDF
Std_ReturnType FrIf_StartCommunication (uint8 FrIf_CtrlIdx);
Wraps the Flex Ray Driver API function Fr_ Start Communication().
函数 FrIf_StartCommunication 作为 FlexRay 驱动程序函数 Fr_StartCommunication() 的封装,并触发寻址的 FlexRay 通信控制器启动通信[SWS_FrIf_05005]。
用法与调用上下文
该接口通过头文件 FrIf.h 声明,并具有服务 ID 0x04 [SWS_FrIf_05005]。调用以异步方式处理[SWS_FrIf_05005]。作为唯一的输入参数,FrIf_CtrlIdx(类型 uint8)用于指定待控制的 FlexRay 通信控制器索引;不存在输入/输出参数或纯输出参数[SWS_FrIf_05005]。
错误处理与返回值
该函数返回类型为 Std_ReturnType 的状态码[SWS_FrIf_05005]:
E_OK:FlexRay 驱动程序中底层 API 服务的调用成功并返回了E_OK[SWS_FrIf_05005]。E_NOT_OK:驱动程序的 API 服务报告了E_NOT_OK,或者在开发模式(Development Mode)执行期间检测到错误[SWS_FrIf_05005]。
并发性与限制
关于可重入性,FrIf_StartCommunication 对于相互不同的控制器索引是可重入的(FrIf_CtrlIdx),但对于相同的控制器值是不可重入的[SWS_FrIf_05005]。因此,在发生并发访问时,调用模块必须确保不会针对同一控制器发生并发调用。
本使用说明由 AI 基于 AUTOSAR 规范生成。
实现者指南即将推出(复杂度 I2)
函数 FrIf_HaltCommunication [SWS_FrIf_05006] 📄 PDF
Std_ReturnType FrIf_HaltCommunication (uint8 FrIf_CtrlIdx);
Wraps the Flex Ray Driver API function Fr_ Halt Communication().
函数 FrIf_HaltCommunication(服务 ID 0x05)在 FlexRay 接口(FrIf)中构成了调用驱动程序 API 函数 Fr_HaltCommunication() 的封装,并通过头文件 FrIf.h 声明[SWS_FrIf_05006]。该服务以异步语义执行[SWS_FrIf_05006]。作为唯一的参数,传递输入值 FrIf_CtrlIdx,该值指定各待寻址的 FlexRay 通信控制器的索引;未为该服务定义输入/输出参数或纯输出参数[SWS_FrIf_05006]。
返回值类型为 Std_ReturnType,并指示调用的结果[SWS_FrIf_05006]:
E_OK:FlexRay 驱动程序中的 API 服务调用成功并返回了E_OK[SWS_FrIf_05006]。E_NOT_OK:FlexRay 驱动程序的 API 调用返回了E_NOT_OK,或者在开发模式(Development Mode)下检测到错误[SWS_FrIf_05006]。
关于并发性,FrIf_HaltCommunication 对于不同的控制器索引值 FrIf_CtrlIdx 是可重入的,但对于相同的 FrIf_CtrlIdx 值是不可重入的[SWS_FrIf_05006]。因此,针对同一控制器的同时或中断调用是不允许的,必须在调用方上下文中予以防止。
本段文本由 AI 基于 AUTOSAR CP R20-11 规范生成。
实现者指南即将推出(复杂度 I1)
函数 FrIf_AbortCommunication [SWS_FrIf_05007] 📄 PDF
Std_ReturnType FrIf_AbortCommunication (uint8 FrIf_CtrlIdx);
Wraps the Flex Ray Driver API function Fr_ Abort Communication().
用法与调用上下文
同步接口函数FrIf_AbortCommunication用作FlexRay驱动程序API函数Fr_AbortCommunication()的直接包装器[SWS_FrIf_05007]。它在头文件FrIf.h中声明,具有服务ID 0x06 [SWS_FrIf_05007]。
通过输入参数FrIf_CtrlIdx指定要寻址的FlexRay通信控制器的索引[SWS_FrIf_05007]。未为此接口定义额外的输入或输出参数[SWS_FrIf_05007]。
返回值与错误处理
该函数返回类型为 Std_ReturnType 的状态值 [SWS_FrIf_05007]:
E_OK:对FlexRay驱动程序API服务的调用成功,并返回了E_OK[SWS_FrIf_05007]。E_NOT_OK:FlexRay驱动程序的API服务返回了E_NOT_OK,或者在开发模式下检测到错误[SWS_FrIf_05007]。
并发性与限制
FrIf_AbortCommunication的执行是同步的[SWS_FrIf_05007]。该函数对于不同的FrIf_CtrlIdx值是可重入的,但对于相同的控制器索引是不可重入的[SWS_FrIf_05007]。
本使用说明是基于 AUTOSAR 规范自动生成的。
实现者指南即将推出(复杂度 I1)
函数 FrIf_GetState [SWS_FrIf_05170] 📄 PDF
Std_ReturnType FrIf_GetState (uint8 FrIf_ClstIdx, FrIf_StateType* FrIf_StatePtr);
Get current Fr If state.
函数 FrIf_SetState [SWS_FrIf_05174] 📄 PDF
Std_ReturnType FrIf_SetState (uint8 FrIf_ClstIdx, FrIf_StateTransitionType FrIf_StateTransition);
Requests Fr If state machine transition.
使用与调用
同步函数 FrIf_SetState 请求 FlexRay 接口状态机中的状态转换 [SWS_FrIf_05174]。集群索引 FrIf_ClstIdx 以及所需转换 FrIf_StateTransition 作为参数传递。如果调用成功执行且状态更改被接受,则该函数返回 E_OK;若发生错误,则返回 E_NOT_OK [SWS_FrIf_05174]。
错误处理与边界条件
该函数定义为不可重入(Non Reentrant)[SWS_FrIf_05174]。若开发控制已激活(FrIfDevErrorDetect == ON)且参数 FrIf_StateTransition 包含无效值,则该函数通过 Det_ReportError 向 DET 模块报告错误代码 FRIF_E_INV_FRIF_STATE [SWS_FrIf_05037]。
离线转换时的相互作用
如果使用转换参数 FRIF_STATE_OFFLINE 调用 FrIf_SetState,则 FlexRay 接口会针对每个 PDU 检查计数器 TxConfCounter [SWS_FrIf_05501]。若某个 PDU 的该值大于 0,则模块通过调用 <UL>_TxConfirmation(id, E_NOT_OK) 通知上层未决确认失败 [SWS_FrIf_05501]。
本文字由 AI 系统基于 AUTOSAR 规范 R20-11 生成。
实现者指南即将推出(复杂度 I2)
函数 FrIf_SetWakeupChannel [SWS_FrIf_05010] 📄 PDF
Std_ReturnType FrIf_SetWakeupChannel (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);
Wraps the Flex Ray Driver API functi on Fr_ Set Wakeup Channel(). The enum value "FR_ CHANNEL_ AB" shall not be used.
函数 FrIf_SendWUP [SWS_FrIf_05011] 📄 PDF
Std_ReturnType FrIf_SendWUP (uint8 FrIf_CtrlIdx);
Wraps the Flex Ray Driver API function Fr_ Send WUP().
模块 FrIf 的函数 FrIf_SendWUP(服务 ID 0x0a)可通过头文件 FrIf.h 获取,并用作调用下层 FlexRay 驱动程序 API 函数 Fr_SendWUP() 的接口封装[SWS_FrIf_05011]。
用法与参数
该服务异步执行[SWS_FrIf_05011]。作为唯一的传递参数,类型为 uint8 的输入参数 FrIf_CtrlIdx 指定了待寻址的 FlexRay 通信控制器(FlexRay CC)的索引[SWS_FrIf_05011]。不使用输入输出参数或输出参数[SWS_FrIf_05011]。
返回值与错误处理
作为返回值,该函数提供类型为 Std_ReturnType 的状态[SWS_FrIf_05011]:
E_OK:FlexRay 驱动程序的 API 服务调用执行成功,并返回了E_OK[SWS_FrIf_05011]。E_NOT_OK:FlexRay 驱动程序的 API 服务调用返回了E_NOT_OK,或者在开发模式(Development Mode)下检测到错误[SWS_FrIf_05011]。
并发性与可重入性
关于并发访问,FrIf_SendWUP 对于具有不同 FrIf_CtrlIdx 值的调用是可重入的,但对于相同的 FrIf_CtrlIdx 值是不可重入的[SWS_FrIf_05011]。
该文本由系统自动生成,基于 AUTOSAR R20-11 版本的规范。
实现者指南即将推出(复杂度 I1)
函数 FrIf_GetPOCStatus [SWS_FrIf_05014] 📄 PDF
Std_ReturnType FrIf_GetPOCStatus (uint8 FrIf_CtrlIdx, Fr_POCStatusType* FrIf_POCStatusPtr);
Wraps the Flex Ray Driver API function Fr_ Get POCStatus().
函数 FrIf_GetGlobalTime [SWS_FrIf_05015] 📄 PDF
Std_ReturnType FrIf_GetGlobalTime (uint8 FrIf_CtrlIdx, uint8* FrIf_CyclePtr, uint16* FrIf_MacroTickPtr);
Wraps the Flex Ray Driver API function Fr_ Get Global Time(). Impo rtant Note: Fr If_ Get Global Time may be called within an exclusive area.
函数 FrIf_AllowColdstart [SWS_FrIf_05017] 📄 PDF
Std_ReturnType FrIf_AllowColdstart (uint8 FrIf_CtrlIdx);
Wraps the Flex Ray Driver API function Fr_ Allow Coldstart().
使用与工作原理
根据[SWS_FrIf_05017],函数FrIf_AllowColdstart用作FlexRay驱动程序API Fr_AllowColdstart()的包装器。它通过输入参数FrIf_CtrlIdx寻址要访问的FlexRay通信控制器(CC)[SWS_FrIf_05017]。该函数的执行被指定为异步的[SWS_FrIf_05017]。
返回值与错误处理
类型为Std_ReturnType的返回值反映了执行的结果[SWS_FrIf_05017]:
E_OK:底层FlexRay驱动程序API服务被成功调用并返回E_OK[SWS_FrIf_05017]。E_NOT_OK:驱动程序调用失败(返回值E_NOT_OK),或者在开发模式(Development Mode)下检测到错误[SWS_FrIf_05017]。
解释:开发模式下的错误检测大概通过Default Error Tracer(DET)模块进行,尽管规范摘录中未记录具体的错误ID或检查。 问题 Q-5dffd71d66731cc9 (未决)
并发性与限制
关于重入性,FrIf_AllowColdstart对于相同的FrIf_CtrlIdx值是不可重入的,但可以针对不同的控制器索引并行调用[SWS_FrIf_05017]。因此调用者必须确保对同一控制器的并发调用进行同步。该接口通过头文件FrIf.h提供[SWS_FrIf_05017]。
本使用说明由AI创建,基于AUTOSAR CP R20-11的规范数据。
实现者指南即将推出(复杂度 I1)
函数 FrIf_GetMacroticksPerCycle [SWS_FrIf_05018] 📄 PDF
uint16 FrIf_GetMacroticksPerCycle (uint8 FrIf_CtrlIdx);
Retrieves the amount of Macroticks per Cycle
函数 FrIf_GetMacrotickDuration [SWS_FrIf_05019] 📄 PDF
uint16 FrIf_GetMacrotickDuration (uint8 FrIf_CtrlIdx);
Retrieves the Duration of a Macrotick in ns
函数 FrIf_Transmit [SWS_FrIf_05033] 📄 PDF
Std_ReturnType FrIf_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);
Requests transmission of a PDU.
同步函数 FrIf_Transmit 请求通过 FlexRay 接口传输 PDU [SWS_FrIf_05033]。它接收待传输 PDU 的 ID(TxPduId)以及指向结构体 PduInfoPtr 的指针,该结构体提供 PDU 长度、数据指针和元数据[SWS_FrIf_05033]。
在并发性和可重入性方面,FrIf_Transmit 对于不同的 PDU ID 是可重入的,但对于相同的 PDU ID 是不可重入的[SWS_FrIf_05033]。一旦传输请求被接受,该调用便返回 E_OK,否则返回 E_NOT_OK [SWS_FrIf_05033]。
若动态 L-SDU 长度通过配置参数 FrIfAllowDynamicLSduLength 设置为 FALSE 而被禁用,则会对直接 PDU(Immediate PDU)执行特定的错误检查[SWS_FrIf_05757]:
- 对在
PduInfoPtr中传递的长度与静态配置的 PDU 长度进行校验[SWS_FrIf_05757]。 - 若长度信息不匹配,
FrIf_Transmit将中止 Immediate PDU 的传输并返回E_NOT_OK[SWS_FrIf_05757]。 - 只要开发错误检测(
FrIfDevErrorDetect == ON)处于激活状态,该函数就会通过Det_ReportError向 DET 模块报告开发错误FRIF_E_INV_PDULENGTH[SWS_FrIf_05757]。
此文本由 AI 基于 R20-11 规范生成。
实现者指南即将推出(复杂度 I2)
函数 FrIf_SetTransceiverMode [SWS_FrIf_05034] 📄 PDF
Std_ReturnType FrIf_SetTransceiverMode (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, Limited by st atic configuration [Configuration Parameter FrIfCounterLimit, see FrIf06076 ]); ⚠️
Wraps the Flex Ray Transceiver Driver API function Fr
服务 ID 为 0x13 的同步接口 FrIf_SetTransceiverMode 在 FlexRay 接口中用作 FlexRay 收发器驱动程序的驱动程序函数 FrTrcv_SetTransceiverMode() 的封装,并可通过头文件 FrIf.h 获取[SWS_FrIf_05034]。它使上层能够为特定的 FlexRay 控制器和通道设置收发器的工作模式[SWS_FrIf_05034]。
调用时必须传递三个参数:用于寻址 FlexRay 通信控制器的控制器索引 FrIf_CtrlIdx、用于确定控制器有效范围内 FlexRay 通道的通道索引 FrIf_ChnlIdx,以及类型为 FrTrcv_TrcvModeType 的所需收发器模式 FrIf_TrcvMode [SWS_FrIf_05034]。既不存在输入/输出参数,也不存在输出参数[SWS_FrIf_05034]。对于参数 FrIf_ChnlIdx,存在强制性规定:绝不能使用枚举值 FR_CHANNEL_AB [SWS_FrIf_05034]。
该函数被指定为可重入,并将模式切换同步转发给收发器驱动程序[SWS_FrIf_05034]。作为结果,它返回状态 Std_ReturnType:如果收发器驱动程序中的 API 服务调用成功返回了 E_OK,则它报告 E_OK;若该驱动程序调用失败并返回 E_NOT_OK,则同样返回 E_NOT_OK [SWS_FrIf_05034]。
此使用说明基于AUTOSAR规范自动生成。
实现者指南即将推出(复杂度 I2)
函数 FrIf_GetTransceiverMode [SWS_FrIf_05035] 📄 PDF
Std_ReturnType FrIf_GetTransceiverMode (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, FrTrcv_TrcvModeType* FrIf_TrcvModePtr);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver Mode(). The enum value "FR_ CHANNEL_ AB" shall not be used.
函数 FrIf_GetTransceiverWUReason [SWS_FrIf_05036] 📄 PDF
Std_ReturnType FrIf_GetTransceiverWUReason (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, FrTrcv_TrcvWUReasonType* FrIf_TrcvWUReasonPtr);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver WUReason(). The enum value "FR_ CHANNEL_ AB" shall not be used.
函数 FrIf_ClearTransceiverWakeup [SWS_FrIf_05039] 📄 PDF
Std_ReturnType FrIf_ClearTransceiverWakeup (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Clear Transceiver Wakeup(). The enum value "FR_ CHANNEL_ AB" shall not be used. A vailable via Fr If.h
同步函数FrIf_ClearTransceiverWakeup(服务ID 0x18)在FlexRay接口内充当包装器,封装对FlexRay收发器驱动程序API函数FrTrcv_ClearTransceiverWakeup()的调用[SWS_FrIf_05039]。该接口通过头文件FrIf.h提供[SWS_FrIf_05039]。
调用时,该函数恰好需要两个输入参数[SWS_FrIf_05039]:
FrIf_CtrlIdx:要寻址的FlexRay通信控制器的索引[SWS_FrIf_05039]。FrIf_ChnlIdx:控制器有效范围内要访问的FlexRay通道的索引FrIf_CtrlIdx[SWS_FrIf_05039]。
未为此函数定义其他参数(inout或out)[SWS_FrIf_05039]。
关于并发性和边界条件,该函数被归类为可重入[SWS_FrIf_05039]。作为重要的功能限制,规范规定参数FrIf_ChnlIdx不得使用枚举值FR_CHANNEL_AB [SWS_FrIf_05039]。
操作的结果作为Std_ReturnType同步返回,并直接反映驱动程序服务的结果[SWS_FrIf_05039]:
E_OK:FlexRay收发器驱动程序的API服务已成功执行并返回了E_OK[SWS_FrIf_05039]。E_NOT_OK:驱动程序服务的调用失败并返回了E_NOT_OK[SWS_FrIf_05039]。
本使用说明由 AI 基于 AUTOSAR CP R20-11 规范生成。
实现者指南即将推出(复杂度 I1)
函数 FrIf_CancelAbsoluteTimer [SWS_FrIf_05023] 📄 PDF
Std_ReturnType FrIf_CancelAbsoluteTimer (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);
Wraps the Flex Ray Driver API function Fr_ Cancel Absolute Timer() .
函数 FrIf_CancelAbsoluteTimer 用于在 FlexRay 通信控制器(CC)上同步中止已配置的绝对定时器 [SWS_FrIf_05023]。它作为 FlexRay 驱动相应驱动函数 Fr_CancelAbsoluteTimer() 的封装器,并通过头文件 FrIf.h 提供 [SWS_FrIf_05023]。
参数与返回值
调用时传递两个输入参数 [SWS_FrIf_05023]:
FrIf_CtrlIdx:要寻址的 FlexRay 控制器索引。FrIf_AbsTimerIdx:要中止的绝对定时器的索引。
该函数返回类型为 Std_ReturnType 的状态 [SWS_FrIf_05023]:
E_OK:对 FlexRay 驱动 API 的底层调用已成功结束,返回E_OK[SWS_FrIf_05023]。E_NOT_OK:对驱动 API 的调用失败(返回E_NOT_OK)或在开发模式(Development Mode)下检测到错误 [SWS_FrIf_05023]。
并发性与限制
执行以同步方式进行,服务 ID 为 0x1b [SWS_FrIf_05023]。关于重入性,该服务针对不同的 FlexRay CC 是可重入的,但对于相同的 FlexRay CC 不得并发调用 [SWS_FrIf_05023]。
本说明由 AI 基于 AUTOSAR Classic R20-11 规范生成。
实现者指南即将推出(复杂度 I1)
函数 FrIf_GetAbsoluteTimerIRQStatus [SWS_FrIf_05027] 📄 PDF
Std_ReturnType FrIf_GetAbsoluteTimerIRQStatus (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx, boolean* FrIf_IRQStatusPtr);
Wraps the Flex Ray Driver API function Fr_ Get Absolute Timer IRQStatus()
函数 FrIf_DisableAbsoluteTimerIRQ [SWS_FrIf_05031] 📄 PDF
Std_ReturnType FrIf_DisableAbsoluteTimerIRQ (uint8 FrIf_CtrlIdx, uint8 FrIf_AbsTimerIdx);
Wraps the Flex Ray Driver API function Fr_ Disable Absolute Timer IRQ().
函数 FrIf_DisableAbsoluteTimerIRQ 是 FlexRay 接口模块的一部分,通过头文件 FrIf.h 提供 [SWS_FrIf_05031]。它用作 FlexRay 驱动 API 函数 Fr_DisableAbsoluteTimerIRQ() 的同步封装器,并将禁用目标绝对定时器中断生成的请求转发至驱动层 [SWS_FrIf_05031]。
调用上下文与参数
使用服务 ID 0x23 同步执行调用 [SWS_FrIf_05031]。该接口不具有输入/输出或纯输出参数,但需要两个必选输入参数 [SWS_FrIf_05031]:
FrIf_CtrlIdx:要寻址的 FlexRay 通信控制器(CC)的索引 [SWS_FrIf_05031]。FrIf_AbsTimerIdx:要配置的绝对定时器的索引 [SWS_FrIf_05031]。
返回值与错误处理
该函数通过返回类型 Std_ReturnType 向调用方返回状态 [SWS_FrIf_05031]:
E_OK:指示对 FlexRay 驱动 API 服务的调用成功并返回了E_OK[SWS_FrIf_05031]。E_NOT_OK:表示 FlexRay 驱动的 API 服务返回了E_NOT_OK,或在开发模式(Development Mode)下检测到错误 [SWS_FrIf_05031]。
并发性与可重入性
根据重入性规范,FrIf_DisableAbsoluteTimerIRQ 针对相同的 FlexRay 通信控制器是不可重入的,但针对不同的 FlexRay CC 是可重入的 [SWS_FrIf_05031]。因此,未经同步不得从不同上下文中对同一控制器实例发起并发调用。
此使用说明基于 AUTOSAR Classic R20-11 规范自动生成。
实现者指南即将推出(复杂度 I1)
函数 FrIf_GetCycleLength [SWS_FrIf_05239] 📄 PDF
uint32 FrIf_GetCycleLength (uint8 FrIf_CtrlIdx);
This API returns the configured time of the configuration parameter "Gd Cycle" in nanoseconds for the Flex Ray controller with index Fr If_ Ctrl Idx.
函数 FrIf_AllSlots [SWS_FrIf_05020] 📄 PDF
Std_ReturnType FrIf_AllSlots (uint8 FrIf_CtrlIdx);
Wraps the Flex Ray Driver API function Fr_ All Slots
同步接口 FrIf_AllSlots 在 FlexRay 接口内用作调用 FlexRay 驱动底层驱动函数 Fr_AllSlots 的封装器 [SWS_FrIf_05020]。该函数通过头文件 FrIf.h 提供,并具有服务 ID 0x33 [SWS_FrIf_05020]。预期的唯一传入参数为 FrIf_CtrlIdx,用于定义要寻址的 FlexRay 通信控制器的逻辑索引 [SWS_FrIf_05020]。该服务不提供输入/输出参数(inout/out)[SWS_FrIf_05020]。
作为返回值,该函数提供状态 Std_ReturnType,具有以下含义 [SWS_FrIf_05020]:
E_OK:对驱动 APIFr_AllSlots的调用成功并返回了E_OK[SWS_FrIf_05020]。E_NOT_OK:对 FlexRay 驱动的调用失败或返回了E_NOT_OK,或者在开发模式下执行期间检测到了错误 [SWS_FrIf_05020]。
关于运行时行为和并发性,FrIf_AllSlots 被规范为不可重入(non reentrant)[SWS_FrIf_05020]。因此,调用方必须确保排除针对受影响控制器的并发或重叠调用。Interpretation:推测该调用必须从受保护的任务上下文中发起,因为该接口在并行访问时不提供自身的可重入性管理。 问题 Q-e4ce542c60b470c8 (未决)
本段文本由人工智能生成;以 AUTOSAR 标准为准。
实现者指南即将推出(复杂度 I1)
函数 FrIf_GetChannelStatus [SWS_FrIf_05030] 📄 PDF
Std_ReturnType FrIf_GetChannelStatus (uint8 FrIf_CtrlIdx, uint16* FrIf_ChannelAStatusPtr, uint16* FrIf_ChannelBStatusPtr);
Wraps the Flex Ray Driver API function Fr_ Get Channel Status() and gets the channel status information.
函数 FrIf_GetClockCorrection [SWS_FrIf_05071] 📄 PDF
Std_ReturnType FrIf_GetClockCorrection (uint8 FrIf_CtrlIdx, sint16* FrIf_RateCorrectionPtr, sint32* FrIf_OffsetCorrectionPtr);
Wraps the Flex Ray Driver API function Fr_ Get Clock Correction () and gets the current clock correction values.
函数 FrIf_GetSyncFrameList [SWS_FrIf_05072] 📄 PDF
Std_ReturnType FrIf_GetSyncFrameList (uint8 FrIf_CtrlIdx, uint8 FrIf_ListSize, uint16* FrIf_ChannelAEvenListPtr, uint16* FrIf_ChannelBEvenListPtr, uint16* FrIf_ChannelAOddListPtr, uint16* FrIf_ChannelBOddListPtr);
Service FrIf_GetSyncFrameList.
函数 FrIf_GetNumStartupFrames [SWS_FrIf_05073] 📄 PDF
Std_ReturnType FrIf_GetNumOfStartupFrames (uint8 FrIf_CtrlIdx, uint8* FrIf_NumOfStartupFramesPtr);
Wraps the Flex Ray Driver API function Fr_ Get Num Of Startup Frames and gets a list of the current number of startup frames seen on the cluster. See variable v Startup Pairs of [12] for details.
函数 FrIf_GetWakeupRxStatus [SWS_FrIf_05102] 📄 PDF
Std_ReturnType FrIf_GetWakeupRxStatus (uint8 FrIf_CtrlIdx, uint8* FrIf_WakeupRxStatusPtr);
Wraps the Flex Ray Driver API function Fr_ Get Wakeup Rx Status and gets the wakeup received information from the Flex Ray controller.
函数 FrIf_CancelTransmit [SWS_FrIf_05070] 📄 PDF
Std_ReturnType FrIf_CancelTransmit (PduIdType TxPduId);
Requests cancellation of an ongoing transmission o f a PDU in a lower layer communication module.
使用
同步函数 FrIf_CancelTransmit 请求中止底层通信模块中正在进行的 PDU 传输 [SWS_FrIf_05070]。作为输入参数传递的 TxPduId 用于标识要中止的 PDU。执行以同步方式进行,并提供类型为 Std_ReturnType 的返回值 [SWS_FrIf_05070]:
E_OK:目标模块已成功执行传输的中止。E_NOT_OK:中止已被目标模块拒绝。
并发性与限制
在并发性方面,FrIf_CancelTransmit 针对不同 PDU ID 是可重入的,但针对相同 TxPduId 是不可重入的 [SWS_FrIf_05070]。因此,在针对相同 PDU ID 从并行上下文进行调用时,调用方可能需要进行外部同步,以避免竞态条件。 问题 Q-38e799ac1564f60f (未决)
错误处理与集成
该接口中未定义具体的 DET 或 DEM 错误代码;中止失败直接通过返回值 E_NOT_OK 指示 [SWS_FrIf_05070]。该服务具有服务 ID 0x4a,并通过头文件 FrIf.h 提供 [SWS_FrIf_05070]。
本使用说明是基于规范自动生成的。
实现者指南即将推出(复杂度 I2)
函数 FrIf_DisableLPdu [SWS_FrIf_05710] 📄 PDF
Std_ReturnType FrIf_DisableLPdu (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);
Wraps the Flex Ray Driver Function Fr_ Disable LPdu. It disables the hardware resource of an LPdu for transmission/ recept ion.
函数 FrIf_DisableLPdu 用作 FlexRay 驱动程序之驱动程序函数 Fr_DisableLPdu 的封装,并禁用 L-PDU 用于发送或接收的底层硬件资源[SWS_FrIf_05710]。
调用与参数
对 FrIf_DisableLPdu 的调用通过服务 ID 为 0x28 的接口 FrIf.h 同步进行[SWS_FrIf_05710]。该函数需要两个输入参数:
FrIf_CtrlIdx:FlexRay 接口上下文中的 FlexRay 通信控制器索引[SWS_FrIf_05710]。FrIf_LPduIdx:用于标识相关 FlexRay 帧的唯一索引[SWS_FrIf_05710]。
返回值与错误处理
该函数返回类型为 Std_ReturnType 的状态作为结果[SWS_FrIf_05710]:
E_OK:API 调用已成功完成 [SWS_FrIf_05710]。E_NOT_OK:API 调用因错误而中止[SWS_FrIf_05710]。
并发性与限制
关于并发行为,FrIf_DisableLPdu 被指定为针对同一设备不可重入(Non Reentrant for the same device)[SWS_FrIf_05710]。因此,必须在调用方避免或同步针对同一控制器或同一设备的并行调用。
该文本由系统自动创建,完全基于规范的信息。
实现者指南即将推出(复杂度 I1)
函数 FrIf_GetTransceiverError [SWS_FrIf_05032] 📄 PDF
Std_ReturnType FrIf_GetTransceiverError (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx, uint32* FrIf_BusErrorState);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Get Transceiver Error. The enum value "FR_ CHANNEL_ AB" shall not be used.
函数 FrIf_EnableTransceiverBranch [SWS_FrIf_05085] 📄 PDF
Std_ReturnType FrIf_EnableTransceiverBranch (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Enable Transceiver Branch. The enum value "FR_ CHANNEL_ AB" shall not be used.
函数 FrIf_EnableTransceiverBranch 作为同步且可重入的封装器,封装底层 FlexRay 收发器驱动的 API 调用 FrTrcv_EnableTransceiverBranch [SWS_FrIf_05085]。通过该接口,可以针对性地激活收发器的特定分支,例如在主动星型拓扑的上下文中 [SWS_FrIf_05085]。函数声明及关联类型通过头文件 FrIf.h 提供 [SWS_FrIf_05085]。
参数与调用条件
调用时必须传递三个输入参数 [SWS_FrIf_05085]:
FrIf_CtrlIdx:寻址相应 FlexRay 通信控制器的索引 [SWS_FrIf_05085]。FrIf_ChnlIdx:指定控制器有效范围内的 FlexRay 通道FrIf_CtrlIdx[SWS_FrIf_05085]。在此存在强制性限制,即不得使用枚举值FR_CHANNEL_AB[SWS_FrIf_05085]。FrIf_BranchIdx:通过从零开始的索引确定应用激活的收发器具体分支 [SWS_FrIf_05085]。
返回值
该函数返回类型为 Std_ReturnType 的状态值,该值直接反映转发的驱动调用的结果 [SWS_FrIf_05085]:
E_OK:驱动服务FrTrcv_EnableTransceiverBranch的调用成功,并返回了E_OK[SWS_FrIf_05085]。E_NOT_OK:驱动服务的调用返回了E_NOT_OK[SWS_FrIf_05085]。
此文本由 AI 基于 AUTOSAR CP R20-11 规范生成。
实现者指南即将推出(复杂度 I1)
函数 FrIf_DisableTransceiverBranch [SWS_FrIf_05028] 📄 PDF
Std_ReturnType FrIf_DisableTransceiverBranch (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_BranchIdx);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Disable Transceiver Branch. The enum value "FR_ CHANNEL_ AB" shall not be used.
同步且可重入的函数FrIf_DisableTransceiverBranch作为包装函数封装了FlexRay收发器驱动程序的服务FrTrcv_DisableTransceiverBranch [SWS_FrIf_05028]。它通过头文件FrIf.h提供,具有服务ID 0x37,并用于有针对性地停用有源星型收发器的特定分支[SWS_FrIf_05028]。
调用时须传递三个输入参数:
FrIf_CtrlIdx:要寻址的FlexRay控制器的索引[SWS_FrIf_05028]。FrIf_ChnlIdx:控制器有效范围内的FlexRay通道。此处存在强制性规定,即不得使用枚举值FR_CHANNEL_AB[SWS_FrIf_05028]。FrIf_BranchIdx:从零开始的索引,用于标识要对其应用操作的收发器相应分支[SWS_FrIf_05028]。
该接口返回类型为Std_ReturnType的状态作为返回值。如果收发器驱动程序的调用成功,它将返回E_OK;如果驱动程序服务报告了E_NOT_OK,则返回E_NOT_OK [SWS_FrIf_05028]。在规范范围内未记录特定的DET或DEM错误消息;失败大概直接源于底层驱动程序的行为。 问题 Q-52d5e5fedd147532 (未决)
本文由 AI 基于 AUTOSAR R20-11 规范生成。
实现者指南即将推出(复杂度 I2)
函数 FrIf_ReconfigLPdu [SWS_FrIf_05048] 📄 PDF
Std_ReturnType FrIf_ReconfigLPdu (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx, uint16 FrIf_FrameId, Fr_ChannelType FrIf_ChnlIdx, uint8 FrIf_CycleRepetition, uint8 FrIf_CycleOffset, uint8 FrIf_PayloadLength, uint16 FrIf_Header CRC); ⚠️
Service FrIf_ReconfigLPdu.
同步函数 FrIf_ReconfigLPdu 用于在 FlexRay 接口(FrIf)中重新配置 L-PDU,并将调用直接传递给 FlexRay 驱动的驱动接口 Fr_ReconfigLPdu [SWS_FrIf_05048]。该接口通过头文件 FrIf.h 提供 [SWS_FrIf_05048]。
参数与配置限制
FrIf_CtrlIdx:寻址 FlexRay 驱动内 FlexRay 通信控制器的索引 [SWS_FrIf_05048]。FrIf_LPduIdx:确定用于标识要配置的 FlexRay 帧的唯一索引 [SWS_FrIf_05048]。FrIf_FrameId、FrIf_CycleRepetition、FrIf_CycleOffset:定义新的 FlexRay 帧 ID 以及 L-PDU 周期过滤机制的重复和偏移 [SWS_FrIf_05048]。FrIf_ChnlIdx:确定类型为Fr_ChannelType的 FlexRay 通道 [SWS_FrIf_05048]。此处严格规定不得使用枚举值FR_CHANNEL_AB[SWS_FrIf_05048]。FrIf_PayloadLength和FrIf_HeaderCRC:指定 L-PDU 应设置的有效负载长度(字节)及关联的标头 CRC [SWS_FrIf_05048]。
返回值与执行上下文
类型为 Std_ReturnType 的返回值指示重新配置的结果:E_OK 表示 API 调用执行成功,而 E_NOT_OK 指示发生错误中止 [SWS_FrIf_05048]。
该函数是同步的,并被规范为不可重入(Non Reentrant)[SWS_FrIf_05048]。因此,不得对其进行并发调用。
本使用说明基于 AUTOSAR Classic R20-11 规范。
实现者指南即将推出(复杂度 I1)
函数 FrIf_GetNmVector [SWS_FrIf_05016] 📄 PDF
Std_ReturnType FrIf_GetNmVector (uint8 FrIf_CtrlIdx, uint8* FrIf_NmVectorPtr);
Derives the Flex Ray NM Vector. Av ailable via Fr If.h
函数 FrIf_GetVersionInfo [SWS_FrIf_05002] 📄 PDF
void FrIf_GetVersionInfo (Std_VersionInfoType* FrIf_VersionInfoPtr);
Returns the version information of this module.
函数 FrIf_ReadCCConfig [SWS_FrIf_05313] 📄 PDF
Std_ReturnType FrIf_ReadCCConfig (uint8 FrIf_CtrlIdx, uint8 FrIf_Config ParamIdx, uint32* FrIf_Config ParamValuePtr); ⚠️
Wraps the Flex Ray Driver API function Fr_ Read CCConfig().
函数 FrIf_ReadCCConfig 代表 FlexRay 接口的一项同步服务,服务 ID 为 0x3b,并通过头文件 FrIf.h 声明 [SWS_FrIf_05313]。其主要任务是作为封装器调用底层 FlexRay 驱动的驱动函数 Fr_ReadCCConfig(),以读取控制器的配置参数 [SWS_FrIf_05313]。
该接口在调用时需要三个参数 [SWS_FrIf_05313]:
FrIf_CtrlIdx(输入):要寻址的 FlexRay 通信控制器(CC)的数字索引。FrIf_ConfigParamIdx(输入):要查询其值的特定配置参数的索引。FrIf_ConfigParamValuePtr(输出):指向用于存储读取的 32 位配置值的存储位置的指针。
类型为 Std_ReturnType 的返回值指示查询的结果 [SWS_FrIf_05313]:
E_OK:对驱动 APIFr_ReadCCConfig()的调用成功执行并返回了E_OK。E_NOT_OK:FlexRay 驱动返回了E_NOT_OK,或在开发模式(Development Mode)下执行期间检测到错误。
在并发性和执行环境方面,FrIf_ReadCCConfig 针对同一 FlexRay 控制器是不可重入的,但针对不同的控制器是可重入的 [SWS_FrIf_05313]。因此,在访问同一控制器时,调用方必须确保适当的同步。在开发模式下检测到的错误推测可能会被转发到 Default Error Tracer(DET)。 问题 Q-bfe56460515de4de (未决)
本使用说明由人工智能生成,并且完全基于 AUTOSAR Classic Release R20-11 的规范数据。
实现者指南即将推出(复杂度 I1)
函数 FrIf_EnableBusMirroring [SWS_FrIf_05726] 📄 PDF
Std_ReturnType FrIf_EnableBusMirroring (uint8 FrIf_ClstIdx, boolean FrIf_MirroringActive);
Enables or disables mirroring for all Flex Ray controllers connected to the addressed Flex Ray cluster.
用法与语义
同步函数 FrIf_EnableBusMirroring 切换连接到所传递 FlexRay 集群的所有 FlexRay 控制器的总线镜像 [SWS_FrIf_05726]。通过参数 FrIf_ClstIdx 寻址相应集群。布尔参数 FrIf_MirroringActive 确定模式:在传递 TRUE 时,针对控制器上接收或发送的每个帧调用接口 Mirror_ReportFlexRayFrame;在传递 FALSE 时,停用将帧转发至镜像模块 [SWS_FrIf_05726]。
返回值与错误处理
函数调用返回类型为 Std_ReturnType 的状态 [SWS_FrIf_05726]:
E_OK:指定集群的镜像模式已成功更新 [SWS_FrIf_05726]。E_NOT_OK:如果全局停用了镜像功能(配置参数FrIfBusMirroringSupport)或存在无效索引,则切换被拒绝 [SWS_FrIf_05726]。解释:尽管名称有所偏差,但E_NOT_OK处的规范说明FrIf_CtrlIdx可能涉及对集群索引FrIf_ClstIdx或所分配控制器的检查。 问题 Q-9daba2ff2b1a3ff1 (未决)
并发与集成
该函数声明为可重入,且具有服务 ID 0x4b;它通过头文件 FrIf.h 提供 [SWS_FrIf_05726]。调用方必须注意执行是同步进行的。未针对该服务列出通过 DET 或 DEM 的额外错误通道。
该文本由 AI 生成;以 AUTOSAR 规范为准。
实现者指南即将推出(复杂度 I2)
函数 FrIf_CheckWakeupByTransceiver [SWS_FrIf_05041] 📄 PDF
void FrIf_CheckWakeupByTransceiver (uint8 FrIf_CtrlIdx, Fr_ChannelType FrIf_ChnlIdx);
Wraps the Flex Ray Transceiver Driver API function Fr Trcv_ Check Wakeup By Transceiver(). The enum value "FR_ CHANNEL_ AB" shall not be used.
用法与调用上下文
函数 FrIf_CheckWakeupByTransceiver(服务 ID 0x39)在 FlexRay 接口中充当 FlexRay 收发器驱动函数 FrTrcv_CheckWakeupByTransceiver() 的同步封装器 [SWS_FrIf_05041]。它通过头文件 FrIf.h 提供,且没有返回值 [SWS_FrIf_05041]。
为了寻址相应的硬件实例,该接口需要两个必选参数 [SWS_FrIf_05041]:
FrIf_CtrlIdx(输入参数,uint8):要寻址的 FlexRay 通信控制器的索引 [SWS_FrIf_05041]。FrIf_ChnlIdx(输入参数,Fr_ChannelType):在指定控制器有效范围内的目标 FlexRay 通道的索引FrIf_CtrlIdx[SWS_FrIf_05041]。
并发性与限制
该规范将该接口标记为可重入,因此可以并发发起同步调用 [SWS_FrIf_05041]。
对于通道参数 FrIf_ChnlIdx 存在严格的使用限制:不得传递枚举值 FR_CHANNEL_AB [SWS_FrIf_05041]。Interpretation:这推测意味着底层收发器驱动不支持在单次调用中对两个通道进行组合唤醒检查,具有两个 FlexRay 通道的系统必须改为顺序或按通道分别进行检查。 问题 Q-a30cf39f0d3ca295 (未决)
此文本由 AI 创建,基于 AUTOSAR R20-11。
实现者指南即将推出(复杂度 I1)
函数 <User_RxIndication> [SWS_FrIf_05045] 📄 PDF
void <User_RxIndication> (PduIdType RxPduId, const PduInfoType* PduInfoPtr);
Indication of a received PDU from a lower layer communication interface module.
回调函数<User_RxIndication>用于从下层通信接口层发出收到PDU的信号[SWS_FrIf_05045]。解释:该标识符大概代表上层的一个可配置回调,在FlexRay数据到达时会收到通知。 问题 Q-a9037bc7502dd9ea (未决)
用法与参数
执行同步进行,没有返回值(void)[SWS_FrIf_05045]。调用时传递两个输入参数[SWS_FrIf_05045]:
RxPduId(PduIdType):接收到的PDU的唯一标识符[SWS_FrIf_05045]。PduInfoPtr(const PduInfoType*):指向结构的指针,该结构包含接收到的PDU的长度(SduLength)、指向有效载荷缓冲区的指针(SduDataPtr)以及相关元数据[SWS_FrIf_05045]。
并发与配置
关于重入性,该函数对于不同的PDU ID是可重入的,但对于相同的PDU ID不得可重入调用[SWS_FrIf_05045]。该接口在模块中以可配置方式提供(“Available via configurable”)[SWS_FrIf_05045]。在源资料中未为此接口定义特定的错误代码、返回值或给DET和DEM的通知[SWS_FrIf_05045]。
本文档自动创建。所有信息均完全基于FrIf模块的规范数据。
函数 <User_TxConfirmation> [SWS_FrIf_05046] 📄 PDF
void <User_TxConfirmation> (PduIdType TxPduId, Std_ReturnType result);
The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.
可配置的回调函数<User_TxConfirmation>由底层通信接口模块调用,以确认PDU发送过程的完成[SWS_FrIf_05046]。它向上层同步报告相应PDU的传输成功还是失败[SWS_FrIf_05046]。
该接口没有返回值(void),并且需要两个输入参数[SWS_FrIf_05046]:
TxPduId(类型PduIdType):表示已传输PDU的唯一ID [SWS_FrIf_05046]。result(类型Std_ReturnType):指示传输的结果,其中E_OK确认传输成功,E_NOT_OK报告PDU传输失败[SWS_FrIf_05046]。
该函数同步工作[SWS_FrIf_05046]。关于并发性,它对于不同的PDU ID是可重入的,但对于相同的PDU ID是不可重入的TxPduId [SWS_FrIf_05046]。因此必须排除针对相同PDU ID的并行确认调用。
除E_NOT_OK之外的特定错误代码或发送给DET或DEM的单独消息未为此调用指定[SWS_FrIf_05046]。解释:由于该接口被标明为可配置,标识符<User_TxConfirmation>大概用作上层实际配置的函数名称的占位符[SWS_FrIf_05046]。 问题 Q-f2a08258df49b3ec (未决)
本文由AI生成,用于辅助理解AUTOSAR规范。
函数 <User_TriggerTransmit> [SWS_FrIf_05047] 📄 PDF
Std_ReturnType <User_TriggerTransmit> (PduIdType TxPduId, PduInfoType* PduInfoPtr);
Within this API, the upper lay er module (called module) shall check whether the AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayInterface available data fits into the buffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual c opied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.
使用
调用同步回调函数<User_TriggerTransmit>以请求上层的SDU数据用于传输[SWS_FrIf_05047]。作为参数,传递要发送的SDU的标识符TxPduId以及类型为PduInfoType*的指针PduInfoPtr [SWS_FrIf_05047]。调用者通过PduInfoPtr->SduDataPtr提供目标缓冲区,并在PduInfoPtr->SduLength中指定可用缓冲区大小[SWS_FrIf_05047]。
被调用的上层模块检查准备好的数据是否适合指定的缓冲区大小[SWS_FrIf_05047]:
- 若数据适合,模块会将其复制到
PduInfoPtr->SduDataPtr中,将PduInfoPtr->SduLength更新为实际复制的字节数,并返回E_OK[SWS_FrIf_05047]。 - 若数据不适合,模块会返回
E_NOT_OK,而不修改PduInfoPtr[SWS_FrIf_05047]。
错误处理与并发
在发生错误时(返回值 E_NOT_OK),未复制任何 SDU 数据。在这种情况下,不得继续使用 PduInfoPtr,因为它可能包含 NULL 指针或指向无效数据 [SWS_FrIf_05047]。
该接口针对不同 PDU ID 是可重入的,但针对相同 PDU ID 是不可重入的 [SWS_FrIf_05047]。该功能的可用性是可配置的 [SWS_FrIf_05047]。
该文本由 AI 生成。所有信息均完全基于 AUTOSAR 版本 R20-11 的规范。
函数 <Free_Op_A> [SWS_FrIf_05316] 📄 PDF
void <Free_Op_A> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);
User defined communication operation in order to support hardware specific or additional communication controller features to increase performance.
函数 <Free_Op_A> 被设计为 FlexRay 接口中的用户自定义通信操作,以支持通信控制器的硬件特定或附加性能特性,从而提高整体性能 [SWS_FrIf_05316]。该接口的声明通过头文件 FrIf_Externals.h 提供 [SWS_FrIf_05316]。
调用规定了两个功能输入参数 [SWS_FrIf_05316]:
FrIf_CtrlIdx(类型uint8):作为索引指示要具体寻址的 FlexRay 通信控制器 [SWS_FrIf_05316]。FrIf_LPduIdx(类型uint16):用作标识相应 FlexRay 帧的唯一索引 [SWS_FrIf_05316]。
该操作同步执行且没有返回值(void);同样未规定输入和输出参数 [SWS_FrIf_05316]。在并发性和调用上下文方面,该函数针对 FrIf_LPduIdx 的不同值是可重入的,但在使用相同索引 FrIf_LPduIdx 时明确不可重入 [SWS_FrIf_05316]。
规范中未列出具体的错误代码以及通过 Default Error Tracer(DET)或 Diagnostic Event Manager(DEM)模块进行错误监控的机制 [SWS_FrIf_05316]。因此,调用组件必须在执行前确保不会发生对同一帧索引的并发访问 [SWS_FrIf_05316]。
本使用说明基于 AUTOSAR 规范自动创建。
函数 <Free_Op_B> [SWS_FrIf_05317] 📄 PDF
void <Free_Op_B> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);
User defined communication operation in order to support hardware specific or additional communication controller features to increase performance.
用户自定义函数 <Free_Op_B> 用于在 FlexRay 接口 [SWS_FrIf_05317] 中执行用户特定的通信操作。其目的在于支持 FlexRay 通信控制器的硬件特定或附加性能特性,以提高通信性能 [SWS_FrIf_05317]。该函数声明通过头文件 FrIf_Externals.h 提供 [SWS_FrIf_05317]。
调用与参数
该操作被同步调用,且不提供返回值(void)[SWS_FrIf_05317]。它处理两个输入参数,同时既不存在输入/输出参数,也不存在输出参数 [SWS_FrIf_05317]:
FrIf_CtrlIdx:要寻址的 FlexRay 通信控制器的索引(类型uint8)[SWS_FrIf_05317]。FrIf_LPduIdx:用于标识相应 FlexRay 帧的唯一索引(类型uint16)[SWS_FrIf_05317]。
并发性与限制
关于可重入性,该函数针对不同的 LPdu 索引(FrIf_LPduIdx)是可重入的,但针对相同的 LPdu 索引被明确指定为不可重入 [SWS_FrIf_05317]。因此,调用方必须确保不会针对同一 PDU 进行并发调用。
解释:由于该操作被标记为用户自定义且存放于 FrIf_Externals.h 中,因此实际实现可能需要以用户特定方式或作为驱动扩展来提供。 问题 Q-6668832db63b9906 (未决)
本文档由 AI 生成。所有陈述均完全基于 R20-11 版本的规范。
函数 <UL_TxConflictNotification> [SWS_FrIf_91001] 📄 PDF
void <UL_TxConflictNotification> (uint8 FrIf_CtrlIdx, uint16 FrIf_LPduIdx);
Notification in case a Tx Conflict has been detected.
使用
一旦在 FlexRay 接口中检测到传输冲突(Tx Conflict),就会调用通知函数 <UL_ Tx Conflict Notification> [SWS_FrIf_91001]。该接口的声明通过头文件 Fr If_ Externals.h 提供 [SWS_FrIf_91001]。
该函数没有返回值,并接收两个输入参数 [SWS_FrIf_91001]:
Fr If_ Ctrl Idx:受寻址 FlexRay 通信控制器的标识符 [SWS_FrIf_91001]。Fr If_ LPdu Idx:受影响已发送 FlexRay 帧的标识符 [SWS_FrIf_91001]。
并发性与限制
调用采用同步语义 [SWS_FrIf_91001]。在并发性方面,针对 Fr If_ LPdu Idx 的不同索引,执行是可重入的,但针对相同 LPdu 索引明确不可重入 [SWS_FrIf_91001]。因此在实现时必须确保阻止针对相同帧索引的并发调用。
错误处理与交互
规范未为该回调接口定义单独的 DET 或 DEM 消息,也未定义特定的错误代码 [SWS_FrIf_91001]。解释:上层可能会提供该调用,以便能够直接记录或处理 FlexRay 传输路径上发生的冲突。 问题 Q-fc63c251dbc03307 (未决)
该文本由 AI 生成并根据固定准则进行审核。技术依据完全来源于规范。
类型 FrIf_ConfigType [SWS_FrIf_05301] 📄 PDF
This type contains the implementation - specific post build time configuration structure. Only pointers of this type are allowed.
类型 FrIf_StateType [SWS_FrIf_05755] 📄 PDF
Variables of this type are used to represent the Fr If_ State of a Flex Ray CC.
使用与取值范围
枚举类型 FrIf_StateType 在头文件 FrIf.h 中定义,并用于在 FlexRay 接口中反映 FlexRay 通信控制器(FlexRay CC)的当前运行状态 [SWS_FrIf_05755]。该类型的变量记录控制器是否已准备好进行通信运行,以及是否与 FlexRay 集群存在同步 [SWS_FrIf_05755]。
取值范围包括两个定义的状态 [SWS_FrIf_05755]:
FRIF_STATE_OFFLINE:FlexRay CC 尚未准备好通信,且 FlexRay 集群未同步 [SWS_FrIf_05755]。FRIF_STATE_ONLINE:FlexRay CC 已准备好通信,且 FlexRay 集群已同步 [SWS_FrIf_05755]。
集成与边界条件
这些状态反映了基本的通信阶段:只要处于 FRIF_STATE_OFFLINE,就无法通过控制器进行常规集群通信,而 FRIF_STATE_ONLINE 则表示已同步的发送和接收运行 [SWS_FrIf_05755]。由于规范摘要未提及其他 API 签名或错误消息,因此该类型可能主要用于 FlexRay 接口的状态查询或状态转换中。 问题 Q-071cd300dcaa0a3b (未决)
该文本由 AI 生成,并基于 AUTOSAR R20-11 规范。
实现者指南即将推出(复杂度 I1)
类型 FrIf_StateTransitionType [SWS_FrIf_05303] 📄 PDF
Variables of this type are used to represent the Fr If_ State of a Flex Ray CC.
枚举类型 FrIf_StateTransitionType 通过头文件 FrIf.h 提供,并根据 [SWS_FrIf_05303] 用于表示或请求 FlexRay 通信控制器(FlexRay CC)的状态转换。
使用与取值范围
该类型的变量获取相应的值,以请求 FlexRay CC 进行有针对性的状态更改 [SWS_FrIf_05303]。取值范围包括以下字面量:
FRIF_GOTO_OFFLINE:用于请求转换至状态FRIF_STATE_OFFLINE的字面量 [SWS_FrIf_05303]。FRIF_GOTO_ONLINE:用于请求转换至状态FRIF_STATE_ONLINE的字面量 [SWS_FrIf_05303]。
上下文与交互
尽管该类型的形式化描述提及了 FlexRay CC 状态的表示,但已定义的字面量提示了一种解释,即该枚举类型主要用作用于指示状态更改(离线或在线)的控制参数 [SWS_FrIf_05303]。由于有效载荷未列出该类型的其他接口、可重入性规定或错误代码,因此适用通过头文件 FrIf.h 包含的通用规则。
该文本由 AI 生成。其基于 AUTOSAR R20-11 和需求 [SWS_FrIf_05303]。
实现者指南即将推出(复杂度 I1)
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_FrIf- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_FrIf@rel:R20-11#0c9a5c2a- Content hash
0c9a5c2a- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayInterface.pdf#nameddest=SWS_FrIf_05003
gemini-3.8-flash-low· 2026-10-13 · 德文原文