DEENESPTFRRUARHIKOZHNL

ADC Driver (Adc)

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

모듈 가이드AI 생성

채널 그룹을 통해 마이크로컨트롤러의 아날로그-디지털 변환기를 제어하고 해당 로우 값을 제공합니다.
AI 생성 미검증 모델: claude-opus-5-5 · 노력: high · 온도: 제어 불가 · 프롬프트: b520b4ed0d83 출처 열린 질문 (5)
인과 앵커: R20-11 R20-11부터 유효 이 사양 릴리스용으로 새로 합성되었습니다.
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

채널 그룹을 통해 마이크로컨트롤러의 아날로그-디지털 변환기를 제어하고 해당 로우 값을 제공합니다.

ADC 드라이버는 MCAL에서 마이크로컨트롤러의 아날로그-디지털 변환기를 캡슐화하며, 항상 구성된 그룹 단위로 채널을 변환합니다: 소프트웨어 또는 하드웨어 트리거, 원샷 또는 연속 [SWS_Adc_00515]. Adc_Init 이후에는 IoHwAb와 같은 사용자가 변환을 시작합니다. 상태 쿼리 또는 알림을 통해 완료를 인식한 후, Adc_ReadGroup 또는 Adc_GetStreamLastPointer(으)로 로우 값을 읽습니다. 선택적으로 드라이버는 2단계 전력 상태 전환을 지원합니다. 가장 중요한 제약 조건: 이전에 Adc_SetupResultBuffer(으)로 설정된 결과 버퍼가 없으면 그룹 변환을 시작할 수 없습니다 [SWS_Adc_91000].

ADC 드라이버는 MCAL에서 마이크로컨트롤러의 아날로그-디지털 변환기를 캡슐화합니다. EcuM은 Adc_Init(으)로 이를 초기화합니다 [SWS_Adc_00365]. 전형적인 사용자는 IoHwAb이며, 그룹 변환 완료 후 IoHwAb_AdcNotification<#groupID> 알림을 수신합니다 [SWS_Adc_00082]. 최초 변환 전에는 매 리셋 후 Adc_SetupResultBuffer(으)로 충분히 큰 결과 버퍼를 설정해야 합니다 [SWS_Adc_91000].

kontext swc Sensor/Actuator SWC iohwab IoHwAb (Adc User) swc->iohwab Spannungswert anfordern bswm BswM / Rte bswm->iohwab Leistungsmodus wechseln ecum EcuM adc Adc (MCAL) ecum->adc Adc_Init / Adc_DeInit iohwab->adc 그룹 제어 및 읽기, 파워 상태 API adc->iohwab IoHwAb_AdcNotification<#groupID>, IoHwAb_Adc_NotifyReadyForPowerState<#Mode> det Det adc->det 개발 및 런타임 오류 hw ADC Conversion Unit adc->hw Wandlung starten / stoppen hw->adc Wandlung abgeschlossen trig HW Trigger Source trig->hw Trigger-Ereignis

컨텍스트 다이어그램: EcuM이 초기화하고, IoHwAb가 제어하며 알림을 받고, 오류는 DET로 전달되며, 변환은 주변장치에서 실행됩니다. 출처: SWS IoHwAb 55쪽, [SWS_Adc_00377]

드라이버는 채널을 항상 구성된 그룹 단위로 변환합니다. 각 그룹에는 세 가지 설정이 있습니다:

  • 트리거 소스: 소프트웨어 또는 하드웨어 [SWS_Adc_00514].
  • 변환 모드: One-Shot 또는 Continuous; Continuous는 소프트웨어 트리거에서만 가능 [SWS_Adc_00515].
  • 액세스 모드: 선형 또는 원형 버퍼를 사용하는 Single 또는 Streaming [SWS_Adc_00528], [SWS_Adc_00519].

진행 상황은 ADC_IDLE, ADC_BUSY, ADC_COMPLETED 및 ADC_STREAM_COMPLETED 그룹 상태로 표시됩니다 [SWS_Adc_00513].

gruppenstatus idle ADC_IDLE busy ADC_BUSY idle->busy Adc_StartGroupConversion busy->idle Adc_StopGroupConversion comp ADC_COMPLETED busy->comp 모든 채널의 라운드 완료 [남은 샘플 >= 1] scomp ADC_STREAM_COMPLETED busy->scomp Streaming-Puffer voll comp->idle Adc_StopGroupConversion comp->busy Adc_ReadGroup / Adc_GetStreamLastPointer comp->scomp Streaming-Puffer voll scomp->idle Adc_ReadGroup / Adc_GetStreamLastPointer [linear] scomp->idle Adc_StopGroupConversion scomp->busy Adc_ReadGroup / Adc_GetStreamLastPointer [순환]

상태 다이어그램: 연속 스트리밍 변환 중의 그룹 상태; 선형 버퍼는 읽기 후 ADC_IDLE에서 종료됩니다. 출처: SWS ADC 39쪽

소프트웨어 트리거 그룹은 Adc_StartGroupConversion이(가) 시작하고 Adc_StopGroupConversion이(가) 중지합니다. 하드웨어 트리거 그룹은 Adc_EnableHardwareTrigger 및 Adc_DisableHardwareTrigger을(를) 통해 전환됩니다 [SWS_Adc_00367], [SWS_Adc_91001]. 사용자는 Adc_GetGroupStatus의 폴링 또는 알림을 통해 완료를 감지하며, 알림은 별도로 활성화해야 합니다 SWS ADC 57쪽. 스케일링되지 않은 로우 값은 Adc_ReadGroup 또는 Adc_GetStreamLastPointer(으)로 읽습니다 [SWS_Adc_00369], [SWS_Adc_00375].

경합하는 요청은 우선순위 메커니즘, 큐잉 및 선점 전략에 의해 규율됩니다 [SWS_Adc_00522], [SWS_Adc_00523]. 둘 다 없으면 드라이버는 ADC_E_BUSY(으)로 두 번째 요청을 거부합니다 [SWS_Adc_91006]. 선택적으로 드라이버는 2단계로 전력 상태를 전환합니다: Adc_PreparePowerState(으)로 준비, Adc_SetPowerState(으)로 전환. 비동기 부분은 Adc_Main_PowerTransitionManager에서 실행됩니다 [SWS_Adc_00478], [SWS_Adc_00479].

IoHwAb와 변환기 하드웨어 사이에서의 ADC 드라이버의 역할

ADC 드라이버는 마이크로컨트롤러의 아날로그-디지털 변환기를 위한 MCAL 모듈입니다. Adc_Init은(는) ADC 하드웨어 유닛과 드라이버를 초기화합니다 [SWS_Adc_00365]. 모든 추가 서비스는 숫자 ID(Adc_GroupType)를 통해 주소 지정되는 채널 그룹에서 작동합니다 [SWS_Adc_00507]. 전형적인 사용자는 I/O Hardware Abstraction입니다. 이는 센서 SWC의 요청으로 변환을 시작하고 완료 후 IoHwAb_AdcNotification<#groupID>을(를) 통해 알림을 받습니다 [SWS_Adc_00082], SWS IoHwAb 55쪽. 드라이버는 EcuM이 초기화하며, EcuM에게 Adc_Init은(는) 선택적 인터페이스입니다 SWS EcuM 142쪽.

드라이버는 아키텍처의 가장 하위 계층에 위치합니다. 따라서 하위 모듈을 위한 콜백을 제공하지 않습니다 SWS ADC 79쪽. ADC API는 하드웨어 결과 레지스터에 직접 액세스하지 않습니다. 결과는 항상 애플리케이션의 버퍼를 통해 사용자에게 도달합니다 SWS ADC 27쪽. 드라이버는 Det_ReportError을(를) 통해 오류를 보고합니다 [SWS_Adc_00377]. 인용된 문서 부분은 주로 R23-11부터 R25-11에서 발췌한 것입니다. R20-11에 대해 규범적인 것은 Requirements입니다.

kontext swc Sensor/Actuator SWC iohwab IoHwAb (Adc User) swc->iohwab Spannungswert anfordern bswm BswM / Rte bswm->iohwab Leistungsmodus wechseln ecum EcuM adc Adc (MCAL) ecum->adc Adc_Init / Adc_DeInit iohwab->adc 그룹 제어 및 읽기, 파워 상태 API adc->iohwab IoHwAb_AdcNotification<#groupID>, IoHwAb_Adc_NotifyReadyForPowerState<#Mode> det Det adc->det 개발 및 런타임 오류 hw ADC Conversion Unit adc->hw Wandlung starten / stoppen hw->adc Wandlung abgeschlossen trig HW Trigger Source trig->hw Trigger-Ereignis

컨텍스트 다이어그램: ADC 드라이버는 EcuM, IoHwAb, DET 및 변환기 주변장치 사이를 중개하며, 알림은 상위로만 전달됩니다. 출처: SWS IoHwAb 55쪽, [SWS_Adc_00082], [SWS_Adc_00480], [SWS_Adc_00377]

구현은 지원되지 않는 파티션 할당을 가진 구성을 거부해야 합니다 [SWS_Adc_00531]. AdcKernelEcucPartitionRef을(를) 통해 참조되는 파티션은 AdcEcucPartitionRef 파티션의 하위 집합이어야 합니다 [SWS_Adc_CONSTR_00001]. 해석: 그 배경에는 Adc용 메모리 매핑 예시가 보여주듯 인터럽트와 밀접한 커널 파트와 인터페이스 파트로의 분할이 자리잡고 있을 것으로 보입니다 SWS MemMap 57쪽. 질문 Q-bb6e1ddff67fa0c3 (열림)

라이프사이클: 초기화, 결과 버퍼 및 초기화 해제

리셋 후 드라이버는 ADC_UNINIT 상태에 있습니다. Adc_Init은 ADC_INIT(으)로 이어지며, Adc_DeInit은 SWS ADC 31쪽(으)로 되돌립니다. Adc_Init은(는) 동기식이며 재진입이 불가능합니다. PB 변형에서는 ConfigPtr이(가) 구성 세트를 가리키며, PC 변형은 NULL_PTR을(를) 요구합니다 [SWS_Adc_00365]. Adc_ConfigType은(는) 구현별 구조체입니다 [SWS_Adc_00505]. 채널 및 그룹의 기호 이름은 구성기가 구성 헤더에 생성합니다 SWS ADC 123쪽.

lebenszyklus cluster_init ADC_INIT (Modus je Gruppe konfiguriert) reset Reset uninit ADC_UNINIT reset->uninit oneshot ONE-SHOT uninit->oneshot Adc_Init [ONE_SHOT] cont CONTINUOUS uninit->cont Adc_Init [CONTINUOUS] oneshot->uninit Adc_DeInit cont->uninit Adc_DeInit

상태 다이어그램: Adc_Init 및 Adc_DeInit은 ADC_UNINIT과 ADC_INIT 간을 전환합니다. One-Shot 및 Continuous는 그룹별 구성 옵션입니다. 출처: SWS ADC 31쪽, SWS ADC 91쪽

각 리셋 후 사용자는 Adc_SetupResultBuffer을(를) 사용하여 그룹의 첫 번째 변환 전에 결과 버퍼의 시작 주소를 전달해야 합니다. 애플리케이션은 버퍼가 그룹의 모든 결과를 수용할 수 있는지 확인합니다 [SWS_Adc_91000]. 유효하게 초기화된 버퍼 포인터가 없으면 변환을 시작할 수 없습니다 SWS ADC 54쪽.

Adc_DeInit은(는) 모든 HW Unit을 파워 온 리셋과 유사한 상태로 전환합니다 [SWS_Adc_00366]. 이 서비스는 사용 중인 모든 인터럽트 및 알림을 비활성화합니다. 모든 그룹이 ADC_IDLE 상태에 있는 경우에만 허용되며, AdcDeInitApi을(를) 통해 비활성화할 수 있습니다 SWS ADC 59쪽.

채널 그룹: 트리거, 변환 및 액세스 모드

그룹은 채널들을 묶습니다 [SWS_Adc_00517], [SWS_Adc_00506]. 그룹은 세 가지 축을 기준으로 구성됩니다:

  • 트리거 소스: ADC_TRIGG_SRC_SW 또는 ADC_TRIGG_SRC_HW [SWS_Adc_00514].
  • 변환 모드: ADC_CONV_MODE_ONESHOT은(는) 트리거당 각 채널을 정확히 한 번 변환합니다. ADC_CONV_MODE_CONTINUOUS은(는) 연속적으로 변환하며 소프트웨어 트리거에서만 가능합니다 [SWS_Adc_00515].
  • 액세스 모드: ADC_ACCESS_MODE_SINGLE 또는 ADC_ACCESS_MODE_STREAMING [SWS_Adc_00528]. 스트리밍 시 Adc_StreamNumSampleType이(가) 라운드 수를 정의합니다 [SWS_Adc_00518]. 선형 버퍼는 가득 차는 즉시 변환을 중지하며, 순환 버퍼는 계속 순환합니다 [SWS_Adc_00519].

프리스케일러, 변환 시간, 샘플링 시간 및 분해능은 API 타입이 아닙니다 [SWS_Adc_00509], [SWS_Adc_00510], [SWS_Adc_00511], [SWS_Adc_00512]. 하드웨어 트리거의 경우 하드웨어가 지원한다면 에지와 타이머 리로드를 설정할 수 있습니다 [SWS_Adc_00520], [SWS_Adc_00521]. 결과는 크기가 조정되지 않은 원시 값이며, 왼쪽 또는 오른쪽 정렬됩니다 [SWS_Adc_00508], [SWS_Adc_00525].

그룹의 진행 상태는 Adc_StatusType이(가) 설명합니다 [SWS_Adc_00513]:

  • ADC_IDLE: 시작되지 않음.
  • ADC_BUSY: 변환 진행 중.
  • ADC_COMPLETED: 한 라운드가 완료되었으나 마지막 라운드는 아님.
  • ADC_STREAM_COMPLETED: 결과 버퍼 완전함.

전이는 구성에 따라 달라집니다 SWS ADC 39쪽.

gruppenstatus idle ADC_IDLE busy ADC_BUSY idle->busy Adc_StartGroupConversion busy->idle Adc_StopGroupConversion comp ADC_COMPLETED busy->comp 모든 채널의 라운드 완료 [남은 샘플 >= 1] scomp ADC_STREAM_COMPLETED busy->scomp Streaming-Puffer voll comp->idle Adc_StopGroupConversion comp->busy Adc_ReadGroup / Adc_GetStreamLastPointer comp->scomp Streaming-Puffer voll scomp->idle Adc_ReadGroup / Adc_GetStreamLastPointer [linear] scomp->idle Adc_StopGroupConversion scomp->busy Adc_ReadGroup / Adc_GetStreamLastPointer [순환]

상태 다이어그램: 스트리밍이 적용된 연속적인 소프트웨어 트리거 변환 시의 그룹 상태. 선형 버퍼는 읽기 후 ADC_IDLE로 끝나며, 순환 버퍼는 계속 실행됩니다. 출처: SWS ADC 39쪽, SWS ADC 70쪽, [SWS_Adc_00513]

시작부터 결과까지: 일반적인 변환 흐름

가장 단순한 경우, One-Shot 변환은 세 단계로 진행됩니다 SWS ADC 91쪽:

  1. Adc_StartGroupConversion이(가) 그룹을 비동기식으로 시작합니다 [SWS_Adc_00367].
  2. Adc_GetGroupStatus이(가) 상태를 폴링합니다 [SWS_Adc_00374].
  3. Adc_ReadGroup이(가) 결과를 읽습니다 [SWS_Adc_00369].

시작 시 버퍼 포인터가 기본 주소로 리셋됩니다. 알림은 자동으로 활성화되지 않습니다 SWS ADC 57쪽.

알림이 없는 소프트웨어 트리거 원샷 변환Adc UserAdcADC Conversion Unit리셋 후 전제 조건: 결과 버퍼 설정Adc_SetupResultBuffer(Group1, DataBufferPtr)E_OKAdc_StartGroupConversion(Group1)start conversion(Group1)복귀(비동기)loopAdc_GetGroupStatus = ADC_BUSYAdc_GetGroupStatus(Group1)ADC_BUSYconversion completed(Group1)Adc_GetGroupStatus(Group1)ADC_STREAM_COMPLETEDAdc_ReadGroup(Group1, DataBufferPtr)E_OK, 읽기 버퍼 내 원시 값

시퀀스 다이어그램: 버퍼 설정, 시작, 상태 폴링, 읽기. 출처: SWS ADC 91쪽, [SWS_Adc_91000]

폴링하는 대신 사용자는 사전에 Adc_EnableGroupNotification을(를) 호출할 수 있습니다 [SWS_Adc_91003]. 이 서비스는 AdcGrpNotifCapability이(가) 활성화합니다 SWS ADC 67쪽. 연속 변환의 경우 드라이버는 완료된 각 라운드를 알립니다. 이는 Adc_StopGroupConversion이(가) 호출되어야 비로소 종료됩니다 [SWS_Adc_00368], SWS ADC 92쪽.

알림이 있는 소프트웨어 트리거 연속 변환Adc UserAdcADC Conversion UnitAdc_EnableGroupNotification(Group1)복귀Adc_StartGroupConversion(Group1)start conversion(Group1)복귀loopje abgeschlossene Wandlungsrundeconversion completed(Group1)Adc_Notification_Group_1()Adc_ReadGroup(Group1, DataBufferPtr)E_OKAdc_StopGroupConversion(Group1)stop conversion(Group1)복귀

시퀀스 다이어그램: 완료된 라운드마다 사용자가 중지할 때까지 알림과 읽기가 이어집니다. 출처: SWS ADC 92쪽, [SWS_Adc_00082]

하드웨어 트리거 그룹은 Adc_EnableHardwareTrigger이(가) 활성화합니다 [SWS_Adc_91001]. 그 후 그룹은 각 트리거 이벤트마다 변환합니다 SWS ADC 62쪽. Adc_DisableHardwareTrigger [SWS_Adc_91002]은(는) 여러 효과를 갖습니다 SWS ADC 65쪽:

  • 대기 중인 요청을 제거합니다.
  • 하드웨어가 지원하는 경우 진행 중인 변환을 중단합니다.
  • 알림을 비활성화합니다.
  • 그룹을 ADC_IDLE(으)로 설정합니다.

선형 스트리밍의 경우 버퍼가 가득 차면 트리거가 비활성화됩니다 SWS ADC 95쪽.

알림이 있는 하드웨어 트리거 원샷 변환Adc UserAdcADC Conversion UnitHW Trigger SourceAdc_EnableGroupNotification(Group1)Adc_EnableHardwareTrigger(Group1)enable hardware trigger(Group1)loopHW-Trigger-Ereignis, Benachrichtigung aktivstart conversion()conversion completed()Adc_Notification_Group_1()Adc_ReadGroup(Group1, DataBufferPtr)E_OKAdc_DisableGroupNotification(Group1)loopHW-Trigger-Ereignis, Benachrichtigung inaktivstart conversion()conversion completed()알림 없음Adc_DisableHardwareTrigger(Group1)disable hardware trigger source(Group1)그룹이 ADC_IDLE로 전환됨

시퀀스 다이어그램: 각 트리거 이벤트는 변환을 트리거합니다. 알림은 알림이 활성화된 경우에만 보고됩니다. 출처: SWS ADC 93쪽

읽기에는 두 가지 방법이 있습니다:

  • Adc_ReadGroup은(는) 마지막 완전한 라운드의 값을 채널 오름차순으로 복사합니다. 결과가 없으면 E_NOT_OK을(를) 반환합니다 [SWS_Adc_00369], SWS ADC 61쪽.
  • Adc_GetStreamLastPointer은(는) 채널당 유효한 샘플 수와 첫 번째 그룹 채널의 최신 결과를 가리키는 포인터를 반환합니다 [SWS_Adc_00375]. 이때 사용자는 채널별 버퍼 구조를 직접 고려해야 합니다 SWS ADC 27쪽.

경쟁 그룹: 우선순위, 큐잉 및 선점

동시 요청은 Adc_PriorityImplementationType이(가) 제어합니다: 메커니즘 없음, 하드웨어 전용 또는 하드웨어 및 소프트웨어 [SWS_Adc_00522]. 우선순위는 0(가장 낮음)부터 255까지입니다 [SWS_Adc_00516]. 그룹이 더 높은 우선순위의 그룹에 의해 중단되면 라운드가 다시 시작되거나(ADC_GROUP_REPL_ABORT_RESTART) 계속 진행됩니다(ADC_GROUP_REPL_SUSPEND_RESUME). 이전 라운드의 결과는 두 경우 모두 유지됩니다 [SWS_Adc_00523].

우선순위 및 큐잉이 없는 경우 드라이버는 ADC_E_BUSY(으)로 두 번째 요청을 거부합니다 SWS ADC 95쪽. 소프트웨어 큐잉이 있는 경우 요청을 저장하고 나중에 시작합니다 SWS ADC 96쪽. 우선순위 지정이 있는 경우 우선순위가 더 높은 그룹이 실행 중인 그룹을 선점합니다 SWS ADC 97쪽, SWS ADC 98쪽. Adc_StopGroupConversion은(는) 대기 중인 시작 요청도 제거합니다 SWS ADC 58쪽.

prioritaet start 다른 그룹이 변환하는 동안 새 그룹 요청 발생 prio 우선순위 메커니즘? (Adc_PriorityImplementationType) start->prio queue Queuing aktiviert? prio->queue ADC_PRIORITY_NONE higher 실행 중인 그룹보다 우선순위가 높은가? prio->higher ADC_PRIORITY_HW / ADC_PRIORITY_HW_SW busy Anforderung abgewiesen, Laufzeitfehler ADC_E_BUSY queue->busy 아니요 store 요청을 큐에 저장, 실행 중인 그룹 이후 시작 queue->store 예 higher->store 아니요 repl 실행 중인 그룹 중단 또는 중지 (Adc_GroupReplacementType) higher->repl 예 conv 더 높은 우선순위 그룹 변환 repl->conv resume 중단된 그룹 재시작 또는 계속 conv->resume

액티비티 다이어그램: 변환기가 사용 중일 때 요청이 거부되는지, 저장되는지, 또는 우선 처리되는지는 우선순위 메커니즘과 큐잉에 따라 달라집니다. 출처: [SWS_Adc_00522], [SWS_Adc_00523], SWS ADC 99쪽

ADC 하드웨어의 전력 상태

전력 제어는 선택 사항이며 ADC 주변 장치로 제한됩니다. 아키텍처적 제약 조건은 상위 계층이 충족합니다. 드라이버는 호출 순서만 확인합니다 SWS ADC 39쪽. Adc_PowerStateType은(는) ADC_FULL_POWER(0) 및 소비 전력이 감소하는 1..255 상태를 인식합니다 [SWS_Adc_00526]. 각 요청의 결과는 Adc_PowerStateRequestResultType이(가) 보고합니다 [SWS_Adc_00527].

전환은 두 단계로 수행됩니다:

  1. 준비: Adc_PreparePowerState이(가) 준비를 시작합니다 [SWS_Adc_00478]. 비동기 부분은 주기적인 Adc_Main_PowerTransitionManager에서 실행됩니다 [SWS_Adc_00498], [SWS_Adc_00479]. 해당 주기는 AdcMainSchedulePeriod이(가) 결정합니다 [SWS_Adc_00500]. 비동기 모드에서는 IoHwAb_Adc_NotifyReadyForPowerState<#Mode>을(를) 통해 준비 완료를 보고합니다 [SWS_Adc_00501], [SWS_Adc_00480].
  2. 전환: Adc_SetPowerState이(가) 준비된 상태를 활성화합니다 [SWS_Adc_00475]. 채널 정지와 같은 사전 작업은 사용자의 책임입니다. 암시적 중간 상태는 존재하지 않습니다 SWS ADC 81쪽.
IoHwAb를 통한 ADC의 비동기 전력 상태 변경BswMRteIoHwAbAdcUse Case: VorbereitungRTE/SchMSwitch (Moduswechsel)OnEntryRunnable_LowPowerModeA()IoHwAb_PreparePowerState_LowPowerModeA()Adc_PreparePowerState(PwrSts_1)E_OK, ADC_SERVICE_ACCEPTEDUse Case: Hintergrundverarbeitungloop준비가 완료될 때까지 주기적으로Adc_Main_PowerTransitionManager()IoHwAb_Adc_NotifyReadyForPowerStateLowPowerModeA()IoHwAb_PollForResults()Use Case: UmschaltenAdc_SetPowerState(&Result)E_OKAdc_GetCurrentPowerState()aktueller LeistungszustandRTE/SchMSwitch(LowPowerModeA_Transition_End)모드 변경 완료

시퀀스 다이어그램: IoHwAb에 의해 조정되는 비동기 전력 상태 전환. 출처: SWS IoHwAb 57쪽, SWS IoHwAb 57쪽, [SWS_Adc_00479]

Adc_SetPowerState의 경우 추가로 다음과 같은 사항이 적용되는 것으로 추정됩니다: 정상 상태는 Adc_Init과(와) 동일한 구성 컨테이너를 사용하며, 다른 상태는 전환별 재구성만 사용합니다 [SWS_Adc_00483], [SWS_Adc_00484], [SWS_Adc_00485]. 질문 (열림) Adc_GetCurrentPowerState 및 Adc_GetTargetPowerState은(는) 현재 상태와 목표 상태를 반환합니다 [SWS_Adc_00476], [SWS_Adc_00477]. 진행 중인 전환이 없으면 두 상태가 일치합니다 SWS ADC 77쪽.

오류가 발생한 경우의 동작

드라이버는 개발 오류를 Det_ReportError을(를) 통해 보고합니다 [SWS_Adc_00377]. [SWS_Adc_91005]은(는) 특히 다음을 명시합니다:

  • ADC_E_UNINIT
  • ADC_E_ALREADY_INITIALIZED
  • ADC_E_PARAM_POINTER
  • ADC_E_PARAM_GROUP
  • ADC_E_WRONG_CONV_MODE
  • ADC_E_WRONG_TRIGG_SRC
  • ADC_E_NOTIF_CAPABILITY

두 가지 예: 알 수 없는 그룹의 경우 알림 서비스가 ADC_E_PARAM_GROUP을(를) 보고하고 아무런 동작 없이 반환합니다 SWS ADC 68쪽. Adc_GetVersionInfo은(는) 포인터가 NULL인지 확인합니다 SWS ADC 80쪽.

런타임 오류에는 ADC_E_BUSY(변환 진행 중, 트리거 활성 상태 또는 이미 큐에 요청이 있음), ADC_E_IDLE, ADC_E_NOT_DISENGAGED 및 ADC_E_TRANSITION_NOT_POSSIBLE이(가) 있습니다 [SWS_Adc_91006]. 반환값이 있는 서비스는 Adc_ReadGroup 및 Adc_SetupResultBuffer과(와) 같이 실패를 E_NOT_OK(으)로도 보고합니다 [SWS_Adc_00369], [SWS_Adc_91000].

전력 제어에는 고유한 오류가 적용됩니다:

Result은(는) 또한 ADC_SEQUENCE_ERROR 및 ADC_HW_FAILURE을(를) 구별합니다 [SWS_Adc_00527]. 초기화 전에 Adc_Main_PowerTransitionManager은(는) DET 보고 없이 반환됩니다 [SWS_Adc_00502].

더 자세한 증거

R20-11의 요구사항 및 부분적으로 이후 릴리스에서 파생된 관련 문서 섹션을 기반으로 AI가 생성한 모듈 가이드입니다. 사양이 표준으로 유지됩니다.

ADC Driver (Adc)

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

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

함수 Adc_Init [SWS_Adc_00365] 📄 PDF

void Adc_Init (const Adc_ConfigType* ConfigPtr);

Initializes the ADC hardware units and driver.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 8695b1caa4ff 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기 함수 Adc_Init(서비스 ID 0x00)은(는) [SWS_Adc_00365]에 따라 모든 ADC 하드웨어 유닛 및 ADC 드라이버의 초기 구성 및 시운전에 사용됩니다. 이 인터페이스는 헤더 파일 Adc.h을(를) 통해 제공되며 반환값이 없습니다.

파라미터 및 구성 변형

구성 데이터 전달은 const Adc_ConfigType* 형식의 포인터 파라미터 ConfigPtr을(를) 통해 이루어집니다 [SWS_Adc_00365]. 요구되는 인수는 선택한 빌드 변형에 따라 다릅니다:

  • 포스트 빌드 구성(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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 810f267dbee4 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 Adc_SetupResultBuffer은(는) 변환 결과를 저장하기 위한 그룹별 버퍼의 시작 주소로 ADC 드라이버를 초기화합니다 [SWS_Adc_91000]. 이 호출은 리셋 후 그룹 변환을 시작하기 전에 반드시 수행해야 합니다 [SWS_Adc_91000].

매개변수 및 호출 컨텍스트

  • Group: 요청된 ADC 채널 그룹의 숫자 식별자 [SWS_Adc_91000].
  • DataBufferPtr: 결과가 저장되는 데이터 버퍼(타입 Adc_ValueGroupType*)에 대한 포인터 [SWS_Adc_91000].

이 함수는 재진입 및 비동기로 선언되어 있으며 헤더 파일 Adc.h(서비스 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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 2d8196154794 출처 열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 Adc_DeInit은(는) ADC 드라이버를 초기화 해제하는 역할을 하며, 모든 관련 ADC 하드웨어 유닛을 파워온 리셋 직후의 상태에 필적하는 상태로 전이합니다 [SWS_Adc_00366]. 이를 통해 재초기화 전 하드웨어의 초기 상태를 복원합니다.

호출 및 인터페이스

이 함수는 헤더 파일 Adc.h에 선언되어 있으며 서비스 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 (열림)

이 텍스트는 AI에 의해 생성되었으며 지침 문서화 지원 역할을 합니다.

구현자 가이드 준비 중 (복잡도 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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: f9cdec07ac51 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

함수 Adc_StartGroupConversion은(는) [SWS_Adc_00367]에 따라 전달된 ADC 채널 그룹의 모든 채널에 대한 변환을 시작합니다. 파라미터로는 Adc_GroupType 형식의 숫자 그룹 ID Group이(가) 전달됩니다. 이 함수는 반환값이 없으며(void) 비동기적으로 작동합니다([SWS_Adc_00367]).

동시성 및 제약사항

사양에 따르면 이 서비스는 재진입 가능한 것으로 분류됩니다([SWS_Adc_00367]). 해석: 이는 서로 다른 채널 그룹에 대해 함수를 동시에 호출할 수 있음을 의미하는 것으로 보입니다. 질문 Q-8283232f222f7b0a (열림) 시작이 비동기적으로 수행되므로 실제 변환이 완료되기 전에 호출이 반환됩니다.

오류 처리 및 상호 작용

이 서비스는 헤더 Adc.h을(를) 통해 사용할 수 있으며 서비스 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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: e5e0a89f46f6 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기 함수 Adc_StopGroupConversion은(는) 요청된 ADC 채널 그룹의 진행 중인 변환을 종료합니다 [SWS_Adc_00368]. 이 인터페이스는 헤더 Adc.h에 선언되어 있으며 서비스 ID 0x03 아래에 명시되어 있습니다 [SWS_Adc_00368].

유일한 파라미터로 Adc_GroupType 형식의 입력값 Group이(가) 전달되며, 이는 해당 ADC 채널 그룹의 숫자 ID를 나타냅니다 [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).

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: d7f16748f658 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기 함수 Adc_ReadGroup은(는) 가장 최근에 완료된 변환 라운드에서 ADC 채널 그룹의 변환 결과를 읽어오는 역할을 합니다([SWS_Adc_00369]). 이 함수는 헤더 파일 Adc.h을(를) 통해 사용할 수 있으며 서비스 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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 859e88701dd8 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 매개변수

함수 Adc_EnableHardwareTrigger은(는) 구성된 ADC 채널 그룹에 대한 하드웨어 트리거를 활성화합니다 [SWS_Adc_91001]. 이 함수는 모듈 Adc에서 서비스 ID 0x05을(를) 갖는 서비스로 정의되어 있으며 헤더 파일 Adc.h을(를) 통해 제공됩니다 [SWS_Adc_91001].

  • 입력 매개변수: 타입 Adc_GroupType의 매개변수 Group을(를) 통해 원하는 ADC 채널 그룹의 숫자 ID가 전달됩니다 [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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 545b24a2a7c9 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 Adc_DisableHardwareTrigger은(는) 요청된 ADC 채널 그룹에 대한 하드웨어 트리거를 비활성화하는 데 사용됩니다 [SWS_Adc_91002].

사용법 및 의미론

  • 매개변수: 원하는 ADC 채널 그룹의 숫자 ID를 지정하는 Adc_GroupType 타입의 매개변수 Group이(가) 전달됩니다 [SWS_Adc_91002].
  • 반환값: 이 함수는 반환값이 없습니다(void) [SWS_Adc_91002].
  • 실행 동작: 호출은 비동기식(Sync/Async: Asynchronous)으로 분류됩니다 [SWS_Adc_91002]. 이는 하드웨어 이벤트의 실제 중지 또는 디커플링이 하드웨어 측에서 시차를 두고 적용될 수 있음을 의미하는 것으로 추정됩니다. 질문 Q-b0e613163b254242 (열림)

동시성 및 연계

인터페이스는 재진입 가능(Reentrancy: Reentrant)으로 선언되어 있으며 헤더 파일 Adc.h을(를) 통해 제공됩니다. 서비스 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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: ff19c4d6582c 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 Adc_EnableGroupNotification은(는) 요청된 ADC 채널 그룹에 대한 알림 메커니즘을 활성화하는 역할을 합니다 [SWS_Adc_91003]. 이 인터페이스의 선언은 사용자를 위해 헤더 파일 Adc.h을(를) 통해 제공됩니다 [SWS_Adc_91003].

유일한 입력 매개변수로 데이터 타입 Adc_GroupType의 Group이(가) 전달되며, 이는 요청된 ADC 채널 그룹의 숫자 ID를 결정합니다 [SWS_Adc_91003]. 이 함수는 입출력 매개변수나 출력 매개변수를 갖지 않으며 반환값을 반환하지 않습니다(void) [SWS_Adc_91003]. 이 서비스는 서비스 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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 1ea9bcf60eb8 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

헤더 Adc.h에 선언된 함수 Adc_DisableGroupNotification은(는) ADC 드라이버에서 요청된 ADC 채널 그룹에 대한 알림 메커니즘을 선택적으로 비활성화하는 데 사용됩니다 [SWS_Adc_91004]. 이 서비스는 서비스 ID 0x08을(를) 가지며 시그니처 void Adc_DisableGroupNotification (Adc_GroupType Group)(으)로 명시되어 있습니다 [SWS_Adc_91004].

매개변수 및 인터페이스

함수 실행을 위해 단일 입력 매개변수의 전달이 규정되어 있습니다:

  • Group: 알림을 비활성화할 원하는 ADC 채널 그룹의 고유 ID를 Adc_GroupType 타입의 숫자 식별자로 전달합니다 [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_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_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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 65595ddb1315 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

동기 서비스 함수 Adc_SetPowerState은(는) 사전 구성된 집합에서 선택되어 사전에 준비된 전력 상태로 ADC 모듈을 전이합니다 [SWS_Adc_00475].

사용

이 함수는 헤더 Adc.h을(를) 통해 사용할 수 있으며 서비스 ID 0x10을(를) 가집니다 [SWS_Adc_00475]. 입력 파라미터를 받지 않으며 대신 Adc_PowerStateRequestResultType* 형식의 출력 파라미터 Result을(를) 통해 결과를 전달합니다 [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 사양을 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I2)

함수 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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: af5e7dcf1943 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

동기 함수 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 (see Adc Power State Ready Cb k Ref configuration parameter).

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: f1697a47ca72 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용법 및 호출 컨텍스트

메인 함수 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]에 대한 모듈의 동작 준비 상태를 지속적으로 확인합니다. 모듈의 준비 완료가 확인되면 즉시 구성 매개변수 AdcPowerStateReadyCbkRef을(를) 통해 참조되는 알림 콜백 IoHwAb_Adc_NotifyReadyForPowerState<Mode>을(를) 트리거합니다 [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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 0b61ec2f265a 출처 열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

함수 IoHwAb_Adc_NotifyReadyForPower은(는) I/O 하드웨어 추상화 계층의 알림 인터페이스 역할을 하며, <#Mode> 모드에서 요청된 전원 상태에 대한 준비가 완료되는 즉시 ADC 드라이버에 의해 호출됩니다 [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 (열림) 이 함수는 상위 파워 매니지먼트에 전환 준비 상태를 알리기 위한 드라이버의 콜백 역할을 하는 것으로 추정됩니다.

이 텍스트는 사양 SWS_Adc_00480을 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 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_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_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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: fc2ba1509144 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

열거형 타입 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 명세를 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 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

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 222e382255e4 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

열거형 타입 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]. 반면 하드웨어 트리거 소스가 할당된 경우, 하드웨어에서 지원된다면 트리거 이벤트를 비활성화하여 시작된 원샷 변환을 정지시킬 수 있습니다 [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 호출이 필요한 반면, 하드웨어 트리거 원샷 시퀀스는 트리거 이벤트를 끄는 것이 필요합니다 [SWS_Adc_00515].

이 텍스트는 AI에 의해 작성되었으며 AUTOSAR R20-11의 사양 데이터만을 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

타입 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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 8863b0f61a56 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

열거형 타입 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 명세를 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

타입 Adc_GroupAccessModeType [SWS_Adc_00528] 📄 PDF

Type for configuring the access mode to group conversion results.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: c0d3496276ea 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

열거형 타입 Adc_GroupAccessModeType은(는) [SWS_Adc_00528]에 따라 ADC 채널 그룹의 변환 결과에 대한 액세스 모드를 구성하는 데 사용됩니다. 타입 정의는 헤더 파일 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 명세를 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 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_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).

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: f16034a7dc84 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용 및 값 범위

열거형 타입 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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 05e817463b33 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

열거형 타입 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 State Management와 같은 상위 모듈로의 상태 피드백을 위해 사용될 것으로 추정됩니다. 질문 Q-e4f964bd79ad550c (열림) 이는 기본 데이터 타입 정의이므로 호출 컨텍스트, 재진입성 규정, 동기 또는 비동기 시맨틱, 런타임 오류 및 DET 메시지와 같은 특정 속성은 연관된 드라이버 API에서 정의되며 본 타입 설명의 일부가 아닙니다 [SWS_Adc_00526].

이 텍스트는 AI에 의해 작성되었습니다. 이는 오로지 AUTOSAR 릴리스 R20-11의 명세서만을 기반으로 합니다.

구현자 가이드 준비 중 (복잡도 I1)

타입 Adc_PowerStateRequestResultType [SWS_Adc_00527] 📄 PDF

Type Adc_PowerStateRequestResultType.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 27fe65fc865c 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

열거형 타입 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].

이 텍스트는 사양을 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 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#15eb6fb3
Content hash
15eb6fb3
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_ADCDriver.pdf#nameddest=SWS_Adc_00365

초기화 및 상태

Adc_DeInit 함수

Returns all ADC HW Units to a state comparable to their power on reset state.

void Adc_DeInit (void);

Returns the version information of this module.

void Adc_GetVersionInfo (Std_VersionInfoType* versioninfo);
Adc_Init 함수

Initializes the ADC hardware units and driver.

void Adc_Init (const Adc_ConfigType* ConfigPtr);

서비스 · Get…

Service Adc_GetCurrentPowerState.

Std_ReturnType Adc_GetCurrentPowerState (Adc_PowerStateType* CurrentPowerState, Adc_PowerStateRequestResultType* Result);

Returns the conversion status of the requested ADC Channel group.

Adc_StatusType Adc_GetGroupStatus (Adc_GroupType Group);

Returns the number of valid samples per channel, stored in the result buffer. Reads a pointer, pointing to a position in the group result buffer. With the pointer position, the results of all group channels of the last completed conversion round can be acc essed. With the pointer and the return value, all valid group conversion results can be accessed (the user has to take the layout of the result buffer into account).

Adc_StreamNumSampleType Adc_GetStreamLastPointer (Adc_GroupType Group, Adc_ValueGroupType* * PtrToSamplePtr);

Service Adc_GetTargetPowerState.

Std_ReturnType Adc_GetTargetPowerState (Adc_PowerStateType* TargetPowerState, Adc_PowerStateRequestResultType* Result);

서비스 · 기타

Disables the notification mechanism for the requested ADC Channel group.

void Adc_DisableGroupNotification (Adc_GroupType Group);

Disables the hardware trigger for the requested ADC Channel group.

void Adc_DisableHardwareTrigger (Adc_GroupType Group);

Enables the notification mechanism for the requested ADC Channel group.

void Adc_EnableGroupNotification (Adc_GroupType Group);

Enables the hardware trigger for the requested ADC Channel group.

void Adc_EnableHardwareTrigger (Adc_GroupType Group);

This API is cyclically called and supervises the power state transitions, checking for the readiness of the module and issuing the callbacks Io Hw Ab_ Adc_ Notify Ready For Power State (see Adc Power State Ready Cb k Ref configuration parameter).

void Adc_Main_PowerTransitionManager (void);

This API starts the needed process to allow the ADC HW module to enter the AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_ADCDriver requested power state.

Std_ReturnType Adc_PreparePowerState (Adc_PowerStateType PowerState, Adc_PowerStateRequestResultType* Result);

Reads the group conversion result of the last completed conversion round of the requested group and stores the channe l values starting at the Data Buffer Ptr address. The group channel values are stored in ascending channel number order ( in contrast to the storage layout of the result buffer if streaming access is configured).

Std_ReturnType Adc_ReadGroup (Adc_GroupType Group, Adc_ValueGroupType* DataBufferPtr);

This API configures the Adc module so that it enters the already prepared power state, chosen between a predefined set of configured ones.

Std_ReturnType Adc_SetPowerState (Adc_PowerStateRequestResultType* Result);

Initializes ADC driver with the group specific result buffer start address where the conversion results will be stored. The applicatio n has to ensure that the application buffer, where Data Buffer Ptr points to, can hold all the conversion results of the specified group. The initialization with Adc_ Setup Result Buffer is required after reset, before a group conversion can be started.

Std_ReturnType Adc_SetupResultBuffer (Adc_GroupType Group, Adc_ValueGroupType* DataBufferPtr);

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

void Adc_StartGroupConversion (Adc_GroupType Group);

Stops the conversion of the requested ADC Channel group.

void Adc_StopGroupConversion (Adc_GroupType Group);

The API shall be invoked by the ADC Driver when the requested power state preparation for mode <#Mode> is completed.

void IoHwAb_Adc_NotifyReadyForPowerState<#Mode> (void);

타입

In case of active limit checking: defines which conversion values are taken into account related to the boardes defineed with Adc Channel Low Limit and Adc Channel High Limit.

Numeric ID of an ADC channel.

Data structure containing the set of configuration parameters required for initializing the ADC Driver and ADC HW Unit(s).

Type of conversion time, i.e. the time during which the sampled analogue value is converted into digital representation. (This is not an API type).

Type for configuring the access mode to group conversion results.

Type for configuring the conversion mode of an ADC Channel group. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_ADCDriver

Type for assignment of channels to a channel group (this is not an API type).

Priority level of the channel. Lowest priority is 0.

Replacement mechanism, which is used on ADC group level, if a group conversion is interrupted by a group which has a higher priority.

Numeric ID of an ADC channel group.

Type for configuring on which edge of the hardware trigger signal the driver should react, i.e. start the conversion (only if supported by the ADC hardware).

Type for the reload value of the ADC module embedded timer (only if supported by the ADC hardware).

Type Adc_PowerStateRequestResultType.

Power state currently active or set as target power state.

Type of clock prescaler factor. (This is not an API type).

Type for configuring the prioritization mechanism.

Type of channel resolution in number of bits. (This is not an API type).

Type for alignment of ADC raw results in ADC result buffer (left/ right alignment).

Type of sampling time, i.e. the time during which the value is sampled, (in clock - cycles). (This is not an API type).

Current status of the conversion of the requested ADC Channel group.

Type for configuring the streaming access mode buffer type.

Type for configuring the number of group conversions in streaming access mode (in single access mode, parameter is 1). Available Adc.h AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_ADCDriver via

Type for configuring the trigger source for an ADC Channel group.

Type for reading the converted values of a channel group (raw, without further scaling, alignment according precompile switch ADC_ RESULT_ ALIGNMENT).