DEENESPTFRRUARHIKOZHNL

ADC Driver (Adc)

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

Guide du moduleGÉNÉRÉ PAR IA

Commande les convertisseurs analogique-numérique du microcontrôleur via des groupes de canaux et fournit leurs valeurs brutes.
GÉNÉRÉ PAR IA non vérifié Modèle : claude-opus-5-5 · Effort : high · Température : non réglable · Prompt : b520b4ed0d83 Provenance Questions ouvertes (5)
Ancre causale : R20-11 Valable à partir de R20-11 Synthétisé pour cette version de spécification.
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Commande les convertisseurs analogique-numérique du microcontrôleur via des groupes de canaux et fournit leurs valeurs brutes.

Le pilote ADC encapsule dans le MCAL les convertisseurs analogique-numérique du microcontrôleur et convertit toujours les canaux sous forme de groupes configurés : déclenchés par logiciel ou par matériel, uniques ou continus [SWS_Adc_00515]. Après Adc_Init, des utilisateurs tels que l'IoHwAb lancent des conversions. Ils détectent la fin par interrogation d'état ou par notification, puis lisent les valeurs brutes à l'aide de Adc_ReadGroup ou Adc_GetStreamLastPointer. Le pilote prend optionnellement en charge les changements d'état de puissance à deux niveaux. Principale contrainte : aucune conversion de groupe ne doit démarrer sans mémoire tampon de résultat préalablement configurée avec Adc_SetupResultBuffer [SWS_Adc_91000].

Le pilote ADC encapsule dans le MCAL les convertisseurs analogique-numérique du microcontrôleur. L'EcuM l'initialise avec Adc_Init [SWS_Adc_00365]. L'utilisateur typique est l'IoHwAb ; elle reçoit la notification IoHwAb_AdcNotification<#groupID> après la fin d'une conversion de groupe [SWS_Adc_00082]. Avant la première conversion, une mémoire tampon de résultat suffisamment grande doit être configurée avec Adc_SetupResultBuffer après chaque réinitialisation [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 Commander et lire les groupes, API d'état d'alimentation adc->iohwab IoHwAb_AdcNotification<#groupID>, IoHwAb_Adc_NotifyReadyForPowerState<#Mode> det Det adc->det Erreurs de développement et de runtime hw ADC Conversion Unit adc->hw Wandlung starten / stoppen hw->adc Wandlung abgeschlossen trig HW Trigger Source trig->hw Trigger-Ereignis

Diagramme de contexte : EcuM initialise, IoHwAb commande et reçoit les notifications, les erreurs sont transmises au DET, les conversions s'exécutent dans la périphérie. Sources : SWS IoHwAb p. 55, [SWS_Adc_00377]

Le pilote convertit toujours les canaux sous forme de groupes configurés. Chaque groupe possède trois réglages :

  • Source de déclenchement : logicielle ou matérielle [SWS_Adc_00514].
  • Mode de conversion : One-Shot ou Continuous ; Continuous uniquement avec déclenchement logiciel [SWS_Adc_00515].
  • Mode d'accès : Single ou Streaming avec mémoire tampon linéaire ou circulaire [SWS_Adc_00528], [SWS_Adc_00519].

L'état de groupe indique la progression avec ADC_IDLE, ADC_BUSY, ADC_COMPLETED et 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 Tour de tous les canaux terminé [échantillons restants >= 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 [circulaire]

Diagramme d'états : état de groupe lors d'une conversion continue en streaming ; une mémoire tampon linéaire se termine en ADC_IDLE après lecture. Sources : SWS ADC p. 39

Adc_StartGroupConversion démarre et Adc_StopGroupConversion arrête les groupes déclenchés par logiciel. Les groupes déclenchés par matériel sont commutés via Adc_EnableHardwareTrigger et Adc_DisableHardwareTrigger [SWS_Adc_00367], [SWS_Adc_91001]. L'utilisateur détecte la fin par Scrutation de Adc_GetGroupStatus ou par notification ; il doit activer cette dernière séparément SWS ADC p. 57. Les valeurs brutes non mises à l'échelle sont lues avec Adc_ReadGroup ou Adc_GetStreamLastPointer [SWS_Adc_00369], [SWS_Adc_00375].

Des mécanismes de priorité, de mise en file d'attente et de préemption régulent les demandes concurrentes [SWS_Adc_00522], [SWS_Adc_00523]. En l'absence des deux, le pilote rejette une seconde demande avec ADC_E_BUSY [SWS_Adc_91006]. Le pilote change optionnellement d'état de puissance en deux étapes : préparation avec Adc_PreparePowerState, commutation avec Adc_SetPowerState. Les parties asynchrones s'exécutent dans Adc_Main_PowerTransitionManager [SWS_Adc_00478], [SWS_Adc_00479].

Rôle du pilote ADC entre l'IoHwAb et le matériel de conversion

Le pilote ADC est le module MCAL dédié aux convertisseurs analogique-numérique du microcontrôleur. Adc_Init initialise les unités matérielles ADC et le pilote [SWS_Adc_00365]. Tous les autres services opèrent sur des groupes de canaux référencés par un ID numérique (Adc_GroupType) [SWS_Adc_00507]. L'utilisateur typique est l'I/O Hardware Abstraction : elle démarre les conversions pour le compte d'un SWC de capteur et est notifiée après achèvement via IoHwAb_AdcNotification<#groupID> [SWS_Adc_00082], SWS IoHwAb p. 55. L'EcuM initialise le pilote, pour lequel Adc_Init constitue une interface optionnelle SWS EcuM p. 142.

Le pilote se situe au niveau architectural le plus bas. Il n'offre donc aucun rappel pour les modules sous-jacents SWS ADC p. 79. L'API de l'ADC n'accède pas directement aux registres de résultat matériels. Les résultats parviennent toujours à l'utilisateur via les mémoires tampons de l'application SWS ADC p. 27. Le pilote signale les erreurs via Det_ReportError [SWS_Adc_00377]. Les passages de documents cités proviennent principalement de R23-11 à R25-11. Les exigences sont normatives pour R20-11.

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 Commander et lire les groupes, API d'état d'alimentation adc->iohwab IoHwAb_AdcNotification<#groupID>, IoHwAb_Adc_NotifyReadyForPowerState<#Mode> det Det adc->det Erreurs de développement et de runtime hw ADC Conversion Unit adc->hw Wandlung starten / stoppen hw->adc Wandlung abgeschlossen trig HW Trigger Source trig->hw Trigger-Ereignis

Diagramme de contexte : le pilote ADC assure l'intermédiation entre EcuM, IoHwAb, DET et les périphériques de conversion ; les notifications ne remontent que vers le haut. Sources : SWS IoHwAb p. 55, [SWS_Adc_00082], [SWS_Adc_00480], [SWS_Adc_00377]

L'implémentation doit rejeter les configurations présentant des affectations de partition non prises en charge [SWS_Adc_00531]. Les partitions référencées via AdcKernelEcucPartitionRef doivent être un sous-ensemble des partitions de AdcEcucPartitionRef [SWS_Adc_CONSTR_00001]. Interprétation : cela devrait recouvrir la division entre une partie noyau proche des interruptions et une partie interface, comme le montre l'exemple de mappage mémoire pour Adc SWS MemMap p. 57. Question Q-bb6e1ddff67fa0c3 (ouverte)

Cycle de vie : initialisation, mémoire tampon de résultat et désinitialisation

Après la réinitialisation, le pilote se trouve dans ADC_UNINIT. Adc_Init mène à ADC_INIT, Adc_DeInit ramène en arrière SWS ADC p. 31. Adc_Init est synchrone et non réentrant. Dans la variante PB, ConfigPtr pointe vers le jeu de configuration ; la variante PC exige NULL_PTR [SWS_Adc_00365]. Adc_ConfigType est une structure spécifique à l'implémentation [SWS_Adc_00505]. Le configurateur crée les noms symboliques pour les canaux et les groupes dans l'en-tête de configuration SWS ADC p. 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

Diagramme d'états : Adc_Init et Adc_DeInit basculent entre ADC_UNINIT et ADC_INIT ; One-Shot et Continuous sont des options de configuration pour chaque groupe. Sources : SWS ADC p. 31, SWS ADC p. 91

Après chaque réinitialisation, l'utilisateur doit transmettre l'adresse de début du tampon de résultats avec Adc_SetupResultBuffer avant la première conversion d'un groupe. L'application s'assure que le tampon peut recevoir tous les résultats du groupe [SWS_Adc_91000]. Aucune conversion ne doit démarrer sans pointeur de tampon initialisé de manière valide SWS ADC p. 54.

Adc_DeInit ramène toutes les unités matérielles dans un état comparable au reset à la mise sous tension (power-on reset) [SWS_Adc_00366]. Le service masque toutes les interruptions et notifications utilisées. Il n'est autorisé que si tous les groupes sont dans ADC_IDLE, et peut être désactivé via AdcDeInitApi SWS ADC p. 59.

Groupes de canaux : modes de déclenchement, de conversion et d'accès

Un groupe rassemble des canaux [SWS_Adc_00517], [SWS_Adc_00506]. Il est configuré selon trois axes :

  • Source de déclenchement : ADC_TRIGG_SRC_SW ou ADC_TRIGG_SRC_HW [SWS_Adc_00514].
  • Mode de conversion : ADC_CONV_MODE_ONESHOT convertit chaque canal exactement une fois par déclenchement. ADC_CONV_MODE_CONTINUOUS convertit en continu et n'est possible qu'avec un déclenchement logiciel [SWS_Adc_00515].
  • Mode d'accès : ADC_ACCESS_MODE_SINGLE ou ADC_ACCESS_MODE_STREAMING [SWS_Adc_00528]. En streaming, Adc_StreamNumSampleType définit le nombre de cycles [SWS_Adc_00518]. Un tampon linéaire arrête la conversion dès qu'il est plein ; un tampon circulaire fonctionne en boucle [SWS_Adc_00519].

Le prédiviseur, le temps de conversion, le temps d'échantillonnage et la résolution ne sont pas des types d'API [SWS_Adc_00509], [SWS_Adc_00510], [SWS_Adc_00511], [SWS_Adc_00512]. Pour les déclenchements matériels, le front et le rechargement de temporisateur peuvent être configurés si le matériel le prend en charge [SWS_Adc_00520], [SWS_Adc_00521]. Les résultats sont des valeurs brutes non mises à l'échelle, alignées à gauche ou à droite [SWS_Adc_00508], [SWS_Adc_00525].

La progression d'un groupe est décrite par Adc_StatusType [SWS_Adc_00513] :

  • ADC_IDLE : non démarré.
  • ADC_BUSY : conversion en cours.
  • ADC_COMPLETED : un cycle est terminé, mais pas le dernier.
  • ADC_STREAM_COMPLETED : tampon de résultats complet.

Les transitions dépendent de la configuration SWS ADC p. 39.

gruppenstatus idle ADC_IDLE busy ADC_BUSY idle->busy Adc_StartGroupConversion busy->idle Adc_StopGroupConversion comp ADC_COMPLETED busy->comp Tour de tous les canaux terminé [échantillons restants >= 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 [circulaire]

Diagramme d'états : état de groupe lors d'une conversion continue déclenchée par logiciel avec streaming ; le tampon linéaire se termine dans ADC_IDLE après lecture, le tampon circulaire continue de tourner. Sources : SWS ADC p. 39, SWS ADC p. 70, [SWS_Adc_00513]

Du démarrage au résultat : séquences de conversion typiques

Dans le cas le plus simple, une conversion one-shot se déroule en trois étapes SWS ADC p. 91 :

  1. Adc_StartGroupConversion démarre le groupe de manière asynchrone [SWS_Adc_00367].
  2. Adc_GetGroupStatus interroge l'état [SWS_Adc_00374].
  3. Adc_ReadGroup lit les résultats [SWS_Adc_00369].

Le démarrage réinitialise le pointeur de tampon à l'adresse de base. Il n'active pas automatiquement la notification SWS ADC p. 57.

Conversion unique déclenchée par logiciel sans notificationAdc UserAdcADC Conversion UnitPrérequis après reset : configurer le tampon de résultatsAdc_SetupResultBuffer(Group1, DataBufferPtr)E_OKAdc_StartGroupConversion(Group1)start conversion(Group1)Retour (asynchrone)loopAdc_GetGroupStatus = ADC_BUSYAdc_GetGroupStatus(Group1)ADC_BUSYconversion completed(Group1)Adc_GetGroupStatus(Group1)ADC_STREAM_COMPLETEDAdc_ReadGroup(Group1, DataBufferPtr)E_OK, valeurs brutes dans le tampon de lecture

Diagramme de séquence : configuration du tampon, démarrage, scrutation de l'état, lecture. Sources : SWS ADC p. 91, [SWS_Adc_91000]

Au lieu de scruter, l'utilisateur peut appeler préalablement Adc_EnableGroupNotification [SWS_Adc_91003]. AdcGrpNotifCapability active ce service SWS ADC p. 67. En conversion continue, le pilote signale chaque cycle achevé. Cela ne se termine qu'avec Adc_StopGroupConversion [SWS_Adc_00368], SWS ADC p. 92.

Conversion continue déclenchée par logiciel avec notificationAdc UserAdcADC Conversion UnitAdc_EnableGroupNotification(Group1)RetourAdc_StartGroupConversion(Group1)start conversion(Group1)Retourloopje abgeschlossene Wandlungsrundeconversion completed(Group1)Adc_Notification_Group_1()Adc_ReadGroup(Group1, DataBufferPtr)E_OKAdc_StopGroupConversion(Group1)stop conversion(Group1)Retour

Diagramme de séquence : à chaque cycle achevé succèdent une notification et une lecture, jusqu'à ce que l'utilisateur arrête. Sources : SWS ADC p. 92, [SWS_Adc_00082]

Adc_EnableHardwareTrigger active les groupes déclenchés par matériel [SWS_Adc_91001]. Ensuite, le groupe effectue une conversion à chaque événement de déclenchement SWS ADC p. 62. Adc_DisableHardwareTrigger [SWS_Adc_91002] a plusieurs effets SWS ADC p. 65 :

  • Il supprime les requêtes en attente.
  • Il interrompt une conversion en cours si le matériel le prend en charge.
  • Il désactive la notification.
  • Il réinitialise le groupe à ADC_IDLE.

En cas de streaming linéaire, le déclenchement se désactive dès que le tampon est plein SWS ADC p. 95.

Conversion unique déclenchée par matériel avec notificationAdc 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()aucune notificationAdc_DisableHardwareTrigger(Group1)disable hardware trigger source(Group1)Le groupe passe à ADC_IDLE

Diagramme de séquence : chaque événement de déclenchement déclenche une conversion ; une notification n'est émise que si elle est active. Sources : SWS ADC p. 93

Deux voies existent pour la lecture :

  • Adc_ReadGroup copie les valeurs du dernier cycle complet dans l'ordre croissant des canaux. Si aucun résultat n'est disponible, il renvoie E_NOT_OK [SWS_Adc_00369], SWS ADC p. 61.
  • Adc_GetStreamLastPointer fournit le nombre d'échantillons valides par canal ainsi qu'un pointeur vers le résultat le plus récent du premier canal du groupe [SWS_Adc_00375]. L'utilisateur doit alors prendre en compte lui-même l'organisation du tampon par canal SWS ADC p. 27.

Groupes concurrents : priorité, mise en file d'attente et préemption

Adc_PriorityImplementationType régit les requêtes simultanées : aucun mécanisme, matériel uniquement, ou matériel et logiciel [SWS_Adc_00522]. Les priorités vont de 0 (la plus basse) à 255 [SWS_Adc_00516]. Si un groupe est interrompu par un groupe de priorité supérieure, son cycle redémarre (ADC_GROUP_REPL_ABORT_RESTART) ou reprend (ADC_GROUP_REPL_SUSPEND_RESUME). Les résultats des cycles précédents sont conservés dans les deux cas [SWS_Adc_00523].

Sans priorité ni mise en file d'attente, le pilote rejette une deuxième requête avec ADC_E_BUSY SWS ADC p. 95. Avec une file d'attente logicielle, il l'enregistre et la démarre ultérieurement SWS ADC p. 96. Avec priorisation, le groupe de priorité supérieure préempte celui en cours SWS ADC p. 97, SWS ADC p. 98. Adc_StopGroupConversion supprime également une requête de démarrage en attente SWS ADC p. 58.

prioritaet start Nouvelle demande de groupe, pendant qu'un autre groupe convertit prio Mécanisme de priorité ? (Adc_PriorityImplementationType) start->prio queue Queuing aktiviert? prio->queue ADC_PRIORITY_NONE higher Priorité supérieure à celle du groupe en cours ? prio->higher ADC_PRIORITY_HW / ADC_PRIORITY_HW_SW busy Anforderung abgewiesen, Laufzeitfehler ADC_E_BUSY queue->busy Non store Enregistrer la demande dans la file d'attente, démarrage après le groupe en cours queue->store Oui higher->store Non repl Annuler ou interrompre le groupe en cours (Adc_GroupReplacementType) higher->repl Oui conv Convertir le groupe de priorité supérieure repl->conv resume Redémarrer le groupe interrompu ou continuer conv->resume

Diagramme d'activité : le fait qu'une requête soit rejetée, enregistrée ou priorisée lorsque le convertisseur est occupé dépend du mécanisme de priorité et de la mise en file d'attente. Sources : [SWS_Adc_00522], [SWS_Adc_00523], SWS ADC p. 99

États de puissance du matériel ADC

La gestion de puissance est optionnelle et limitée aux périphériques ADC. Les couches supérieures satisfont aux contraintes architecturales ; le pilote vérifie uniquement l'ordre des appels SWS ADC p. 39. Adc_PowerStateType reconnaît ADC_FULL_POWER (0) et les états 1..255 avec une consommation décroissante [SWS_Adc_00526]. Adc_PowerStateRequestResultType signale le résultat de chaque requête [SWS_Adc_00527].

La transition s'effectue en deux étapes :

  1. Préparer : Adc_PreparePowerState démarre la préparation [SWS_Adc_00478]. Les parties asynchrones s'exécutent dans le cyclique Adc_Main_PowerTransitionManager [SWS_Adc_00498], [SWS_Adc_00479]. Sa période est fixée par AdcMainSchedulePeriod [SWS_Adc_00500]. En mode asynchrone, il signale l'état prêt via IoHwAb_Adc_NotifyReadyForPowerState<#Mode> [SWS_Adc_00501], [SWS_Adc_00480].
  2. Basculer : Adc_SetPowerState active l'état préparé [SWS_Adc_00475]. Les travaux préalables tels que les canaux au repos incombent aux utilisateurs. Il n'existe pas d'états intermédiaires implicites SWS ADC p. 81.
Changement asynchrone d'état d'alimentation de l'ADC via l'IoHwAbBswMRteIoHwAbAdcUse Case: VorbereitungRTE/SchMSwitch (Moduswechsel)OnEntryRunnable_LowPowerModeA()IoHwAb_PreparePowerState_LowPowerModeA()Adc_PreparePowerState(PwrSts_1)E_OK, ADC_SERVICE_ACCEPTEDUse Case: Hintergrundverarbeitungloopde manière cyclique, jusqu'à ce que la préparation soit achevéeAdc_Main_PowerTransitionManager()IoHwAb_Adc_NotifyReadyForPowerStateLowPowerModeA()IoHwAb_PollForResults()Use Case: UmschaltenAdc_SetPowerState(&Result)E_OKAdc_GetCurrentPowerState()aktueller LeistungszustandRTE/SchMSwitch(LowPowerModeA_Transition_End)Finalisation du changement de mode

Diagramme de séquence : transition d'état de puissance asynchrone, coordonnée par l'IoHwAb. Sources : SWS IoHwAb p. 57, SWS IoHwAb p. 57, [SWS_Adc_00479]

Pour Adc_SetPowerState, l'interprétation suivante s'applique en outre probablement : l'état normal utilise les mêmes conteneurs de configuration que Adc_Init, les autres états n'utilisant que des reconfigurations spécifiques aux transitions [SWS_Adc_00483], [SWS_Adc_00484], [SWS_Adc_00485]. Question (ouverte) Adc_GetCurrentPowerState et Adc_GetTargetPowerState fournissent l'état réel et l'état cible [SWS_Adc_00476], [SWS_Adc_00477]. Sans transition en cours, les deux concordent SWS ADC p. 77.

Comportement en cas d'erreur

Le pilote signale les erreurs de développement via Det_ReportError [SWS_Adc_00377]. [SWS_Adc_91005] mentionne notamment :

  • 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

Deux exemples : en cas de groupe inconnu, les services de notification signalent ADC_E_PARAM_GROUP et retournent sans effet SWS ADC p. 68. Adc_GetVersionInfo vérifie son pointeur sur NULL SWS ADC p. 80.

Les erreurs d'exécution sont ADC_E_BUSY (conversion en cours, déclencheur actif ou requête déjà dans la file d'attente), ADC_E_IDLE, ADC_E_NOT_DISENGAGED et ADC_E_TRANSITION_NOT_POSSIBLE [SWS_Adc_91006]. Les services avec valeur de retour signalent en outre l'échec avec E_NOT_OK, comme Adc_ReadGroup et Adc_SetupResultBuffer [SWS_Adc_00369], [SWS_Adc_91000].

Des erreurs spécifiques s'appliquent à la gestion de puissance :

Result distingue en outre ADC_SEQUENCE_ERROR et ADC_HW_FAILURE [SWS_Adc_00527]. Avant l'initialisation, Adc_Main_PowerTransitionManager retourne sans notification DET [SWS_Adc_00502].

Preuves détaillées supplémentaires

Guide de module généré par IA sur la base des exigences de R20-11 et de passages de documents associés, issus en partie de versions ultérieures. La spécification reste la seule référence faisant foi.

ADC Driver (Adc)

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

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

fonction Adc_Init [SWS_Adc_00365] 📄 PDF

void Adc_Init (const Adc_ConfigType* ConfigPtr);

Initializes the ADC hardware units and driver.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 8695b1caa4ff Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone Adc_Init (ID de service 0x00) sert à la configuration initiale et à la mise en service de toutes les unités matérielles ADC ainsi que du pilote ADC conformément à [SWS_Adc_00365]. L'interface est mise à disposition via le fichier d'en-tête Adc.h et ne possède aucune valeur de retour.

Paramètres et variantes de configuration

La transmission des données de configuration s'effectue via le paramètre pointeur ConfigPtr de type const Adc_ConfigType* [SWS_Adc_00365]. L'argument requis dépend de la variante de build choisie :

  • En cas d'utilisation de la configuration post-build (Variant PB), ConfigPtr doit pointer vers la structure de données correspondante avec les valeurs d'initialisation.
  • Si la variante de précompilation (Variant PC) est utilisée, l'interface exige explicitement la transmission d'un NULL_PTR [SWS_Adc_00365].

Concurrence et intégration système

La fonction Adc_Init est spécifiée comme non réentrante (Non Reentrant) [SWS_Adc_00365]. Interprétation : Étant donné que les unités matérielles sont configurées de manière globale et qu'il n'y a pas de réentrance, l'appel devrait typiquement avoir lieu de manière centralisée lors de l'initialisation du système, avant que d'autres fonctions du module ou conversions ne soient initiées. Question Q-a82e9204ae7a5ab7 (ouverte)

Concernant la gestion de l'énergie, il existe un couplage direct avec des exigences connexes : si l'état d'énergie normal (normal Power State) est demandé en fonctionnement, l'API correspondante doit recourir à des paramètres de configuration situés dans les mêmes conteneurs que les paramètres d'initialisation de Adc_Init [SWS_Adc_00483].

Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I2)

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 810f267dbee4 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction Adc_SetupResultBuffer initialise le pilote ADC avec l'adresse de début d'un tampon spécifique au groupe pour le stockage des résultats de conversion [SWS_Adc_91000]. Cet appel est impérativement requis après un reset avant de pouvoir démarrer une conversion de groupe [SWS_Adc_91000].

Paramètres et contexte d'appel

  • Group : identifiant numérique du groupe de canaux ADC demandé [SWS_Adc_91000].
  • DataBufferPtr : pointeur vers le tampon de données (type Adc_ValueGroupType*) dans lequel les résultats sont stockés [SWS_Adc_91000].

La fonction est déclarée réentrante et asynchrone, et est disponible via le fichier d'en-tête Adc.h (ID de service 0x0c) [SWS_Adc_91000].

Valeurs de retour et gestion des erreurs

Le type de retour est Std_ReturnType [SWS_Adc_91000] :

  • E_OK : le pointeur vers le tampon de résultats a été initialisé avec succès [SWS_Adc_91000].
  • E_NOT_OK : l'opération a échoué ou une erreur de développement est survenue [SWS_Adc_91000].

Obligations de l'application

L'application appelante doit garantir que le tampon vers lequel pointe DataBufferPtr met à disposition un espace mémoire suffisant pour l'ensemble des résultats de conversion du groupe de canaux spécifié [SWS_Adc_91000].

Cette note d'utilisation a été générée automatiquement sur la base de la spécification d'AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I2)

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 2d8196154794 Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction Adc_DeInit sert à la désinitialisation du pilote ADC et fait passer toutes les unités matérielles ADC associées dans un état comparable à l'état qui suit immédiatement un power-on reset [SWS_Adc_00366]. Elle rétablit ainsi l'état initial du matériel avant une nouvelle initialisation.

Appel et interface

La fonction est déclarée dans le fichier d'en-tête Adc.h et possède l'ID de service 0x01 [SWS_Adc_00366]. L'appel s'effectue de manière synchrone (Synchronous) et ne requiert aucun paramètre (ni In, InOut ni Out) ; aucune valeur de retour n'est non plus fournie (signature void Adc_DeInit(void)) [SWS_Adc_00366]. Aucun paramètre d'entrée ni valeur de retour n'est alors évalué ou généré. En raison de la sémantique synchrone, l'exécution bloque l'appelant jusqu'à ce que la réinitialisation de toutes les unités soit terminée [SWS_Adc_00366].

Concurrence et restrictions

Concernant la concurrence, la fonction est spécifiée comme non réentrante (Non Reentrant) [SWS_Adc_00366]. Il en découle l'interprétation : Des appels simultanés ou chevauchants de Adc_DeInit depuis plusieurs tâches ou différentes couches logicielles ne sont pas autorisés et doivent être coordonnés et évités par l'appelant.

Puisque Adc_DeInit rétablit complètement toutes les unités matérielles ADC dans l'état de reset [SWS_Adc_00366], il conviendrait de s'assurer avant l'appel qu'aucun processus de mesure ou de conversion n'est encore actif, afin d'empêcher un comportement indéfini du matériel. Question Q-15bfa2b822826786 (ouverte)

Ce texte a été généré par une IA et sert d'aide documentaire d'orientation.

Guide de l'implémenteur à venir (complexité I2)

fonction Adc_StartGroupConversion [SWS_Adc_00367] 📄 PDF

void Adc_StartGroupConversion (Adc_GroupType Group);

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f9cdec07ac51 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction Adc_StartGroupConversion démarre la conversion de tous les canaux du groupe de canaux ADC transmis conformément à [SWS_Adc_00367]. L'ID de groupe numérique Group de type Adc_GroupType est transmis en paramètre. La fonction n'a pas de valeur de retour (void) et fonctionne de manière asynchrone ([SWS_Adc_00367]).

Concurrence et restrictions

Selon la spécification, le service est classé réentrant ([SWS_Adc_00367]). Interprétation : Cela devrait signifier que la fonction peut être appelée de manière concurrente pour différents groupes de canaux. Question Q-8283232f222f7b0a (ouverte) Comme le démarrage s'effectue de manière asynchrone, l'appel revient avant la fin de la conversion proprement dite.

Traitement des erreurs et interaction

Le service est disponible via l'en-tête Adc.h et possède l'ID de service 0x02 ([SWS_Adc_00367]). Les codes d'erreur DET ou DEM spécifiques ne sont pas documentés dans le présent payload.

Cette note d'utilisation est basée sur la spécification AUTOSAR R20-11 et a été générée automatiquement.

Guide de l'implémenteur à venir (complexité I2)

fonction Adc_StopGroupConversion [SWS_Adc_00368] 📄 PDF

void Adc_StopGroupConversion (Adc_GroupType Group);

Stops the conversion of the requested ADC Channel group.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : e5e0a89f46f6 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone Adc_StopGroupConversion met fin à la conversion en cours d'un groupe de canaux ADC demandé [SWS_Adc_00368]. L'interface est déclarée dans l'en-tête Adc.h et spécifiée sous l'ID de service 0x03 [SWS_Adc_00368].

La valeur d'entrée Group de type Adc_GroupType, qui représente l'ID numérique du groupe de canaux ADC respectif, est transmise comme unique paramètre [SWS_Adc_00368]. L'appel ne possède pas de valeur de retour (void) et n'utilise aucun paramètre d'entrée/sortie ni de sortie pure [SWS_Adc_00368].

Concernant le comportement en concurrence, le service est classé comme réentrant et présente une sémantique d'exécution synchrone [SWS_Adc_00368]. Des appels parallèles de l'interface sont par conséquent autorisés. Le comportement synchrone implique que l'opération est immédiatement terminée avec l'appel de fonction [SWS_Adc_00368].

Interprétation : Un appel devrait fonctionnellement présupposer qu'une conversion a été préalablement initiée pour le groupe concerné afin de pouvoir procéder à l'arrêt. Question Q-644ca5344ab849b0 (ouverte) Les codes d'erreur spécifiques, les valeurs de retour pour le signalement d'erreurs ou les messages destinés aux terminaux de développement (DET/DEM) ne sont pas indiqués pour ce service dans le présent extrait de spécification [SWS_Adc_00368].

Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR CP R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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).

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : d7f16748f658 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction synchrone Adc_ReadGroup sert à la lecture des résultats de conversion d'un groupe de canaux ADC issus du cycle de conversion dernièrement achevé ([SWS_Adc_00369]). Elle est disponible via le fichier d'en-tête Adc.h et possède l'ID de service 0x04 ([SWS_Adc_00369]).

Paramètres et disposition du tampon

  • Group : Identifiant numérique du groupe de canaux ADC demandé ([SWS_Adc_00369]).
  • DataBufferPtr : Pointeur vers le tampon de destination (Adc_ValueGroupType*), à partir de l'adresse duquel les résultats de conversion de tous les canaux du groupe sont déposés ([SWS_Adc_00369]).

Le stockage des valeurs de canaux s'effectue à partir de l'adresse de destination dans l'ordre croissant des canaux ([SWS_Adc_00369]). Cette disposition en mémoire diffère explicitement de l'agencement du tampon lors d'un accès en streaming configuré ([SWS_Adc_00369]). Interprétation : L'appelant devrait être responsable de fournir un tampon suffisamment dimensionné pour tous les canaux du groupe. Question Q-f22a12a6c7ab0eb3 (ouverte)

Valeurs de retour et gestion des erreurs

La valeur de retour de type Std_ReturnType signale l'état de l'opération de lecture ([SWS_Adc_00369]) :

  • E_OK : Des résultats sont disponibles et ont été écrits avec succès dans le tampon de données ([SWS_Adc_00369]).
  • E_NOT_OK : Aucun résultat n'est disponible ou une erreur de développement est survenue ([SWS_Adc_00369]).

concurrence

La fonction est spécifiée comme réentrante ([SWS_Adc_00369]). Elle peut ainsi être exécutée en parallèle tant que des zones de tampon distinctes sont utilisées pour les accès simultanés.

Ce texte a été généré automatiquement à partir de la spécification AUTOSAR CP R20-11.

Guide de l'implémenteur à venir (complexité I2)

fonction Adc_EnableHardwareTrigger [SWS_Adc_91001] 📄 PDF

void Adc_EnableHardwareTrigger (Adc_GroupType Group);

Enables the hardware trigger for the requested ADC Channel group.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 859e88701dd8 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et paramètres

La fonction Adc_EnableHardwareTrigger active le déclencheur matériel pour un groupe de canaux ADC configuré [SWS_Adc_91001]. Elle est définie comme un service avec l'ID de service 0x05 dans le module Adc et est disponible via le fichier d'en-tête Adc.h [SWS_Adc_91001].

  • Paramètre d'entrée : l'ID numérique du groupe de canaux ADC souhaité est transmis via le paramètre Group de type Adc_GroupType [SWS_Adc_91001]. Aucun paramètre d'entrée/sortie ou de sortie supplémentaire n'existe [SWS_Adc_91001].
  • Valeur de retour : l'interface ne renvoie aucune valeur de retour (void) [SWS_Adc_91001].
  • Sémantique asynchrone : le comportement d'exécution est défini comme asynchrone [SWS_Adc_91001]. L'appel autorise le déclenchement, tandis que la conversion effective des canaux n'est amorcée que par des événements matériels ultérieurs.

concurrence

Le pilote spécifie Adc_EnableHardwareTrigger comme réentrante [SWS_Adc_91001]. Interprétation : la réentrance devrait principalement s'appliquer à l'appel simultané avec des groupes de canaux disjoints, étant donné que le déclencheur matériel est activé par groupe de canaux. Question Q-5750576df9f0284d (ouverte)

Cette note d'utilisation est basée sur la spécification AUTOSAR Classic R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction Adc_DisableHardwareTrigger [SWS_Adc_91002] 📄 PDF

void Adc_DisableHardwareTrigger (Adc_GroupType Group);

Disables the hardware trigger for the requested ADC Channel group.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 545b24a2a7c9 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction Adc_DisableHardwareTrigger sert à désactiver le déclenchement matériel pour un groupe de canaux ADC demandé [SWS_Adc_91002].

Utilisation et sémantique

  • Paramètres : Le paramètre Group de type Adc_GroupType est transmis, spécifiant l'ID numérique du groupe de canaux ADC souhaité [SWS_Adc_91002].
  • Valeur de retour : La fonction ne possède pas de valeur de retour (void) [SWS_Adc_91002].
  • Comportement d'exécution : L'appel est classé comme asynchrone (Sync/Async: Asynchronous) [SWS_Adc_91002]. Cela signifie probablement que l'arrêt effectif ou le découplage de l'événement matériel peut prendre effet de manière différée au niveau du matériel. Question Q-b0e613163b254242 (ouverte)

Concurrence et intégration

L'interface est déclarée comme réentrante (Reentrancy: Reentrant) et est mise à disposition via le fichier d'en-tête Adc.h ; son ID de service est 0x06 [SWS_Adc_91002]. Les codes d'erreur spécifiques, les contextes d'appel ou les notifications DET/DEM ne sont pas inclus dans le présent extrait de spécification.

Ce texte a été généré automatiquement. Toutes les informations reposent exclusivement sur la spécification d'AUTOSAR Classic R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction Adc_EnableGroupNotification [SWS_Adc_91003] 📄 PDF

void Adc_EnableGroupNotification (Adc_GroupType Group);

Enables the notification mechanism for the requested ADC Channel group.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ff19c4d6582c Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction Adc_EnableGroupNotification sert à activer le mécanisme de notification pour un groupe de canaux ADC demandé [SWS_Adc_91003]. La déclaration de cette interface est mise à la disposition des utilisateurs via le fichier d'en-tête Adc.h [SWS_Adc_91003].

Seul paramètre d'entrée, Group de type de données Adc_GroupType est transmis, définissant l'ID numérique du groupe de canaux ADC demandé [SWS_Adc_91003]. La fonction ne comporte aucun paramètre d'entrée/sortie ni de sortie, et ne renvoie aucune valeur de retour (void) [SWS_Adc_91003]. Le service est référencé sous l'ID de service 0x07 et présente une sémantique d'exécution asynchrone [SWS_Adc_91003].

En matière de comportement de concurrence, Adc_EnableGroupNotification est spécifiée comme réentrante [SWS_Adc_91003]. Plusieurs appels parallèles sont donc autorisés. La classification asynchrone de l'exécution devrait signifier que l'activation de la notification de groupe est mise en attente dans le pilote ou mise en œuvre en arrière-plan, sans bloquer le contexte appelant pendant le déroulement [SWS_Adc_91003]. Question Q-bae8fba7810fa269 (ouverte)

Le présent extrait de spécification n'établit aucune disposition supplémentaire concernant des erreurs spécifiques de développement ou de production (DET ou DEM), ni des conditions d'appel ou contextes de tâches exacts.

Cette note d'utilisation repose exclusivement sur les exigences de spécification de la version AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction Adc_DisableGroupNotification [SWS_Adc_91004] 📄 PDF

void Adc_DisableGroupNotification (Adc_GroupType Group);

Disables the notification mechanism for the requested ADC Channel group.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 1ea9bcf60eb8 Provenance Questions ouvertes (1)
traduit du guide allemandGénéré par l'IAgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction Adc_DisableGroupNotification, déclarée dans l'en-tête Adc.h, sert dans le pilote ADC à désactiver de manière ciblée le mécanisme de notification pour un groupe de canaux ADC demandé [SWS_Adc_91004]. Le service possède l'ID de service 0x08 et est spécifié avec la signature void Adc_DisableGroupNotification (Adc_GroupType Group) [SWS_Adc_91004].

Paramètres et interface

Pour l'exécution de la fonction, la transmission d'un seul paramètre d'entrée est définie :

  • Group : transmet, sous la forme d'un identifiant numérique de type Adc_GroupType, l'ID unique du groupe de canaux ADC souhaité dont la notification doit être désactivée [SWS_Adc_91004].

La fonction ne renvoie aucune valeur de retour (void) à l'appelant [SWS_Adc_91004]. De plus, selon la spécification, aucun paramètre combiné d'entrée/sortie (inout) ni aucun paramètre de sortie pur (out) n'est utilisé [SWS_Adc_91004].

Comportement d'exécution et concurrence

Concernant le comportement en matière de concurrence, Adc_DisableGroupNotification est classé comme réentrant [SWS_Adc_91004]. Cela autorise en principe l'appel parallèle ou avec interruption du service par différents contextes de programme [SWS_Adc_91004].

En ce qui concerne la synchronisation temporelle, la fonction est classée comme asynchrone [SWS_Adc_91004]. Interprétation : le comportement temporel étant explicitement déclaré comme asynchrone, la désactivation du mécanisme de notification devrait s'effectuer en arrière-plan en interne du pilote ou dans le matériel ADC, sans bloquer le contexte appelant jusqu'à son achèvement complet. Question Q-a1a30a254aa96655 (ouverte)

Cette note d'utilisation a été générée automatiquement et sert de guide d'orientation complémentaire à la spécification.

Guide de l'implémenteur à venir (complexité I1)

fonction 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).

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 65595ddb1315 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction de service synchrone Adc_SetPowerState fait passer le module ADC dans un état d'énergie préalablement préparé, sélectionné parmi un ensemble préconfiguré [SWS_Adc_00475].

Utilisation

La fonction est disponible via l'en-tête Adc.h et possède l'ID de service 0x10 [SWS_Adc_00475]. Elle ne prend aucun paramètre d'entrée, mais transmet le résultat via le paramètre de sortie Result de type Adc_PowerStateRequestResultType* [SWS_Adc_00475]. En cas d'activation réussie de l'état d'énergie, la fonction renvoie E_OK et signale via Result l'état ADC_SERVICE_ACCEPTED [SWS_Adc_00475].

Gestion des erreurs

Si la demande est rejetée, l'appel fournit la valeur de retour E_NOT_OK [SWS_Adc_00475]. Le module différencie alors dans le paramètre Result trois causes d'erreur spécifiques :

  • ADC_NOT_INIT : le module ADC n'est pas encore initialisé au moment de l'appel [SWS_Adc_00475].
  • ADC_SEQUENCE_ERROR : l'ordre des appels d'API est incorrect [SWS_Adc_00475].
  • ADC_HW_FAILURE : une erreur matérielle survenue empêche le passage à l'état demandé [SWS_Adc_00475].

Concurrence et restrictions

Adc_SetPowerState est non réentrante (Non Reentrant) et bloque l'appelant jusqu'à l'adoption synchrone de l'état [SWS_Adc_00475]. Selon l'interprétation retenue, une étape préalable de préparation à l'état cible doit obligatoirement avoir été exécutée avant l'appel, dans la mesure où la fonction requiert explicitement un état déjà préparé et rejette les erreurs d'ordonnancement par ADC_SEQUENCE_ERROR [SWS_Adc_00475].

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I2)

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : af5e7dcf1943 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

La fonction synchrone Adc_PreparePowerState déclenche le processus de préparation nécessaire pour faire passer le module matériel ADC dans un état de puissance demandé [SWS_Adc_00478]. Sont transmis comme paramètres l'état cible souhaité PowerState ainsi qu'un pointeur Result via lequel l'état de la requête est renvoyé [SWS_Adc_00478]. La valeur de retour signale par E_OK que le processus de préparation a été démarré, ou par E_NOT_OK que le service a été rejeté [SWS_Adc_00478].

Traitement des résultats et des erreurs

En cas de succès (E_OK), le paramètre de sortie Result fournit la valeur d'état ADC_SERVICE_ACCEPTED [SWS_Adc_00478]. Si le service a été rejeté avec E_NOT_OK, Result précise la cause exacte [SWS_Adc_00478] :

  • ADC_NOT_INIT : le module ADC n'est pas encore initialisé [SWS_Adc_00478].
  • ADC_SEQUENCE_ERROR : séquence d'appel non valide, car l'état actuel correspond déjà à l'état cible [SWS_Adc_00478].
  • ADC_POWER_STATE_NOT_SUPP : l'état de puissance demandé n'est pas pris en charge par le module [SWS_Adc_00478].
  • ADC_TRANS_NOT_POSSIBLE : une transition directe n'est pas possible ou le périphérique matériel est encore occupé [SWS_Adc_00478].

Concurrence et interaction

La fonction est spécifiée comme non réentrante [SWS_Adc_00478]. Par conséquent, l'appelant doit s'assurer que les appels s'effectuent séquentiellement et sans chevauchement. Les appelants devraient devoir achever ou interrompre au préalable les conversions en cours, car un périphérique matériel actif entraîne un rejet. Question Q-210c59a46a90d781 (ouverte) Après une préparation réussie par Adc_PreparePowerState, les actions consécutives sans effet immédiat visant à finaliser la transition d'état sont exécutées via une API subséquente associée [SWS_Adc_00499].

Cette note d'utilisation a été générée automatiquement et repose exclusivement sur les données de spécification issues de SWS_Adc_00478 et SWS_Adc_00499.

Guide de l'implémenteur à venir (complexité I2)

fonction 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).

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f1697a47ca72 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et contexte d'appel

La fonction principale Adc_Main_PowerTransitionManager sert à la surveillance cyclique et au déroulement des transitions d'état d'alimentation dans le module ADC [SWS_Adc_00479]. Elle possède la signature void Adc_Main_PowerTransitionManager(void), ne prend aucun paramètre d'entrée et ne renvoie aucune valeur [SWS_Adc_00479]. La fonction est appelée cycliquement et déclarée via l'en-tête SchM_Adc.h [SWS_Adc_00479]. L'appel devrait donc typiquement s'effectuer dans le contexte de tâche cyclique du planificateur BSW (SchM). Question Q-4fc01e5bed5b3b57 (ouverte)

Surveillance d'état et séquences asynchrones

Pendant l'exécution cyclique, la fonction vérifie en continu la disponibilité opérationnelle du module pour l'état d'alimentation demandé [SWS_Adc_00479]. Dès que la disponibilité du module est constatée, elle émet les rappels de notification IoHwAb_Adc_NotifyReadyForPowerState<Mode> référencés via le paramètre de configuration AdcPowerStateReadyCbkRef [SWS_Adc_00479]. Toutes les opérations asynchrones nécessaires à l'atteinte de l'état d'alimentation cible peuvent être traitées en arrière-plan dans le contexte d'exécution de Adc_Main_PowerTransitionManager [SWS_Adc_00498].

Gestion des erreurs et conditions limites

Si un état d'alimentation demandé ne peut pas être atteint directement à partir de l'état d'alimentation actuel, l'API signale l'erreur d'exécution ADC_E_TRANSITION_NOT_POSSIBLE [SWS_Adc_00498]. L'externalisation des processus de transition plus longs dans cette fonction gestionnaire cyclique évite de bloquer les appelants de niveau supérieur pendant que le module ADC finalise le changement d'état en arrière-plan [SWS_Adc_00498].

Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification AUTOSAR Classic R20-11.

Guide de l'implémenteur à venir (complexité I1)

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 0b61ec2f265a Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction IoHwAb_Adc_NotifyReadyForPower sert d'interface de notification de l'abstraction matérielle d'E/S et est appelée par le pilote ADC dès que la préparation pour un état de puissance demandé dans le mode <#Mode> est terminée [SWS_Adc_00480]. La déclaration de cette interface est fournie par le fichier d'en-tête IoHwAb_Adc.h [SWS_Adc_00480].

Contexte d'appel et sémantique

Conformément à la spécification, les conditions-cadres suivantes s'appliquent à l'appel [SWS_Adc_00480] :

  • Paramètres et valeur de retour : la fonction ne possède aucun paramètre d'entrée, de sortie ni d'entrée/sortie et ne renvoie aucune valeur de retour (void) [SWS_Adc_00480].
  • Synchronicité : le comportement d'exécution est défini comme synchrone [SWS_Adc_00480].
  • Réentrance : la fonction est classée comme non réentrante (Non Reentrant) [SWS_Adc_00480]. Les appelants doivent par conséquent s'assurer que les appels sont séquentiels et ne se chevauchent pas de manière concurrente.

Interaction et gestion des erreurs

Aucun code d'erreur ni notification destinée à DET ou DEM ne figure dans les données de spécification [SWS_Adc_00480]. L'indication de syntaxe IoHwAb_Adc_NotifyReadyForPowerState<#Mode> suggère que l'identifiant est généré spécifiquement en fonction du mode de puissance configuré. Question Q-9e9c969f8a41d0de (ouverte) La fonction agit probablement en tant que callback du pilote afin d'indiquer à la gestion de puissance de niveau supérieur l'état de préparation pour le changement.

Ce texte a été généré par une IA sur la base de la spécification SWS_Adc_00480.

Guide de l'implémenteur à venir (complexité 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : fc2ba1509144 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Le type énuméré Adc_StatusType représente, selon [SWS_Adc_00513], l'état de conversion actuel d'un groupe de canaux ADC demandé et est mis à disposition via l'en-tête Adc.h.

Les valeurs d'énumération reflètent la progression de la conversion analogique-numérique ainsi que la disponibilité des résultats [SWS_Adc_00513] :

  • ADC_IDLE (0x00) : la conversion du groupe indiqué n'a pas encore été démarrée ; aucun résultat de mesure n'est disponible [SWS_Adc_00513].
  • ADC_BUSY (0x01) : la conversion du groupe a démarré et est actuellement en cours ; aucun résultat n'est disponible jusqu'à présent [SWS_Adc_00513].
  • ADC_COMPLETED (0x02) : un cycle de conversion (qui n'est pas le cycle final) du groupe est achevé ; un résultat est disponible pour tous les canaux du groupe [SWS_Adc_00513].
  • ADC_STREAM_COMPLETED (0x03) : le tampon de résultats est entièrement rempli ; le nombre requis d'échantillons est disponible pour chaque canal du groupe sélectionné [SWS_Adc_00513].

Dans les applications, ce type sert généralement à interroger ou évaluer la progression du groupe afin de déterminer si des résultats peuvent déjà être lus ou si d'autres échantillonnages sont en attente.

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR CP R20-11.

Guide de l'implémenteur à venir (complexité 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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 222e382255e4 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Le type énuméré Adc_GroupConvModeType sert à configurer le mode de conversion d'un groupe de canaux ADC et est déclaré par le biais du fichier d'en-tête Adc.h [SWS_Adc_00515]. Ce type définit si les canaux d'un groupe sont convertis une seule fois ou de façon répétée après l'événement de déclenchement configuré [SWS_Adc_00515].

Deux modes sont disponibles pour la configuration [SWS_Adc_00515] :

  • ADC_CONV_MODE_ONESHOT (0x00) : exécute exactement une conversion de chaque canal du groupe de canaux ADC après l'événement de déclenchement configuré [SWS_Adc_00515]. Si un déclencheur logiciel a été configuré comme source de déclenchement, une conversion démarrée peut être arrêtée via un appel d'API logicielle [SWS_Adc_00515]. En revanche, si une source de déclenchement matériel est assignée, une conversion ponctuelle (one-shot) démarrée peut être suspendue par la désactivation de l'événement de déclenchement, sous réserve de prise en charge par le matériel [SWS_Adc_00515].
  • ADC_CONV_MODE_CONTINUOUS (0x01) : effectue en continu des conversions répétées de chaque canal au sein du groupe de canaux [SWS_Adc_00515]. Ce mode continu est exclusivement disponible pour les groupes disposant d'une source de déclenchement logiciel [SWS_Adc_00515]. Un cycle de conversion continu déjà démarré peut être interrompu à tout moment au moyen d'un appel d'API logicielle [SWS_Adc_00515].

En ce qui concerne les restrictions, il convient de noter que ADC_CONV_MODE_CONTINUOUS n'est autorisé qu'avec un déclenchement logiciel et ne peut pas être combiné avec des sources de déclenchement matériel [SWS_Adc_00515]. Avec les déclencheurs logiciels, l'arrêt des conversions en cours requiert un appel d'API logicielle dédié, tandis que les séquences ponctuelles à déclenchement matériel exigent la désactivation de l'événement de déclenchement [SWS_Adc_00515].

Ce texte a été généré par une IA et repose exclusivement sur les données de spécification d'AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 8863b0f61a56 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Le type d'énumération Adc_StreamBufferModeType sert à configurer le comportement de tampon en mode d'accès streaming du pilote ADC et est disponible via le fichier d'en-tête Adc.h [SWS_Adc_00519].

Le type définit deux modes de fonctionnement spécifiques pour la gestion de tampon lors de conversions en streaming [SWS_Adc_00519] :

  • ADC_STREAM_BUFFER_LINEAR (valeur 0x00) : le pilote ADC met automatiquement fin à la conversion dès que le tampon de flux est plein ou que le nombre défini d'échantillons est atteint [SWS_Adc_00519].
  • ADC_STREAM_BUFFER_CIRCULAR (valeur 0x01) : le pilote ADC poursuit la conversion même après avoir atteint la capacité totale du tampon, en revenant au début du tampon et en l'écrasant de manière circulaire [SWS_Adc_00519].

Les couches d'intégration et les logiciels d'application doivent adapter le comportement de tampon à la stratégie de traitement respective : alors que ADC_STREAM_BUFFER_LINEAR est prévu pour des séries de mesures autonomes avec une taille d'échantillon fixe, ADC_STREAM_BUFFER_CIRCULAR exige vraisemblablement une surveillance continue du tampon ou un prélèvement rapide des données afin d'éviter une perte de données inaperçue due à l'écrasement automatique [SWS_Adc_00519]. Question Q-23b411e5e6c50591 (ouverte)

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR Classic R20-11.

Guide de l'implémenteur à venir (complexité I1)

type Adc_GroupAccessModeType [SWS_Adc_00528] 📄 PDF

Type for configuring the access mode to group conversion results.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c0d3496276ea Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Le type d'énumération Adc_GroupAccessModeType sert à configurer le mode d'accès aux résultats de conversion d'un groupe de canaux ADC conformément à [SWS_Adc_00528]. La définition du type est mise à disposition via le fichier d'en-tête Adc.h et détermine la manière dont les résultats sont stockés en mémoire.

Pour la configuration du mode d'accès du groupe, deux valeurs sont définies dans la spécification [SWS_Adc_00528] :

  • ADC_ACCESS_MODE_SINGLE (valeur 0x00) : configure le mode d'accès à valeur unique (Single value access mode) pour le groupe concerné.
  • ADC_ACCESS_MODE_STREAMING (valeur 0x01) : configure le mode d'accès en streaming (Streaming access mode) pour le groupe concerné.

Ce type est utilisé lors de la configuration du pilote ADC pour contrôler le comportement d'accès aux tampons des résultats de conversion [SWS_Adc_00528]. Interprétation : alors que le mode valeur unique est vraisemblablement conçu pour fournir une seule valeur de résultat actuelle par canal de groupe, le mode streaming est probablement prévu pour des séries de mesures plus continues comportant plusieurs valeurs de tampon. Question Q-8a933cffcd1132ef (ouverte)

Puisqu'il s'agit d'un type de configuration pur, l'exigence ne définit pas de codes d'erreur propres, de valeurs de retour ou de messages DET/DEM pour ce type [SWS_Adc_00528].

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR Classic R20-11.

Guide de l'implémenteur à venir (complexité 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).

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f16034a7dc84 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et plage de valeurs

Le type énuméré Adc_ResultAlignmentType est fourni via le fichier d'en-tête Adc.h et sert, dans le module Adc, à définir l'alignement des valeurs brutes d'ADC dans le tampon de résultat [SWS_Adc_00525]. Il constitue l'interface standardisée pour configurer le stockage dans le tampon du pilote [SWS_Adc_00525]. En tant que type de données pur, il ne possède pas de paramètres de fonction propres, de valeurs de retour ou de sémantique asynchrone [SWS_Adc_00525].

La plage de valeurs de l'énumération comprend exactement deux valeurs selon la spécification [SWS_Adc_00525] :

  • ADC_ALIGN_LEFT (valeur numérique 0x00) : configure un alignement à gauche des résultats de conversion dans le tampon [SWS_Adc_00525].
  • ADC_ALIGN_RIGHT (valeur numérique 0x01) : configure un alignement à droite des résultats de conversion dans le tampon [SWS_Adc_00525].

Signification et conditions aux limites

La valeur choisie détermine les positions de bits de la zone de tampon où sont stockées les données brutes après une conversion [SWS_Adc_00525]. Cela permet de définir si les bits de données significatifs se situent alignés à gauche ou à droite en mémoire [SWS_Adc_00525]. Interprétation : la fixation d'un alignement à gauche ou à droite devrait être particulièrement pertinente lorsque la résolution matérielle du convertisseur analogique-numérique est inférieure à la largeur d'élément de la mémoire tampon allouée. Les composants logiciels en aval doivent tenir compte de l'alignement configuré afin de pouvoir lire les valeurs brutes sans erreurs de calcul ou de décalage de bits. Question Q-54221124172a3d87 (ouverte)

Il n'existe pas de codes d'erreur spécifiques, de messages DET ou DEM pour cette énumération [SWS_Adc_00525].

Cette note d'utilisation a été générée automatiquement et repose sur la spécification AUTOSAR R20-11.

type Adc_PowerStateType [SWS_Adc_00526] 📄 PDF

Power state currently active or set as target power state.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 05e817463b33 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Le type énuméré Adc_PowerStateType définit dans AUTOSAR Classic l'état d'alimentation du pilote ADC [SWS_Adc_00526]. Il est utilisé dans le pilote pour représenter soit l'état de fonctionnement actuellement adopté par le module, soit pour spécifier un nouvel état cible à atteindre pour la gestion de l'énergie [SWS_Adc_00526]. La déclaration de ce type de données est mise à disposition via l'en-tête Adc.h [SWS_Adc_00526].

Pour les différents états de l'énumération, la spécification établit un ordre hiérarchique concernant la consommation de puissance [SWS_Adc_00526] :

  • ADC_FULL_POWER (valeur numérique 0) : désigne le mode de fonctionnement et de pleine fonctionnalité du pilote ADC sans restrictions de courant [SWS_Adc_00526].
  • Plage de valeurs de 1 à 255 : représente des modes d'économie d'énergie optionnels avec une réduction progressive de la consommation de puissance [SWS_Adc_00526].

En ce qui concerne l'interaction et l'intégration dans l'environnement système, l'interprétation suivante s'applique : le type devrait principalement servir de paramètre de transmission dans les fonctions de commande pour les transitions d'état d'alimentation (Power-State), ainsi que pour le retour d'état vers des modules de niveau supérieur tels que la gestion d'état du BSW ou de l'ECU. Question Q-e4f964bd79ad550c (ouverte) Puisqu'il s'agit d'une définition de type de données élémentaire, les propriétés spécifiques telles que les contextes d'appel, les exigences de réentrance, la sémantique synchrone ou asynchrone, ainsi que les erreurs d'exécution et les notifications DET ne sont définies que dans les API de pilote associées et ne font pas partie de cette description de type [SWS_Adc_00526].

Ce texte a été généré par une IA. Il repose exclusivement sur les spécifications de la version AUTOSAR R20-11.

Guide de l'implémenteur à venir (complexité I1)

type Adc_PowerStateRequestResultType [SWS_Adc_00527] 📄 PDF

Type Adc_PowerStateRequestResultType.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 27fe65fc865c Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Le type énuméré Adc_PowerStateRequestResultType définit les valeurs de retour pour les demandes de transition d'état au sein de la gestion de puissance du pilote ADC et est mis à disposition via le fichier d'en-tête Adc.h [SWS_Adc_00527].

Les valeurs du type représentent le succès ou des causes d'erreur spécifiques d'un changement d'état de puissance demandé [SWS_Adc_00527] :

  • ADC_SERVICE_ACCEPTED (0) : le passage à l'état souhaité a été exécuté avec succès [SWS_Adc_00527].
  • ADC_NOT_INIT (1) : l'appel a échoué car le module ADC n'est pas encore initialisé [SWS_Adc_00527].
  • ADC_SEQUENCE_ERROR (2) : l'ordre des appels aux API est incorrect [SWS_Adc_00527].
  • ADC_HW_FAILURE (3) : une erreur matérielle empêche le passage à l'état requis [SWS_Adc_00527].
  • ADC_POWER_STATE_NOT_SUPP (4) : l'état de puissance requis n'est pas pris en charge par le module ADC [SWS_Adc_00527].
  • ADC_TRANS_NOT_POSSIBLE (5) : une transition directe de l'état actuel vers l'état souhaité n'est pas possible ou le périphérique matériel est encore occupé [SWS_Adc_00527].

Les appelants doivent évaluer la valeur de retour pour faire la distinction entre une exécution régulière et des conditions d'erreur telles qu'une séquence incorrecte, une absence d'initialisation du module ou des conflits matériels [SWS_Adc_00527].

Ce texte a été généré par une IA sur la base de la spécification.

Guide de l'implémenteur à venir (complexité 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#3954ff98
Content hash
3954ff98
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_ADCDriver.pdf#nameddest=SWS_Adc_00365

Initialisation et état

Adc_DeInit fonction

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 fonction

Initializes the ADC hardware units and driver.

void Adc_Init (const Adc_ConfigType* ConfigPtr);

Services · 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);

Services · Autres

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 fonction

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);

Types

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).