DEENESPTFRRUARHIKOZHNL
AUTOSAR_CP_SWS_EthernetDriver FIG-be9dd4b14611ba5d 795 × 480 px 1 Release(s)

Figure 7.6: CBS algorithm

SHA-256 Inhalts-Fingerabdruck: be9dd4b14611ba5dc074b003ace05475a99a1540591c6fa9c1d02fdd49d4b318
✦ KI-generierte Bildanalyse & technische Beschreibung Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08

1. Diagrammtyp & Architektur-Kontext

  • Diagrammtyp: Datenfluss- und Architektur-Ablaufdiagramm (Transmitter-Pipeline, Software-Queueing & CBS-Scheduling).
  • Funktionaler Kontext: Schematische Darstellung des Credit-Based Shaper (CBS) Algorithmus gemäß IEEE 802.1Qav innerhalb des AUTOSAR Classic Platform Ethernet Drivers (Eth).
  • Systemische Einordnung: MCAL-Treiber-Ebene. Das Diagramm illustriert das softwarebasierte Warteschlangen- und Bandbreitenmanagement zur Entkopplung der oberen Schichten (EthIf, EthTSyn, SoAd) von den physischen MAC-Transmissionsregistern (HW fifo), insbesondere wenn der Ethernet-Controller keine native Hardware-Unterstützung für CBS bereitstellt oder softwareseitige Vorfilterung zwingend gefordert ist.

2. Komponenten, Entitäten & Schnittstellen

Entitäten & Pufferstrukturen
  • SW Buffer pools: Treiber-interner Speicherpool für Ethernet-Frames (Eth_BufIdxType). Die Puffer (z. B. Index 0 bis 7) sind nach Größen und Prioritäten (Prio 0 bis Prio 7) organisiert.
  • SW FIFOs: Array aus acht Software-Warteschlangen (Indizes 0 bis 7), korrespondierend zu den IEEE 802.1Q Traffic Classes bzw. VLAN-PCPs (Priority Code Point):
    • FIFO 7 nimmt Frames höchster Priorität auf (im Diagramm: Puffer 0 mit Prio 7).
    • FIFO 6 nimmt zeitkritische Steuerdaten auf (im Diagramm: Puffer 2 mit Prio 6).
    • FIFO 4 nimmt mittlere Prioritäten auf (im Diagramm: Puffer 3 mit Prio 4).
    • FIFO 0–3, 5 sind aktuell unbesetzt.
  • Scheduling / CBSshaper: Scheduler- und Shaper-Funktionseinheit im Eth-Treiber. Berechnet die Credits (idleSlope, sendSlope, Grenzwerte hiCredit / loCredit) pro Traffic Class.
  • HW fifo: Physische Hardware-Sendewarteschlange (Tx-Deskriptorring / MAC-FIFO) des Ethernet-Controllers zur Übertragung auf das Medium.
Traffic-Quellen (Obere Schichten / Protokoll-Akteure)
  • Time sync: Zeitsynchronisations-Traffic via EthTSyn (IEEE 802.1AS / gPTP), typischerweise gemappt auf Priorität 6 oder 7.
  • some/ip: Serviceorientierte Middleware (SoAd / SomeIp), typischerweise Priorität 4 oder Best-Effort.
  • Network mgt: Netzwerkmanagement-Frames (EthNm), prioritärer System-Traffic.
Treiber-Schnittstellen (APIs)
  • Eth_ProvideTxBuffer(CtrlIdx, Priority, BufIdxPtr, BufPtr, LenBytePtr): Allokations-Schnittstelle. Fordert einen Puffer für eine definierte Priorität an; gibt Puffer-Index BufIdx und Payload-Zeiger zurück.
  • Eth_Transmit(CtrlIdx, BufIdx, FrameType, TxConfirmation, LenByte, PhysAddrPtr): Übergabe-Schnittstelle. Reicht den befüllten Puffer an den Treiber zur Übertragung weiter.
  • Eth_MainFunction(): Zyklische BSW-Scheduler-Task zur Aktualisierung der Shaper-Zustände und zum Transfer der Frames in die Hardware.

3. Dynamisches Verhalten & Sequenzablauf

  1. Pufferanforderung (Schritt 1 – Synchron):
    • Die sendende Schicht ruft Eth_ProvideTxBuffer() mit Prioritätsangabe (prio) auf.
    • Der Treiber reserviert den passenden Puffer (z. B. Puffer 0 für Prio 7) im SW Buffer pool und liefert den Deskriptor-Index BufIdx zurück.
  2. Datenbereitstellung & Einreihung (Schritt 2 – Synchron):
    • Die Nutzdaten werden in den allokierten Speicherbereich geschrieben.
    • Aufruf von Eth_Transmit(BufIdx*): Der Puffer wird nicht direkt an die Hardware übergeben, sondern softwareseitig in die der Priorität entsprechende Warteschlange (SW FIFO 7) eingereiht.
  3. CBS-Berechnung & HW-Dispatch (Schritt 3 – Asynchron via Eth_MainFunction):
    • Die zyklisch aufgerufene Funktion Eth_MainFunction() triggert den Scheduling / CBSshaper.
    • Shaper-Regelwerk:
      • Hat die Queue credit >= 0 und stehen Frames bereit, wird der Frame selektiert. Während der Aussendung verringert sich das Guthaben mit Rate sendSlope.
      • Ist credit < 0, wird die Queue gesperrt; das Guthaben akkumuliert mit Rate idleSlope bis zum Erreichen von 0.
      • Ist die Queue leer und credit > 0, wird das Guthaben auf 0 zurückgesetzt.
    • Der freigegebene Frame (Puffer 0) wird aus der SW FIFO 7 in die HW fifo verschoben.
  4. Physische Aussendung & Bestätigung:
    • Der Ethernet-MAC sendet den Frame seriell auf den Bus.
    • Nach Tx-Complete (via Tx-Interrupt oder Polling) wird EthIf_TxConfirmation() ausgelöst und der Puffer im SW Buffer pool wieder freigegeben.

4. Normative Relevanz & Entwickler-Hinweise

  • Normativer Kontext:
    • SRS_Eth_00146: Forderung nach Quality-of-Service (QoS) und Traffic Shaping gemäß IEEE 802.1Qav.
    • SWS_Eth_00263: Spezifikation des Software-CBS-Algorithmus zur Begrenzung von AVB-Datenströmen (Audio/Video Bridging, SR-Class A und B).
    • SWS_Eth_00299: Entkopplung zwischen Frame-Bereitstellung (Eth_ProvideTxBuffer), Einreihung (Eth_Transmit) und getakteter Aussendung durch Entnahme über Scheduling-Logik.
  • Einfluss auf die Stack-Konfiguration:
    • Parameter EthCtrlConfigShaper: Definition von EthCtrlConfigIdleSlope, EthCtrlConfigSendSlope, EthCtrlConfigHiCredit und EthCtrlConfigLoCredit pro Kanal/FIFO im BSW-Konfigurator.
    • EthCtrlConfigSwFifo: Notwendig zur Dimensionierung der Pufferanzahl je Prioritäts-FIFO.
  • Latenz- und Jitter-Restriktionen:
    • Da die Entnahme aus den Software-FIFOs über Eth_MainFunction gesteuert wird, bestimmt die Zykluszeit dieser Task maßgeblich die Latenz und den Granularitäts-Jitter des Shapings. Für harte Echtzeitanforderungen (z. B. gPTP, Control Loops) ist eine ausreichend hochfrequente Task-Taktung oder Hardware-gestütztes CBS im MAC vorzuziehen.
  • Puffererschöpfung (Backpressure):
    • Verweilt ein Frame aufgrund negativer Credits länger in den SW FIFOs, blockiert er den zugewiesenen Puffer im SW Buffer pool. Folgende Aufrufe von Eth_ProvideTxBuffer() liefern BUFREQ_E_BUSY. Obere Schichten müssen Dropping-Mechanismen oder Puffer-Wiederholungsstrategien vorsehen.

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R23-11 → R24-11 keine inhaltliche Änderung Vorgänger: FIG-ad61fb74781d3768

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Erkannte Spezifikationsbelege & Anforderungen auf dieser Seite

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R24-11 AUTOSAR_CP_SWS_EthernetDriver S. 56 7.6 Figure 7.6: CBS algorithm