DEENESPTFRRUARHIKOZHNL

FlexRay Transceiver Driver (FrTrcv)

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

모듈 가이드AI 생성

FlexRay 트랜시버 하드웨어를 제어합니다. 작동 모드를 설정하고, 웨이크업 이벤트를 감지하며, 버스 오류를 보고합니다.
AI 생성 미검증 모델: claude-opus-5-5 · 노력: high · 온도: 제어 불가 · 프롬프트: d2a3c22cd47c 출처 열린 질문 (6)
인과 앵커: R20-11 R20-11부터 유효 이 사양 릴리스용으로 새로 합성되었습니다.
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

FlexRay 트랜시버 하드웨어를 제어합니다. 작동 모드를 설정하고, 웨이크업 이벤트를 감지하며, 버스 오류를 보고합니다.

FlexRay 트랜시버 드라이버는 Dio 또는 Spi를 통해 ECU의 트랜시버 디바이스를 제어하며, ACTIVE에서 NORMAL, RECEIVEONLY, STANDBY 및 SLEEP 모드를 제공합니다 [SWS_FrTrcv_00481]. 모드를 설정 및 판독하고, 주기적 폴링 또는 알림을 통해 웨이크업 이벤트를 감지하여 EcuM에 보고하고 웨이크업 이유를 제공합니다. 액티브 스타의 경우 브랜치별 버스 오류를 조회하고 브랜치를 비활성화하거나 활성화합니다. 모드 전환이 실패하면 E_NOT_OK를 반환하고 이전 상태를 변경하지 않고 유지합니다 [SWS_FrTrcv_00323].

FlexRay 트랜시버 드라이버는 ECU의 트랜시버 디바이스를 제어합니다. 각 디바이스는 제로 기반 인덱스 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

컨텍스트 다이어그램: FrIf/FrSM, 하드웨어 드라이버, 서비스 EcuM, DEM 및 DET 사이의 FrTrcv. 출처: [SWS_FrTrcv_00334], SWS FrSM 20쪽

전원을 켠 후 드라이버는 NOT_ACTIVE 상태에 있으며 FrTrcv_Init을 통해 ACTIVE로 진입합니다 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)

상태 다이어그램: 4개의 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 트랜시버 드라이버는 ECU의 하나 이상의 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에 전달합니다. 여러 트랜시버 드라이버와 FrIf가 공통 타입을 공유할 수 있도록 Fr_GeneralTypes.h의 공통 타입이 FR_GENERAL_TYPES으로 보호되는 점도 이에 부합합니다 SWS FrTrcv 34쪽. 질문 Q-29229b532631a6b5 (열림)

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 상태에 있으며 FrTrcv_Init()을 통해 ACTIVE로 진입합니다 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 이후에만 FrTrcv_SetTransceiverMode를 통해 4개의 ACTIVE 모드에 도달할 수 있습니다. 트랜지션 선택은 부분적으로 재구성되었습니다(해석). 출처: 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_DisableNotification을 사용하여 ICU 채널을 비활성화합니다 [SWS_FrTrcv_00492]. 이 참조가 없으면 ICU 채널에 전혀 액세스하지 않습니다 [SWS_FrTrcv_00490].

시작 및 NORMAL로 전환EcuMFrIf / 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 (상태 변경 없음)

시퀀스 다이어그램: 초기화 후 바쁜 대기(busy-wait) 및 선택적 ICU 비활성화를 수반하는 NORMAL로의 전환이 이어집니다. 실패 시 상태는 변경되지 않고 유지됩니다. 출처: [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쪽.

추가로 드라이버는 주기적으로 폴링할 수 있습니다. 이를 위해 SchM_FrTrcv.h을 통해 FrTrcv_MainFunction을 제공합니다 [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이 FrTrcv_TrcvWUReasonType의 값으로 제공합니다 [SWS_FrTrcv_00325]. 가능한 값은 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 FlexRay 버스 스케줄과 동기화된 FrTrcv_EnableTransceiverBranch 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만 명시합니다. 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쪽 및 FrTrcv_GetVersionInfo의 NULL 포인터가 있습니다 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]

생산 진단을 위해 드라이버는 두 가지 트랜시버 클래스를 구별합니다:

  • GPIO 제어 클래스 A 트랜시버의 경우 활성 ERRN 핀(low)은 'Fail'을, 비활성 핀(high)은 'Pass'를 의미합니다 [SWS_FrTrcv_00489].
  • SPI 제어 클래스 B 트랜시버의 경우 설정된 각 비트 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. 39STANDBY에서의 모드 변경, 실패, 오류 이력 삭제
[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 요구사항 및 문서 위치를 기반으로 AI가 생성한 가이드라인입니다. 이후 릴리스의 문서 위치는 해당 내용으로 표시되어 있습니다. 구속력은 오직 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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 8880c7552dd0 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기 함수 FrTrcv_Init은(는) AUTOSAR Classic 플랫폼의 FlexRay 트랜시버 드라이버를 초기화합니다([SWS_FrTrcv_00322]). 이 함수는 서비스 ID 0x00을(를) 가지며 헤더 파일 FrTrcv.h을(를) 통해 제공됩니다([SWS_FrTrcv_00322]). FrTrcv 모듈은 트랜시버 하드웨어의 구성 및 시운전을 위해 이 서비스를 제공합니다([SWS_FrTrcv_00322]).

이 인터페이스는 트랜시버의 선택된 구성 데이터 세트를 가리키는 const FrTrcv_ConfigType* 유형의 포인터 ConfigPtr을(를) 유일한 매개변수로 기대합니다([SWS_FrTrcv_00322]).

FrTrcv_Init은(는) 재진입 불가(Non Reentrant)로 명시되어 있으므로, 이 함수는 어떠한 경우에도 동시에 또는 여러 번 병렬로 호출되어서는 안 됩니다([SWS_FrTrcv_00322]). 실행은 초기화가 완료될 때까지 동기식으로 진행됩니다([SWS_FrTrcv_00322]).

호출 컨텍스트 및 순서 조건에 대해 본 사양은 명시적인 정보를 제공하지 않습니다. 아마도 초기화는 모든 정규 통신 활동 전에 기본 소프트웨어 상태 관리에 의해 시스템 시작 중에 수행될 것으로 추정됩니다. 특정 오류 코드, 널 포인터에 대한 반응 및 DET 또는 DEM과의 상호작용은 제공된 사양 범위에 포함되어 있지 않으므로 더 이상 다루지 않습니다([SWS_FrTrcv_00322]). 질문 Q-5fa4966e37b10516 (열림)

이 사용 지침은 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.

AI 생성 미검증 모델: 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: 이 0 기반 인덱스는 상태 변경을 수행할 트랜시버 드라이버 내의 특정 트랜시버를 식별합니다 [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 릴리스 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_ClearTransceiverWakeup [SWS_FrTrcv_00329] 📄 PDF

Std_ReturnType FrTrcv_ClearTransceiverWakeup (uint8 FrTrcv_TrcvIdx);

This function clears a pending wake up event.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 486bcee2a527 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 의미론

동기 함수 FrTrcv_ClearTransceiverWakeup은(는) FlexRay 트랜시버에서 대기 중인 웨이크업 이벤트를 재설정하는 데 사용됩니다 [SWS_FrTrcv_00329]. 이 함수는 헤더 파일 FrTrcv.h에 선언되어 있으며 서비스 ID 0x0c을(를) 가집니다 [SWS_FrTrcv_00329].

0 기반 입력 매개변수 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);

-

AI 생성 미검증 모델: 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]. 이 함수는 서비스 ID 0x0e을(를) 가지며 동기식으로 실행됩니다 [SWS_FrTrcv_00331]. 이 함수는 작업을 수행할 트랜시버 드라이버 컨텍스트 내의 해당 트랜시버를 0 기반 인덱스로 결정하는 uint8 유형의 FrTrcv_TrcvIdx을(를) 유일한 입력 매개변수로 받습니다 [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].

이 사용 지침은 AI에 의해 생성되었으며 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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: f12db972f543 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기식 함수 FrTrcv_DisableTransceiverBranch은 주소 지정된 능동 스타 트랜시버([SWS_FrTrcv_00442])의 지정된 개별 분기를 비활성화하는 역할을 합니다. 헤더 파일 FrTrcv.h를 통해 제공되며 서비스 ID 0x0f을 갖습니다([SWS_FrTrcv_00442]).

매개변수 및 호출 컨텍스트

호출은 동기식으로 수행되며 재진입 불가능(Non Reentrant)으로 명시되어 있습니다([SWS_FrTrcv_00442]). 이 함수는 두 개의 0 기반 입력 매개변수를 받습니다:

  • FrTrcv_TrcvIdx: 연산이 적용될 트랜시버 드라이버 컨텍스트 내의 트랜시버를 식별하는 0 기반 인덱스([SWS_FrTrcv_00442]).
  • FrTrcv_BranchIdx: 주소 지정된 능동 스타 트랜시버의 비활성화할 분기를 결정하는 0 기반 인덱스([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]).

이 사용 지침은 릴리스 R20-11의 SWS_FrTrcv_00442 명세를 기반으로 합니다.

함수 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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 8a9d8eb5de3b 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기 함수 FrTrcv_EnableTransceiverBranch은(는) 일반적으로 액티브 스타(Active Star) 토폴로지에서 지정된 트랜시버의 특정 브랜치를 활성화하는 데 사용됩니다 [SWS_FrTrcv_00443].

매개변수 및 호출 컨텍스트

  • FrTrcv_TrcvIdx: 드라이버 컨텍스트 내 트랜시버의 0 기반 인덱스 [SWS_FrTrcv_00443].
  • FrTrcv_BranchIdx: 활성화할 특정 트랜시버 브랜치의 0 기반 인덱스 [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);

-

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: f615787755a2 출처 열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 FrTrcv_MainFunction은 FlexRay 트랜시버(모듈 FrTrcv)를 위한 드라이버의 주기적 메인 함수를 구성하며 서비스 ID 0x0d로 등록되어 있습니다 [SWS_FrTrcv_00330]. C 인터페이스는 시그니처 void FrTrcv_MainFunction (void)를 갖는 매개변수가 없는 함수로 정의되어 있으므로 호출 시 입력 매개변수가 전달되지 않으며 반환 타입으로서의 상태 값도 존재하지 않습니다 [SWS_FrTrcv_00330].

인클루드 파일로는 이 함수를 위해 헤더 SchM_FrTrcv.h이 지정되어 있습니다 [SWS_FrTrcv_00330]. Schedule Manager의 인터페이스를 통해 제공된다는 점은 시스템 작동 중에 일반적으로 구성된 OS 태스크의 컨텍스트에서 BSW 스케줄러에 의해 주기적으로 호출될 것이라는 해석을 뒷받침합니다.

매개변수와 반환값이 없으므로 발생하는 트랜시버의 제어 및 모니터링 절차는 모듈 내부에서 자율적으로 실행될 것으로 보입니다. 질문 Q-2710fa5096bf4d90 (열림) 재진입성, 동시성, DET 오류 처리 또는 기타 드라이버 인터페이스와의 상호작용과 같은 측면에 대해 명세서는 이 위치에서 어떠한 규정도 포함하지 않습니다 [SWS_FrTrcv_00330].

이 사용 지침은 AI에 의해 생성되었으며 전적으로 릴리스 R20-11의 명세 내용만을 기반으로 합니다.

타입 FrTrcv_TrcvModeType [SWS_FrTrcv_00481] 📄 PDF

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

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 4db36c82b07f 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

열거형 FrTrcv_TrcvModeType은(는) [SWS_FrTrcv_00481]에 따라 상위 작동 상태 ACTIVE에서 FlexRay 트랜시버의 허용 가능한 작동 모드를 명시합니다. 이 형식화된 정의는 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#8b908f15
Content hash
8b908f15
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayTransceiverDriver.pdf#nameddest=SWS_FrTrcv_00322

초기화 및 상태

This service returns the version information of this module.

void FrTrcv_GetVersionInfo (Std_VersionInfoType* versioninfo);

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);

주기적

-

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.