Transmet les I-PDU de manière inchangée entre les modules de communication supérieurs et inférieurs au moyen d'une table de routage statique.
GÉNÉRÉ PAR IAnon vérifiéModèle : claude-opus-5-5 · Effort : high · Température : non réglable · Prompt : 3a20c4ee9a26ProvenanceQuestions ouvertes (1)
Ancre causale : R20-11Valable à partir de R20-11Synthétisé pour cette version de spécification.
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Transmet les I-PDU de manière inchangée entre les modules de communication supérieurs et inférieurs au moyen d'une table de routage statique.
Le PDU Router transmet les I-PDU entre des modules supérieurs tels que Com et DCM, des interfaces de communication et des protocoles de transport. Pour cela, il convertit uniquement les ID d'I-PDU le long des chemins de routage configurés et ne modifie pas le contenu [SWS_PduR_00160]. Ses tâches comprennent l'émission, la réception, TriggerTransmit, les transmissions TP segmentées et les passerelles avec tampon FIFO optionnel. Le routage s'effectue exclusivement dans l'état PDUR_ONLINE après un PduR_Init réussi [SWS_PduR_00328]. Lors de l'exécution, les groupes de chemins de routage peuvent être activés ou désactivés via PduR_EnableRouting et PduR_DisableRouting.
Le PDU Router transmet les I-PDU entre des modules supérieurs tels que Com et DCM, des interfaces de communication telles que CanIf, FrIf et LinIf ainsi que des protocoles de transport. Ce faisant, il ne modifie pas les I-PDU [SWS_PduR_00160] et route uniquement le long des chemins de routage configurés [SWS_PduR_00162]. Sa prestation clé est la conversion des ID d'I-PDU sur le chemin d'émission ainsi que sur le chemin de confirmation et d'indication [SWS_PduR_00766]. Les interfaces sont génériques ; les espaces réservés <Up>, <Lo> et <LoTp> découlent de la configuration PduRBswModules[SWS_PduR_00504].
Diagramme de contexte : le PduR se situe entre les modules supérieurs et les modules IF ou TP ; BswM commute les groupes de chemins, les erreurs vont au DET. Sources : [SWS_PduR_00504], SWS PDU Router p. 16
Le PduR ne connaît que les états PDUR_UNINIT et PDUR_ONLINE[SWS_PduR_00324]. Le routage s'effectue exclusivement dans PDUR_ONLINE[SWS_PduR_00328]. Il y parvient par PduR_Init(ConfigPtr)[SWS_PduR_00334]. Auparavant, toutes les fonctions sauf PduR_Init et PduR_GetVersionInfo signalent l'erreur PDUR_E_UNINIT, pour autant que la détection d'erreurs soit active [SWS_PduR_00119].
En fonctionnement, le PduR prend en charge les flux suivants :
Il transmet les demandes d'émission à chaque destination d'interface [SWS_PduR_00625].
Il achemine les requêtes TriggerTransmit vers la couche supérieure [SWS_PduR_00430].
En cas de multicast TP, il interroge les mêmes données pour chaque destination avec TP_CONFPENDING ou TP_DATARETRY[SWS_PduR_00631][SWS_PduR_00632] et signale une confirmation consolidée [SWS_PduR_00765].
En tant que passerelle, il met en tampon si souhaité dans une FIFO [SWS_PduR_00785]. Il peut retransmettre des I-PDU TP à la volée à exactement une destination à partir d'un seuil [SWS_PduR_00317][SWS_PduR_00708].
Lors de l'exécution, PduR_EnableRouting et PduR_DisableRouting commutent des groupes entiers de chemins de routage [SWS_PduR_00615][SWS_PduR_00617], typiquement pilotés par BswM. Les appels sur un chemin désactivé se terminent par E_NOT_OK[SWS_PduR_00717]. Le PduR signale les erreurs de développement telles que PDUR_E_PDU_ID_INVALID au DET [SWS_PduR_00100]. Il signale les pertes FIFO comme PDUR_E_PDU_INSTANCES_LOST[SWS_PduR_00670]. Il n'existe pas de traitement d'erreur propre sur les chemins d'interface ; les valeurs de retour vont à la source SWS PDU Router p. 46.
Rôle et frontière du système : transmission d'I-PDU entre modules supérieurs, interfaces et protocoles de transport
Le PDU Router (PduR) est le point central de transmission de la pile de communication classique. Il reçoit des I-PDU d'un module source et les transmet de façon inchangée et cohérente à un ou plusieurs modules de destination [SWS_PduR_00160]. Le routage s'effectue exclusivement le long des chemins de routage configurés [SWS_PduR_00162]. Un chemin est déterminé de manière unique par deux indications : l'ID d'I-PDU source issue de la configuration du PduR et les ID d'I-PDU cibles issues des configurations des modules cibles appelés [SWS_PduR_00161]. La fonction essentielle du PduR est donc la conversion des ID d'I-PDU. Elle s'applique au chemin d'émission ainsi qu'au chemin de confirmation et d'indication [SWS_PduR_00766]. Chaque module choisit lui-même ses identifiants de gestion (Handle IDs) ; la configuration les relie via la Pdu « globale » ECU Configuration Fig. 3.13 p. 192.
Au-dessus du PduR se trouvent des modules tels que Com et DCM. En dessous se trouvent des interfaces de communication telles que CanIf, FrIf et LinIf ainsi que des protocoles de transport tels que CanTp, FrTp et LinTp SWS PDU Router p. 24. Les interfaces sont définies de manière générique. Les espaces réservés <Up>, <Lo> et <LoTp> sont remplacés via la configuration de module référencée dans PduRBswModules, pour les CDD via leur apiServicePrefix[SWS_PduR_00504]SWS PDU Router Fig. 10.2 p. 95. Si un module inférieur prend en charge à la fois TP et IF, les infixes Tp et If s'ajoutent [SWS_PduR_00800].
Si PduRZeroCostOperation est activé et que tous les chemins de routage sont précompilés (Pre-Compile), les modules voisins peuvent s'appeler directement [SWS_PduR_00287]. Si au moins un chemin n'est pas Pre-Compile, le générateur doit signaler une erreur [SWS_PduR_00619]SWS PDU Router p. 56. Le générateur doit éliminer par optimisation les fonctionnalités inutilisées, c'est-à-dire TP, IF, passerelle et FIFO [SWS_PduR_00764].
Cycle de vie : de PDUR_UNINIT à PDUR_ONLINE via PduR_Init
Elle définit les valeurs par défaut configurées des tampons d'émission [SWS_PduR_00308].
Elle active les groupes de chemins de routage selon le paramètre Enable-at-start [SWS_PduR_00709]. Les versions ultérieures nomment ce paramètre PduRIsEnabledAtInitSWS PDU Router p. 131.
Avant l'initialisation, toutes les fonctions sauf PduR_Init et PduR_GetVersionInfo signalent l'erreur PDUR_E_UNINIT, pour autant que PduRDevErrorDetect soit actif [SWS_PduR_00119]. PduR_GetVersionInfo[SWS_PduR_00338] est débloqué via PduRVersionInfoApiSystem Template p. 656.
Les données post-build se trouvent dans PduR_PBConfigType et sont implémentées dans PduR_PBcfg.c [SWS_PduR_00241][SWS_PduR_00743]. Elles sont identifiées de manière unique via PduRConfigurationId[SWS_PduR_00281]. PduR_GetConfigurationId[SWS_PduR_00341][SWS_PduR_00280] fournit cet identifiant sous forme d'un PduR_PBConfigIdType basé sur uint16 ; un calculateur peut contenir plusieurs configurations sélectionnables [SWS_PduR_00771]. Les tables de routage peuvent être mises à jour au moment post-build [SWS_PduR_00295], toutefois uniquement à l'état non initialisé [SWS_PduR_00296]. Le besoin en mémoire peut augmenter avec une nouvelle configuration et doit donc être planifié lors de la conception SWS PDU Router p. 160.
Chemins d'interface de communication : Transmit, TriggerTransmit et confirmations
Si un module supérieur appelle PduR_<User:Up>Transmit[SWS_PduR_00406], le PduR appelle <Lo>_Transmit pour chaque destination [SWS_PduR_00625]. Ce faisant, il n'effectue pas de mise en tampon [SWS_PduR_00629]. Pour la valeur de retour :
En cas de multicast, la couche supérieure doit fournir les mêmes données plusieurs fois. La demande de la première destination va à la couche supérieure avec TP_CONFPENDING[SWS_PduR_00631], toutes les autres avec TP_DATARETRY[SWS_PduR_00632]. Après la dernière confirmation, la couche supérieure reçoit une unique <Up>_TpTxConfirmation. Celle-ci signale E_OK si au moins une destination a signalé E_OK[SWS_PduR_00765]SWS PDU Router Fig. 9.10 p. 83.
La réception TP commence par PduR_<User:LoTp>StartOfReception[SWS_PduR_00507]. Le PduR l'achemine vers <Up>_StartOfReception[SWS_PduR_00549] et renvoie son retour de façon inchangée [SWS_PduR_00623]. Deux réacheminements suivent ensuite :
Fonctionnement en passerelle : transfert immédiat, tampon FIFO et TP à la volée (on-the-fly)
Entre interfaces de communication, le PduR effectue le routage en 1:n [SWS_PduR_00436] et avec un transfert immédiat, c'est-à-dire sans cadence propre [SWS_PduR_00437]. La fonction passerelle ne s'applique qu'en IF↔IF ou TP↔TP [SWS_PduR_00638]. Pour la longueur transmise :
Sans mise en tampon, le PduR transmet le minimum entre la longueur reçue et la longueur de destination configurée [SWS_PduR_00783].
Avec mise en tampon, il copie au maximum PduRPduMaxLength et ignore le reste [SWS_PduR_00746].
Une I-PDU peut simultanément aller localement vers Com et être réacheminée vers un deuxième CAN SWS PDU Router Fig. 9.14 p. 114.
PduRDestPduDataProvision définit la manière dont la destination obtient les données :
Avec PDUR_DIRECT, la destination copie elle-même les données lors de Transmit [SWS_PduR_00303].
Une FIFO est configurable pour chaque I-PDU cible [SWS_PduR_00307]. Le comportement FIFO s'applique dès que PduRQueueDepth est supérieur à 1 [SWS_PduR_00785]. Le diagramme d'activité récapitule les règles d'entrée et de sortie [SWS_PduR_00665][SWS_PduR_00666].
Il existe deux méthodes pour les passerelles TP. En routage de passerelle direct (Direct Gatewaying), <DstLoTp>_Transmit démarre dans la RxIndication avec E_OK[SWS_PduR_00551]. Dans le cas du routage de passerelle à la volée (On-the-fly-Gatewaying), la retransmission démarre dès que PduRTpThreshold est atteint [SWS_PduR_00317]. Dans ce cas, une seule destination est autorisée [SWS_PduR_00708], et les données déjà émises ne sont pas répétées [SWS_PduR_00707]SWS PDU Router p. 58. Le PduR choisit le tampon en fonction de la taille :
Si le message tient dans PduRPduMaxLength, il utilise le tampon dédié [SWS_PduR_00797].
Sinon, il récupère dynamiquement un tampon dans PduRTxBuffer[SWS_PduR_00798].
Il libère le tampon avec la TxConfirmation [SWS_PduR_00637]. Si l'I-PDU doit en plus être reçue localement, le PduR appelle <UpTp>_StartOfReception, <UpTp>_CopyRxData et <UpTp>_RxIndication dans cet ordre [SWS_PduR_00789]. Pour cela, il doit mettre en mémoire tampon car le DCM n'a pas connaissance de la passerelle SWS PDU Router p. 112.
Groupes de chemins de routage : commuter le routage lors de l'exécution
Les groupes de chemins de routage regroupent des chemins par réseau ou par type de PDU. Ils sont généralement commutés par le BswM SWS PDU Router p. 69. PduR_EnableRouting(id)[SWS_PduR_00615] et PduR_DisableRouting(id, initialize)[SWS_PduR_00617] servent à cet effet ; l'identifiant est du type uint16[SWS_PduR_00654]. L'activation prend effet immédiatement [SWS_PduR_00715]. Lors de la désactivation, les règles suivantes s'appliquent :
initialize détermine si les tampons individuels sont réinitialisés à la valeur par défaut [SWS_PduR_00617].
Les FIFO des chemins arrêtés sont vidées et le PduR signale PDUR_E_PDU_INSTANCES_LOST[SWS_PduR_00663].
Le Mode Management Guide recommande les groupes de chemins de routage pour les I-PDU sans groupe d'I-PDU Com, par exemple pour LdCom. La commutation s'effectue via des règles BswM, par exemple en fonction de l'état du Partial Network Mode Management Guide p. 50. L'action BswM BswMPduRouterControl appelle à cet effet PduR_EnableRouting ou PduR_DisableRoutingSWS BSW Mode Manager p. 145. En cas de routage n:1 vers un module local, au plus un chemin peut être actif à l'exécution System Template p. 736[SWS_PduR_00615].
Des règles propres s'appliquent aux passerelles TP :
Si RxIndication ne signale pas E_OK, le PduR interrompt le traitement [SWS_PduR_00689].
Si l'espace tampon fait défaut pour la passerelle à la volée (on-the-fly), celle-ci renvoie BUFREQ_E_NOT_OK et s'interrompt [SWS_PduR_00687].
Si aucun tampon n'est disponible du tout, elle renvoie BUFREQ_E_OVFL[SWS_PduR_00799].
Si une destination tombe en panne, les autres continuent de fonctionner [SWS_PduR_00803]. Si toutes tombent en panne, elle arrête le côté réception [SWS_PduR_00804].
Les passages suivants étayent les déclarations de ce guide. Les séquences du chapitre 9 de la spécification les illustrent, comme SWS PDU Router Fig. 9.5 p. 100.
Guide généré par IA sur la base des Requirements du SWS PDU Router (R20-11) et des passages de documents associés ; seules les Requirements liées font foi. Veuillez vérifier auprès de la spécification les affirmations qualifiées d'interprétation.
PDU Router (PduR)
The PDU Router routes I-PDUs between communication interfaces, transport protocols, and upper layers without payload inspection.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 8eca52c90f1cProvenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Utilisation
La fonction synchrone et non réentrante PduR_Init initialise le routeur de PDU [SWS_PduR_00334]. Elle prend comme paramètre avec ConfigPtr un pointeur vers la configuration post-build du module (PduR_PBConfigType) et ne renvoie aucune valeur de retour [SWS_PduR_00334]. Dans le cadre de l'initialisation, PduR_Init préremplit tous les tampons d'émission de PDU avec les valeurs par défaut configurées [SWS_PduR_00308].
Interaction et conditions d'ordonnancement
Après la mise sous tension, le module se trouve d'abord à l'état PDUR_UNINIT[SWS_PduR_00325]. PduR_Init doit être appelée avant toutes les autres fonctions du module, car les autres interfaces – à l'exception de PduR_GetVersionInfo – signalent l'erreur PDUR_E_UNINIT via le DET à l'état non initialisé, pour autant que PduRDevErrorDetect soit activé [SWS_PduR_00119].
Gestion des erreurs et concurrence
Si PduR_Init est appelée dans un autre état que PDUR_UNINIT, cela est considéré comme PDUR_E_UNINIT[SWS_PduR_00100]. En cas de pointeur de configuration invalide ou de transmission d'un pointeur nul, les codes d'erreur PDUR_E_INIT_FAILED ou PDUR_E_PARAM_POINTER s'appliquent [SWS_PduR_00100]. En raison de l'absence de réentrance, aucun appel parallèle de la routine d'initialisation ne doit avoir lieu [SWS_PduR_00334].
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : e3aad02fdb37ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction synchrone PduR_EnableRouting (ID de service 0xf3) sert à l'activation ciblée d'un groupe de chemins de routage défini dans le routeur de PDU ([SWS_PduR_00615]). Comme unique paramètre, elle prend l'identifiant de groupe id de type PduR_RoutingPathGroupIdType, qui adresse le groupe de chemins de routage correspondant dans la configuration du routeur de PDU ([SWS_PduR_00615]). L'appel ne possède pas de valeur de retour et est disponible via le fichier d'en-tête PduR.h ([SWS_PduR_00615]).
Pour une utilisation sans erreur, les états du système et les limites des paramètres sont déterminants : avant l'appel, le module PduR doit être entièrement initialisé, car l'exécution dans un état non initialisé déclenche l'erreur PDUR_E_UNINIT ([SWS_PduR_00100]). Si un identificateur de table de routage ou de groupe de chemins invalide est transmis à la fonction PduR_EnableRouting, cela entraîne l'erreur PDUR_E_ROUTING_PATH_GROUP_ID_INVALID avec la valeur d'erreur 0x08 ([SWS_PduR_00100]).
Concernant la concurrence, l'interface est déclarée réentrante ([SWS_PduR_00615]), de sorte que les appels parallèles pour commander des groupes de chemins sont en principe autorisés. Dans le système global, la fonction sert à l'activation dynamique de relations de communication ; le service est vraisemblablement déclenché de façon typique par des instances de niveau supérieur telles que le gestionnaire de mode afin d'activer des chemins de routage à l'exécution en fonction des états du système ou du réseau. Question Q-365f4b81f59f3511 (ouverte)
Note d'utilisation générée automatiquement sur la base de la spécification AUTOSAR Classic (version R20-11).
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 79b319e1f13bProvenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
La fonction synchrone PduR_DisableRouting sert à désactiver un groupe de chemins de routage configuré ([SWS_PduR_00617]). Elle est conçue pour être réentrante et ne possède pas de valeur de retour ([SWS_PduR_00617]).
Paramètres et comportement
id (PduR_RoutingPathGroupIdType) : identification du groupe de chemins de routage à désactiver, tel qu'il est défini dans la configuration du routeur de PDU ([SWS_PduR_00617]).
initialize (boolean) : contrôle le comportement des tampons lors de la désactivation. Lors de la transmission de true, les tampons simples sont initialisés à leur valeur par défaut ; avec false, les tampons simples conservent leur valeur actuelle ([SWS_PduR_00617]).
Gestion des erreurs et conditions limites
En cas d'erreur, des codes d'erreur spécifiques sont définis selon la table des erreurs ([SWS_PduR_00100]) :
Si la fonction est appelée sans que le module soit initialisé, le code d'erreur PDUR_E_UNINIT (0x01) est prévu ([SWS_PduR_00100]).
Si une table de routage ou un ID de groupe invalide est transmis à PduR_DisableRouting, l'erreur PDUR_E_ROUTING_PATH_GROUP_ID_INVALID (0x08) est spécifiée ([SWS_PduR_00100]).
La fonction est disponible via le fichier d'en-tête PduR.h ([SWS_PduR_00617]).
Cette note d’utilisation a été générée de manière automatisée sur la base des exigences de la spécification.
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.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9763b14fa079Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Le type énuméré PduR_StateType spécifie, conformément à [SWS_PduR_00742], les états du routeur de PDU. Le type de données est mis à disposition via le fichier d'en-tête PduR.h et sert, au sein du routeur de PDU, de base formelle typée pour représenter l'état d'initialisation respectif à l'intérieur du module ainsi que pour les composants appelants.
Conformément à l'exigence [SWS_PduR_00324], le module routeur de PDU comprend exactement deux états de fonctionnement, qui sont définis par les valeurs d'énumération de PduR_StateType. La plage de valeurs définie selon [SWS_PduR_00742] comprend les valeurs suivantes :
PDUR_UNINIT : Indique l'état dans lequel le routeur de PDU n'est pas initialisé ([SWS_PduR_00742]).
PDUR_ONLINE : Signale que le routeur de PDU a été initialisé avec succès et est prêt à fonctionner ([SWS_PduR_00742]).
Dans le cadre de l'interaction des exigences de spécification, PduR_StateType sert de définition contraignante pour le modèle d'état interne et externe du routeur de PDU ([SWS_PduR_00324]). Comme la plage de valeurs est, selon [SWS_PduR_00742], exclusivement limitée à PDUR_UNINIT et PDUR_ONLINE, la spécification distingue ici strictement l'état initial non initialisé de l'état consécutif à une initialisation réussie. Des étapes intermédiaires supplémentaires, des modes de fonctionnement partiels ou des états d'erreur spécifiques ne sont pas prévus dans la plage de valeurs de PduR_StateType.
Note d'utilisation générée automatiquement sur la base de la spécification AUTOSAR.
Guide de l'implémenteur à venir (complexité 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 · Original allemand