DEENESPTFRRUARHIKOZHNL

ADC Driver (Adc)

ModulAdc (ADC Driver)
BSW-Modul-ID123
Standard-Header#include "Adc.h"
SWS-SpezifikationAUTOSAR_SWS_ADCDriver.pdf
ClusterMicrocontroller Abstraction (MCAL)

Modul-GuideKI-GENERIERT

Steuert die Analog-Digital-Wandler des Mikrocontrollers über Kanalgruppen und liefert deren Rohwerte.
KI-GENERIERT ungeprüft Modell: claude-opus-5-5 · Aufwand: high · Temperatur: nicht steuerbar · Prompt: b520b4ed0d83 Herkunft Offene Fragen (5)
Kausaler Anker: R20-11 Gültig ab R20-11 Neu synthetisiert für diesen Spezifikationsstand.
KI-generiertclaude-opus-5-5 · 2026-10-13

Steuert die Analog-Digital-Wandler des Mikrocontrollers über Kanalgruppen und liefert deren Rohwerte.

Der ADC-Treiber kapselt im MCAL die Analog-Digital-Wandler des Mikrocontrollers und wandelt Kanäle stets als konfigurierte Gruppen: software- oder hardwaregetriggert, einmalig oder fortlaufend [SWS_Adc_00515]. Nach Adc_Init starten Nutzer wie die IoHwAb Wandlungen. Den Abschluss erkennen sie per Statusabfrage oder Benachrichtigung, dann lesen sie die Rohwerte mit Adc_ReadGroup oder Adc_GetStreamLastPointer. Optional unterstützt der Treiber zweistufige Leistungszustandswechsel. Wichtigste Randbedingung: Ohne zuvor mit Adc_SetupResultBuffer eingerichteten Ergebnispuffer darf keine Gruppenwandlung starten [SWS_Adc_91000].

Der ADC-Treiber kapselt im MCAL die Analog-Digital-Wandler des Mikrocontrollers. Der EcuM initialisiert ihn mit Adc_Init [SWS_Adc_00365]. Typischer Nutzer ist die IoHwAb; sie erhält nach Abschluss einer Gruppenwandlung die Benachrichtigung IoHwAb_AdcNotification<#groupID> [SWS_Adc_00082]. Vor der ersten Wandlung muss nach jedem Reset mit Adc_SetupResultBuffer ein ausreichend großer Ergebnispuffer eingerichtet werden [SWS_Adc_91000].

kontext swc Sensor/Actuator SWC iohwab IoHwAb (Adc User) swc->iohwab Spannungswert anfordern bswm BswM / Rte bswm->iohwab Leistungsmodus wechseln ecum EcuM adc Adc (MCAL) ecum->adc Adc_Init / Adc_DeInit iohwab->adc Gruppen steuern und lesen, Power-State-APIs adc->iohwab IoHwAb_AdcNotification<#groupID>, IoHwAb_Adc_NotifyReadyForPowerState<#Mode> det DET adc->det Entwicklungs- und Laufzeitfehler hw ADC Conversion Unit adc->hw Wandlung starten / stoppen hw->adc Wandlung abgeschlossen trig HW Trigger Source trig->hw Trigger-Ereignis

Kontextdiagramm: EcuM initialisiert, IoHwAb steuert und wird benachrichtigt, Fehler gehen an den DET, Wandlungen laufen in der Peripherie. Quellen: SWS IoHwAb S. 55, [SWS_Adc_00377]

Der Treiber wandelt Kanäle stets als konfigurierte Gruppen. Jede Gruppe hat drei Einstellungen:

Den Fortschritt zeigt der Gruppenstatus mit ADC_IDLE, ADC_BUSY, ADC_COMPLETED und ADC_STREAM_COMPLETED [SWS_Adc_00513].

gruppenstatus idle ADC_IDLE busy ADC_BUSY idle->busy Adc_StartGroupConversion busy->idle Adc_StopGroupConversion comp ADC_COMPLETED busy->comp Runde aller Kanäle fertig [verbleibende Samples >= 1] scomp ADC_STREAM_COMPLETED busy->scomp Streaming-Puffer voll comp->idle Adc_StopGroupConversion comp->busy Adc_ReadGroup / Adc_GetStreamLastPointer comp->scomp Streaming-Puffer voll scomp->idle Adc_ReadGroup / Adc_GetStreamLastPointer [linear] scomp->idle Adc_StopGroupConversion scomp->busy Adc_ReadGroup / Adc_GetStreamLastPointer [zirkulär]

Zustandsdiagramm: Gruppenstatus bei kontinuierlicher Streaming-Wandlung; ein linearer Puffer endet nach dem Lesen in ADC_IDLE. Quellen: SWS ADC S. 39

Softwaregetriggerte Gruppen startet Adc_StartGroupConversion und stoppt Adc_StopGroupConversion. Hardwaregetriggerte Gruppen werden über Adc_EnableHardwareTrigger und Adc_DisableHardwareTrigger geschaltet [SWS_Adc_00367], [SWS_Adc_91001]. Den Abschluss erkennt der Nutzer per Polling von Adc_GetGroupStatus oder per Benachrichtigung; diese muss er separat aktivieren SWS ADC S. 57. Gelesen werden unskalierte Rohwerte mit Adc_ReadGroup oder Adc_GetStreamLastPointer [SWS_Adc_00369], [SWS_Adc_00375].

Konkurrierende Anforderungen regeln Prioritätsmechanismus, Queuing und Verdrängungsstrategie [SWS_Adc_00522], [SWS_Adc_00523]. Ohne beides weist der Treiber eine zweite Anforderung mit ADC_E_BUSY ab [SWS_Adc_91006]. Optional wechselt der Treiber Leistungszustände in zwei Stufen: Vorbereiten mit Adc_PreparePowerState, Umschalten mit Adc_SetPowerState. Asynchrone Anteile laufen in Adc_Main_PowerTransitionManager [SWS_Adc_00478], [SWS_Adc_00479].

Rolle des ADC-Treibers zwischen IoHwAb und Wandlerhardware

Der ADC-Treiber ist das MCAL-Modul für die Analog-Digital-Wandler des Mikrocontrollers. Adc_Init initialisiert ADC-Hardware-Units und Treiber [SWS_Adc_00365]. Alle weiteren Dienste arbeiten auf Kanalgruppen, die über eine numerische ID (Adc_GroupType) angesprochen werden [SWS_Adc_00507]. Typischer Nutzer ist die I/O Hardware Abstraction: Sie startet im Auftrag einer Sensor-SWC Wandlungen und wird nach Abschluss über IoHwAb_AdcNotification<#groupID> benachrichtigt [SWS_Adc_00082], SWS IoHwAb S. 55. Den Treiber initialisiert der EcuM, für den Adc_Init eine optionale Schnittstelle ist SWS EcuM S. 142.

Der Treiber liegt auf der untersten Architekturebene. Er bietet deshalb keine Callbacks für tiefere Module an SWS ADC S. 79. Die ADC-API greift nicht direkt auf die Hardware-Ergebnisregister zu. Ergebnisse gelangen immer über Puffer der Anwendung zum Nutzer SWS ADC S. 27. Fehler meldet der Treiber über Det_ReportError [SWS_Adc_00377]. Die zitierten Dokumentstellen stammen überwiegend aus R23-11 bis R25-11. Normativ für R20-11 sind die Requirements.

kontext swc Sensor/Actuator SWC iohwab IoHwAb (Adc User) swc->iohwab Spannungswert anfordern bswm BswM / Rte bswm->iohwab Leistungsmodus wechseln ecum EcuM adc Adc (MCAL) ecum->adc Adc_Init / Adc_DeInit iohwab->adc Gruppen steuern und lesen, Power-State-APIs adc->iohwab IoHwAb_AdcNotification<#groupID>, IoHwAb_Adc_NotifyReadyForPowerState<#Mode> det DET adc->det Entwicklungs- und Laufzeitfehler hw ADC Conversion Unit adc->hw Wandlung starten / stoppen hw->adc Wandlung abgeschlossen trig HW Trigger Source trig->hw Trigger-Ereignis

Kontextdiagramm: Der ADC-Treiber vermittelt zwischen EcuM, IoHwAb, DET und der Wandlerperipherie; Benachrichtigungen fließen nur nach oben. Quellen: SWS IoHwAb S. 55, [SWS_Adc_00082], [SWS_Adc_00480], [SWS_Adc_00377]

Die Implementierung muss Konfigurationen mit nicht unterstützten Partitionszuordnungen zurückweisen [SWS_Adc_00531]. Die über AdcKernelEcucPartitionRef referenzierten Partitionen müssen eine Teilmenge der Partitionen von AdcEcucPartitionRef sein [SWS_Adc_CONSTR_00001]. Interpretation: Dahinter dürfte die Aufteilung in einen interruptnahen Kernel-Teil und einen Interface-Teil stehen, wie sie das Memory-Mapping-Beispiel für Adc zeigt SWS MemMap S. 57. Frage Q-bb6e1ddff67fa0c3 (offen)

Lebenszyklus: Initialisierung, Ergebnispuffer und Deinitialisierung

Nach dem Reset befindet sich der Treiber in ADC_UNINIT. Adc_Init führt nach ADC_INIT, Adc_DeInit führt zurück SWS ADC S. 31. Adc_Init ist synchron und nicht reentrant. In Variante PB zeigt ConfigPtr auf das Konfigurationsset, Variante PC verlangt NULL_PTR [SWS_Adc_00365]. Adc_ConfigType ist eine implementierungsspezifische Struktur [SWS_Adc_00505]. Symbolische Namen für Kanäle und Gruppen legt der Konfigurator im Konfigurations-Header an SWS ADC S. 123.

lebenszyklus cluster_init ADC_INIT (Modus je Gruppe konfiguriert) reset Reset uninit ADC_UNINIT reset->uninit oneshot ONE-SHOT uninit->oneshot Adc_Init [ONE_SHOT] cont CONTINUOUS uninit->cont Adc_Init [CONTINUOUS] oneshot->uninit Adc_DeInit cont->uninit Adc_DeInit

Zustandsdiagramm: Adc_Init und Adc_DeInit schalten zwischen ADC_UNINIT und ADC_INIT um; One-Shot und Continuous sind Konfigurationsoptionen je Gruppe. Quellen: SWS ADC S. 31, SWS ADC S. 91

Nach jedem Reset muss der Nutzer vor der ersten Wandlung einer Gruppe mit Adc_SetupResultBuffer die Startadresse des Ergebnispuffers übergeben. Die Anwendung stellt sicher, dass der Puffer alle Ergebnisse der Gruppe aufnehmen kann [SWS_Adc_91000]. Ohne gültig initialisierten Pufferzeiger darf keine Wandlung starten SWS ADC S. 54.

Adc_DeInit bringt alle HW-Units in einen Zustand vergleichbar dem Power-on-Reset [SWS_Adc_00366]. Der Dienst sperrt alle genutzten Interrupts und Benachrichtigungen. Er ist nur zulässig, wenn alle Gruppen in ADC_IDLE sind, und lässt sich über AdcDeInitApi abschalten SWS ADC S. 59.

Kanalgruppen: Trigger, Wandlungs- und Zugriffsmodus

Eine Gruppe bündelt Kanäle [SWS_Adc_00517], [SWS_Adc_00506]. Sie wird auf drei Achsen konfiguriert:

  • Triggerquelle: ADC_TRIGG_SRC_SW oder ADC_TRIGG_SRC_HW [SWS_Adc_00514].
  • Wandlungsmodus: ADC_CONV_MODE_ONESHOT wandelt jeden Kanal genau einmal je Trigger. ADC_CONV_MODE_CONTINUOUS wandelt fortlaufend und ist nur mit Software-Trigger möglich [SWS_Adc_00515].
  • Zugriffsmodus: ADC_ACCESS_MODE_SINGLE oder ADC_ACCESS_MODE_STREAMING [SWS_Adc_00528]. Beim Streaming legt Adc_StreamNumSampleType die Zahl der Runden fest [SWS_Adc_00518]. Ein linearer Puffer stoppt die Wandlung, sobald er voll ist; ein zirkulärer läuft um [SWS_Adc_00519].

Prescaler, Wandlungszeit, Abtastzeit und Auflösung sind keine API-Typen [SWS_Adc_00509], [SWS_Adc_00510], [SWS_Adc_00511], [SWS_Adc_00512]. Für Hardware-Trigger lassen sich Flanke und Timer-Reload einstellen, sofern die Hardware das unterstützt [SWS_Adc_00520], [SWS_Adc_00521]. Ergebnisse sind unskalierte Rohwerte, links- oder rechtsbündig ausgerichtet [SWS_Adc_00508], [SWS_Adc_00525].

Den Fortschritt einer Gruppe beschreibt Adc_StatusType [SWS_Adc_00513]:

  • ADC_IDLE: nicht gestartet.
  • ADC_BUSY: Wandlung läuft.
  • ADC_COMPLETED: eine Runde ist fertig, aber nicht die letzte.
  • ADC_STREAM_COMPLETED: Ergebnispuffer vollständig.

Die Übergänge hängen von der Konfiguration ab SWS ADC S. 39.

gruppenstatus idle ADC_IDLE busy ADC_BUSY idle->busy Adc_StartGroupConversion busy->idle Adc_StopGroupConversion comp ADC_COMPLETED busy->comp Runde aller Kanäle fertig [verbleibende Samples >= 1] scomp ADC_STREAM_COMPLETED busy->scomp Streaming-Puffer voll comp->idle Adc_StopGroupConversion comp->busy Adc_ReadGroup / Adc_GetStreamLastPointer comp->scomp Streaming-Puffer voll scomp->idle Adc_ReadGroup / Adc_GetStreamLastPointer [linear] scomp->idle Adc_StopGroupConversion scomp->busy Adc_ReadGroup / Adc_GetStreamLastPointer [zirkulär]

Zustandsdiagramm: Gruppenstatus bei kontinuierlicher, softwaregetriggerter Wandlung mit Streaming; linearer Puffer endet nach dem Lesen in ADC_IDLE, zirkulärer läuft weiter. Quellen: SWS ADC S. 39, SWS ADC S. 70, [SWS_Adc_00513]

Vom Start bis zum Ergebnis: typische Wandlungsabläufe

Im einfachsten Fall läuft eine One-Shot-Wandlung in drei Schritten ab SWS ADC S. 91:

  1. Adc_StartGroupConversion startet die Gruppe asynchron [SWS_Adc_00367].
  2. Adc_GetGroupStatus fragt den Status ab [SWS_Adc_00374].
  3. Adc_ReadGroup liest die Ergebnisse [SWS_Adc_00369].

Der Start setzt den Pufferzeiger auf die Basisadresse zurück. Die Benachrichtigung aktiviert er nicht automatisch SWS ADC S. 57.

Softwaregetriggerte One-Shot-Wandlung ohne BenachrichtigungAdc UserAdcADC Conversion UnitVoraussetzung nach Reset: Ergebnispuffer einrichtenAdc_SetupResultBuffer(Group1, DataBufferPtr)E_OKAdc_StartGroupConversion(Group1)start conversion(Group1)Rückkehr (asynchron)loopAdc_GetGroupStatus = ADC_BUSYAdc_GetGroupStatus(Group1)ADC_BUSYconversion completed(Group1)Adc_GetGroupStatus(Group1)ADC_STREAM_COMPLETEDAdc_ReadGroup(Group1, DataBufferPtr)E_OK, Rohwerte im Lesepuffer

Sequenzdiagramm: Puffer einrichten, starten, Status pollen, lesen. Quellen: SWS ADC S. 91, [SWS_Adc_91000]

Statt zu pollen, kann der Nutzer vorab Adc_EnableGroupNotification aufrufen [SWS_Adc_91003]. Diesen Dienst schaltet AdcGrpNotifCapability frei SWS ADC S. 67. Bei kontinuierlicher Wandlung meldet der Treiber jede abgeschlossene Runde. Das endet erst mit Adc_StopGroupConversion [SWS_Adc_00368], SWS ADC S. 92.

Softwaregetriggerte kontinuierliche Wandlung mit BenachrichtigungAdc UserAdcADC Conversion UnitAdc_EnableGroupNotification(Group1)RückkehrAdc_StartGroupConversion(Group1)start conversion(Group1)Rückkehrloopje abgeschlossene Wandlungsrundeconversion completed(Group1)Adc_Notification_Group_1()Adc_ReadGroup(Group1, DataBufferPtr)E_OKAdc_StopGroupConversion(Group1)stop conversion(Group1)Rückkehr

Sequenzdiagramm: Pro abgeschlossener Runde folgen Benachrichtigung und Lesen, bis der Nutzer stoppt. Quellen: SWS ADC S. 92, [SWS_Adc_00082]

Hardware-getriggerte Gruppen aktiviert Adc_EnableHardwareTrigger [SWS_Adc_91001]. Danach wandelt die Gruppe bei jedem Trigger-Ereignis SWS ADC S. 62. Adc_DisableHardwareTrigger [SWS_Adc_91002] hat mehrere Wirkungen SWS ADC S. 65:

  • Es entfernt wartende Anforderungen.
  • Es bricht eine laufende Wandlung ab, falls die Hardware das unterstützt.
  • Es deaktiviert die Benachrichtigung.
  • Es setzt die Gruppe auf ADC_IDLE.

Bei linearem Streaming schaltet sich der Trigger ab, sobald der Puffer voll ist SWS ADC S. 95.

Hardwaregetriggerte One-Shot-Wandlung mit BenachrichtigungAdc UserAdcADC Conversion UnitHW Trigger SourceAdc_EnableGroupNotification(Group1)Adc_EnableHardwareTrigger(Group1)enable hardware trigger(Group1)loopHW-Trigger-Ereignis, Benachrichtigung aktivstart conversion()conversion completed()Adc_Notification_Group_1()Adc_ReadGroup(Group1, DataBufferPtr)E_OKAdc_DisableGroupNotification(Group1)loopHW-Trigger-Ereignis, Benachrichtigung inaktivstart conversion()conversion completed()keine BenachrichtigungAdc_DisableHardwareTrigger(Group1)disable hardware trigger source(Group1)Gruppe wechselt nach ADC_IDLE

Sequenzdiagramm: Jedes Trigger-Ereignis löst eine Wandlung aus; gemeldet wird nur bei aktiver Benachrichtigung. Quellen: SWS ADC S. 93

Zum Lesen gibt es zwei Wege:

  • Adc_ReadGroup kopiert die Werte der letzten vollständigen Runde in aufsteigender Kanalreihenfolge. Liegen keine Ergebnisse vor, liefert es E_NOT_OK [SWS_Adc_00369], SWS ADC S. 61.
  • Adc_GetStreamLastPointer liefert die Zahl gültiger Samples je Kanal und einen Zeiger auf das jüngste Ergebnis des ersten Gruppenkanals [SWS_Adc_00375]. Den kanalweisen Pufferaufbau muss der Nutzer dabei selbst beachten SWS ADC S. 27.

Konkurrierende Gruppen: Priorität, Queuing und Verdrängung

Gleichzeitige Anforderungen regelt Adc_PriorityImplementationType: kein Mechanismus, nur Hardware oder Hardware und Software [SWS_Adc_00522]. Prioritäten reichen von 0 (niedrigste) bis 255 [SWS_Adc_00516]. Wird eine Gruppe von einer höher priorisierten unterbrochen, startet ihre Runde neu (ADC_GROUP_REPL_ABORT_RESTART) oder wird fortgesetzt (ADC_GROUP_REPL_SUSPEND_RESUME). Ergebnisse früherer Runden bleiben in beiden Fällen erhalten [SWS_Adc_00523].

Ohne Priorität und ohne Queuing weist der Treiber eine zweite Anforderung mit ADC_E_BUSY ab SWS ADC S. 95. Mit Software-Queuing speichert er sie und startet sie später SWS ADC S. 96. Mit Priorisierung verdrängt die höher priorisierte Gruppe die laufende SWS ADC S. 97, SWS ADC S. 98. Adc_StopGroupConversion entfernt auch eine wartende Start-Anforderung SWS ADC S. 58.

prioritaet start Neue Gruppenanforderung, während eine andere Gruppe wandelt prio Prioritätsmechanismus? (Adc_PriorityImplementationType) start->prio queue Queuing aktiviert? prio->queue ADC_PRIORITY_NONE higher Höhere Priorität als laufende Gruppe? prio->higher ADC_PRIORITY_HW / ADC_PRIORITY_HW_SW busy Anforderung abgewiesen, Laufzeitfehler ADC_E_BUSY queue->busy nein store Anforderung in Queue speichern, Start nach laufender Gruppe queue->store ja higher->store nein repl Laufende Gruppe abbrechen oder unterbrechen (Adc_GroupReplacementType) higher->repl ja conv Gruppe höherer Priorität wandeln repl->conv resume Unterbrochene Gruppe neu starten oder fortsetzen conv->resume

Aktivitätsdiagramm: Ob eine Anforderung bei belegtem Wandler abgewiesen, gespeichert oder vorgezogen wird, hängen von Prioritätsmechanismus und Queuing ab. Quellen: [SWS_Adc_00522], [SWS_Adc_00523], SWS ADC S. 99

Leistungszustände der ADC-Hardware

Die Leistungssteuerung ist optional und auf die ADC-Peripherie beschränkt. Architekturbedingte Randbedingungen erfüllen die oberen Schichten; der Treiber prüft nur die Aufrufreihenfolge SWS ADC S. 39. Adc_PowerStateType kennt ADC_FULL_POWER (0) und die Zustände 1..255 mit abnehmendem Verbrauch [SWS_Adc_00526]. Das Ergebnis jeder Anfrage meldet Adc_PowerStateRequestResultType [SWS_Adc_00527].

Der Wechsel erfolgt in zwei Stufen:

  1. Vorbereiten: Adc_PreparePowerState startet die Vorbereitung [SWS_Adc_00478]. Asynchrone Anteile laufen im zyklischen Adc_Main_PowerTransitionManager [SWS_Adc_00498], [SWS_Adc_00479]. Dessen Periode legt AdcMainSchedulePeriod fest [SWS_Adc_00500]. Im asynchronen Modus meldet er die Bereitschaft über IoHwAb_Adc_NotifyReadyForPowerState<#Mode> [SWS_Adc_00501], [SWS_Adc_00480].
  2. Umschalten: Adc_SetPowerState aktiviert den vorbereiteten Zustand [SWS_Adc_00475]. Vorarbeiten wie ruhende Kanäle obliegen den Nutzern. Implizite Zwischenzustände gibt es nicht SWS ADC S. 81.
Asynchroner Leistungszustandswechsel des ADC über die IoHwAbBswMRteIoHwAbAdcUse Case: VorbereitungRTE/SchMSwitch (Moduswechsel)OnEntryRunnable_LowPowerModeA()IoHwAb_PreparePowerState_LowPowerModeA()Adc_PreparePowerState(PwrSts_1)E_OK, ADC_SERVICE_ACCEPTEDUse Case: Hintergrundverarbeitungloopzyklisch, bis die Vorbereitung abgeschlossen istAdc_Main_PowerTransitionManager()IoHwAb_Adc_NotifyReadyForPowerStateLowPowerModeA()IoHwAb_PollForResults()Use Case: UmschaltenAdc_SetPowerState(&Result)E_OKAdc_GetCurrentPowerState()aktueller LeistungszustandRTE/SchMSwitch(LowPowerModeA_Transition_End)Abschluss des Moduswechsels

Sequenzdiagramm: asynchroner Leistungszustandswechsel, koordiniert durch die IoHwAb. Quellen: SWS IoHwAb S. 57, SWS IoHwAb S. 57, [SWS_Adc_00479]

Für Adc_SetPowerState gilt vermutlich zusätzlich: Der Normalzustand nutzt dieselben Konfigurationscontainer wie Adc_Init, andere Zustände nur transitionsspezifische Umkonfigurationen [SWS_Adc_00483], [SWS_Adc_00484], [SWS_Adc_00485]. Frage (offen) Adc_GetCurrentPowerState und Adc_GetTargetPowerState liefern Ist- und Zielzustand [SWS_Adc_00476], [SWS_Adc_00477]. Ohne laufende Transition stimmen beide überein SWS ADC S. 77.

Verhalten im Fehlerfall

Entwicklungsfehler meldet der Treiber über Det_ReportError [SWS_Adc_00377]. [SWS_Adc_91005] nennt unter anderem:

  • ADC_E_UNINIT
  • ADC_E_ALREADY_INITIALIZED
  • ADC_E_PARAM_POINTER
  • ADC_E_PARAM_GROUP
  • ADC_E_WRONG_CONV_MODE
  • ADC_E_WRONG_TRIGG_SRC
  • ADC_E_NOTIF_CAPABILITY

Zwei Beispiele: Bei unbekannter Gruppe melden die Benachrichtigungsdienste ADC_E_PARAM_GROUP und kehren ohne Wirkung zurück SWS ADC S. 68. Adc_GetVersionInfo prüft seinen Zeiger auf NULL SWS ADC S. 80.

Laufzeitfehler sind ADC_E_BUSY (Wandlung läuft, Trigger aktiv oder Anforderung schon in der Queue), ADC_E_IDLE, ADC_E_NOT_DISENGAGED und ADC_E_TRANSITION_NOT_POSSIBLE [SWS_Adc_91006]. Dienste mit Rückgabewert melden Misserfolg zusätzlich mit E_NOT_OK, etwa Adc_ReadGroup und Adc_SetupResultBuffer [SWS_Adc_00369], [SWS_Adc_91000].

Für die Leistungssteuerung gelten eigene Fehler:

Result unterscheidet außerdem ADC_SEQUENCE_ERROR und ADC_HW_FAILURE [SWS_Adc_00527]. Vor der Initialisierung kehrt Adc_Main_PowerTransitionManager ohne DET-Meldung zurück [SWS_Adc_00502].

Weiterführende Detailbelege

KI-generierter Modul-Leitfaden auf Basis der Requirements aus R20-11 und zugeordneter, teils späteren Releases entstammender Dokumentstellen. Maßgeblich bleibt die Spezifikation.

ADC Driver (Adc)

Provides initialization and conversion services for analog-to-digital converters.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

function Adc_Init [SWS_Adc_00365] 📄 PDF

void Adc_Init (const Adc_ConfigType* ConfigPtr);

Initializes the ADC hardware units and driver.

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

Die synchrone Funktion Adc_Init (Service-ID 0x00) dient der initialen Konfiguration und Inbetriebnahme aller ADC-Hardware-Einheiten sowie des ADC-Treibers gemäß [SWS_Adc_00365]. Die Schnittstelle wird über die Header-Datei Adc.h bereitgestellt und besitzt keinen Rückgabewert.

Parameter und Konfigurationsvarianten

Die Übergabe der Konfigurationsdaten erfolgt über den Zeigerparameter ConfigPtr vom Typ const Adc_ConfigType* [SWS_Adc_00365]. Das geforderte Argument hängt von der gewählten Build-Variante ab:

  • Bei Verwendung der Post-Build-Konfiguration (Variant PB) muss ConfigPtr auf die entsprechende Datenstruktur mit den Initialisierungswerten verweisen.
  • Wird die Vorkompilierungsvariante (Variant PC) eingesetzt, verlangt die Schnittstelle explizit die Übergabe eines NULL_PTR [SWS_Adc_00365].

Nebenläufigkeit und Systemintegration

Die Funktion Adc_Init ist als nicht reentrant (Non Reentrant) spezifiziert [SWS_Adc_00365]. Interpretation: Da Hardware-Einheiten global konfiguriert werden und keine Reentranz vorliegt, dürfte der Aufruf typischerweise zentral während der Systeminitialisierung erfolgen, bevor andere Modulfunktionen oder Wandlungen angestoßen werden. Frage Q-a82e9204ae7a5ab7 (offen)

Hinsichtlich des Energie-Managements besteht eine direkte Kopplung zu verwandten Anforderungen: Falls im Betrieb der normale Energiezustand (normal Power State) angefordert wird, muss die entsprechende API auf Konfigurationsparameter zurückgreifen, die sich in denselben Containern wie die Initialisierungsparameter von Adc_Init befinden [SWS_Adc_00483].

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

Implementer's Guide folgt (Komplexität I2)

function Adc_SetupResultBuffer [SWS_Adc_91000] 📄 PDF

Std_ReturnType Adc_SetupResultBuffer (Adc_GroupType Group, Adc_ValueGroupType* DataBufferPtr);

Initializes ADC driver with the group specific result buffer start address where the conversion results will be stored. The applicatio n has to ensure that the application buffer, where Data Buffer Ptr points to, can hold all the conversion results of the specified group. The initialization with Adc_ Setup Result Buffer is required after reset, before a group conversion can be started.

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

Die Funktion Adc_SetupResultBuffer initialisiert den ADC-Treiber mit der Startadresse eines gruppenspezifischen Puffers zur Speicherung von Konvertierungsergebnissen [SWS_Adc_91000]. Dieser Aufruf ist nach einem Reset zwingend erforderlich, bevor eine Gruppenkonvertierung gestartet werden kann [SWS_Adc_91000].

Parameter und Aufrufkontext

  • Group: Numerische Kennung der angeforderten ADC-Kanalgruppe [SWS_Adc_91000].
  • DataBufferPtr: Zeiger auf den Datenpuffer (Typ Adc_ValueGroupType*), in dem die Ergebnisse abgelegt werden [SWS_Adc_91000].

Die Funktion ist als reentrant und asynchron deklariert und steht über die Header-Datei Adc.h (Service-ID 0x0c) zur Verfügung [SWS_Adc_91000].

Rückgabewerte und Fehlerbehandlung

Der Rückgabetyp ist Std_ReturnType [SWS_Adc_91000]:

  • E_OK: Der Zeiger auf den Ergebnis-Puffer wurde erfolgreich initialisiert [SWS_Adc_91000].
  • E_NOT_OK: Die Operation ist fehlgeschlagen oder es ist ein Entwicklungsfehler aufgetreten [SWS_Adc_91000].

Pflichten der Applikation

Die aufrufende Applikation muss gewährleisten, dass der Puffer, auf den DataBufferPtr verweist, ausreichend Speicherplatz für sämtliche Konvertierungsergebnisse der angegebenen Kanalgruppe bereitstellt [SWS_Adc_91000].

Dieser Nutzungshinweis wurde automatisch auf Basis der Spezifikation von AUTOSAR R20-11 generiert.

Implementer's Guide folgt (Komplexität I2)

function Adc_DeInit [SWS_Adc_00366] 📄 PDF

void Adc_DeInit (void);

Returns all ADC HW Units to a state comparable to their power on reset state.

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

Die Funktion Adc_DeInit dient der Deinitialisierung des ADC-Treibers und überführt alle zugehörigen ADC-Hardware-Einheiten in einen Zustand, der dem Zustand unmittelbar nach einem Power-on-Reset vergleichbar ist [SWS_Adc_00366]. Sie stellt damit den Ausgangszustand der Hardware vor einer erneuten Initialisierung wieder her.

Aufruf und Schnittstelle

Die Funktion ist in der Header-Datei Adc.h deklariert und besitzt die Service-ID 0x01 [SWS_Adc_00366]. Der Aufruf erfolgt synchron (Synchronous) und erfordert keinerlei Parameter (weder In, InOut noch Out); ein Rückgabewert wird ebenfalls nicht bereitgestellt (Signatur void Adc_DeInit(void)) [SWS_Adc_00366]. Es werden dabei weder Eingabeparameter noch Rückgabewerte ausgewertet oder erzeugt. Aufgrund der synchronen Semantik blockiert die Ausführung den Aufrufer, bis das Zurücksetzen aller Einheiten abgeschlossen ist [SWS_Adc_00366].

Nebenläufigkeit und Einschränkungen

Hinsichtlich der Nebenläufigkeit ist die Funktion als nicht reentrant (Non Reentrant) spezifiziert [SWS_Adc_00366]. Daraus ergibt sich die Interpretation: Gleichzeitige oder überlappende Aufrufe von Adc_DeInit aus mehreren Tasks oder unterschiedlichen Software-Schichten sind nicht zulässig und müssen vom Aufrufer koordiniert und vermieden werden.

Da Adc_DeInit alle ADC-Hardware-Einheiten vollständig in den Reset-Zustand zurückversetzt [SWS_Adc_00366], dürfte vor dem Aufruf sicherzustellen sein, dass keine Mess- oder Wandlungsprozesse mehr aktiv sind, um undefiniertes Verhalten der Hardware zu verhindern. Frage Q-15bfa2b822826786 (offen)

Dieser Text wurde von einer KI generiert und dient als orientierende Dokumentationshilfe.

Implementer's Guide folgt (Komplexität I2)

function Adc_StartGroupConversion [SWS_Adc_00367] 📄 PDF

void Adc_StartGroupConversion (Adc_GroupType Group);

Starts the conversion of all channels of the requested ADC Channel group.

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

Verwendung

Die Funktion Adc_StartGroupConversion startet die Wandlung aller Kanäle der übergebenen ADC-Kanalgruppe gemäß [SWS_Adc_00367]. Als Parameter wird die numerische Gruppen-ID Group vom Typ Adc_GroupType übergeben. Die Funktion hat keinen Rückgabewert (void) und arbeitet asynchron ([SWS_Adc_00367]).

Nebenläufigkeit und Einschränkungen

Laut Spezifikation ist der Dienst reentrant eingestuft ([SWS_Adc_00367]). Interpretation: Dies dürfte bedeuten, dass die Funktion nebenläufig für unterschiedliche Kanalgruppen aufgerufen werden kann. Frage Q-8283232f222f7b0a (offen) Da der Start asynchron erfolgt, kehrt der Aufruf vor Abschluss der eigentlichen Wandlung zurück.

Fehlerbehandlung und Zusammenspiel

Der Dienst ist über den Header Adc.h verfügbar und hat die Service-ID 0x02 ([SWS_Adc_00367]). Spezifische DET- oder DEM-Fehlercodes sind im vorliegenden Payload nicht dokumentiert.

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

Implementer's Guide folgt (Komplexität I2)

function Adc_StopGroupConversion [SWS_Adc_00368] 📄 PDF

void Adc_StopGroupConversion (Adc_GroupType Group);

Stops the conversion of the requested ADC Channel group.

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

Die synchrone Funktion Adc_StopGroupConversion beendet die laufende Konvertierung einer angeforderten ADC-Kanalgruppe [SWS_Adc_00368]. Die Schnittstelle ist im Header Adc.h deklariert und unter der Service-ID 0x03 spezifiziert [SWS_Adc_00368].

Als einziger Parameter wird der Eingangswert Group vom Typ Adc_GroupType übergeben, welcher die numerische ID der jeweiligen ADC-Kanalgruppe repräsentiert [SWS_Adc_00368]. Der Aufruf besitzt keinen Rückgabewert (void) und verwendet weder Ein-/Ausgangs- noch reine Ausgangsparameter [SWS_Adc_00368].

Hinsichtlich des Nebenläufigkeitsverhaltens ist der Dienst als reentrant eingestuft und weist eine synchrone Ausführungssemantik auf [SWS_Adc_00368]. Parallele Aufrufe der Schnittstelle sind somit zulässig. Das synchrone Verhalten impliziert, dass die Operation unmittelbar mit dem Funktionsaufruf abgeschlossen wird [SWS_Adc_00368].

Interpretation: Ein Aufruf dürfte funktional voraussetzen, dass für die betreffende Gruppe zuvor eine Konvertierung initiiert wurde, um das Stoppen durchführen zu können. Frage Q-644ca5344ab849b0 (offen) Spezifische Fehlercodes, Rückgabewerte zur Fehleranzeige oder Meldungen an Entwicklungsendgeräte (DET/DEM) sind im vorliegenden Spezifikationsauszug für diesen Dienst nicht ausgewiesen [SWS_Adc_00368].

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

Implementer's Guide folgt (Komplexität I1)

function Adc_ReadGroup [SWS_Adc_00369] 📄 PDF

Std_ReturnType Adc_ReadGroup (Adc_GroupType Group, Adc_ValueGroupType* DataBufferPtr);

Reads the group conversion result of the last completed conversion round of the requested group and stores the channe l values starting at the Data Buffer Ptr address. The group channel values are stored in ascending channel number order ( in contrast to the storage layout of the result buffer if streaming access is configured).

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

Die synchrone Funktion Adc_ReadGroup dient dem Auslesen der Konvertierungsergebnisse einer ADC-Kanalgruppe aus der zuletzt abgeschlossenen Wandlungsrunde ([SWS_Adc_00369]). Sie ist über die Header-Datei Adc.h verfügbar und besitzt die Service-ID 0x04 ([SWS_Adc_00369]).

Parameter und Pufferlayout

  • Group: Numerische Kennung der angeforderten ADC-Kanalgruppe ([SWS_Adc_00369]).
  • DataBufferPtr: Zeiger auf den Zielpuffer (Adc_ValueGroupType*), ab dessen Adresse die Wandlungsergebnisse aller Kanäle der Gruppe abgelegt werden ([SWS_Adc_00369]).

Die Speicherung der Kanalwerte erfolgt ab der Zieladresse in aufsteigender Kanalreihenfolge ([SWS_Adc_00369]). Dieses Speicherlayout unterscheidet sich explizit von der Pufferanordnung bei konfiguriertem Streaming-Zugriff ([SWS_Adc_00369]). Interpretation: Der Aufrufer dürfte dafür verantwortlich sein, einen ausreichend dimensionierten Puffer für alle Kanäle der Gruppe bereitzustellen. Frage Q-f22a12a6c7ab0eb3 (offen)

Rückgabewerte und Fehlerbehandlung

Der Rückgabewert vom Typ Std_ReturnType signalisiert den Status der Leseoperation ([SWS_Adc_00369]):

  • E_OK: Ergebnisse sind verfügbar und wurden erfolgreich in den Datenpuffer geschrieben ([SWS_Adc_00369]).
  • E_NOT_OK: Es sind keine Ergebnisse verfügbar oder es ist ein Entwicklungsfehler aufgetreten ([SWS_Adc_00369]).

Nebenläufigkeit

Die Funktion ist als reentrant spezifiziert ([SWS_Adc_00369]). Sie kann somit parallel ausgeführt werden, solange für gleichzeitige Zugriffe getrennte Pufferbereiche verwendet werden.

Dieser Text wurde automatisch anhand der Spezifikation AUTOSAR CP R20-11 generiert.

Implementer's Guide folgt (Komplexität I2)

function Adc_EnableHardwareTrigger [SWS_Adc_91001] 📄 PDF

void Adc_EnableHardwareTrigger (Adc_GroupType Group);

Enables the hardware trigger for the requested ADC Channel group.

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

Verwendung und Parameter

Die Funktion Adc_EnableHardwareTrigger aktiviert den Hardware-Trigger für eine konfigurierte ADC-Kanalgruppe [SWS_Adc_91001]. Sie ist als Dienst mit der Service-ID 0x05 im Modul Adc definiert und über die Header-Datei Adc.h verfügbar [SWS_Adc_91001].

  • Eingangsparameter: Über den Parameter Group vom Typ Adc_GroupType wird die numerische ID der gewünschten ADC-Kanalgruppe übergeben [SWS_Adc_91001]. Zusätzliche Ein-/Ausgabe- oder Ausgabeparameter existieren nicht [SWS_Adc_91001].
  • Rückgabewert: Die Schnittstelle liefert keinen Rückgabewert (void) [SWS_Adc_91001].
  • Asynchrone Semantik: Das Ausführungsverhalten ist als asynchron festgelegt [SWS_Adc_91001]. Der Aufruf schaltet die Triggerung frei, während die tatsächliche Wandlung der Kanäle erst durch nachfolgende Hardware-Ereignisse angestoßen wird.

Nebenläufigkeit

Der Treiber spezifiziert Adc_EnableHardwareTrigger als reentrant [SWS_Adc_91001]. Interpretation: Die Reentranz dürfte sich in erster Linie auf den gleichzeitigen Aufruf mit disjunkten Kanalgruppen beziehen, da der Hardware-Trigger pro Kanalgruppe aktiviert wird. Frage Q-5750576df9f0284d (offen)

Dieser Nutzungshinweis basiert auf der Spezifikation AUTOSAR Classic R20-11.

Implementer's Guide folgt (Komplexität I1)

function Adc_DisableHardwareTrigger [SWS_Adc_91002] 📄 PDF

void Adc_DisableHardwareTrigger (Adc_GroupType Group);

Disables the hardware trigger for the requested ADC Channel group.

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

Die Funktion Adc_DisableHardwareTrigger dient dazu, die Hardware-Triggerung für eine angeforderte ADC-Kanalgruppe zu deaktivieren [SWS_Adc_91002].

Verwendung und Semantik

  • Parameter: Übergeben wird der Parameter Group vom Typ Adc_GroupType, welcher die numerische ID der gewünschten ADC-Kanalgruppe spezifiziert [SWS_Adc_91002].
  • Rückgabewert: Die Funktion besitzt keinen Rückgabewert (void) [SWS_Adc_91002].
  • Ausführungsverhalten: Der Aufruf wird als asynchron eingestuft (Sync/Async: Asynchronous) [SWS_Adc_91002]. Dies bedeutet vermutlich, dass das tatsächliche Stoppen oder Entkoppeln des Hardware-Ereignisses hardwareseitig zeitversetzt wirksam werden kann. Frage Q-b0e613163b254242 (offen)

Nebenläufigkeit und Einbindung

Die Schnittstelle ist als reentrant deklariert (Reentrancy: Reentrant) und wird über die Header-Datei Adc.h bereitgestellt; ihre Service-ID lautet 0x06 [SWS_Adc_91002]. Spezifische Fehlercodes, Aufrufkontexte oder DET-/DEM-Meldungen sind im vorliegenden Spezifikationsauszug nicht enthalten.

Dieser Text wurde automatisch generiert. Alle Angaben stützen sich ausschließlich auf die Spezifikation von AUTOSAR Classic R20-11.

Implementer's Guide folgt (Komplexität I1)

function Adc_EnableGroupNotification [SWS_Adc_91003] 📄 PDF

void Adc_EnableGroupNotification (Adc_GroupType Group);

Enables the notification mechanism for the requested ADC Channel group.

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

Die Funktion Adc_EnableGroupNotification dient dazu, den Benachrichtigungsmechanismus für eine angeforderte ADC-Kanalgruppe zu aktivieren [SWS_Adc_91003]. Die Deklaration dieser Schnittstelle wird über die Header-Datei Adc.h für Anwender bereitgestellt [SWS_Adc_91003].

Als einziger Eingabeparameter wird Group vom Datentyp Adc_GroupType übergeben, welcher die numerische ID der angeforderten ADC-Kanalgruppe bestimmt [SWS_Adc_91003]. Die Funktion besitzt weder Ein-/Ausgabeparameter noch Ausgabeparameter und liefert keinen Rückgabewert (void) zurück [SWS_Adc_91003]. Der Dienst ist unter der Service-ID 0x07 geführt und weist eine asynchrone Ausführungssemantik auf [SWS_Adc_91003].

Bezüglich des Nebenläufigkeitsverhaltens ist Adc_EnableGroupNotification als reentrant spezifiziert [SWS_Adc_91003]. Mehrere parallele Aufrufe sind demnach zulässig. Die asynchrone Einstufung der Ausführung dürfte bedeuten, dass die Aktivierung der Gruppenbenachrichtigung im Treiber vorgemerkt oder im Hintergrund umgesetzt wird, ohne den aufrufenden Kontext während der Abwicklung zu blockieren [SWS_Adc_91003]. Frage Q-bae8fba7810fa269 (offen)

Zu spezifischen Entwicklungs- oder Produktionsfehlern (DET oder DEM) sowie zu exakten Aufrufbedingungen oder Task-Kontexten trifft der vorliegende Spezifikationsauszug keine weiteren Festlegungen.

Dieser Verwendungshinweis basiert ausschließlich auf den Spezifikationsvorgaben des AUTOSAR-Releases R20-11.

Implementer's Guide folgt (Komplexität I1)

function Adc_DisableGroupNotification [SWS_Adc_91004] 📄 PDF

void Adc_DisableGroupNotification (Adc_GroupType Group);

Disables the notification mechanism for the requested ADC Channel group.

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

Die im Header Adc.h deklarierte Funktion Adc_DisableGroupNotification dient im ADC-Treiber dazu, den Benachrichtigungsmechanismus für eine angeforderte ADC-Kanalgruppe gezielt abzuschalten [SWS_Adc_91004]. Der Dienst besitzt die Service-ID 0x08 und ist mit der Signatur void Adc_DisableGroupNotification (Adc_GroupType Group) spezifiziert [SWS_Adc_91004].

Parameter und Schnittstelle

Für die Ausführung der Funktion ist die Übergabe eines einzelnen Eingangsparameters festgelegt:

  • Group: Übergibt als numerische Kennung vom Typ Adc_GroupType die eindeutige ID der gewünschten ADC-Kanalgruppe, deren Benachrichtigung deaktiviert werden soll [SWS_Adc_91004].

Die Funktion liefert keinen Rückgabewert (void) an den Aufrufer zurück [SWS_Adc_91004]. Zudem werden laut Spezifikation weder kombinierte Ein-/Ausgabeparameter (inout) noch reine Ausgabeparameter (out) verwendet [SWS_Adc_91004].

Ausführungsverhalten und Nebenläufigkeit

Hinsichtlich des Nebenläufigkeitsverhaltens ist Adc_DisableGroupNotification als reentrant eingestuft [SWS_Adc_91004]. Dies gestattet grundsätzlich den parallelen oder unterbrechenden Aufruf des Dienstes durch verschiedene Programmkontexte [SWS_Adc_91004].

Bezüglich der zeitlichen Synchronisation ist die Funktion als asynchron klassifiziert [SWS_Adc_91004]. Interpretation: Da das Zeitverhalten explizit als asynchron deklariert ist, dürfte das Abschalten des Benachrichtigungsmechanismus treiberintern oder in der ADC-Hardware im Hintergrund erfolgen, ohne dass der aufrufende Kontext bis zum vollständigen Abschluss blockiert wird. Frage Q-a1a30a254aa96655 (offen)

Dieser Nutzungshinweis wurde automatisiert generiert und dient als ergänzende Orientierungshilfe zur Spezifikation.

Implementer's Guide folgt (Komplexität I1)

function Adc_GetStreamLastPointer [SWS_Adc_00375] 📄 PDF

Adc_StreamNumSampleType Adc_GetStreamLastPointer (Adc_GroupType Group, Adc_ValueGroupType* * PtrToSamplePtr);

Returns the number of valid samples per channel, stored in the result buffer. Reads a pointer, pointing to a position in the group result buffer. With the pointer position, the results of all group channels of the last completed conversion round can be acc essed. With the pointer and the return value, all valid group conversion results can be accessed (the user has to take the layout of the result buffer into account).

function Adc_SetPowerState [SWS_Adc_00475] 📄 PDF

Std_ReturnType Adc_SetPowerState (Adc_PowerStateRequestResultType* Result);

This API configures the Adc module so that it enters the already prepared power state, chosen between a predefined set of configured ones.

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

Die synchrone Service-Funktion Adc_SetPowerState versetzt das ADC-Modul in einen zuvor vorbereiteten Energiezustand, der aus einer vorkonfigurierten Menge ausgewählt wurde [SWS_Adc_00475].

Verwendung

Die Funktion ist über den Header Adc.h verfügbar und besitzt die Service-ID 0x10 [SWS_Adc_00475]. Sie nimmt keine Eingangsparameter entgegen, sondern übergibt das Ergebnis über den Ausgabeparameter Result vom Typ Adc_PowerStateRequestResultType* [SWS_Adc_00475]. Bei erfolgreicher Aktivierung des Energiezustands gibt die Funktion E_OK zurück und signalisiert über Result den Zustand ADC_SERVICE_ACCEPTED [SWS_Adc_00475].

Fehlerbehandlung

Wird die Anforderung abgewiesen, liefert der Aufruf den Rückgabewert E_NOT_OK [SWS_Adc_00475]. Das Modul differenziert dabei im Parameter Result zwischen drei spezifischen Fehlerursachen:

  • ADC_NOT_INIT: Das ADC-Modul ist zum Aufrufzeitpunkt noch nicht initialisiert [SWS_Adc_00475].
  • ADC_SEQUENCE_ERROR: Es liegt eine fehlerhafte Reihenfolge der API-Aufrufe vor [SWS_Adc_00475].
  • ADC_HW_FAILURE: Ein aufgetretener Hardware-Fehler verhindert das Einnehmen des angeforderten Zustands [SWS_Adc_00475].

Nebenläufigkeit und Einschränkungen

Adc_SetPowerState ist nicht reentrant (Non Reentrant) und blockiert den Aufrufer bis zur synchronen Übernahme des Zustands [SWS_Adc_00475]. Als Interpretation gilt, dass vor dem Aufruf zwingend ein Vorbereitungsschritt für den Zielzustand ausgeführt worden sein muss, da die Funktion explizit einen bereits vorbereiteten Zustand anfordert und Reihenfolgefehler mit ADC_SEQUENCE_ERROR abweist [SWS_Adc_00475].

Dieser Text wurde von einer KI auf Basis der Spezifikation AUTOSAR R20-11 generiert.

Implementer's Guide folgt (Komplexität I2)

function Adc_PreparePowerState [SWS_Adc_00478] 📄 PDF

Std_ReturnType Adc_PreparePowerState (Adc_PowerStateType PowerState, Adc_PowerStateRequestResultType* Result);

This API starts the needed process to allow the ADC HW module to enter the AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_ADCDriver requested power state.

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

Verwendung und Aufrufkontext

Die synchrone Funktion Adc_PreparePowerState stößt den erforderlichen Vorbereitungsprozess an, um das ADC-Hardwaremodul in einen angeforderten Energiezustand zu überführen [SWS_Adc_00478]. Als Parameter werden der gewünschte Zielzustand PowerState sowie ein Zeiger Result übergeben, über den der Status der Anforderung zurückgemeldet wird [SWS_Adc_00478]. Der Rückgabewert signalisiert mit E_OK, dass der Vorbereitungsprozess gestartet wurde, oder mit E_NOT_OK, dass der Dienst abgewiesen wurde [SWS_Adc_00478].

Ergebnis- und Fehlerbehandlung

Im Erfolgsfall (E_OK) liefert der Ausgabeparameter Result den Statuswert ADC_SERVICE_ACCEPTED [SWS_Adc_00478]. Wurde der Dienst mit E_NOT_OK abgewiesen, spezifiziert Result die genaue Ursache [SWS_Adc_00478]:

  • ADC_NOT_INIT: Das ADC-Modul ist noch nicht initialisiert [SWS_Adc_00478].
  • ADC_SEQUENCE_ERROR: Unzulässige Aufrufsequenz, da der aktuelle Zustand bereits dem Zielzustand entspricht [SWS_Adc_00478].
  • ADC_POWER_STATE_NOT_SUPP: Der angeforderte Energiezustand wird vom Modul nicht unterstützt [SWS_Adc_00478].
  • ADC_TRANS_NOT_POSSIBLE: Ein direkter Übergang ist nicht möglich oder die Hardware-Peripherie ist noch beschäftigt [SWS_Adc_00478].

Nebenläufigkeit und Zusammenspiel

Die Funktion ist als nicht reentrant spezifiziert [SWS_Adc_00478]. Daher muss der Aufrufer sicherstellen, dass Aufrufe sequenziell und ohne Überlappung erfolgen. Aufrufer dürften laufende Wandlungen vorab abschließen oder stoppen müssen, da eine aktive Hardware-Peripherie zur Abweisung führt. Frage Q-210c59a46a90d781 (offen) Nach erfolgreicher Vorbereitung durch Adc_PreparePowerState werden nachfolgende, nicht unmittelbar wirksame Aktionen zur Finalisierung des Zustandsübergangs über eine zugehörige Folge-API ausgeführt [SWS_Adc_00499].

Dieser Nutzungshinweis wurde automatisch generiert und basiert ausschließlich auf den Spezifikationsdaten aus SWS_Adc_00478 und SWS_Adc_00499.

Implementer's Guide folgt (Komplexität I2)

function Adc_Main_PowerTransitionManager [SWS_Adc_00479] 📄 PDF

void Adc_Main_PowerTransitionManager (void);

This API is cyclically called and supervises the power state transitions, checking for the readiness of the module and issuing the callbacks Io Hw Ab_ Adc_ Notify Ready For Power State (see Adc Power State Ready Cb k Ref configuration parameter).

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

Verwendung und Aufrufkontext

Die Hauptfunktion Adc_Main_PowerTransitionManager dient der zyklischen Überwachung und Abwicklung von Energiezustandsübergängen im ADC-Modul [SWS_Adc_00479]. Sie besitzt die Signatur void Adc_Main_PowerTransitionManager(void), nimmt keine Übergabeparameter entgegen und liefert keinen Rückgabewert zurück [SWS_Adc_00479]. Die Funktion wird zyklisch aufgerufen und über den Header SchM_Adc.h deklariert [SWS_Adc_00479]. Der Aufruf dürfte daher typischerweise im zyklischen Task-Kontext des BSW-Schedulers (SchM) erfolgen. Frage Q-4fc01e5bed5b3b57 (offen)

Zustandsüberwachung und asynchrone Abläufe

Während der zyklischen Ausführung prüft die Funktion fortlaufend die Betriebsbereitschaft des Moduls für den angeforderten Energiezustand [SWS_Adc_00479]. Sobald die Modulbereitschaft festgestellt wird, setzt sie die Benachrichtigungs-Callbacks IoHwAb_Adc_NotifyReadyForPowerState<Mode> ab, welche über den Konfigurationsparameter AdcPowerStateReadyCbkRef referenziert sind [SWS_Adc_00479]. Sämtliche asynchronen Operationen, die zum Erreichen des Ziel-Energiezustands erforderlich sind, können im Hintergrund im Ausführungskontext von Adc_Main_PowerTransitionManager abgearbeitet werden [SWS_Adc_00498].

Fehlerbehandlung und Randbedingungen

Falls ein angeforderter Energiezustand nicht direkt aus dem aktuellen Energiezustand erreicht werden kann, meldet die API den Laufzeitfehler ADC_E_TRANSITION_NOT_POSSIBLE [SWS_Adc_00498]. Durch die Auslagerung längerer Übergangsprozesse in diese zyklische Manager-Funktion werden übergeordnete Aufrufer nicht blockiert, während das ADC-Modul den Zustandswechsel im Hintergrund vervollständigt [SWS_Adc_00498].

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

Implementer's Guide folgt (Komplexität I1)

function IoHwAb_Adc_NotifyReadyForPower [SWS_Adc_00480] 📄 PDF

void IoHwAb_Adc_NotifyReadyForPowerState<#Mode> (void);

The API shall be invoked by the ADC Driver when the requested power state preparation for mode <#Mode> is completed.

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

Die Funktion IoHwAb_Adc_NotifyReadyForPower dient als Benachrichtigungsschnittstelle der I/O-Hardware-Abstraktion und wird vom ADC-Treiber aufgerufen, sobald die Vorbereitung für einen angeforderten Energiezustand im Modus <#Mode> abgeschlossen ist [SWS_Adc_00480]. Die Deklaration dieser Schnittstelle wird über die Header-Datei IoHwAb_Adc.h bereitgestellt [SWS_Adc_00480].

Aufrufkontext und Semantik

Für den Aufruf gelten gemäß Spezifikation folgende Rahmenbedingungen [SWS_Adc_00480]:

  • Parameter und Rückgabewert: Die Funktion besitzt weder Eingabe-, Ausgabe- noch Ein-/Ausgabe-Parameter und liefert keinen Rückgabewert (void) [SWS_Adc_00480].
  • Synchronität: Das Ausführungsverhalten ist als synchron definiert [SWS_Adc_00480].
  • Reentranz: Die Funktion ist als nicht reentrant (Non Reentrant) eingestuft [SWS_Adc_00480]. Aufrufer müssen daher sicherstellen, dass Aufrufe sequenziell erfolgen und nicht nebenläufig überlagert werden.

Zusammenspiel und Fehlerbehandlung

In den Spezifikationsdaten sind keine Fehlercodes oder Benachrichtigungen an DET oder DEM hinterlegt [SWS_Adc_00480]. Die Syntaxangabe IoHwAb_Adc_NotifyReadyForPowerState<#Mode> dürfte darauf hindeuten, dass der Bezeichner je nach konfiguriertem Power-Modus spezifisch erzeugt wird. Frage Q-9e9c969f8a41d0de (offen) Die Funktion fungiert vermutlich als Callback des Treibers, um dem übergeordneten Power-Management den Bereitschaftszustand für den Wechsel anzuzeigen.

Dieser Text wurde von einer KI auf Basis der Spezifikation SWS_Adc_00480 generiert.

Implementer's Guide folgt (Komplexität I1)

type Adc_ConfigType [SWS_Adc_00505] 📄 PDF

Data structure containing the set of configuration parameters required for initializing the ADC Driver and ADC HW Unit(s).

type Adc_ValueGroupType [SWS_Adc_00508] 📄 PDF

Type for reading the converted values of a channel group (raw, without further scaling, alignment according precompile switch ADC_ RESULT_ ALIGNMENT).

type Adc_ConversionTimeType [SWS_Adc_00510] 📄 PDF

Type of conversion time, i.e. the time during which the sampled analogue value is converted into digital representation. (This is not an API type).

type Adc_SamplingTimeType [SWS_Adc_00511] 📄 PDF

Type of sampling time, i.e. the time during which the value is sampled, (in clock - cycles). (This is not an API type).

type Adc_ResolutionType [SWS_Adc_00512] 📄 PDF

Type of channel resolution in number of bits. (This is not an API type).

type Adc_StatusType [SWS_Adc_00513] 📄 PDF

Current status of the conversion of the requested ADC Channel group.

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

Der Aufzählungstyp Adc_StatusType repräsentiert gemäß [SWS_Adc_00513] den aktuellen Konvertierungsstatus einer angeforderten ADC-Kanalgruppe und wird über den Header Adc.h bereitgestellt.

Die Enumerationswerte spiegeln den Fortschritt der Analog-Digital-Wandlung sowie die Verfügbarkeit von Ergebnissen wider [SWS_Adc_00513]:

  • ADC_IDLE (0x00): Die Wandlung der angegebenen Gruppe wurde noch nicht gestartet; es liegen keine Messergebnisse vor [SWS_Adc_00513].
  • ADC_BUSY (0x01): Die Konvertierung der Gruppe wurde gestartet und läuft aktuell noch; bisher ist kein Ergebnis verfügbar [SWS_Adc_00513].
  • ADC_COMPLETED (0x02): Eine Wandlungsrunde (die nicht die finale ist) der Gruppe wurde abgeschlossen; für alle Kanäle der Gruppe ist ein Ergebnis verfügbar [SWS_Adc_00513].
  • ADC_STREAM_COMPLETED (0x03): Der Ergebnis-Puffer ist vollständig gefüllt; für jeden Kanal der gewählten Gruppe steht die geforderte Anzahl an Abtastwerten zur Verfügung [SWS_Adc_00513].

In Anwendungen dient der Typ typischerweise der Abfrage oder Auswertung des Gruppenfortschritts, um festzustellen, ob Ergebnisse bereits ausgelesen werden können oder weitere Abtastungen ausstehen.

Dieser Text wurde von einer KI auf Basis der Spezifikation AUTOSAR CP R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

type Adc_TriggerSourceType [SWS_Adc_00514] 📄 PDF

Type for configuring the trigger source for an ADC Channel group.

type Adc_GroupConvModeType [SWS_Adc_00515] 📄 PDF

Type for configuring the conversion mode of an ADC Channel group. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_ADCDriver

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

Der Aufzählungstyp Adc_GroupConvModeType dient der Konfiguration des Konvertierungsmodus einer ADC-Kanalgruppe und wird über die Header-Datei Adc.h deklariert [SWS_Adc_00515]. Der Typ legt fest, ob die Kanäle einer Gruppe nach dem konfigurierten Auslöseereignis einmalig oder wiederholt umgewandelt werden [SWS_Adc_00515].

Für die Konfiguration stehen zwei Modi zur Verfügung [SWS_Adc_00515]:

  • ADC_CONV_MODE_ONESHOT (0x00): Führt nach dem konfigurierten Trigger-Ereignis genau eine Konvertierung jedes Kanals der ADC-Kanalgruppe aus [SWS_Adc_00515]. Wurde als Triggerquelle ein Software-Trigger konfiguriert, kann eine gestartete Konvertierung über einen Software-API-Aufruf gestoppt werden [SWS_Adc_00515]. Ist hingegen eine Hardware-Triggerquelle zugewiesen, lässt sich eine gestartete One-Shot-Konvertierung durch Deaktivieren des Trigger-Ereignisses anhalten, sofern dies durch die Hardware unterstützt wird [SWS_Adc_00515].
  • ADC_CONV_MODE_CONTINUOUS (0x01): Führt fortlaufend wiederholte Konvertierungen jedes Kanals innerhalb der Kanalgruppe durch [SWS_Adc_00515]. Dieser kontinuierliche Modus ist ausschließlich für Gruppen mit einer Software-Triggerquelle verfügbar [SWS_Adc_00515]. Ein bereits gestarteter kontinuierlicher Konvertierungslauf kann jederzeit über einen Software-API-Aufruf beendet werden [SWS_Adc_00515].

Hinsichtlich der Restriktionen ist zu beachten, dass ADC_CONV_MODE_CONTINUOUS nur mit Software-Triggerung zulässig ist und nicht mit Hardware-Triggerquellen kombiniert werden kann [SWS_Adc_00515]. Das Stoppen laufender Konvertierungen erfordert bei Software-Triggern einen dedizierten Software-API-Aufruf, während hardwaregetriggerte One-Shot-Abläufe das Abschalten des Trigger-Events erfordern [SWS_Adc_00515].

Dieser Text wurde von einer KI erstellt und basiert ausschließlich auf den Spezifikationsdaten aus AUTOSAR R20-11.

Implementer's Guide folgt (Komplexität I1)

type Adc_GroupDefType [SWS_Adc_00517] 📄 PDF

Type for assignment of channels to a channel group (this is not an API type).

type Adc_StreamNumSampleType [SWS_Adc_00518] 📄 PDF

Type for configuring the number of group conversions in streaming access mode (in single access mode, parameter is 1). Available Adc.h AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_ADCDriver via

type Adc_StreamBufferModeType [SWS_Adc_00519] 📄 PDF

Type for configuring the streaming access mode buffer type.

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

Der Enumerationstyp Adc_StreamBufferModeType dient zur Konfiguration des Pufferverhaltens im Streaming-Zugriffsmodus des ADC-Treibers und ist über die Header-Datei Adc.h verfügbar [SWS_Adc_00519].

Der Typ definiert zwei spezifische Betriebsmodi für die Pufferverwaltung bei Streaming-Konvertierungen [SWS_Adc_00519]:

  • ADC_STREAM_BUFFER_LINEAR (Wert 0x00): Der ADC-Treiber beendet die Wandlung selbsttätig, sobald der Stream-Puffer voll ist bzw. die festgelegte Anzahl an Abtastwerten erreicht wurde [SWS_Adc_00519].
  • ADC_STREAM_BUFFER_CIRCULAR (Wert 0x01): Der ADC-Treiber führt die Wandlung auch nach Erreichen der vollen Pufferkapazität fort, indem er an den Anfang des Puffers zurückspringt und diesen zirkulär überschreibt [SWS_Adc_00519].

Integrierende Schichten und Anwendungssoftware müssen das Pufferverhalten auf die jeweilige Verarbeitungsstrategie abstimmen: Während ADC_STREAM_BUFFER_LINEAR für in sich geschlossene Messreihen mit fester Sample-Größe vorgesehen ist, erfordert ADC_STREAM_BUFFER_CIRCULAR vermutlich eine kontinuierliche Pufferüberwachung oder zeitnahe Datenentnahme, um einen unbemerkten Datenverlust durch das automatische Überschreiben zu vermeiden [SWS_Adc_00519]. Frage Q-23b411e5e6c50591 (offen)

Dieser Text wurde von einer KI auf Basis der Spezifikation AUTOSAR Classic R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

type Adc_GroupAccessModeType [SWS_Adc_00528] 📄 PDF

Type for configuring the access mode to group conversion results.

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

Der Enumerationstyp Adc_GroupAccessModeType dient zur Konfiguration des Zugriffsmodus auf die Konvertierungsergebnisse einer ADC-Kanalgruppe gemäß [SWS_Adc_00528]. Die Typdefinition wird über die Header-Datei Adc.h bereitgestellt und legt fest, wie Resultate im Speicher abgelegt werden.

Für die Konfiguration des Gruppen-Zugriffsmodus sind in der Spezifikation zwei Werte definiert [SWS_Adc_00528]:

  • ADC_ACCESS_MODE_SINGLE (Wert 0x00): Konfiguriert den Einzelwert-Zugriffsmodus (Single value access mode) für die betreffende Gruppe.
  • ADC_ACCESS_MODE_STREAMING (Wert 0x01): Konfiguriert den Streaming-Zugriffsmodus (Streaming access mode) für die betreffende Gruppe.

Der Typ wird bei der Konfiguration des ADC-Treibers verwendet, um das Zugriffsverhalten auf die Puffer der Konvertierungsergebnisse zu steuern [SWS_Adc_00528]. Interpretation: Während der Einzelwertmodus vermutlich für das Bereitstellen eines einzelnen aktuellen Ergebniswerts je Gruppenkanal ausgelegt ist, dürfte der Streaming-Modus für kontinuierlichere Messreihen mit mehreren Pufferwerten konzipiert sein. Frage Q-8a933cffcd1132ef (offen)

Da es sich um einen reinen Konfigurationstyp handelt, definiert die Anforderung keine eigenen Fehlercodes, Rückgabewerte oder DET-/DEM-Meldungen für diesen Typ [SWS_Adc_00528].

Dieser Text wurde von einer KI auf Basis der Spezifikation AUTOSAR Classic R20-11 generiert.

Implementer's Guide folgt (Komplexität I1)

type Adc_HwTriggerSignalType [SWS_Adc_00520] 📄 PDF

Type for configuring on which edge of the hardware trigger signal the driver should react, i.e. start the conversion (only if supported by the ADC hardware).

type Adc_HwTriggerTimerType [SWS_Adc_00521] 📄 PDF

Type for the reload value of the ADC module embedded timer (only if supported by the ADC hardware).

type Adc_GroupReplacementType [SWS_Adc_00523] 📄 PDF

Replacement mechanism, which is used on ADC group level, if a group conversion is interrupted by a group which has a higher priority.

type Adc_Channel [SWS_Adc_00524] 📄 PDF

In case of active limit checking: defines which conversion values are taken into account related to the boardes defineed with Adc Channel Low Limit and Adc Channel High Limit.

type Adc_ResultAlignmentType [SWS_Adc_00525] 📄 PDF

Type for alignment of ADC raw results in ADC result buffer (left/ right alignment).

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

Verwendung und Wertebereich

Der Aufzählungstyp Adc_ResultAlignmentType wird über die Header-Datei Adc.h bereitgestellt und dient im Modul Adc zur Festlegung der Ausrichtung von ADC-Rohwerten im Ergebnis-Puffer [SWS_Adc_00525]. Er bildet die standardisierte Schnittstelle zur Konfiguration der Pufferablage des Treibers [SWS_Adc_00525]. Als reiner Datentyp besitzt er keine eigenen Funktionsparameter, Rückgabewerte oder asynchrone Semantik [SWS_Adc_00525].

Der Wertebereich der Enumeration umfasst gemäß Spezifikation genau zwei Ausprägungen [SWS_Adc_00525]:

  • ADC_ALIGN_LEFT (numerischer Wert 0x00): Konfiguriert eine linksbündige Ausrichtung der Wandlungsergebnisse im Puffer [SWS_Adc_00525].
  • ADC_ALIGN_RIGHT (numerischer Wert 0x01): Konfiguriert eine rechtsbündige Ausrichtung der Wandlungsergebnisse im Puffer [SWS_Adc_00525].

Bedeutung und Randbedingungen

Über den gewählten Wert wird bestimmt, an welchen Bitpositionen des Pufferbereichs die Rohdaten nach einer Konvertierung abgelegt werden [SWS_Adc_00525]. Dadurch wird festgelegt, ob signifikante Datenbits links- oder rechtsbündig im Speicher liegen [SWS_Adc_00525]. Interpretation: Die Festlegung auf Links- oder Rechtsbündigkeit dürfte insbesondere dann relevant sein, wenn die Hardware-Auflösung des Analog-Digital-Wandlers geringer ist als die Elementbreite des zugewiesenen Pufferspeichers. Frage Q-54221124172a3d87 (offen) Nachgelagerte Softwarekomponenten müssen die konfigurierte Ausrichtung berücksichtigen, um Rohwerte ohne Rechen- oder Bitverschiebungsfehler auslesen zu können.

Spezifische Fehlercodes, DET- oder DEM-Meldungen existieren für diese Enumeration nicht [SWS_Adc_00525].

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

type Adc_PowerStateType [SWS_Adc_00526] 📄 PDF

Power state currently active or set as target power state.

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

Der Aufzählungstyp Adc_PowerStateType definiert in AUTOSAR Classic den Energiestatus des ADC-Treibers [SWS_Adc_00526]. Er wird im Treiber verwendet, um entweder den aktuell eingenommenen Betriebszustand des Moduls abzubilden oder einen neu anzusteuernden Zielzustand für die Energieverwaltung vorzugeben [SWS_Adc_00526]. Die Deklaration dieses Datentyps wird über den Header Adc.h zur Verfügung gestellt [SWS_Adc_00526].

Für die einzelnen Zustände der Enumeration legt die Spezifikation eine hierarchische Ordnung hinsichtlich der Leistungsaufnahme fest [SWS_Adc_00526]:

  • ADC_FULL_POWER (Zahlenwert 0): Bezeichnet den vollen Betriebs- und Funktionsmodus des ADC-Treibers ohne Stromeinschränkungen [SWS_Adc_00526].
  • Wertebereich 1 bis 255: Repräsentiert optionale Energiesparmodi mit schrittweise sinkender Leistungsaufnahme [SWS_Adc_00526].

Hinsichtlich des Zusammenspiels und der Einbindung in die Systemumgebung gilt die Interpretation: Der Typ dürfte primär als Übergabeparameter in Steuerungsfunktionen für Power-State-Übergänge sowie zur Statusrückmeldung an übergeordnete Module wie das BSW- oder ECU-State-Management dienen. Frage Q-e4f964bd79ad550c (offen) Weil es sich um eine elementare Datentypdefinition handelt, sind spezifische Eigenschaften wie Aufrufkontexte, Reentranzvorgaben, synchrone oder asynchrone Semantik sowie Laufzeitfehler und DET-Meldungen erst in den zugehörigen Treiber-APIs definiert und nicht Bestandteil dieser Typbeschreibung [SWS_Adc_00526].

Dieser Text wurde von einer KI erstellt. Er basiert ausschließlich auf den Spezifikationen des AUTOSAR-Releases R20-11.

Implementer's Guide folgt (Komplexität I1)

type Adc_PowerStateRequestResultType [SWS_Adc_00527] 📄 PDF

Type Adc_PowerStateRequestResultType.

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

Der Aufzählungstyp Adc_PowerStateRequestResultType definiert die Rückgabewerte für Anforderungen von Zustandsübergängen im Power-Management des ADC-Treibers und wird über die Header-Datei Adc.h bereitgestellt [SWS_Adc_00527].

Die Werte des Typs bilden den Erfolg oder spezifische Fehlerursachen eines angeforderten Power-State-Wechsels ab [SWS_Adc_00527]:

  • ADC_SERVICE_ACCEPTED (0): Der Wechsel in den gewünschten Zustand wurde erfolgreich ausgeführt [SWS_Adc_00527].
  • ADC_NOT_INIT (1): Der Aufruf scheiterte, da das ADC-Modul noch nicht initialisiert ist [SWS_Adc_00527].
  • ADC_SEQUENCE_ERROR (2): Es liegt eine fehlerhafte Reihenfolge beim Aufruf der APIs vor [SWS_Adc_00527].
  • ADC_HW_FAILURE (3): Ein Hardware-Fehler verhindert den Wechsel in den geforderten Zustand [SWS_Adc_00527].
  • ADC_POWER_STATE_NOT_SUPP (4): Der geforderte Power-State wird vom ADC-Modul nicht unterstützt [SWS_Adc_00527].
  • ADC_TRANS_NOT_POSSIBLE (5): Ein direkter Übergang vom aktuellen in den gewünschten Zustand ist nicht möglich oder die Hardware-Peripherie ist noch beschäftigt [SWS_Adc_00527].

Aufrufer müssen den Rückgabewert auswerten, um zwischen regulärer Ausführung und fehlerhaften Bedingungen wie falscher Sequenz, fehlender Modulinitialisierung oder Hardwarekonflikten zu unterscheiden [SWS_Adc_00527].

Dieser Text wurde von einer KI auf Basis der Spezifikation generiert.

Implementer's Guide folgt (Komplexität I1)

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

Record
AUTOSAR/AP/record/CP_MOD_Adc
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Adc@rel:R20-11#f9b1141b
Content hash
f9b1141b
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_ADCDriver.pdf#nameddest=SWS_Adc_00365

Initialisierung und Status

Adc_DeInit function

Returns all ADC HW Units to a state comparable to their power on reset state.

void Adc_DeInit (void);

Returns the version information of this module.

void Adc_GetVersionInfo (Std_VersionInfoType* versioninfo);
Adc_Init function

Initializes the ADC hardware units and driver.

void Adc_Init (const Adc_ConfigType* ConfigPtr);

Dienste · Get…

Service Adc_GetCurrentPowerState.

Std_ReturnType Adc_GetCurrentPowerState (Adc_PowerStateType* CurrentPowerState, Adc_PowerStateRequestResultType* Result);

Returns the conversion status of the requested ADC Channel group.

Adc_StatusType Adc_GetGroupStatus (Adc_GroupType Group);

Returns the number of valid samples per channel, stored in the result buffer. Reads a pointer, pointing to a position in the group result buffer. With the pointer position, the results of all group channels of the last completed conversion round can be acc essed. With the pointer and the return value, all valid group conversion results can be accessed (the user has to take the layout of the result buffer into account).

Adc_StreamNumSampleType Adc_GetStreamLastPointer (Adc_GroupType Group, Adc_ValueGroupType* * PtrToSamplePtr);

Service Adc_GetTargetPowerState.

Std_ReturnType Adc_GetTargetPowerState (Adc_PowerStateType* TargetPowerState, Adc_PowerStateRequestResultType* Result);

Dienste · Weitere

Disables the notification mechanism for the requested ADC Channel group.

void Adc_DisableGroupNotification (Adc_GroupType Group);

Disables the hardware trigger for the requested ADC Channel group.

void Adc_DisableHardwareTrigger (Adc_GroupType Group);

Enables the notification mechanism for the requested ADC Channel group.

void Adc_EnableGroupNotification (Adc_GroupType Group);

Enables the hardware trigger for the requested ADC Channel group.

void Adc_EnableHardwareTrigger (Adc_GroupType Group);

This API is cyclically called and supervises the power state transitions, checking for the readiness of the module and issuing the callbacks Io Hw Ab_ Adc_ Notify Ready For Power State (see Adc Power State Ready Cb k Ref configuration parameter).

void Adc_Main_PowerTransitionManager (void);

This API starts the needed process to allow the ADC HW module to enter the AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_ADCDriver requested power state.

Std_ReturnType Adc_PreparePowerState (Adc_PowerStateType PowerState, Adc_PowerStateRequestResultType* Result);
Adc_ReadGroup function

Reads the group conversion result of the last completed conversion round of the requested group and stores the channe l values starting at the Data Buffer Ptr address. The group channel values are stored in ascending channel number order ( in contrast to the storage layout of the result buffer if streaming access is configured).

Std_ReturnType Adc_ReadGroup (Adc_GroupType Group, Adc_ValueGroupType* DataBufferPtr);

This API configures the Adc module so that it enters the already prepared power state, chosen between a predefined set of configured ones.

Std_ReturnType Adc_SetPowerState (Adc_PowerStateRequestResultType* Result);

Initializes ADC driver with the group specific result buffer start address where the conversion results will be stored. The applicatio n has to ensure that the application buffer, where Data Buffer Ptr points to, can hold all the conversion results of the specified group. The initialization with Adc_ Setup Result Buffer is required after reset, before a group conversion can be started.

Std_ReturnType Adc_SetupResultBuffer (Adc_GroupType Group, Adc_ValueGroupType* DataBufferPtr);

Starts the conversion of all channels of the requested ADC Channel group.

void Adc_StartGroupConversion (Adc_GroupType Group);

Stops the conversion of the requested ADC Channel group.

void Adc_StopGroupConversion (Adc_GroupType Group);

The API shall be invoked by the ADC Driver when the requested power state preparation for mode <#Mode> is completed.

void IoHwAb_Adc_NotifyReadyForPowerState<#Mode> (void);

Typen

In case of active limit checking: defines which conversion values are taken into account related to the boardes defineed with Adc Channel Low Limit and Adc Channel High Limit.

Numeric ID of an ADC channel.

Data structure containing the set of configuration parameters required for initializing the ADC Driver and ADC HW Unit(s).

Type of conversion time, i.e. the time during which the sampled analogue value is converted into digital representation. (This is not an API type).

Type for configuring the access mode to group conversion results.

Type for configuring the conversion mode of an ADC Channel group. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_ADCDriver

Type for assignment of channels to a channel group (this is not an API type).

Priority level of the channel. Lowest priority is 0.

Replacement mechanism, which is used on ADC group level, if a group conversion is interrupted by a group which has a higher priority.

Numeric ID of an ADC channel group.

Type for configuring on which edge of the hardware trigger signal the driver should react, i.e. start the conversion (only if supported by the ADC hardware).

Type for the reload value of the ADC module embedded timer (only if supported by the ADC hardware).

Type Adc_PowerStateRequestResultType.

Power state currently active or set as target power state.

Type of clock prescaler factor. (This is not an API type).

Type for configuring the prioritization mechanism.

Type of channel resolution in number of bits. (This is not an API type).

Type for alignment of ADC raw results in ADC result buffer (left/ right alignment).

Type of sampling time, i.e. the time during which the value is sampled, (in clock - cycles). (This is not an API type).

Current status of the conversion of the requested ADC Channel group.

Type for configuring the streaming access mode buffer type.

Type for configuring the number of group conversions in streaming access mode (in single access mode, parameter is 1). Available Adc.h AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_ADCDriver via

Type for configuring the trigger source for an ADC Channel group.

Type for reading the converted values of a channel group (raw, without further scaling, alignment according precompile switch ADC_ RESULT_ ALIGNMENT).