FlexRay Transceiver Driver (FrTrcv)
Controls physical bus transceiver states and bus diagnostics on FlexRay lines.
Funktionen — Übersicht
void FrTrcv_Init (const FrTrcv_ConfigType* ConfigPtr);This service initializes the Fr Trcv.Std_ReturnType FrTrcv_SetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType FrTrcv_TrcvMode);This service sets the transceiver mode.Std_ReturnType FrTrcv_GetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType* FrTrcv_TrcvModePtr);This function returns the actual state of the transceiver.Std_ReturnType FrTrcv_GetTransceiverWUReason (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvWUReasonType* FrTrcv_TrcvWUReasonPtr);This function returns the wakeup reason.void FrTrcv_GetVersionInfo (Std_VersionInfoType* versioninfo);This service returns the version information of this module.Std_ReturnType FrTrcv_ClearTransceiverWakeup (uint8 FrTrcv_TrcvIdx);This function clears a pending wake up event.void FrTrcv_CheckWakeupByTransceiver (uint8 FrTrcv_TrcvIdx);-Std_ReturnType FrTrcv_GetTransceiverError (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx, uint32* FrTrcv_BusErrorState);All mandatory errors defined by the Flex Ray EPL [5] which are supported by the Flex Ray transceiver hardware can be acce ssed...Std_ReturnType FrTrcv_DisableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);This function disable s the specified branch on the addressed (active star) transceiver.Std_ReturnType FrTrcv_EnableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);This function enables the specified branch on the addressed (active star) transceiver.void FrTrcv_MainFunction (void);-
Typen — Übersicht
struct FrTrcv_ConfigTypeConfiguration data structure of the Fr Trcv module.enum FrTrcv_TrcvModeTypeTransceiver modes in state ACTIVE.enum FrTrcv_TrcvWUReasonTypeThis type to be used to specify the wake up reason detected by the FR transceiver in detail.ofaCfunctionwhichsubstitutesMultiplicityTypeType ofaCfunctionwhichsubstitutesMultiplicityType.
Funktionen & Typen — Detailansicht
函数 FrTrcv_Init [SWS_FrTrcv_00322] 📄 PDF
void FrTrcv_Init (const FrTrcv_ConfigType* ConfigPtr);
This service initializes the Fr Trcv.
同步函数 FrTrcv_Init 初始化 AUTOSAR Classic Platform 的 FlexRay 收发器驱动([SWS_FrTrcv_00322])。它具有服务 ID 0x00,并通过头文件 FrTrcv.h 提供([SWS_FrTrcv_00322])。模块 FrTrcv 提供该服务用于配置和调试收发器硬件([SWS_FrTrcv_00322])。
该接口需要类型为 const FrTrcv_ConfigType* 的指针 ConfigPtr 作为唯一参数,该指针指向所选的收发器配置数据集([SWS_FrTrcv_00322]):
- 输入参数:
ConfigPtr(指向所选配置集的指针)([SWS_FrTrcv_00322])。 - 输入/输出参数:无([SWS_FrTrcv_00322])。
- 输出参数:无([SWS_FrTrcv_00322])。
- 返回值:
void,不返回状态或错误值([SWS_FrTrcv_00322])。
由于 FrTrcv_Init 被指定为不可重入(Non Reentrant),因此绝不允许并发或多次同时调用该函数([SWS_FrTrcv_00322])。执行同步进行,直到初始化完成([SWS_FrTrcv_00322])。
对于调用上下文和顺序条件,本规范未作明确说明;初始化大概在系统启动期间由基础软件状态管理在所有常规通信活动之前执行。 问题 Q-5fa4966e37b10516 (未决)具体的错误代码、对空指针的响应以及与 DET 或 DEM 的交互均未包含在所提供的规范范围内,因此不再进一步阐述([SWS_FrTrcv_00322])。
此使用说明基于 AUTOSAR Classic R20-11 规范自动生成。
实现者指南即将推出(复杂度 I1)
函数 FrTrcv_SetTransceiverMode [SWS_FrTrcv_00323] 📄 PDF
Std_ReturnType FrTrcv_SetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType FrTrcv_TrcvMode);
This service sets the transceiver mode.
同步函数 FrTrcv_SetTransceiverMode 用于切换 FlexRay 收发器的运行模式 [SWS_FrTrcv_00323]。该服务的声明通过头文件 FrTrcv.h 提供 [SWS_FrTrcv_00323]。
参数与控制
该函数需要两个输入参数 [SWS_FrTrcv_00323]:
FrTrcv_TrcvIdx:该从零开始的索引用于标识收发器驱动内要为其执行状态更改的具体收发器 [SWS_FrTrcv_00323]。FrTrcv_TrcvMode:选择收发器应转换至的目标状态 [SWS_FrTrcv_00323]。此时需要注意,转换到可选状态可能会失败 [SWS_FrTrcv_00323]。
返回值与错误情况下的行为
模式切换的结果通过类型为 Std_ReturnType 的返回值同步传递 [SWS_FrTrcv_00323]:
E_OK:指示收发器的状态已成功切换至所需模式 [SWS_FrTrcv_00323]。E_NOT_OK:指示状态转换失败;收发器的先前状态在此过程中保持不变 [SWS_FrTrcv_00323]。
并发性
该服务被指定为不可重入(Non Reentrant)并具有同步执行语义 [SWS_FrTrcv_00323]。基于属性 Non Reentrant,调用上下文可能负责确保对驱动程序的并行或重叠调用得到保护。 问题 Q-b83c7a2879a572b7 (未决)
该使用说明自动生成,且完全基于 AUTOSAR 版本 R20-11 的规范数据。
实现者指南即将推出(复杂度 I1)
函数 FrTrcv_GetTransceiverMode [SWS_FrTrcv_00324] 📄 PDF
Std_ReturnType FrTrcv_GetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType* FrTrcv_TrcvModePtr);
This function returns the actual state of the transceiver.
函数 FrTrcv_GetTransceiverWUReason [SWS_FrTrcv_00325] 📄 PDF
Std_ReturnType FrTrcv_GetTransceiverWUReason (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvWUReasonType* FrTrcv_TrcvWUReasonPtr);
This function returns the wakeup reason.
函数 FrTrcv_GetVersionInfo [SWS_FrTrcv_00326] 📄 PDF
void FrTrcv_GetVersionInfo (Std_VersionInfoType* versioninfo);
This service returns the version information of this module.
函数 FrTrcv_ClearTransceiverWakeup [SWS_FrTrcv_00329] 📄 PDF
Std_ReturnType FrTrcv_ClearTransceiverWakeup (uint8 FrTrcv_TrcvIdx);
This function clears a pending wake up event.
用法与语义
同步函数 FrTrcv_ClearTransceiverWakeup 用于重置 FlexRay 收发器上的挂起唤醒事件 [SWS_FrTrcv_00329]。它在头文件 FrTrcv.h 中声明,并具有服务 ID 0x0c [SWS_FrTrcv_00329]。
通过从零开始的输入参数 FrTrcv_TrcvIdx 指定驱动程序内的相关收发器 [SWS_FrTrcv_00329]。
错误处理与返回值
类型为 Std_ReturnType 的返回值告知操作的结果 [SWS_FrTrcv_00329]:
E_OK:收发器唤醒源的唤醒事件已成功清除 [SWS_FrTrcv_00329]。E_NOT_OK:参数FrTrcv_TrcvIdx超出有效范围;在这种情况下,唤醒状态保持不变 [SWS_FrTrcv_00329]。
并发性与限制
该函数被指定为不可重入 [SWS_FrTrcv_00329]。因此,调用方必须确保针对同一实例的调用不会中断或并行发生。由于该函数被定义为同步函数,因此唤醒事件的清除大概在调用期间直接在驱动程序层完成。 问题 Q-e548008f8bae0ff0 (未决)
该使用说明基于规范 SWS_FrTrcv_00329 自动生成。
函数 FrTrcv_CheckWakeupByTransceiver [SWS_FrTrcv_00331] 📄 PDF
void FrTrcv_CheckWakeupByTransceiver (uint8 FrTrcv_TrcvIdx);
-
用法与调用上下文
函数 FrTrcv_CheckWakeupByTransceiver 属于 FlexRay 收发器驱动(模块 FrTrcv),并通过头文件 FrTrcv.h 声明 [SWS_FrTrcv_00331]。该函数具有服务 ID 0x0e,并同步执行 [SWS_FrTrcv_00331]。它仅接收一个类型为 uint8 的输入参数 FrTrcv_TrcvIdx,该参数作为从零开始的索引,指定在收发器驱动上下文中要为其执行操作的相应收发器 [SWS_FrTrcv_00331]。既不存在输入/输出参数,也不存在纯输出参数,并且该函数不提供返回值(void)[SWS_FrTrcv_00331]。
规范数据中未存储详细的功能描述。解释:从命名来看,该函数可能用于检查寻址的收发器硬件上是否存在唤醒事件(Wakeup)或是否已被其检测到 [SWS_FrTrcv_00331]。 问题 Q-9b8b5d8fb8e4543f (未决)
并发与错误处理
关于并发行为,FrTrcv_CheckWakeupByTransceiver 被归类为可重入 [SWS_FrTrcv_00331]。这允许针对系统中不同的收发器实例进行并发调用。在此规范元素中,未定义特定的错误处理机制,例如针对无效索引的检查或向 Default Error Tracer(DET)或 Diagnostic Event Manager(DEM)的报告 [SWS_FrTrcv_00331]。
本使用说明由 AI 生成,并完全基于 AUTOSAR R20-11 软件包的规范说明。
函数 FrTrcv_GetTransceiverError [SWS_FrTrcv_00419] 📄 PDF
Std_ReturnType FrTrcv_GetTransceiverError (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx, uint32* FrTrcv_BusErrorState);
All mandatory errors defined by the Flex Ray EPL [5] which are supported by the Flex Ray transceiver hardware can be acce ssed via this API:In addition to errors on the physical layer and local to the ECU hardware, a global error flag is provided.
函数 FrTrcv_DisableTransceiverBranch [SWS_FrTrcv_00442] 📄 PDF
Std_ReturnType FrTrcv_DisableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);
This function disable s the specified branch on the addressed (active star) transceiver.
同步函数 FrTrcv_DisableTransceiverBranch 用于禁用寻址的有源星型收发器([SWS_FrTrcv_00442])上的单个指定分支。它通过头文件 FrTrcv.h 提供,且服务 ID 为 0x0f([SWS_FrTrcv_00442])。
参数与调用上下文
调用以同步方式进行,并被指定为不可重入(Non Reentrant)([SWS_FrTrcv_00442])。该函数需要两个从零开始的输入参数:
FrTrcv_TrcvIdx:从零开始的索引,用于在收发器驱动程序上下文中标识要对其应用操作的收发器([SWS_FrTrcv_00442])。FrTrcv_BranchIdx:从零开始的索引,用于确定寻址的有源星型收发器上要禁用的分支([SWS_FrTrcv_00442])。
返回值与错误处理
操作结果通过返回类型 Std_ReturnType 进行指示([SWS_FrTrcv_00442]):
E_OK:指定的收发器分支已成功禁用([SWS_FrTrcv_00442])。E_NOT_OK:参数FrTrcv_TrcvIdx或FrTrcv_BranchIdx超出有效范围([SWS_FrTrcv_00442])。在这种错误情况下,收发器分支的状态保持不变([SWS_FrTrcv_00442])。
限制与并发性
由于 FrTrcv_DisableTransceiverBranch 不可重入,调用不得在无保护的情况下并发执行([SWS_FrTrcv_00442])。此外,调用者必须确保两个索引均在配置的限制范围内,以避免被拒绝且分支状态保持不变([SWS_FrTrcv_00442])。
本使用说明基于版本 R20-11 中的规范 SWS_FrTrcv_00442。
函数 FrTrcv_EnableTransceiverBranch [SWS_FrTrcv_00443] 📄 PDF
Std_ReturnType FrTrcv_EnableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);
This function enables the specified branch on the addressed (active star) transceiver.
同步函数 FrTrcv_EnableTransceiverBranch 用于激活所寻址收发器上的特定分支,通常用于有源星型拓扑(Active Star)[SWS_FrTrcv_00443]。
参数与调用上下文
FrTrcv_TrcvIdx:驱动上下文中收发器的从零开始的索引 [SWS_FrTrcv_00443]。FrTrcv_BranchIdx:要激活的特定收发器分支的从零开始的索引 [SWS_FrTrcv_00443]。
返回值与错误处理
该函数返回类型为 Std_ReturnType 的状态 [SWS_FrTrcv_00443]:
E_OK:指定的收发器分支已成功激活 [SWS_FrTrcv_00443]。E_NOT_OK:其中一个参数(FrTrcv_TrcvIdx或FrTrcv_BranchIdx)超出有效范围;在此情况下分支的状态保持不变 [SWS_FrTrcv_00443]。
并发性与限制
该调用为同步执行,且被指定为不可重入(Non Reentrant)[SWS_FrTrcv_00443]。因此,调用方必须确保不会针对相同或并行的上下文并发调用该函数。
本使用说明基于规范自动生成。
函数 FrTrcv_MainFunction [SWS_FrTrcv_00330] 📄 PDF
void FrTrcv_MainFunction (void);
-
函数 FrTrcv_MainFunction 构成了 FlexRay 收发器驱动程序(模块 FrTrcv)的周期性主函数,并分配有服务 ID 0x0d [SWS_FrTrcv_00330]。该 C 接口定义为签名 void FrTrcv_MainFunction (void) 的无参数函数,因此在调用时既不传递输入参数,也没有状态值作为返回类型 [SWS_FrTrcv_00330]。
头文件 SchM_FrTrcv.h 被指定为该函数的包含文件 [SWS_FrTrcv_00330]。通过 Schedule Manager 接口提供该函数支持了这样一种推测:在系统运行期间,该调用通常由 BSW 调度器在已配置的操作系统任务上下文中周期性执行。
由于缺少参数和返回值,收发器产生的控制和监控流程应该在模块内部自主执行。 问题 Q-2710fa5096bf4d90 (未决)关于重入性、并发性、DET 错误处理或与其他驱动程序接口的相互作用等各方面,规范在此处未作规定 [SWS_FrTrcv_00330]。
本使用说明由 AI 生成,并完全基于 R20-11 版本的规范内容。
类型 FrTrcv_ConfigType [SWS_FrTrcv_00487] 📄 PDF
Configuration data structure of the Fr Trcv module.
类型 FrTrcv_TrcvModeType [SWS_FrTrcv_00481] 📄 PDF
Transceiver modes in state ACTIVE. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayTransceiverDriver
根据 [SWS_FrTrcv_00481],枚举类型 FrTrcv_TrcvModeType 指定了在顶层操作状态 ACTIVE 下 FlexRay 收发器的允许操作模式。类型化定义是 FlexRay 收发器驱动 FrTrcv 的组成部分,并通过头文件 Fr_GeneralTypes.h 在平台范围内为上层软件模块提供 [SWS_FrTrcv_00481]。
该枚举包含用于收发器操作的四种已定义状态 [SWS_FrTrcv_00481]:
FRTRCV_TRCVMODE_NORMAL:表示收发器处于常规操作状态 NORMAL [SWS_FrTrcv_00481]。FRTRCV_TRCVMODE_STANDBY:表示收发器处于省电就绪状态 STANDBY [SWS_FrTrcv_00481]。FRTRCV_TRCVMODE_SLEEP:表示收发器处于休眠状态 SLEEP [SWS_FrTrcv_00481]。FRTRCV_TRCVMODE_RECEIVEONLY:表示收发器处于 RECEIVEONLY 状态且仅允许接收过程 [SWS_FrTrcv_00481]。
在使用与交互方面,该类型充当用于控制以及获取 FlexRay 收发器硬件状态的核心接口量(解释:由于有效负载中不包含函数签名,枚举值可能作为用于切换操作模式的函数调用的参数以及状态查询时的反馈)。 问题 Q-205f2b0575c32460 (未决)规范中未为此基础枚举类型定义特定的错误代码、通过 DET 或 DEM 进行的错误处理以及关于可重入性的限制 [SWS_FrTrcv_00481]。
本使用说明自动生成,并基于 AUTOSAR CP R20-11 规范。
实现者指南即将推出(复杂度 I1)
类型 FrTrcv_TrcvWUReasonType [SWS_FrTrcv_00074] 📄 PDF
This type to be used to specify the wake up reason detected by the FR transceiver in detail.
类型 ofaCfunctionwhichsubstitutesMultiplicityType [SWS_FrTrcv_00497] 📄 PDF
Type ofaCfunctionwhichsubstitutesMultiplicityType.
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_FrTrcv- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_FrTrcv@rel:R20-11#7720e607- Content hash
7720e607- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayTransceiverDriver.pdf#nameddest=SWS_FrTrcv_00322
gemini-3.8-flash-low· 2026-10-13 · 德文原文