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
функция Adc_Init [SWS_Adc_00365] 📄 PDF
void Adc_Init (const Adc_ConfigType* ConfigPtr);
Initializes the ADC hardware units and driver.
Синхронная функция Adc_Init (Service-ID 0x00) служит для начальной конфигурации и ввода в эксплуатацию всех аппаратных блоков ADC, а также драйвера ADC согласно [SWS_Adc_00365]. Интерфейс предоставляется через заголовочный файл Adc.h и не имеет возвращаемого значения.
Параметры и варианты конфигурации
Передача данных конфигурации осуществляется через параметр-указатель ConfigPtr типа const Adc_ConfigType* [SWS_Adc_00365]. Требуемый аргумент зависит от выбранного варианта сборки:
- При использовании конфигурации Post-Build (
Variant PB)ConfigPtrдолжен указывать на соответствующую структуру данных со значениями инициализации. - Если применяется вариант предварительной компиляции (
Variant PC), интерфейс явно требует передачиNULL_PTR[SWS_Adc_00365].
Параллелизм и системная интеграция
Функция Adc_Init специфицирована как нереентерабельная (Non Reentrant) [SWS_Adc_00365]. Интерпретация: поскольку аппаратные блоки конфигурируются глобально и реентерабельность отсутствует, вызов обычно должен выполняться централизованно во время инициализации системы, до того как будут инициированы другие функции модуля или преобразования. Вопрос Q-a82e9204ae7a5ab7 (открытый)
Что касается управления электропитанием, существует прямая связь со смежными требованиями: если во время работы запрашивается нормальное состояние питания (normal Power State), соответствующий API должен обращаться к параметрам конфигурации, находящимся в тех же контейнерах, что и параметры инициализации Adc_Init [SWS_Adc_00483].
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
функция 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.
Функция Adc_SetupResultBuffer инициализирует драйвер ADC начальным адресом специфичного для группы буфера для хранения результатов преобразования [SWS_Adc_91000]. Этот вызов обязателен после сброса перед тем, как можно будет запустить преобразование группы [SWS_Adc_91000].
Параметры и контекст вызова
Group: числовой идентификатор запрошенной группы каналов ADC [SWS_Adc_91000].DataBufferPtr: указатель на буфер данных (типAdc_ValueGroupType*), в котором сохраняются результаты [SWS_Adc_91000].
Функция объявлена как реентерабельная и асинхронная и доступна через заголовочный файл Adc.h (Service ID 0x0c) [SWS_Adc_91000].
Возвращаемые значения и обработка ошибок
Типом возвращаемого значения является Std_ReturnType [SWS_Adc_91000]:
E_OK: указатель на буфер результатов успешно инициализирован [SWS_Adc_91000].E_NOT_OK: операция завершилась неудачей или возникла ошибка разработки [SWS_Adc_91000].
Обязанности приложения
Вызывающее приложение должно гарантировать, что буфер, на который указывает DataBufferPtr, предоставляет достаточно места в памяти для всех результатов преобразования указанной группы каналов [SWS_Adc_91000].
Это указание по использованию было автоматически сгенерировано на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
функция 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.
Функция Adc_DeInit служит для деинициализации драйвера ADC и переводит все относящиеся к нему аппаратные блоки ADC в состояние, сравнимое с состоянием непосредственно после Power-on-Reset [SWS_Adc_00366]. Тем самым она восстанавливает исходное состояние оборудования перед повторной инициализацией.
Вызов и интерфейс
Функция объявлена в заголовочном файле Adc.h и имеет Service-ID 0x01 [SWS_Adc_00366]. Вызов выполняется синхронно (Synchronous) и не требует никаких параметров (ни In, InOut, ни Out); возвращаемое значение также не предоставляется (сигнатура void Adc_DeInit(void)) [SWS_Adc_00366]. При этом не вычисляются и не формируются ни входные параметры, ни возвращаемые значения. Из-за синхронной семантики выполнение блокирует вызывающую сторону до тех пор, пока сброс всех блоков не будет завершен [SWS_Adc_00366].
Параллелизм и ограничения
Что касается конкурентности, функция специфицирована как нереентерабельная (Non Reentrant) [SWS_Adc_00366]. Отсюда следует интерпретация: одновременные или перекрывающиеся вызовы Adc_DeInit из нескольких задач или различных уровней программного обеспечения недопустимы и должны координироваться и предотвращаться вызывающей стороной.
Поскольку Adc_DeInit полностью переводит все аппаратные блоки ADC обратно в состояние сброса [SWS_Adc_00366], перед вызовом, вероятно, следует убедиться, что процессы измерения или преобразования больше не активны, чтобы предотвратить неопределенное поведение оборудования. Вопрос Q-15bfa2b822826786 (открытый)
Этот текст был сгенерирован ИИ и служит ориентировочным справочным материалом по документации.
Руководство разработчика реализации в подготовке (сложность I2)
функция Adc_StartGroupConversion [SWS_Adc_00367] 📄 PDF
void Adc_StartGroupConversion (Adc_GroupType Group);
Starts the conversion of all channels of the requested ADC Channel group.
Использование
Функция Adc_StartGroupConversion запускает преобразование всех каналов переданной группы каналов ADC согласно [SWS_Adc_00367]. В качестве параметра передается числовой ID группы Group типа Adc_GroupType. Функция не имеет возвращаемого значения (void) и работает асинхронно ([SWS_Adc_00367]).
Параллелизм и ограничения
Согласно спецификации, сервис классифицирован как реентерабельный ([SWS_Adc_00367]). Интерпретация: вероятно, это означает, что функция может вызываться параллельно для различных групп каналов. Вопрос Q-8283232f222f7b0a (открытый) Поскольку запуск происходит асинхронно, вызов возвращает управление до завершения фактического преобразования.
Обработка ошибок и взаимодействие
Сервис доступен через заголовочный файл Adc.h и имеет Service-ID 0x02 ([SWS_Adc_00367]). Специфические коды ошибок DET или DEM в текущих данных не задокументированы.
Это указание по использованию основано на спецификации AUTOSAR R20-11 и было сгенерировано автоматически.
Руководство разработчика реализации в подготовке (сложность I2)
функция Adc_StopGroupConversion [SWS_Adc_00368] 📄 PDF
void Adc_StopGroupConversion (Adc_GroupType Group);
Stops the conversion of the requested ADC Channel group.
Синхронная функция Adc_StopGroupConversion завершает текущее преобразование запрошенной группы каналов ADC [SWS_Adc_00368]. Интерфейс объявлен в заголовочном файле Adc.h и специфицирован под Service-ID 0x03 [SWS_Adc_00368].
В качестве единственного параметра передается входное значение Group типа Adc_GroupType, представляющее числовой ID соответствующей группы каналов ADC [SWS_Adc_00368]. Вызов не имеет возвращаемого значения (void) и не использует ни входных/выходных, ни чисто выходных параметров [SWS_Adc_00368].
Что касается поведения в отношении конкурентности, сервис классифицирован как реентерабельный и имеет синхронную семантику выполнения [SWS_Adc_00368]. Параллельные вызовы интерфейса, таким образом, допустимы. Синхронное поведение подразумевает, что операция завершается непосредственно вместе с вызовом функции [SWS_Adc_00368].
Интерпретация: вызов, вероятно, функционально предполагает, что для соответствующей группы ранее было инициировано преобразование, чтобы иметь возможность выполнить остановку. Вопрос Q-644ca5344ab849b0 (открытый) Специфические коды ошибок, возвращаемые значения для индикации ошибок или сообщения для средств разработки (DET/DEM) в приведенной выдержке из спецификации для этого сервиса не указаны [SWS_Adc_00368].
Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR CP R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция 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).
Синхронная функция Adc_ReadGroup служит для считывания результатов преобразования группы каналов ADC из последнего завершенного раунда преобразования ([SWS_Adc_00369]). Она доступна через заголовочный файл Adc.h и имеет Service-ID 0x04 ([SWS_Adc_00369]).
Параметры и размещение в буфере
Group: числовой идентификатор запрошенной группы каналов ADC ([SWS_Adc_00369]).DataBufferPtr: указатель на целевой буфер (Adc_ValueGroupType*), начиная с адреса которого сохраняются результаты преобразования всех каналов группы ([SWS_Adc_00369]).
Сохранение значений каналов происходит начиная с целевого адреса в порядке возрастания номеров каналов ([SWS_Adc_00369]). Эта схема размещения в памяти явно отличается от расположения в буфере при сконфигурированном потоковом доступе ([SWS_Adc_00369]). Интерпретация: вызывающая сторона, вероятно, несет ответственность за предоставление буфера достаточного размера для всех каналов группы. Вопрос Q-f22a12a6c7ab0eb3 (открытый)
Возвращаемые значения и обработка ошибок
Возвращаемое значение типа Std_ReturnType сигнализирует о состоянии операции чтения ([SWS_Adc_00369]):
E_OK: результаты доступны и были успешно записаны в буфер данных ([SWS_Adc_00369]).E_NOT_OK: результаты недоступны или произошла ошибка разработки ([SWS_Adc_00369]).
Параллелизм
Функция специфицирована как реентерабельная ([SWS_Adc_00369]). Таким образом, она может выполняться параллельно при условии, что для одновременных обращений используются раздельные области буфера.
Этот текст был сгенерирован автоматически на основе спецификации AUTOSAR CP R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
функция Adc_EnableHardwareTrigger [SWS_Adc_91001] 📄 PDF
void Adc_EnableHardwareTrigger (Adc_GroupType Group);
Enables the hardware trigger for the requested ADC Channel group.
Использование и параметры
Функция Adc_EnableHardwareTrigger активирует аппаратный триггер для сконфигурированной группы каналов ADC [SWS_Adc_91001]. Она определена как служба с Service ID 0x05 в модуле Adc и доступна через заголовочный файл Adc.h [SWS_Adc_91001].
- Входные параметры: через параметр
GroupтипаAdc_GroupTypeпередается числовой ID требуемой группы каналов ADC [SWS_Adc_91001]. Дополнительные входные/выходные или выходные параметры отсутствуют [SWS_Adc_91001]. - Возвращаемое значение: интерфейс не возвращает значения (
void) [SWS_Adc_91001]. - Асинхронная семантика: поведение выполнения определено как асинхронное [SWS_Adc_91001]. Вызов разрешает запуск, тогда как фактическое преобразование каналов инициируется только последующими аппаратными событиями.
Параллелизм
Драйвер специфицирует Adc_EnableHardwareTrigger как реентерабельную [SWS_Adc_91001]. Интерпретация: реентерабельность, вероятно, в первую очередь относится к одновременному вызову с непересекающимися группами каналов, поскольку аппаратный триггер активируется для каждой группы каналов отдельно. Вопрос Q-5750576df9f0284d (открытый)
Данное указание по использованию основано на спецификации AUTOSAR Classic R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция Adc_DisableHardwareTrigger [SWS_Adc_91002] 📄 PDF
void Adc_DisableHardwareTrigger (Adc_GroupType Group);
Disables the hardware trigger for the requested ADC Channel group.
Функция Adc_DisableHardwareTrigger служит для отключения аппаратного триггера для запрошенной группы каналов ADC [SWS_Adc_91002].
Использование и семантика
- Параметры: передаётся параметр
GroupтипаAdc_GroupType, определяющий числовой ID требуемой группы каналов ADC [SWS_Adc_91002]. - Возвращаемое значение: функция не имеет возвращаемого значения (
void) [SWS_Adc_91002]. - Поведение при выполнении: вызов классифицируется как асинхронный (Sync/Async: Asynchronous) [SWS_Adc_91002]. Это, предположительно, означает, что фактическая остановка или отключение аппаратного события на стороне оборудования может вступить в силу с задержкой по времени. Вопрос Q-b0e613163b254242 (открытый)
Параллелизм и интеграция
Интерфейс объявлен реэнтерабельным (Reentrancy: Reentrant) и предоставляется через заголовочный файл Adc.h; его Service-ID — 0x06 [SWS_Adc_91002]. Специфические коды ошибок, контексты вызова или сообщения DET/DEM в данной выдержке из спецификации не содержатся.
Этот текст сгенерирован автоматически. Все сведения основаны исключительно на спецификации AUTOSAR Classic R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция Adc_EnableGroupNotification [SWS_Adc_91003] 📄 PDF
void Adc_EnableGroupNotification (Adc_GroupType Group);
Enables the notification mechanism for the requested ADC Channel group.
Функция Adc_EnableGroupNotification служит для активации механизма уведомлений для запрошенной группы каналов ADC [SWS_Adc_91003]. Объявление этого интерфейса предоставляется для пользователей через заголовочный файл Adc.h [SWS_Adc_91003].
В качестве единственного входного параметра передается Group типа данных Adc_GroupType, который определяет числовой ID запрошенной группы каналов ADC [SWS_Adc_91003]. Функция не имеет ни входных/выходных, ни выходных параметров и не возвращает значения (void) [SWS_Adc_91003]. Служба зарегистрирована под Service ID 0x07 и обладает асинхронной семантикой выполнения [SWS_Adc_91003].
Что касается поведения при конкурентности, Adc_EnableGroupNotification специфицирована как реентерабельная [SWS_Adc_91003]. Таким образом, допускается несколько параллельных вызовов. Асинхронная классификация выполнения, вероятно, означает, что активация уведомления группы резервируется в драйвере или реализуется в фоновом режиме без блокировки вызывающего контекста во время обработки [SWS_Adc_91003]. Вопрос Q-bae8fba7810fa269 (открытый)
Относительно специфических ошибок разработки или производства (DET или DEM), а также точных условий вызова или контекстов задач данный фрагмент спецификации не содержит дальнейших определений.
Это указание по использованию основано исключительно на требованиях спецификации релиза AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция Adc_DisableGroupNotification [SWS_Adc_91004] 📄 PDF
void Adc_DisableGroupNotification (Adc_GroupType Group);
Disables the notification mechanism for the requested ADC Channel group.
Функция Adc_DisableGroupNotification, объявленная в заголовочном файле Adc.h, служит в драйвере ADC для целенаправленного отключения механизма уведомлений для запрошенной группы каналов ADC [SWS_Adc_91004]. Служба имеет Service-ID 0x08 и специфицирована с сигнатурой void Adc_DisableGroupNotification (Adc_GroupType Group) [SWS_Adc_91004].
Параметры и интерфейс
Для выполнения функции предусмотрена передача одного входного параметра:
Group: передаёт в качестве числового идентификатора типаAdc_GroupTypeуникальный ID требуемой группы каналов ADC, уведомление для которой необходимо отключить [SWS_Adc_91004].
Функция не возвращает вызывающей стороне никакого значения (void) [SWS_Adc_91004]. Кроме того, согласно спецификации, не используются ни комбинированные входные/выходные параметры (inout), ни чисто выходные параметры (out) [SWS_Adc_91004].
Поведение при выполнении и параллелизм
Что касается поведения при параллельном выполнении, Adc_DisableGroupNotification классифицируется как реэнтерабельная [SWS_Adc_91004]. В принципе это допускает параллельный или прерывающий вызов службы из различных программных контекстов [SWS_Adc_91004].
В отношении временной синхронизации функция классифицируется как асинхронная [SWS_Adc_91004]. Интерпретация: поскольку временное поведение явно объявлено как асинхронное, отключение механизма уведомлений, вероятно, происходит внутри драйвера или в оборудовании ADC в фоновом режиме, без блокировки вызывающего контекста до полного завершения. Вопрос Q-a1a30a254aa96655 (открытый)
Это указание по использованию сгенерировано автоматически и служит дополнительным ориентиром к спецификации.
Руководство разработчика реализации в подготовке (сложность I1)
функция Adc_GetGroupStatus [SWS_Adc_00374] 📄 PDF
Adc_StatusType Adc_GetGroupStatus (Adc_GroupType Group);
Returns the conversion status of the requested ADC Channel group.
функция 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).
функция Adc_GetVersionInfo [SWS_Adc_00376] 📄 PDF
void Adc_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
функция 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.
Синхронная сервисная функция Adc_SetPowerState переводит модуль ADC в предварительно подготовленное состояние электропитания, выбранное из предварительно сконфигурированного множества [SWS_Adc_00475].
Использование
Функция доступна через заголовочный файл Adc.h и имеет Service-ID 0x10 [SWS_Adc_00475]. Она не принимает входных параметров, а передает результат через выходной параметр Result типа Adc_PowerStateRequestResultType* [SWS_Adc_00475]. При успешной активации состояния электропитания функция возвращает E_OK и сообщает через Result о состоянии ADC_SERVICE_ACCEPTED [SWS_Adc_00475].
Обработка ошибок
Если запрос отклоняется, вызов возвращает значение E_NOT_OK [SWS_Adc_00475]. Модуль при этом дифференцирует в параметре Result три конкретные причины ошибки:
ADC_NOT_INIT: модуль ADC к моменту вызова еще не инициализирован [SWS_Adc_00475].ADC_SEQUENCE_ERROR: нарушена последовательность вызовов API [SWS_Adc_00475].ADC_HW_FAILURE: возникшая аппаратная ошибка препятствует переходу в запрошенное состояние [SWS_Adc_00475].
Параллелизм и ограничения
Adc_SetPowerState нереентерабельна (Non Reentrant) и блокирует вызывающую сторону до синхронного перехода в состояние [SWS_Adc_00475]. В качестве интерпретации принимается, что перед вызовом обязательно должен быть выполнен шаг подготовки для целевого состояния, поскольку функция явно запрашивает уже подготовленное состояние и отклоняет ошибки последовательности вызовов с ADC_SEQUENCE_ERROR [SWS_Adc_00475].
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I2)
функция Adc_GetCurrentPowerState [SWS_Adc_00476] 📄 PDF
Std_ReturnType Adc_GetCurrentPowerState (Adc_PowerStateType* CurrentPowerState, Adc_PowerStateRequestResultType* Result);
Service Adc_GetCurrentPowerState.
функция Adc_GetTargetPowerState [SWS_Adc_00477] 📄 PDF
Std_ReturnType Adc_GetTargetPowerState (Adc_PowerStateType* TargetPowerState, Adc_PowerStateRequestResultType* Result);
Service Adc_GetTargetPowerState.
функция 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.
Использование и контекст вызова
Синхронная функция Adc_PreparePowerState инициирует необходимый процесс подготовки для перевода аппаратного модуля ADC в запрошенное состояние энергопотребления [SWS_Adc_00478]. В качестве параметров передаются требуемое целевое состояние PowerState, а также указатель Result, через который возвращается статус запроса [SWS_Adc_00478]. Возвращаемое значение сигнализирует с помощью E_OK о том, что процесс подготовки был запущен, или с помощью E_NOT_OK о том, что служба была отклонена [SWS_Adc_00478].
Обработка результатов и ошибок
В случае успеха (E_OK) выходной параметр Result возвращает значение статуса ADC_SERVICE_ACCEPTED [SWS_Adc_00478]. Если служба была отклонена с E_NOT_OK, то Result указывает точную причину [SWS_Adc_00478]:
ADC_NOT_INIT: модуль ADC еще не инициализирован [SWS_Adc_00478].ADC_SEQUENCE_ERROR: недопустимая последовательность вызовов, так как текущее состояние уже соответствует целевому состоянию [SWS_Adc_00478].ADC_POWER_STATE_NOT_SUPP: запрошенное состояние энергопотребления не поддерживается модулем [SWS_Adc_00478].ADC_TRANS_NOT_POSSIBLE: прямой переход невозможен или аппаратная периферия все еще занята [SWS_Adc_00478].
Параллелизм и взаимодействие
Функция специфицирована как нереентерабельная [SWS_Adc_00478]. Поэтому вызывающая сторона должна обеспечить, чтобы вызовы выполнялись последовательно и без перекрытия. Вызывающей стороне, вероятно, потребуется предварительно завершить или остановить текущие преобразования, поскольку активная аппаратная периферия приводит к отклонению запроса. Вопрос Q-210c59a46a90d781 (открытый) После успешной подготовки с помощью Adc_PreparePowerState последующие, не имеющие немедленного действия операции по завершению перехода состояния выполняются через соответствующий последующий API [SWS_Adc_00499].
Это указание по использованию было сгенерировано автоматически и основано исключительно на данных спецификации из SWS_Adc_00478 и SWS_Adc_00499.
Руководство разработчика реализации в подготовке (сложность I2)
функция 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
Использование и контекст вызова
Основная функция Adc_Main_PowerTransitionManager служит для циклического контроля и выполнения переходов между энергетическими состояниями в модуле ADC [SWS_Adc_00479]. Она имеет сигнатуру void Adc_Main_PowerTransitionManager(void), не принимает входных параметров и не возвращает значения [SWS_Adc_00479]. Функция вызывается циклически и декларируется через заголовочный файл SchM_Adc.h [SWS_Adc_00479]. Таким образом, вызов, вероятно, обычно происходит в контексте циклической задачи шедулера BSW (SchM). Вопрос Q-4fc01e5bed5b3b57 (открытый)
Мониторинг состояния и асинхронные процессы
Во время циклического выполнения функция непрерывно проверяет эксплуатационную готовность модуля для запрошенного энергетического состояния [SWS_Adc_00479]. Как только готовность модуля установлена, она отправляет уведомляющие колбэки IoHwAb_Adc_NotifyReadyForPowerState<Mode>, на которые ссылается конфигурационный параметр AdcPowerStateReadyCbkRef [SWS_Adc_00479]. Все асинхронные операции, необходимые для достижения целевого энергетического состояния, могут обрабатываться в фоновом режиме в контексте выполнения Adc_Main_PowerTransitionManager [SWS_Adc_00498].
Обработка ошибок и граничные условия
Если запрошенное энергетическое состояние не может быть достигнуто напрямую из текущего энергетического состояния, API сообщает об ошибке времени выполнения ADC_E_TRANSITION_NOT_POSSIBLE [SWS_Adc_00498]. Благодаря выносу длительных процессов перехода в эту циклическую функцию-менеджер вышестоящие вызывающие стороны не блокируются, пока модуль ADC завершает смену состояния в фоновом режиме [SWS_Adc_00498].
Это указание по использованию было автоматически сгенерировано на основе спецификации AUTOSAR Classic R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
функция 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.
Функция IoHwAb_Adc_NotifyReadyForPower служит интерфейсом уведомления аппаратной абстракции ввода-вывода (I/O Hardware Abstraction) и вызывается драйвером ADC, как только подготовка к запрошенному состоянию энергопотребления в режиме <#Mode> завершена [SWS_Adc_00480]. Объявление этого интерфейса предоставляется через заголовочный файл IoHwAb_Adc.h [SWS_Adc_00480].
Контекст вызова и семантика
В соответствии со спецификацией для вызова действуют следующие рамочные условия [SWS_Adc_00480]:
- Параметры и возвращаемое значение: функция не имеет ни входных, ни выходных, ни входных/выходных параметров и не возвращает значения (
void) [SWS_Adc_00480]. - Синхронность: поведение выполнения определено как синхронное [SWS_Adc_00480].
- Реентерабельность: функция классифицирована как нереентерабельная (
Non Reentrant) [SWS_Adc_00480]. Поэтому вызывающие стороны должны гарантировать, что вызовы выполняются последовательно и не перекрываются конкурентно.
Взаимодействие и обработка ошибок
В данных спецификации не указаны коды ошибок или уведомления для DET или DEM [SWS_Adc_00480]. Указание синтаксиса IoHwAb_Adc_NotifyReadyForPowerState<#Mode>, вероятно, указывает на то, что идентификатор генерируется специфически в зависимости от сконфигурированного режима питания. Вопрос Q-9e9c969f8a41d0de (открытый) Функция, по-видимому, выполняет роль обратного вызова (callback) драйвера, чтобы сигнализировать вышестоящему управлению питанием о готовности к переходу.
Этот текст был сгенерирован ИИ на основе спецификации SWS_Adc_00480.
Руководство разработчика реализации в подготовке (сложность I1)
тип 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).
тип Adc_ChannelType [SWS_Adc_00506] 📄 PDF
Numeric ID of an ADC channel.
тип Adc_GroupType [SWS_Adc_00507] 📄 PDF
Numeric ID of an ADC channel group.
тип 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).
тип Adc_PrescaleType [SWS_Adc_00509] 📄 PDF
Type of clock prescaler factor. (This is not an API type).
тип Adc_ConversionTimeType [SWS_Adc_00510] 📄 PDF
Type of conversion time, i.e. the time during which the sampled analogue value is converted into digital representation. (This is not an API type).
тип 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).
тип Adc_ResolutionType [SWS_Adc_00512] 📄 PDF
Type of channel resolution in number of bits. (This is not an API type).
тип Adc_StatusType [SWS_Adc_00513] 📄 PDF
Current status of the conversion of the requested ADC Channel group.
Тип перечисления Adc_StatusType представляет согласно [SWS_Adc_00513] текущий статус преобразования запрошенной группы каналов ADC и предоставляется через заголовочный файл Adc.h.
Значения перечисления отражают ход аналого-цифрового преобразования, а также доступность результатов [SWS_Adc_00513]:
ADC_IDLE(0x00): преобразование указанной группы еще не запущено; результаты измерений отсутствуют [SWS_Adc_00513].ADC_BUSY(0x01): преобразование группы запущено и в настоящее время еще выполняется; результат пока недоступен [SWS_Adc_00513].ADC_COMPLETED(0x02): завершен один раунд преобразования (не являющийся финальным) группы; результат доступен для всех каналов группы [SWS_Adc_00513].ADC_STREAM_COMPLETED(0x03): буфер результатов полностью заполнен; для каждого канала выбранной группы доступно требуемое количество отсчетов [SWS_Adc_00513].
В приложениях данный тип обычно служит для опроса или оценки прогресса группы, чтобы определить, можно ли уже считывать результаты или еще ожидаются дальнейшие выборки.
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR CP R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
тип Adc_TriggerSourceType [SWS_Adc_00514] 📄 PDF
Type for configuring the trigger source for an ADC Channel group.
тип 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
Тип перечисления Adc_GroupConvModeType служит для конфигурации режима преобразования группы каналов ADC и объявляется через заголовочный файл Adc.h [SWS_Adc_00515]. Этот тип определяет, преобразуются ли каналы группы однократно или многократно после сконфигурированного события запуска [SWS_Adc_00515].
Для конфигурации доступны два режима [SWS_Adc_00515]:
-
ADC_CONV_MODE_ONESHOT(0x00): выполняет ровно одно преобразование каждого канала группы каналов ADC после сконфигурированного триггерного события [SWS_Adc_00515]. Если в качестве источника триггера был сконфигурирован программный триггер, запущенное преобразование можно остановить с помощью вызова программного API [SWS_Adc_00515]. Если же назначен аппаратный источник триггера, запущенное однократное преобразование (One-Shot) можно приостановить путем деактивации триггерного события, если это поддерживается аппаратным обеспечением [SWS_Adc_00515]. -
ADC_CONV_MODE_CONTINUOUS(0x01): выполняет непрерывно повторяющиеся преобразования каждого канала внутри группы каналов [SWS_Adc_00515]. Этот непрерывный режим доступен исключительно для групп с программным источником триггера [SWS_Adc_00515]. Уже запущенный непрерывный цикл преобразования может быть завершен в любое время с помощью вызова программного API [SWS_Adc_00515].
В отношении ограничений следует учитывать, что ADC_CONV_MODE_CONTINUOUS допустим только с программным запуском и не может комбинироваться с аппаратными источниками триггера [SWS_Adc_00515]. Остановка выполняющихся преобразований при программных триггерах требует выделенного вызова программного API, тогда как запускаемые аппаратно процессы One-Shot требуют отключения триггерного события [SWS_Adc_00515].
Этот текст был создан ИИ и основан исключительно на данных спецификации из AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
тип Adc_GroupPriorityType [SWS_Adc_00516] 📄 PDF
Priority level of the channel. Lowest priority is 0.
тип Adc_GroupDefType [SWS_Adc_00517] 📄 PDF
Type for assignment of channels to a channel group (this is not an API type).
тип Adc_StreamNumSampleType [SWS_Adc_00518] 📄 PDF
Type for configuring the number of group conversions in streaming access mode (in single access mode, parameter is 1). Available Adc.h AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_ADCDriver via
тип Adc_StreamBufferModeType [SWS_Adc_00519] 📄 PDF
Type for configuring the streaming access mode buffer type.
Тип перечисления Adc_StreamBufferModeType служит для конфигурации поведения буфера в режиме потокового доступа драйвера ADC и доступен через заголовочный файл Adc.h [SWS_Adc_00519].
Тип определяет два специфических режима работы для управления буфером при потоковых преобразованиях [SWS_Adc_00519]:
ADC_STREAM_BUFFER_LINEAR(значение0x00): драйвер ADC автоматически завершает преобразование, как только потоковый буфер заполняется или достигается заданное количество отсчетов [SWS_Adc_00519].ADC_STREAM_BUFFER_CIRCULAR(значение0x01): драйвер ADC продолжает преобразование даже после достижения полной емкости буфера, возвращаясь в начало буфера и циклически перезаписывая его [SWS_Adc_00519].
Интегрирующие уровни и прикладное программное обеспечение должны согласовывать поведение буфера с соответствующей стратегией обработки: в то время как ADC_STREAM_BUFFER_LINEAR предназначен для замкнутых серий измерений с фиксированным размером выборки, ADC_STREAM_BUFFER_CIRCULAR, вероятно, требует непрерывного мониторинга буфера или своевременного извлечения данных, чтобы избежать незамеченной потери данных из-за автоматической перезаписи [SWS_Adc_00519]. Вопрос Q-23b411e5e6c50591 (открытый)
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR Classic R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
тип Adc_GroupAccessModeType [SWS_Adc_00528] 📄 PDF
Type for configuring the access mode to group conversion results.
Тип перечисления Adc_GroupAccessModeType служит для конфигурации режима доступа к результатам преобразования группы каналов ADC согласно [SWS_Adc_00528]. Определение типа предоставляется через заголовочный файл Adc.h и определяет, как результаты сохраняются в памяти.
Для конфигурации режима доступа группы в спецификации определены два значения [SWS_Adc_00528]:
ADC_ACCESS_MODE_SINGLE(значение0x00): конфигурирует режим доступа по единичному значению (Single value access mode) для соответствующей группы.ADC_ACCESS_MODE_STREAMING(значение0x01): конфигурирует режим потокового доступа (Streaming access mode) для соответствующей группы.
Тип используется при конфигурации драйвера ADC для управления поведением доступа к буферам результатов преобразования [SWS_Adc_00528]. Интерпретация: в то время как режим единичного значения, по-видимому, рассчитан на предоставление одного текущего значения результата для каждого канала группы, потоковый режим, вероятно, разработан для более непрерывных серий измерений с несколькими буферными значениями. Вопрос Q-8a933cffcd1132ef (открытый)
Поскольку это чисто конфигурационный тип, требование не определяет для него собственных кодов ошибок, возвращаемых значений или сообщений DET/DEM [SWS_Adc_00528].
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR Classic R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
тип 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).
тип Adc_HwTriggerTimerType [SWS_Adc_00521] 📄 PDF
Type for the reload value of the ADC module embedded timer (only if supported by the ADC hardware).
тип Adc_PriorityImplementationType [SWS_Adc_00522] 📄 PDF
Type for configuring the prioritization mechanism.
тип 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.
тип 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.
тип Adc_ResultAlignmentType [SWS_Adc_00525] 📄 PDF
Type for alignment of ADC raw results in ADC result buffer (left/ right alignment).
Использование и диапазон значений
Перечислимый тип Adc_ResultAlignmentType предоставляется через заголовочный файл Adc.h и служит в модуле Adc для определения выравнивания необработанных значений ADC в буфере результатов [SWS_Adc_00525]. Он представляет собой стандартизированный интерфейс для конфигурации размещения буфера драйвера [SWS_Adc_00525]. Будучи чистым типом данных, он не имеет собственных параметров функций, возвращаемых значений или асинхронной семантики [SWS_Adc_00525].
Диапазон значений перечисления согласно спецификации включает ровно два варианта [SWS_Adc_00525]:
-
ADC_ALIGN_LEFT(числовое значение0x00): настраивает выравнивание результатов преобразования в буфере по левому краю [SWS_Adc_00525]. -
ADC_ALIGN_RIGHT(числовое значение0x01): настраивает выравнивание результатов преобразования в буфере по правому краю [SWS_Adc_00525].
Значение и граничные условия
Выбранное значение определяет, по каким битовым позициям области буфера размещаются необработанные данные после преобразования [SWS_Adc_00525]. Тем самым задаётся, располагаются ли значащие биты данных в памяти с выравниванием по левому или правому краю [SWS_Adc_00525]. Интерпретация: выбор выравнивания по левому или правому краю, вероятно, особенно актуален в том случае, когда аппаратное разрешение аналого-цифрового преобразователя меньше разрядности элементов выделенной буферной памяти. Вопрос Q-54221124172a3d87 (открытый) Последующие программные компоненты должны учитывать сконфигурированное выравнивание, чтобы считывать необработанные значения без ошибок вычислений или битового сдвига.
Специфические коды ошибок, сообщения DET или DEM для этого перечисления отсутствуют [SWS_Adc_00525].
Это указание по использованию сгенерировано автоматически и основано на спецификации AUTOSAR R20-11.
тип Adc_PowerStateType [SWS_Adc_00526] 📄 PDF
Power state currently active or set as target power state.
Перечислимый тип Adc_PowerStateType определяет в AUTOSAR Classic статус питания драйвера ADC [SWS_Adc_00526]. Он используется в драйвере либо для отображения текущего рабочего состояния модуля, либо для задания нового целевого состояния для управления энергопотреблением [SWS_Adc_00526]. Декларация этого типа данных предоставляется через заголовочный файл Adc.h [SWS_Adc_00526].
Для отдельных состояний перечисления спецификация устанавливает иерархический порядок в отношении энергопотребления [SWS_Adc_00526]:
ADC_FULL_POWER(числовое значение 0): обозначает полнофункциональный рабочий режим драйвера ADC без ограничений по току [SWS_Adc_00526].- Диапазон значений от 1 до 255: представляет собой опциональные энергосберегающие режимы с поэтапным снижением энергопотребления [SWS_Adc_00526].
Что касается взаимодействия и интеграции в системное окружение, действует интерпретация: данный тип, вероятно, служит главным образом входным параметром в функциях управления переходами power-state, а также для возврата статуса вышестоящим модулям, таким как управление состоянием BSW или ECU. Вопрос Q-e4f964bd79ad550c (открытый) Поскольку речь идёт о базовом определении типа данных, такие специфические свойства, как контексты вызова, требования к рентабельности, синхронная или асинхронная семантика, а также ошибки времени выполнения и сообщения DET, определяются только в соответствующих API драйвера и не являются частью описания этого типа [SWS_Adc_00526].
Этот текст создан ИИ. Он основан исключительно на спецификациях релиза AUTOSAR R20-11.
Руководство разработчика реализации в подготовке (сложность I1)
тип Adc_PowerStateRequestResultType [SWS_Adc_00527] 📄 PDF
Type Adc_PowerStateRequestResultType.
Тип перечисления Adc_PowerStateRequestResultType определяет возвращаемые значения для запросов переходов состояний в управлении питанием драйвера ADC и предоставляется через заголовочный файл Adc.h [SWS_Adc_00527].
Значения этого типа отражают успех или конкретные причины ошибок запрошенной смены состояния питания [SWS_Adc_00527]:
ADC_SERVICE_ACCEPTED(0): переход в требуемое состояние успешно выполнен [SWS_Adc_00527].ADC_NOT_INIT(1): вызов завершился ошибкой, так как модуль ADC еще не инициализирован [SWS_Adc_00527].ADC_SEQUENCE_ERROR(2): нарушен порядок вызова API [SWS_Adc_00527].ADC_HW_FAILURE(3): аппаратная ошибка препятствует переходу в требуемое состояние [SWS_Adc_00527].ADC_POWER_STATE_NOT_SUPP(4): требуемое состояние питания не поддерживается модулем ADC [SWS_Adc_00527].ADC_TRANS_NOT_POSSIBLE(5): прямой переход из текущего состояния в требуемое невозможен или аппаратная периферия все еще занята [SWS_Adc_00527].
Вызывающие стороны должны оценивать возвращаемое значение, чтобы различать штатное выполнение и ошибочные условия, такие как неверная последовательность, отсутствие инициализации модуля или аппаратные конфликты [SWS_Adc_00527].
Этот текст сгенерирован ИИ на основе спецификации.
Руководство разработчика реализации в подготовке (сложность 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#b0fb72ad- Content hash
b0fb72ad- 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 · Немецкий оригинал