Figure 1: Example for Group and Result Buffer configuration – Result pointer initialization and calling
ca9bd5a39b9c41a79c7b114fe624da41cc63c52f8a0f0443cd314ffda1e47b71
1. Diagrammtyp & Architektur-Kontext
Architektur- und Speicherkonfigurationsdiagramm des AUTOSAR Classic ADC-Treibers (MCAL - Microcontroller Abstraction Layer). Das Diagramm visualisiert das Speicher- und Zugriffskonzept für ADC-Ergebnispuffer (Result Buffer) zwischen Applikationsschicht, ADC-Treiber und ADC-Hardware (HW Result Register). Es illustriert das Zusammenspiel aus statischer Gruppenkonfiguration, dynamischer Pufferinitialisierung und dem Laufzeitzugriff auf gewandelte Abtastwerte über standardisierte API-Schnittstellen.
2. Komponenten, Entitäten & Schnittstellen
Das Diagramm gliedert sich in drei funktionale Schichten und Entitäten:
- Application: Verwaltet die anwendungsseitigen Ergebnis-Arrays (
G1_ResultBuffer[6],G2_ResultBuffer[2],G3_ResultBuffer[1]) und empfängt Abtastwert-Zeiger (G1_SamplePtr,G2_SamplePtr,G3_SamplePtr). - ADC Driver: Hält interne Ergebniszeiger (
G1_ResultPtr,G2_ResultPtr,G3_ResultPtr), die auf die Basiselemente der applikationsseitigen Puffer verweisen, und stellt die APIsAdc_SetupResultBuffersowieAdc_GetStreamLastPointerbereit. - ADC HW: Beinhaltet die hardwarenahen Ergebnisregister (
HW result register), auf welche kein direkter Zugriff über ADC-API-Funktionen gestattet ist; die Datenübertragung erfolgt ausschließlich intern durch den Treiber. - Konfigurationsparameter:
ADC_GROUP_DEFINITION: Kanalzuordnung pro Gruppe (Gruppe G1: CH0, CH1; Gruppe G2: CH2; Gruppe G3: CH3).ADC_GROUP_ACCESS_MODE: Zugriffsmodus (ADC_ACCESS_MODE_STREAMINGfür G1 und G2;ADC_ACCESS_MODE_SINGLEfür G3).ADC_STREAMING_NUM_SAMPLES: Anzahl der Samples je Kanal im Streaming-Modus (3 Samples für G1, 2 Samples für G2, implizit 1 Sample für G3).- Pufferlayout: Die Puffergröße entspricht dem Produkt aus Kanalanzahl der Gruppe und Abtastanzahl (
num_channels * num_samples). Für G1 ergibt sich eine Strukturierung in drei zusammenhängende Einträge für CH0 gefolgt von drei Einträgen für CH1.
3. Dynamisches Verhalten & Sequenzablauf
Der Ablauf unterteilt sich in drei konsekutive Phasen:
- Configuration: Festlegung der Kanalgruppierung, Zugriffsmodi (Single vs. Streaming) und Pufferdimensionierung (
ADC_STREAMING_NUM_SAMPLES). - Result Pointer Initialization: Die Applikation initialisiert den Ergebnispuffer mittels
Adc_SetupResultBuffer. Der ADC-Treiber bindet seinen internen Ergebniszeiger (Gx_ResultPtr) an den Beginn des bereitgestellten Speicherbereichs (Gx_ResultBuffer). - Result Access: Während oder nach der Wandlung überträgt der ADC-Treiber die Daten aus den Hardware-Ergebnisregistern in die RAM-Puffer der Applikation. Über den Aufruf von
Adc_GetStreamLastPointererhält die Applikation einen Zeiger (Gx_SamplePtr) auf den jeweils neuesten gültigen Abtastwert des ersten Kanals der Gruppe (im Diagramm schraffiert hervorgehoben):- Für G1 zeigt
G1_SamplePtrabhängig vom Fortschritt der Streaming-Wandlung auf das jeweils jüngste Sample von CH0 innerhalb des Streaming-Fensters. - Für G2 zeigt
G2_SamplePtrauf das aktuelle Sample von CH2. - Für G3 (
ADC_ACCESS_MODE_SINGLE) zeigtG3_SamplePtrdirekt auf den einzigen Ergebniswert von CH3.
- Für G1 zeigt
4. Normative Relevanz & Entwickler-Hinweise
Normativ definiert das Diagramm die Implementierungsvorgaben für das Speicher- und Adressierungsmodell des AUTOSAR ADC-Treibers:
- Pufferbereitstellung und Lebensdauer: Der Ergebnispuffer muss von der Applikation allokiert und mittels
Adc_SetupResultBuffervor Start einer Wandlung an den Treiber übergeben werden. - Pufferanordnung (Channel-Group-Alignment): Ergebnisse werden kanalweise blockweise abgelegt; bei mehreren Samples pro Kanal (
ADC_STREAMING_NUM_SAMPLES > 1) werden alle Samples von Kanal n zusammenhängend vor den Samples von Kanal n+1 im Puffer abgelegt. - API-Restriktionen: Ein Direktzugriff auf die
HW result registerüber ADC-APIs ist ausgeschlossen; der Auslesevorgang muss über den Treiber erfolgen. - Zeigerrückgabe bei Streaming:
Adc_GetStreamLastPointerliefert einen Zeiger auf die zuletzt gewandelte Sample-Position des ersten Gruppenkanals zurück, von dem aus die Applikation indexbasiert auf zugehörige Samples weiterer Kanäle der Gruppe zugreifen kann.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.