DEENESPTFRRUARHIKOZHNL

FlexRay Transceiver Driver (FrTrcv)

ModulFrTrcv (FlexRay Transceiver Driver)
BSW-Modul-ID71
Standard-Header#include "FrTrcv.h"
SWS-SpezifikationAUTOSAR_SWS_FlexRayTransceiverDriver.pdf
ClusterFlexRay

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

Управляет аппаратным обеспечением приемопередатчиков FlexRay: устанавливает рабочие режимы, распознает события пробуждения и сообщает об ошибках шины.
СОЗДАНО ИИ не проверено Модель: claude-opus-5-5 · Усилие: high · Температура: не регулируется · Промпт: d2a3c22cd47c Происхождение Открытые вопросы (6)
Причинный якорь: R20-11 Действует с R20-11 Заново синтезировано для этой версии спецификации.
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Управляет аппаратным обеспечением приемопередатчиков FlexRay: устанавливает рабочие режимы, распознает события пробуждения и сообщает об ошибках шины.

Драйвер приемопередатчика FlexRay управляет микросхемами приемопередатчиков блока управления через Dio или Spi и предоставляет в состоянии ACTIVE режимы NORMAL, RECEIVEONLY, STANDBY и SLEEP [SWS_FrTrcv_00481]. Он устанавливает и считывает режимы, распознает события пробуждения с помощью циклического опроса или уведомления, сообщает о них в EcuM и возвращает причину пробуждения. При активных звездах он опрашивает ошибки шины по каждой ветви и отключает или подключает ветви. В случае сбоя при смене режима он возвращает E_NOT_OK и оставляет прежнее состояние без изменений [SWS_FrTrcv_00323].

Драйвер приемопередатчика FlexRay управляет микросхемами приемопередатчиков блока управления. К каждой микросхеме он обращается по индексу с отсчетом от нуля FrTrcv_TrcvIdx [SWS_FrTrcv_00323]. На нижнем уровне он обращается к аппаратному обеспечению в зависимости от конфигурации через Dio или Spi SWS FrTrcv Рис. 10.4 с. 77. Дополнительно он использует Icu, EcuM, Dem и Det [SWS_FrTrcv_00334]. На верхнем уровне этими службами, вероятно, пользуется прежде всего FrIf по поручению FlexRay State Manager (интерпретация) SWS FrSM с. 20. Вопрос (открытый)

kontext FrSM FrSM FrIf FrIf FrSM->FrIf FrIf_GetTransceiverWUReason u. a. FrTrcv FrTrcv (FlexRay-Transceivertreiber) FrIf->FrTrcv Modus, Weckgrund, Zweige (Interpretation) EcuM EcuM EcuM->FrTrcv FrTrcv_Init (Interpretation) SchM BSW-Scheduler SchM->FrTrcv FrTrcv_MainFunction FrTrcv->EcuM EcuM_SetWakeupEvent Dio Dio FrTrcv->Dio Dio-Zugriff (FrTrcvAccess) Spi Spi FrTrcv->Spi SPI-Sequenz (FrTrcvAccess) Icu Icu FrTrcv->Icu Icu_Enable/DisableNotification Tm Tm FrTrcv->Tm Tm_BusyWait1us16bit Dem DEM FrTrcv->Dem Dem_SetEventStatus Det DET FrTrcv->Det Det_ReportError / Det_ReportRuntimeError

Контекстная диаграмма: FrTrcv между FrIf/FrSM, аппаратными драйверами и службами EcuM, DEM и DET. Источники: [SWS_FrTrcv_00334], SWS FrSM с. 20

После включения питания драйвер находится в состоянии NOT_ACTIVE и переходит в ACTIVE с помощью FrTrcv_Init SWS FrTrcv Рис. 7.1 с. 23. Там действуют режимы NORMAL, RECEIVEONLY, STANDBY и SLEEP [SWS_FrTrcv_00481]. FrTrcv_SetTransceiverMode переключает между ними. Если переключение завершается сбоем, служба возвращает E_NOT_OK и сохраняет старое состояние. Время ожидания драйвер реализует с помощью Tm_BusyWait1us16bit [SWS_FrTrcv_00485]. В режиме STANDBY каналы пробуждения ICU разблокированы, в режиме NORMAL — отключены [SWS_FrTrcv_00491] [SWS_FrTrcv_00492].

modi cluster_power_on POWER_ON cluster_active ACTIVE Aus Питание выключено NOT_ACTIVE NOT_ACTIVE Aus->NOT_ACTIVE Power On NORMAL NORMAL NOT_ACTIVE->NORMAL FrTrcv_Init() RECEIVEONLY RECEIVEONLY NORMAL->RECEIVEONLY FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_RECEIVEONLY) STANDBY STANDBY NORMAL->STANDBY FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_STANDBY) SLEEP SLEEP NORMAL->SLEEP FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_SLEEP) RECEIVEONLY->NORMAL FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_NORMAL) STANDBY->NORMAL FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_NORMAL) STANDBY->SLEEP FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_SLEEP)

Диаграмма состояний: четыре режима ACTIVE достижимы только после FrTrcv_Init. Переходы частично реконструированы (интерпретация). Источники: SWS FrTrcv Рис. 7.1 с. 23, [SWS_FrTrcv_00481]

События пробуждения драйвер распознает двумя путями: посредством циклического FrTrcv_MainFunction [SWS_FrTrcv_00330] или посредством уведомления. После FrTrcv_CheckWakeupByTransceiver он сообщает о событии в EcuM SWS FrTrcv с. 46. Причину, например FRTRCV_WU_BY_BUS, возвращает FrTrcv_GetTransceiverWUReason, если аппаратное обеспечение способно ее различить [SWS_FrTrcv_00074]. FrTrcv_ClearTransceiverWakeup сбрасывает все ожидающие события [SWS_FrTrcv_00329].

При наличии активных звезд опциональные службы опрашивают ошибки шины для каждой ветви и отключают или снова подключают ветви [SWS_FrTrcv_00419] [SWS_FrTrcv_00442] [SWS_FrTrcv_00443]. Для обработки ошибок действует следующее:

  • Ошибки разработки, такие как FRTRCV_E_UNINIT, передаются в DET [SWS_FrTrcv_00085].
  • Ошибки времени выполнения, такие как FRTRCV_E_FR_NO_CONTROL_TRCV, проходят через Det_ReportRuntimeError [SWS_FrTrcv_91001].
  • Об ошибках шины классов A и B драйвер сообщает в DEM или в сконфигурированную функцию замены [SWS_FrTrcv_00475].

Роль: аппаратная абстракция для микросхем приемопередатчиков FlexRay

Драйвер приемопередатчика FlexRay управляет одной или несколькими микросхемами приемопередатчиков FlexRay блока управления. Все каналозависимые службы выбирают микросхему по индексу с отсчетом от нуля FrTrcv_TrcvIdx, который действует в контексте драйвера [SWS_FrTrcv_00323]. Драйвер предоставляет три группы служб:

FrTrcv_GetVersionInfo явно возвращает версию программного модуля, а не аппаратного обеспечения приемопередатчика SWS FrTrcv с. 43.

На нижнем уровне драйвер обращается к микросхеме через Dio или Spi. Для уведомлений о пробуждении он использует Icu, сообщения направляются в EcuM, Dem и Det [SWS_FrTrcv_00334] [SWS_FrTrcv_00321]. Тип доступа определяет контейнер выбора FrTrcvAccess: он допускает ровно одну из двух альтернатив, то есть доступ через Dio или последовательность SPI SWS FrTrcv Рис. 10.4 с. 77.

На верхнем уровне этими службами, вероятно, пользуется прежде всего FlexRay Interface. FlexRay State Manager определяет причину пробуждения для каждого приемопередатчика кластера через FrIf_GetTransceiverWUReason SWS FrSM с. 20. Интерпретация: FrIf перенаправляет эти запросы в FrTrcv. Вопрос Q-29229b532631a6b5 (открытый) С этим согласуется то, что общие типы в Fr_GeneralTypes.h защищены с помощью FR_GENERAL_TYPES, чтобы несколько драйверов приемопередатчиков и FrIf могли совместно их использовать SWS FrTrcv с. 34.

kontext FrSM FrSM FrIf FrIf FrSM->FrIf FrIf_GetTransceiverWUReason u. a. FrTrcv FrTrcv (FlexRay-Transceivertreiber) FrIf->FrTrcv Modus, Weckgrund, Zweige (Interpretation) EcuM EcuM EcuM->FrTrcv FrTrcv_Init (Interpretation) SchM BSW-Scheduler SchM->FrTrcv FrTrcv_MainFunction FrTrcv->EcuM EcuM_SetWakeupEvent Dio Dio FrTrcv->Dio Dio-Zugriff (FrTrcvAccess) Spi Spi FrTrcv->Spi SPI-Sequenz (FrTrcvAccess) Icu Icu FrTrcv->Icu Icu_Enable/DisableNotification Tm Tm FrTrcv->Tm Tm_BusyWait1us16bit Dem DEM FrTrcv->Dem Dem_SetEventStatus Det DET FrTrcv->Det Det_ReportError / Det_ReportRuntimeError

Контекстная диаграмма: FrTrcv находится между FrIf/FrSM и драйверами Dio, Spi и Icu и передает сообщения в EcuM, DEM и DET. Источники: [SWS_FrTrcv_00334], [SWS_FrTrcv_00485], [SWS_FrTrcv_00330], SWS FrSM с. 20

Рабочие режимы между NOT_ACTIVE и ACTIVE

Рисунок 7.1 спецификации описывает режимы как вложенный конечный автомат. Внутри POWER_ON драйвер после включения находится в NOT_ACTIVE и переходит в ACTIVE с помощью FrTrcv_Init() SWS FrTrcv Рис. 7.1 с. 23. Только в ACTIVE действуют четыре значения FrTrcv_TrcvModeType: FRTRCV_TRCVMODE_NORMAL, FRTRCV_TRCVMODE_RECEIVEONLY, FRTRCV_TRCVMODE_STANDBY и FRTRCV_TRCVMODE_SLEEP [SWS_FrTrcv_00481]. Между этими режимами вызывающий уровень переключается с помощью FrTrcv_SetTransceiverMode [SWS_FrTrcv_00323].

Смена режима выполняется синхронно и не является реентерабельной. Переходы в опциональные состояния могут завершаться сбоем. В этом случае служба возвращает E_NOT_OK, а прежнее состояние сохраняется SWS FrTrcv с. 39. Если микросхеме требуется время ожидания для смены состояния, драйвер реализует его с помощью службы времени Tm_BusyWait1us16bit [SWS_FrTrcv_00485]. Фактическое состояние считывает FrTrcv_GetTransceiverMode. Эта служба является реентерабельной и поэтому может вызываться также параллельно [SWS_FrTrcv_00324].

modi cluster_power_on POWER_ON cluster_active ACTIVE Aus Питание выключено NOT_ACTIVE NOT_ACTIVE Aus->NOT_ACTIVE Power On NORMAL NORMAL NOT_ACTIVE->NORMAL FrTrcv_Init() RECEIVEONLY RECEIVEONLY NORMAL->RECEIVEONLY FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_RECEIVEONLY) STANDBY STANDBY NORMAL->STANDBY FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_STANDBY) SLEEP SLEEP NORMAL->SLEEP FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_SLEEP) RECEIVEONLY->NORMAL FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_NORMAL) STANDBY->NORMAL FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_NORMAL) STANDBY->SLEEP FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_SLEEP)

Диаграмма состояний: только после FrTrcv_Init четыре режима ACTIVE становятся достижимыми через FrTrcv_SetTransceiverMode. Выбор переходов частично реконструирован (интерпретация). Источники: SWS FrTrcv Рис. 7.1 с. 23, [SWS_FrTrcv_00481]

Запуск и установление связи по шине

FrTrcv_Init получает указатель на выбранный набор конфигурации и инициализирует драйвер [SWS_FrTrcv_00322]. Эта отдельная функция инициализирует переменные и аппаратные ресурсы. Драйверы, обслуживающие источники пробуждения, повторно инициализируются в блоке Restart, взводя при этом механизм запуска сообщения о пробуждении SWS FrTrcv с. 37. Драйвер поддерживает последовательность инициализации стека AUTOSAR. Интерпретация: внутри этой последовательности функцию, предположительно, вызывает ECU State Manager. Вопрос Q-93ce1e5987a96873 (открытый)

Переход в NORMAL влияет на тракты пробуждения. Если сконфигурирован FrTrcvIcuChannelRef, драйвер отключает каналы ICU с помощью Icu_DisableNotification [SWS_FrTrcv_00492]. Без этой ссылки он вообще не обращается к каналам ICU [SWS_FrTrcv_00490].

Разгон и переход в NORMALEcuMFrIf / FrSMFrTrcvDio / SpiIcuTmUse Case: InitialisierungFrTrcv_Init(ConfigPtr)Переменные и аппаратные ресурсыinitialisieren (NOT_ACTIVE → ACTIVE)Use Case: Kommunikation aufnehmenFrTrcv_SetTransceiverMode(TrcvIdx,FRTRCV_TRCVMODE_NORMAL)Установка выводов или регистров режимаTm_BusyWait1us16bit(...)optFrTrcvIcuChannelRef konfiguriertIcu_DisableNotification(...)altWechsel erfolgreichE_OKWechsel fehlgeschlagenE_NOT_OK (состояние не изменено)

Диаграмма последовательности: за инициализацией следует переход в NORMAL с активным ожиданием (busy-wait) и опциональным отключением ICU. Сбой оставляет состояние без изменений. Источники: [SWS_FrTrcv_00322], [SWS_FrTrcv_00323], [SWS_FrTrcv_00485], [SWS_FrTrcv_00492]

Распознавание пробуждения в STANDBY и SLEEP, причина пробуждения

При переходе в STANDBY драйвер снова разблокирует каналы ICU [SWS_FrTrcv_00491]. Кроме того, FrTrcv_SetTransceiverMode при каждом переходе в STANDBY очищает историю ошибок в приемопередатчике, если аппаратное обеспечение это поддерживает SWS FrTrcv с. 39.

Дополнительно драйвер может выполнять циклический опрос. Для этого он предоставляет FrTrcv_MainFunction через SchM_FrTrcv.h [SWS_FrTrcv_00330]. Согласно фрагменту документации из R23-11, функция выполняет поиск событий пробуждения на всех шинах в режимах STANDBY и SLEEP и сохраняет обнаруженные события во внутренней памяти. Период задается конфигурацией. Функция может выполняться синхронно или асинхронно по отношению к расписанию шины FlexRay SWS FrTrcv с. 49.

Переход в STANDBY и циклическое обнаружение пробужденияFrIf / FrSMFrTrcvIcuDio / SpiBSW-SchedulerFrTrcv_SetTransceiverMode(TrcvIdx,FRTRCV_TRCVMODE_STANDBY)Удаление истории ошибок в трансивере(если поддерживается аппаратной частью)optFrTrcvIcuChannelRef konfiguriertIcu_EnableNotification(...)E_OKloopциклически, период в соответствии с конфигурациейFrTrcv_MainFunction()Weckstatus aller Busse inSTANDBY/SLEEP lesenWeckereignis intern speichernПоведение при опросе согласно указанному месту в документе R23-11;независимо от расписания шины FlexRay

Диаграмма последовательности: при переходе в STANDBY очищается история ошибок и разрешается уведомление ICU. После этого Main Function циклически выполняет поиск событий пробуждения. Источники: [SWS_FrTrcv_00491], [SWS_FrTrcv_00330], SWS FrTrcv с. 49

Если микросхема распознает пробуждение по шине, нижележащая сторона SPI или DIO уведомляет драйвер. Это может происходить в контексте прерывания SWS FrTrcv с. 46. Если затем вызывается FrTrcv_CheckWakeupByTransceiver [SWS_FrTrcv_00331], драйвер сообщает о событии в ECU State Manager. Для этого в списке используемых интерфейсов указан EcuM_SetWakeupEvent [SWS_FrTrcv_00334]. Интерпретация: проверочный вызов, предположительно, инициирует EcuM в своей процедуре пробуждения. Вопрос Q-d5873691a495bef0 (открытый)

Причину пробуждения возвращает FrTrcv_GetTransceiverWUReason [SWS_FrTrcv_00325] в виде значения FrTrcv_TrcvWUReasonType. Возможными значениями являются FRTRCV_WU_BY_BUS, FRTRCV_WU_BY_PIN, FRTRCV_WU_INTERNALLY или FRTRCV_WU_NOT_SUPPORTED [SWS_FrTrcv_00074]. То, насколько детально различаются причины, сильно зависит от аппаратного обеспечения SWS FrTrcv с. 42. Во фрагменте документации более поздних релизов дополнительно упоминаются FRTRCV_WU_RESET и FRTRCV_WU_POWER_ON SWS FrTrcv с. 34. Текст требования R20-11 в полезной нагрузке в этом месте сокращен.

FrSM проверяет причину пробуждения для каждого приемопередатчика на FRTRCV_WU_BY_BUS. Таким образом он определяет, отсутствует ли пробуждение по шине, является ли оно частичным или полным SWS FrSM с. 20. Затем FrTrcv_ClearTransceiverWakeup сбрасывает все ожидающие события пробуждения [SWS_FrTrcv_00329]. Вызов допустим также при отключенном уведомлении о пробуждении SWS FrTrcv с. 44.

Обнаружение, отправка отчета и обработка события пробужденияIcu / Dio / SpiFrTrcvEcuMFrIf / FrSMUse Case: ErkennungWeck-Benachrichtigung(ggf. Interrupt-Kontext)FrTrcv_CheckWakeupByTransceiver(TrcvIdx)(Aufrufer: Interpretation)EcuM_SetWakeupEvent(...)Use Case: AuswertungFrTrcv_GetTransceiverWUReason(TrcvIdx, &Reason)altGrund in FrTrcv_TrcvWUReasonType definiertE_OK, z. B. FRTRCV_WU_BY_BUSПричина не определенаE_NOT_OK (выходное значение не изменено)FrTrcv_ClearTransceiverWakeup(TrcvIdx)E_OK (все ожидающие события пробуждения удалены)

Диаграмма последовательности: процесс от уведомления от аппаратного обеспечения через сообщение в EcuM до опроса и сброса причины пробуждения. Вызывающая сторона функции проверки в полезной нагрузке не указана (интерпретация). Источники: [SWS_FrTrcv_00331], [SWS_FrTrcv_00325], [SWS_FrTrcv_00329], SWS FrTrcv с. 46

Активные звезды: мониторинг, отключение и разблокировка ветвей

Для приемопередатчиков, обслуживающих несколько ветвей в качестве активной звезды, существуют три дополнительные службы. Они доступны только в том случае, если ветви сконфигурированы SWS FrTrcv с. 52. Все три службы дополнительно адресуют ветвь по индексу с отсчетом от нуля FrTrcv_BranchIdx и не являются реентерабельными [SWS_FrTrcv_00419] [SWS_FrTrcv_00442] [SWS_FrTrcv_00443].

FrTrcv_GetTransceiverError записывает состояние ошибки ветви как uint32 в FrTrcv_BusErrorState. Опросить можно все ошибки, предписанные FlexRay EPL, которые поддерживаются аппаратным обеспечением SWS FrTrcv с. 48. Неисправные ветви отключаются с помощью FrTrcv_DisableTransceiverBranch SWS FrTrcv с. 50. FrTrcv_EnableTransceiverBranch снова разблокирует их синхронно с расписанием шины FlexRay SWS FrTrcv с. 51. Если индекс находится вне допустимого диапазона, обе службы переключения возвращают E_NOT_OK, а состояние ветви остается неизменным [SWS_FrTrcv_00442] [SWS_FrTrcv_00443].

zweig start Проверка состояния ветви (вызывающий уровень, интерпретация) get FrTrcv_GetTransceiverError (TrcvIdx, BranchIdx, &BusErrorState) start->get rc Возврат E_OK? get->rc na Состояние ошибки недоступно или индекс вне диапазона rc->na нет fehler Zweig fehlerhaft? rc->fehler да aktiv Zweig bleibt aktiv fehler->aktiv нет dis FrTrcv_DisableTransceiverBranch (TrcvIdx, BranchIdx) fehler->dis да wieder Требуется повторное разрешение? dis->wieder aus Zweig bleibt abgeschaltet wieder->aus нет en FrTrcv_EnableTransceiverBranch синхронно с расписанием шины FlexRay wieder->en да

Диаграмма деятельности: опрос ошибок для каждой ветви, отключение неисправных ветвей и повторная разблокировка синхронно с расписанием шины. То, что решение принимает вызывающий уровень, является интерпретацией. Источники: [SWS_FrTrcv_00419], SWS FrTrcv с. 50, SWS FrTrcv с. 51

Конфигурация, тип доступа и разделение на разделы

FrTrcv_ConfigType является специфичной для реализации структурой [SWS_FrTrcv_00487]. Модуль содержит один или несколько контейнеров FrTrcvChannel, по одному на каждый канал приемопередатчика, а также FrTrcvGeneral SWS FrTrcv с. 59. Этот фрагмент документации из R23-11/R25-11, кроме того, указывает только VARIANT-PRE-COMPILE без поддержки Post-Build. Для R20-11 полезная нагрузка не содержит соответствующего требования.

Для каждого приемопередатчика FrTrcvAccess выбирает либо FrTrcvDioAccess, либо FrTrcvSpiSequence SWS FrTrcv Рис. 10.4 с. 77. Опциональные функции могут включаться и выключаться во время компиляции SWS FrTrcv с. 52. FrTrcvIcuChannelRef привязывает уведомление о пробуждении ICU к [SWS_FrTrcv_00490]. С помощью FrTrcvDemReportErrorStatusConfiguration вместо Dem_SetEventStatus можно использовать собственную функцию с такой же сигнатурой [SWS_FrTrcv_00475].

В разделенных на разделы системах модуль работает как независимый экземпляр для каждого раздела. Вызов API действует только на тот раздел, в котором он выполняется [SWS_FrTrcv_00494]. Назначения разделов, которые реализация не поддерживает, модуль должен отклонять [SWS_FrTrcv_00497].

Поведение при ошибке

Ошибки разработки определены [SWS_FrTrcv_00085]:

  • FRTRCV_E_FR_INVALID_TRCVIDX (0x01),
  • FRTRCV_E_FR_INVALID_BRANCHIDX (0x02),
  • FRTRCV_E_UNINIT (0x10),
  • FRTRCV_E_PARAM_POINTER (0x15).

Они регистрируются только при включенном обнаружении ошибок разработки. Примерами являются FRTRCV_E_UNINIT для служб ветвей SWS FrTrcv с. 50 и указатель NULL при FrTrcv_GetVersionInfo SWS FrTrcv с. 43.

В качестве ошибок времени выполнения драйвер сообщает о вызовах в неверном режиме с помощью FRTRCV_E_FR_TRCV_NOT_STANDBY–FRTRCV_E_FR_TRCV_NOT_RECEIVEONLY (0x11–0x14). Об отсутствии или нарушении связи с компонентом он сообщает с помощью FRTRCV_E_FR_NO_CONTROL_TRCV (0x16) [SWS_FrTrcv_91001]. Эти сообщения передаются через Det_ReportRuntimeError [SWS_FrTrcv_00493]. FrTrcv_GetTransceiverMode инициирует ошибку FRTRCV_E_FR_NO_CONTROL_TRCV, например, при сбое доступа к трансиверу SWS FrTrcv с. 41.

При E_NOT_OK выходные параметры остаются без изменений, как в случае с FrTrcv_GetTransceiverMode и FrTrcv_GetTransceiverError SWS FrTrcv с. 48. Неудачная смена режима оставляет прежнее состояние неизменным [SWS_FrTrcv_00323].

pruefung start Вызов службы FrTrcv init Modul initialisiert? start->init e_uninit Det_ReportError: FRTRCV_E_UNINIT init->e_uninit нет idx FrTrcv_TrcvIdx в допустимом диапазоне? init->idx да r_nok Возврат E_NOT_OK (выходные сигналы или состояние не изменены) e_uninit->r_nok e_idx Det_ReportError: FRTRCV_E_FR_INVALID_TRCVIDX idx->e_idx нет br Служба ветви: FrTrcv_BranchIdx в допустимом диапазоне? idx->br да e_idx->r_nok e_br Det_ReportError: FRTRCV_E_FR_INVALID_BRANCHIDX br->e_br нет ptr Zeigerparameter ungleich NULL? br->ptr ja / kein Zweigdienst e_br->r_nok e_ptr Det_ReportError: FRTRCV_E_PARAM_POINTER ptr->e_ptr нет zugriff Доступ к трансиверу (Dio / Spi) ptr->zugriff да e_ptr->r_nok ok Zugriff fehlerfrei? zugriff->ok e_rt Det_ReportRuntimeError: FRTRCV_E_FR_NO_CONTROL_TRCV ok->e_rt нет r_ok Возврат E_OK ok->r_ok да e_rt->r_nok

Диаграмма деятельности: проверки параметров и инициализации приводят к ошибкам разработки, ошибки доступа — к ошибке времени выполнения. Порядок проверок является интерпретацией. Проверки DET выполняются только при включенном обнаружении ошибок. Источники: [SWS_FrTrcv_00085], [SWS_FrTrcv_91001], [SWS_FrTrcv_00493]

Для производственной диагностики драйвер различает два класса трансиверов:

  • Для трансиверов класса A с управлением через GPIO активный вывод ERRN (low) означает «Fail», а неактивный вывод (high) — «Pass» [SWS_FrTrcv_00489].
  • Для трансиверов класса B с управлением через SPI каждый установленный бит 1…9 вызывает ошибку шины [SWS_FrTrcv_00488].

Оценка выполняется при неожиданном HALT или при NORMAL_ACTIVE контроллера. При коротком замыкании на шине одного лишь «Pass» от драйвера недостаточно в качестве подтверждения SWS FrTrcv с. 26. Dem_SetEventStatus доступно только при STANDARD_REPORTING [SWS_FrTrcv_00334].

dem anlass Повод: неожиданный HALT или NORMAL_ACTIVE контроллера klasse Transceiverklasse? anlass->klasse a Klasse A (GPIO): ERRN-Pin aktiv low? klasse->a A b Класс B (SPI): установлен один из битов 1...9? klasse->b B fail_a Fail: FRTRCV_E_FR_ERRN_TRCV_<TrcvIdx> a->fail_a да pass_a Pass: FRTRCV_E_FR_ERRN_TRCV_<TrcvIdx> a->pass_a нет fail_b Fail: FRTRCV_E_FR_BUSERROR_TRCV_<TrcvIdx> b->fail_b да pass_b Pass: FRTRCV_E_FR_BUSERROR_TRCV_<TrcvIdx> b->pass_b нет cfg FrTrcvDemReportErrorStatusConfiguration konfiguriert? fail_a->cfg pass_a->cfg fail_b->cfg pass_b->cfg eigen сконфигурированная функция (сигнатура как у Dem_SetEventStatus) cfg->eigen да dem Dem_SetEventStatus (только при STANDARD_REPORTING) cfg->dem нет

Диаграмма деятельности: оценка Pass/Fail для каждого класса трансивера и путь отправки сообщения в DEM или в сконфигурированную функцию-заменитель. Источники: [SWS_FrTrcv_00488], [SWS_FrTrcv_00489], [SWS_FrTrcv_00475]

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

ОбоснованиеКлассификация
[SWS_FrTrcv_00481], SWS FrTrcv Abb. 7.1 S. 23Режимы работы и конечный автомат
[SWS_FrTrcv_00323], SWS FrTrcv S. 39Смена режима, сбой, очистка истории ошибок в STANDBY
[SWS_FrTrcv_00322], SWS FrTrcv S. 37Инициализация и правило перезапуска для источников пробуждения
[SWS_FrTrcv_00330], [SWS_FrTrcv_00485]Циклический опрос и времена ожидания
[SWS_FrTrcv_00331], [SWS_FrTrcv_00325], [SWS_FrTrcv_00074], [SWS_FrTrcv_00329]Тракт пробуждения от обнаружения до сброса
[SWS_FrTrcv_00490], [SWS_FrTrcv_00491], [SWS_FrTrcv_00492]Уведомление ICU в зависимости от режима
[SWS_FrTrcv_00419], [SWS_FrTrcv_00442], [SWS_FrTrcv_00443]Управление ветвями в активных звездах
[SWS_FrTrcv_00085], [SWS_FrTrcv_91001], [SWS_FrTrcv_00493]Ошибки разработки и времени выполнения
[SWS_FrTrcv_00488], [SWS_FrTrcv_00489], [SWS_FrTrcv_00475]События DEM и путь отправки сообщений
[SWS_FrTrcv_00487], [SWS_FrTrcv_00494], [SWS_FrTrcv_00497]Тип конфигурации и разбиение на разделы

Руководство сгенерировано ИИ на основе требований R20-11 и фрагментов документации, содержащихся в полезной нагрузке. Фрагменты документов из более поздних релизов отмечены соответствующим образом. Обязательную силу имеет исключительно спецификация AUTOSAR.

FlexRay Transceiver Driver (FrTrcv)

Controls physical bus transceiver states and bus diagnostics on FlexRay lines.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

функция FrTrcv_Init [SWS_FrTrcv_00322] 📄 PDF

void FrTrcv_Init (const FrTrcv_ConfigType* ConfigPtr);

This service initializes the Fr Trcv.

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

Синхронная функция FrTrcv_Init инициализирует драйвер приемопередатчика FlexRay платформы AUTOSAR Classic ([SWS_FrTrcv_00322]). Она имеет идентификатор сервиса 0x00 и предоставляется через заголовочный файл FrTrcv.h ([SWS_FrTrcv_00322]). Модуль FrTrcv предоставляет этот сервис для конфигурации и ввода в эксплуатацию аппаратной части приемопередатчика ([SWS_FrTrcv_00322]).

Интерфейс ожидает в качестве единственного параметра указатель ConfigPtr типа const FrTrcv_ConfigType*, который ссылается на выбранный набор конфигурационных данных приемопередатчика ([SWS_FrTrcv_00322]):

  • Входные параметры: ConfigPtr (указатель на выбранный набор конфигурации) ([SWS_FrTrcv_00322]).
  • Входные/выходные параметры: отсутствуют ([SWS_FrTrcv_00322]).
  • Выходные параметры: отсутствуют ([SWS_FrTrcv_00322]).
  • Возвращаемое значение: void, статус или значение ошибки не возвращаются ([SWS_FrTrcv_00322]).

Поскольку FrTrcv_Init специфицирована как нереентерабельная (Non Reentrant), функция ни в коем случае не должна вызываться параллельно или многократно одновременно ([SWS_FrTrcv_00322]). Выполнение происходит синхронно до завершения инициализации ([SWS_FrTrcv_00322]).

Относительно контекста вызова и условий очередности данная спецификация не содержит явных сведений; вероятно, инициализация выполняется во время запуска системы управлением состоянием базового программного обеспечения перед любыми регулярными коммуникационными операциями. Вопрос Q-5fa4966e37b10516 (открытый) Специфические коды ошибок, реакции на нулевые указатели, а также взаимодействия с DET или DEM не входят в предоставленный объем спецификации и поэтому далее не рассматриваются ([SWS_FrTrcv_00322]).

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

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

функция FrTrcv_SetTransceiverMode [SWS_FrTrcv_00323] 📄 PDF

Std_ReturnType FrTrcv_SetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType FrTrcv_TrcvMode);

This service sets the transceiver mode.

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

Синхронная функция FrTrcv_SetTransceiverMode служит для переключения рабочего режима приемопередатчика FlexRay [SWS_FrTrcv_00323]. Объявление этого сервиса предоставляется через заголовочный файл FrTrcv.h [SWS_FrTrcv_00323].

Параметры и управление

Функция ожидает два входных параметра [SWS_FrTrcv_00323]:

  • FrTrcv_TrcvIdx: этот индекс с отсчетом от нуля идентифицирует конкретный приемопередатчик в рамках драйвера приемопередатчика, для которого должно быть выполнено изменение состояния [SWS_FrTrcv_00323].
  • FrTrcv_TrcvMode: выбирает целевое состояние, в которое должен перейти приемопередатчик [SWS_FrTrcv_00323]. При этом следует учитывать, что переходы в опциональные состояния могут завершиться неудачно [SWS_FrTrcv_00323].

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

Результат переключения режима передается синхронно через возвращаемое значение типа Std_ReturnType [SWS_FrTrcv_00323]:

  • E_OK: указывает на то, что состояние приемопередатчика было успешно изменено на требуемый режим [SWS_FrTrcv_00323].
  • E_NOT_OK: сигнализирует о сбое смены состояния; при этом предыдущее состояние приемопередатчика сохраняется без изменений [SWS_FrTrcv_00323].

Параллелизм

Сервис специфицирован как нереентерабельный (Non Reentrant) и имеет синхронную семантику выполнения [SWS_FrTrcv_00323]. Ввиду свойства Non Reentrant вызывающий контекст, вероятно, должен отвечать за защиту от параллельных или перекрывающихся вызовов для драйвера. Вопрос Q-b83c7a2879a572b7 (открытый)

Данное указание по использованию создано автоматически и основано исключительно на данных спецификации из AUTOSAR Release R20-11.

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

функция FrTrcv_GetTransceiverMode [SWS_FrTrcv_00324] 📄 PDF

Std_ReturnType FrTrcv_GetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType* FrTrcv_TrcvModePtr);

This function returns the actual state of the transceiver.

функция FrTrcv_GetTransceiverWUReason [SWS_FrTrcv_00325] 📄 PDF

Std_ReturnType FrTrcv_GetTransceiverWUReason (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvWUReasonType* FrTrcv_TrcvWUReasonPtr);

This function returns the wakeup reason.

функция FrTrcv_ClearTransceiverWakeup [SWS_FrTrcv_00329] 📄 PDF

Std_ReturnType FrTrcv_ClearTransceiverWakeup (uint8 FrTrcv_TrcvIdx);

This function clears a pending wake up event.

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

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

Синхронная функция FrTrcv_ClearTransceiverWakeup служит для сброса ожидающего события пробуждения на приемопередатчике FlexRay [SWS_FrTrcv_00329]. Она объявлена в заголовочном файле FrTrcv.h и имеет идентификатор сервиса 0x0c [SWS_FrTrcv_00329].

Через входной параметр FrTrcv_TrcvIdx с отсчетом от нуля указывается соответствующий приемопередатчик в рамках драйвера [SWS_FrTrcv_00329].

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

Возвращаемое значение типа Std_ReturnType информирует об исходе операции [SWS_FrTrcv_00329]:

  • E_OK: событие пробуждения источника пробуждения приемопередатчика было успешно сброшено [SWS_FrTrcv_00329].
  • E_NOT_OK: параметр FrTrcv_TrcvIdx находится вне допустимого диапазона; статус пробуждения в этом случае остается без изменений [SWS_FrTrcv_00329].

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

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

Данное указание по использованию было сгенерировано автоматически на основе спецификации SWS_FrTrcv_00329.

функция FrTrcv_CheckWakeupByTransceiver [SWS_FrTrcv_00331] 📄 PDF

void FrTrcv_CheckWakeupByTransceiver (uint8 FrTrcv_TrcvIdx);

-

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

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

Функция FrTrcv_CheckWakeupByTransceiver относится к драйверу приемопередатчика FlexRay (модуль FrTrcv) и объявлена через заголовочный файл FrTrcv.h [SWS_FrTrcv_00331]. Функция имеет идентификатор сервиса 0x0e и выполняется синхронно [SWS_FrTrcv_00331]. В качестве единственного входного параметра она принимает FrTrcv_TrcvIdx типа uint8, который в виде индекса с отсчетом от нуля определяет соответствующий приемопередатчик в контексте драйвера приемопередатчика, для которого должна быть выполнена операция [SWS_FrTrcv_00331]. Не существует ни входных/выходных параметров, ни чисто выходных параметров, и функция не имеет возвращаемого значения (void) [SWS_FrTrcv_00331].

В данных спецификации отсутствует подробное функциональное описание. Интерпретация: судя по наименованию, функция, вероятно, служит для проверки того, присутствует ли на адресованном оборудовании приемопередатчика событие пробуждения (Wakeup) или было ли оно им обнаружено [SWS_FrTrcv_00331]. Вопрос Q-9b8b5d8fb8e4543f (открытый)

Параллелизм и обработка ошибок

В отношении поведения при параллелизме FrTrcv_CheckWakeupByTransceiver классифицируется как реентерабельная [SWS_FrTrcv_00331]. Это допускает параллельные вызовы для различных экземпляров приемопередатчиков в системе. Специфические механизмы обработки ошибок, например проверки недопустимых индексов или сообщения в Default Error Tracer (DET) либо Diagnostic Event Manager (DEM), в этом элементе спецификации не определены [SWS_FrTrcv_00331].

Данное указание по использованию было сгенерировано ИИ и основано исключительно на данных спецификации пакета AUTOSAR R20-11.

функция FrTrcv_GetTransceiverError [SWS_FrTrcv_00419] 📄 PDF

Std_ReturnType FrTrcv_GetTransceiverError (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx, uint32* FrTrcv_BusErrorState);

All mandatory errors defined by the Flex Ray EPL [5] which are supported by the Flex Ray transceiver hardware can be acce ssed via this API:In addition to errors on the physical layer and local to the ECU hardware, a global error flag is provided.

функция FrTrcv_DisableTransceiverBranch [SWS_FrTrcv_00442] 📄 PDF

Std_ReturnType FrTrcv_DisableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);

This function disable s the specified branch on the addressed (active star) transceiver.

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

Синхронная функция FrTrcv_DisableTransceiverBranch служит для деактивации отдельной указанной ветви на адресуемом активном звездообразном трансивере ([SWS_FrTrcv_00442]). Она предоставляется через заголовочный файл FrTrcv.h и имеет идентификатор службы 0x0f ([SWS_FrTrcv_00442]).

Параметры и контекст вызова

Вызов выполняется синхронно и специфицирован как нереентерабельный (Non Reentrant) ([SWS_FrTrcv_00442]). Функция ожидает два входных параметра с нулевой индексацией:

  • FrTrcv_TrcvIdx: индекс с нулевой индексацией, идентифицирующий трансивер в контексте драйвера трансивера, к которому должна применяться операция ([SWS_FrTrcv_00442]).
  • FrTrcv_BranchIdx: индекс с нулевой индексацией, определяющий деактивируемую ветвь адресуемого активного звездообразного трансивера ([SWS_FrTrcv_00442]).

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

Результат операции сигнализируется через тип возвращаемого значения Std_ReturnType ([SWS_FrTrcv_00442]):

  • E_OK: указанная ветвь трансивера была успешно отключена ([SWS_FrTrcv_00442]).
  • E_NOT_OK: параметр FrTrcv_TrcvIdx или FrTrcv_BranchIdx находится вне допустимого диапазона ([SWS_FrTrcv_00442]). В этом случае ошибки состояние ветви трансивера остается без изменений ([SWS_FrTrcv_00442]).

Ограничения и параллелизм

Поскольку FrTrcv_DisableTransceiverBranch является нереентерабельной, вызовы не должны выполняться параллельно без защиты ([SWS_FrTrcv_00442]). Вызывающие стороны также должны гарантировать, что оба индекса находятся в сконфигурированных пределах, чтобы избежать отклонения с сохранением неизменного состояния ветви ([SWS_FrTrcv_00442]).

Это указание по использованию основано на спецификации SWS_FrTrcv_00442 из релиза R20-11.

функция FrTrcv_EnableTransceiverBranch [SWS_FrTrcv_00443] 📄 PDF

Std_ReturnType FrTrcv_EnableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);

This function enables the specified branch on the addressed (active star) transceiver.

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

Синхронная функция FrTrcv_EnableTransceiverBranch служит для того, чтобы активировать определенную ветвь на адресованном приемопередатчике, как правило, при топологии активной звезды (Active Star) [SWS_FrTrcv_00443].

Параметры и контекст вызова

  • FrTrcv_TrcvIdx: индекс приемопередатчика с отсчетом от нуля в контексте драйвера [SWS_FrTrcv_00443].
  • FrTrcv_BranchIdx: индекс конкретной ветви приемопередатчика с отсчетом от нуля, которая должна быть активирована [SWS_FrTrcv_00443].

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

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

  • E_OK: указанная ветвь приемопередатчика была успешно активирована [SWS_FrTrcv_00443].
  • E_NOT_OK: один из параметров (FrTrcv_TrcvIdx или FrTrcv_BranchIdx) находится вне допустимого диапазона; состояние ветви в этом случае остается без изменений [SWS_FrTrcv_00443].

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

Вызов выполняется синхронно и специфицирован как нереентерабельный (Non Reentrant) [SWS_FrTrcv_00443]. Поэтому вызывающие компоненты должны обеспечить, чтобы функция не вызывалась параллельно для одного и того же или параллельных контекстов.

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

функция FrTrcv_MainFunction [SWS_FrTrcv_00330] 📄 PDF

void FrTrcv_MainFunction (void);

-

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

Функция FrTrcv_MainFunction представляет собой периодическую главную функцию драйвера для трансивера FlexRay (модуль FrTrcv) и зарегистрирована с Service-ID 0x0d [SWS_FrTrcv_00330]. Си-интерфейс с сигнатурой void FrTrcv_MainFunction (void) определен как функция без параметров, поэтому при вызове не передаются входные параметры, а также отсутствует возвращаемое значение статуса [SWS_FrTrcv_00330].

В качестве включаемого файла для функции задан заголовочный файл SchM_FrTrcv.h [SWS_FrTrcv_00330]. Предоставление через интерфейс Schedule Manager обуславливает интерпретацию, согласно которой вызов при работе системы обычно происходит циклически через BSW-Scheduler в контексте сконфигурированной задачи операционной системы.

В отсутствие параметров и возвращаемых значений возникающие процессы контроля и мониторинга трансивера, вероятно, выполняются автономно внутри модуля. Вопрос Q-2710fa5096bf4d90 (открытый) По таким аспектам, как реентерабельность, параллелизм, обработка ошибок DET или взаимодействия с другими интерфейсами драйвера, спецификация в этом месте не содержит положений [SWS_FrTrcv_00330].

Это указание по использованию было сгенерировано ИИ и опирается исключительно на содержание спецификации релиза R20-11.

тип FrTrcv_TrcvModeType [SWS_FrTrcv_00481] 📄 PDF

Transceiver modes in state ACTIVE. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayTransceiverDriver

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

Тип перечисления FrTrcv_TrcvModeType в соответствии с [SWS_FrTrcv_00481] определяет допустимые рабочие режимы приемопередатчика FlexRay в вышестоящем рабочем состоянии ACTIVE. Типизированное определение является неотъемлемой частью драйвера приемопередатчика FlexRay FrTrcv и предоставляется для всей платформы через заголовочный файл Fr_GeneralTypes.h для вышестоящих программных модулей [SWS_FrTrcv_00481].

Перечисление охватывает четыре определенных состояния для работы приемопередатчика [SWS_FrTrcv_00481]:

  • FRTRCV_TRCVMODE_NORMAL: указывает на то, что приемопередатчик находится в регулярном рабочем состоянии NORMAL [SWS_FrTrcv_00481].
  • FRTRCV_TRCVMODE_STANDBY: указывает на то, что приемопередатчик находится в энергосберегающем состоянии готовности STANDBY [SWS_FrTrcv_00481].
  • FRTRCV_TRCVMODE_SLEEP: указывает на то, что приемопередатчик находится в состоянии покоя SLEEP [SWS_FrTrcv_00481].
  • FRTRCV_TRCVMODE_RECEIVEONLY: указывает на то, что приемопередатчик находится в состоянии RECEIVEONLY и разрешает только операции приема [SWS_FrTrcv_00481].

Что касается использования и взаимодействия, данный тип выступает в качестве центральной интерфейсной величины для управления, а также регистрации состояния аппаратной части приемопередатчика FlexRay (Интерпретация: значения перечисления, вероятно, служат параметрами для вызовов функций переключения рабочего режима, а также для обратной связи при запросах статуса, поскольку полезные данные не содержат сигнатур функций). Вопрос Q-205f2b0575c32460 (открытый) Специфические коды ошибок, обработка ошибок через DET или DEM, а также ограничения по реентерабельности для этого элементарного типа перечисления в требованиях не определены [SWS_FrTrcv_00481].

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

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

тип FrTrcv_TrcvWUReasonType [SWS_FrTrcv_00074] 📄 PDF

This type to be used to specify the wake up reason detected by the FR transceiver in detail.

тип ofaCfunctionwhichsubstitutesMultiplicityType [SWS_FrTrcv_00497] 📄 PDF

Type ofaCfunctionwhichsubstitutesMultiplicityType.

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

Record
AUTOSAR/AP/record/CP_MOD_FrTrcv
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_FrTrcv@rel:R20-11#d35263ce
Content hash
d35263ce
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayTransceiverDriver.pdf#nameddest=SWS_FrTrcv_00322

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

FrTrcv_GetVersionInfo функция

This service returns the version information of this module.

void FrTrcv_GetVersionInfo (Std_VersionInfoType* versioninfo);
FrTrcv_Init функция

This service initializes the Fr Trcv.

void FrTrcv_Init (const FrTrcv_ConfigType* ConfigPtr);

Сервисы

-

void FrTrcv_CheckWakeupByTransceiver (uint8 FrTrcv_TrcvIdx);

This function clears a pending wake up event.

Std_ReturnType FrTrcv_ClearTransceiverWakeup (uint8 FrTrcv_TrcvIdx);

This function disable s the specified branch on the addressed (active star) transceiver.

Std_ReturnType FrTrcv_DisableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);

This function enables the specified branch on the addressed (active star) transceiver.

Std_ReturnType FrTrcv_EnableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);

All mandatory errors defined by the Flex Ray EPL [5] which are supported by the Flex Ray transceiver hardware can be acce ssed via this API:In addition to errors on the physical layer and local to the ECU hardware, a global error flag is provided.

Std_ReturnType FrTrcv_GetTransceiverError (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx, uint32* FrTrcv_BusErrorState);

This function returns the actual state of the transceiver.

Std_ReturnType FrTrcv_GetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType* FrTrcv_TrcvModePtr);

This function returns the wakeup reason.

Std_ReturnType FrTrcv_GetTransceiverWUReason (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvWUReasonType* FrTrcv_TrcvWUReasonPtr);

This service sets the transceiver mode.

Std_ReturnType FrTrcv_SetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType FrTrcv_TrcvMode);

Циклические

FrTrcv_MainFunction функция

-

void FrTrcv_MainFunction (void);

Типы

Configuration data structure of the Fr Trcv module.

Transceiver modes in state ACTIVE. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayTransceiverDriver

This type to be used to specify the wake up reason detected by the FR transceiver in detail.

Type ofaCfunctionwhichsubstitutesMultiplicityType.