본문 바로가기
소프트웨어 다이어리/STM32

STM32CubeMX 사용법 #4 (ADC & DAC)

by 연대디 2023. 2. 10.

1. ADC 설정

STM32는 ADC와 DAC가 있는데 Partnumber에 따라 가능한 채널 수가 각각 다른데 사용예정인 STM32F469VET6는 12BIT ADC가 3개, 14채널까지 설정 가능하다. 

  • ADC 입력 :  0 ~ Vref (Max 3.6V)
  • ADC 1당 전압 : Vref 3.3V기준, 12bit = 4095이므로 3.3V/4095 = 0.806mV    

        ->  ADC 값이 1023이 입력될 경우  3.3*(1023/4095) = 0.824V 

ADC및DAC 채널수
모델별 사용가능 ADC 및 DAC 채널 수

개발 보드는 ADC1의 PC0(ADC10) , PC1(ADC11) , PC2(ADC12)  3개 채널 사용예정이며, 세부 설정은 아래와 같다.

  • Clock Prescaler                          : PCLK2 divied by 4
  • Resolution                                  : 12 bit ( 15 ADC Clock cycle )
  • Data Alignment                           : Right alignment  (데이터 오른쪽 정렬)
  • Scan Conversion Mode              : Enable ( 여러 ADC 채널을 자동으로 순차적 Scan ) 
  • Continous Conversion Mode      : Disable ( ADC 측정 후 연속 ADC 측정여부 )
  • Discontinous Conversion Mode  : Disable ( Conversion 채널 그룹 조절 기능 )
  • DMA Continuous Requests        : Disable ( DMA 기능 사용여부 )
  • Number Of Conversion              : 3 ( ADC 사용 개수 )

ADC설정
ADC 설정

ADC의 경우 외부에서 입력되는 신호의 임피던스 조절 및 노이즈를 줄여주기 위해 아래와 같이 저항과 커패시터를 이용해 부가회로를 추가로 구현하면 ADC 정확도를 높일 수 있다.

ADC회로
ADC Circuit

2. DAC 설정

DAC는 ADC와 반대로 MCU에서 계산된 디지털값을 아날로그 전압으로 변형해서 출력해주는 기능이며, 12bit DAC 2채널이 있으며 PA4(DAC_OUT1) 과 PA5(DAC_OUT2) 핀으로 설정 가능하다.

DAC설정
DAC 설정

  • DAC 출력 전압 : 0 ~ Vref (Max 3.6V)
  • DAC 값 1당 전압 : : Vref 3.3V기준, 12bit = 4095이므로 3.3V/4095 = 0.806mV     

        ->  DAC 값이 1023이 입력될 경우  3.3*(1023/4095) = 0.824V  출력

  • DAC setting time : Max 6us
  • DAC Ourbuffer :  Enable

   DAC Buffer Enable시 Buffer가 Enable되어 출력 임피던스 줄여주므로 별도의 버퍼는 필요없음

DAC회로
DAC Circuit

▷ 다음편에서는 Timer 설정을 정리예정입니다.

댓글