Hyokyun Yim bio photo

Hyokyun Yim

Koreatech Computer Science Engineering undergraduate 4 grade.

Facebook Github

Cortex-M4 의 ADC에 대해 알아보자

Overview

ADC(Analog to Digital Converter)

ADC 소개

  • 우리가 아는 99.9% 센서는 물리량을 전압값으로 변환한다.
  • 즉 아날로그값인 온도를 0~3.3v 의 전압값으로 표현한다.
  • 예외적으로 5v의 전압까지 변환시켜주는 센서도 존재하나 대부분의 마이크로프로세서는 3.3v 이다. 즉 그 이상의 값은 무의미한 값이 된다.
  • 그림처럼 정확하게 가용범위의 중간(50도) 가 1.65v가 되지는 않는다. 약간의 오차가 존재한다.

ADC 분해능

  • 먼저 분해능을 알기 전에 Digital 이 정확히 무엇인지를 알아야한다.
  • Digital 이란 a Series of 0 or 1 , 즉 0과 1로 구성된 것을 디지털이라고 말한다.
  • 4bit의 디지털값은 0~15 까지의 수를 표현할 수 있으며, 8bit의 디지털값을 0~255 까지의 수를 표현할 수 있다.
  • ADC에서는 Analog 값을 Digital로 표현할 때 분해능을 이용하며 분해능의 bit가 높아지면 정밀한 값 측정이 가능하지만 가격은 상승한다. 따라서 사용자가 필요한 만큼 알맞게 사용한다. 일반적으로 6,8,10,12bit 설정이 가능

  • 위 그림은 ADC가 어떻게 동작되는지 보여주는 전체적인 구조도이다.
  • 0~100도의 온도값을 0~3.3v의 전압량으로 표현하고 이 전압값을 ADC가 받으면 디지털값으로 변환하여 마이크로프로세서에서 사용한다.

Mux 및 A/D 변환부 구조

  • 멀티플렉서는 내부에 다수의 스위치를 가지고 있고, 조건에 따라 스위치를 연결해 출력을 변경한다.
  • MUX를 쓰면 ADC 한개만 사용해도 여러개의 센서처리가 가능하다.(가격효율/공간효율 상승)
  • Sample & Holder는 무수히 많은 값을 지정된 시간에 따라 샘플링한다. 1초마다 값을 추출하면, 1.5초의 값을 얻지 못한다. 결국 1초값을 2초까지 유지시키는데 이 유지시키는 놈을 Holder라고 한다.
  • Sample & Holder를 잘 조절하면 원래값과 비슷하게도 할 수 있다. 하지만 역시나 가격이 많이 들기때문에 사용자에 맞게 bit를 조절하여 사용한다.
  • Mux -> Sample&Holder -> A/D Converter 까지의 시간을 Conversion 타임이라고 하며 시간이 낮을수록 좋은 ADC 이다.

Independent Modes

  • ADC는 채널에 따른 여러 모드가 존재한다.
  • Single-Chanel, Single Conversion mode : 한개의 채널을 사용해 Conversion을 하고 종료. -> 보통 타이머 인터럽트를 같이 사용하여 일정주기마다 읽어올때 사용한다.
  • Multi-Chanel, Single Conversion mode : 다수의 채널로 부터 받은 센서값을 Conversion 함 -> 멀티채널이지만 실제로는 멀티플렉서의 스위치를 순차적으로 변환해가면서 처리한다. 즉 Sample & Holder 는 하나만 있으면 됨.
  • Single-Chanel, Continuous Conversion mode : 하나의 채널로 계속해서 돌림 -> 즉 스위치를 고정시키고 While문 돌림
  • Multi-Chanel, Continuous Conversion mode : 채널1 -> 채널2 -> 채널7 빠르게 변환

ADC의 특징

  • 12,10,8,6 Bit 설정이 가능
  • 0 ~ 3.3v 를 이진화 시킴 ex) 10bit 사용시 0v -> 0x000 ~ 3.3v -> 0x3FF
  • 19개의 채널을 가지고 있음 -> 24bit Mux 사용 : 5개의 Reserved , 16개의 외부소스(센서), 2개의 내부소스(내부적으로 담고있는 센서들.. 기판의 온도감지) , 1개의 V bat 채널(배터리만을 위한 채널)

정리

Reference: Sang Youn Kim - Micro processor , Korea university of technology & education