하드웨어
AD컨버터 (Analog - Digital Converter) 는 말그대로 아날로그 신호를 디지털 신호로 변환 해 주는 장치 입니다.
일반적으로 빛의 밝기, 온도, 소리의크기,압력. 등의 변화를 측정 할때 주로 쓰이며, 이런 자연변화 상태를
전압의 상태로 변환해 주는 센서를 거친 후 AD 컨버터 에서 디지털로 바꿔주는 과정을 거치게 됩니다.
일단 신호의 상태가 디지털로 변환이 되면, 다루기가 쉽겠지요
AD 컨버팅은 크게 [ 아날로그 입력 --> 샘플링 ---> 디지털화 ] 의 과정을 거칩니다.
AD 컨버터의 성능을 크게 정확도와 속도로 나눌 수 있습니다.
여기서 정확도는 입력된 아날로그 신호를 디지털로 변환 했을때 그 디지털 값이 실제 입력된
아날로그 값과 얼마나 같은지를 말하며, 속도는 입력된 아날로그 신호를 디지털로 변환 하는 시간을
말합니다.
정확도는 아날로그 입력 전압의 범위를 얼마만큼 세밀한 단계로 나누어 몇 비트의 디지털
신호로 변환 하느냐에 달려 있으며 이를 분해능 (Resolution) 이라고 합니다.
분해능이 높다는 것은 그만큼 정확도가 높아지는 반면 처리할 비트수가 많기 때문에 결국
변환 레이트 (Conversion rate) 가 늘어날 수 밖에 없는 것이지요.
정리하자면 정확도가 높아질수록 속도는 느려진다.. ;; 아주 간단한 진리입니다.
분해능에 대해 좀더 깊이 들어가 보겠습니다.
분해능이 아무리 높다 한들 연속적인 아날로그 신호와의 오차를 없앨 수 는 없습니다.
예를 들어 0V~ 8V 까지의 범위를 3비트의 분해능을 갖는 AD 컨버터를 통해 변환 한다면
8 단계로 나뉘기 때문에 1.723516V 나 6.5V 와 같은 전압 값은 1V , 6V 로 표현되기 때문에
오차가 발생하는 것이지요, 아무리 세밀하게 나누어도 발생하는 오차는 어쩔 수가 었으며
이 오차를 양자화 오차(Quantization error) 라 합니다.
양자화라는 것은 결국 실제 아날로그 값을 표현이 가능한 디지털 값으로 변환 하는 과정을 말하며, 샘플링 후 과정 입니다.
하지만 이 오차는 분해능이 높을 수록 확실히 줄어들겠지요 . 3비트 와 10비트는 표현 가능한 범위가 엄청나게 벌어지니까요
그리고, ADC 를 지원한는 MCU 나 ADC IC 들은 대부분 여려 채널을 갖고 있으며, ADC 를 절약 하기 위해 여러 채널의
아날로그 입력을 하나의 ADC 에서 처리하도록 돼 있습니다 따라서 아날로그 멀티플랙서가 필요합니다.
선택된 아날로그 신호를 샘플링해서 디지털화하는 동안 그 전압 값을 유지 해야 하기 때문에 Hold 회로가 필요합니다.
이 샘플 홀드 회로는 샘플링과 홀드의 시간 간격을 제어 신호를 통해 반복하게 되며, 입력된 전압 값을 유지하는 캐패시터
에 의해 이루어 집니다. 이상적으로 볼때 제어 신호에 의해 샘플링이 실행 될때 입력된 아날로그 전압에 의해 캐패시터가
충전되고, 충전된 상태에서 샘플링 후 홀드시간 동안 전앖값을 유지하며, 다음 샘플링이 시작될때 아날로그 전압 값 까지
충/방전이 재 진행 됩니다.
하지만 캐패시터의 특성상 충/방전 그래프가 곡선을 그리며, 샘플링 타이밍은 입력 아날로그 값까지 캐패시터가 완젼히
충전 되었을때여야 하므로, 약간의 시간 오차가 발생 하며 이 시간을 포착시간 (Acquisition time) 이라 합니다.
따라서 샘플 시간은 포착시간보다 길게 해야 하며, 홀드 기간은 AD 컨버터의 변환에 걸리는 시간보다 길게 해야만
정확한 값을 얻을 수 있습니다.