ADC Driver (Adc)
Provides initialization and conversion services for analog-to-digital converters.
Funktionen — Übersicht
void Adc_Init (const Adc_ConfigType* ConfigPtr);Initializes the ADC hardware units and driver.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.void Adc_DeInit (void);Returns all ADC HW Units to a state comparable to their power on reset state.void Adc_StartGroupConversion (Adc_GroupType Group);Starts the conversion of all channels of the requested ADC Channel group.void Adc_StopGroupConversion (Adc_GroupType Group);Stops the conversion of the requested ADC Channel group.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...void Adc_EnableHardwareTrigger (Adc_GroupType Group);Enables the hardware trigger for the requested ADC Channel group.void Adc_DisableHardwareTrigger (Adc_GroupType Group);Disables the hardware trigger for the requested ADC Channel group.void Adc_EnableGroupNotification (Adc_GroupType Group);Enables the notification mechanism for the requested ADC Channel group.void Adc_DisableGroupNotification (Adc_GroupType Group);Disables the notification mechanism for the requested ADC Channel group.Adc_StatusType Adc_GetGroupStatus (Adc_GroupType Group);Returns the conversion status of the requested ADC Channel group.Adc_StreamNumSampleType Adc_GetStreamLastPointer (Adc_GroupType Group, Adc_ValueGroupType* * PtrToSamplePtr);Returns the number of valid samples per channel, stored in the result buffer.void Adc_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.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...Std_ReturnType Adc_GetCurrentPowerState (Adc_PowerStateType* CurrentPowerState, Adc_PowerStateRequestResultType* Result);Service Adc_GetCurrentPowerState.Std_ReturnType Adc_GetTargetPowerState (Adc_PowerStateType* TargetPowerState, Adc_PowerStateRequestResultType* Result);Service Adc_GetTargetPowerState.Std_ReturnType Adc_PreparePowerState (Adc_PowerStateType PowerState, Adc_PowerStateRequestResultType* Result);This API starts the needed process to allow the ADC HW module to enter thevoid Adc_Main_PowerTransitionManager (void);This API is cyclically called and supervises the power state transitions, checking for the readiness of the module and issuing...void IoHwAb_Adc_NotifyReadyForPower (void);The API shall be invoked by the ADC Driver when the requested power state preparation for mode is completed.
Typen — Übersicht
struct Adc_ConfigTypeData structure containing the set of configuration parameters required for initializing the ADC Driver and ADC HW Unit(s).Adc_ChannelTypeNumeric ID of an ADC channel.Adc_GroupTypeNumeric ID of an ADC channel group.Adc_ValueGroupTypeType for reading the converted values of a channel group (raw, without further scaling, alignment according precompile switch...Adc_PrescaleTypeType of clock prescaler factor.Adc_ConversionTimeTypeType of conversion time, i.Adc_SamplingTimeTypeType of sampling time, i.Adc_ResolutionTypeType of channel resolution in number of bits.enum Adc_StatusTypeCurrent status of the conversion of the requested ADC Channel group.Adc_TriggerSourceTypeType for configuring the trigger source for an ADC Channel group.enum Adc_GroupConvModeTypeType for configuring the conversion mode of an ADC Channel group.Adc_GroupPriorityTypePriority level of the channel.Adc_GroupDefTypeType for assignment of channels to a channel group (this is not an API type).Adc_StreamNumSampleTypeType for configuring the number of group conversions in streaming access mode (in single access mode, parameter is 1).enum Adc_StreamBufferModeTypeType for configuring the streaming access mode buffer type.enum Adc_GroupAccessModeTypeType for configuring the access mode to group conversion results.Adc_HwTriggerSignalTypeType for configuring on which edge of the hardware trigger signal the driver should react, i.Adc_HwTriggerTimerTypeType for the reload value of the ADC module embedded timer (only if supported by the ADC hardware).Adc_PriorityImplementationTypeType for configuring the prioritization mechanism.Adc_GroupReplacementTypeReplacement mechanism, which is used on ADC group level, if a group conversion is interrupted by a group which has a higher...Adc_ChannelIn case of active limit checking: defines which conversion values are taken into account related to the boardes defineed with...Adc_ResultAlignmentTypeType for alignment of ADC raw results in ADC result buffer (left/ right alignment).enum Adc_PowerStateTypePower state currently active or set as target power state.enum Adc_PowerStateRequestResultTypeType Adc_PowerStateRequestResultType.
Funktionen & Typen — Detailansicht
función Adc_Init [SWS_Adc_00365] 📄 PDF
void Adc_Init (const Adc_ConfigType* ConfigPtr);
Initializes the ADC hardware units and driver.
La función síncrona Adc_Init (Service-ID 0x00) sirve para la configuración inicial y puesta en servicio de todas las unidades de hardware ADC, así como del controlador ADC conforme a [SWS_Adc_00365]. La interfaz se proporciona a través del archivo de cabecera Adc.h y no tiene valor de retorno.
Parámetros y variantes de configuración
La transferencia de los datos de configuración se realiza a través del parámetro de puntero ConfigPtr de tipo const Adc_ConfigType* [SWS_Adc_00365]. El argumento requerido depende de la variante de compilación seleccionada:
- Al utilizar la configuración post-build (
Variant PB),ConfigPtrdebe apuntar a la estructura de datos correspondiente con los valores de inicialización. - Si se emplea la variante de precompilación (
Variant PC), la interfaz exige explícitamente la transferencia de unNULL_PTR[SWS_Adc_00365].
Concurrencia e integración en el sistema
La función Adc_Init está especificada como no reentrante (Non Reentrant) [SWS_Adc_00365]. Interpretación: Dado que las unidades de hardware se configuran globalmente y no existe reentrancia, la llamada debería realizarse típicamente de forma centralizada durante la inicialización del sistema, antes de que se inicien otras funciones del módulo o conversiones. Pregunta Q-a82e9204ae7a5ab7 (abierta)
En relación con la gestión de energía existe un acoplamiento directo con requisitos afines: en caso de que durante el funcionamiento se solicite el estado de energía normal (normal Power State), la API correspondiente debe recurrir a parámetros de configuración que se encuentren en los mismos contenedores que los parámetros de inicialización de Adc_Init [SWS_Adc_00483].
Esta nota de uso ha sido generada automáticamente sobre la base de la especificación AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I2)
función 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.
La función Adc_SetupResultBuffer inicializa el controlador ADC con la dirección inicial de un búfer específico del grupo para almacenar los resultados de conversión [SWS_Adc_91000]. Esta llamada es obligatoria después de un reinicio antes de poder iniciar una conversión de grupo [SWS_Adc_91000].
Parámetros y contexto de llamada
Group: Identificador numérico del grupo de canales ADC solicitado [SWS_Adc_91000].DataBufferPtr: Puntero al búfer de datos (tipoAdc_ValueGroupType*) en el que se almacenan los resultados [SWS_Adc_91000].
La función está declarada como reentrante y asíncrona, y está disponible a través del archivo de cabecera Adc.h (ID de servicio 0x0c) [SWS_Adc_91000].
Valores de retorno y tratamiento de errores
El tipo de retorno es Std_ReturnType [SWS_Adc_91000]:
E_OK: El puntero al búfer de resultados se ha inicializado correctamente [SWS_Adc_91000].E_NOT_OK: La operación ha fallado o se ha producido un error de desarrollo [SWS_Adc_91000].
Obligaciones de la aplicación
La aplicación que realiza la llamada debe garantizar que el búfer al que apunta DataBufferPtr proporcione suficiente espacio de memoria para todos los resultados de conversión del grupo de canales especificado [SWS_Adc_91000].
Esta nota de uso se ha generado automáticamente a partir de la especificación de AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I2)
función 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.
La función Adc_DeInit sirve para la desinicialización del controlador ADC y lleva todas las unidades de hardware ADC asociadas a un estado comparable al estado inmediatamente posterior a un power-on reset [SWS_Adc_00366]. Restablece así el estado inicial del hardware antes de una nueva inicialización.
Llamada e interfaz
La función está declarada en el archivo de cabecera Adc.h y cuenta con el Service-ID 0x01 [SWS_Adc_00366]. La llamada se realiza de forma síncrona (Synchronous) y no requiere ningún parámetro (ni In, InOut ni Out); tampoco se proporciona un valor de retorno (firma void Adc_DeInit(void)) [SWS_Adc_00366]. Al hacerlo, no se evalúan ni se generan parámetros de entrada ni valores de retorno. Debido a la semántica síncrona, la ejecución bloquea al llamante hasta que concluye el restablecimiento de todas las unidades [SWS_Adc_00366].
Concurrencia y restricciones
En cuanto a la concurrencia, la función está especificada como no reentrante (Non Reentrant) [SWS_Adc_00366]. De ello se deriva la interpretación: las llamadas simultáneas o superpuestas a Adc_DeInit desde múltiples tareas o diferentes capas de software no están permitidas y deben ser coordinadas y evitadas por el llamante.
Dado que Adc_DeInit restablece por completo todas las unidades de hardware ADC al estado de reset [SWS_Adc_00366], antes de la llamada debería asegurarse de que ya no haya procesos de medición o conversión activos para evitar un comportamiento indefinido del hardware. Pregunta Q-15bfa2b822826786 (abierta)
Este texto ha sido generado por una IA y sirve como ayuda documental orientativa.
Guía del implementador pendiente (complejidad I2)
función Adc_StartGroupConversion [SWS_Adc_00367] 📄 PDF
void Adc_StartGroupConversion (Adc_GroupType Group);
Starts the conversion of all channels of the requested ADC Channel group.
usar
La función Adc_StartGroupConversion inicia la conversión de todos los canales del grupo de canales ADC transferido conforme a [SWS_Adc_00367]. Como parámetro se transfiere el ID numérico de grupo Group de tipo Adc_GroupType. La función no tiene valor de retorno (void) y opera de forma asíncrona ([SWS_Adc_00367]).
Concurrencia y restricciones
Según la especificación, el servicio está clasificado como reentrante ([SWS_Adc_00367]). Interpretación: Esto significaría que la función puede invocarse de manera concurrente para distintos grupos de canales. Pregunta Q-8283232f222f7b0a (abierta) Dado que el inicio se produce de forma asíncrona, la llamada retorna antes de que concluya la conversión propiamente dicha.
Tratamiento de errores e interacción
El servicio está disponible a través de la cabecera Adc.h y tiene el Service-ID 0x02 ([SWS_Adc_00367]). No se encuentran documentados códigos de error específicos de DET o DEM en el presente payload.
Esta nota de uso se basa en la especificación AUTOSAR R20-11 y ha sido generada automáticamente.
Guía del implementador pendiente (complejidad I2)
función Adc_StopGroupConversion [SWS_Adc_00368] 📄 PDF
void Adc_StopGroupConversion (Adc_GroupType Group);
Stops the conversion of the requested ADC Channel group.
La función síncrona Adc_StopGroupConversion finaliza la conversión en curso de un grupo de canales ADC solicitado [SWS_Adc_00368]. La interfaz está declarada en la cabecera Adc.h y especificada bajo el Service-ID 0x03 [SWS_Adc_00368].
Como único parámetro se transfiere el valor de entrada Group de tipo Adc_GroupType, el cual representa el ID numérico del respectivo grupo de canales ADC [SWS_Adc_00368]. La llamada no posee valor de retorno (void) y no emplea parámetros de entrada/salida ni puramente de salida [SWS_Adc_00368].
En cuanto al comportamiento de concurrencia, el servicio está catalogado como reentrante y presenta una semántica de ejecución síncrona [SWS_Adc_00368]. Por tanto, las llamadas paralelas a la interfaz están permitidas. El comportamiento síncrono implica que la operación finaliza inmediatamente con la llamada a la función [SWS_Adc_00368].
Interpretación: Funcionalmente, una llamada requeriría con probabilidad que previamente se hubiera iniciado una conversión para el grupo en cuestión a fin de poder efectuar la detención. Pregunta Q-644ca5344ab849b0 (abierta) En el presente extracto de especificación no se indican códigos de error específicos, valores de retorno para la notificación de errores o mensajes a dispositivos finales de desarrollo (DET/DEM) para este servicio [SWS_Adc_00368].
Esta nota de uso ha sido generada de forma automatizada sobre la base de la especificación AUTOSAR CP R20-11.
Guía del implementador pendiente (complejidad I1)
función 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).
La función síncrona Adc_ReadGroup sirve para leer los resultados de conversión de un grupo de canales ADC de la última ronda de conversión completada ([SWS_Adc_00369]). Está disponible a través del archivo de cabecera Adc.h y cuenta con el Service-ID 0x04 ([SWS_Adc_00369]).
Parámetros y distribución del búfer
Group: Identificador numérico del grupo de canales ADC solicitado ([SWS_Adc_00369]).DataBufferPtr: Puntero al búfer de destino (Adc_ValueGroupType*), a partir de cuya dirección se almacenan los resultados de conversión de todos los canales del grupo ([SWS_Adc_00369]).
El almacenamiento de los valores de los canales se efectúa a partir de la dirección de destino en orden de canal ascendente ([SWS_Adc_00369]). Esta distribución de memoria difiere explícitamente de la disposición del búfer cuando se configura el acceso por streaming ([SWS_Adc_00369]). Interpretación: El llamante debería ser responsable de proporcionar un búfer dimensionado de forma suficiente para todos los canales del grupo. Pregunta Q-f22a12a6c7ab0eb3 (abierta)
Valores de retorno y tratamiento de errores
El valor de retorno de tipo Std_ReturnType señala el estado de la operación de lectura ([SWS_Adc_00369]):
E_OK: Los resultados están disponibles y se escribieron correctamente en el búfer de datos ([SWS_Adc_00369]).E_NOT_OK: No hay resultados disponibles o se ha producido un error de desarrollo ([SWS_Adc_00369]).
concurrencia
La función está especificada como reentrante ([SWS_Adc_00369]). Por lo tanto, puede ejecutarse en paralelo siempre que se utilicen áreas de búfer separadas para los accesos simultáneos.
Este texto se ha generado automáticamente a partir de la especificación AUTOSAR CP R20-11.
Guía del implementador pendiente (complejidad I2)
función Adc_EnableHardwareTrigger [SWS_Adc_91001] 📄 PDF
void Adc_EnableHardwareTrigger (Adc_GroupType Group);
Enables the hardware trigger for the requested ADC Channel group.
Uso y parámetros
La función Adc_EnableHardwareTrigger activa el disparo por hardware para un grupo de canales ADC configurado [SWS_Adc_91001]. Está definida como un servicio con el ID de servicio 0x05 en el módulo Adc y está disponible a través del archivo de cabecera Adc.h [SWS_Adc_91001].
- Parámetros de entrada: A través del parámetro
Groupde tipoAdc_GroupTypese pasa el ID numérico del grupo de canales ADC deseado [SWS_Adc_91001]. No existen parámetros adicionales de entrada/salida ni de salida [SWS_Adc_91001]. - Valor de retorno: La interfaz no devuelve ningún valor de retorno (
void) [SWS_Adc_91001]. - Semántica asíncrona: El comportamiento de ejecución está establecido como asíncrono [SWS_Adc_91001]. La llamada habilita el disparo, mientras que la conversión real de los canales solo se inicia mediante eventos de hardware posteriores.
concurrencia
El controlador especifica Adc_EnableHardwareTrigger como reentrante [SWS_Adc_91001]. Interpretación: La reentrancia se refiere probablemente en primer lugar a la llamada simultánea con grupos de canales disjuntos, ya que el disparo por hardware se activa por grupo de canales. Pregunta Q-5750576df9f0284d (abierta)
Esta nota de uso se basa en la especificación AUTOSAR Classic R20-11.
Guía del implementador pendiente (complejidad I1)
función Adc_DisableHardwareTrigger [SWS_Adc_91002] 📄 PDF
void Adc_DisableHardwareTrigger (Adc_GroupType Group);
Disables the hardware trigger for the requested ADC Channel group.
La función Adc_DisableHardwareTrigger sirve para desactivar el disparo por hardware para un grupo de canales ADC solicitado [SWS_Adc_91002].
Uso y semántica
- Parámetros: Se transfiere el parámetro
Groupde tipoAdc_GroupType, el cual especifica el ID numérico del grupo de canales ADC deseado [SWS_Adc_91002]. - Valor de retorno: La función no tiene valor de retorno (
void) [SWS_Adc_91002]. - Comportamiento de ejecución: La invocación se clasifica como asíncrona (Sync/Async: Asynchronous) [SWS_Adc_91002]. Esto significa presumiblemente que la detención o desacoplamiento efectivo del evento de hardware puede surtir efecto de manera diferida a nivel de hardware. Pregunta Q-b0e613163b254242 (abierta)
Concurrencia e integración
La interfaz está declarada como reentrante (Reentrancy: Reentrant) y se proporciona a través del archivo de encabezado Adc.h; su ID de servicio es 0x06 [SWS_Adc_91002]. En el presente extracto de especificación no se incluyen códigos de error específicos, contextos de llamada ni mensajes de DET/DEM.
Este texto ha sido generado automáticamente. Todas las indicaciones se basan exclusivamente en la especificación de AUTOSAR Classic R20-11.
Guía del implementador pendiente (complejidad I1)
función Adc_EnableGroupNotification [SWS_Adc_91003] 📄 PDF
void Adc_EnableGroupNotification (Adc_GroupType Group);
Enables the notification mechanism for the requested ADC Channel group.
La función Adc_EnableGroupNotification sirve para activar el mecanismo de notificación para un grupo de canales ADC solicitado [SWS_Adc_91003]. La declaración de esta interfaz se pone a disposición de los usuarios a través del archivo de cabecera Adc.h [SWS_Adc_91003].
Como único parámetro de entrada se pasa Group del tipo de datos Adc_GroupType, el cual determina el ID numérico del grupo de canales ADC solicitado [SWS_Adc_91003]. La función no posee parámetros de entrada/salida ni parámetros de salida, y no devuelve ningún valor de retorno (void) [SWS_Adc_91003]. El servicio está catalogado bajo el ID de servicio 0x07 y presenta una semántica de ejecución asíncrona [SWS_Adc_91003].
En cuanto al comportamiento de concurrencia, Adc_EnableGroupNotification está especificada como reentrante [SWS_Adc_91003]. Por lo tanto, se permiten múltiples llamadas paralelas. La clasificación asíncrona de la ejecución podría significar que la activación de la notificación del grupo queda registrada en el controlador o se implementa en segundo plano sin bloquear el contexto llamante durante la tramitación [SWS_Adc_91003]. Pregunta Q-bae8fba7810fa269 (abierta)
El presente extracto de la especificación no establece disposiciones adicionales sobre errores específicos de desarrollo o producción (DET o DEM), ni sobre condiciones de llamada exactas o contextos de tarea.
Esta nota de uso se basa exclusivamente en las directrices de especificación de la versión R20-11 de AUTOSAR.
Guía del implementador pendiente (complejidad I1)
función Adc_DisableGroupNotification [SWS_Adc_91004] 📄 PDF
void Adc_DisableGroupNotification (Adc_GroupType Group);
Disables the notification mechanism for the requested ADC Channel group.
La función Adc_DisableGroupNotification, declarada en el encabezado Adc.h, sirve en el controlador ADC para desactivar de forma dirigida el mecanismo de notificación para un grupo de canales ADC solicitado [SWS_Adc_91004]. El servicio posee el ID de servicio 0x08 y está especificado con la firma void Adc_DisableGroupNotification (Adc_GroupType Group) [SWS_Adc_91004].
Parámetros e interfaz
Para la ejecución de la función se establece la transferencia de un único parámetro de entrada:
Group: Transfiere como identificador numérico de tipoAdc_GroupTypeel ID unívoco del grupo de canales ADC deseado cuya notificación se ha de desactivar [SWS_Adc_91004].
La función no devuelve ningún valor de retorno (void) a la entidad invocadora [SWS_Adc_91004]. Además, según la especificación, no se emplean parámetros combinados de entrada/salida (inout) ni parámetros exclusivos de salida (out) [SWS_Adc_91004].
Comportamiento de ejecución y concurrencia
En cuanto al comportamiento de concurrencia, Adc_DisableGroupNotification está clasificada como reentrante [SWS_Adc_91004]. Esto permite, en principio, la llamada paralela o intermitente del servicio por parte de diferentes contextos de programa [SWS_Adc_91004].
Con respecto a la sincronización temporal, la función está clasificada como asíncrona [SWS_Adc_91004]. Interpretación: dado que el comportamiento temporal está declarado explícitamente como asíncrono, es de prever que la desactivación del mecanismo de notificación se realice internamente en el controlador o en el hardware del ADC en segundo plano, sin que el contexto invocador se bloquee hasta su finalización completa. Pregunta Q-a1a30a254aa96655 (abierta)
Esta nota de uso ha sido generada automáticamente y sirve como guía orientativa complementaria a la especificación.
Guía del implementador pendiente (complejidad I1)
función Adc_GetGroupStatus [SWS_Adc_00374] 📄 PDF
Adc_StatusType Adc_GetGroupStatus (Adc_GroupType Group);
Returns the conversion status of the requested ADC Channel group.
función 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).
función Adc_GetVersionInfo [SWS_Adc_00376] 📄 PDF
void Adc_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
función 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.
La función de servicio síncrona Adc_SetPowerState pone el módulo ADC en un estado de energía previamente preparado, seleccionado de un conjunto preconfigurado [SWS_Adc_00475].
usar
La función está disponible a través de la cabecera Adc.h y cuenta con el Service-ID 0x10 [SWS_Adc_00475]. No recibe parámetros de entrada, sino que transfiere el resultado a través del parámetro de salida Result de tipo Adc_PowerStateRequestResultType* [SWS_Adc_00475]. Si la activación del estado de energía resulta exitosa, la función devuelve E_OK y señala a través de Result el estado ADC_SERVICE_ACCEPTED [SWS_Adc_00475].
Manejo de errores
Si se rechaza la solicitud, la llamada devuelve el valor de retorno E_NOT_OK [SWS_Adc_00475]. En este caso, el módulo distingue en el parámetro Result entre tres causas de error específicas:
ADC_NOT_INIT: El módulo ADC aún no está inicializado en el momento de la llamada [SWS_Adc_00475].ADC_SEQUENCE_ERROR: Existe un orden incorrecto en las llamadas a la API [SWS_Adc_00475].ADC_HW_FAILURE: Un error de hardware ocurrido impide adoptar el estado solicitado [SWS_Adc_00475].
Concurrencia y restricciones
Adc_SetPowerState no es reentrante (Non Reentrant) y bloquea al llamante hasta la asunción síncrona del estado [SWS_Adc_00475]. Como interpretación se asume que antes de la llamada debe haberse ejecutado obligatoriamente un paso de preparación para el estado de destino, ya que la función solicita explícitamente un estado ya preparado y rechaza los errores de secuencia con ADC_SEQUENCE_ERROR [SWS_Adc_00475].
Este texto ha sido generado por una IA sobre la base de la especificación AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I2)
función Adc_GetCurrentPowerState [SWS_Adc_00476] 📄 PDF
Std_ReturnType Adc_GetCurrentPowerState (Adc_PowerStateType* CurrentPowerState, Adc_PowerStateRequestResultType* Result);
Service Adc_GetCurrentPowerState.
función Adc_GetTargetPowerState [SWS_Adc_00477] 📄 PDF
Std_ReturnType Adc_GetTargetPowerState (Adc_PowerStateType* TargetPowerState, Adc_PowerStateRequestResultType* Result);
Service Adc_GetTargetPowerState.
función 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.
Uso y contexto de llamada
La función síncrona Adc_PreparePowerState inicia el proceso de preparación necesario para llevar el módulo de hardware ADC a un estado de energía solicitado [SWS_Adc_00478]. Como parámetros se transfieren el estado de destino deseado PowerState y un puntero Result a través del cual se notifica el estado de la solicitud [SWS_Adc_00478]. El valor de retorno señala con E_OK que se ha iniciado el proceso de preparación, o con E_NOT_OK que el servicio ha sido rechazado [SWS_Adc_00478].
Tratamiento de resultados y errores
En caso de éxito (E_OK), el parámetro de salida Result proporciona el valor de estado ADC_SERVICE_ACCEPTED [SWS_Adc_00478]. Si el servicio fue rechazado con E_NOT_OK, Result especifica la causa exacta [SWS_Adc_00478]:
ADC_NOT_INIT: El módulo ADC aún no está inicializado [SWS_Adc_00478].ADC_SEQUENCE_ERROR: Secuencia de llamada no válida, ya que el estado actual ya coincide con el estado de destino [SWS_Adc_00478].ADC_POWER_STATE_NOT_SUPP: El estado de energía solicitado no es compatible con el módulo [SWS_Adc_00478].ADC_TRANS_NOT_POSSIBLE: No es posible una transición directa o el periférico de hardware todavía está ocupado [SWS_Adc_00478].
Concurrencia e interacción
La función está especificada como no reentrante [SWS_Adc_00478]. Por tanto, quien realiza la llamada debe asegurarse de que las llamadas se efectúen de manera secuencial y sin solapamiento. Es probable que quienes realizan la llamada deban finalizar o detener previamente las conversiones en curso, ya que un periférico de hardware activo provoca el rechazo. Pregunta Q-210c59a46a90d781 (abierta) Tras una preparación correcta mediante Adc_PreparePowerState, las acciones posteriores que no surten efecto inmediato para finalizar la transición de estado se ejecutan a través de una API sucesora asociada [SWS_Adc_00499].
Esta nota de uso se ha generado automáticamente y se basa exclusivamente en los datos de especificación de SWS_Adc_00478 y SWS_Adc_00499.
Guía del implementador pendiente (complejidad I2)
función 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
Uso y contexto de llamada
La función principal Adc_Main_PowerTransitionManager sirve para la supervisión cíclica y la tramitación de transiciones de estado de energía en el módulo ADC [SWS_Adc_00479]. Posee la firma void Adc_Main_PowerTransitionManager(void), no recibe parámetros de entrada y no devuelve ningún valor de retorno [SWS_Adc_00479]. La función se invoca cíclicamente y se declara a través del encabezado SchM_Adc.h [SWS_Adc_00479]. Por lo tanto, es de prever que la llamada se realice típicamente en el contexto de tarea cíclica del planificador de BSW (SchM). Pregunta Q-4fc01e5bed5b3b57 (abierta)
Supervisión de estado y secuencias asíncronas
Durante la ejecución cíclica, la función comprueba continuamente la disponibilidad operativa del módulo para el estado de energía solicitado [SWS_Adc_00479]. Tan pronto como se determina la disponibilidad del módulo, emite las retrollamadas de notificación IoHwAb_Adc_NotifyReadyForPowerState<Mode> que están referenciadas mediante el parámetro de configuración AdcPowerStateReadyCbkRef [SWS_Adc_00479]. Todas las operaciones asíncronas necesarias para alcanzar el estado de energía objetivo pueden procesarse en segundo plano en el contexto de ejecución de Adc_Main_PowerTransitionManager [SWS_Adc_00498].
Tratamiento de errores y condiciones límite
En caso de que un estado de energía solicitado no pueda alcanzarse directamente desde el estado de energía actual, la API notifica el error de tiempo de ejecución ADC_E_TRANSITION_NOT_POSSIBLE [SWS_Adc_00498]. Al externalizar los procesos de transición más prolongados a esta función de gestión cíclica, las entidades invocadoras de nivel superior no se bloquean mientras el módulo ADC completa el cambio de estado en segundo plano [SWS_Adc_00498].
Esta nota de uso ha sido generada de forma automatizada sobre la base de la especificación AUTOSAR Classic R20-11.
Guía del implementador pendiente (complejidad I1)
función 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.
La función IoHwAb_Adc_NotifyReadyForPower sirve como interfaz de notificación de la abstracción de hardware de E/S y es llamada por el controlador ADC en cuanto ha finalizado la preparación para un estado de energía solicitado en el modo <#Mode> [SWS_Adc_00480]. La declaración de esta interfaz se proporciona a través del archivo de cabecera IoHwAb_Adc.h [SWS_Adc_00480].
Contexto de llamada y semántica
Para la llamada se aplican las siguientes condiciones marco según la especificación [SWS_Adc_00480]:
- Parámetros y valor de retorno: La función no posee parámetros de entrada, de salida ni de entrada/salida, y no devuelve ningún valor de retorno (
void) [SWS_Adc_00480]. - Sincronía: El comportamiento de ejecución está definido como síncrono [SWS_Adc_00480].
- Reentrancia: La función está clasificada como no reentrante (
Non Reentrant) [SWS_Adc_00480]. Por lo tanto, quienes realizan la llamada deben asegurarse de que las llamadas se realicen secuencialmente y no se solapen concurrentemente.
Interacción y tratamiento de errores
En los datos de especificación no constan códigos de error ni notificaciones a DET o DEM [SWS_Adc_00480]. La indicación sintáctica IoHwAb_Adc_NotifyReadyForPowerState<#Mode> podría sugerir que el identificador se genera específicamente según el modo de energía configurado. Pregunta Q-9e9c969f8a41d0de (abierta) La función actúa probablemente como callback del controlador para indicar la disponibilidad para el cambio a la gestión de energía de nivel superior.
Este texto ha sido generado por una IA sobre la base de la especificación SWS_Adc_00480.
Guía del implementador pendiente (complejidad I1)
tipo 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).
tipo Adc_ChannelType [SWS_Adc_00506] 📄 PDF
Numeric ID of an ADC channel.
tipo Adc_GroupType [SWS_Adc_00507] 📄 PDF
Numeric ID of an ADC channel group.
tipo 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).
tipo Adc_PrescaleType [SWS_Adc_00509] 📄 PDF
Type of clock prescaler factor. (This is not an API type).
tipo 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).
tipo 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).
tipo Adc_ResolutionType [SWS_Adc_00512] 📄 PDF
Type of channel resolution in number of bits. (This is not an API type).
tipo Adc_StatusType [SWS_Adc_00513] 📄 PDF
Current status of the conversion of the requested ADC Channel group.
El tipo de enumeración Adc_StatusType representa, según [SWS_Adc_00513], el estado de conversión actual de un grupo de canales ADC solicitado y se proporciona a través de la cabecera Adc.h.
Los valores de la enumeración reflejan el progreso de la conversión analógico-digital, así como la disponibilidad de resultados [SWS_Adc_00513]:
ADC_IDLE(0x00): La conversión del grupo especificado aún no se ha iniciado; no hay resultados de medición disponibles [SWS_Adc_00513].ADC_BUSY(0x01): La conversión del grupo se ha iniciado y está en curso actualmente; todavía no hay ningún resultado disponible [SWS_Adc_00513].ADC_COMPLETED(0x02): Ha finalizado una ronda de conversión (que no es la final) del grupo; hay un resultado disponible para todos los canales del grupo [SWS_Adc_00513].ADC_STREAM_COMPLETED(0x03): El búfer de resultados está completamente lleno; para cada canal del grupo seleccionado está disponible el número requerido de muestras [SWS_Adc_00513].
En las aplicaciones, el tipo sirve típicamente para consultar o evaluar el progreso del grupo a fin de determinar si los resultados ya pueden leerse o si quedan muestreos pendientes.
Este texto fue generado por una IA a partir de la especificación AUTOSAR CP R20-11.
Guía del implementador pendiente (complejidad I1)
tipo Adc_TriggerSourceType [SWS_Adc_00514] 📄 PDF
Type for configuring the trigger source for an ADC Channel group.
tipo 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
El tipo de enumeración Adc_GroupConvModeType sirve para configurar el modo de conversión de un grupo de canales ADC y se declara a través del archivo de cabecera Adc.h [SWS_Adc_00515]. El tipo establece si los canales de un grupo se convierten una sola vez o de forma repetida tras el evento de disparo configurado [SWS_Adc_00515].
Para la configuración hay disponibles dos modos [SWS_Adc_00515]:
-
ADC_CONV_MODE_ONESHOT(0x00): Ejecuta exactamente una conversión de cada canal del grupo de canales ADC tras el evento de disparo configurado [SWS_Adc_00515]. Si se ha configurado un disparo por software como fuente de disparo, una conversión iniciada puede detenerse mediante una llamada a la API de software [SWS_Adc_00515]. En cambio, si está asignada una fuente de disparo por hardware, una conversión de disparo único iniciada puede detenerse desactivando el evento de disparo, siempre que el hardware lo admita [SWS_Adc_00515]. -
ADC_CONV_MODE_CONTINUOUS(0x01): Realiza de forma continua conversiones repetidas de cada canal dentro del grupo de canales [SWS_Adc_00515]. Este modo continuo está disponible exclusivamente para grupos con una fuente de disparo por software [SWS_Adc_00515]. Una ejecución de conversión continua ya iniciada puede finalizarse en cualquier momento mediante una llamada a la API de software [SWS_Adc_00515].
En cuanto a las restricciones, debe tenerse en cuenta que ADC_CONV_MODE_CONTINUOUS solo está permitido con disparo por software y no se puede combinar con fuentes de disparo por hardware [SWS_Adc_00515]. La detención de conversiones en curso requiere una llamada dedicada a la API de software en el caso de disparos por software, mientras que los flujos de disparo único disparados por hardware requieren desactivar el evento de disparo [SWS_Adc_00515].
Este texto ha sido elaborado por una IA y se basa exclusivamente en los datos de especificación de AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
tipo Adc_GroupPriorityType [SWS_Adc_00516] 📄 PDF
Priority level of the channel. Lowest priority is 0.
tipo Adc_GroupDefType [SWS_Adc_00517] 📄 PDF
Type for assignment of channels to a channel group (this is not an API type).
tipo 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
tipo Adc_StreamBufferModeType [SWS_Adc_00519] 📄 PDF
Type for configuring the streaming access mode buffer type.
El tipo de enumeración Adc_StreamBufferModeType sirve para configurar el comportamiento del búfer en el modo de acceso por transmisión continua del controlador ADC y está disponible a través del archivo de cabecera Adc.h [SWS_Adc_00519].
El tipo define dos modos de funcionamiento específicos para la gestión del búfer en conversiones por transmisión continua [SWS_Adc_00519]:
ADC_STREAM_BUFFER_LINEAR(valor0x00): El controlador ADC finaliza automáticamente la conversión en cuanto el búfer de flujo está lleno o se ha alcanzado el número establecido de muestras [SWS_Adc_00519].ADC_STREAM_BUFFER_CIRCULAR(valor0x01): El controlador ADC continúa la conversión incluso tras alcanzar la capacidad total del búfer, saltando al principio del búfer y sobrescribiéndolo circularmente [SWS_Adc_00519].
Las capas de integración y el software de aplicación deben adaptar el comportamiento del búfer a la estrategia de procesamiento respectiva: mientras que ADC_STREAM_BUFFER_LINEAR está previsto para series de medición cerradas con un tamaño de muestra fijo, ADC_STREAM_BUFFER_CIRCULAR requiere probablemente una monitorización continua del búfer o una extracción oportuna de datos para evitar una pérdida inadvertida de datos debido a la sobrescritura automática [SWS_Adc_00519]. Pregunta Q-23b411e5e6c50591 (abierta)
Este texto ha sido generado por una IA sobre la base de la especificación AUTOSAR Classic R20-11.
Guía del implementador pendiente (complejidad I1)
tipo Adc_GroupAccessModeType [SWS_Adc_00528] 📄 PDF
Type for configuring the access mode to group conversion results.
El tipo de enumeración Adc_GroupAccessModeType sirve para configurar el modo de acceso a los resultados de conversión de un grupo de canales ADC según [SWS_Adc_00528]. La definición del tipo se proporciona a través del archivo de cabecera Adc.h y establece cómo se almacenan los resultados en la memoria.
Para la configuración del modo de acceso del grupo se definen dos valores en la especificación [SWS_Adc_00528]:
ADC_ACCESS_MODE_SINGLE(valor0x00): Configura el modo de acceso de valor único (Single value access mode) para el grupo en cuestión.ADC_ACCESS_MODE_STREAMING(valor0x01): Configura el modo de acceso por transmisión continua (Streaming access mode) para el grupo en cuestión.
El tipo se utiliza en la configuración del controlador ADC para controlar el comportamiento de acceso a los búferes de los resultados de conversión [SWS_Adc_00528]. Interpretación: Mientras que el modo de valor único probablemente está diseñado para proporcionar un único valor de resultado actual por canal del grupo, es de suponer que el modo de transmisión continua esté concebido para series de medición más continuas con múltiples valores de búfer. Pregunta Q-8a933cffcd1132ef (abierta)
Dado que se trata de un tipo puramente de configuración, el requisito no define códigos de error propios, valores de retorno ni mensajes DET/DEM para este tipo [SWS_Adc_00528].
Este texto ha sido generado por una IA sobre la base de la especificación AUTOSAR Classic R20-11.
Guía del implementador pendiente (complejidad I1)
tipo 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).
tipo Adc_HwTriggerTimerType [SWS_Adc_00521] 📄 PDF
Type for the reload value of the ADC module embedded timer (only if supported by the ADC hardware).
tipo Adc_PriorityImplementationType [SWS_Adc_00522] 📄 PDF
Type for configuring the prioritization mechanism.
tipo 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.
tipo 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.
tipo Adc_ResultAlignmentType [SWS_Adc_00525] 📄 PDF
Type for alignment of ADC raw results in ADC result buffer (left/ right alignment).
Uso y rango de valores
El tipo de enumeración Adc_ResultAlignmentType se proporciona mediante el archivo de encabezado Adc.h y sirve en el módulo Adc para especificar la alineación de los valores brutos de ADC en el búfer de resultados [SWS_Adc_00525]. Constituye la interfaz estandarizada para configurar el almacenamiento en búfer del controlador [SWS_Adc_00525]. Al ser un tipo de datos puro, no posee parámetros de función propios, valores de retorno ni semántica asíncrona [SWS_Adc_00525].
Según la especificación, el rango de valores de la enumeración comprende exactamente dos variantes [SWS_Adc_00525]:
-
ADC_ALIGN_LEFT(valor numérico0x00): Configura una alineación a la izquierda de los resultados de conversión en el búfer [SWS_Adc_00525]. -
ADC_ALIGN_RIGHT(valor numérico0x01): Configura una alineación a la derecha de los resultados de conversión en el búfer [SWS_Adc_00525].
Significado y condiciones de contorno
A través del valor seleccionado se determina en qué posiciones de bit del área de búfer se almacenan los datos brutos tras una conversión [SWS_Adc_00525]. De este modo se especifica si los bits de datos significativos se ubican alineados a la izquierda o a la derecha en la memoria [SWS_Adc_00525]. Interpretación: es de prever que la definición de la alineación a la izquierda o a la derecha sea relevante, en particular, cuando la resolución por hardware del convertidor analógico-digital es inferior al ancho de elemento de la memoria intermedia asignada. Pregunta Q-54221124172a3d87 (abierta) Los componentes de software posteriores deben tener en cuenta la alineación configurada para poder leer los valores brutos sin errores de cálculo o de desplazamiento de bits.
No existen códigos de error específicos, mensajes de DET o de DEM para esta enumeración [SWS_Adc_00525].
Esta nota de uso ha sido generada automáticamente y se basa en la especificación AUTOSAR R20-11.
tipo Adc_PowerStateType [SWS_Adc_00526] 📄 PDF
Power state currently active or set as target power state.
El tipo de enumeración Adc_PowerStateType define en AUTOSAR Classic el estado de energía del controlador ADC [SWS_Adc_00526]. Se utiliza en el controlador para representar el estado operativo actual del módulo o para predeterminar un nuevo estado objetivo que debe alcanzarse para la gestión de energía [SWS_Adc_00526]. La declaración de este tipo de datos se proporciona a través del encabezado Adc.h [SWS_Adc_00526].
Para los estados individuales de la enumeración, la especificación establece un orden jerárquico con respecto al consumo de potencia [SWS_Adc_00526]:
ADC_FULL_POWER(valor numérico 0): Designa el modo operativo y funcional completo del controlador ADC sin restricciones de corriente [SWS_Adc_00526].- Rango de valores de 1 a 255: Representa modos de ahorro de energía opcionales con un consumo de potencia progresivamente menor [SWS_Adc_00526].
En lo que respecta a la interacción y la integración en el entorno del sistema, rige la interpretación: es de prever que el tipo sirva primordialmente como parámetro de transferencia en funciones de control para transiciones de estados de energía, así como para la retroalimentación de estado a módulos de nivel superior tales como la gestión de estados de BSW o ECU. Pregunta Q-e4f964bd79ad550c (abierta) Al tratarse de una definición elemental de tipo de datos, las propiedades específicas como los contextos de llamada, los requisitos de reentrada, la semántica síncrona o asíncrona, así como los errores de tiempo de ejecución y los mensajes de DET, se definen únicamente en las API correspondientes del controlador y no forman parte de esta descripción de tipo [SWS_Adc_00526].
Este texto ha sido generado por una IA. Se basa exclusivamente en las especificaciones del release R20-11 de AUTOSAR.
Guía del implementador pendiente (complejidad I1)
tipo Adc_PowerStateRequestResultType [SWS_Adc_00527] 📄 PDF
Type Adc_PowerStateRequestResultType.
El tipo de enumeración Adc_PowerStateRequestResultType define los valores de retorno para las solicitudes de transiciones de estado en la gestión de energía del controlador ADC y se proporciona a través del archivo de cabecera Adc.h [SWS_Adc_00527].
Los valores del tipo reflejan el éxito o las causas específicas de error de un cambio de estado de energía solicitado [SWS_Adc_00527]:
ADC_SERVICE_ACCEPTED(0): El cambio al estado deseado se ejecutó con éxito [SWS_Adc_00527].ADC_NOT_INIT(1): La llamada falló porque el módulo ADC aún no está inicializado [SWS_Adc_00527].ADC_SEQUENCE_ERROR(2): Existe un orden incorrecto en la llamada a las API [SWS_Adc_00527].ADC_HW_FAILURE(3): Un error de hardware impide el cambio al estado requerido [SWS_Adc_00527].ADC_POWER_STATE_NOT_SUPP(4): El estado de energía requerido no es compatible con el módulo ADC [SWS_Adc_00527].ADC_TRANS_NOT_POSSIBLE(5): No es posible una transición directa desde el estado actual al deseado o el periférico de hardware todavía está ocupado [SWS_Adc_00527].
Quienes realizan la llamada deben evaluar el valor de retorno para distinguir entre una ejecución regular y condiciones anómalas como una secuencia incorrecta, falta de inicialización del módulo o conflictos de hardware [SWS_Adc_00527].
Este texto fue generado por una IA a partir de la especificación.
Guía del implementador pendiente (complejidad 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#b5c0f6ae- Content hash
b5c0f6ae- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_ADCDriver.pdf#nameddest=SWS_Adc_00365
gemini-3.8-flash-low· 2026-10-13 · Original en alemán