DEENESPTFRRUARHIKOZHNL

FlexRay Driver (Fr)

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

Руководство по модулюСОЗДАНО ИИ

Служит единым доступом к контроллерам FlexRay для FlexRay Interface: запуск, останов, пробуждение, передача, прием.
СОЗДАНО ИИ не проверено Модель: 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 инкапсулирует один или несколько коммуникационных контроллеров (CC) FlexRay. Его единственным пользователем является FlexRay Interface; только инициализацию через Fr_Init берет на себя EcuM Fr-SWS с. 15. Каждая служба адресует контроллер через Fr_CtrlIdx, например Fr_ControllerInit [SWS_Fr_00017]. Конфигурация разделена на две части: параметры кластера и привязки LPdu находятся во FrIf, а параметры контроллера — во Fr Fr-SWS с. 25.

По своей сути Fr управляет автоматом состояний POC контроллера CC. Только пять служб имеют право изменять состояние Fr-SWS с. 23:

  • Fr_ControllerInit переводит CC через POC:config в POC:ready.
  • Fr_StartCommunication асинхронно запускает Startup [SWS_Fr_00010].
  • Fr_SendWUP отправляет шаблон пробуждения.
  • Fr_HaltCommunication останавливает к концу цикла.
  • Fr_AbortCommunication немедленно прерывает выполнение [SWS_Fr_00011].

После Fr_StartCommunication состояние POC:normal active или normal passive не гарантируется. Интерпретация: поэтому вызывающая сторона, вероятно, отслеживает прогресс через 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Увеличение TxConfCounter для PDUВозврат из FrIf_TransmitUse Case: Подтверждение передачи в списке задачFrIf_JobListExec_<Cluster>()Fr_CheckTxLPduStatus(Fr_CtrlIdx, Fr_LPduIdx,Fr_TxLPduStatusPtr, Fr_SlotAssignmentPtr)Fr_TxLPduStatusTypeoptFR_TRANSMITTEDloopдля каждой PDU в кадре с TxConfCounter > 0TxConfCounter 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) инкапсулирует один или несколько коммуникационных контроллеров (CC) FlexRay. Его единственным пользователем является FlexRay Interface (FrIf). Исключение составляет инициализация через Fr_Init, которую вызывает EcuM Fr-SWS с. 15. Все остальные службы адресуют контроллер через Fr_CtrlIdx, например Fr_ControllerInit [SWS_Fr_00017]. Ресурсы, которые CC делит с другими компонентами (например, конфигурация PLL или отображение памяти), Fr не конфигурирует самостоятельно. Их инициализация должна предшествовать инициализации Fr Fr-SWS с. 15.

Для целостности данных Fr использует BSW-Scheduler с SchM_Enter_Fr и SchM_Exit_Fr; опционально он сообщает об ошибках разработки через 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 выполняет автомат состояний Protocol Operation Control (POC). Его переходы запускаются частично аппаратными событиями, частично CHI-командами хоста Fr-SWS с. 23. Изменять состояние POC разрешено только Fr_StartCommunication, Fr_HaltCommunication, Fr_AbortCommunication, Fr_SendWUP и Fr_ControllerInit. Состояния отображает Fr_POCStateType [SWS_Fr_00505].

Fr_Init лишь сохраняет адрес конфигурации для последующих вызовов и не предъявляет предусловий к CC Fr-SWS с. 39. Fr_ControllerInit переводит CC из любого состояния в POC:config и загружает параметры кластера и узла, а также буферы. После этого функция оставляет CC без ожидающих запросов на передачу в POC:ready Fr-SWS с. 41. Fr_StartCommunication асинхронно запускает startup с помощью CHI-команды RUN [SWS_Fr_00010]. Достижение CC после этого состояния POC:normal active или normal passive не гарантируется Fr-SWS с. 42. Интерпретация: вызывающая сторона, вероятно, поэтому отслеживает ход выполнения через Fr_GetPOCStatus, которая возвращает статус в виде Fr_POCStatusType [SWS_Fr_00510]. Вопрос Q-aa60617897af9f9f (открытый) Fr_AllowColdstart допустима в POC:ready или POC:startup [SWS_Fr_00114]. Fr_AllSlots требует синхронности с глобальным временем и со следующего цикла переключается из режима key slot в режим all slots Fr-SWS с. 44.

Для завершения существует два пути. 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)

Диаграмма состояний: POC-состояния CC и вызывающие их службы 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 через LPdu, которые сконфигурированы во FrIf и однозначно определяются через Fr_LPduIdx. Fr_TransmitTxLPdu асинхронно передает буфер и длину ресурсу передачи [SWS_Fr_00092]. Через Fr_SlotAssignmentPtr вызывающая сторона получает цикл, Slot-ID и канал (Fr_SlotAssignmentType, [SWS_Fr_91002]); если передается NULL_PTR, эти данные опускаются Fr-SWS с. 53. FrIf вызывает Fr_TransmitTxLPdu напрямую из FrIf_Transmit и при E_OK увеличивает TxConfCounter для PDU FrIf-SWS с. 106.

В своем списке задач FrIf опрашивает Fr_CheckTxLPduStatus [SWS_Fr_00094]. Возможными результатами являются FR_TRANSMITTED, FR_TRANSMITTED_CONFLICT и FR_NOT_TRANSMITTED [SWS_Fr_00511]. TxConfirmations на верхние уровни следуют только при FR_TRANSMITTED 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Увеличение TxConfCounter для PDUВозврат из FrIf_TransmitUse Case: Подтверждение передачи в списке задачFrIf_JobListExec_<Cluster>()Fr_CheckTxLPduStatus(Fr_CtrlIdx, Fr_LPduIdx,Fr_TxLPduStatusPtr, Fr_SlotAssignmentPtr)Fr_TxLPduStatusTypeoptFR_TRANSMITTEDloopдля каждой PDU в кадре с TxConfCounter > 0TxConfCounter 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]. Fr использует аппаратный FIFO, если сконфигурированные критерии фильтрации к нему применимы. Каждый вызов затем извлекает первый валидный кадр; отдельный FIFO-API отсутствует Fr-SWS с. 22. Поэтому при ReceiveAndIndicate FrIf опрашивает повторно, пока не будет возвращено FR_NOT_RECEIVED или не достигнуто FrIfRxComOpMaxLoop FrIf-SWS с. 41.

Прием с помощью ReceiveAndIndicateISRFrIfFrObere 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)Скопировать LSdu из буфера приема илипервой действительной записи FIFOE_OK, Fr_RxLPduStatusType, длинаaltFR_NOT_RECEIVEDCommunication Operation beendetFR_RECEIVED / FR_RECEIVED_MORE_DATA_AVAILABLEoptBus Mirroring aktivMirror_ReportFlexRayFrame() aufrufen<UL_RxIndication>(PduId, ...) для каждого PDU в кадре

Диаграмма последовательности: прием в ограниченном цикле до тех пор, пока больше не останется ожидающих данных. Источники: 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 тип для специфичной для реализации конфигурации post-build [SWS_Fr_91001]. Место в документе из R24-11, напротив, приводит его как Structure Fr-SWS с. 34; для R20-11 действует требование. Если объединяются несколько драйверов FlexRay, Fr_GeneralTypes.h может находиться в дереве исходного кода только один раз Fr-SWS с. 32. Fr_ReadCCConfig считывает отдельные параметры через индексы FR_CIDX_… из [SWS_Fr_00651].

Ресурсы LPdu можно перенастраивать во время выполнения. Fr_PrepareLPdu конфигурирует назначенный ресурс (Slot-ID, цикловый фильтр, длину, Header-CRC), если генератор конфигурации использует реконфигурацию. Функцию можно отключить через FrPrepareLPduSupport Fr-SWS с. 61. FrIf вызывает ее как Communication Operation PREPARE_LPDU; это требует времени выполнения, даже если драйвер не выполняет реконфигурацию FrIf-SWS с. 42. Fr_ReconfigLPdu заново задает Frame-ID, канал, цикловый фильтр, длину полезной нагрузки и Header-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_GetChannelStatus: битово-кодированный статус канала [SWS_Fr_00556]
  • Fr_GetClockCorrection: коррекция скорости и смещения [SWS_Fr_00564]
  • Fr_GetNumOfStartupFrames: количество startup-кадров [SWS_Fr_00547]
  • Fr_GetSyncFrameList: списки sync-кадров, неиспользуемые записи заполнены нулями [SWS_Fr_00573]

Абсолютные таймеры адресуются через 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. Эти места взяты из более поздних релизов. То, что DEM-тракт предусмотрен и в R20-11, подтверждается [SWS_Fr_00390]. Ошибки протокола в статусе слота 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_GetSyncFrameList сообщает FR_E_INV_FRAMELIST_SIZE, если Fr_ListSize больше 15 [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

Дальнейшие подробные доказательства

Сгенерированное ИИ руководство на основе требований и фрагментов документов (релиз R20-11), содержащихся в полезной нагрузке; предположения помечены как интерпретация. Решающей остается спецификация 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: f5aa6ccb591c Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная функция Fr_Init служит для инициализации драйвера FlexRay (Fr) согласно [SWS_Fr_00032]. Она объявлена в заголовочном файле Fr.h и имеет идентификатор службы 0x1c [SWS_Fr_00032]. В качестве единственного входного параметра интерфейс ожидает Fr_ConfigPtr типа const Fr_ConfigType* [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, в данном наборе данных не задокументированы.

Этот текст был сгенерирован ИИ на основе спецификации.

Руководство разработчика реализации в подготовке (сложность I1)

функция Fr_ControllerInit [SWS_Fr_00017] 📄 PDF

Std_ReturnType Fr_ControllerInit (uint8 Fr_CtrlIdx);

Initialzes a F lex Ray CC.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 8b66fbe244aa Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная функция Fr_ControllerInit служит для инициализации FlexRay Communication Controller (FlexRay CC) в контексте драйвера FlexRay [SWS_Fr_00017]. Она объявлена в заголовочном файле Fr.h и имеет Service-ID 0x00 [SWS_Fr_00017]. Через входной параметр Fr_CtrlIdx типа uint8 передается индекс инициализируемого контроллера [SWS_Fr_00017].

В качестве возвращаемого значения функция возвращает статус Std_ReturnType [SWS_Fr_00017]:

  • E_OK: вызов API был успешно завершен [SWS_Fr_00017].
  • E_NOT_OK: вызов был досрочно прерван из-за возникших ошибок [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.

СОЗДАНО ИИ не проверено Модель: 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 (идентификатор службы 0x03), который указывает индекс коммуникационного контроллера FlexRay в контексте драйвера [SWS_Fr_00010]. В качестве возвращаемого значения функция возвращает статус типа Std_ReturnType [SWS_Fr_00010]:

  • E_OK: вызов API успешно завершен [SWS_Fr_00010]. Интерпретация: в силу асинхронной семантики это, вероятно, означает успешное принятие команды запуска, тогда как само установление соединения происходит впоследствии. Вопрос Q-fabca57ea7d32a05 (открытый)
  • E_NOT_OK: вызов API был прерван вследствие ошибок [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'.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 483395af770f Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Функция Fr_AllowColdstart служит для вызова команды Controller Host Interface ALLOW_COLDSTART на FlexRay Communication Controller [SWS_Fr_00114]. Определение предоставляется через заголовочный файл Fr.h; служба имеет идентификатор службы 0x23 [SWS_Fr_00114]. Через передаваемый параметр Fr_CtrlIdx указывается индекс адресуемого контроллера FlexRay в драйвере FlexRay [SWS_Fr_00114]. Вызов выполняется асинхронно [SWS_Fr_00114].

Обработка ошибок и возвращаемые значения

Функция возвращает статус типа Std_ReturnType [SWS_Fr_00114]:

  • E_OK: вызов API успешно завершен [SWS_Fr_00114].
  • E_NOT_OK: вызов API был прерван вследствие ошибок [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'.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 2807feb59753 Происхождение Открытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и принцип работы

Функция Fr_AllSlots служит для отправки CHI-команды (Controller Host Interface) ALL_SLOTS адресуемому FlexRay Communication Controller [SWS_Fr_00516]. Она предоставляется через заголовочный файл Fr.h и имеет идентификатор службы 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'.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: ff4ce9c60f63 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция Fr_HaltCommunication служит для инициации остановки коммуникации на коммуникационном контроллере FlexRay посредством выполнения команды CC-CHI 'DEFERRED_HALT' [SWS_Fr_00014].

Использование и параметры

Вызов выполняется асинхронно и предоставляется через заголовочный файл Fr.h (Service-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'.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 9c861ab0356c Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная функция Fr_AbortCommunication прерывает текущую коммуникацию, выполняя команду интерфейса «контроллер-хост» (CHI-команду) FREEZE на указанном коммуникационном контроллере FlexRay (CC) [SWS_Fr_00011].

Вызов и параметры

Вызов осуществляется через заголовочный файл Fr.h с указанием индекса контроллера Fr_CtrlIdx, который однозначно идентифицирует целевой FlexRay CC в контексте драйвера FlexRay [SWS_Fr_00011]. Входные и выходные параметры сверх этого отсутствуют.

Возвращаемые значения и обработка ошибок

Функция возвращает статус типа Std_ReturnType [SWS_Fr_00011]:

  • E_OK: вызов API был успешно завершен [SWS_Fr_00011].
  • E_NOT_OK: вызов API был прерван из-за ошибок [SWS_Fr_00011].

Параллелизм и ограничения

Относительно поведения при параллелизме Fr_AbortCommunication специфицирована как нереентерабельная для одного и того же коммуникационного контроллера (Non Reentrant for the same device) [SWS_Fr_00011]. Вызывающий компонент должен избегать параллельных вызовов для одного и того же экземпляра контроллера.

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.

функция Fr_SendWUP [SWS_Fr_00009] 📄 PDF

Std_ReturnType Fr_SendWUP (uint8 Fr_CtrlIdx);

Invokes the CC CHI command 'WAKEUP'.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 3acd90d21e6a Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и семантика

Функция Fr_SendWUP служит для инициации процесса пробуждения на шине FlexRay посредством отправки CHI-команды WAKEUP коммуникационному контроллеру [SWS_Fr_00009]. Через параметр Fr_CtrlIdx передается индекс целевого контроллера в контексте драйвера [SWS_Fr_00009]. Вызов выполняется асинхронно: интерфейс запускает команду, в то время как передача шаблона пробуждения затем выполняется на аппаратном уровне [SWS_Fr_00009]. Определение доступно через Fr.h, и служба имеет идентификатор службы 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].

Данный текст был сгенерирован ИИ на основе спецификации 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: ef89a1ec9558 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Функция Fr_TransmitTxLPdu служит для передачи полезных данных по сети FlexRay [SWS_Fr_00092]. Она обрабатывает запрос на передачу с асинхронной семантикой и сопоставляет передаваемую LSdu с кадром FlexRay, идентифицируемым через Fr_LPduIdx [SWS_Fr_00092].

Использование и параметры

Вызов осуществляется через заголовочный файл Fr.h (Service-ID 0x0b) с указанием индекса контроллера Fr_CtrlIdx для FlexRay Communication Controller, а также однозначного индекса кадра Fr_LPduIdx [SWS_Fr_00092]. Через указатель Fr_LSduPtr передается подготовленная в буфере передаваемая LSdu, длина данных которой в байтах задается через Fr_LSduLength [SWS_Fr_00092]. Через выходной параметр Fr_SlotAssignmentPtr вызывающая сторона может запросить фактический цикл передачи, Slot-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 недопустимы.

Этот текст был создан ИИ и основан исключительно на данных спецификации из 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).

СОЗДАНО ИИ не проверено Модель: 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 и имеет Service ID 0x2d [SWS_Fr_00610].

Для идентификации прерываемой передачи интерфейс ожидает два параметра [SWS_Fr_00610]:

  • Fr_CtrlIdx: индекс FlexRay Communication Controller в контексте драйвера FlexRay [SWS_Fr_00610].
  • Fr_LPduIdx: уникальный индекс для идентификации соответствующего кадра FlexRay [SWS_Fr_00610].

Возвращаемые значения и обработка ошибок

Вызов функции возвращает значение состояния типа Std_ReturnType [SWS_Fr_00610]:

  • E_OK: вызов API был успешно завершен [SWS_Fr_00610].
  • E_NOT_OK: вызов был прерван из-за ошибок [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.

СОЗДАНО ИИ не проверено Модель: 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: область памяти для цикла, Slot-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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: b48b77700fa6 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронный интерфейс Fr_CheckTxLPduStatus (Service-ID 0x0d) служит согласно [SWS_Fr_00094] для проверки текущего статуса передачи L-SDU или кадра FlexRay в драйвере FlexRay. Он предоставляется через заголовочный файл Fr.h.

В качестве входных параметров функция требует индекс коммуникационного контроллера FlexRay (Fr_CtrlIdx), а также индекс Fr_LPduIdx, который однозначно идентифицирует проверяемый кадр FlexRay в драйвере [SWS_Fr_00094]. Определенный статус передачи LPdu записывается обратно по переданному адресу памяти через выходной параметр Fr_TxLPduStatusPtr [SWS_Fr_00094].

Кроме того, выходной параметр Fr_SlotAssignmentPtr позволяет определить назначение слота: он указывает на ячейку памяти, в которую помещаются фактический цикл, Slot-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].

Этот текст был сгенерирован ИИ и основан на спецификации AUTOSAR CP R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

функция Fr_PrepareLPdu [SWS_Fr_00107] 📄 PDF

Std_ReturnType Fr_PrepareLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Prepares a LPdu.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 942a5d73cf16 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и семантика

Синхронная функция Fr_PrepareLPdu служит согласно [SWS_Fr_00107] для подготовки L-PDU (Prepares a LPdu) и предоставляется через заголовочный файл Fr.h. В качестве входных параметров служба ожидает индекс контроллера Fr_CtrlIdx для адресации FlexRay Communication Controller (CC) в контексте драйвера, а также Fr_LPduIdx для однозначной идентификации соответствующего FlexRay-фрейма [SWS_Fr_00107]. Интерпретация: вызов, вероятно, инициализирует или переводит в состояние готовности аппаратно-зависимые структуры буферов для последующей передачи или приема фрейма. Вопрос Q-c4375099d73dbea2 (открытый)

Параллелизм и ограничения

Что касается параллелизма, Fr_PrepareLPdu специфицирована как нереентерабельная для одного и того же аппаратного узла (Non Reentrant for the same device) [SWS_Fr_00107]. Поэтому вызывающий компонент обязан строго исключать параллельный или прерывающий вызов для одного и того же индекса контроллера Fr_CtrlIdx.

Возвращаемые значения и обработка ошибок

Функция имеет идентификатор службы 0x1f и возвращает свой статус через возвращаемый тип Std_ReturnType [SWS_Fr_00107]:

  • E_OK: вызов API успешно завершен [SWS_Fr_00107].
  • E_NOT_OK: вызов API был преждевременно прерван из-за возникших ошибок [SWS_Fr_00107]. Конкретные коды ошибок DET или DEM в данном фрагменте спецификации не определены.

Этот текст был сгенерирован ИИ на основе спецификации 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.

СОЗДАНО ИИ не проверено Модель: 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.

Этот текст был создан ИИ; правильность не гарантируется.

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 458329c58a82 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Синхронная функция драйвера Fr_DisableLPdu служит для деактивации аппаратного ресурса FlexRay-LPdu для передачи или приема ([SWS_Fr_00539]). Интерфейс предоставляется через заголовочный файл Fr.h и назначен идентификатору службы 0x26 ([SWS_Fr_00539]).

Для вызова функции необходимо передать два обязательных параметра ([SWS_Fr_00539]):

  • Fr_CtrlIdx: индекс FlexRay Communication Controller в контексте драйвера.
  • 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]). Поэтому вызывающие стороны должны гарантировать, что одновременные вызовы для одного и того же контроллера будут синхронизированы.

Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR CP R20-11.

функция Fr_GetGlobalTime [SWS_Fr_00042] 📄 PDF

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

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

функция 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.

СОЗДАНО ИИ не проверено Модель: 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 и имеет Service-ID 0x13 ([SWS_Fr_00095]).

Параметры и возвращаемое значение

  • Fr_CtrlIdx: передает индекс соответствующего FlexRay Communication Controller в контексте драйвера FlexRay ([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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 7b32a9a85d27 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная функция Fr_EnableAbsoluteTimerIRQ служит для активации линии прерывания абсолютного таймера внутри FlexRay Communication Controller [SWS_Fr_00034]. Служба предоставляется через заголовочный файл Fr.h и имеет идентификатор службы 0x15 [SWS_Fr_00034].

При вызове интерфейс ожидает два входных параметра [SWS_Fr_00034]:

  • Fr_CtrlIdx: индекс FlexRay Communication Controller в контексте драйвера FlexRay [SWS_Fr_00034].
  • Fr_AbsTimerIdx: индекс абсолютного таймера в контексте адресуемого контроллера FlexRay [SWS_Fr_00034].

Возвращаемое значение типа Std_ReturnType сигнализирует о результате выполнения [SWS_Fr_00034]:

  • E_OK: вызов API был успешно завершен [SWS_Fr_00034].
  • E_NOT_OK: вызов функции был прерван из-за ошибок [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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 042d5293cc25 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная функция Fr_AckAbsoluteTimerIRQ относится к модулю драйвера FlexRay (Fr) на платформе AUTOSAR Classic и служит для сброса условия прерывания абсолютного таймера [SWS_Fr_00036]. Объявление интерфейса предоставляется через заголовочный файл Fr.h и сопоставлено с шестнадцатеричным Service-ID 0x17 [SWS_Fr_00036].

Для однозначной адресации таймера функция ожидает два входных параметра типа uint8, тогда как параметры ввода-вывода или чисто выходные параметры отсутствуют [SWS_Fr_00036]:

  • Fr_CtrlIdx: передает индекс FlexRay Communication Controller (CC) в контексте драйвера FlexRay [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].

Это указание по использованию основано на спецификации SWS_Fr_00036 драйвера FlexRay и создано автоматически.

функция 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.

СОЗДАНО ИИ не проверено Модель: 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].

Что касается параллелизма, Fr_DisableAbsoluteTimerIRQ определена как нереентерабельная для одного и того же устройства (same device) [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.

СОЗДАНО ИИ не проверено Модель: 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 и имеет Service 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

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 71b66b82e47a Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Перечислимый тип Fr_SlotModeType является частью определения интерфейса драйвера FlexRay в AUTOSAR Classic и предоставляется через заголовочный файл Fr_GeneralTypes.h [SWS_Fr_00506]. Определение типа формально ссылается на тип T_SlotMode из спецификации протокола FlexRay, где он описан в главе, посвященной Protocol Operation Control (статус POC) [SWS_Fr_00506].

Перечисление специфицирует состояние обработки слотов контроллера с помощью трех фиксированно определенных значений [SWS_Fr_00506]:

  • FR_SLOTMODE_KEYSLOT (значение 0x00): отображает литерал KEYSLOT формального определения типа T_SlotMode [SWS_Fr_00506].
  • FR_SLOTMODE_ALL_PENDING (значение 0x01): отображает литерал ALL_PENDING формального определения типа T_SlotMode [SWS_Fr_00506].
  • FR_SLOTMODE_ALL (значение 0x02): отображает литерал ALL формального определения типа T_SlotMode [SWS_Fr_00506].

При использовании с контроллерами, соответствующими более старому стандарту FlexRay 2.1 Rev A, необходимо учитывать отличающееся именование: вместо литерала KEYSLOT здесь используется литерал SINGLESLOT [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].

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 0428cd81ff78 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Перечислимый тип Fr_ErrorModeType отображает режимы ошибок FlexRay Protocol Operation Control (POC) и предоставляется через заголовочный файл Fr_GeneralTypes.h [SWS_Fr_00507]. Перечисление определяет состояния механизма мониторинга ошибок коммуникационного контроллера и ссылается на формальное определение типа T_ErrorMode в статусе FlexRay POC [SWS_Fr_00507].

Диапазон значений согласно [SWS_Fr_00507] охватывает три состояния:

  • FR_ERRORMODE_ACTIVE (0x00): представляет литерал ACTIVE формального определения типа T_ErrorMode и обозначает безошибочное состояние или нормальный режим работы коммуникационного контроллера.
  • FR_ERRORMODE_PASSIVE (0x01): соответствует литералу PASSIVE формального определения типа T_ErrorMode, при котором на шине были зарегистрированы ошибки и коммуникация может быть ограничена.
  • FR_ERRORMODE_COMM_HALT (0x02): отображает литерал COMM_HALT формального определения типа T_ErrorMode, когда коммуникация по шине была остановлена из-за тяжелых ошибочных состояний.

Интеграция и граничные условия

Интерпретация: тип, вероятно, служит прежде всего в качестве возвращаемого значения или статусного параметра в функциях опроса драйвера 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].

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 5640c2fecfca Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Перечислимый тип Fr_WakeupStatusType предоставляется через заголовочный файл Fr_GeneralTypes.h и отображает статус Wakeup драйвера FlexRay в соответствии с формальным определением T_WakeupStatus из статуса POC [SWS_Fr_00508].

Использование и диапазон значений

Тип представляет различные состояния и события во время процесса пробуждения FlexRay и включает семь специфических значений перечисления [SWS_Fr_00508]:

  • FR_WAKEUP_UNDEFINED (0x00): соответствует литералу UNDEFINED формального определения типа [SWS_Fr_00508].
  • FR_WAKEUP_RECEIVED_HEADER (0x01): обозначает прием заголовка Wakeup (литерал RECEIVED_HEADER) [SWS_Fr_00508].
  • FR_WAKEUP_RECEIVED_WUP (0x02): представляет принятый шаблон Wakeup (литерал RECEIVED_WUP) [SWS_Fr_00508].
  • FR_WAKEUP_COLLISION_HEADER (0x03): указывает на коллизию при принятом заголовке (литерал COLLISION_HEADER) [SWS_Fr_00508].
  • FR_WAKEUP_COLLISION_WUP (0x04): сигнализирует о коллизии во время шаблона Wakeup (литерал COLLISION_WUP) [SWS_Fr_00508].
  • FR_WAKEUP_COLLISION_UNKNOWN (0x05): описывает коллизию с неизвестной причиной (литерал COLLISION_UNKNOWN) [SWS_Fr_00508].
  • FR_WAKEUP_TRANSMITTED (0x06): подтверждает успешную отправку сигнала Wakeup (литерал TRANSMITTED) [SWS_Fr_00508].

Взаимодействие и ограничения

Интерпретация: данный тип, предположительно, служит в первую очередь статусным параметром функций драйвера, чтобы предоставить вышестоящим модулям возможность точной диагностики состояния канала и пробуждения. Вопрос Q-48907418bc3729a1 (открытый) Поскольку спецификация не определяет специфических кодов ошибок или ограничений параллелизма для самого типа, его использование подчиняется соглашениям о вызовах соответствующих опрашивающих функций API [SWS_Fr_00508].

Это указание по использованию было автоматически сгенерировано на основе спецификации AUTOSAR CP R20-11.

Руководство разработчика реализации в подготовке (сложность I1)

тип Fr_StartupStateType [SWS_Fr_00509] 📄 PDF

Type Fr_StartupStateType.

СОЗДАНО ИИ не проверено Модель: 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) на стандартизированные значения. Определение ссылается на формальное определение типа T_StartupState из главы 2.2.1.3 спецификации.

Диапазон значений включает одиннадцать дискретных состояний, отображающих ход запуска протокола:

  • 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 не специфицированы.

Этот текст сгенерирован ИИ и служит в качестве справочной информации. Имеющим обязательную силу является исключительно текст спецификации 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].

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 3280d7e2ba7e Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Тип данных Fr_POCStatusType специфицирован как структура данных и предоставляется через заголовочный файл Fr_GeneralTypes.h [SWS_Fr_00510]. Формальное определение ссылается на описание типа T_POCStatus в главе 2.2.1.3 (POC status) спецификации протокола FlexRay [SWS_Fr_00510].

Использование и состав структуры

Структура агрегирует текущее рабочее состояние и состояние протокола 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 2ca1e4be5d96 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Перечислимый тип Fr_TxLPduStatusType служит на платформе AUTOSAR Classic для определения того, была ли LPdu FlexRay (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.

СОЗДАНО ИИ не проверено Модель: 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 Link Layer 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 (открытый)

Это указание по использованию было создано ИИ и основано на спецификации 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.

СОЗДАНО ИИ не проверено Модель: 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): обозначает уникальный ID слота кадра в схеме связи FlexRay [SWS_Fr_91002].
  • channelId (тип Fr_ChannelType): указывает канал FlexRay, по которому осуществляется передача или прием [SWS_Fr_91002].

Поскольку Fr_SlotAssignmentType представляет собой чистую структуру данных, она не имеет собственной семантики выполнения, такой как синхронность или реэнтерабельность, и сама по себе не генерирует сообщений об ошибках DET или DEM [SWS_Fr_91002]. Согласованность содержащихся значений цикла, слота и канала, вероятно, относится к зоне ответственности использующих ее функций драйвера (интерпретация). Вопрос 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#7d53d0ee
Content hash
7d53d0ee
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayDriver.pdf#nameddest=SWS_Fr_00032

Инициализация и состояние

Fr_GetVersionInfo функция

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);
Fr_GetChannelStatus функция

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);
Fr_GetClockCorrection функция

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);
Fr_GetGlobalTime функция

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);
Fr_GetNmVector функция

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);
Fr_GetPOCStatus функция

Gets the POC status.

Std_ReturnType Fr_GetPOCStatus (uint8 Fr_CtrlIdx, Fr_POCStatusType* Fr_POCStatusPtr);
Fr_GetSyncFrameList функция

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);
Fr_GetWakeupRxStatus функция

Gets the wakeup received information from the Flex Ray controller.

Std_ReturnType Fr_GetWakeupRxStatus (uint8 Fr_CtrlIdx, uint8* Fr_WakeupRxStatusPtr);

Сервисы · Cancel…

Fr_CancelAbsoluteTimer функция

Stops an absolute timer.

Std_ReturnType Fr_CancelAbsoluteTimer (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);
Fr_CancelTxLPdu функция

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);
Fr_DisableLPdu функция

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

Std_ReturnType Fr_DisableLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);

Сервисы · Set…

Fr_SetAbsoluteTimer функция

Sets the absolute Flex Ray timer.

Std_ReturnType Fr_SetAbsoluteTimer (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx, uint8 Fr_Cycle, uint16 Fr_Offset);
Fr_SetWakeupChannel функция

Sets a wakeup channel.

Std_ReturnType Fr_SetWakeupChannel (uint8 Fr_CtrlIdx, Fr_ChannelType Fr_ChnlIdx);

Сервисы · Прочее

Fr_AbortCommunication функция

Invokes the CC CHI command 'FREEZE'.

Std_ReturnType Fr_AbortCommunication (uint8 Fr_CtrlIdx);
Fr_AckAbsoluteTimerIRQ функция

Service Fr_AckAbsoluteTimerIRQ.

Std_ReturnType Fr_AckAbsoluteTimerIRQ (uint8 Fr_CtrlIdx, uint8 Fr_AbsTimerIdx);
Fr_AllowColdstart функция

Invokes the CC CHI command 'ALLOW_ COLDSTART'.

Std_ReturnType Fr_AllowColdstart (uint8 Fr_CtrlIdx);
Fr_AllSlots функция

Invokes the CC CHI command 'ALL_ SLOTS'.

Std_ReturnType Fr_AllSlots (uint8 Fr_CtrlIdx);
Fr_CheckTxLPduStatus функция

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);
Fr_ControllerInit функция

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);
Fr_HaltCommunication функция

Invokes the CC CHI command 'DEFERRED_ HALT'.

Std_ReturnType Fr_HaltCommunication (uint8 Fr_CtrlIdx);
Fr_PrepareLPdu функция

Prepares a LPdu.

Std_ReturnType Fr_PrepareLPdu (uint8 Fr_CtrlIdx, uint16 Fr_LPduIdx);
Fr_ReadCCConfig функция

Service Fr_ReadCCConfig.

Std_ReturnType Fr_ReadCCConfig (uint8 Fr_CtrlIdx, uint8 Fr_Config ParamIdx, uint32* Fr_Config ParamValuePtr); ⚠️
Fr_ReceiveRxLPdu функция

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);
Fr_ReconfigLPdu функция

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);
Fr_StartCommunication функция

Starts communication.

Std_ReturnType Fr_StartCommunication (uint8 Fr_CtrlIdx);
Fr_TransmitTxLPdu функция

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].