FlexRay Transport Layer (FrTp)
Provides segmented data transmission over FlexRay (ISO 10681-2).
Funktionen — Übersicht
void FrTp_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information.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.void FrTp_Shutdown (void);This service closes all pending transport pro tocol connections by simply stopping operation, frees all resources and stops...Std_ReturnType FrTp_Transmit (PduIdType TxPduId, const PduInfoType* PduInfoPtr);Requests transmission of a PDU.Std_ReturnType FrTp_CancelTransmit (PduIdType TxPduId);Requests cancellation of an ongoing transmission of a PDU in a lower layer communication module.Std_ReturnType FrTp_ChangeParameter (PduIdType id, TPParameterType parameter, uint16 value);Request to change a specific transport protocol parameter (e.Std_ReturnType FrTp_CancelReceive (PduIdType RxPduId);Requests cancellation of an ongoing reception of a PDU in a lower layer transport protocol module.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...void FrTp_RxIndication (PduIdType RxPduId, const PduInfoType* PduInfoPtr);Indication of a received PDU from a lower layer communication interface module.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.void FrTp_MainFunction (void);Schedules the Flex Ray TP.
Typen — Übersicht
struct FrTp_ConfigTypeThis is the base type for the configuration of the Flex Ray Transport Protocol A pointer to an instance of this structure will...
Funktionen & Typen — Detailansicht
функция FrTp_GetVersionInfo [SWS_FrTp_00215] 📄 PDF
void FrTp_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information.
функция 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 ).
Синхронная функция FrTp_Init инициализирует все глобальные переменные экземпляра транспортного уровня FlexRay и переводит его в состояние покоя [SWS_FrTp_00147]. В качестве входного параметра через configPtr передается указатель на конфигурацию транспортного протокола FlexRay (const FrTp_ConfigType*) [SWS_FrTp_00147]. Интерфейс объявляется через заголовочный файл FrTp.h с идентификатором сервиса 0x00 [SWS_FrTp_00147].
В отношении внутреннего поведения и обработки ошибок действуют следующие положения:
- После того как транспортный уровень был успешно инициализирован вызовом
FrTp_Init, модуль FrTp переходит во внутреннее состояниеFRTP_ON[SWS_FrTp_01032]. - Функция не имеет возвращаемого значения (
void), так как программные ошибки в данных инициализации должны выявляться еще на этапе конфигурации, например с помощью инструмента конфигурирования [SWS_FrTp_00147].
Относительно параллелизма сервис специфицирован как нереентерабельный (Non Reentrant) [SWS_FrTp_00147]. Параллельный или многократный некоординированный вызов поэтому недопустим. Интерпретация: вызов, вероятно, должен выполняться централизованно в рамках запуска ЭБУ до использования регулярных транспортных сервисов. Вопрос 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
Синхронная функция FrTp_Shutdown завершает работу модуля транспортного протокола FlexRay (FrTp) [SWS_FrTp_00148]. При вызове сервис немедленно закрывает все еще активные соединения транспортного протокола путем прекращения работы, освобождает все занятые ресурсы и полностью останавливает модуль FrTp [SWS_FrTp_00148].
В отношении спецификации интерфейса и поведения действуют следующие свойства:
- Сигнатура и заголовочный файл: функция доступна через заголовочный файл
FrTp.h, имеет Service-ID0x01, не ожидает параметров и не возвращает значения (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.
Использование и семантика
Синхронная функция FrTp_Transmit запрашивает передачу PDU через модуль транспортного уровня FlexRay [SWS_FrTp_00149]. Через параметр TxPduId передается идентификатор передаваемого PDU, тогда как PduInfoPtr указывает на полезные данные, метаданные, а также длину [SWS_FrTp_00149]. Если требуется инициировать передачу с длиной сообщения, еще неизвестной верхнему уровню, следует вызвать FrTp_Transmit со значением параметра PduLength = 0 [SWS_FrTp_01064]. Принятие запроса на передачу подтверждается синхронно с помощью E_OK; если запрос не может быть принят, функция возвращает E_NOT_OK [SWS_FrTp_00149].
Параллелизм и доступность каналов
Функция реентерабельна для вызовов с различными ID PDU, однако нереентерабельна для одного и того же идентификатора 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].
Этот текст был сгенерирован ИИ на основе спецификации 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.
Синхронная сервисная функция 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].
Обработка ошибок и параллелизм
Если обнаружение ошибок разработки (Development Error Detection) для FrTp_CancelTransmit активировано, функция проверяет параметр TxPduId на валидность. Если эта проверка не проходит, сообщается об ошибке разработки FRTP_E_INVALID_PDU_SDU_ID и возвращается E_NOT_OK [SWS_FrTp_01141].
Функция реентерабельна для вызовов с различными ID PDU, однако не должна выполняться параллельно для одного и того же 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).
Синхронная функция FrTp_ChangeParameter служит согласно [SWS_FrTp_00151] для запроса изменения специфических параметров транспортного протокола во время выполнения. Через параметр id передается ссылка на соответствующую PDU, тогда как parameter передает идентификатор параметра, а value — новое значение. При успешной корректировке функция возвращает E_OK, в противном случае запрос на изменение отклоняется с возвратом E_NOT_OK [SWS_FrTp_00151].
В частности, эта служба используется для модификации параметров FlowControl-PDU для управления полосой пропускания (BandwidthControl, BC) по стандарту ISO 10681-2 во время выполнения [SWS_FrTp_00242]. Это касается:
- параметра
FrTpSCexp[SWS_FrTp_00242], - параметра
FrTpMaxNbrOfNPduPerCycle[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.
Синхронная функция FrTp_CancelReceive запрашивает прерывание текущего приема PDU на транспортном уровне FlexRay [SWS_FrTp_01172]. Она доступна через заголовочный файл FrTp.h и позволяет целенаправленно остановить активную операцию приема.
Параметры и возвращаемые значения
В качестве входного параметра передается RxPduId типа PduIdType, что однозначно идентифицирует прерываемую PDU [SWS_FrTp_01172]. Дополнительные входные или выходные параметры отсутствуют. Функция возвращает значение состояния типа Std_ReturnType:
E_OK: прерывание приема PDU успешно выполнено целевым модулем [SWS_FrTp_01172], [SWS_FrTp_01183].E_NOT_OK: целевой модуль отклонил запрос на прерывание [SWS_FrTp_01172].
Параллелизм и ограничения
Функция классифицирована как нереентерабельная (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.
Синхронная функция [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недействителен, функция сообщает об ошибкеFRTP_E_INVALID_PDU_SDU_IDв DET и возвращаетE_NOT_OK[SWS_FrTp_01145]. - Если
PduInfoPtrнедействителен, она сообщает об ошибкеFRTP_E_PARAM_POINTERв DET и также возвращает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.
Использование и семантика
Синхронная функция обратного вызова FrTp_RxIndication служит для индикации принятого PDU от нижележащего модуля коммуникационного интерфейса в модуль транспортного уровня ISO FlexRay и запускает весь процесс приема [SWS_FrTp_00152], [SWS_FrTp_00137]. Она доступна через заголовочный файл FrTp.h и имеет идентификатор сервиса 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 реентерабельна для различных ID PDU, но не реентерабельна для идентичных ID PDU [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.
Синхронная функция [SWS_FrTp_00153] служит нижележащему коммуникационному уровню для уведомления модуля FrTp об успешной передаче или сбое PDU. При вызове нижележащий уровень передает сконфигурированный идентификатор FrTpTxConfirmationPduId в параметре TxPduId, а также результат отправки 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]).
Во взаимодействии со статусом передачи подтверждение вызывает следующие переходы состояний:
- На стороне отправителя занятый канал переводится в состояние
Idle(FrTpTxChannelState = Idle), а флагиTX_SDU_AVAILABLEиTX_SDU_UNKNOWN_MSG_LENGTHсбрасываются, как только все данные N-SDU будут отправлены,resultпримет значениеE_OKи поступит квитанция (если она сконфигурирована), либо сразу же, еслиresultравноE_NOT_OK([SWS_FrTp_01056], [SWS_FrTp_01057], [SWS_FrTp_01124]). - На стороне получателя занятый канал приема (
FrTpRxChannelState = Idle) освобождается, когда все данные получены и все требуемые Flow Control PDU подтверждены сE_OKили когда подтверждение происходит сE_NOT_OK([SWS_FrTp_01081]).
Этот текст был создан ИИ и основан на спецификациях релиза AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
функция FrTp_MainFunction [SWS_FrTp_00162] 📄 PDF
void FrTp_MainFunction (void);
Schedules the Flex Ray TP. (Entry point for scheduling)
Использование и контекст вызова
Функция FrTp_MainFunction имеет сигнатуру void FrTp_MainFunction (void); и специфицирована с Service-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 представляет собой обязательную точку входа для предстоящих задач обработки (processing tasks) модуля FrTp, благодаря чему циклически отрабатываются и управляются внутренние протокольные процессы.
Временные условия и ограничения
Для временной интеграции в общую систему спецификация определяет фиксированную минимальную частоту вызовов для планирования:
FrTp_MainFunctionдолжна вызываться как минимум один раз за цикл FlexRay [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#25a09b84- Content hash
25a09b84- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayISOTransportLayer.pdf#nameddest=SWS_FrTp_00215
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал