Bemiddelt I-PDU's via een statische routingtabel ongewijzigd tussen bovenliggende en onderliggende communicatiemodules.
DOOR AI GEGENEREERDongecontroleerdModel: claude-opus-5-5 · Inspanning: high · Temperatuur: niet regelbaar · Prompt: 3a20c4ee9a26HerkomstOpen vragen (1)
Causaal anker: R20-11Geldig vanaf R20-11Nieuw gesynthetiseerd voor deze specificatiestand.
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Bemiddelt I-PDU's via een statische routingtabel ongewijzigd tussen bovenliggende en onderliggende communicatiemodules.
De PDU Router bemiddelt I-PDU's tussen bovenliggende modules zoals Com en DCM, Communication Interfaces en transportprotocollen. Hij zet daarbij alleen de I-PDU-ID's om langs geconfigureerde routingpaden en wijzigt de inhoud niet [SWS_PduR_00160]. Tot zijn taken behoren verzenden, ontvangst, TriggerTransmit, gesegmenteerde TP-overdrachten en gateways met optionele FIFO-buffer. Er wordt uitsluitend gerouteerd in de toestand PDUR_ONLINE na succesvolle PduR_Init [SWS_PduR_00328]. Tijdens runtime kunnen routingpadgroepen worden geschakeld via PduR_EnableRouting en PduR_DisableRouting.
De PDU Router bemiddelt I-PDU's tussen bovenliggende modules zoals Com en DCM, Communication Interfaces zoals CanIf, FrIf en LinIf alsmede transportprotocollen. Daarbij wijzigt hij de I-PDU's niet [SWS_PduR_00160] en routeert hij alleen langs geconfigureerde routingpaden [SWS_PduR_00162]. Zijn kernprestatie is de omzetting van de I-PDU-ID's op het verzendpad evenals op het bevestigings- en indicatiepad [SWS_PduR_00766]. De interfaces zijn generiek; de plaatshouders <Up>, <Lo> en <LoTp> vloeien voort uit de configuratie PduRBswModules[SWS_PduR_00504].
Contextdiagram: De PduR bevindt zich tussen bovenliggende modules en IF- respectievelijk TP-modules; BswM schakelt padgroepen, fouten gaan naar de DET. Bronnen: [SWS_PduR_00504], SWS PDU Router p. 16
De PduR kent alleen de toestanden PDUR_UNINIT en PDUR_ONLINE[SWS_PduR_00324]. Er wordt uitsluitend gerouteerd in PDUR_ONLINE[SWS_PduR_00328]. Daar komt hij door PduR_Init(ConfigPtr)[SWS_PduR_00334]. Voordien melden alle functies behalve PduR_Init en PduR_GetVersionInfo de fout PDUR_E_UNINIT, voor zover de foutdetectie actief is [SWS_PduR_00119].
Tijdens bedrijf verzorgt de PduR de volgende processen:
Verzendverzoeken geeft hij door aan elk interface-doel [SWS_PduR_00625].
TriggerTransmit-aanvragen leidt hij door naar de bovenliggende laag [SWS_PduR_00430].
Bij TP-multicast vraagt hij dezelfde gegevens per doel op met TP_CONFPENDING respectievelijk TP_DATARETRY[SWS_PduR_00631][SWS_PduR_00632] en meldt hij een samengevoegde bevestiging [SWS_PduR_00765].
Tijdens runtime schakelen PduR_EnableRouting en PduR_DisableRouting gehele routingpadgroepen [SWS_PduR_00615][SWS_PduR_00617], typisch aangestuurd door de BswM. Aanroepen op een gedeactiveerd pad eindigen met E_NOT_OK[SWS_PduR_00717]. Ontwikkelfouten zoals PDUR_E_PDU_ID_INVALID meldt de PduR aan de DET [SWS_PduR_00100]. FIFO-verliezen meldt hij als PDUR_E_PDU_INSTANCES_LOST[SWS_PduR_00670]. Een eigen foutafhandeling op interface-paden is er niet; retourwaarden gaan naar de bron SWS PDU Router p. 46.
Rol en systeemgrens: I-PDU-bemiddeling tussen bovenliggende modules, interfaces en transportprotocollen
De PDU Router (PduR) is de centrale bemiddelingsinstantie van de klassieke communicatiestack. Hij neemt I-PDU's van een bronmodule in ontvangst en draagt deze ongewijzigd en consistent over aan een of meer doelmodules [SWS_PduR_00160]. Er wordt uitsluitend gerouteerd langs de geconfigureerde routingpaden [SWS_PduR_00162]. Een pad is eenduidig bepaald door twee gegevens: de bron-I-PDU-ID uit de PduR-configuratie en de doel-I-PDU-ID's uit de configuraties van de aangeroepen doelmodules [SWS_PduR_00161]. De kernprestatie van de PduR is daarom de omzetting van I-PDU-ID's. Deze geldt voor het verzendpad evenals voor het bevestigings- en indicatiepad [SWS_PduR_00766]. Elke module kiest zijn handle-ID's zelf; de configuratie koppelt ze via de 'globale' Pdu ECU Configuration Afb. 3.13 p. 192.
Boven de PduR liggen modules zoals Com en DCM. Daaronder liggen Communication Interfaces zoals CanIf, FrIf en LinIf alsmede transportprotocollen zoals CanTp, FrTp en LinTp SWS PDU Router p. 24. De interfaces zijn generiek gedefinieerd. De plaatshouders <Up>, <Lo> en <LoTp> worden vervangen via de in PduRBswModules gerefereerde moduleconfiguratie, bij CDD's via hun apiServicePrefix[SWS_PduR_00504]SWS PDU Router Afb. 10.2 p. 95. Ondersteunt een onderliggende module zowel TP als IF, dan komen de tussenvoegsels Tp en If erbij [SWS_PduR_00800].
Als PduRZeroCostOperation is ingesteld en alle routingpaden pre-compile zijn, mogen de naburige modules elkaar direct aanroepen [SWS_PduR_00287]. Als minstens één pad niet pre-compile is, moet de generator een fout melden [SWS_PduR_00619]SWS PDU Router p. 56. Ongebruikte kenmerken moet de generator wegoptimaliseren, dus TP, IF, gateway en FIFO [SWS_PduR_00764].
Levenscyclus: van PDUR_UNINIT via PduR_Init naar PDUR_ONLINE
Zij stelt de geconfigureerde defaultwaarden van de verzendbuffers in [SWS_PduR_00308].
Zij activeert de routingpadgroepen overeenkomstig de parameter enable-at-start [SWS_PduR_00709]. Latere versies noemen deze parameter PduRIsEnabledAtInitSWS PDU Router p. 131.
Vóór de initialisatie melden alle functies behalve PduR_Init en PduR_GetVersionInfo de fout PDUR_E_UNINIT, voor zover PduRDevErrorDetect actief is [SWS_PduR_00119]. PduR_GetVersionInfo[SWS_PduR_00338] wordt via PduRVersionInfoApi vrijgeschakeld System Template p. 656.
De post-build-gegevens bevinden zich in PduR_PBConfigType en zijn geïmplementeerd in PduR_PBcfg.c [SWS_PduR_00241][SWS_PduR_00743]. Zij zijn via PduRConfigurationId eenduidig geïdentificeerd [SWS_PduR_00281]. Deze identificatie levert PduR_GetConfigurationId[SWS_PduR_00341][SWS_PduR_00280] als op uint16 gebaseerde PduR_PBConfigIdType; een regeleenheid kan meerdere selecteerbare configuraties bevatten [SWS_PduR_00771]. Routingtabellen kunnen tijdens post-build-tijd worden geactualiseerd [SWS_PduR_00295], echter alleen in ongeïnitialiseerde toestand [SWS_PduR_00296]. De geheugenbehoefte kan met een nieuwe configuratie toenemen en moet daarom tijdens designtijd worden ingepland SWS PDU Router p. 160.
Communication-interface-paden: Transmit, TriggerTransmit en bevestigingen
Roept een bovenliggende module PduR_<User:Up>Transmit aan [SWS_PduR_00406], dan roept de PduR <Lo>_Transmit aan voor elk doel [SWS_PduR_00625]. Daarbij buffert hij niet [SWS_PduR_00629]. Voor de retourwaarde geldt:
Bij multicast moet de bovenliggende laag dezelfde gegevens meermalen leveren. De aanvraag van het eerste doel gaat met TP_CONFPENDING naar de bovenliggende laag [SWS_PduR_00631], alle verdere met TP_DATARETRY[SWS_PduR_00632]. De bovenliggende laag ontvangt na de laatste bevestiging één enkele <Up>_TpTxConfirmation. Deze meldt E_OK als minstens één doel E_OK heeft gemeld [SWS_PduR_00765]SWS PDU Router Afb. 9.10 p. 83.
De TP-ontvangst begint met PduR_<User:LoTp>StartOfReception[SWS_PduR_00507]. De PduR leidt deze door naar <Up>_StartOfReception[SWS_PduR_00549] en geeft de retourwaarde daarvan ongewijzigd terug [SWS_PduR_00623]. Daarna volgen twee doorzendingen:
Gateway-bedrijf: onmiddellijke doorzending, FIFO-buffer en on-the-fly-TP
Tussen Communication Interfaces routeert de PduR 1:n [SWS_PduR_00436] en met onmiddellijke doorzending, dus zonder eigen snelheidsaanpassing [SWS_PduR_00437]. Er wordt alleen IF↔IF of TP↔TP gegatewayed [SWS_PduR_00638]. Voor de doorgegeven lengte geldt:
Zonderactieve buffering geeft de PduR het minimum van de ontvangen lengte en de geconfigureerde doellengte door [SWS_PduR_00783].
Met buffering kopieert hij maximaal PduRPduMaxLength en verwerpt de rest [SWS_PduR_00746].
Een I-PDU kan tegelijkertijd lokaal naar Com gaan en worden doorgestuurd naar een tweede CAN SWS PDU Router Afb. 9.14 p. 114.
Hoe het doel aan de gegevens komt, legt PduRDestPduDataProvision vast:
Bij PDUR_DIRECT kopieert het doel de gegevens bij de Transmit zelf [SWS_PduR_00303].
Voor TP-gateways zijn er twee methoden. Bij direct gatewaying start <DstLoTp>_Transmit in de RxIndication met E_OK[SWS_PduR_00551]. Bij on-the-fly gatewaying start het doorsturen al zodra PduRTpThreshold is bereikt [SWS_PduR_00317]. Dan is slechts één bestemming toegestaan [SWS_PduR_00708], en reeds verzonden gegevens worden niet herhaald [SWS_PduR_00707]SWS PDU Router p. 58. De buffer selecteert de PduR op basis van grootte:
Past het bericht in PduRPduMaxLength, dan gebruikt hij de dedicated buffer [SWS_PduR_00797].
Anders haalt hij dynamisch een buffer uit PduRTxBuffer[SWS_PduR_00798].
Met de TxConfirmation geeft hij de buffer vrij [SWS_PduR_00637]. Moet de I-PDU bovendien lokaal worden ontvangen, dan roept de PduR <UpTp>_StartOfReception, <UpTp>_CopyRxData en <UpTp>_RxIndication in deze volgorde aan [SWS_PduR_00789]. Hiervoor moet hij bufferen, omdat de DCM niets van de gateway weet SWS PDU Router p. 112.
Routing-padgroepen: Routing tijdens runtime schakelen
Routing-padgroepen bundelen paden per netwerk of PDU-type. Ze worden typisch geschakeld door de BswM SWS PDU Router p. 69. Daartoe dienen PduR_EnableRouting(id)[SWS_PduR_00615] en PduR_DisableRouting(id, initialize)[SWS_PduR_00617]; de identifier is van het type uint16[SWS_PduR_00654]. De activering treedt direct in werking [SWS_PduR_00715]. Bij het deactiveren gelden de volgende regels:
initialize bepaalt of individuele buffers worden gereset naar de defaultwaarde [SWS_PduR_00617].
FIFO's van de gestopte paden worden geleegd, en de PduR meldt PDUR_E_PDU_INSTANCES_LOST[SWS_PduR_00663].
De Mode Management Guide beveelt de padgroepen aan voor I-PDU's zonder Com-I-PDU-groep, zoals voor LdCom. Schakelen gebeurt via BswM-regels, bijvoorbeeld afhankelijk van de partial-network-toestand Mode Management Guide p. 50. De BswM-actie BswMPduRouterControl roept daartoe PduR_EnableRouting resp. PduR_DisableRouting aan SWS BSW Mode Manager p. 145. Bij n:1-routing naar een lokaal moduul mag tijdens runtime maximaal één pad actief zijn System Template p. 736[SWS_PduR_00615].
De volgende passages onderbouwen de stellingen in deze leidraad. De sequenties in hoofdstuk 9 van de specificatie illustreren deze, zoals SWS PDU Router Afb. 9.5 p. 100.
AI-gegenereerde leidraad op basis van de requirements van de SWS PDU Router (R20-11) en bijbehorende documentpassages; uitsluitend de gelinkte requirements zijn normatief. Gelieve als interpretatie gemarkeerde uitspraken te controleren aan de hand van de specificatie.
PDU Router (PduR)
The PDU Router routes I-PDUs between communication interfaces, transport protocols, and upper layers without payload inspection.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 8eca52c90f1cHerkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Gebruik
De synchrone en niet-re-entrante functie PduR_Init initialiseert de PDU-router [SWS_PduR_00334]. Als parameter accepteert deze met ConfigPtr een pointer naar de post-build-configuratie van de module (PduR_PBConfigType) en levert geen retourwaarde op [SWS_PduR_00334]. In het kader van de initialisatie initialiseert PduR_Init alle PDU-zendbuffers vooraf met de geconfigureerde standaardwaarden [SWS_PduR_00308].
Samenspel en volgordevoorwaarden
Na het inschakelen bevindt de module zich eerst in de toestand PDUR_UNINIT[SWS_PduR_00325]. PduR_Init moet vóór alle andere functies van de module worden aangeroepen, aangezien andere interfaces – met uitzondering van PduR_GetVersionInfo – in ongeïnitialiseerde toestand de fout PDUR_E_UNINIT via de DET melden, mits PduRDevErrorDetect is geactiveerd [SWS_PduR_00119].
Foutafhandeling en gelijktijdigheid
Als PduR_Init in een andere toestand dan PDUR_UNINIT wordt aangeroepen, wordt dit beschouwd als PDUR_E_UNINIT[SWS_PduR_00100]. Bij een ongeldige configuratiepointer of de overdracht van een null-pointer zijn de foutcodes PDUR_E_INIT_FAILED respectievelijk PDUR_E_PARAM_POINTER van toepassing [SWS_PduR_00100]. Vanwege het ontbreken van re-entrantie mag er geen parallelle aanroep van de initialisatieroutine plaatsvinden [SWS_PduR_00334].
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: e3aad02fdb37HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De synchrone functie PduR_EnableRouting (service-ID 0xf3) dient voor de gerichte activering van een gedefinieerde routingpadgroep in de PDU-router ([SWS_PduR_00615]). Als enige parameter accepteert deze de groepscode id van het type PduR_RoutingPathGroupIdType, die de bijbehorende routingpadgroep in de configuratie van de PDU-router adresseert ([SWS_PduR_00615]). De aanroep heeft geen retourwaarde en is beschikbaar via het headerbestand PduR.h ([SWS_PduR_00615]).
Voor een foutloos gebruik zijn de systeemtoestanden en parametergrenzen bepalend: Vóór de aanroep moet de module PduR volledig geïnitialiseerd zijn, aangezien uitvoering in niet-geïnitialiseerde toestand de fout PDUR_E_UNINIT veroorzaakt ([SWS_PduR_00100]). Indien aan de functie PduR_EnableRouting een ongeldige routingtabel- resp. padgroepidentificator wordt doorgegeven, leidt dit tot fout PDUR_E_ROUTING_PATH_GROUP_ID_INVALID met de foutwaarde 0x08 ([SWS_PduR_00100]).
Met betrekking tot concurrency is de interface gedeclareerd als re-entrant ([SWS_PduR_00615]), zodat parallelle aanroepen voor de besturing van padgroepen in beginsel zijn toegestaan. In het totale systeem dient de functie voor de dynamische vrijgave van communicatierelaties; vermoedelijk wordt de service typisch geactiveerd door overkoepelende instanties zoals de modusmanager om routingpaden afhankelijk van systeem- of netwerktoestanden tijdens runtime te activeren. Vraag Q-365f4b81f59f3511 (open)
Automatisch gegenereerde gebruiksinstructie op basis van de AUTOSAR Classic-specificatie (release R20-11).
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 79b319e1f13bHerkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De synchrone functie PduR_DisableRouting dient voor het deactiveren van een geconfigureerde routingpadgroep ([SWS_PduR_00617]). Deze is re-entrant ontworpen en heeft geen retourwaarde ([SWS_PduR_00617]).
Parameters en gedrag
id (PduR_RoutingPathGroupIdType): Identificatie van de te deactiveren routingpadgroep zoals gedefinieerd in de configuratie van de PDU-router ([SWS_PduR_00617]).
initialize (boolean): Stuurt het buffergedrag aan bij het deactiveren. Bij overdracht van true worden single-buffers geïnitialiseerd op hun standaardwaarde; bij false behouden single-buffers hun huidige waarde ([SWS_PduR_00617]).
Foutafhandeling en randvoorwaarden
In het geval van een fout zijn volgens de fouttabel specifieke foutcodes gedefinieerd ([SWS_PduR_00100]):
Als de functie wordt aangeroepen zonder dat de module is geïnitialiseerd, is de foutcode PDUR_E_UNINIT (0x01) voorzien ([SWS_PduR_00100]).
Als aan PduR_DisableRouting een ongeldige routingtabel- resp. groeps-ID wordt doorgegeven, is de fout PDUR_E_ROUTING_PATH_GROUP_ID_INVALID (0x08) gespecificeerd ([SWS_PduR_00100]).
De functie is beschikbaar via de header PduR.h ([SWS_PduR_00617]).
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie-eisen.
Identification of the post-build configuration currently used for routing I-PDUs. An ECU may contain several configurations (post-build selectable), each have unique Id.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 9763b14fa079Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Het enumeratietype PduR_StateType specificeert conform [SWS_PduR_00742] de toestanden van de PDU-router. Het datatype wordt via het headerbestand PduR.h beschikbaar gesteld en dient in de PDU-router als formele getypeerde basis voor de representatie van de respectieve initialisatietoestand binnen de module alsook voor aanroepende componenten.
Conform de eis [SWS_PduR_00324] bestaat de PDU-routermodule uit precies twee bedrijfstoestanden, die door de enumeratiewaarden van PduR_StateType worden vastgelegd. Het volgens [SWS_PduR_00742] gedefinieerde waardebereik omvat de volgende waarden:
PDUR_UNINIT: Markeert de toestand waarin de PDU-router niet is geïnitialiseerd ([SWS_PduR_00742]).
PDUR_ONLINE: Signaleert dat de PDU-router succesvol is geïnitialiseerd en gereed voor gebruik is ([SWS_PduR_00742]).
In het kader van de wisselwerking tussen de specificatie-eisen fungeert PduR_StateType als bindende vastlegging voor het interne en externe toestandsmodel van de PDU-router ([SWS_PduR_00324]). Aangezien het waardebereik volgens [SWS_PduR_00742] uitsluitend beperkt is tot PDUR_UNINIT en PDUR_ONLINE, maakt de specificatie hier een strikt onderscheid tussen de niet-geïnitialiseerde begintoestand en de toestand na succesvolle initialisatie. Aanvullende tussenfasen, gedeeltelijke bedrijfsmodi of specifieke fouttoestanden zijn in het waardebereik van PduR_StateType niet voorzien.
Automatisch gegenereerde gebruiksinstructie op basis van de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit I1)
Request a governed re-review of this record. The record is not changed immediately.
Identification of the post-build configuration currently used for routing I-PDUs. An ECU may contain several configurations (post-build selectable), each have unique Id.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel