-
[전자공학] ADC공학/전자공학 2023. 8. 7. 19:01
글의 참고
- https://m.blog.naver.com/rlaghlfh/221385737830
- https://m.blog.naver.com/seo0511/10155970833
- https://m.blog.naver.com/PostView.naver?blogId=necrojw77&logNo=60108079098&navType=by
- https://m.blog.naver.com/seo0511/10158363443
- https://moonnote.tistory.com/73
- https://en.wikipedia.org/wiki/Sample_and_hold
- https://www.sharetechnote.com/html/Electronics_ADC.html
글의 전제
- 내가 글을 쓰다가 궁금한 점은 파란색 볼드체로 표현했다. 나도 모르기 때문에 나중에 알아봐야 할 내용이라는 뜻이다.
- 밑줄로 작성된 글은 좀 더 긴 설명이 필요해서 친 것이다. 그러므로, 밑 줄 처친 글이 이해가 안간다면 링크를 따라서 관련 내용을 공부하자.
글의 내용
- Analog-to-Digital Convertor(ADC) 란 ?
- 마이크로프로세서로 외부 물리량을 측정하기 위해서는 센서와 연결해야 한다. 이 때 대부분의 센서 출력은 측정량에 비례하는 아날로그 전압 또는 전류를 신호로 내보내며, 이러한 아날로그 신호를 마이크로프로세서에서 인식할 수 있도록 변환하는 과정, 즉 아날로그 신호를 디지털로 바꾸어 마이크로프로세서에서 사용할 수 있는 장치가 필요하다. 이러한 장치를 ADC(Analog to Digital Converter)라고 한다. 아날로그 전압 신호는 시간 축과 전압축에 대해 연속적인 값을 가지는 반면 디지털은 이산화된 시간축에 이산회된 전압값을 가진다.
- 온도, 습도, 조도와 같이 우리가 주변에서 측정하는 대부분의 물리량은 연속적인 아날로그 값 입니다. 이런 물리량들은 센서를 통해 전압, 전류, 저항과 같은 전기적인 신호로 변환되는데 이 값도 역시 연속적인 아날로그 값입니다. 센서 출력 값을 프로세서로 처리하기 위해서는 프로세서가 알 수 있는 "0"과 "1"의 2진 디지털 신호로 변환을 해야하는데 이 과정을 담당하는 부품이 AD Converter 이다.
- Analog-to-Digital Convertor 단계 : 샘플링, 양자화, 부호화
- AD 변환은 샘플링(Sampling), 양자화(Quantization), 부호화(Encoding) 3 부분으로 구성된다. 아래 그림에서 그래프를 x, y축이라 보면, x축에서(시간 축에서) 신호를 나누는 것이 sampling, y축에서(전압 축에서) 신호를 나누는 것이 quantization이라고 생각하면 쉽다.
- Sampling은 연속적인 아날로그 신호를 일정한 시간 간격으로 측정하는 것을 말합니다. 예를들어 위 아날로그 신호가 연속적으로 변하는 하루의 온도라고 가정하고 1시간 간격으로 온도를 측정한다고 합시다. 이때 1시간 간격으로 온도를 측정하는 것을 Sampling 이라고 합니다.
- 평탄 표본화(Flat-top sampling)를 사용하는 AD Converter에서 아래 그림처럼 Sampling 으로 얻어진 값은 다음 Sampling 까지 그 값을 유지합니다. 이 값들은 '0'과 '1'로 구성된 디지털 값이 아닌 25℃, 31℃ 와 같은 아직 아날로그 레벨의 값입니다.
- 양자화는 아날로그 레벨을 한정된 디지털 레벨로 바꾸는 과정을 말합니다. 여기서 한정된 디지털 레벨이란 말에 주목할 필요가 있습니다. 이 말의 의미는 Sampling에서 얻어진 아날로그 레벨을 몇 개의 한정된 값에 할당된다는 것입니다. 다시 말하면 Sampling에서 얻어진 모든 값을 디지털 값으로 표현할 수 없다는 것입니다. 여기서 한정된 값의 수는 AD Converter 의 bit 수에 의해 결정됩니다. 예를들어 2-bit 의 AD Converter에서는 `2² = 4` 즉, 4개의 값 중 하나로 sampling 값을 할당해야 한다는 것입니다. 4개의 값 중간에 있는 값들은 가까운 4개중 하나의 값으로 근사화 해야 하는데 이런 과정에서 Error가 발생합니다. 이것을 Quantization Error 라고 합니다.
- AD Converter의 bit 수가 많을수록 예를들어 3-bit 의 AD Converter 에서 2³ = 8 이 되어 sampling 값을 할당할 수 있는 값이 8개로 증가하고 각각 할당 값 사이의 간격이 좁아져 Quantization Error 도 감소하게 됩니다. 여기까지는 몇 단계의 한정된 값이지만 아직 아날로그 레벨의 값입니다. 이 값들을 '0'과 '1' 만으로 표현된 디지털 값으로 표현해야 하는데 그 과정을 부호화(Encoding) 라고 합니다.
2-bit ADC 3-bit ADC 출처 - https://m.blog.naver.com/seo0511/10158363443
- 2-bit 보다는 3-bit의 디지털로 변환된 모습이 원래의 아날로그 신호와 비슷하다는 것을 확인할 수 있습니다.
- 아래 그림은 3-bit AD Converter이다. 여기서 3-bit 의 의미는 가능한 출력의 경우의 수(가능한 Output codes) 가 `2³ = 8` 이라는 의미다.
" 아래 그림은 resolution 개수에 따라 original signal 을 얼마나 짧게 쪼갤 수 있는지를 보여주는 그림이다.
https://www.sharetechnote.com/html/Electronics_ADC.html" 그리고, 중요한 건 ADC 를 통해 original signal 이 digital 로 될 때, 분해능이 부족하면 `양자화 에러`가 발생한다. 즉, 분해능 부족으로 orignal signal 이 동일한 digital 값으로 매핑되는 것을 의미한다. 왼쪽 그래프는 3-bit 분해능 과정에서 orignal signal 이 digital 로 converting 될 때, 값의 누락이 심각한 것을 알 수 있다. 특히나 세로축 0.8 ~ 1 구간은 전부 0.8 로 converting 되는 것을 볼 수 있다. 오른쪽의 4-bit 분해능 같은 경우는 비교적 finer 한 것을 확인할 수 있다.
3-bit 분해능 4-bit 분해능
https://www.sharetechnote.com/html/Electronics_ADC.html- ADC 분해능
- 0~8V 의 아날로그 신호를 ADC 를 이용하여 디지털 값으로 변환하는 경우를 가정해 봅시다. 여기서 8V 가 VREF (Voltage Reference) 입니다. 3-bit ADC 는 0~8V 의 아날로그 값을 "000, 001, 010, 011, 100, 101, 110, 111" 8 개 중 하나의 디지털 값으로 변환한다는 의미입니다. 8-bit ADC 는 0~8V 의 아날로그 신호를 "00000000, 00000001, 00000010 ,……, 11111111" 모두 256 가지의 디지털 값으로 변환한다는 것입니다.
- 동일한 0 ~ 8V 의 아날로그 신호를 더 세분하기 때문에 3-bit 보다는 8-bit ADC 가 아날로그 값에 더 근접한 표현이 가능합니다. 10-bit 는 더욱 더 세밀한 표현이 가능할 것입니다. 이처럼 "ADC (AD Converter) 의 출력 비트 수" 를 AD Converter의 Resolution(분해능) 이라고 합니다. Resolution을 `해상도`라고 직역해서 부르는 경우도 있다.
- 1 LSB(Least Significant Bit)
- 디지털 출력 간의 차이, 다시 말해서 0~8V 아날로그 값을 3-bit ADC 를 이용하여 변환한 경우 000과 001, 001과 010 사이에는 1V 의 차이가 있다는 것을 알 수 있습니다. 출력값의 1 LSB(Least Significant Bit)의 변화량은 다음과 같다.
- 1 LSB 의 값은 ADC Reference Voltage (VREF) 와 Resolution에 따라 달라집니다.
- 예를 들어 ADC의 동작 전압 범위가 0V ~5V 이고, 8비트의 해상도를 가진다면, 1 LSB가 가지는 전압 해상도는 5V/(2^8) = 0.0195V가 된다. 즉, 이 ADC에서 1 LSB는 19.5mV를 의미한다. 따라서 AD 변환값이 123이 나왔다면, 123 x 0.195V = 2.402V의 계산 결과를 얻을 수 있다. 마찬가지로 ADC의 동작 전압이 3V 이었다면, 3V 일 때 1 LSB의 전압 해상도는 3V/2^8 = 0.0117V가 된다. 따라서 같은 AD 변환값 123일지라도 실제 전압은 123 x 0.0117 = 1.441V가 된다.
- 나이퀴스트 이론 &앨리어싱 현상
- 대기
- 샘플 앤 홀드 회로(S&H 회로, 혹은 트랙 앤 홀드(T&H) 회로)
- https://openstory.tistory.com/63
- http://www.ktword.co.kr/test/view/view.php?no=2950
- https://m.blog.naver.com/seo0511/10155970833%EF%BB%BF
- 아날로그 신호가 ADC 입력에 들어오면 진폭이 계속해서 변경된다. 하지만 ADC 공정은 간격 제한이 있으므로 해당 기간 동안 ADC 입력의 진폭 변화가 있으면 안된다. 이걸 막기 이 사용되는
- 샘플 & 홀드 회로는 아날로그 신호의 이산화(샘플링)를 실행하며 A-D 컨버터 변환 기간 중에 이산화한 신호의 전압을 일정하게 유지한다.
- 샘플 모드 : 샘플 & 홀드 회로의 기본동작은, 클록 입력이“H”일 때 샘플링 스위치가 ON으로 되고 아날로그 출력에는 아날로그 입력이 그대로 나타난다. 이것을 샘플 모드라고 한다.
- 홀드 모드 : 클록 입력이“L”일 때는 샘플링 스위치가 OFF로 되어 아날로그 입력과 아날로그 출력이 차단된다. 아날로그 출력은 스위치가“H”에서“L”로 전환되기 직전의 아날로그 입력을 콘덴서로 유지한다. 이것을 홀드 모드라고 한다.
'공학 > 전자공학' 카테고리의 다른 글
[전자공학] 슈미트 트리거(Schmitt trigger) (0) 2023.08.07 [전자공학] 3(tri)-state 버퍼 (0) 2023.08.07 [전자 공학] 반도체 온도 (0) 2023.08.03 [전자공학] 직렬 연결과 병렬 연결 (0) 2023.08.03 [전자공학] 키르히호프의 법칙 (0) 2023.08.03