DEENESPTFRRUARHIKOZHNL

FlexRay Transport Layer (FrTp)

ModulFrTp (FlexRay Transport Layer)
BSW-Modul-ID36
Standard-Header#include "FrTp.h"
SWS-SpezifikationAUTOSAR_SWS_FlexRayISOTransportLayer.pdf
ClusterFlexRay

模块指南人工智能生成

在 PDU Router 与 FlexRay Interface 之间根据 ISO 10681-2 对大报文进行分段和重组。
AI 生成 未审核 模型: claude-opus-5-5 · 推理强度: high · 温度: 不可控 · 提示词: 74e3fa4a7265 来源 未决问题(1)
因果锚点:R20-11 自 R20-11 起有效 为此规范版本重新合成。
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

在 PDU Router 与 FlexRay Interface 之间根据 ISO 10681-2 对大报文进行分段和重组。

FrTp 根据 ISO 10681-2 在 PduR 和 FrIf 之间传输大报文([SWS_FrTp_01005])。它对报文进行分段和重组、控制流量并通过共享的 Tx-PDU 池分配带宽。FrTp_Transmit 仅接收发送请求;实际工作由周期性 FrTp_MainFunction 完成,该函数必须在每个 FlexRay 周期中至少运行一次([SWS_FrTp_01152])。支持已确认和未确认的传输,以及未知长度的报文。发生协议错误或无效分段时,FrTp 会中止并向 PduR 报告 E_NOT_OK。

FrTp 是符合 ISO 10681-2 的 FlexRay 传输层。在规范未做专有规定的地方,该模块遵循此标准([SWS_FrTp_01005])。它将 PduR 的大 N-SDU 分解为 N-PDU,通过 FrIf_Transmit 转发给 FrIf,并重新组装接收到的帧([SWS_FrTp_01050]、FrTp SWS 第19页)。仅在状态 FRTP_ON 下进行处理,即在 FrTp_Init 与 FrTp_Shutdown 之间([SWS_FrTp_01032]、[SWS_FrTp_01036])。FrTp_MainFunction 必须在每个 FlexRay 周期中至少运行一次([SWS_FrTp_01152])。

kontext EcuM EcuM FrTp FrTp EcuM->FrTp FrTp_Init / FrTp_Shutdown SchM BSW-Scheduler SchM->FrTp FrTp_MainFunction PduR PduR PduR->FrTp FrTp_Transmit, FrTp_CancelTransmit, FrTp_CancelReceive, FrTp_ChangeParameter FrTp->PduR PduR_FrTpStartOfReception, PduR_FrTpCopyRxData, PduR_FrTpRxIndication, PduR_FrTpCopyTxData, PduR_FrTpTxConfirmation FrIf FrIf FrTp->FrIf FrIf_Transmit Det DET FrTp->Det Det_ReportRuntimeError FrIf->FrTp FrTp_RxIndication, FrTp_TxConfirmation, FrTp_TriggerTransmit

上下文图:PduR 与 FrIf 之间的 FrTp,由 EcuM 和 BSW-Scheduler 控制。来源:[SWS_FrTp_00577]、FrTp SWS 第21页

发送始终从 FrTp_Transmit 开始。调用仅占用一个通道并设置 TX_SDU_AVAILABLE([SWS_FrTp_00136]、[SWS_FrTp_01039])。MainFunction 完成剩余工作:它通过 PduR_FrTpCopyTxData 获取数据,占用第一个空闲的池 PDU,并决定是否分段([SWS_FrTp_01045]、[SWS_FrTp_01048])。在“Decoupled Buffer Access”模式下,FrIf 稍后通过 FrTp_TriggerTransmit 获取数据([SWS_FrTp_01060])。在每个被接受的请求之后都会有 PduR_FrTpTxConfirmation([SWS_FrTp_01058])。

发送 N-SDU(Immediate / Decoupled Buffer Access)PduRFrTpFrIfFrTp_Transmit(TxPduId, PduInfoPtr)检查 TxPduId,占用空闲通道TX_SDU_AVAILABLE setzenAuftrag angenommenUse Case: FrTp_MainFunctionPduR_FrTpCopyTxData(可用长度)ersten freien FrTpTxPdu belegenSegmentierung entscheidenloop直至所有 N-SDU 数据发送完毕PduR_FrTpCopyTxData(长度 FrTpTxPdu)准备地址信息和 PCIFrIf_Transmit(TxPduId)optDecoupled Buffer AccessFrTp_TriggerTransmit(TxPduId, PduInfoPtr)AI、PCI 和数据已复制FrTp_TxConfirmation(TxPduId, E_OK)将 FrTpTxPdu 设置为 idleoptFlowControl erwartetwarten, bis FlowControl per FrTp_RxIndication eintrifftKanal freigeben复位 TX_SDU_AVAILABLEPduR_FrTpTxConfirmation(E_OK)

时序图:请求的接收、MainFunction 中的处理、每个 N-PDU 的确认以及最后向 PduR 的确认。来源:FrTp SWS 第44页、[SWS_FrTp_01042]

接收时,FrTp 根据连接配置检查 RxPduId 和地址([SWS_FrTp_01069]、[SWS_FrTp_01071])。对于新连接,它调用 PduR_FrTpStartOfReception,将分片向上复制,并在需要时发送 FlowControl([SWS_FrTp_01078]、[SWS_FrTp_01080])。支持六种变体:未分段或已分段、带确认或不带确认、已知长度或未知长度([SWS_FrTp_01007]–[SWS_FrTp_01012])。多个连接共享 Tx-PDU 池并交替提供服务([SWS_FrTp_01020]、[SWS_FrTp_01096])。

发生错误时,FrTp 会在三种情况下中止并向 PduR 报告 E_NOT_OK:Flow Status 无效或中止时,以及在 1:n 连接上需要分段时([SWS_FrTp_01198]、[SWS_FrTp_01208])。运行时错误包括 FRTP_E_SEG_ERROR 和 FRTP_E_NO_CHANNEL。FC.WAIT 限制等定时器和计数器用于限制等待时间([SWS_FrTp_01100]、[SWS_FrTp_01114])。正在进行的传输可以通过 FrTp_CancelTransmit 和 FrTp_CancelReceive 中止([SWS_FrTp_01116]、[SWS_FrTp_01181])。

在 FlexRay 协议栈中的角色与模块状态

FrTp 是符合 ISO 10681-2 的 FlexRay 传输层。在规范未做专有规定的地方,该模块遵循此标准并支持其 N-PDU 格式([SWS_FrTp_01005]、[SWS_FrTp_01006])。向上,FrTp 为 PduR 提供服务。PduR 通过 FrTp_Transmit 启动传输、中止传输或修改参数。FrTp 通过 PduR_FrTpStartOfReception、PduR_FrTpCopyRxData、PduR_FrTpCopyTxData、PduR_FrTpRxIndication 和 PduR_FrTpTxConfirmation 返回数据和结果(FrTp SWS 第19页)。向下,FrTp 通过 FrIf_Transmit 传递 N-PDU([SWS_FrTp_01050])。FrIf 通过 FrTp_RxIndication、FrTp_TxConfirmation 和 FrTp_TriggerTransmit 回调反馈(FrTp SWS 第21页)。EcuM 调用 FrTp_Init 和 FrTp_Shutdown(FrTp SWS 第19页)。BSW-Scheduler 调用 FrTp_MainFunction([SWS_FrTp_00162]、FrTp SWS 第81页)。

版本之间的一个差异:后续版本在 FrTp 与 FrIf 之间插入了一个 L-SDU 路由器(LSduR)(FrTp SWS 第19页)。对于 R20-11,适用由 [SWS_FrTp_00577] 和 [SWS_FrTp_01050] 规定的通往 FrIf 的直接接口。

kontext EcuM EcuM FrTp FrTp EcuM->FrTp FrTp_Init / FrTp_Shutdown SchM BSW-Scheduler SchM->FrTp FrTp_MainFunction PduR PduR PduR->FrTp FrTp_Transmit, FrTp_CancelTransmit, FrTp_CancelReceive, FrTp_ChangeParameter FrTp->PduR PduR_FrTpStartOfReception, PduR_FrTpCopyRxData, PduR_FrTpRxIndication, PduR_FrTpCopyTxData, PduR_FrTpTxConfirmation FrIf FrIf FrTp->FrIf FrIf_Transmit Det DET FrTp->Det Det_ReportRuntimeError FrIf->FrTp FrTp_RxIndication, FrTp_TxConfirmation, FrTp_TriggerTransmit

上下文图:FrTp 位于 PduR 与 FrIf 之间,由 EcuM 和 BSW-Scheduler 控制。来源:FrTp SWS 第19页、FrTp SWS 第21页、[SWS_FrTp_00577]

该模块具有两种状态:FRTP_OFF 和 FRTP_ON([SWS_FrTp_01028])。状态变量 FrTpState 记录当前适用的状态([SWS_FrTp_01029]、[SWS_FrTp_01106])。上电后,FrTp 处于 FRTP_OFF([SWS_FrTp_01030])。只有携带指向 FrTp_ConfigType 的指针成功执行 FrTp_Init 后,才会切换到 FRTP_ON([SWS_FrTp_01032]、[SWS_FrTp_00147]、[SWS_FrTp_01194])。分段和重组仅在 FRTP_ON 中运行([SWS_FrTp_01033])。FrTp_Shutdown 通过直接停止操作来终止所有打开的连接。它释放资源并返回到 FRTP_OFF([SWS_FrTp_00148]、[SWS_FrTp_01036])。

lebenszyklus start OFF FRTP_OFF (无处理) start->OFF Einschalten ON FRTP_ON (Segmentierung, Reassemblierung, Verbindungsverarbeitung) OFF->ON FrTp_Init(configPtr) erfolgreich ON->OFF FrTp_Shutdown() 所有连接已终止, 资源已释放

状态图:FrTp 仅在 FrTp_Init 和 FrTp_Shutdown 之间处理数据。来源:[SWS_FrTp_01030]、[SWS_FrTp_01032]、[SWS_FrTp_01036]、FrTp SWS 第38页

FrTp_MainFunction 对模块进行调度,是所有处理任务的入口点([SWS_FrTp_00203]、[SWS_FrTp_00580])。它必须在每个 FlexRay 周期中至少运行一次([SWS_FrTp_01152])。相比之下,回调基本上只设置标志:每个通道存在一个 TX_SDU_AVAILABLE([SWS_FrTp_00415]、[SWS_FrTp_00416])。每个可接收的 N-PDU 存在一个 RX_PDU_AVAILABLE,并在处理后清除([SWS_FrTp_00418]、[SWS_FrTp_00421])。

符合 ISO 10681-2 的传输变体

FrTp 支持六种帧序列。它们在三个方面有所不同:报文是否分段、接收方是否确认以及传输开始时长度是否已知(FrTp SWS 第27页、FrTp SWS 第31页):

变体特征帧出处
未分段,无确认,长度已知STFU[SWS_FrTp_01007]
未分段,带确认,长度已知STFA → FC.ACK[SWS_FrTp_01008]
已分段,无确认,长度已知STFU, FC.CTS, CF, CFEOB, LF[SWS_FrTp_01009]
已分段,带确认,长度已知STFA, FC.CTS, CF, CFEOB, LF, FC.ACK[SWS_FrTp_01010]
已分段,无确认,长度未知同上,总长度仅在 LF 中给出[SWS_FrTp_01011], [SWS_FrTp_01067]
已分段,带确认,长度未知同上,另有 FC.ACK[SWS_FrTp_01012]

在已分段、带确认的变体中,FC.ACK 应当紧随 LastFrame 之后并结束传输。 问题 Q-f3c70b1506e2cde4 (未决)这是对图示文字的一种解释,其顺序并不明确(FrTp SWS 第29页)。下图显示了无确认的已分段基本情况。

无确认的分段传输,长度已知FrTp SenderFrTp 接收端StartFrame (STFU)FlowControl_CTS (FC.CTS)Use Case: Block 1ConsecutiveFrame (CF)ConsecutiveFrame (CF)ConsecutiveFrame_EOB (CFEOB)Blockende: neue Flusssteuerung erforderlichFlowControl_CTS (FC.CTS)Use Case: Block 2ConsecutiveFrame (CF)LastFrame (LF)

时序图:接收方通过 FC.CTS 放行每个数据块,CFEOB 结束一个数据块。来源:[SWS_FrTp_01009]、FrTp SWS 第28页

未知长度传输:

连接、通道和 PDU 池

每个通信关系都是一个专有的 FrTpConnection。其数量可在 post-build 时配置([SWS_FrTp_01014]、[SWS_FrTp_01015])。每个连接都具有一个模块范围内唯一的地址对和一个唯一的 FRTP_SDUID([SWS_FrTp_01017]、[SWS_FrTp_01018])。多个连接可以共享一个 FrTpConnectionControl 和一个 FrTpTxPduPool([SWS_FrTp_01022]、[SWS_FrTp_01020])。在运行时,多个 FrTpChannel 并行工作;其数量由 FrTpChanNum 确定([SWS_FrTp_00088]、[SWS_FrTp_00228])。对于发送和接收,通道分别在“idle”和“busy”之间切换([SWS_FrTp_01117]、[SWS_FrTp_01025])。

konfiguration Kanal FrTpChannel (Anzahl: FrTpChanNum) TxCon FrTpConnection (Tx) FrTpLa/FrTpRa, FRTP_SDUID Kanal->TxCon FrTpTxConRef RxCon FrTpConnection (Rx) FrTpLa/FrTpRa, FRTP_SDUID Kanal->RxCon FrTpRxConRef Ctrl FrTpConnectionControl (mehrfach referenzierbar) TxCon->Ctrl Referenz Pool FrTpTxPduPool (mehrfach referenzierbar) TxCon->Pool Referenz RxCon->Ctrl Referenz RxCon->Pool 参考(用于 FlowControl) NPdu Tx N-PDU (递增,独立长度) Pool->NPdu 包含 FrIf FrIf NPdu->FrIf SF, CF, LF / FC

上下文图:一个半双工通道引用一个 Tx 连接和一个 Rx 连接。两者都引用控制参数和一个 Tx-PDU 池。来源:FrTp SWS 第39页、[SWS_FrTp_01020]、[SWS_FrTp_01088]

地址:

  • 发送时,FrTp 从元数据 SOURCE_ADDRESS_16 和 TARGET_ADDRESS_16 中获取地址。配置的 FrTpLa/FrTpRa 在此具有优先权([SWS_FrTp_01204]、[SWS_FrTp_01205])。
  • 接收时,FrTp 将地址作为元数据向上传递。它将相同的地址用于 FlowControl([SWS_FrTp_01206])。

FrTp 通过池分配带宽:

发送路径:从 FrTp_Transmit 到 PduR_FrTpTxConfirmation

每次发送均以 FrTp_Transmit 开始([SWS_FrTp_00136]、[SWS_FrTp_00149])。仅当 TxPduId 有效且通道空闲时,调用才会设置 TX_SDU_AVAILABLE([SWS_FrTp_01039])。否则,它以 E_NOT_OK 结束。若针对同一地址已存在正在进行的传输,亦是如此([SWS_FrTp_01041]、[SWS_FrTp_01200])。

实际工作由 FrTp_MainFunction 完成:

  1. 它通过 PduR_FrTpCopyTxData 查询可用长度([SWS_FrTp_01042])。
  2. 它占用第一个空闲的 FrTpTxPdu([SWS_FrTp_01045])。
  3. 它决定是否进行分段([SWS_FrTp_01048])。
  4. 它按 PDU 长度复制数据([SWS_FrTp_01123])。
  5. 它将具有精确长度的 N-PDU 传递给 FrIf_Transmit([SWS_FrTp_01051])。

该流程如 FrTp SWS 第44页 所示。

segmentierung start laenge TX_SDU_AVAILABLE 已设置: PduR_FrTpCopyTxData 提供可用长度 start->laenge frei 池中是否有 空闲的 FrTpTxPdu? laenge->frei warten 将连接推迟到下一次 FrTp_MainFunction frei->warten 不 groesse FrTpTxSdu.Length > FrTpTxPdu.Length - AI.Length - PCI.Length? frei->groesse 是 unseg unsegmentiert (einzelner StartFrame) groesse->unseg 不 multi 1:n-Verbindung? groesse->multi 是 senden 准备 AI 和 PCI, PduR_FrTpCopyTxData(长度 FrTpTxPdu), FrIf_Transmit unseg->senden fehler 报告 FRTP_E_SEG_ERROR, 中止传输, PduR_FrTpTxConfirmation(E_NOT_OK) multi->fehler 是 seg segmentiert (StartFrame, CF ..., LastFrame) multi->seg 不 seg->senden

活动图:在未分段与分段传输之间的决策,包括在 1:n 连接上的中止。来源:[SWS_FrTp_01047]、[SWS_FrTp_01048]、[SWS_FrTp_01208]、FrTp SWS 第51页

对吞吐量至关重要的是:若没有 PDU 空闲,FrTp 将挂起该连接,直至下一次 MainFunction 调用([SWS_FrTp_01047])。

在每个 N-PDU 之后,FrIf 都会调用 FrTp_TxConfirmation。这会将 FrTpTxPdu 设置为“idle”([SWS_FrTp_01052]、[SWS_FrTp_01054])。一旦满足三个条件,通道和标志即被释放:所有数据已发送、得到肯定确认,以及(若已配置)收到确认([SWS_FrTp_01056]、[SWS_FrTp_01057])。每个被接受的请求之后都会有 PduR_FrTpTxConfirmation,仅在成功情况下带有 E_OK([SWS_FrTp_01058])。发送有两种缓冲区访问类型:“Immediate”和“Decoupled Buffer Access”([SWS_FrTp_01084])。在“Decoupled”情况下,FrIf 稍后通过 FrTp_TriggerTransmit 获取数据。该调用将 Address Information、PCI 和有效负载数据复制到所提供的缓冲区中([SWS_FrTp_01060]、[SWS_FrTp_01061]、FrTp SWS 第50页)。

发送 N-SDU(Immediate / Decoupled Buffer Access)PduRFrTpFrIfFrTp_Transmit(TxPduId, PduInfoPtr)检查 TxPduId,占用空闲通道TX_SDU_AVAILABLE setzenAuftrag angenommenUse Case: FrTp_MainFunctionPduR_FrTpCopyTxData(可用长度)ersten freien FrTpTxPdu belegenSegmentierung entscheidenloop直至所有 N-SDU 数据发送完毕PduR_FrTpCopyTxData(长度 FrTpTxPdu)准备地址信息和 PCIFrIf_Transmit(TxPduId)optDecoupled Buffer AccessFrTp_TriggerTransmit(TxPduId, PduInfoPtr)AI、PCI 和数据已复制FrTp_TxConfirmation(TxPduId, E_OK)将 FrTpTxPdu 设置为 idleoptFlowControl erwartetwarten, bis FlowControl per FrTp_RxIndication eintrifftKanal freigeben复位 TX_SDU_AVAILABLEPduR_FrTpTxConfirmation(E_OK)

时序图:请求同步到达,并在 MainFunction 中异步处理;可选随后进行 TriggerTransmit(Decoupled)。来源:FrTp SWS 第44页、FrTp SWS 第50页、[SWS_FrTp_01058]

接收路径与重组

接收从 FrTp_RxIndication 开始([SWS_FrTp_00137])。FrTp 仅在满足两个条件时才处理 N-PDU([SWS_FrTp_01069]、[SWS_FrTp_01071]):

  • RxPduId 有效。
  • 目标地址对应于 FrTpLa,源地址对应于 FrTpRa。

否则,该 N-PDU 将被忽略([SWS_FrTp_01072])。若没有空闲的 Rx 通道,则处理结束,且 FrTp 报告 FRTP_E_NO_CHANNEL([SWS_FrTp_01076]、[SWS_FrTp_01186])。FrTp 将 StartFrame 存放在本地缓冲区中。这样网关即使在短暂资源匮乏的情况下也能正确处理它(FrTp SWS 第56页)。

对于新连接,FrTp 调用 PduR_FrTpStartOfReception。传递的内容包括预期长度以及 StartFrame 的内容和大小([SWS_FrTp_01078]、[SWS_FrTp_01193])。R20-11 图示展示了发起此调用的两种变体位置:在 FrTp_RxIndication 中(FrTp SWS 第55页)以及在 FrTp_MainFunction 中(FrTp SWS 第86页)。R23-11 明确允许这两种方式(FrTp SWS 第54页)。

随后,FrTp 通过 PduR_FrTpCopyRxData 复制分片,并在协议有要求时发送 FlowControl([SWS_FrTp_01138]、[SWS_FrTp_01080])。当所有数据均已接收且所有 FlowControl 均已确认时,释放该通道([SWS_FrTp_01081])。每当 PduR_FrTpStartOfReception 成功时,总会有 PduR_FrTpRxIndication([SWS_FrTp_01083])。

接收与重组FrIfFrTpPduRFrTp_RxIndication(RxPduId, PduInfoPtr)检查 RxPduId针对 FrTpLa/FrTpRa 检查目标/源altStartFrame empfangenfreien Rx-Kanal belegenStartFrame in lokalen Puffer kopierenFolgerahmen (CF, LF)查找关联通道RX_PDU_AVAILABLE setzenUse Case: FrTp_MainFunction (StartOfReception alternativ schon in FrTp_RxIndication)optneue VerbindungPduR_FrTpStartOfReception(RxSduId,起始帧的数据和大小,长度)Puffer bereitgestelltPduR_FrTpCopyRxData (N-SDU-Fragment)optFlowControl erforderlichFrIf_Transmit(FC N-PDU)FrTp_TxConfirmation(E_OK)复位 RX_PDU_AVAILABLEopt已完整接收 N-SDURx-Kanal freigebenPduR_FrTpRxIndication(RxSduId, E_OK)

时序图:回调进行检查和缓冲,MainFunction 进行重组并发送 FlowControl。来源:FrTp SWS 第55页、[SWS_FrTp_01074]、[SWS_FrTp_01083]

中止与运行时参数

是否支持发送中止由 FrTpTransmitCancellation 静态确定;通过 FrTp_CancelTransmit 触发([SWS_FrTp_01097]、[SWS_FrTp_00384])。其作用取决于处理进度:

  • 若请求已被接受但尚未启动,则连接立即释放。接收方察觉不到任何异常([SWS_FrTp_00385]、FrTp SWS 第63页)。
  • 若传输正在进行,FrTp 将使用 E_OK 将其中止([SWS_FrTp_01116])。
  • 当没有活动连接,或者未确认传输的最后一个 N-PDU 已传递给 FrIf 时,将返回 E_NOT_OK([SWS_FrTp_01116])。

在分段情况下,接收方会发生超时,从而终止接收(FrTp SWS 第59页)。

分段传输时的发送中止PduR (Sender)FrTp SenderFrTp 接收端PduR(接收端)FrTp_TransmitUse Case: FrTp_MainFunctionStartFramePduR_FrTpStartOfReceptionFlowControlFrTp_CancelTransmit(TxPduId)E_OK传输已停止,无后续 CF超时(未收到 CF)PduR_FrTpRxIndication(Empfang abgebrochen)

时序图:若发送方中止正在进行的分段传输,接收方将通过超时终止接收。来源:[SWS_FrTp_01116]、FrTp SWS 第69页

若 RxPduId 有效,FrTp_CancelReceive 会中止正在进行的接收,并随后返回 E_OK([SWS_FrTp_01181]、[SWS_FrTp_01183])。对于未分段接收或正在进行 LastFrame 的情况,该函数将予以拒绝([SWS_FrTp_01182])。FrTp_ChangeParameter 在运行时修改 BandwidthControl 值 FrTpSCexp 和 FrTpMaxNbrOfNPduPerCycle([SWS_FrTp_00242])。其位布局对应于 FC(CTS) 帧的位布局([SWS_FrTp_01195])。用于此的参数标识符为 TP_BC(ComStack Types 第18页)。在正在进行的接收期间,该修改将被拒绝([SWS_FrTp_01115])。成功修改后,连接将使用新值([SWS_FrTp_01156])。

发生错误时的行为

开发错误定义在 [SWS_FrTp_01201] 中:

  • FRTP_E_UNINIT:未初始化时调用;FrTp_Init 和 FrTp_GetVersionInfo 除外。
  • FRTP_E_PARAM_POINTER:NULL 指针。
  • FRTP_E_INVALID_PDU_SDU_ID:无效的 SDU 或 PDU ID。
  • FRTP_E_INVALID_PARAMETER:无效参数。
  • FRTP_E_UMSG_LENGTH_ERROR:在没有相应配置的情况下使用未知长度([SWS_FrTp_01134])。
  • 用于初始化失败的错误码。

这些 API 会检查 ID 和指针,并在有返回值的情况下在出错时返回 E_NOT_OK([SWS_FrTp_01139]、[SWS_FrTp_01145]、[SWS_FrTp_01147])。运行时错误为 FRTP_E_SEG_ERROR(0x05)和 FRTP_E_NO_CHANNEL(0x07)。它们通过 Det_ReportRuntimeError 传递([SWS_FrTp_01208]、[SWS_FrTp_00577])。

在三种情况下,发送方会中止并伴随 E_NOT_OK 报告 PduR_FrTpTxConfirmation:

带有 E_NOT_OK 的 FrTp_TxConfirmation 会释放两侧的通道([SWS_FrTp_01056]、[SWS_FrTp_01081])。标志位 RX_ERROR 会记录接收错误,直到允许发送 FlowControl 为止。在做出响应(Retry、否定确认或中止)后,该标志位会被清除([SWS_FrTp_00429]、[SWS_FrTp_00430])。在 1:n 连接上既没有确认也没有 Retry([SWS_FrTp_00598])。

定时器和超时遵循规范中的表格([SWS_FrTp_01099]、[SWS_FrTp_01100]、FrTp SWS 第67页)。配置必须满足以下条件:

如果 PduR 在发送时返回 BUFREQ_E_BUSY,FrTp 最多会重试 FrTpTimeCs 次([SWS_FrTp_01196])。计数器具有上限([SWS_FrTp_01105]、[SWS_FrTp_01114])。达到限制时会发生什么由 [SWS_FrTp_01113] 规定;此处未提供相关表格。如果接收方缺少缓冲区,则会发送 FC.WAIT。此类帧的数量受 FrTpMaxFCWait 限制(FrTp SWS 第69页)。

接收端缓冲区瓶颈:FC.WAIT 和计数器限制FrTp SenderFrTp 接收端PduR(接收端)StartFrame发送端监控 Timeout_BSPduR_FrTpStartOfReceptionkein Pufferloopkein Puffer; COUNTER_FCWT begrenzt durch FrTpMaxFCWaitFlowControl (WAIT)Pufferanforderung wiederholenkein PufferPufferanforderung缓冲区可用PduR_FrTpCopyRxDataFlowControl (CTS)ConsecutiveFrame接收端监控 Timeout_CR

时序图:如果缺少缓冲区,接收方会发送 FC.WAIT,直到达到计数器限制;随后 FC.CTS 继续传输。来源:[SWS_FrTp_01105]、[SWS_FrTp_01114]、FrTp SWS 第70页

进一步详细证据

基于 payload 中规范摘录由 AI 生成的指南。针对 R20-11 具有规范约束力的是所链接的 Requirements;其他 Release 的文档位置仅供说明参考。

FlexRay Transport Layer (FrTp)

Provides segmented data transmission over FlexRay (ISO 10681-2).

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

函数 FrTp_Init [SWS_FrTp_00147] 📄 PDF

void FrTp_Init (const FrTp_ConfigType* configPtr);

This service initializes all global variables of a Flex Ray Transport Layer instance and set it in the idle state. It has no return value because software errors in initialisation data shall be detected during configuration time (e.g. by configuration tool ).

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

同步函数 FrTp_Init 初始化 FlexRay 传输层实例的所有全局变量,并将其置于空闲状态 [SWS_FrTp_00147]。作为输入参数,通过 configPtr 传递指向 FlexRay 传输协议配置的指针(const FrTp_ConfigType*)[SWS_FrTp_00147]。该接口通过头文件 FrTp.h 声明,服务 ID 为 0x00 [SWS_FrTp_00147]。

在内部行为和错误处理方面,适用以下规定:

  • 在传输层通过调用 FrTp_Init 成功初始化后,FrTp 模块切换到内部状态 FRTP_ON [SWS_FrTp_01032]。
  • 该函数没有返回值(void),因为初始化数据中的软件错误必须在配置阶段(例如通过配置工具)就已经被检测出来 [SWS_FrTp_00147]。

关于并发性,该服务被指定为不可重入(Non Reentrant)[SWS_FrTp_00147]。因此不允许进行并行或多次未经协调的调用。解释:在常规传输服务使用之前,该调用通常可能在 ECU 启动范围内集中进行。 问题 Q-9b7cf7fc6dac510e (未决)

该使用说明基于 AUTOSAR R20-11 的规范需求自动生成。

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

函数 FrTp_Shutdown [SWS_FrTp_00148] 📄 PDF

void FrTp_Shutdown (void);

This service closes all pending transport pro tocol connections by simply stopping operation, frees all resources and stops the Fr Tp Module

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

同步函数 FrTp_Shutdown 终止 FlexRay 传输协议模块(FrTp)的运行[SWS_FrTp_00148]。调用时,该服务通过停止操作立即关闭所有仍挂起的传输协议连接,释放所有占用的资源并完全停止 FrTp 模块[SWS_FrTp_00148]。

关于接口规范和行为,适用以下特性:

  • 签名和头文件:该函数可通过头文件 FrTp.h 获取,服务 ID 为 0x01,不接收参数且不返回值(void)[SWS_FrTp_00148]。
  • 并发性:FrTp_Shutdown 被指定为不可重入(Non Reentrant),并且必须同步执行 [SWS_FrTp_00148]。因此,不允许进行并发或多次并行调用。
  • 状态转换:通过成功执行服务原语 FrTp_Shutdown(),FrTp 模块转换到内部状态 FRTP_OFF [SWS_FrTp_01036]。

由于该服务仅通过停止操作来关闭挂起的连接,因此正在进行的传输可能会立即中止,且不会发出单独的完成通知。 问题 Q-35555515f521d0c3 (未决)

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

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

函数 FrTp_Transmit [SWS_FrTp_00149] 📄 PDF

Std_ReturnType FrTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);

Requests transmission of a PDU.

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

用法与语义

同步函数 FrTp_Transmit 请求通过 FlexRay 传输层模块传输 PDU [SWS_FrTp_00149]。通过参数 TxPduId 传递要传输的 PDU 的标识符,而 PduInfoPtr 指向有效载荷数据、元数据以及长度 [SWS_FrTp_00149]。如果要发起上层尚未知晓消息长度的传输,则应使用参数值 PduLength = 0 调用 FrTp_Transmit [SWS_FrTp_01064]。发送请求的接受以 E_OK 进行同步确认;若无法接受该请求,则函数返回 E_NOT_OK [SWS_FrTp_00149]。

并发性与通道可用性

该函数对于具有不同 PDU ID 的调用是可重入的,但对于相同标识符是不可重入的 TxPduId [SWS_FrTp_00149]。此外,执行需要空闲传输通道:如果由于状态未处于空闲(FrTpTxChannelState ≠ Idle)而导致无可用通道,则函数中止并返回 E_NOT_OK [SWS_FrTp_01041]。

错误处理

若用于错误检测的开发接口处于激活状态,则 FrTp_Transmit 验证所传递的参数:

  • 若传递了不受支持或无效的 TxPduId,则服务以 E_NOT_OK 中止并报告开发错误 FRTP_E_INVALID_PDU_SDU_ID [SWS_FrTp_01040],[SWS_FrTp_01139]。
  • 若指针 PduInfoPtr 无效,则报告错误 FRTP_E_PARAM_POINTER,且执行同样以 E_NOT_OK 中止 [SWS_FrTp_01140]。

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

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

函数 FrTp_CancelTransmit [SWS_FrTp_00150] 📄 PDF

Std_ReturnType FrTp_CancelTransmit (PduIdType TxPduId);

Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.

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

同步服务函数 FrTp_CancelTransmit 请求中止底层通信模块中正在进行的 PDU 传输 [SWS_FrTp_00150]。要中止的传输通过输入参数 TxPduId 寻址 [SWS_FrTp_00150]。

状态相关行为与返回值

中止时的行为取决于连接的当前状态:

  • 若发送请求处于挂起状态但传输本身尚未启动,则 FrTp_CancelTransmit 立即释放连接 [SWS_FrTp_00385]。
  • 若传输已在进行中,则函数停止发送过程并通过返回值 E_OK 确认成功中止 [SWS_FrTp_01116]。
  • 若连接未激活,或者未确认传输的最后一个 N-PDU 已转发给 FrIf,则中止失败且函数返回 E_NOT_OK [SWS_FrTp_01116]。

错误处理与并发

只要 FrTp_CancelTransmit 的开发错误检测(Development Error Detection)已激活,该函数就会检查参数 TxPduId 的有效性。若该检查失败,则报告开发错误 FRTP_E_INVALID_PDU_SDU_ID 并返回 E_NOT_OK [SWS_FrTp_01141]。

该函数针对具有不同 PDU ID 的调用是可重入的,但不得针对相同 TxPduId 并发执行 [SWS_FrTp_00150]。

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

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

函数 FrTp_ChangeParameter [SWS_FrTp_00151] 📄 PDF

Std_ReturnType FrTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);

Request to change a specific transport protocol parameter (e.g. block size).

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

根据 [SWS_FrTp_00151],同步函数 FrTp_ChangeParameter 用于在运行时请求更改传输协议的特定参数。通过参数 id 引用受影响的 PDU,而 parameter 传递参数标识符,value 传递新值。在成功调整时,该函数返回 E_OK,否则该更改请求将被拒绝并返回 E_NOT_OK [SWS_FrTp_00151]。

具体而言,该服务用于在运行时根据 ISO 10681-2 修改用于带宽控制(BandwidthControl,BC)的 FlowControl-PDU 参数 [SWS_FrTp_00242]。这涉及:

在发送端,由此触发的额外 FlowControl-PDU 将作为非预期的 N-PDU 被接收并忽略 [SWS_FrTp_00242]。

错误处理

如果为该函数启用了开发错误检测(Development Error Detection),则会执行形式参数检查:

  • 检查 PDU 标识符 id:若值无效,该函数会报告开发错误 FRTP_E_INVALID_PDU_SDU_ID 并返回 E_NOT_OK [SWS_FrTp_01143]。
  • 检查参数 parameter:若标识符无效,该函数会报告 FRTP_E_INVALID_PARAMETER 并返回 E_NOT_OK [SWS_FrTp_01144]。

并发性与限制

该函数被指定为不可重入(Non Reentrant)[SWS_FrTp_00151]。因此调用方必须确保调用按顺序执行;从不同任务进行访问时可能需要外部同步。 问题 Q-fe82be70448a3e0b (未决)

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

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

函数 FrTp_CancelReceive [SWS_FrTp_01172] 📄 PDF

Std_ReturnType FrTp_CancelReceive (PduIdType RxPduId);

Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module.

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

同步函数 FrTp_CancelReceive 请求中止 FlexRay 传输层中正在进行的 PDU 接收 [SWS_FrTp_01172]。它可通过头文件 FrTp.h 获取,并允许针对性地停止活动的接收操作。

参数与返回值

作为输入参数,传递类型为 PduIdType 的 RxPduId,从而唯一标识要中止的 PDU [SWS_FrTp_01172]。不存在额外的输入或输出参数。该函数返回类型为 Std_ReturnType 的状态值:

并发性与限制

该函数被归类为不可重入(Non Reentrant)[SWS_FrTp_01172]。因此,调用方必须确保不进行并行或嵌套调用,以避免内部 PDU 状态管理出现不一致。

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

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

函数 FrTp_TriggerTransmit [SWS_FrTp_00154] 📄 PDF

Std_ReturnType FrTp_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);

Within this API , the upper layer module (called module) shall check whether the 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 copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.

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

同步函数 [SWS_FrTp_00154] 用于为传输提供 SDU 数据。通过参数 TxPduId 标识要传输的 SDU,而 PduInfoPtr 指向包含目标缓冲区(SduDataPtr)和可用缓冲区大小(SduLength)的结构 [SWS_FrTp_00154]。

在该函数内部会检查所提供的数据是否适合通过 PduInfoPtr->SduLength 报告的目标缓冲区 [SWS_FrTp_00154]:

  • 复制成功:若缓冲区容量充足,该函数将地址信息、PCI 以及 N-SDU 数据复制到缓冲区 PduInfoPtr->SduDataPtr 中 [SWS_FrTp_01060]。PduInfoPtr->SduLength 中的数据长度被设置为所复制数据的精确长度,且该函数返回 E_OK [SWS_FrTp_00154]、[SWS_FrTp_01061]。
  • 缓冲区不足:若数据无法放入缓冲区,该函数将中止并返回 E_NOT_OK,而不会修改 PduInfoPtr [SWS_FrTp_00154]。在发生错误时,调用方不得使用 PduInfoPtr,因为它可能包含无效数据或空指针 [SWS_FrTp_00154]。

当开发错误检测(DET)激活时,该函数会对传入参数执行预先检查:

  • 若 TxPduId 无效,该函数向 DET 报告错误 FRTP_E_INVALID_PDU_SDU_ID 并返回 E_NOT_OK [SWS_FrTp_01145]。
  • 若 PduInfoPtr 无效,它向 DET 报告错误 FRTP_E_PARAM_POINTER 并同样返回 E_NOT_OK [SWS_FrTp_01146]。

在并发性方面,该函数对于不同的 PDU-ID 是可重入的,但对于相同的TxPduId不得并发调用[SWS_FrTp_00154]。

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

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

函数 FrTp_RxIndication [SWS_FrTp_00152] 📄 PDF

void FrTp_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);

Indication of a received PDU from a lower layer communication interface module.

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

用法与语义

同步回调函数 FrTp_RxIndication 用于将接收到的 PDU 从底层通信接口模块指示给 FlexRay ISO 传输层模块,并启动整个接收过程 [SWS_FrTp_00152],[SWS_FrTp_00137]。它可通过头文件 FrTp.h 获取,服务 ID 为 0x42,无返回值 [SWS_FrTp_00152]。作为参数,它需要接收到的 PDU 的标识符(RxPduId)以及指向类型为 PduInfoType 的结构的指针(PduInfoPtr)[SWS_FrTp_00152]。该指针提供接收到的 PDU 的长度(SduLength)、指向有效载荷数据的缓冲区指针(SduDataPtr)以及关联的元数据 [SWS_FrTp_00152]。

错误处理

关于错误处理,该函数在开发检测(DET)激活时检查两个输入参数:若 RxPduId 无效,则报告开发错误 FRTP_E_INVALID_PDU_SDU_ID [SWS_FrTp_01147]。若 PduInfoPtr 无效,则报告错误 FRTP_E_PARAM_POINTER [SWS_FrTp_01148]。若传递了不受支持的 RxPduId,则终止执行而不执行进一步操作 [SWS_FrTp_01075]。如果在调用时没有可用的空闲接收通道,因为通道状态不是 Idle(FrTpRxChannelState ≠ Idle),则函数同样会中止且不作进一步处理 [SWS_FrTp_01076],并且模块会触发运行时错误 FRTP_E_NO_CHANNEL [SWS_FrTp_01186]。

并发性与交互

关于并发性,FrTp_RxIndication 针对不同 PDU ID 是可重入的,但针对相同 PDU ID 是不可重入的 [SWS_FrTp_00152]。调用必须由底层接口同步执行,以正常启动 FrTp 模块中的接收 [SWS_FrTp_00152],[SWS_FrTp_00137]。

该使用说明基于 AUTOSAR R20-11 的规范需求自动生成。

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

函数 FrTp_TxConfirmation [SWS_FrTp_00153] 📄 PDF

void FrTp_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.

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

同步函数 [SWS_FrTp_00153] 用于底层通信层向 FrTp 模块通知 PDU 传输成功或失败。在调用时,底层在参数 TxPduId 中传递已配置的标识符 FrTpTxConfirmationPduId 以及发送结果 result([SWS_FrTp_01053])。result 的有效值为:发送成功时的 E_OK 以及传输失败时的 E_NOT_OK([SWS_FrTp_00153])。

若开发错误检测(DET)已启用,该函数将执行参数检查:非法的标识符 TxPduId 会触发开发错误 FRTP_E_INVALID_PDU_SDU_ID([SWS_FrTp_01149]),而 result 的无效值会导致错误 FRTP_E_INVALID_PARAMETER([SWS_FrTp_01203])。

关于并发性,该函数针对不同的 PDU-ID 是可重入的,但不得针对相同的 TxPduId 进行并发调用([SWS_FrTp_00153])。在每次带有对应 FrTpTxConfirmationPduId 的调用中,该模块会将计数器 TxPduPendingCounter 递减([SWS_FrTp_01092])。

与传输状态结合使用时,该确认会引发以下状态转换:

  • 在发送端,一旦所有 N-SDU 数据均已发送、result 具有值 E_OK 且已收到可能配置的确认,或者当 result 等于 E_NOT_OK 时直接发生,被占用的通道就会转换到状态 Idle(FrTpTxChannelState = Idle),并且标志 TX_SDU_AVAILABLE 以及 TX_SDU_UNKNOWN_MSG_LENGTH 会被复位([SWS_FrTp_01056]、[SWS_FrTp_01057]、[SWS_FrTp_01124])。
  • 在接收端,当所有数据均已接收且所有必需的 Flow-Control-PDU 均已通过 E_OK 确认,或者当确认以 E_NOT_OK 发生时,被占用的接收通道(FrTpRxChannelState = Idle)会被释放([SWS_FrTp_01081])。

本文由 AI 生成,基于 AUTOSAR 发布版本 R20-11 的规范。

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

函数 FrTp_MainFunction [SWS_FrTp_00162] 📄 PDF

void FrTp_MainFunction (void);

Schedules the Flex Ray TP. (Entry point for scheduling)

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

用法与调用上下文

函数 FrTp_MainFunction 具有签名 void FrTp_MainFunction (void);,且指定的服务 ID 为 0x10 [SWS_FrTp_00162]。它不接收输入参数,也不向调用者返回任何返回值 [SWS_FrTp_00162]。其声明可通过头文件 SchM_FrTp.h 获取 [SWS_FrTp_00162]。根据推测,该函数通常由 BSW 调度器(Schedule Manager)周期性调用。 问题 Q-aaa6251bd84aef94 (未决)

交互与任务

该函数的主要任务是对 FlexRay 传输协议模块进行调度 [SWS_FrTp_00162],[SWS_FrTp_00203]。根据 [SWS_FrTp_00580],FrTp_MainFunction 为 FrTp 模块待处理的处理任务(processing tasks)提供了强制性入口点,从而周期性地处理和管理内部协议进程。

时间条件与限制

对于接入整个系统的时间要求,规范为调度定义了固定的最低调用率:

  • 每个 FlexRay 周期必须至少调用 FrTp_MainFunction 一次 [SWS_FrTp_01152]。

在当前规范范围内,未描述具体的错误处理、DET 或 DEM 报告,以及关于重入性或并发性的显式规定。

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

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

类型 FrTp_ConfigType [SWS_FrTp_01194] 📄 PDF

This is the base type for the configuration of the Flex Ray Transport Protocol A pointer to an instance of this structure will be used in the initialization of the Flex Ray Transport Protocol. The outline of the structure is defined in chapter 10 Configura tion Specification

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

Record
AUTOSAR/AP/record/CP_MOD_FrTp
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_FrTp@rel:R20-11#9350c5bc
Content hash
9350c5bc
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayISOTransportLayer.pdf#nameddest=SWS_FrTp_00215

初始化与状态

Returns the version information.

void FrTp_GetVersionInfo (Std_VersionInfoType* versioninfo);
FrTp_Init 函数

This service initializes all global variables of a Flex Ray Transport Layer instance and set it in the idle state. It has no return value because software errors in initialisation data shall be detected during configuration time (e.g. by configuration tool ).

void FrTp_Init (const FrTp_ConfigType* configPtr);

服务

Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module.

Std_ReturnType FrTp_CancelReceive (PduIdType RxPduId);

Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.

Std_ReturnType FrTp_CancelTransmit (PduIdType TxPduId);

Request to change a specific transport protocol parameter (e.g. block size).

Std_ReturnType FrTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);

This service closes all pending transport pro tocol connections by simply stopping operation, frees all resources and stops the Fr Tp Module

void FrTp_Shutdown (void);

Requests transmission of a PDU.

Std_ReturnType FrTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);

回调

Indication of a received PDU from a lower layer communication interface module.

void FrTp_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);

Within this API , the upper layer module (called module) shall check whether the 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 copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr.

Std_ReturnType FrTp_TriggerTransmit (PduIdType TxPduId, PduInfoType* PduInfoPtr);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

void FrTp_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

周期性

Schedules the Flex Ray TP. (Entry point for scheduling)

void FrTp_MainFunction (void);

类型

This is the base type for the configuration of the Flex Ray Transport Protocol A pointer to an instance of this structure will be used in the initialization of the Flex Ray Transport Protocol. The outline of the structure is defined in chapter 10 Configura tion Specification