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
função Adc_Init [SWS_Adc_00365] 📄 PDF
void Adc_Init (const Adc_ConfigType* ConfigPtr);
Initializes the ADC hardware units and driver.
A função síncrona Adc_Init (Service-ID 0x00) serve para a configuração inicial e colocação em funcionamento de todas as unidades de hardware do ADC, bem como do controlador ADC, de acordo com [SWS_Adc_00365]. A interface é disponibilizada através do ficheiro de cabeçalho Adc.h e não possui valor de retorno.
Parâmetros e variantes de configuração
A transmissão dos dados de configuração é realizada através do parâmetro de ponteiro ConfigPtr do tipo const Adc_ConfigType* [SWS_Adc_00365]. O argumento exigido depende da variante de compilação selecionada:
- Ao utilizar a configuração pós-compilação (
Variant PB),ConfigPtrtem de apontar para a estrutura de dados correspondente com os valores de inicialização. - Se for utilizada a variante de pré-compilação (
Variant PC), a interface exige explicitamente a transmissão de umNULL_PTR[SWS_Adc_00365].
Simultaneidade e integração do sistema
A função Adc_Init está especificada como não reentrante (Non Reentrant) [SWS_Adc_00365]. Interpretação: uma vez que as unidades de hardware são configuradas globalmente e não há reentrância, a chamada deverá ocorrer tipicamente de forma centralizada durante a inicialização do sistema, antes de outras funções de módulo ou conversões serem iniciadas. Pergunta Q-a82e9204ae7a5ab7 (aberta)
Relativamente à gestão de energia, existe um acoplamento direto com requisitos associados: caso seja solicitado o estado de energia normal (normal Power State) durante o funcionamento, a API correspondente tem de recorrer a parâmetros de configuração situados nos mesmos contentores que os parâmetros de inicialização de Adc_Init [SWS_Adc_00483].
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I2)
função 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.
A função Adc_SetupResultBuffer inicializa o driver ADC com o endereço inicial de um buffer específico do grupo para armazenar resultados de conversão [SWS_Adc_91000]. Esta chamada é obrigatória após um reset, antes que uma conversão de grupo possa ser iniciada [SWS_Adc_91000].
Parâmetros e contexto de chamada
Group: Identificador numérico do grupo de canais ADC solicitado [SWS_Adc_91000].DataBufferPtr: Ponteiro para o buffer de dados (tipoAdc_ValueGroupType*) no qual os resultados são armazenados [SWS_Adc_91000].
A função é declarada como reentrante e assíncrona e está disponível por meio do arquivo de cabeçalho Adc.h (ID de serviço 0x0c) [SWS_Adc_91000].
Valores de retorno e tratamento de erros
O tipo de retorno é Std_ReturnType [SWS_Adc_91000]:
E_OK: O ponteiro para o buffer de resultados foi inicializado com sucesso [SWS_Adc_91000].E_NOT_OK: A operação falhou ou ocorreu um erro de desenvolvimento [SWS_Adc_91000].
Obrigações da aplicação
A aplicação chamadora deve garantir que o buffer apontado por DataBufferPtr disponibilize espaço de memória suficiente para todos os resultados de conversão do grupo de canais especificado [SWS_Adc_91000].
Esta nota de utilização foi gerada automaticamente com base na especificação de AUTOSAR R20-11.
Guia do implementador em breve (complexidade I2)
função 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.
A função Adc_DeInit serve para a desinicialização do controlador ADC e transfere todas as unidades de hardware do ADC associadas para um estado comparável ao estado imediatamente após um power-on-reset [SWS_Adc_00366]. Restabelece, assim, o estado inicial do hardware antes de uma nova inicialização.
Chamada e interface
A função está declarada no ficheiro de cabeçalho Adc.h e possui o Service-ID 0x01 [SWS_Adc_00366]. A chamada ocorre de forma síncrona (Synchronous) e não requer quaisquer parâmetros (nem In, InOut ou Out); também não é fornecido um valor de retorno (assinatura void Adc_DeInit(void)) [SWS_Adc_00366]. Não são avaliados nem gerados parâmetros de entrada ou valores de retorno. Devido à semântica síncrona, a execução bloqueia o chamador até que a reposição de todas as unidades esteja concluída [SWS_Adc_00366].
Simultaneidade e restrições
Quanto à concorrência, a função está especificada como não reentrante (Non Reentrant) [SWS_Adc_00366]. Disto resulta a interpretação: chamadas simultâneas ou sobrepostas a Adc_DeInit a partir de múltiplas tarefas ou de diferentes camadas de software não são permitidas e têm de ser coordenadas e evitadas pelo chamador.
Como Adc_DeInit repõe completamente todas as unidades de hardware do ADC para o estado de reset [SWS_Adc_00366], deverá assegurar-se antes da chamada que já não existem processos de medição ou conversão ativos, a fim de evitar comportamentos indefinidos do hardware. Pergunta Q-15bfa2b822826786 (aberta)
Este texto foi gerado por uma IA e serve como auxílio de documentação orientador.
Guia do implementador em breve (complexidade I2)
função 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
A função Adc_StartGroupConversion inicia a conversão de todos os canais do grupo de canais ADC transmitido, de acordo com [SWS_Adc_00367]. Como parâmetro, é transmitido o ID de grupo numérico Group do tipo Adc_GroupType. A função não possui valor de retorno (void) e opera de forma assíncrona ([SWS_Adc_00367]).
Simultaneidade e restrições
Segundo a especificação, o serviço está classificado como reentrante ([SWS_Adc_00367]). Interpretação: isto deverá significar que a função pode ser chamada concorrentemente para diferentes grupos de canais. Pergunta Q-8283232f222f7b0a (aberta) Como o início ocorre de forma assíncrona, a chamada retorna antes da conclusão da conversão propriamente dita.
Tratamento de erros e interação
O serviço está disponível através do cabeçalho Adc.h e possui o Service-ID 0x02 ([SWS_Adc_00367]). Códigos de erro DET ou DEM específicos não estão documentados no presente payload.
Esta nota de uso baseia-se na especificação AUTOSAR R20-11 e foi gerada automaticamente.
Guia do implementador em breve (complexidade I2)
função Adc_StopGroupConversion [SWS_Adc_00368] 📄 PDF
void Adc_StopGroupConversion (Adc_GroupType Group);
Stops the conversion of the requested ADC Channel group.
A função síncrona Adc_StopGroupConversion termina a conversão em curso de um grupo de canais ADC solicitado [SWS_Adc_00368]. A interface está declarada no cabeçalho Adc.h e especificada sob o Service-ID 0x03 [SWS_Adc_00368].
Como único parâmetro, é transmitido o valor de entrada Group do tipo Adc_GroupType, que representa o ID numérico do respetivo grupo de canais ADC [SWS_Adc_00368]. A chamada não possui valor de retorno (void) e não utiliza parâmetros de entrada/saída nem exclusivamente de saída [SWS_Adc_00368].
Relativamente ao comportamento de concorrência, o serviço está classificado como reentrante e apresenta uma semântica de execução síncrona [SWS_Adc_00368]. Chamadas paralelas à interface são, portanto, permitidas. O comportamento síncrono implica que a operação é concluída imediatamente com a chamada da função [SWS_Adc_00368].
Interpretação: uma chamada deverá pressupor funcionalmente que foi previamente iniciada uma conversão para o grupo em causa, a fim de ser possível realizar a paragem. Pergunta Q-644ca5344ab849b0 (aberta) Códigos de erro específicos, valores de retorno para indicação de erro ou notificações a dispositivos de desenvolvimento (DET/DEM) não constam do presente excerto de especificação para este serviço [SWS_Adc_00368].
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR CP R20-11.
Guia do implementador em breve (complexidade I1)
função 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).
A função síncrona Adc_ReadGroup serve para a leitura dos resultados de conversão de um grupo de canais ADC da última ronda de conversão concluída ([SWS_Adc_00369]). Está disponível através do ficheiro de cabeçalho Adc.h e possui o Service-ID 0x04 ([SWS_Adc_00369]).
Parâmetros e layout do buffer
Group: Identificador numérico do grupo de canais ADC solicitado ([SWS_Adc_00369]).DataBufferPtr: Ponteiro para o buffer de destino (Adc_ValueGroupType*), a partir de cujo endereço são armazenados os resultados de conversão de todos os canais do grupo ([SWS_Adc_00369]).
O armazenamento dos valores dos canais ocorre a partir do endereço de destino em ordem ascendente de canais ([SWS_Adc_00369]). Este layout de memória difere explicitamente da disposição do buffer no caso de acesso configurado por streaming ([SWS_Adc_00369]). Interpretação: o chamador deverá ser responsável por disponibilizar um buffer suficientemente dimensionado para todos os canais do grupo. Pergunta Q-f22a12a6c7ab0eb3 (aberta)
Valores de retorno e tratamento de erros
O valor de retorno do tipo Std_ReturnType sinaliza o estado da operação de leitura ([SWS_Adc_00369]):
E_OK: Os resultados estão disponíveis e foram gravados com sucesso no buffer de dados ([SWS_Adc_00369]).E_NOT_OK: Não existem resultados disponíveis ou ocorreu um erro de desenvolvimento ([SWS_Adc_00369]).
simultaneidade
A função está especificada como reentrante ([SWS_Adc_00369]). Pode, assim, ser executada em paralelo, desde que sejam utilizadas áreas de buffer distintas para acessos simultâneos.
Este texto foi gerado automaticamente com base na especificação AUTOSAR CP R20-11.
Guia do implementador em breve (complexidade I2)
função Adc_EnableHardwareTrigger [SWS_Adc_91001] 📄 PDF
void Adc_EnableHardwareTrigger (Adc_GroupType Group);
Enables the hardware trigger for the requested ADC Channel group.
Utilização e parâmetros
A função Adc_EnableHardwareTrigger habilita o trigger de hardware para um grupo de canais ADC configurado [SWS_Adc_91001]. Ela é definida como um serviço com o ID de serviço 0x05 no módulo Adc e está disponível por meio do arquivo de cabeçalho Adc.h [SWS_Adc_91001].
- Parâmetros de entrada: O ID numérico do grupo de canais ADC desejado é passado por meio do parâmetro
Groupdo tipoAdc_GroupType[SWS_Adc_91001]. Não existem parâmetros adicionais de entrada/saída ou de saída [SWS_Adc_91001]. - Valor de retorno: A interface não fornece valor de retorno (
void) [SWS_Adc_91001]. - Semântica assíncrona: O comportamento de execução é definido como assíncrono [SWS_Adc_91001]. A chamada habilita o disparo, enquanto a conversão real dos canais só é iniciada por eventos de hardware subsequentes.
simultaneidade
O driver especifica Adc_EnableHardwareTrigger como reentrante [SWS_Adc_91001]. Interpretação: A reentrância provavelmente se refere em primeira linha à chamada simultânea com grupos de canais disjuntos, já que o trigger de hardware é habilitado por grupo de canais. Pergunta Q-5750576df9f0284d (aberta)
Esta nota de uso baseia-se na especificação AUTOSAR Classic R20-11.
Guia do implementador em breve (complexidade I1)
função Adc_DisableHardwareTrigger [SWS_Adc_91002] 📄 PDF
void Adc_DisableHardwareTrigger (Adc_GroupType Group);
Disables the hardware trigger for the requested ADC Channel group.
A função Adc_DisableHardwareTrigger serve para desativar o disparo por hardware para um grupo de canais ADC solicitado [SWS_Adc_91002].
Utilização e semântica
- Parâmetros: É passado o parâmetro
Groupdo tipoAdc_GroupType, que especifica o ID numérico do grupo de canais ADC desejado [SWS_Adc_91002]. - Valor de retorno: A função não possui valor de retorno (
void) [SWS_Adc_91002]. - Comportamento de execução: A chamada é classificada como assíncrona (Sync/Async: Asynchronous) [SWS_Adc_91002]. Isso provavelmente significa que a parada ou o desacoplamento efetivo do evento de hardware pode ter efeito com retardo temporal no lado do hardware. Pergunta Q-b0e613163b254242 (aberta)
Concorrência e integração
A interface está declarada como reentrante (Reentrancy: Reentrant) e é disponibilizada por meio do arquivo de cabeçalho Adc.h; seu Service ID é 0x06 [SWS_Adc_91002]. Códigos de erro específicos, contextos de chamada ou mensagens DET/DEM não estão contidos no presente trecho da especificação.
Este texto foi gerado automaticamente. Todas as informações apoiam-se exclusivamente na especificação do AUTOSAR Classic R20-11.
Guia do implementador em breve (complexidade I1)
função Adc_EnableGroupNotification [SWS_Adc_91003] 📄 PDF
void Adc_EnableGroupNotification (Adc_GroupType Group);
Enables the notification mechanism for the requested ADC Channel group.
A função Adc_EnableGroupNotification serve para habilitar o mecanismo de notificação para um grupo de canais ADC solicitado [SWS_Adc_91003]. A declaração desta interface é disponibilizada aos usuários por meio do arquivo de cabeçalho Adc.h [SWS_Adc_91003].
Como único parâmetro de entrada, é passado Group do tipo de dados Adc_GroupType, o qual determina o ID numérico do grupo de canais ADC solicitado [SWS_Adc_91003]. A função não possui parâmetros de entrada/saída nem parâmetros de saída e não retorna nenhum valor de retorno (void) [SWS_Adc_91003]. O serviço é listado sob o ID de serviço 0x07 e apresenta semântica de execução assíncrona [SWS_Adc_91003].
Em relação ao comportamento de concorrência, Adc_EnableGroupNotification é especificado como reentrante [SWS_Adc_91003]. Portanto, múltiplas chamadas paralelas são permitidas. A classificação assíncrona da execução provavelmente significa que a ativação da notificação de grupo é agendada no driver ou implementada em segundo plano, sem bloquear o contexto chamador durante o processamento [SWS_Adc_91003]. Pergunta Q-bae8fba7810fa269 (aberta)
O presente trecho de especificação não estabelece outras determinações sobre erros específicos de desenvolvimento ou de produção (DET ou DEM), nem sobre condições exatas de chamada ou contextos de tarefas.
Esta nota de uso baseia-se exclusivamente nos requisitos de especificação do release AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
função Adc_DisableGroupNotification [SWS_Adc_91004] 📄 PDF
void Adc_DisableGroupNotification (Adc_GroupType Group);
Disables the notification mechanism for the requested ADC Channel group.
A função Adc_DisableGroupNotification declarada no cabeçalho Adc.h serve, no driver ADC, para desligar de forma direcionada o mecanismo de notificação de um grupo de canais ADC solicitado [SWS_Adc_91004]. O serviço possui o Service ID 0x08 e está especificado com a assinatura void Adc_DisableGroupNotification (Adc_GroupType Group) [SWS_Adc_91004].
Parâmetros e interface
Para a execução da função, está definida a passagem de um único parâmetro de entrada:
Group: passa, como identificador numérico do tipoAdc_GroupType, o ID exclusivo do grupo de canais ADC desejado cuja notificação deve ser desativada [SWS_Adc_91004].
A função não retorna nenhum valor de retorno (void) para o chamador [SWS_Adc_91004]. Além disso, de acordo com a especificação, não são utilizados parâmetros combinados de entrada/saída (inout) nem parâmetros exclusivos de saída (out) [SWS_Adc_91004].
Comportamento de execução e concorrência
Em relação ao comportamento de concorrência, Adc_DisableGroupNotification é classificada como reentrante [SWS_Adc_91004]. Em princípio, isso permite a chamada paralela ou de interrupção do serviço por diferentes contextos de programa [SWS_Adc_91004].
Quanto à sincronização temporal, a função é classificada como assíncrona [SWS_Adc_91004]. Interpretação: Como o comportamento temporal é explicitamente declarado como assíncrono, o desligamento do mecanismo de notificação deve ocorrer em segundo plano internamente no driver ou no hardware ADC, sem bloquear o contexto chamador até a conclusão total. Pergunta Q-a1a30a254aa96655 (aberta)
Esta nota de uso foi gerada automaticamente e serve como orientação complementar à especificação.
Guia do implementador em breve (complexidade I1)
função Adc_GetGroupStatus [SWS_Adc_00374] 📄 PDF
Adc_StatusType Adc_GetGroupStatus (Adc_GroupType Group);
Returns the conversion status of the requested ADC Channel group.
função 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).
função Adc_GetVersionInfo [SWS_Adc_00376] 📄 PDF
void Adc_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
função 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.
A função de serviço síncrona Adc_SetPowerState coloca o módulo ADC num estado de energia previamente preparado, selecionado a partir de um conjunto pré-configurado [SWS_Adc_00475].
usar
A função está disponível através do cabeçalho Adc.h e possui o Service-ID 0x10 [SWS_Adc_00475]. Não recebe parâmetros de entrada, mas transmite o resultado através do parâmetro de saída Result do tipo Adc_PowerStateRequestResultType* [SWS_Adc_00475]. Em caso de ativação bem-sucedida do estado de energia, a função retorna E_OK e sinaliza através de Result o estado ADC_SERVICE_ACCEPTED [SWS_Adc_00475].
Tratamento de erros
Se o pedido for rejeitado, a chamada fornece o valor de retorno E_NOT_OK [SWS_Adc_00475]. O módulo diferencia no parâmetro Result entre três causas de erro específicas:
ADC_NOT_INIT: O módulo ADC ainda não está inicializado no momento da chamada [SWS_Adc_00475].ADC_SEQUENCE_ERROR: Ocorre uma sequência incorreta de chamadas da API [SWS_Adc_00475].ADC_HW_FAILURE: Um erro de hardware ocorrido impede a assunção do estado solicitado [SWS_Adc_00475].
Simultaneidade e restrições
Adc_SetPowerState é não reentrante (Non Reentrant) e bloqueia o chamador até à assunção síncrona do estado [SWS_Adc_00475]. Como interpretação, considera-se que, antes da chamada, tem de ter sido obrigatoriamente executada uma etapa de preparação para o estado de destino, uma vez que a função solicita explicitamente um estado já preparado e rejeita erros de sequência com ADC_SEQUENCE_ERROR [SWS_Adc_00475].
Este texto foi gerado por uma IA com base na especificação AUTOSAR R20-11.
Guia do implementador em breve (complexidade I2)
função Adc_GetCurrentPowerState [SWS_Adc_00476] 📄 PDF
Std_ReturnType Adc_GetCurrentPowerState (Adc_PowerStateType* CurrentPowerState, Adc_PowerStateRequestResultType* Result);
Service Adc_GetCurrentPowerState.
função Adc_GetTargetPowerState [SWS_Adc_00477] 📄 PDF
Std_ReturnType Adc_GetTargetPowerState (Adc_PowerStateType* TargetPowerState, Adc_PowerStateRequestResultType* Result);
Service Adc_GetTargetPowerState.
função 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.
Utilização e contexto de chamada
A função síncrona Adc_PreparePowerState inicia o processo de preparação necessário para transferir o módulo de hardware ADC para um estado de energia solicitado [SWS_Adc_00478]. Como parâmetros, são transmitidos o estado de destino pretendido PowerState, bem como um ponteiro Result através do qual o estado do pedido é reportado [SWS_Adc_00478]. O valor de retorno sinaliza com E_OK que o processo de preparação foi iniciado, ou com E_NOT_OK que o serviço foi rejeitado [SWS_Adc_00478].
Tratamento de resultados e erros
Em caso de sucesso (E_OK), o parâmetro de saída Result fornece o valor de estado ADC_SERVICE_ACCEPTED [SWS_Adc_00478]. Se o serviço tiver sido rejeitado com E_NOT_OK, Result especifica a causa exata [SWS_Adc_00478]:
ADC_NOT_INIT: O módulo ADC ainda não está inicializado [SWS_Adc_00478].ADC_SEQUENCE_ERROR: Sequência de chamadas inválida, uma vez que o estado atual já corresponde ao estado de destino [SWS_Adc_00478].ADC_POWER_STATE_NOT_SUPP: O estado de energia solicitado não é suportado pelo módulo [SWS_Adc_00478].ADC_TRANS_NOT_POSSIBLE: Uma transição direta não é possível ou o periférico de hardware ainda está ocupado [SWS_Adc_00478].
Concorrência e interação
A função é especificada como não reentrante [SWS_Adc_00478]. Por isso, o chamador deve assegurar que as chamadas ocorram sequencialmente e sem sobreposição. Os chamadores provavelmente precisarão concluir ou parar previamente conversões em andamento, visto que um periférico de hardware ativo leva à rejeição. Após a preparação bem-sucedida por Adc_PreparePowerState, ações subsequentes não imediatamente efetivas para a finalização da transição de estado são executadas por meio de uma API subsequente correspondente [SWS_Adc_00499]. Pergunta Q-210c59a46a90d781 (aberta)
Esta nota de uso foi gerada automaticamente e baseia-se exclusivamente nos dados de especificação de SWS_Adc_00478 e SWS_Adc_00499.
Guia do implementador em breve (complexidade I2)
função 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
Utilização e contexto de chamada
A função principal Adc_Main_PowerTransitionManager serve para o monitoramento e o processamento cíclicos de transições de estado de energia no módulo ADC [SWS_Adc_00479]. Ela possui a assinatura void Adc_Main_PowerTransitionManager(void), não aceita parâmetros de entrada e não retorna nenhum valor [SWS_Adc_00479]. A função é chamada ciclicamente e declarada por meio do cabeçalho SchM_Adc.h [SWS_Adc_00479]. A chamada deve, portanto, ocorrer tipicamente no contexto de tarefa cíclica do escalonador da BSW (SchM). Pergunta Q-4fc01e5bed5b3b57 (aberta)
Monitoramento de estado e rotinas assíncronas
Durante a execução cíclica, a função verifica continuamente a prontidão operacional do módulo para o estado de energia solicitado [SWS_Adc_00479]. Assim que a prontidão do módulo é constatada, ela dispara os callbacks de notificação IoHwAb_Adc_NotifyReadyForPowerState<Mode>, que são referenciados pelo parâmetro de configuração AdcPowerStateReadyCbkRef [SWS_Adc_00479]. Todas as operações assíncronas necessárias para alcançar o estado de energia de destino podem ser processadas em segundo plano no contexto de execução de Adc_Main_PowerTransitionManager [SWS_Adc_00498].
Tratamento de erros e condições de contorno
Caso um estado de energia solicitado não possa ser alcançado diretamente a partir do estado de energia atual, a API reporta o erro de tempo de execução ADC_E_TRANSITION_NOT_POSSIBLE [SWS_Adc_00498]. Com a delegação de processos de transição mais longos para essa função gerenciadora cíclica, os chamadores de nível superior não são bloqueados enquanto o módulo ADC conclui a mudança de estado em segundo plano [SWS_Adc_00498].
Esta nota de uso foi gerada automaticamente com base na especificação AUTOSAR Classic R20-11.
Guia do implementador em breve (complexidade I1)
função 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.
A função IoHwAb_Adc_NotifyReadyForPower atua como interface de notificação da abstração de hardware de E/S e é chamada pelo driver ADC assim que a preparação para um estado de energia solicitado no modo <#Mode> estiver concluída [SWS_Adc_00480]. A declaração desta interface é fornecida por meio do arquivo de cabeçalho IoHwAb_Adc.h [SWS_Adc_00480].
Contexto de chamada e semântica
De acordo com a especificação, aplicam-se as seguintes condições gerais para a chamada [SWS_Adc_00480]:
- Parâmetros e valor de retorno: A função não possui parâmetros de entrada, de saída ou de entrada/saída e não fornece valor de retorno (
void) [SWS_Adc_00480]. - Sincronia: O comportamento de execução é definido como síncrono [SWS_Adc_00480].
- Reentrância: A função é classificada como não reentrante (
Non Reentrant) [SWS_Adc_00480]. Os chamadores devem, portanto, assegurar que as chamadas ocorram sequencialmente e não sejam sobrepostas concorrentemente.
Interação e tratamento de erros
Nos dados de especificação não constam códigos de erro ou notificações para o DET ou DEM [SWS_Adc_00480]. A indicação de sintaxe IoHwAb_Adc_NotifyReadyForPowerState<#Mode> provavelmente sugere que o identificador é gerado especificamente dependendo do modo de energia configurado. Pergunta Q-9e9c969f8a41d0de (aberta) A função atua provavelmente como um callback do driver para indicar ao gerenciamento de energia de nível superior o estado de prontidão para a mudança.
Este texto foi gerado por uma IA com base na especificação SWS_Adc_00480.
Guia do implementador em breve (complexidade 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.
O tipo de enumeração Adc_StatusType representa, de acordo com [SWS_Adc_00513], o status atual de conversão de um grupo de canais ADC solicitado e é fornecido por meio do cabeçalho Adc.h.
Os valores da enumeração refletem o progresso da conversão analógico-digital, bem como a disponibilidade de resultados [SWS_Adc_00513]:
ADC_IDLE(0x00): A conversão do grupo especificado ainda não foi iniciada; não há resultados de medição disponíveis [SWS_Adc_00513].ADC_BUSY(0x01): A conversão do grupo foi iniciada e está atualmente em andamento; até o momento, nenhum resultado está disponível [SWS_Adc_00513].ADC_COMPLETED(0x02): Uma rodada de conversão (que não é a final) do grupo foi concluída; há um resultado disponível para todos os canais do grupo [SWS_Adc_00513].ADC_STREAM_COMPLETED(0x03): O buffer de resultados está totalmente preenchido; para cada canal do grupo selecionado, o número exigido de amostras está disponível [SWS_Adc_00513].
Em aplicações, o tipo serve tipicamente para a consulta ou avaliação do progresso do grupo, a fim de determinar se os resultados já podem ser lidos ou se ainda há novas amostragens pendentes.
Este texto foi gerado por uma IA com base na especificação AUTOSAR CP R20-11.
Guia do implementador em breve (complexidade 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
O tipo de enumeração Adc_GroupConvModeType serve para a configuração do modo de conversão de um grupo de canais ADC e é declarado por meio do arquivo de cabeçalho Adc.h [SWS_Adc_00515]. O tipo define se os canais de um grupo são convertidos de forma única ou repetida após o evento de disparo configurado [SWS_Adc_00515].
Estão disponíveis dois modos para a configuração [SWS_Adc_00515]:
-
ADC_CONV_MODE_ONESHOT(0x00): Executa exatamente uma conversão de cada canal do grupo de canais ADC após o evento de trigger configurado [SWS_Adc_00515]. Se um trigger de software tiver sido configurado como fonte de trigger, uma conversão iniciada poderá ser interrompida por meio de uma chamada de API de software [SWS_Adc_00515]. Se, por outro lado, uma fonte de trigger de hardware for atribuída, uma conversão one-shot iniciada poderá ser interrompida desativando-se o evento de trigger, desde que isso seja suportado pelo hardware [SWS_Adc_00515]. -
ADC_CONV_MODE_CONTINUOUS(0x01): Executa conversões repetidas continuamente de cada canal dentro do grupo de canais [SWS_Adc_00515]. Este modo contínuo está disponível exclusivamente para grupos com uma fonte de trigger de software [SWS_Adc_00515]. Uma execução de conversão contínua já iniciada pode ser encerrada a qualquer momento por meio de uma chamada de API de software [SWS_Adc_00515].
No que diz respeito às restrições, deve-se observar que ADC_CONV_MODE_CONTINUOUS só é permitido com disparo por software e não pode ser combinado com fontes de trigger de hardware [SWS_Adc_00515]. A interrupção de conversões em andamento requer uma chamada de API de software dedicada no caso de triggers de software, enquanto sequências one-shot disparadas por hardware exigem a desativação do evento de trigger [SWS_Adc_00515].
Este texto foi criado por uma IA e baseia-se exclusivamente nos dados de especificação do AUTOSAR R20-11.
Guia do implementador em breve (complexidade 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.
O tipo de enumeração Adc_StreamBufferModeType serve para a configuração do comportamento do buffer no modo de acesso streaming do driver ADC e está disponível por meio do arquivo de cabeçalho Adc.h [SWS_Adc_00519].
O tipo define dois modos de operação específicos para o gerenciamento de buffer em conversões de streaming [SWS_Adc_00519]:
ADC_STREAM_BUFFER_LINEAR(valor0x00): O driver ADC encerra a conversão automaticamente assim que o buffer de stream estiver cheio ou o número definido de amostras tiver sido atingido [SWS_Adc_00519].ADC_STREAM_BUFFER_CIRCULAR(valor0x01): O driver ADC continua a conversão mesmo após atingir a capacidade total do buffer, retornando ao início do buffer e sobrescrevendo-o circularmente [SWS_Adc_00519].
As camadas de integração e o software de aplicação devem alinhar o comportamento do buffer com a respectiva estratégia de processamento: enquanto ADC_STREAM_BUFFER_LINEAR é previsto para séries de medição autocontidas com tamanho de amostra fixo, ADC_STREAM_BUFFER_CIRCULAR provavelmente requer um monitoramento contínuo do buffer ou a extração oportuna de dados para evitar uma perda despercebida de dados decorrente da sobrescrita automática [SWS_Adc_00519]. Pergunta Q-23b411e5e6c50591 (aberta)
Este texto foi gerado por uma IA com base na especificação AUTOSAR Classic R20-11.
Guia do implementador em breve (complexidade I1)
tipo Adc_GroupAccessModeType [SWS_Adc_00528] 📄 PDF
Type for configuring the access mode to group conversion results.
O tipo de enumeração Adc_GroupAccessModeType serve para a configuração do modo de acesso aos resultados de conversão de um grupo de canais ADC de acordo com [SWS_Adc_00528]. A definição do tipo é fornecida por meio do arquivo de cabeçalho Adc.h e define como os resultados são armazenados na memória.
Para a configuração do modo de acesso do grupo, dois valores são definidos na especificação [SWS_Adc_00528]:
ADC_ACCESS_MODE_SINGLE(valor0x00): Configura o modo de acesso de valor único (Single value access mode) para o grupo em questão.ADC_ACCESS_MODE_STREAMING(valor0x01): Configura o modo de acesso streaming (Streaming access mode) para o grupo em questão.
O tipo é usado na configuração do driver ADC para controlar o comportamento de acesso aos buffers dos resultados de conversão [SWS_Adc_00528]. Interpretação: Enquanto o modo de valor único provavelmente é projetado para disponibilizar um único valor de resultado atual por canal do grupo, o modo streaming provavelmente foi concebido para séries de medição mais contínuas com múltiplos valores de buffer. Pergunta Q-8a933cffcd1132ef (aberta)
Como se trata de um tipo puramente de configuração, o requisito não define códigos de erro próprios, valores de retorno ou mensagens DET/DEM para este tipo [SWS_Adc_00528].
Este texto foi gerado por uma IA com base na especificação AUTOSAR Classic R20-11.
Guia do implementador em breve (complexidade 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).
Utilização e gama de valores
O tipo de enumeração Adc_ResultAlignmentType é fornecido por meio do arquivo de cabeçalho Adc.h e serve no módulo Adc para definir o alinhamento de valores brutos do ADC no buffer de resultados [SWS_Adc_00525]. Ele constitui a interface padronizada para a configuração do armazenamento em buffer do driver [SWS_Adc_00525]. Como um tipo de dados puro, ele não possui parâmetros de função próprios, valores de retorno ou semântica assíncrona [SWS_Adc_00525].
A faixa de valores da enumeração abrange, de acordo com a especificação, exatamente duas ocorrências [SWS_Adc_00525]:
-
ADC_ALIGN_LEFT(valor numérico0x00): Configura um alinhamento à esquerda dos resultados de conversão no buffer [SWS_Adc_00525]. -
ADC_ALIGN_RIGHT(valor numérico0x01): Configura um alinhamento à direita dos resultados de conversão no buffer [SWS_Adc_00525].
Significado e condições de contorno
O valor selecionado determina em quais posições de bit da área de buffer os dados brutos são armazenados após uma conversão [SWS_Adc_00525]. Isso define se os bits de dados significativos ficam alinhados à esquerda ou à direita na memória [SWS_Adc_00525]. Interpretação: A definição de alinhamento à esquerda ou à direita deve ser relevante principalmente quando a resolução de hardware do conversor analógico-digital for inferior à largura do elemento do buffer alocado. Pergunta Q-54221124172a3d87 (aberta) Os componentes de software downstream devem considerar o alinhamento configurado para poder ler valores brutos sem erros de cálculo ou de deslocamento de bits.
Não existem códigos de erro específicos, mensagens DET ou DEM para esta enumeração [SWS_Adc_00525].
Esta nota de uso foi gerada automaticamente e baseia-se na especificação AUTOSAR R20-11.
tipo Adc_PowerStateType [SWS_Adc_00526] 📄 PDF
Power state currently active or set as target power state.
O tipo enumerado Adc_PowerStateType define no AUTOSAR Classic o estado de energia do driver ADC [SWS_Adc_00526]. Ele é utilizado no driver para representar o estado operacional atualmente assumido pelo módulo ou para predefinir um novo estado de destino a ser acionado para o gerenciamento de energia [SWS_Adc_00526]. A declaração deste tipo de dados é disponibilizada por meio do cabeçalho Adc.h [SWS_Adc_00526].
Para os estados individuais da enumeração, a especificação estabelece uma ordem hierárquica em relação ao consumo de energia [SWS_Adc_00526]:
ADC_FULL_POWER(valor numérico 0): designa o modo operacional e funcional total do driver ADC sem restrições de corrente [SWS_Adc_00526].- Faixa de valores de 1 a 255: representa modos opcionais de economia de energia com consumo de potência decrescente de forma gradual [SWS_Adc_00526].
Em relação à interação e integração no ambiente de sistema, aplica-se a interpretação: o tipo deve servir primariamente como parâmetro de passagem em funções de controle para transições de Power State, bem como para o feedback de status para módulos de nível superior, como o BSW ou o ECU State Management. Pergunta Q-e4f964bd79ad550c (aberta) Por se tratar de uma definição elementar de tipo de dados, propriedades específicas como contextos de chamada, requisitos de reentrância, semântica síncrona ou assíncrona, bem como erros de tempo de execução e mensagens DET são definidos apenas nas APIs de driver correspondentes e não fazem parte desta descrição de tipo [SWS_Adc_00526].
Este texto foi gerado por uma IA. Ele baseia-se exclusivamente nas especificações da release AUTOSAR R20-11.
Guia do implementador em breve (complexidade I1)
tipo Adc_PowerStateRequestResultType [SWS_Adc_00527] 📄 PDF
Type Adc_PowerStateRequestResultType.
O tipo de enumeração Adc_PowerStateRequestResultType define os valores de retorno para solicitações de transições de estado no gerenciamento de energia do driver ADC e é fornecido por meio do arquivo de cabeçalho Adc.h [SWS_Adc_00527].
Os valores do tipo refletem o sucesso ou causas específicas de erro de uma mudança de power state solicitada [SWS_Adc_00527]:
ADC_SERVICE_ACCEPTED(0): A mudança para o estado desejado foi executada com sucesso [SWS_Adc_00527].ADC_NOT_INIT(1): A chamada falhou porque o módulo ADC ainda não foi inicializado [SWS_Adc_00527].ADC_SEQUENCE_ERROR(2): Há uma ordem incorreta na chamada das APIs [SWS_Adc_00527].ADC_HW_FAILURE(3): Um erro de hardware impede a mudança para o estado requerido [SWS_Adc_00527].ADC_POWER_STATE_NOT_SUPP(4): O power state requerido não é suportado pelo módulo ADC [SWS_Adc_00527].ADC_TRANS_NOT_POSSIBLE(5): Uma transição direta do estado atual para o desejado não é possível ou o periférico de hardware ainda está ocupado [SWS_Adc_00527].
Os chamadores devem avaliar o valor de retorno para distinguir entre a execução regular e condições de erro, tais como sequência incorreta, falta de inicialização do módulo ou conflitos de hardware [SWS_Adc_00527].
Este texto foi gerado por uma IA com base na especificação.
Guia do implementador em breve (complexidade 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#acd3c788- Content hash
acd3c788- 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 em alemão