DEENESPTFRRUARHIKOZHNL

FlexRay Transceiver Driver (FrTrcv)

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

Modul-GuideKI-GENERIERT

Steuert FlexRay-Transceiver-Hardware: setzt Betriebsmodi, erkennt Weckereignisse und meldet Busfehler.
KI-GENERIERT ungeprüft Modell: claude-opus-5-5 · Aufwand: high · Temperatur: nicht steuerbar · Prompt: d2a3c22cd47c Herkunft Offene Fragen (6)
Kausaler Anker: R20-11 Gültig ab R20-11 Neu synthetisiert für diesen Spezifikationsstand.
KI-generiertclaude-opus-5-5 · 2026-10-13

Steuert FlexRay-Transceiver-Hardware: setzt Betriebsmodi, erkennt Weckereignisse und meldet Busfehler.

Der FlexRay-Transceivertreiber steuert die Transceiver-Bausteine eines Steuergeräts über Dio oder Spi und bietet in ACTIVE die Modi NORMAL, RECEIVEONLY, STANDBY und SLEEP an [SWS_FrTrcv_00481]. Er setzt und liest Modi, erkennt Weckereignisse per zyklischem Polling oder Benachrichtigung, meldet sie an EcuM und liefert den Weckgrund. Bei aktiven Sternen fragt er Busfehler je Zweig ab und schaltet Zweige ab oder zu. Scheitert ein Moduswechsel, liefert er E_NOT_OK und lässt den bisherigen Zustand unverändert [SWS_FrTrcv_00323].

Der FlexRay-Transceivertreiber steuert die Transceiver-Bausteine eines Steuergeräts. Jeden Baustein adressiert er über den nullbasierten Index FrTrcv_TrcvIdx [SWS_FrTrcv_00323]. Nach unten greift er je nach Konfiguration über Dio oder Spi auf die Hardware zu SWS FrTrcv Abb. 10.4 S. 77. Zusätzlich nutzt er Icu, EcuM, Dem und Det [SWS_FrTrcv_00334]. Nach oben dürfte vor allem FrIf im Auftrag des FlexRay State Managers die Dienste nutzen (Interpretation) SWS FrSM S. 20. Frage (offen)

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

Kontextdiagramm: FrTrcv zwischen FrIf/FrSM, den Hardwaretreibern und den Diensten EcuM, DEM und DET. Quellen: [SWS_FrTrcv_00334], SWS FrSM S. 20

Nach dem Einschalten ist der Treiber in NOT_ACTIVE und gelangt mit FrTrcv_Init nach ACTIVE SWS FrTrcv Abb. 7.1 S. 23. Dort gelten die Modi NORMAL, RECEIVEONLY, STANDBY und SLEEP [SWS_FrTrcv_00481]. FrTrcv_SetTransceiverMode wechselt zwischen ihnen. Scheitert der Wechsel, liefert der Dienst E_NOT_OK und lässt den alten Zustand bestehen. Wartezeiten realisiert der Treiber mit Tm_BusyWait1us16bit [SWS_FrTrcv_00485]. In STANDBY sind die ICU-Weckkanäle freigeschaltet, in NORMAL abgeschaltet [SWS_FrTrcv_00491] [SWS_FrTrcv_00492].

modi cluster_power_on POWER_ON cluster_active ACTIVE Aus Versorgung 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)

Zustandsdiagramm: Die vier ACTIVE-Modi sind erst nach FrTrcv_Init erreichbar. Die Kanten sind teilweise rekonstruiert (Interpretation). Quellen: SWS FrTrcv Abb. 7.1 S. 23, [SWS_FrTrcv_00481]

Weckereignisse erkennt der Treiber auf zwei Wegen: per zyklischer FrTrcv_MainFunction [SWS_FrTrcv_00330] oder per Benachrichtigung. Nach FrTrcv_CheckWakeupByTransceiver meldet er das Ereignis an EcuM SWS FrTrcv S. 46. Den Grund, etwa FRTRCV_WU_BY_BUS, liefert FrTrcv_GetTransceiverWUReason, soweit die Hardware ihn unterscheiden kann [SWS_FrTrcv_00074]. FrTrcv_ClearTransceiverWakeup löscht alle anstehenden Ereignisse [SWS_FrTrcv_00329].

Bei aktiven Sternen fragen optionale Dienste Busfehler je Zweig ab und schalten Zweige ab oder wieder zu [SWS_FrTrcv_00419] [SWS_FrTrcv_00442] [SWS_FrTrcv_00443]. Für die Fehlerbehandlung gilt:

  • Entwicklungsfehler wie FRTRCV_E_UNINIT gehen an DET [SWS_FrTrcv_00085].
  • Laufzeitfehler wie FRTRCV_E_FR_NO_CONTROL_TRCV laufen über Det_ReportRuntimeError [SWS_FrTrcv_91001].
  • Busfehler der Klassen A und B meldet der Treiber an DEM oder an eine konfigurierte Ersatzfunktion [SWS_FrTrcv_00475].

Rolle: Hardware-Abstraktion für FlexRay-Transceiver-Bausteine

Der FlexRay-Transceivertreiber steuert einen oder mehrere FlexRay-Transceiver-Bausteine eines Steuergeräts an. Alle kanalbezogenen Dienste wählen den Baustein über den nullbasierten Index FrTrcv_TrcvIdx aus, der im Kontext des Treibers gilt [SWS_FrTrcv_00323]. Der Treiber bietet drei Gruppen von Diensten:

FrTrcv_GetVersionInfo liefert ausdrücklich die Version des Softwaremoduls und nicht die der Transceiver-Hardware SWS FrTrcv S. 43.

Nach unten greift der Treiber über Dio oder Spi auf den Baustein zu. Für Weck-Benachrichtigungen nutzt er Icu, Meldungen gehen an EcuM, Dem und Det [SWS_FrTrcv_00334] [SWS_FrTrcv_00321]. Die Zugriffsart legt der Auswahl-Container FrTrcvAccess fest: Er lässt genau eine der beiden Alternativen zu, also Dio-Zugriff oder SPI-Sequenz SWS FrTrcv Abb. 10.4 S. 77.

Nach oben dürfte vor allem das FlexRay Interface die Dienste nutzen. Der FlexRay State Manager ermittelt den Weckgrund je Transceiver eines Clusters über FrIf_GetTransceiverWUReason SWS FrSM S. 20. Interpretation: FrIf reicht diese Anfragen an FrTrcv weiter. Frage Q-29229b532631a6b5 (offen) Dazu passt, dass die gemeinsamen Typen in Fr_GeneralTypes.h durch FR_GENERAL_TYPES geschützt sind, damit mehrere Transceivertreiber und FrIf sie teilen können SWS FrTrcv S. 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

Kontextdiagramm: FrTrcv liegt zwischen FrIf/FrSM und den Treibern Dio, Spi und Icu und meldet an EcuM, DEM und DET. Quellen: [SWS_FrTrcv_00334], [SWS_FrTrcv_00485], [SWS_FrTrcv_00330], SWS FrSM S. 20

Betriebsmodi zwischen NOT_ACTIVE und ACTIVE

Abbildung 7.1 der Spezifikation beschreibt die Modi als geschachtelten Zustandsautomaten. Innerhalb von POWER_ON befindet sich der Treiber nach dem Einschalten in NOT_ACTIVE und gelangt mit FrTrcv_Init() nach ACTIVE SWS FrTrcv Abb. 7.1 S. 23. Nur in ACTIVE gelten die vier Werte von FrTrcv_TrcvModeType: FRTRCV_TRCVMODE_NORMAL, FRTRCV_TRCVMODE_RECEIVEONLY, FRTRCV_TRCVMODE_STANDBY und FRTRCV_TRCVMODE_SLEEP [SWS_FrTrcv_00481]. Zwischen diesen Modi wechselt die aufrufende Schicht mit FrTrcv_SetTransceiverMode [SWS_FrTrcv_00323].

Ein Moduswechsel läuft synchron ab und ist nicht reentrant. Übergänge in optionale Zustände dürfen fehlschlagen. Dann liefert der Dienst E_NOT_OK, und der bisherige Zustand bleibt erhalten SWS FrTrcv S. 39. Braucht der Baustein Wartezeiten für einen Zustandswechsel, realisiert der Treiber sie mit dem Zeitdienst Tm_BusyWait1us16bit [SWS_FrTrcv_00485]. Den tatsächlichen Zustand liest FrTrcv_GetTransceiverMode. Dieser Dienst ist reentrant und darf daher auch parallel aufgerufen werden [SWS_FrTrcv_00324].

modi cluster_power_on POWER_ON cluster_active ACTIVE Aus Versorgung 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)

Zustandsdiagramm: Erst nach FrTrcv_Init sind die vier ACTIVE-Modi per FrTrcv_SetTransceiverMode erreichbar. Die Auswahl der Kanten ist teilweise rekonstruiert (Interpretation). Quellen: SWS FrTrcv Abb. 7.1 S. 23, [SWS_FrTrcv_00481]

Hochlauf und Aufnahme der Buskommunikation

FrTrcv_Init erhält einen Zeiger auf den ausgewählten Konfigurationssatz und initialisiert den Treiber [SWS_FrTrcv_00322]. Diese separate Funktion initialisiert Variablen und Hardware-Ressourcen. Treiber, die Weckquellen bedienen, werden im Restart-Block neu initialisiert und schalten dabei den Auslösemechanismus der Weckmeldung wieder scharf SWS FrTrcv S. 37. Der Treiber unterstützt die Initialisierungssequenz des AUTOSAR-Stacks. Interpretation: Innerhalb dieser Sequenz ruft vermutlich der ECU State Manager die Funktion auf. Frage Q-93ce1e5987a96873 (offen)

Der Wechsel nach NORMAL wirkt sich auf die Weckpfade aus. Ist FrTrcvIcuChannelRef konfiguriert, schaltet der Treiber die ICU-Kanäle mit Icu_DisableNotification ab [SWS_FrTrcv_00492]. Ohne diese Referenz greift er überhaupt nicht auf ICU-Kanäle zu [SWS_FrTrcv_00490].

Hochlauf und Wechsel nach NORMALEcuMFrIf / FrSMFrTrcvDio / SpiIcuTmUse Case: InitialisierungFrTrcv_Init(ConfigPtr)Variablen und Hardware-Ressourceninitialisieren (NOT_ACTIVE → ACTIVE)Use Case: Kommunikation aufnehmenFrTrcv_SetTransceiverMode(TrcvIdx,FRTRCV_TRCVMODE_NORMAL)Modus-Pins bzw. Register setzenTm_BusyWait1us16bit(...)optFrTrcvIcuChannelRef konfiguriertIcu_DisableNotification(...)altWechsel erfolgreichE_OKWechsel fehlgeschlagenE_NOT_OK (Zustand unverändert)

Sequenzdiagramm: Auf die Initialisierung folgt der Wechsel nach NORMAL mit Busy-Wait und optionaler ICU-Abschaltung. Ein Fehlschlag lässt den Zustand unverändert. Quellen: [SWS_FrTrcv_00322], [SWS_FrTrcv_00323], [SWS_FrTrcv_00485], [SWS_FrTrcv_00492]

Weckerkennung in STANDBY und SLEEP, Weckgrund

Beim Wechsel nach STANDBY schaltet der Treiber die ICU-Kanäle wieder frei [SWS_FrTrcv_00491]. Außerdem löscht FrTrcv_SetTransceiverMode bei jedem Wechsel nach STANDBY die Fehlerhistorie im Transceiver, sofern die Hardware das unterstützt SWS FrTrcv S. 39.

Zusätzlich kann der Treiber zyklisch pollen. Dafür stellt er FrTrcv_MainFunction über SchM_FrTrcv.h bereit [SWS_FrTrcv_00330]. Laut der Dokumentstelle aus R23-11 durchsucht die Funktion alle Busse in STANDBY und SLEEP nach Weckereignissen und speichert gefundene Ereignisse intern. Die Periode legt die Konfiguration fest. Die Funktion darf synchron oder asynchron zum FlexRay-Busschedule laufen SWS FrTrcv S. 49.

Wechsel nach STANDBY und zyklische WeckerkennungFrIf / FrSMFrTrcvIcuDio / SpiBSW-SchedulerFrTrcv_SetTransceiverMode(TrcvIdx,FRTRCV_TRCVMODE_STANDBY)Fehlerhistorie im Transceiver löschen(falls Hardware unterstützt)optFrTrcvIcuChannelRef konfiguriertIcu_EnableNotification(...)E_OKloopzyklisch, Periode laut KonfigurationFrTrcv_MainFunction()Weckstatus aller Busse inSTANDBY/SLEEP lesenWeckereignis intern speichernPolling-Verhalten laut Dokumentstelle R23-11;unabhängig vom FlexRay-Busschedule

Sequenzdiagramm: Beim Übergang nach STANDBY wird die Fehlerhistorie gelöscht und die ICU-Benachrichtigung freigeschaltet. Danach sucht die Main Function zyklisch nach Weckereignissen. Quellen: [SWS_FrTrcv_00491], [SWS_FrTrcv_00330], SWS FrTrcv S. 49

Erkennt der Baustein ein Wecken über den Bus, benachrichtigt die unterlagerte SPI- oder DIO-Seite den Treiber. Das kann im Interrupt-Kontext geschehen SWS FrTrcv S. 46. Wird anschließend FrTrcv_CheckWakeupByTransceiver aufgerufen [SWS_FrTrcv_00331], meldet der Treiber das Ereignis an den ECU State Manager. Dafür steht EcuM_SetWakeupEvent in der Liste der genutzten Schnittstellen [SWS_FrTrcv_00334]. Interpretation: Den Prüfaufruf stößt vermutlich EcuM in seinem Weckablauf an. Frage Q-d5873691a495bef0 (offen)

Den Weckgrund liefert FrTrcv_GetTransceiverWUReason [SWS_FrTrcv_00325] als Wert von FrTrcv_TrcvWUReasonType. Mögliche Werte sind FRTRCV_WU_BY_BUS, FRTRCV_WU_BY_PIN, FRTRCV_WU_INTERNALLY oder FRTRCV_WU_NOT_SUPPORTED [SWS_FrTrcv_00074]. Wie fein die Gründe unterschieden werden, hängt stark von der Hardware ab SWS FrTrcv S. 42. Die Dokumentstelle späterer Releases nennt zusätzlich FRTRCV_WU_RESET und FRTRCV_WU_POWER_ON SWS FrTrcv S. 34. Der R20-11-Requirementtext im Payload ist an dieser Stelle gekürzt.

Der FrSM prüft den Weckgrund je Transceiver auf FRTRCV_WU_BY_BUS. So unterscheidet er, ob kein, ein teilweises oder ein vollständiges Buswecken vorliegt SWS FrSM S. 20. FrTrcv_ClearTransceiverWakeup löscht anschließend alle anstehenden Weckereignisse [SWS_FrTrcv_00329]. Der Aufruf ist auch bei abgeschalteter Weckbenachrichtigung zulässig SWS FrTrcv S. 44.

Weckereignis erkennen, melden und auswertenIcu / 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_BUSGrund nicht definiertE_NOT_OK (Ausgabe unverändert)FrTrcv_ClearTransceiverWakeup(TrcvIdx)E_OK (alle anstehenden Weckereignisse gelöscht)

Sequenzdiagramm: Ablauf von der Hardware-Benachrichtigung über die EcuM-Meldung bis zur Abfrage und zum Löschen des Weckgrunds. Den Aufrufer der Prüffunktion nennt der Payload nicht (Interpretation). Quellen: [SWS_FrTrcv_00331], [SWS_FrTrcv_00325], [SWS_FrTrcv_00329], SWS FrTrcv S. 46

Aktive Sterne: Zweige überwachen, abschalten und freigeben

Für Transceiver, die als aktiver Stern mehrere Zweige versorgen, gibt es drei zusätzliche Dienste. Sie stehen nur zur Verfügung, wenn Zweige konfiguriert sind SWS FrTrcv S. 52. Alle drei adressieren den Zweig zusätzlich über den nullbasierten Index FrTrcv_BranchIdx und sind nicht reentrant [SWS_FrTrcv_00419] [SWS_FrTrcv_00442] [SWS_FrTrcv_00443].

FrTrcv_GetTransceiverError schreibt den Fehlerzustand eines Zweigs als uint32 nach FrTrcv_BusErrorState. Abfragbar sind alle vom FlexRay-EPL vorgeschriebenen Fehler, die die Hardware unterstützt SWS FrTrcv S. 48. Fehlerhafte Zweige werden mit FrTrcv_DisableTransceiverBranch abgeschaltet SWS FrTrcv S. 50. FrTrcv_EnableTransceiverBranch gibt sie synchron zum FlexRay-Busschedule wieder frei SWS FrTrcv S. 51. Liegt ein Index außerhalb des gültigen Bereichs, liefern beide Schaltdienste E_NOT_OK, und der Zweigzustand bleibt unverändert [SWS_FrTrcv_00442] [SWS_FrTrcv_00443].

zweig start Zweigzustand prüfen (aufrufende Schicht, Interpretation) get FrTrcv_GetTransceiverError (TrcvIdx, BranchIdx, &BusErrorState) start->get rc Rückgabe E_OK? get->rc na Fehlerzustand nicht verfügbar oder Index außerhalb des Bereichs rc->na nein fehler Zweig fehlerhaft? rc->fehler ja aktiv Zweig bleibt aktiv fehler->aktiv nein dis FrTrcv_DisableTransceiverBranch (TrcvIdx, BranchIdx) fehler->dis ja wieder Wiederfreigabe gewünscht? dis->wieder aus Zweig bleibt abgeschaltet wieder->aus nein en FrTrcv_EnableTransceiverBranch synchron zum FlexRay-Busschedule wieder->en ja

Aktivitätsdiagramm: Fehlerabfrage je Zweig, Abschalten fehlerhafter Zweige und Wiederfreigabe synchron zum Busschedule. Dass die aufrufende Schicht entscheidet, ist eine Interpretation. Quellen: [SWS_FrTrcv_00419], SWS FrTrcv S. 50, SWS FrTrcv S. 51

Konfiguration, Zugriffsart und Partitionierung

FrTrcv_ConfigType ist eine implementierungsspezifische Struktur [SWS_FrTrcv_00487]. Das Modul enthält einen oder mehrere Container FrTrcvChannel, einen je Transceiverkanal, sowie FrTrcvGeneral SWS FrTrcv S. 59. Diese Dokumentstelle aus R23-11/R25-11 nennt außerdem nur VARIANT-PRE-COMPILE ohne Post-Build-Unterstützung. Für R20-11 enthält der Payload dazu kein Requirement.

Je Transceiver wählt FrTrcvAccess entweder FrTrcvDioAccess oder FrTrcvSpiSequence SWS FrTrcv Abb. 10.4 S. 77. Optionale Funktionen lassen sich zur Übersetzungszeit ein- und ausschalten SWS FrTrcv S. 52. FrTrcvIcuChannelRef bindet die ICU-Weckbenachrichtigung an [SWS_FrTrcv_00490]. Mit FrTrcvDemReportErrorStatusConfiguration lässt sich anstelle von Dem_SetEventStatus eine eigene Funktion mit gleicher Signatur einsetzen [SWS_FrTrcv_00475].

In partitionierten Systemen arbeitet das Modul als unabhängige Instanz je Partition. Ein API-Aufruf wirkt nur auf die Partition, in der er erfolgt [SWS_FrTrcv_00494]. Partitionszuordnungen, die die Implementierung nicht unterstützt, muss das Modul zurückweisen [SWS_FrTrcv_00497].

Verhalten im Fehlerfall

Die Entwicklungsfehler sind festgelegt [SWS_FrTrcv_00085]:

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

Sie werden nur bei aktivierter Entwicklungsfehlererkennung gemeldet. Beispiele sind FRTRCV_E_UNINIT bei den Zweigdiensten SWS FrTrcv S. 50 und der NULL-Zeiger bei FrTrcv_GetVersionInfo SWS FrTrcv S. 43.

Als Laufzeitfehler meldet der Treiber Aufrufe im falschen Modus mit FRTRCV_E_FR_TRCV_NOT_STANDBY bis FRTRCV_E_FR_TRCV_NOT_RECEIVEONLY (0x11 bis 0x14). Fehlende oder fehlerhafte Kommunikation mit dem Baustein meldet er mit FRTRCV_E_FR_NO_CONTROL_TRCV (0x16) [SWS_FrTrcv_91001]. Diese Meldungen laufen über Det_ReportRuntimeError [SWS_FrTrcv_00493]. FrTrcv_GetTransceiverMode löst den Fehler FRTRCV_E_FR_NO_CONTROL_TRCV etwa bei einem Fehler im Transceiverzugriff aus SWS FrTrcv S. 41.

Bei E_NOT_OK bleiben die Ausgabeparameter unverändert, so bei FrTrcv_GetTransceiverMode und FrTrcv_GetTransceiverError SWS FrTrcv S. 48. Ein gescheiterter Moduswechsel lässt den bisherigen Zustand bestehen [SWS_FrTrcv_00323].

pruefung start Aufruf eines FrTrcv-Dienstes init Modul initialisiert? start->init e_uninit Det_ReportError: FRTRCV_E_UNINIT init->e_uninit nein idx FrTrcv_TrcvIdx im Bereich? init->idx ja r_nok Rückgabe E_NOT_OK (Ausgaben bzw. Zustand unverändert) e_uninit->r_nok e_idx Det_ReportError: FRTRCV_E_FR_INVALID_TRCVIDX idx->e_idx nein br Zweigdienst: FrTrcv_BranchIdx im Bereich? idx->br ja e_idx->r_nok e_br Det_ReportError: FRTRCV_E_FR_INVALID_BRANCHIDX br->e_br nein ptr Zeigerparameter ungleich NULL? br->ptr ja / kein Zweigdienst e_br->r_nok e_ptr Det_ReportError: FRTRCV_E_PARAM_POINTER ptr->e_ptr nein zugriff Zugriff auf Transceiver (Dio / Spi) ptr->zugriff ja e_ptr->r_nok ok Zugriff fehlerfrei? zugriff->ok e_rt Det_ReportRuntimeError: FRTRCV_E_FR_NO_CONTROL_TRCV ok->e_rt nein r_ok Rückgabe E_OK ok->r_ok ja e_rt->r_nok

Aktivitätsdiagramm: Parameter- und Initialisierungsprüfungen führen zu Entwicklungsfehlern, Zugriffsfehler zu einem Laufzeitfehler. Die Reihenfolge der Prüfungen ist eine Interpretation. DET-Prüfungen gibt es nur bei aktivierter Fehlererkennung. Quellen: [SWS_FrTrcv_00085], [SWS_FrTrcv_91001], [SWS_FrTrcv_00493]

Für die Produktionsdiagnose unterscheidet der Treiber zwei Transceiverklassen:

  • Bei GPIO-gesteuerten Transceivern der Klasse A bedeutet ein aktiver ERRN-Pin (low) „Fail“, ein inaktiver Pin (high) „Pass“ [SWS_FrTrcv_00489].
  • Bei SPI-gesteuerten Transceivern der Klasse B löst jedes gesetzte Bit 1…9 einen Busfehler aus [SWS_FrTrcv_00488].

Ausgewertet wird bei einem unerwarteten HALT oder bei NORMAL_ACTIVE des Controllers. Bei einem Kurzschluss auf dem Bus genügt ein „Pass“ des Treibers allein nicht als Nachweis SWS FrTrcv S. 26. Dem_SetEventStatus steht nur bei STANDARD_REPORTING zur Verfügung [SWS_FrTrcv_00334].

dem anlass Anlass: unerwarteter HALT oder NORMAL_ACTIVE des Controllers klasse Transceiverklasse? anlass->klasse a Klasse A (GPIO): ERRN-Pin aktiv low? klasse->a A b Klasse B (SPI): ein Bit 1...9 gesetzt? klasse->b B fail_a Fail: FRTRCV_E_FR_ERRN_TRCV_<TrcvIdx> a->fail_a ja pass_a Pass: FRTRCV_E_FR_ERRN_TRCV_<TrcvIdx> a->pass_a nein fail_b Fail: FRTRCV_E_FR_BUSERROR_TRCV_<TrcvIdx> b->fail_b ja pass_b Pass: FRTRCV_E_FR_BUSERROR_TRCV_<TrcvIdx> b->pass_b nein cfg FrTrcvDemReportErrorStatusConfiguration konfiguriert? fail_a->cfg pass_a->cfg fail_b->cfg pass_b->cfg eigen konfigurierte Funktion (Signatur wie Dem_SetEventStatus) cfg->eigen ja dem Dem_SetEventStatus (nur bei STANDARD_REPORTING) cfg->dem nein

Aktivitätsdiagramm: Pass/Fail-Bewertung je Transceiverklasse und Weg der Meldung an DEM oder an die konfigurierte Ersatzfunktion. Quellen: [SWS_FrTrcv_00488], [SWS_FrTrcv_00489], [SWS_FrTrcv_00475]

Weiterführende Detailbelege

BelegEinordnung
[SWS_FrTrcv_00481], SWS FrTrcv Abb. 7.1 S. 23Betriebsmodi und Zustandsautomat
[SWS_FrTrcv_00323], SWS FrTrcv S. 39Moduswechsel, Fehlschlag, Löschen der Fehlerhistorie in STANDBY
[SWS_FrTrcv_00322], SWS FrTrcv S. 37Initialisierung und Restart-Regel für Weckquellen
[SWS_FrTrcv_00330], [SWS_FrTrcv_00485]Zyklisches Polling und Wartezeiten
[SWS_FrTrcv_00331], [SWS_FrTrcv_00325], [SWS_FrTrcv_00074], [SWS_FrTrcv_00329]Weckpfad von der Erkennung bis zum Löschen
[SWS_FrTrcv_00490], [SWS_FrTrcv_00491], [SWS_FrTrcv_00492]ICU-Benachrichtigung abhängig vom Modus
[SWS_FrTrcv_00419], [SWS_FrTrcv_00442], [SWS_FrTrcv_00443]Zweigverwaltung bei aktiven Sternen
[SWS_FrTrcv_00085], [SWS_FrTrcv_91001], [SWS_FrTrcv_00493]Entwicklungs- und Laufzeitfehler
[SWS_FrTrcv_00488], [SWS_FrTrcv_00489], [SWS_FrTrcv_00475]DEM-Ereignisse und Meldeweg
[SWS_FrTrcv_00487], [SWS_FrTrcv_00494], [SWS_FrTrcv_00497]Konfigurationstyp und Partitionierung

KI-generierter Leitfaden auf Basis der im Payload enthaltenen R20-11-Requirements und Dokumentstellen. Dokumentstellen aus späteren Releases sind als solche gekennzeichnet. Verbindlich ist allein die AUTOSAR-Spezifikation.

FlexRay Transceiver Driver (FrTrcv)

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

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

function FrTrcv_Init [SWS_FrTrcv_00322] 📄 PDF

void FrTrcv_Init (const FrTrcv_ConfigType* ConfigPtr);

This service initializes the Fr Trcv.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 8880c7552dd0 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion FrTrcv_Init initialisiert den FlexRay-Transceiver-Treiber der AUTOSAR-Classic-Plattform ([SWS_FrTrcv_00322]). Sie besitzt die Service-ID 0x00 und wird über die Header-Datei FrTrcv.h zur Verfügung gestellt ([SWS_FrTrcv_00322]). Das Modul FrTrcv stellt diesen Dienst zur Konfiguration und Inbetriebnahme der Transceiver-Hardware bereit ([SWS_FrTrcv_00322]).

Die Schnittstelle erwartet als einzigen Parameter den Zeiger ConfigPtr vom Typ const FrTrcv_ConfigType*, welcher auf den ausgewählten Konfigurationsdatensatz des Transceivers verweist ([SWS_FrTrcv_00322]):

Da FrTrcv_Init als nicht reentrant (Non Reentrant) spezifiziert ist, darf die Funktion keinesfalls nebenläufig oder mehrfach gleichzeitig aufgerufen werden ([SWS_FrTrcv_00322]). Die Ausführung erfolgt synchron bis zum Abschluss der Initialisierung ([SWS_FrTrcv_00322]).

Zum Aufrufkontext und zu Reihenfolgebedingungen macht die vorliegende Spezifikation keine expliziten Angaben; vermutlich erfolgt die Initialisierung während des Systemhochlaufs durch das Basissoftware-Zustandsmanagement vor allen regulären Kommunikationsaktivitäten. Frage Q-5fa4966e37b10516 (offen) Spezifische Fehlercodes, Reaktionen auf Nullzeiger sowie Interaktionen mit DET oder DEM sind im bereitgestellten Spezifikationsumfang nicht enthalten und werden daher nicht weiter ausgeführt ([SWS_FrTrcv_00322]).

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR Classic R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

function FrTrcv_SetTransceiverMode [SWS_FrTrcv_00323] 📄 PDF

Std_ReturnType FrTrcv_SetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType FrTrcv_TrcvMode);

This service sets the transceiver mode.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: fabc34a3f07e Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion FrTrcv_SetTransceiverMode dient dem Umschalten des Betriebsmodus eines FlexRay-Transceivers [SWS_FrTrcv_00323]. Die Deklaration dieses Dienstes wird über die Header-Datei FrTrcv.h bereitgestellt [SWS_FrTrcv_00323].

Parameter und Steuerung

Die Funktion erwartet zwei Eingangsparameter [SWS_FrTrcv_00323]:

  • FrTrcv_TrcvIdx: Dieser nullbasierte Index identifiziert den konkreten Transceiver innerhalb des Transceiver-Treibers, für den die Zustandsänderung ausgeführt werden soll [SWS_FrTrcv_00323].
  • FrTrcv_TrcvMode: Wählt den Zielzustand aus, in den der Transceiver übergehen soll [SWS_FrTrcv_00323]. Dabei ist zu beachten, dass Übergänge in optionale Zustände fehlschlagen können [SWS_FrTrcv_00323].

Rückgabewerte und Verhalten im Fehlerfall

Das Ergebnis der Modusumschaltung wird synchron über den Rückgabewert vom Typ Std_ReturnType übermittelt [SWS_FrTrcv_00323]:

  • E_OK: Zeigt an, dass der Zustand des Transceivers erfolgreich in den gewünschten Modus gewechselt wurde [SWS_FrTrcv_00323].
  • E_NOT_OK: Signalisiert ein Fehlschlagen des Zustandswechsels; der vorherige Zustand des Transceivers bleibt dabei unverändert erhalten [SWS_FrTrcv_00323].

Nebenläufigkeit

Der Dienst ist als nicht reentrant (Non Reentrant) spezifiziert und besitzt eine synchrone Ausführungssemantik [SWS_FrTrcv_00323]. Aufgrund der Eigenschaft Non Reentrant dürfte der aufrufende Kontext dafür verantwortlich sein, parallele oder überlappende Aufrufe für den Treiber abzusichern. Frage Q-b83c7a2879a572b7 (offen)

Dieser Nutzungshinweis wurde automatisiert erstellt und basiert ausschließlich auf den Spezifikationsdaten aus AUTOSAR Release R20-11.

Implementer's Guide folgt (Komplexität I1)

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

function FrTrcv_GetTransceiverWUReason [SWS_FrTrcv_00325] 📄 PDF

Std_ReturnType FrTrcv_GetTransceiverWUReason (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvWUReasonType* FrTrcv_TrcvWUReasonPtr);

This function returns the wakeup reason.

function FrTrcv_ClearTransceiverWakeup [SWS_FrTrcv_00329] 📄 PDF

Std_ReturnType FrTrcv_ClearTransceiverWakeup (uint8 FrTrcv_TrcvIdx);

This function clears a pending wake up event.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 486bcee2a527 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Semantik

Die synchrone Funktion FrTrcv_ClearTransceiverWakeup dient dem Zurücksetzen eines anstehenden Weckereignisses an einem FlexRay-Transceiver [SWS_FrTrcv_00329]. Sie ist in der Header-Datei FrTrcv.h deklariert und besitzt die Service-ID 0x0c [SWS_FrTrcv_00329].

Über den nullbasierten Eingabeparameter FrTrcv_TrcvIdx wird der betreffende Transceiver innerhalb des Treibers spezifiziert [SWS_FrTrcv_00329].

Fehlerbehandlung und Rückgabewerte

Der Rückgabewert vom Typ Std_ReturnType informiert über den Ausgang der Operation [SWS_FrTrcv_00329]:

  • E_OK: Das Weckereignis der Transceiver-Weckquelle wurde erfolgreich gelöscht [SWS_FrTrcv_00329].
  • E_NOT_OK: Der Parameter FrTrcv_TrcvIdx liegt außerhalb des gültigen Bereichs; der Weckstatus bleibt in diesem Fall unverändert [SWS_FrTrcv_00329].

Nebenläufigkeit und Einschränkungen

Die Funktion ist als nicht reentrant spezifiziert [SWS_FrTrcv_00329]. Aufrufer müssen daher sicherstellen, dass Aufrufe für dieselbe Instanz nicht unterbrechend oder parallel erfolgen. Da die Funktion synchron definiert ist, dürfte die Bereinigung des Weckereignisses unmittelbar während des Aufrufs auf Treiberebene abgeschlossen werden. Frage Q-e548008f8bae0ff0 (offen)

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation SWS_FrTrcv_00329 generiert.

function FrTrcv_CheckWakeupByTransceiver [SWS_FrTrcv_00331] 📄 PDF

void FrTrcv_CheckWakeupByTransceiver (uint8 FrTrcv_TrcvIdx);

-

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 61627651eb93 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Aufrufkontext

Die Funktion FrTrcv_CheckWakeupByTransceiver gehört zum FlexRay-Transceiver-Treiber (Modul FrTrcv) und ist über die Header-Datei FrTrcv.h deklariert [SWS_FrTrcv_00331]. Die Funktion besitzt die Service-ID 0x0e und wird synchron ausgeführt [SWS_FrTrcv_00331]. Sie nimmt als einzigen Eingabeparameter FrTrcv_TrcvIdx vom Typ uint8 entgegen, der als nullbasierter Index den jeweiligen Transceiver im Kontext des Transceiver-Treibers bestimmt, für den die Operation auszuführen ist [SWS_FrTrcv_00331]. Es existieren weder Ein-/Ausgabeparameter noch reine Ausgabeparameter, und die Funktion liefert keinen Rückgabewert (void) [SWS_FrTrcv_00331].

In den Spezifikationsdaten ist keine funktionale Detailbeschreibung hinterlegt. Interpretation: Anhand der Namensgebung dürfte die Funktion zur Überprüfung dienen, ob an der adressierten Transceiver-Hardware ein Weckereignis (Wakeup) anliegt oder durch diese detektiert wurde [SWS_FrTrcv_00331]. Frage Q-9b8b5d8fb8e4543f (offen)

Nebenläufigkeit und Fehlerbehandlung

Hinsichtlich des Nebenläufigkeitsverhaltens ist FrTrcv_CheckWakeupByTransceiver als reentrant eingestuft [SWS_FrTrcv_00331]. Dies erlaubt parallele Aufrufe für unterschiedliche Transceiver-Instanzen im System. Spezifische Fehlerbehandlungsmechanismen, etwa Prüfungen bezüglich ungültiger Indizes oder Meldungen an das Default Error Tracer (DET) oder Diagnostic Event Manager (DEM), sind in diesem Spezifikationselement nicht definiert [SWS_FrTrcv_00331].

Dieser Nutzungshinweis wurde von einer KI generiert und basiert ausschließlich auf den Spezifikationsangaben des Pakets AUTOSAR R20-11.

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

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: f12db972f543 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion FrTrcv_DisableTransceiverBranch dient der Deaktivierung eines einzelnen, spezifizierten Zweigs an einem adressierten aktiven Stern-Transceiver ([SWS_FrTrcv_00442]). Sie wird über die Header-Datei FrTrcv.h bereitgestellt und besitzt die Service-ID 0x0f ([SWS_FrTrcv_00442]).

Parameter und Aufrufkontext

Der Aufruf erfolgt synchron und ist als nicht reentrant (Non Reentrant) spezifiziert ([SWS_FrTrcv_00442]). Die Funktion erwartet zwei nullbasierte Eingangsparameter:

  • FrTrcv_TrcvIdx: Nullbasierter Index, der den Transceiver im Kontext des Transceiver-Treibers identifiziert, auf den die Operation angewendet werden soll ([SWS_FrTrcv_00442]).
  • FrTrcv_BranchIdx: Nullbasierter Index, der den zu deaktivierenden Zweig des adressierten aktiven Stern-Transceivers bestimmt ([SWS_FrTrcv_00442]).

Rückgabewerte und Fehlerbehandlung

Das Ergebnis der Operation wird über den Rückgabetyp Std_ReturnType signalisiert ([SWS_FrTrcv_00442]):

  • E_OK: Der angegebene Transceiver-Zweig wurde erfolgreich deaktiviert ([SWS_FrTrcv_00442]).
  • E_NOT_OK: Der Parameter FrTrcv_TrcvIdx oder FrTrcv_BranchIdx liegt außerhalb des gültigen Bereichs ([SWS_FrTrcv_00442]). In diesem Fehlerfall bleibt der Zustand des Transceiver-Zweigs unverändert ([SWS_FrTrcv_00442]).

Einschränkungen und Nebenläufigkeit

Da FrTrcv_DisableTransceiverBranch nicht reentrant ist, dürfen Aufrufe nicht ungeschützt nebenläufig ausgeführt werden ([SWS_FrTrcv_00442]). Aufrufer müssen zudem sicherstellen, dass beide Indizes innerhalb der konfigurierten Grenzen liegen, um eine Ablehnung mit unverändertem Zweigzustand zu vermeiden ([SWS_FrTrcv_00442]).

Dieser Nutzungshinweis basiert auf der Spezifikation SWS_FrTrcv_00442 aus Release R20-11.

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 8a9d8eb5de3b Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion FrTrcv_EnableTransceiverBranch dient dazu, einen bestimmten Zweig an einem adressierten Transceiver, typischerweise bei einer aktiven Stern-Topologie (Active Star), zu aktivieren [SWS_FrTrcv_00443].

Parameter und Aufrufkontext

  • FrTrcv_TrcvIdx: Nullbasierter Index des Transceivers im Kontext des Treibers [SWS_FrTrcv_00443].
  • FrTrcv_BranchIdx: Nullbasierter Index des spezifischen Transceiver-Zweigs, der aktiviert werden soll [SWS_FrTrcv_00443].

Rückgabewerte und Fehlerbehandlung

Die Funktion liefert einen Status vom Typ Std_ReturnType zurück [SWS_FrTrcv_00443]:

  • E_OK: Der angegebene Transceiver-Zweig wurde erfolgreich aktiviert [SWS_FrTrcv_00443].
  • E_NOT_OK: Einer der Parameter (FrTrcv_TrcvIdx oder FrTrcv_BranchIdx) liegt außerhalb des gültigen Bereichs; der Zustand des Zweigs bleibt in diesem Fall unverändert [SWS_FrTrcv_00443].

Nebenläufigkeit und Einschränkungen

Der Aufruf ist synchron ausgeführt und als nicht reentrant (Non Reentrant) spezifiziert [SWS_FrTrcv_00443]. Aufrufer müssen daher sicherstellen, dass die Funktion nicht nebenläufig für denselben oder parallele Kontexte aufgerufen wird.

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation generiert.

function FrTrcv_MainFunction [SWS_FrTrcv_00330] 📄 PDF

void FrTrcv_MainFunction (void);

-

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: f615787755a2 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Funktion FrTrcv_MainFunction bildet die periodische Hauptfunktion des Treibers für den FlexRay-Transceiver (Modul FrTrcv) und ist mit der Service-ID 0x0d hinterlegt [SWS_FrTrcv_00330]. Die C-Schnittstelle ist mit der Signatur void FrTrcv_MainFunction (void) als parameterlose Funktion definiert, weshalb beim Aufruf weder Eingabeparameter übergeben werden noch ein Statuswert als Rückgabetyp vorliegt [SWS_FrTrcv_00330].

Als Include-Datei ist für die Funktion der Header SchM_FrTrcv.h vorgegeben [SWS_FrTrcv_00330]. Die Bereitstellung über die Schnittstelle des Schedule Managers begründet die Interpretation, dass der Aufruf im Systembetrieb typischerweise zyklisch durch den BSW-Scheduler im Kontext einer konfigurierten Betriebssystem-Task erfolgt.

In Ermangelung von Parametern und Rückgabewerten dürften anfallende Kontroll- und Überwachungsabläufe des Transceivers autonom modulintern ausgeführt werden. Frage Q-2710fa5096bf4d90 (offen) Zu Aspekten wie Reentranz, Nebenläufigkeit, DET-Fehlerbehandlung oder Wechselwirkungen mit weiteren Treiberschnittstellen enthält die Spezifikation an dieser Stelle keine Festlegungen [SWS_FrTrcv_00330].

Dieser Nutzungshinweis wurde von einer KI generiert und stützt sich ausschließlich auf die Spezifikationsinhalte des Releases R20-11.

type FrTrcv_TrcvModeType [SWS_FrTrcv_00481] 📄 PDF

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 4db36c82b07f Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Der Aufzählungstyp FrTrcv_TrcvModeType spezifiziert gemäß [SWS_FrTrcv_00481] die zulässigen Betriebsmodi eines FlexRay-Transceivers im übergeordneten Betriebszustand ACTIVE. Die typisierte Definition ist integraler Bestandteil des FlexRay-Transceiver-Treibers FrTrcv und wird plattformweit über die Header-Datei Fr_GeneralTypes.h für übergeordnete Softwaremodule bereitgestellt [SWS_FrTrcv_00481].

Die Enumeration umfasst vier definierte Zustände für den Transceiver-Betrieb [SWS_FrTrcv_00481]:

  • FRTRCV_TRCVMODE_NORMAL: Kennzeichnet, dass sich der Transceiver im regulären Betriebszustand NORMAL befindet [SWS_FrTrcv_00481].
  • FRTRCV_TRCVMODE_STANDBY: Kennzeichnet, dass sich der Transceiver im stromsparenden Bereitschaftszustand STANDBY befindet [SWS_FrTrcv_00481].
  • FRTRCV_TRCVMODE_SLEEP: Kennzeichnet, dass sich der Transceiver im Ruhezustand SLEEP befindet [SWS_FrTrcv_00481].
  • FRTRCV_TRCVMODE_RECEIVEONLY: Kennzeichnet, dass sich der Transceiver im Zustand RECEIVEONLY befindet und nur Empfangsvorgänge gestattet [SWS_FrTrcv_00481].

Hinsichtlich Verwendung und Zusammenspiel fungiert der Typ als zentrale Schnittstellengröße zur Steuerung sowie zur Zustandserfassung der FlexRay-Transceiver-Hardware (Interpretation: Die Enumerationswerte dürften als Parameter für Funktionsaufrufe zur Umschaltung des Betriebsmodus sowie zur Rückmeldung bei Statusabfragen dienen, da der Payload keine Funktionssignaturen enthält). Frage Q-205f2b0575c32460 (offen) Spezifische Fehlercodes, Fehlerbehandlungen über DET oder DEM sowie Einschränkungen zur Reentranz sind für diesen elementaren Aufzählungstyp in den Vorgaben nicht definiert [SWS_FrTrcv_00481].

Dieser Nutzungshinweis wurde automatisiert generiert und basiert auf der Spezifikation AUTOSAR CP R20-11.

Implementer's Guide folgt (Komplexität I1)

type FrTrcv_TrcvWUReasonType [SWS_FrTrcv_00074] 📄 PDF

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

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#9d38e0fe
Content hash
9d38e0fe
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayTransceiverDriver.pdf#nameddest=SWS_FrTrcv_00322

Initialisierung und Status

This service returns the version information of this module.

void FrTrcv_GetVersionInfo (Std_VersionInfoType* versioninfo);
FrTrcv_Init function

This service initializes the Fr Trcv.

void FrTrcv_Init (const FrTrcv_ConfigType* ConfigPtr);

Dienste

-

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

Zyklisch

-

void FrTrcv_MainFunction (void);

Typen

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.