DEENESPTFRRUARHIKOZHNL

FlexRay Driver (Fr)

ModulFr (FlexRay Driver)
BSW-Modul-ID81
Standard-Header#include "Fr.h"
SWS-SpezifikationAUTOSAR_SWS_FlexRayDriver.pdf
ClusterFlexRay

模块指南人工智能生成

作为统一访问 FlexRay 控制器的接口提供给 FlexRay Interface:启动、停止、唤醒、发送、接收。
AI 生成 未审核 模型: claude-opus-5-5 · 推理强度: high · 温度: 不可控 · 提示词: ff0400b6ca26 来源 未决问题(4)
因果锚点:R20-11 自 R20-11 起有效 为此规范版本重新合成。
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

作为统一访问 FlexRay 控制器的接口提供给 FlexRay Interface:启动、停止、唤醒、发送、接收。

FlexRay 驱动程序封装了 FlexRay 通信控制器。除由 EcuM 进行初始化外,仅由 FlexRay Interface Fr-SWS 第15页 使用。它控制控制器的 POC 状态机:初始化、启动、唤醒、延迟停止和立即中止。它通过配置的 LPdu 发送数据、检查发送状态并进行接收;此外还提供全局时间和绝对定时器。许多服务都需要特定的 POC 状态或与全局时间同步,否则 Fr 会报告运行时错误 FR_E_INV_POCSTATE [SWS_Fr_91004]。

FlexRay 驱动程序封装了一个或多个 FlexRay 通信控制器 (CC)。其唯一用户是 FlexRay Interface;仅通过 Fr_Init 进行的初始化由 EcuM Fr-SWS 第15页 接管。每个服务都通过 Fr_CtrlIdx(例如 Fr_ControllerInit [SWS_Fr_00017])寻址控制器。配置分为两部分:集群参数和 LPdu 分配位于 FrIf,控制器相关参数位于 Fr Fr-SWS 第25页。

在核心层面,Fr 控制 CC 的 POC 状态机。仅允许五个服务更改该状态 Fr-SWS 第23页:

  • Fr_ControllerInit 通过 POC:config 将 CC 引导至 POC:ready。
  • Fr_StartCommunication 异步启动 Startup [SWS_Fr_00010]。
  • Fr_SendWUP 发送唤醒模式。
  • Fr_HaltCommunication 在周期结束时停止。
  • Fr_AbortCommunication 立即中止 [SWS_Fr_00011]。

在 Fr_StartCommunication 之后,不能保证处于 POC:normal active 或 normal passive。Interpretation:因此调用者可以通过 Fr_GetPOCStatus 跟踪进度。 问题 (未决)

poc default_config POC:default config config POC:config default_config->config Fr_ControllerInit* ready POC:ready config->ready Fr_ControllerInit* ready->ready Fr_SetWakeupChannel (CONFIG … CONFIG_COMPLETE) wakeup POC:wakeup ready->wakeup Fr_SendWUP (WAKEUP) startup POC:startup ready->startup Fr_StartCommunication (RUN) wakeup->ready 完成后隐式进行 normal_active POC:normal active startup->normal_active 成功时隐式进行 normal_passive POC:normal passive startup->normal_passive 成功时隐式进行 halt POC:halt normal_active->halt Fr_HaltCommunication (DEFERRED_HALT, Zyklusende) normal_passive->halt Fr_HaltCommunication (Annahme) halt->config Fr_ControllerInit* beliebig beliebiger Zustand beliebig->halt Fr_AbortCommunication (FREEZE)

状态图:POC 状态以及触发它们的 Fr 服务。来源:Fr-SWS 第23页、[SWS_Fr_00505]

数据作为 LSdu 通过配置的 LPdu 流动。Fr_TransmitTxLPdu 进行异步发送 [SWS_Fr_00092]。FrIf 在其作业列表中使用 Fr_CheckTxLPduStatus 查询发送状态,并且仅在 FR_TRANSMITTED 时向上层确认 FrIf-SWS 第38页。Fr_ReceiveRxLPdu 提供数据和状态;值 FR_RECEIVED_MORE_DATA_AVAILABLE 指示更多 FIFO 条目 [SWS_Fr_00512]。此外还有缓冲区重配置、全局时间和绝对定时器。

发送与发送确认Obere SchichtISRFrIfFrUse Case: 通过直接缓冲区访问发送FrIf_Transmit(TxPduId, PduInfoPtr)Fr_CtrlIdx, Fr_LPduIdx,确定 Fr_LSduPtr 和长度Fr_TransmitTxLPdu(Fr_CtrlIdx, Fr_LPduIdx,Fr_LSduPtr, Fr_LSduLength, Fr_SlotAssignmentPtr)E_OKoptE_OK增加 PDU 的 TxConfCounterFrIf_Transmit 返回Use Case: 作业列表中的发送确认FrIf_JobListExec_<Cluster>()Fr_CheckTxLPduStatus(Fr_CtrlIdx, Fr_LPduIdx,Fr_TxLPduStatusPtr, Fr_SlotAssignmentPtr)Fr_TxLPduStatusTypeoptFR_TRANSMITTEDloop针对帧中每个 TxConfCounter > 0 的 PDUTxConfCounter verringern<UL_TxConfirmation>(PduId)

时序图:具有直接缓冲区访问的发送以及后续解耦发生的发送确认。来源:FrIf-SWS 第106页、FrIf-SWS 第112页

在发生错误时,服务返回 E_NOT_OK 并保持其输出参数不变 Fr-SWS 第36页。硬件错误作为 FR_E_CTRL_TESTRESULT 发送至 DEM,时隙状态中的协议错误作为 FR_E_LPDU_SLOTSTATUS [SWS_Fr_00600] 发送。在启用检测时,还会增加开发错误(如 FR_E_INV_CTRL_IDX)[SWS_Fr_91003]。如果 CC 未处于预期的 POC 状态,Fr 将报告运行时错误 FR_E_INV_POCSTATE [SWS_Fr_91004]。

在 FlexRay 协议栈中的角色:面向 FrIf 和 EcuM 的控制器访问

FlexRay 驱动程序 (Fr) 封装了一个或多个 FlexRay 通信控制器 (CC)。其唯一用户是 FlexRay Interface (FrIf)。由 EcuM 调用的通过 Fr_Init 进行的初始化构成一个例外 Fr-SWS 第15页。所有其他服务均通过 Fr_CtrlIdx(例如 Fr_ControllerInit [SWS_Fr_00017])寻址控制器。CC 与其他组件共享的资源(例如 PLL 配置或内存映射)不由 Fr 自身配置。这些资源的初始化必须在 Fr 的初始化之前完成 Fr-SWS 第15页。

为了保证数据一致性,Fr 使用带有 SchM_Enter_Fr 和 SchM_Exit_Fr 的 BSW 调度器;可选地,它通过 Det_ReportError [SWS_Fr_00391] 报告开发错误。此外,规范将 Dem_SetEventStatus 和 Det_ReportRuntimeError 列为接口 [SWS_Fr_00390]。从 FrIf 的角度来看,POC 控制、数据路径和绝对定时器是强制接口 FrIf-SWS 第95页。相反,诸如 Fr_AllSlots、Fr_CancelTxLPdu 或 Fr_GetNmVector 之类的服务仅由 FrIf 可选使用 FrIf-SWS 第97页。

kontext ul Obere Schichten (Upper Layer for FrIf) frif FrIf ul->frif FrIf_Transmit ecum EcuM fr Fr (FlexRay-Treiber) ecum->fr Fr_Init frif->ul TxConfirmation / RxIndication frif->fr 所有其余 Fr_ 服务 (Fr_CtrlIdx, Fr_LPduIdx) cc FlexRay-CC (Hardware) fr->cc CHI-Befehle, Puffer, Register dem Dem fr->dem Dem_SetEventStatus det Det fr->det Det_ReportError, Det_ReportRuntimeError schm SchM fr->schm SchM_Enter_Fr / SchM_Exit_Fr shared 具有共享资源的主机模块 (例如 PLL、内存映射) shared->fr Initialisierung vor Fr

上下文图:Fr 位于 FrIf/EcuM 与 CC 硬件之间,并向 DEM、DET 和 SchM 报告。来源:Fr-SWS 第15页、[SWS_Fr_00390]、[SWS_Fr_00391]

POC 控制:从 Fr_Init 到同步通信

每个 CC 都运行协议操作控制 (POC) 的状态机。其转换部分由硬件事件触发,部分由主机的 CHI 命令触发 Fr-SWS 第23页。仅允许 Fr_StartCommunication、Fr_HaltCommunication、Fr_AbortCommunication、Fr_SendWUP 和 Fr_ControllerInit 更改 POC 状态。状态由 Fr_POCStateType 映射 [SWS_Fr_00505]。

Fr_Init 仅保存配置地址以供后续调用使用,不对 CC 提出任何前提条件 Fr-SWS 第39页。Fr_ControllerInit 将 CC 从任何状态切换到 POC:config 并加载集群和节点参数以及缓冲区。之后,该函数使 CC 保持在 POC:ready 状态,且没有待处理的发送请求 Fr-SWS 第41页。Fr_StartCommunication 使用 CHI 命令 RUN 异步启动 Startup [SWS_Fr_00010]。之后 CC 是否达到 POC:normal active 或 normal passive 并不能得到保证 Fr-SWS 第42页。Interpretation:因此调用者可以通过 Fr_GetPOCStatus 跟踪进度,该函数将状态作为 Fr_POCStatusType 返回 [SWS_Fr_00510]。Fr_AllowColdstart 在 POC:ready 或 POC:startup 中是允许的 [SWS_Fr_00114]。Fr_AllSlots 需要与全局时间同步,并从下一个周期开始从关键时隙操作切换到全部时隙操作 Fr-SWS 第44页。 问题 Q-aa60617897af9f9f (未决)

终止有两种途径。Fr_HaltCommunication 发出 DEFERRED_HALT;POC:halt 仅在当前周期结束时达到 Fr-SWS 第45页。相反,Fr_AbortCommunication 使用 FREEZE 同步中止,并从任何状态引导至 POC:halt [SWS_Fr_00011],Fr-SWS 第47页。

poc default_config POC:default config config POC:config default_config->config Fr_ControllerInit* ready POC:ready config->ready Fr_ControllerInit* ready->ready Fr_SetWakeupChannel (CONFIG … CONFIG_COMPLETE) wakeup POC:wakeup ready->wakeup Fr_SendWUP (WAKEUP) startup POC:startup ready->startup Fr_StartCommunication (RUN) wakeup->ready 完成后隐式进行 normal_active POC:normal active startup->normal_active 成功时隐式进行 normal_passive POC:normal passive startup->normal_passive 成功时隐式进行 halt POC:halt normal_active->halt Fr_HaltCommunication (DEFERRED_HALT, Zyklusende) normal_passive->halt Fr_HaltCommunication (Annahme) halt->config Fr_ControllerInit* beliebig beliebiger Zustand beliebig->halt Fr_AbortCommunication (FREEZE)

状态图:CC 的 POC 状态及触发它们的 Fr 服务;标有 * 的转换由 Fr_ControllerInit 的单次调用完成。来源:Fr-SWS 第23页、[SWS_Fr_00505]、Fr-SWS 第49页

初始化与通信启动EcuMFrIfFrFlexRay-CCUse Case: 驱动与控制器初始化Fr_Init(Fr_ConfigPtr)Konfigurationsadresse speichernFr_ControllerInit(Fr_CtrlIdx)切换至 POC:config集群/节点参数及Puffer konfigurieren切换至 POC:readyE_OKUse Case: KommunikationsstartoptKaltstart erlaubtFr_AllowColdstart(Fr_CtrlIdx)CHI ALLOW_COLDSTARTE_OKFr_StartCommunication(Fr_CtrlIdx)CHI RUNE_OK (asynchron)POC:startup – 无法保证成功loopbis POC:normal active/passive (Interpretation)Fr_GetPOCStatus(Fr_CtrlIdx, Fr_POCStatusPtr)vPOC lesenE_OK, Fr_POCStatusTypeFr_AllSlots(Fr_CtrlIdx)CHI ALL_SLOTS(自下一周期起)E_OK

时序图:分阶段初始化和通信启动;Startup 在 CC 中异步运行。来源:Fr-SWS 第41页、Fr-SWS 第42页、Fr-SWS 第43页

通过选定通道唤醒

Fr_SetWakeupChannel 选择 FR_CHANNEL_A 或 FR_CHANNEL_B 作为唤醒通道 [SWS_Fr_00091]。为此,CC 使用 CHI 命令 CONFIG 短暂切换到 POC:config,并使用 CONFIG_COMPLETE 返回到 POC:ready Fr-SWS 第49页。Fr_SendWUP 仅在 POC:ready 中被允许,并使用 WAKEUP 启动唤醒模式的传输。在此期间,CC 经历 POC:wakeup 并随后返回到 POC:ready。发送模式不能保证集群的所有节点都会唤醒 Fr-SWS 第48页。

结果由 Fr_WakeupStatusType 在 POC 状态中指示,例如作为 FR_WAKEUP_TRANSMITTED、FR_WAKEUP_RECEIVED_WUP 或碰撞情况 [SWS_Fr_00508]。FlexRay State Manager 会评估这些值 FrSM-SWS 第19页。此外,Fr_GetWakeupRxStatus 以位编码方式报告在通道 A(位 0)还是通道 B(位 1)上接收到了唤醒模式 [SWS_Fr_00587]。

设置唤醒通道并发送唤醒模式FrIfFrFlexRay-CCUse Case: Wakeup-Kanal festlegenFr_SetWakeupChannel(Fr_CtrlIdx, FR_CHANNEL_A)CHI CONFIG (POC:config)Wakeup-Kanal konfigurierenCHI CONFIG_COMPLETE (POC:ready)E_OKUse Case: Weckmuster sendenFr_SendWUP(Fr_CtrlIdx)CHI WAKEUPE_OK (asynchron)POC:wakeup, danach wieder POC:readyUse Case: 检查结果Fr_GetPOCStatus(Fr_CtrlIdx, Fr_POCStatusPtr)WakeupStatus, z. B. FR_WAKEUP_TRANSMITTEDFr_GetWakeupRxStatus(Fr_CtrlIdx, Fr_WakeupRxStatusPtr)Empfangsindikatoren A/B lesenE_OK, Bit 0 = Kanal A, Bit 1 = Kanal B

时序图:首先通过短暂的 CONFIG 间接路径设置通道,然后发送唤醒模式并查询状态。来源:Fr-SWS 第49页、Fr-SWS 第48页、Fr-SWS 第78页

L-PDU 数据路径:发送、确认、接收

数据作为 LSdu 通过在 FrIf 中配置且由 Fr_LPduIdx 唯一标识的 LPdu 流动。Fr_TransmitTxLPdu 将缓冲区和长度异步传递给发送资源 [SWS_Fr_00092]。通过 Fr_SlotAssignmentPtr,调用者获取周期、时隙 ID 和通道(Fr_SlotAssignmentType、[SWS_Fr_91002]);如果传递 NULL_PTR,则省去该信息 Fr-SWS 第53页。FrIf 直接从 FrIf_Transmit 调用 Fr_TransmitTxLPdu,并在 E_OK 时增加 PDU 的 TxConfCounter FrIf-SWS 第106页。

在其作业列表中,FrIf 查询 Fr_CheckTxLPduStatus [SWS_Fr_00094]。可能的结果有 FR_TRANSMITTED、FR_TRANSMITTED_CONFLICT 和 FR_NOT_TRANSMITTED [SWS_Fr_00511]。仅在 FR_TRANSMITTED 时才向上层进行 TxConfirmations FrIf-SWS 第38页。Fr_CancelTxLPdu 终止待处理的发送请求并返回 E_OK;如果没有挂起的请求,则返回 E_NOT_OK Fr-SWS 第54页。

发送与发送确认Obere SchichtISRFrIfFrUse Case: 通过直接缓冲区访问发送FrIf_Transmit(TxPduId, PduInfoPtr)Fr_CtrlIdx, Fr_LPduIdx,确定 Fr_LSduPtr 和长度Fr_TransmitTxLPdu(Fr_CtrlIdx, Fr_LPduIdx,Fr_LSduPtr, Fr_LSduLength, Fr_SlotAssignmentPtr)E_OKoptE_OK增加 PDU 的 TxConfCounterFrIf_Transmit 返回Use Case: 作业列表中的发送确认FrIf_JobListExec_<Cluster>()Fr_CheckTxLPduStatus(Fr_CtrlIdx, Fr_LPduIdx,Fr_TxLPduStatusPtr, Fr_SlotAssignmentPtr)Fr_TxLPduStatusTypeoptFR_TRANSMITTEDloop针对帧中每个 TxConfCounter > 0 的 PDUTxConfCounter verringern<UL_TxConfirmation>(PduId)

时序图:具有直接缓冲区访问的发送;确认随后在作业列表中解耦进行。来源:FrIf-SWS 第106页、FrIf-SWS 第112页、[SWS_Fr_00094]

Fr_ReceiveRxLPdu 将有效载荷数据、长度和状态 Fr_RxLPduStatusType 同步复制到调用者的缓冲区中 [SWS_Fr_00093]。值 FR_RECEIVED_MORE_DATA_AVAILABLE 指示接收 FIFO 中的更多实例 [SWS_Fr_00512]。如果配置的过滤条件适用于硬件 FIFO,Fr 将使用该硬件 FIFO。每次调用随后取出第一个有效帧;不存在专用的 FIFO API Fr-SWS 第22页。因此,在 ReceiveAndIndicate 时,FrIf 会重复查询,直到返回 FR_NOT_RECEIVED 或达到 FrIfRxComOpMaxLoop FrIf-SWS 第41页。

通过 ReceiveAndIndicate 接收ISRFrIfFrObere SchichtFrIf_JobListExec_<Cluster>()Fr_CtrlIdx, Fr_LPduIdx, Zwischenpuffer festlegen;ComOpLoopCounter = 0loopComOpLoopCounter < FrIfRxComOpMaxLoopFr_ReceiveRxLPdu(Fr_CtrlIdx, Fr_LPduIdx, Fr_LSduPtr,Fr_LPduStatusPtr, Fr_LSduLengthPtr, Fr_SlotAssignmentPtr)从接收缓冲区或首个有效 FIFO 条目复制 LSduE_OK、Fr_RxLPduStatusType、长度altFR_NOT_RECEIVEDCommunication Operation beendetFR_RECEIVED / FR_RECEIVED_MORE_DATA_AVAILABLEoptBus Mirroring aktivMirror_ReportFlexRayFrame() aufrufen针对帧中的每个 PDU 调用 <UL_RxIndication>(PduId, ...)

时序图:在受限循环中接收,直到不再有数据待处理。来源:FrIf-SWS 第41页、FrIf-SWS 第115页、[SWS_Fr_00512]

配置、实例引用和缓冲区重配置

配置分为两部分:集群参数位于 FrIf,控制器相关参数位于 Fr。所有发送和接收规范(FrIfLPdu、FrIfFrameTriggering)仅存在于 FrIf 中 Fr-SWS 第25页。每个控制器都有一个容器 FrController (1..*),其中包含 FrCtrlIdx 和 FrP… 协议参数 Fr-SWS 第98页。在 R20-11 中,Fr_ConfigType 是从 void 派生的类型,用于实现特定的后构建配置 [SWS_Fr_91001]。相反,来自 R24-11 的文档位置将其列为 Structure Fr-SWS 第34页;对于 R20-11,以 Requirement 为准。如果组合了多个 FlexRay 驱动程序,则 Fr_GeneralTypes.h 在源码树中只能出现一次 Fr-SWS 第32页。Fr_ReadCCConfig 通过 FR_CIDX_… 索引从 [SWS_Fr_00651] 中读取单个参数。

LPdu 资源可以在运行时调整。只要配置生成器使用重新配置,Fr_PrepareLPdu 就会配置分配的资源(时隙 ID、周期过滤器、长度、报头 CRC)。该功能可以通过 FrPrepareLPduSupport 关闭 Fr-SWS 第61页。FrIf 将其作为通信操作 PREPARE_LPDU 调用;即使驱动程序未重新配置,这也会消耗运行时间 FrIf-SWS 第42页。Fr_ReconfigLPdu 重新设置帧 ID、通道、周期过滤器、有效载荷长度和报头 CRC [SWS_Fr_00524]。在此过程中,它不会重新计算 CRC,而只是检查其是否在 0–2047 范围内。Fr_DisableLPdu 将资源从发送和接收操作中移除,但仅适用于动态可重配置的 LPdu Fr-SWS 第65页。

全局时间、状态量和绝对定时器

多项查询需要与全局 FlexRay 时间同步。Fr_GetGlobalTime 一致地提供周期和宏节拍,并允许在 Exclusive Area 内调用 Fr-SWS 第67页。Fr_GetNmVector 不得在更新 NM 向量的时刻被调用 Fr-SWS 第68页。其他查询用于诊断:

绝对定时器通过 Fr_AbsTimerIdx 寻址。Fr_SetAbsoluteTimer 对周期和宏节拍偏移量进行编程,并在激活时需要同步性 Fr-SWS 第79页。Fr_CancelAbsoluteTimer 停止定时器 [SWS_Fr_00095]。使能、禁用、确认和状态查询控制中断线,无需 CC 前提条件 [SWS_Fr_00034]、[SWS_Fr_00035]、[SWS_Fr_00036]、[SWS_Fr_00108]。

发生错误时的行为

带有 Std_ReturnType 的函数返回 E_OK 或 E_NOT_OK。在 E_NOT_OK 时,输出参数保持不变 Fr-SWS 第36页。如果某个函数检测到控制器的硬件错误,它将调用 Dem_SetEventStatus(FR_E_CTRL_TESTRESULT, DEM_EVENT_STATUS_FAILED) 并返回 E_NOT_OK Fr-SWS 第43页。相反,如果 Fr_ControllerInit 中的寄存器检查成功,Fr 将报告 PASS Fr-SWS 第26页。这些内容出自后续版本。[SWS_Fr_00390] 支持在 R20-11 中也计划了 DEM 路径这一事实。Fr 按 LPdu 将时隙状态中的协议错误报告为 FR_E_LPDU_SLOTSTATUS [SWS_Fr_00600]。

如果开发错误检测处于激活状态,Fr 将报告包括以下错误在内的内容 [SWS_Fr_91003]:

  • FR_E_INIT_FAILED:Fr 未初始化
  • FR_E_INV_CTRL_IDX:无效的控制器索引
  • FR_E_INV_CYCLE:周期大于 63
  • FR_E_PARAM_POINTER:无效指针

当 Fr_ListSize 大于 15 时,Fr_GetSyncFrameList 报告 FR_E_INV_FRAMELIST_SIZE [SWS_Fr_00667]。以下情况被视为运行时错误 FR_E_INV_POCSTATE:CC 未处于预期的 POC 状态 [SWS_Fr_91004]。

fehler start Dienstaufruf, z. B. Fr_AllowColdstart detaktiv Entwicklungsfehlererkennung aktiv? start->detaktiv init Fr initialisiert? detaktiv->init 是 hw 执行 CHI 命令 / 寄存器访问 detaktiv->hw 不 initerr Entwicklungsfehler melden (FR_E_INIT_FAILED) init->initerr 不 param 参数是否有效? init->param 是 abbruch 未执行即中止 (理解) initerr->abbruch paramerr Entwicklungsfehler melden (z. B. FR_E_INV_CTRL_IDX, FR_E_PARAM_POINTER) param->paramerr 不 param->hw 是 paramerr->abbruch hwerr Hardwarefehler erkannt? hw->hwerr dem Dem_SetEventStatus(FR_E_CTRL_TESTRESULT, DEM_EVENT_STATUS_FAILED) hwerr->dem 是 ok E_OK, 输出参数有效 hwerr->ok 不 nok E_NOT_OK, 输出参数未更改 dem->nok

活动图:服务调用的检查顺序以及向 DET 和 DEM 的报告路径。来源:[SWS_Fr_91003]、Fr-SWS 第43页、Fr-SWS 第36页

进一步详细证据

基于有效载荷中包含的 Requirements 和文档位置(版本 R20-11)的 AI 生成指南;假设施加了 Interpretation 标记。仍以 AUTOSAR 规范为准。

FlexRay Driver (Fr)

Provides hardware-dependent access to FlexRay communication controllers.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

函数 Fr_Init [SWS_Fr_00032] 📄 PDF

void Fr_Init (const Fr_ConfigType* Fr_ConfigPtr);

Initializes the Fr.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: f5aa6ccb591c 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

根据 [SWS_Fr_00032],同步函数 Fr_Init 用于初始化 FlexRay 驱动(Fr)。它通过头文件 Fr.h 声明,并具有服务 ID 0x1c [SWS_Fr_00032]。该接口仅需要类型为 const Fr_ConfigType* 的输入参数 Fr_ConfigPtr [SWS_Fr_00032]。该指针指向一个与驱动相关的配置结构,该结构为 FlexRay 驱动后续的运行操作提供所有必需的信息 [SWS_Fr_00032]。该函数既无输入/输出参数也无输出参数,且不提供返回值(void)[SWS_Fr_00032]。

关于并发性和限制,Fr_Init 被指定为不可重入(Non Reentrant)[SWS_Fr_00032]。因此,绝不允许并行或嵌套调用。由于传入的配置结构包含了供后续运行使用的所有基础数据,因此初始化通常应在整个系统的启动阶段顺序执行,然后才能调用其他模块服务 [SWS_Fr_00032]。 问题 Q-a208c696fbb083d4 (未决)

服务定义中未规定通过特定错误代码或状态反馈进行错误处理 [SWS_Fr_00032]。在本数据集中未记录进一步的要求,例如向 DET 或 DEM 发送通知。

本文档由 AI 基于规范生成。

实现者指南即将推出(复杂度 I1)

函数 Fr_ControllerInit [SWS_Fr_00017] 📄 PDF

Std_ReturnType Fr_ControllerInit (uint8 Fr_CtrlIdx);

Initialzes a F lex Ray CC.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 8b66fbe244aa 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

同步函数 Fr_ControllerInit 用于在 FlexRay 驱动上下文中初始化 FlexRay Communication Controller(FlexRay CC)[SWS_Fr_00017]。它在头文件 Fr.h 中声明并具有服务 ID 0x00 [SWS_Fr_00017]。通过类型为 uint8 的输入参数 Fr_CtrlIdx 传递待初始化的控制器索引 [SWS_Fr_00017]。

该函数作为返回值提供状态 Std_ReturnType [SWS_Fr_00017]:

在指定的接口范围内未列出详细的错误代码以及向 DET 或 DEM 的报告 [SWS_Fr_00017]。

关于并发性,针对同一硬件单元,该函数被归类为不可重入(Non Reentrant for the same device)[SWS_Fr_00017]。因此,不得同时对同一控制器索引 Fr_CtrlIdx 进行调用;相反,针对不同控制器的并发调用应该是允许的 [SWS_Fr_00017]。 问题 Q-5bbbba38e8530b43 (未决)由于未定义输入和输出参数(inout/out),因此初始化纯粹在驱动中基于状态进行 [SWS_Fr_00017]。

本使用说明是基于 AUTOSAR 规范版本 R20-11 自动生成的。

函数 Fr_StartCommunication [SWS_Fr_00010] 📄 PDF

Std_ReturnType Fr_StartCommunication (uint8 Fr_CtrlIdx);

Starts communication.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 46a36d4c38fd 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

函数 Fr_StartCommunication 用于在指定的控制器上启动 FlexRay 通信 [SWS_Fr_00010]。该接口可通过头文件 Fr.h 获取 [SWS_Fr_00010]。

使用

调用以异步方式进行,同时传递参数 Fr_CtrlIdx(服务 ID 0x03),该参数指示 FlexRay 通信控制器在驱动程序上下文中的索引 [SWS_Fr_00010]。作为返回值,该函数提供类型为 Std_ReturnType 的状态 [SWS_Fr_00010]:

并发性与限制

对于同一个 FlexRay 控制器,Fr_StartCommunication 被指定为不可重入 [SWS_Fr_00010]。相反,对于不同的控制器实例,该调用是可重入的。当前规范数据中不包含具体的开发错误(DET)、错误报告(DEM)或进一步的依赖关系。

本使用说明完全基于 AUTOSAR Classic 版本 R20-11 规范中的信息。

实现者指南即将推出(复杂度 I1)

函数 Fr_AllowColdstart [SWS_Fr_00114] 📄 PDF

Std_ReturnType Fr_AllowColdstart (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'ALLOW_ COLDSTART'.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 483395af770f 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用

函数 Fr_AllowColdstart 用于在 FlexRay 通信控制器 [SWS_Fr_00114] 上调用控制器主机接口命令 ALLOW_COLDSTART。其声明通过头文件 Fr.h 提供;该服务拥有服务 ID 0x23 [SWS_Fr_00114]。通过传入参数 Fr_CtrlIdx 指定要在 FlexRay 驱动程序内寻址的 FlexRay 控制器的索引 [SWS_Fr_00114]。调用异步执行 [SWS_Fr_00114]。

错误处理与返回值

该函数返回类型为 Std_ReturnType 的状态 [SWS_Fr_00114]:

在函数规范中,未针对该服务单独列出具体的错误原因或向 DEM 或 DET 的报告 [SWS_Fr_00114]。

并发性与限制

该接口针对同一控制器实例是不可重入的(Non Reentrant for the same device)[SWS_Fr_00114]。因此,不得使用相同的参数 Fr_CtrlIdx 进行并行或中断调用 [SWS_Fr_00114]。推测:由于异步执行语义,返回值 E_OK 大概仅确认驱动程序接收了 CHI 命令,而控制器内部的状态更改在时间上延迟进行 [SWS_Fr_00114]。 问题 Q-e5c407f32c449510 (未决)

本使用说明是基于 AUTOSAR R20-11 版本的规范自动生成的。

实现者指南即将推出(复杂度 I1)

函数 Fr_AllSlots [SWS_Fr_00516] 📄 PDF

Std_ReturnType Fr_AllSlots (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'ALL_ SLOTS'.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 2807feb59753 来源 未决问题(2)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用与工作原理

函数 Fr_AllSlots 用于向被寻址的 FlexRay 通信控制器发送 CHI 命令(Controller Host Interface)ALL_SLOTS [SWS_Fr_00516]。它通过头文件 Fr.h 提供,并具有服务 ID 0x24 [SWS_Fr_00516]。

作为输入参数,该函数需要 Fr_CtrlIdx,用于指示受影响的 FlexRay 控制器在 FlexRay 驱动上下文中的索引 [SWS_Fr_00516]。执行是异步进行的 [SWS_Fr_00516]。返回值 E_OK 表示 API 调用已成功完成,而 E_NOT_OK 表示由于错误而中止 [SWS_Fr_00516]。由于具有异步语义,E_OK 大概仅确认成功接收或触发了 CHI 命令,而不代表控制器硬件反应已完成(解释)。 问题 Q-c526e3b174a4b44a (未决)

错误处理与并发

若执行失败,该调用将以返回值 E_NOT_OK 中止 [SWS_Fr_00516]。该元素的规范中未指明具体的错误原因或 DET/DEM 消息。

关于可重入性,Fr_AllSlots 被指定为针对同一控制器不可重入(Non Reentrant for the same device)[SWS_Fr_00516]。因此,上层必须避免针对同一控制器实例的并发调用。相反,针对不同控制器实例的并行调用应该是允许的(解释)。 问题 (未决)

本使用说明为自动生成。专业陈述完全基于 AUTOSAR 规范摘录。

函数 Fr_HaltCommunication [SWS_Fr_00014] 📄 PDF

Std_ReturnType Fr_HaltCommunication (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'DEFERRED_ HALT'.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: ff4ce9c60f63 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

函数 Fr_HaltCommunication 用于通过执行 CC-CHI 命令 'DEFERRED_HALT' 来启动 FlexRay 通信控制器上的通信停止 [SWS_Fr_00014]。

用法与参数

该调用以异步方式进行,并通过头文件 Fr.h 提供(服务 ID 0x04)[SWS_Fr_00014]:

  • Fr_CtrlIdx(输入参数):确定 FlexRay 驱动内待控制的 FlexRay 通信控制器的索引 [SWS_Fr_00014]。
  • 返回值(Std_ReturnType):如果函数调用成功完成,则返回 E_OK;如果调用因错误而中止,则返回 E_NOT_OK [SWS_Fr_00014]。

并发性与限制

关于调用上下文和并发性,针对同一设备,Fr_HaltCommunication 为不可重入(Non Reentrant for the same device)[SWS_Fr_00014]。因此,不得针对同一控制器索引进行并发或重叠调用。相反,允许针对不同的控制器实例进行调用。

错误处理

如果调用期间发生错误,该函数将中止执行并通过返回值 E_NOT_OK 进行指示 [SWS_Fr_00014]。在规范范围内未列出此函数的详细错误消息。

本使用说明是基于 AUTOSAR 规范自动生成的。

函数 Fr_AbortCommunication [SWS_Fr_00011] 📄 PDF

Std_ReturnType Fr_AbortCommunication (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'FREEZE'.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 9c861ab0356c 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

同步函数 Fr_AbortCommunication 通过在指定的 FlexRay 通信控制器(CC)上执行控制器主机接口命令(CHI 命令)FREEZE 来中止当前通信 [SWS_Fr_00011]。

调用与参数

通过头文件 Fr.h 进行调用,同时指定控制器索引 Fr_CtrlIdx,该索引在 FlexRay 驱动上下文中唯一标识目标 FlexRay CC [SWS_Fr_00011]。此外不存在输入和输出参数。

返回值与错误处理

该函数返回类型为 Std_ReturnType 的状态 [SWS_Fr_00011]:

并发性与限制

关于并发行为,针对同一通信控制器,Fr_AbortCommunication 被指定为不可重入(Non Reentrant for the same device)[SWS_Fr_00011]。调用方必须避免针对同一控制器实例进行并发调用。

此文本由 AI 基于 AUTOSAR R20-11 规范生成。

函数 Fr_SendWUP [SWS_Fr_00009] 📄 PDF

Std_ReturnType Fr_SendWUP (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'WAKEUP'.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 3acd90d21e6a 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与语义

函数 Fr_SendWUP 用于通过向通信控制器 [SWS_Fr_00009] 发送 CHI 命令 WAKEUP 来触发 FlexRay 总线上的唤醒过程。通过参数 Fr_CtrlIdx 传递目标控制器在驱动程序上下文中的索引 [SWS_Fr_00009]。该调用是异步进行的;接口触发命令,随后在硬件端执行唤醒图样的传输 [SWS_Fr_00009]。其声明可通过 Fr.h 获取,该服务具有服务 ID 0x06 [SWS_Fr_00009]。

错误处理与返回值

该函数返回类型为 Std_ReturnType 的状态值 [SWS_Fr_00009]:

  • E_OK:API 调用执行成功且 CHI 命令已发送 [SWS_Fr_00009]。
  • E_NOT_OK:由于发生错误,API 调用已中止 [SWS_Fr_00009]。

并发性与限制

该函数被指定为针对同一设备不可重入(Non Reentrant for the same device)[SWS_Fr_00009]。推测:这可能意味着上层模块必须对同一控制器实例的并发调用进行同步,而对不同控制器实例的调用则可以并发执行。 问题 Q-0e3b4e70a0755877 (未决)未定义输入/输出参数或纯输出参数 [SWS_Fr_00009]。

此文本由 AI 基于 AUTOSAR 规范 R20-11 生成。

函数 Fr_TransmitTxLPdu [SWS_Fr_00092] 📄 PDF

Std_ReturnType Fr_TransmitTxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, const uint8* Fr_LSduPtr, uint8 Fr_LSduLength, Fr_SlotAssignmentType* Fr_SlotAssignmentPtr);

Transmits data on the Flex Ray network.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: ef89a1ec9558 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

函数 Fr_TransmitTxLPdu 用于通过 FlexRay 网络传输有效数据 [SWS_Fr_00092]。它以异步语义处理发送请求,并将待传输的 LSdu 分配给由 Fr_LPduIdx 标识的 FlexRay 帧 [SWS_Fr_00092]。

用法与参数

通过头文件 Fr.h(服务 ID 0x0b)进行调用,同时为 FlexRay Communication Controller 指定控制器索引 Fr_CtrlIdx 以及唯一的帧索引 Fr_LPduIdx [SWS_Fr_00092]。通过指针 Fr_LSduPtr 传递缓冲区中提供的发送 LSdu,其以字节为单位的数据长度通过 Fr_LSduLength 指定 [SWS_Fr_00092]。通过输出参数 Fr_SlotAssignmentPtr,调用方可以查询实际的发送周期、时隙 ID 以及 FlexRay 通道;如果不需要此信息,则可以为此传递 NULL_PTR [SWS_Fr_00092]。

返回值与错误处理

该函数以返回类型 Std_ReturnType 确认调用:返回值 E_OK 确认 API 调用成功完成,而 E_NOT_OK 指示因错误而中止 [SWS_Fr_00092]。规范数据中未包含特定的 DET 或 DEM 消息。

并发性

关于并发性,针对同一设备,Fr_TransmitTxLPdu 被指定为不可重入(Non Reentrant for the same device)[SWS_Fr_00092]。因此,针对同一 FlexRay 控制器的并发发送调用是不允许的。

该文本由 AI 创建,且完全基于来自 AUTOSAR R20-11 的规范数据。

函数 Fr_CancelTxLPdu [SWS_Fr_00610] 📄 PDF

Std_ReturnType Fr_CancelTxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Cancels the already pending transmission of a LPdu contained in a controllers p hysical transmit resource (e.g. message buffer).

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 1b6a672c94da 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与语义

同步函数 Fr_CancelTxLPdu 中止已处于控制器物理发送资源(例如发送缓冲区)中的待处理 L-PDU 传输 [SWS_Fr_00610]。该函数在头文件 Fr.h 中声明,且其服务 ID 为 0x2d [SWS_Fr_00610]。

为了识别要中止的传输,该接口需要两个参数 [SWS_Fr_00610]:

  • Fr_CtrlIdx:FlexRay 通信控制器在 FlexRay 驱动程序上下文中的索引 [SWS_Fr_00610]。
  • Fr_LPduIdx:用于识别相应 FlexRay 帧的唯一索引 [SWS_Fr_00610]。

返回值与错误处理

该函数调用返回 Std_ReturnType 类型的状态值 [SWS_Fr_00610]:

未为此函数记录特定的错误码、DET 或 DEM 条目;发生错误时,该函数仅通过返回值 E_NOT_OK 来指示该错误 [SWS_Fr_00610]。

并发性与限制

在并发行为方面,Fr_CancelTxLPdu 被指定为针对同一设备不可重入(Non Reentrant for the same device)[SWS_Fr_00610]。这可能意味着针对同一控制器实例的并行调用必须在调用方级别进行同步。 问题 Q-ec480944eec04076 (未决)不存在其他输入或输出参数 [SWS_Fr_00610]。

此使用说明基于 AUTOSAR R20-11 规范版本自动生成。

函数 Fr_ReceiveRxLPdu [SWS_Fr_00093] 📄 PDF

Std_ReturnType Fr_ReceiveRxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, uint8* Fr_LSduPtr, Fr_RxLPduStatusType* Fr_LPduStatusPtr, uint8* Fr_LSduLengthPtr, Fr_SlotAssignmentType* Fr_SlotAssignmentPtr);

Service Fr_ReceiveRxLPdu.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 0fc629fa27e3 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

同步函数 Fr_ReceiveRxLPdu 用于从 FlexRay 网络接收有效数据,并可通过头文件 Fr.h 获取 [SWS_Fr_00093]。

参数与使用

通过输入参数 Fr_CtrlIdx 和 Fr_LPduIdx 唯一寻址 FlexRay 驱动的相应通信控制器以及待接收的 FlexRay 帧 [SWS_Fr_00093]。有效数据和状态数据通过多个指针传递给调用方:

  • Fr_LSduPtr:指向缓冲区的指针,在该缓冲区中应存储接收到的 L-SDU。
  • Fr_LPduStatusPtr:指向 L-PDU 接收状态存储位置的指针。
  • Fr_LSduLengthPtr:以字节为单位的接收到的 L-SDU 长度的存储位置,对应于复制到 Fr_LSduPtr 中的字节数。
  • Fr_SlotAssignmentPtr:帧的周期、时隙 ID 和通道的存储位置。如果为此传递 NULL_PTR,则表示调用方不需要这些分配信息。

并发与错误处理

该接口同步执行,但针对同一设备不可重入 [SWS_Fr_00093]。成功的接收过程以 E_OK 确认,而发生错误时调用中止并返回 E_NOT_OK [SWS_Fr_00093]。该函数的规范数据中未指出特定的 DET 或 DEM 错误代码。

本使用说明是基于规范自动生成的。

实现者指南即将推出(复杂度 I1)

函数 Fr_CheckTxLPduStatus [SWS_Fr_00094] 📄 PDF

Std_ReturnType* Fr_CheckTxLPduStatus (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, Fr_TxLPduStatusType* Fr_TxLPduStatusPtr, Fr_SlotAssignmentType* Fr_SlotAssignmentPtr);

Checks the transmit status of the LSdu.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: b48b77700fa6 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

根据 [SWS_Fr_00094],同步接口 Fr_CheckTxLPduStatus(服务 ID 0x0d)用于检查 FlexRay 驱动中 L-SDU 或 FlexRay 帧的当前发送状态。它通过头文件 Fr.h 提供。

作为输入参数,该函数需要 FlexRay 通信控制器的索引(Fr_CtrlIdx)以及在驱动中唯一标识待检查 FlexRay 帧的索引 Fr_LPduIdx [SWS_Fr_00094]。LPdu 的已测定发送状态通过输出参数 Fr_TxLPduStatusPtr 写回所传递的内存地址 [SWS_Fr_00094]。

此外,输出参数 Fr_SlotAssignmentPtr 支持获取时隙分配:它指向存放寻址帧的实际周期、时隙 ID 以及通道的存储位置 [SWS_Fr_00094]。如果调用方不需要此分配信息,则传递 NULL_PTR 表示无需提供此数据 [SWS_Fr_00094]。

该接口须同步执行,且针对同一设备被指定为不可重入(Non Reentrant for the same device)[SWS_Fr_00094]。成功完成时,该调用返回返回值 E_OK;在发生错误的情况下,函数中止并返回 E_NOT_OK [SWS_Fr_00094]。

本文由 AI 生成,基于 AUTOSAR CP R20-11 规范。

实现者指南即将推出(复杂度 I1)

函数 Fr_PrepareLPdu [SWS_Fr_00107] 📄 PDF

Std_ReturnType Fr_PrepareLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Prepares a LPdu.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 942a5d73cf16 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与语义

根据 [SWS_Fr_00107],同步函数 Fr_PrepareLPdu 用于准备 L-PDU(Prepares a LPdu),并通过头文件 Fr.h 提供。作为输入参数,该服务需要控制器索引 Fr_CtrlIdx 以在驱动上下文中寻址 FlexRay 通信控制器(CC),并需要 Fr_LPduIdx 以唯一标识关联的 FlexRay 帧 [SWS_Fr_00107]。解释:该调用可能用于为帧随后的发送或接收过程初始化或使能硬件特定的缓冲区结构。 问题 Q-c4375099d73dbea2 (未决)

并发性与限制

关于并发行为,Fr_PrepareLPdu 被指定为针对相同硬件设备不可重入(Non Reentrant for the same device)[SWS_Fr_00107]。因此,调用方必须严格避免针对同一控制器索引 Fr_CtrlIdx 进行并行或中断调用。

返回值与错误处理

该函数具有服务 ID 0x1f,并通过返回类型 Std_ReturnType 报告其状态 [SWS_Fr_00107]:

  • E_OK:API 调用成功完成 [SWS_Fr_00107]。
  • E_NOT_OK:由于发生错误,API 调用已提前中止 [SWS_Fr_00107]。在当前规范摘录中未定义特定的 DET 或 DEM 错误代码。

此文本由 AI 基于 AUTOSAR CP R20-11 规范生成。

函数 Fr_ReconfigLPdu [SWS_Fr_00524] 📄 PDF

Std_ReturnType Fr_ReconfigLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, uint16 Fr_FrameId, Fr_ChannelType Fr_ChnlIdx, uint8 Fr_CycleRepetition, uint8 Fr_CycleOffset, uint8 Fr_PayloadLength, uint16 Fr_Header CRC); ⚠️

Service Fr_ReconfigLPdu.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 2abd260e91ea 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与参数

同步函数 Fr_ReconfigLPdu 支持在运行时对 FlexRay LPDU 进行动态重新配置 [SWS_Fr_00524]。通过头文件 Fr.h 提供,该调用通过 Fr_CtrlIdx 寻址相应的 FlexRay 控制器,并通过 Fr_LPduIdx 寻址帧的唯一标识符 AUTOSAR_SWS_FlexRayDriver 第65页。

在重新配置时传递以下目标参数 [SWS_Fr_00524]:

  • Fr_FrameId 和 Fr_ChnlIdx:指定新的帧 ID 以及通信通道。
  • Fr_CycleRepetition 和 Fr_CycleOffset:配置 LPDU 的周期滤波。
  • Fr_PayloadLength 和 Fr_HeaderCRC:以字节为单位的有效数据长度以及帧的关联报头 CRC。

并发性与返回值

该服务对于同一个控制器是不可重入的(Non Reentrant for the same device)[SWS_Fr_00524]。相反,针对不同 FlexRay 控制器实例的调用应当是可重入的(理解)。 问题 Q-85908ef4796c80c7 (未决)重新配置成功时,调用返回 E_OK;若因错误导致重新配置失败,则返回 E_NOT_OK AUTOSAR_SWS_FlexRayDriver 第65页。

本文由 AI 创建;无法保证准确性。

函数 Fr_DisableLPdu [SWS_Fr_00539] 📄 PDF

Std_ReturnType Fr_DisableLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Disables the hardware resource of a LPdu for transmission/ reception.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 458329c58a82 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用

同步驱动函数 Fr_DisableLPdu 用于停用 FlexRay LPdu 用于发送或接收的硬件资源([SWS_Fr_00539])。该接口通过头文件 Fr.h 提供,并分配了服务 ID 0x26([SWS_Fr_00539])。

函数调用必须传递两个必填参数([SWS_Fr_00539]):

  • Fr_CtrlIdx:驱动上下文内的 FlexRay 通信控制器索引。
  • Fr_LPduIdx:用于标识相应 FlexRay 帧或 LPdu 的唯一索引。

作为返回值,该函数提供状态 Std_ReturnType([SWS_Fr_00539])。值 E_OK 表示调用成功结束,而如果在发生错误时调用被中止,则返回 E_NOT_OK。

错误处理

在当前规范中,未为此服务定义特定的错误代码,也未定义发送给 DET 或 DEM 的消息;错误行为直接体现在返回值 E_NOT_OK 中([SWS_Fr_00539])。

并发性与限制

关于可重入性,Fr_DisableLPdu 被归类为针对同一设备不可重入(Non Reentrant for the same device)([SWS_Fr_00539])。因此,调用方必须确保针对同一控制器的并发调用得到同步。

此文本由 AI 基于 AUTOSAR CP R20-11 规范生成。

函数 Fr_GetNumStartupFrames [SWS_Fr_00547] 📄 PDF

Std_ReturnType Fr_GetNumOfStartupFrames (uint8 Fr_CtrlIdx, uint8* Fr_NumOfStartupFramesPtr);

Gets the current number of startup frames seen on the cluster. See variable v Startup Pairs of [12] for details.

函数 Fr_GetChannelStatus [SWS_Fr_00556] 📄 PDF

Std_ReturnType Fr_GetChannelStatus (uint8 Fr_CtrlIdx, uint16* Fr_ChannelAStatusPtr, uint16* Fr_ChannelBStatusPtr);

Gets the channe l status information. Specification of FlexRay Driver AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayDriver

函数 Fr_GetClockCorrection [SWS_Fr_00564] 📄 PDF

Std_ReturnType Fr_GetClockCorrection (uint8 Fr_CtrlIdx, sint16* Fr_RateCorrectionPtr, sint32* Fr_OffsetCorrectionPtr);

Gets the current clock correction values. See variables v Interim Rate Correction and v Interim Offset Correction of [12] for details.

函数 Fr_CancelAbsoluteTimer [SWS_Fr_00095] 📄 PDF

Std_ReturnType Fr_CancelAbsoluteTimer (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Stops an absolute timer.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 1332ce8764d8 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

同步函数 Fr_CancelAbsoluteTimer 用于有序停止 FlexRay Communication Controller([SWS_Fr_00095])上的活动绝对定时器。它通过头文件 Fr.h 提供并具有服务 ID 0x13([SWS_Fr_00095])。

参数与返回值

  • Fr_CtrlIdx:在 FlexRay 驱动的上下文中传递相关 FlexRay Communication Controller 的索引([SWS_Fr_00095])。
  • Fr_AbsTimerIdx:在所选 FlexRay 控制器的上下文中确定待停止的绝对定时器的索引([SWS_Fr_00095])。
  • 返回值:成功执行时通过类型 Std_ReturnType 返回状态 E_OK,或者如果调用因错误中止则返回 E_NOT_OK([SWS_Fr_00095])。

并发性与限制

关于并发性,针对同一设备,该接口被定义为不可重入(“Non Reentrant for the same device”)([SWS_Fr_00095])。调用层必须确保不会针对同一控制器发生并发或中断性访问。解释:相反,对于不同的控制器,执行应该是允许重入的。 问题 Q-01203b0b28193021 (未决)

本使用说明基于 AUTOSAR R20-11 规范自动生成。

函数 Fr_EnableAbsoluteTimerIRQ [SWS_Fr_00034] 📄 PDF

Std_ReturnType Fr_EnableAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Service Fr_EnableAbsoluteTimerIRQ.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 7b32a9a85d27 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

同步函数 Fr_EnableAbsoluteTimerIRQ 用于激活 FlexRay 通信控制器内绝对定时器的中断线 [SWS_Fr_00034]。该服务通过头文件 Fr.h 提供,且服务 ID 为 0x15 [SWS_Fr_00034]。

调用时,接口需要两个输入参数 [SWS_Fr_00034]:

  • Fr_CtrlIdx:FlexRay 通信控制器在 FlexRay 驱动程序上下文中的索引 [SWS_Fr_00034]。
  • Fr_AbsTimerIdx:绝对定时器在所寻址的 FlexRay 控制器上下文中的索引 [SWS_Fr_00034]。

类型为 Std_ReturnType 的返回值指示执行结果 [SWS_Fr_00034]:

在并发性方面,该函数被指定为针对同一设备不可重入(“Non Reentrant for the same device”)[SWS_Fr_00034]。这要求必须严格避免针对同一控制器实例的并发调用;然而,大概允许针对不同控制器实例进行并行调用。 问题 Q-d7e594a84357e129 (未决)函数描述中未列出开发错误或生产错误的特定错误代码(DET/DEM);发生的错误会直接导致返回 E_NOT_OK [SWS_Fr_00034]。

本使用说明基于规范 SWS_Fr_00034 自动生成。

函数 Fr_AckAbsoluteTimerIRQ [SWS_Fr_00036] 📄 PDF

Std_ReturnType Fr_AckAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Service Fr_AckAbsoluteTimerIRQ.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 042d5293cc25 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

同步函数 Fr_AckAbsoluteTimerIRQ 属于 AUTOSAR Classic 平台中的 FlexRay 驱动模块(Fr),用于复位绝对定时器的中断条件 [SWS_Fr_00036]。该接口的声明通过头文件 Fr.h 提供,并分配有十六进制服务 ID 0x17 [SWS_Fr_00036]。

为了唯一寻址定时器,该函数需要两个类型为 uint8 的输入参数,同时不存在输入/输出参数或纯输出参数 [SWS_Fr_00036]:

  • Fr_CtrlIdx:在 FlexRay 驱动的上下文中传递 FlexRay Communication Controller(CC)的索引 [SWS_Fr_00036]。
  • Fr_AbsTimerIdx:指定相应 FlexRay Communication Controller 上下文中的绝对定时器索引 [SWS_Fr_00036]。

函数执行结果通过类型为 Std_ReturnType 的状态值返回。如果调用成功结束,该函数返回 E_OK [SWS_Fr_00036]。如果执行期间发生错误,函数调用将提前中止并改为主送 E_NOT_OK [SWS_Fr_00036]。

关于并发行为,针对同一设备,该服务被归类为不可重入(Non Reentrant for the same device)[SWS_Fr_00036]。因此,针对同一控制器实例的调用必须同步进行,不得并发重叠执行 [SWS_Fr_00036]。

本使用说明基于 FlexRay 驱动的规范 SWS_Fr_00036,并由自动生成。

函数 Fr_DisableAbsoluteTimerIRQ [SWS_Fr_00035] 📄 PDF

Std_ReturnType Fr_DisableAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Disables the in terrupt line of an absolute timer.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: d5655e373a1a 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

同步函数 Fr_DisableAbsoluteTimerIRQ 在 FlexRay 驱动中用于有针对性地停用绝对定时器的中断线 [SWS_Fr_00035]。作为输入参数,该接口需要控制器索引 Fr_CtrlIdx 用于在驱动上下文中寻址相应的 FlexRay 通信控制器(CC),以及 Fr_AbsTimerIdx 用于识别该控制器内的绝对定时器 [SWS_Fr_00035]。该函数的声明通过头文件 Fr.h 提供 [SWS_Fr_00035]。

执行结果通过返回类型 Std_ReturnType 同步传输给调用方 [SWS_Fr_00035]。如果该服务能够正常且成功地结束,则返回 E_OK [SWS_Fr_00035]。如果在处理期间发生错误,该函数将中止该过程并通过返回值 E_NOT_OK 进行指示 [SWS_Fr_00035]。规范元素中未指出具体的开发或运行时错误(DET/DEM),因此必须主要根据返回值来识别和处理错误状态 [SWS_Fr_00035]。

关于并发性,针对同一设备(same device),Fr_DisableAbsoluteTimerIRQ 被定义为不可重入 [SWS_Fr_00035]。因此,针对同一控制器索引的多个调用不得并发进行,并且必须在调用方进行同步,而对不同控制器的并发访问则是允许的 [SWS_Fr_00035]。

本使用说明根据 AUTOSAR R20-11 规范自动生成。

函数 Fr_ReadCCConfig [SWS_Fr_00651] 📄 PDF

Std_ReturnType Fr_ReadCCConfig (uint8 Fr_CtrlIdx, uint8 Fr_Config ParamIdx, uint32* Fr_Config ParamValuePtr); ⚠️

Service Fr_ReadCCConfig.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: d518f5d7267e 来源 未决问题(2)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

同步函数 Fr_ReadCCConfig 直接从 FlexRay 驱动程序的模块配置中读取控制器的特定 FlexRay 协议配置参数 [SWS_Fr_00651]。该接口通过头文件 Fr.h 声明,且其服务 ID 为 0x2e [SWS_Fr_00651]。

参数与返回值

  • Fr_CtrlIdx:确定驱动程序上下文中受影响的 FlexRay 通信控制器的索引 [SWS_Fr_00651]。
  • Fr_ConfigParamIdx:通过格式为 FR_CIDX_<config_parameter_name> 的已定义宏来识别要读取的参数 [SWS_Fr_00651]。
  • Fr_ConfigParamValuePtr:指向类型为 uint32 的内存地址的指针,读取的值将写入该地址 [SWS_Fr_00651]。
  • 返回值:执行成功时返回 E_OK,发生错误时返回 E_NOT_OK [SWS_Fr_00651]。

并发性与错误行为

该函数设计为针对同一控制器不可重入(“Non Reentrant for the same device”)[SWS_Fr_00651]。因此,针对不同控制器实例的同时调用应当是允许的。 问题 Q-b5e4172654514747 (未决)接口定义中未指定具体的 DET 或 DEM 错误;错误状态会导致中止并返回 E_NOT_OK [SWS_Fr_00651]。调用方可能需要确保 Fr_ConfigParamValuePtr 指向有效的内存区域。

本段文本由人工智能基于 AUTOSAR 规范 R20-11 生成。

类型 Fr_ConfigType [SWS_Fr_91001] 📄 PDF

This type contains the implementation - specific post build configuration structure.

类型 Fr_SlotModeType [SWS_Fr_00506] 📄 PDF

This formal definition refers to the description of type T_ Slot Mode in chapter 2.2.1.3 POC status of [12]. Available Fr_ General Types.h For FlexRay 2.1 Rev A compliant FlexRay controllers see literal SINGL ESLOT instead of KEYSLOT in [14] . Specification of FlexRay Driver AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayDriver via

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 71b66b82e47a 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

枚举类型 Fr_SlotModeType 是 AUTOSAR Classic 中 FlexRay 驱动接口定义的一部分,并通过头文件 Fr_GeneralTypes.h 提供 [SWS_Fr_00506]。该类型定义在形式上引用了 FlexRay 协议规范中的类型 T_SlotMode,该类型在关于协议操作控制(Protocol Operation Control,POC 状态)的章节中进行了描述 [SWS_Fr_00506]。

该枚举基于三个固定定义的值指定控制器的时隙处理状态 [SWS_Fr_00506]:

  • FR_SLOTMODE_KEYSLOT(值 0x00):映射形式类型定义 T_SlotMode 的字面量 KEYSLOT [SWS_Fr_00506]。
  • FR_SLOTMODE_ALL_PENDING(值 0x01):映射形式类型定义 T_SlotMode 的字面量 ALL_PENDING [SWS_Fr_00506]。
  • FR_SLOTMODE_ALL(值 0x02):映射形式类型定义 T_SlotMode 的字面量 ALL [SWS_Fr_00506]。

当与符合较旧标准 FlexRay 2.1 Rev A 的控制器一起使用时,必须考虑不同的命名:此处字面量 SINGLESLOT 替代了字面量 KEYSLOT [SWS_Fr_00506]。解释:在驱动和软件层面,该类型可能用于确定 FlexRay 控制器当前是仅使能主时隙(Key Slots)还是使能所有时隙进行传输,或者是否有相应的切换挂起。 问题 Q-f926c41c8a5d3380 (未决)

本段文本由人工智能基于 AUTOSAR 规范 R20-11 生成。

实现者指南即将推出(复杂度 I1)

类型 Fr_ErrorModeType [SWS_Fr_00507] 📄 PDF

This formal definition refers to the description of type T_ Error Mode in chapter 2.2.1.3 POC status of [12].

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 0428cd81ff78 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用

枚举类型 Fr_ErrorModeType 映射 FlexRay 协议操作控制(POC)的错误模式,并通过头文件 Fr_GeneralTypes.h 提供 [SWS_Fr_00507]。该枚举定义了通信控制器的错误监控机制的状态,并引用了 FlexRay POC 状态中的形式类型定义 T_ErrorMode [SWS_Fr_00507]。

根据 [SWS_Fr_00507],值范围包含三种状态:

  • FR_ERRORMODE_ACTIVE(0x00):表示形式类型定义 T_ErrorMode 的字面量 ACTIVE,并标识通信控制器的无错误状态或正常操作。
  • FR_ERRORMODE_PASSIVE(0x01):对应于形式类型定义 T_ErrorMode 的字面量 PASSIVE,此时在总线上记录到错误且通信可能受限。
  • FR_ERRORMODE_COMM_HALT(0x02):映射形式类型定义 T_ErrorMode 的字面量 COMM_HALT,此时总线通信因严重错误状态而已停止。

集成与边界条件

解释:该类型可能主要用作 FlexRay 驱动查询函数中的返回值或状态参数,以便将控制器的状态传输给上层软件层。 问题 Q-e4d6ae534d1dfa2c (未决)由于 [SWS_Fr_00507] 仅指定数据结构,因此在类型级别不存在通过 DET 或 DEM 进行的独立错误处理,也没有针对可重入性或并发性的直接要求。

本段文本由人工智能基于 AUTOSAR 规范 R20-11 生成。

实现者指南即将推出(复杂度 I1)

类型 Fr_WakeupStatusType [SWS_Fr_00508] 📄 PDF

This formal definition refers to the description of type T_ Wakeup Status in chapter Specification of FlexRay Driver AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayDriver 2.2.1.3 POC status of [12].

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 5640c2fecfca 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

枚举类型 Fr_WakeupStatusType 通过头文件 Fr_GeneralTypes.h 提供,并根据 POC 状态的形式定义 T_WakeupStatus 映射 FlexRay 驱动的唤醒状态 [SWS_Fr_00508]。

使用与取值范围

该类型表示 FlexRay 唤醒过程中的各种状态和事件,包含七个特定的枚举值 [SWS_Fr_00508]:

  • FR_WAKEUP_UNDEFINED(0x00):对应于形式类型定义 [SWS_Fr_00508] 的字面量 UNDEFINED。
  • FR_WAKEUP_RECEIVED_HEADER(0x01):标识接收到唤醒报头(字面量 RECEIVED_HEADER)[SWS_Fr_00508]。
  • FR_WAKEUP_RECEIVED_WUP(0x02):表示接收到的唤醒图样(字面量 RECEIVED_WUP)[SWS_Fr_00508]。
  • FR_WAKEUP_COLLISION_HEADER(0x03):指示接收到的报头发生冲突(字面量 COLLISION_HEADER)[SWS_Fr_00508]。
  • FR_WAKEUP_COLLISION_WUP(0x04):指示唤醒图样期间发生冲突(字面量 COLLISION_WUP)[SWS_Fr_00508]。
  • FR_WAKEUP_COLLISION_UNKNOWN(0x05):描述原因未知的冲突(字面量 COLLISION_UNKNOWN)[SWS_Fr_00508]。
  • FR_WAKEUP_TRANSMITTED(0x06):确认成功发送唤醒信号(字面量 TRANSMITTED)[SWS_Fr_00508]。

交互与限制

解释:该类型可能主要用作驱动函数的状态参数,以使上层模块能够对通道和唤醒状态进行精确诊断。 问题 Q-48907418bc3729a1 (未决)由于规范本身未为该类型定义特定的错误代码或并发限制,因此其使用取决于各自查询 API 函数的调用约定 [SWS_Fr_00508]。

本使用说明基于 AUTOSAR CP R20-11 规范自动生成。

实现者指南即将推出(复杂度 I1)

类型 Fr_StartupStateType [SWS_Fr_00509] 📄 PDF

Type Fr_StartupStateType.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: a1f8765c7bfa 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

枚举类型 Fr_StartupStateType 根据 [SWS_Fr_00509] 通过头文件 Fr_GeneralTypes.h 提供,并将 FlexRay 协议控制器的启动状态(POC 状态)映射为标准化值。该定义参考了规范第 2.2.1.3 节中的形式类型定义 T_StartupState。

取值范围包括十一个离散状态,反映了协议启动的流程:

  • FR_STARTUP_UNDEFINED (0x00):表示未定义的启动状态。
  • FR_STARTUP_COLDSTART_LISTEN (0x01) 至 FR_STARTUP_COLDSTART_GAP (0x09):表示冷启动阶段,包括侦听阶段、一致性检查、冲突解决和加入(Coldstart Join)。
  • FR_STARTUP_INTEGRATION_LISTEN (0x06)、FR_STARTUP_INITIALIZE_SCHEDULE (0x07) 和 FR_STARTUP_INTEGRATION_CONSISTENCY_CHECK (0x08):表示时间表中的集成和初始化步骤。
  • FR_STARTUP_EXTERNAL_STARTUP (0x0A):表示外部控制的启动。

进行集成的软件模块使用此类型(推测:主要用于状态查询或监控控制器启动)。 问题 Q-7d07faa6c48d4e58 (未决)由于 Fr_StartupStateType 是纯类型定义,因此不会直接触发错误代码或错误报告;但是评估者必须注意,0x00 至 0x0A 范围之外的值是未指定的。

本文档由 AI 生成,仅供参考。唯一具有约束力的是 AUTOSAR 规范文本。

实现者指南即将推出(复杂度 I1)

类型 Fr_POCStatusType [SWS_Fr_00510] 📄 PDF

This formal definition refers to the description of type T_ POCStatus in chapter 2.2.1.3 POC status of [12].

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 3280d7e2ba7e 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

数据类型 Fr_POCStatusType 被指定为数据结构,并通过头文件 Fr_GeneralTypes.h 提供 [SWS_Fr_00510]。形式定义引用了 FlexRay 协议规范 [SWS_Fr_00510] 第 2.2.1.3 节(POC status)中对类型 T_POCStatus 的描述。

使用与结构构成

该结构聚合了 FlexRay Protocol Operation Control (POC) [SWS_Fr_00510] 的当前运行和协议状态。它由以下元素组成:

  • State(类型 Fr_POCStateType)和 StartupState(类型 Fr_StartupStateType),用于指示当前 POC 状态以及启动状态 [SWS_Fr_00510]。
  • ErrorMode(类型 Fr_ErrorModeType)和 Freeze(类型 boolean),用于标识错误模式和控制器停止 [SWS_Fr_00510]。
  • SlotMode(类型 Fr_SlotModeType)和 WakeupStatus(类型 Fr_WakeupStatusType),用于时隙操作模式和唤醒状态 [SWS_Fr_00510]。
  • CHIHaltRequest、CHIReadyRequest 以及 ColdstartNoise(均为 boolean),用于指示主机接口请求或冷启动期间的线路噪声 [SWS_Fr_00510]。

并发与集成

推测:由于 Fr_POCStatusType 是没有自身功能逻辑的纯数据结构,它可能主要用作 FlexRay 硬件状态查询时的输出参数。 问题 Q-960f2475ff1068fc (未决)如果多个任务或软件层访问此结构的实例,调用者必须自行确保适当的同步,以确保一致地读取相关联的部分状态 [SWS_Fr_00510]。

本使用说明基于 SWS_Fr_00510 的有效负载自动生成。

实现者指南即将推出(复杂度 I1)

类型 Fr_TxLPduStatusType [SWS_Fr_00511] 📄 PDF

These values are used to determine whether a LPdu has been transmitted or not.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 2ca1e4be5d96 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

在 AUTOSAR Classic 平台中,枚举类型 Fr_TxLPduStatusType 用于确定 FlexRay LPdu(链路层协议数据单元,Link Layer Protocol Data Unit)是否已成功传输 [SWS_Fr_00511]。该类型定义通过头文件 Fr_GeneralTypes.h 为软件模块提供 [SWS_Fr_00511]。

该枚举的值范围包含用于发送过程的三种明确的状态 [SWS_Fr_00511]:

  • FR_TRANSMITTED(0x00):LPdu 已通过总线成功传输 [SWS_Fr_00511]。
  • FR_TRANSMITTED_CONFLICT(0x01):传输过程中发生冲突 [SWS_Fr_00511]。
  • FR_NOT_TRANSMITTED(0x02):LPdu 未被传输 [SWS_Fr_00511]。

关于交互和调用上下文,该状态值通常可能被上层用于查询 FlexRay 驱动中的发送缓冲区状态(解释)。 问题 Q-347a88512db1f006 (未决)规范中未为该数据类型规定特定的错误代码、错误处理例程以及 DET 或 DEM 消息,因为它是纯粹的类型声明 [SWS_Fr_00511]。

本段文本由人工智能基于 AUTOSAR 规范 R20-11 生成。

实现者指南即将推出(复杂度 I1)

类型 Fr_RxLPduStatusType [SWS_Fr_00512] 📄 PDF

These values are used to determine if a LPdu has been received or not.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 454416ec6a4f 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

枚举类型 Fr_RxLPduStatusType 是 AUTOSAR Classic 模块 Fr 的一部分,并通过头文件 Fr_GeneralTypes.h 提供 [SWS_Fr_00512]。它用于确定是否接收到 L-PDU(FlexRay 链路层 PDU)[SWS_Fr_00512]。

该类型定义了三个离散状态值以评估接收状态 [SWS_Fr_00512]:

  • FR_RECEIVED(0x00):L-PDU 已成功接收 [SWS_Fr_00512]。
  • FR_NOT_RECEIVED(0x01):L-PDU 未被接收 [SWS_Fr_00512]。
  • FR_RECEIVED_MORE_DATA_AVAILABLE(0x02):L-PDU 已接收且存在该 L-PDU 的更多实例可用,如使用接收 FIFO 时所出现的情况 [SWS_Fr_00512]。

通过缓冲区结构进行接收操作时,该类型不仅区分是否存在接收到的数据,而且在 FIFO 操作中还额外指示是否存在更多实例 [SWS_Fr_00512]。这可能向调用方指示,在读取当前实例后,可以立即从 FIFO 中检索更多数据 [SWS_Fr_00512]。 问题 Q-0ab7cac72ff7f549 (未决)

本使用说明由 AI 生成,并基于 AUTOSAR R20-11 规范。

实现者指南即将推出(复杂度 I1)

类型 Fr_SlotAssignmentType [SWS_Fr_91002] 📄 PDF

This structure contains information about the assignment of a Flex Ray frame to a cycle and a slot ID.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 9bab6b29a274 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

结构体 Fr_SlotAssignmentType 用于存储 FlexRay 帧与通信周期及时隙 ID 的分配信息 [SWS_Fr_91002]。它在头文件 Fr_GeneralTypes.h 中定义,并汇总了在 FlexRay 通道上发送或接收帧所需的所有寻址参数 [SWS_Fr_91002]。

该结构体包含以下元素 [SWS_Fr_91002]:

  • Cycle(类型 uint8):标识发送或接收 FlexRay 帧的周期 [SWS_Fr_91002]。
  • SlotId(类型 uint16):表示该帧在 FlexRay 通信方案中的唯一时隙 ID [SWS_Fr_91002]。
  • channelId(类型 Fr_ChannelType):指定进行传输或接收的 FlexRay 通道 [SWS_Fr_91002]。

由于 Fr_SlotAssignmentType 是纯数据结构,它不具备同步性或重入性等自身的执行语义,其本身也不会触发 DET 或 DEM 错误消息 [SWS_Fr_91002]。所包含的周期、时隙和通道值的 consistency 应当由使用它的驱动函数负责(理解)。 问题 Q-77f88375e544e298 (未决)

本段文本由人工智能生成,且仅基于 AUTOSAR Classic R20-11 的规范数据。

类型 Fr_ChannelType [SWS_Fr_00514] 📄 PDF

FlexRay channel identifier: FR_CHANNEL_A, FR_CHANNEL_B, or FR_CHANNEL_AB.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_Fr
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Fr@rel:R20-11#102c21f5
Content hash
102c21f5
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayDriver.pdf#nameddest=SWS_Fr_00032

初始化与状态

Returns the version information of this module.

void Fr_GetVersionInfo (Std_VersionInfoType* VersioninfoPtr);
Fr_Init 函数

Initializes the Fr.

void Fr_Init (const Fr_ConfigType* Fr_ConfigPtr);

服务 · Get…

Gets IRQ status of an absolute timer.

Std_ReturnType Fr_GetAbsoluteTimerIRQStatus (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx, boolean* Fr_IRQStatusPtr);

Gets the channe l status information. Specification of FlexRay Driver AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayDriver

Std_ReturnType Fr_GetChannelStatus (uint8 Fr_CtrlIdx, uint16* Fr_ChannelAStatusPtr, uint16* Fr_ChannelBStatusPtr);

Gets the current clock correction values. See variables v Interim Rate Correction and v Interim Offset Correction of [12] for details.

Std_ReturnType Fr_GetClockCorrection (uint8 Fr_CtrlIdx, sint16* Fr_RateCorrectionPtr, sint32* Fr_OffsetCorrectionPtr);

Gets the current global Flex Ray time. Important Note: Fr_ Get Global Time may be called within an exclusive area.

Std_ReturnType Fr_GetGlobalTime (uint8 Fr_CtrlIdx, uint8* Fr_CyclePtr, uint16* Fr_MacroTickPtr);

Gets the network management vector of the last communication cycle.

Std_ReturnType Fr_GetNmVector (uint8 Fr_CtrlIdx, uint8* Fr_NmVectorPtr);

Gets the current number of startup frames seen on the cluster. See variable v Startup Pairs of [12] for details.

Std_ReturnType Fr_GetNumOfStartupFrames (uint8 Fr_CtrlIdx, uint8* Fr_NumOfStartupFramesPtr);

Gets the POC status.

Std_ReturnType Fr_GetPOCStatus (uint8 Fr_CtrlIdx, Fr_POCStatusType* Fr_POCStatusPtr);

Service Fr_GetSyncFrameList.

Std_ReturnType Fr_GetSyncFrameList (uint8 Fr_CtrlIdx, uint8 Fr_ListSize, uint16* Fr_ChannelAEvenListPtr, uint16* Fr_ChannelBEvenListPtr, uint16* Fr_ChannelAOddListPtr, uint16* Fr_ChannelBOddListPtr);

Gets the wakeup received information from the Flex Ray controller.

Std_ReturnType Fr_GetWakeupRxStatus (uint8 Fr_CtrlIdx, uint8* Fr_WakeupRxStatusPtr);

服务 · Cancel…

Stops an absolute timer.

Std_ReturnType Fr_CancelAbsoluteTimer (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Cancels the already pending transmission of a LPdu contained in a controllers p hysical transmit resource (e.g. message buffer).

Std_ReturnType Fr_CancelTxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

服务 · Disable…

Disables the in terrupt line of an absolute timer.

Std_ReturnType Fr_DisableAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Disables the hardware resource of a LPdu for transmission/ reception.

Std_ReturnType Fr_DisableLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

服务 · Set…

Sets the absolute Flex Ray timer.

Std_ReturnType Fr_SetAbsoluteTimer (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx, uint8 Fr_Cycle, uint16 Fr_Offset);

Sets a wakeup channel.

Std_ReturnType Fr_SetWakeupChannel (uint8 Fr_CtrlIdx, Fr_ChannelType Fr_ChnlIdx);

服务 · 其他

Invokes the CC CHI command 'FREEZE'.

Std_ReturnType Fr_AbortCommunication (uint8 Fr_CtrlIdx);

Service Fr_AckAbsoluteTimerIRQ.

Std_ReturnType Fr_AckAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Invokes the CC CHI command 'ALLOW_ COLDSTART'.

Std_ReturnType Fr_AllowColdstart (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'ALL_ SLOTS'.

Std_ReturnType Fr_AllSlots (uint8 Fr_CtrlIdx);

Checks the transmit status of the LSdu.

Std_ReturnType* Fr_CheckTxLPduStatus (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, Fr_TxLPduStatusType* Fr_TxLPduStatusPtr, Fr_SlotAssignmentType* Fr_SlotAssignmentPtr);

Initialzes a F lex Ray CC.

Std_ReturnType Fr_ControllerInit (uint8 Fr_CtrlIdx);

Service Fr_EnableAbsoluteTimerIRQ.

Std_ReturnType Fr_EnableAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);

Invokes the CC CHI command 'DEFERRED_ HALT'.

Std_ReturnType Fr_HaltCommunication (uint8 Fr_CtrlIdx);

Prepares a LPdu.

Std_ReturnType Fr_PrepareLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Service Fr_ReadCCConfig.

Std_ReturnType Fr_ReadCCConfig (uint8 Fr_CtrlIdx, uint8 Fr_Config ParamIdx, uint32* Fr_Config ParamValuePtr); ⚠️

Service Fr_ReceiveRxLPdu.

Std_ReturnType Fr_ReceiveRxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, uint8* Fr_LSduPtr, Fr_RxLPduStatusType* Fr_LPduStatusPtr, uint8* Fr_LSduLengthPtr, Fr_SlotAssignmentType* Fr_SlotAssignmentPtr);

Service Fr_ReconfigLPdu.

Std_ReturnType Fr_ReconfigLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, uint16 Fr_FrameId, Fr_ChannelType Fr_ChnlIdx, uint8 Fr_CycleRepetition, uint8 Fr_CycleOffset, uint8 Fr_PayloadLength, uint16 Fr_Header CRC); ⚠️
Fr_SendWUP 函数

Invokes the CC CHI command 'WAKEUP'.

Std_ReturnType Fr_SendWUP (uint8 Fr_CtrlIdx);

Starts communication.

Std_ReturnType Fr_StartCommunication (uint8 Fr_CtrlIdx);

Transmits data on the Flex Ray network.

Std_ReturnType Fr_TransmitTxLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx, const uint8* Fr_LSduPtr, uint8 Fr_LSduLength, Fr_SlotAssignmentType* Fr_SlotAssignmentPtr);

类型

FlexRay channel identifier: FR_CHANNEL_A, FR_CHANNEL_B, or FR_CHANNEL_AB.

This type contains the implementation - specific post build configuration structure.

This formal definition refers to the description of type T_ Error Mode in chapter 2.2.1.3 POC status of [12].

This formal definition refers to the description of type T_ POCStatus in chapter 2.2.1.3 POC status of [12].

These values are used to determine if a LPdu has been received or not.

This structure contains information about the assignment of a Flex Ray frame to a cycle and a slot ID.

This formal definition refers to the description of type T_ Slot Mode in chapter 2.2.1.3 POC status of [12]. Available Fr_ General Types.h For FlexRay 2.1 Rev A compliant FlexRay controllers see literal SINGL ESLOT instead of KEYSLOT in [14] . Specification of FlexRay Driver AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayDriver via

Type Fr_StartupStateType.

These values are used to determine whether a LPdu has been transmitted or not.

This formal definition refers to the description of type T_ Wakeup Status in chapter Specification of FlexRay Driver AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayDriver 2.2.1.3 POC status of [12].