본문 바로가기

SW 개발 공부/STM8

[STM8] MCU DAC 설계에서 왜 ‘DAC Buffer’가 중요한가?

🔧 MCU DAC 설계에서 왜 ‘DAC Buffer’가 중요한가?

— Buffer OFF로 RI(PB4/PB5 등)로 신호를 뽑을 때 생기는 문제들

마이크로컨트롤러(MCU)의 DAC(Digital-to-Analog Converter)를 사용할 때,
많은 초보자들이 “DAC 값을 넣었는데 왜 전압이 떨어지지?” 라는 문제를 겪는다.
특히 STM8/STM32 계열에서 DAC Buffer를 끄고(Buffer OFF),
RI(Routing Interface)나 내부 아날로그 스위치를 이용해 다른 핀(PB4, PB5 등)으로 신호를 보낼 때
이런 현상이 자주 발생한다.

이 글에서는 DAC Buffer가 왜 필요한지,
Buffer OFF 출력이 어떤 문제를 일으키는지,
그리고 해결 방법은 무엇인지 정리해 보았다.


🎛 DAC Buffer란 무엇인가?

DAC은 내부 R/2R 저항 사다리 구조에서 전압을 만들어내지만,
이 전압은 직접 외부를 구동하기에는 너무 약한(High-Z) 특성을 가진다.
그래서 대부분의 MCU에는 **DAC Buffer(출력 버퍼)**라는 작은 내부 OP-AMP가 붙어 있다.

✔ DAC Buffer ON

  • 출력 임피던스가 매우 낮다 (Low-Z)
  • 외부 부하를 구동할 수 있다
  • DAC 전압이 정확히 유지된다

✔ DAC Buffer OFF

  • DAC 출력이 고임피던스(High-Z) 상태
  • 내부 R/2R → 스위치 → 출력핀
  • 외부 부하가 조금만 있어도 전압이 크게 떨어진다
  • 사실상 "약한 전압원" 역할만 수행

특히 작은 패키지(28-pin STM8L 시리즈 등)에서는
DAC Buffer를 사용할 수 없고, PB4/PB5 등으로만 High-Z 경로를 사용해야 해서 문제가 더 심해진다.


⚠ Buffer OFF + RI 경로에서 생기는 대표적인 문제 4가지

1) 전압 강하 (Voltage Drop) — 가장 치명적 문제

DAC Buffer가 꺼지면, DAC 출력은 수 kΩ ~ 수십 kΩ의 내부 저항을 그대로 드러낸다.

예를 들어:

  • DAC 내부 저항: 10 kΩ
  • 외부 부하: 10 kΩ

이런 경우 DAC이 3.0V를 내도 실제 출력은?

Vout=3.0V×10k10k+10k=1.5VV_{\text{out}} = 3.0 V \times \frac{10k}{10k+10k} = 1.5V

즉, 전압이 절반으로 뚝 떨어진다.
이런 전압 강하가 가장 흔한 문제이다.

특히나 PB4/PB5와 RI 경로는 내부 스위치 + 보호저항까지 포함되기 때문에
더 높은 임피던스를 보여 전압이 크게 떨어지게 된다.


2) 세틀링 타임 증가 (Slow Settling / Slew)

Buffer OFF 상태의 DAC 출력은 큰 저항(R)을 가지고 있고,
출력 배선에는 기생 커패시턴스(C)가 항상 존재한다.

→ 이 둘이 만나면 RC Low-pass Filter 를 형성한다.

τ=R×C\tau = R \times C

결과적으로 전압이 "즉시" 변하지 않고
완만하게 변화한다(슬루율 제한).
빠른 파형 재생에는 적합하지 않다.


3) 노이즈에 매우 취약 (Susceptible to Noise)

고임피던스 노드는 마치 작은 안테나처럼 작동한다.

  • 주변 디지털 신호의 스위칭 노이즈
  • 근처 클럭/버스에서의 EMI
  • Crosstalk

이런 잡음이 그대로 DAC 신호에 들어올 수 있다.
특히 RI 경로처럼 내부 스위치를 여러 개 거치면 노이즈 취약성이 더 커진다.


4) 스위치 On 저항(Ron)에 의한 오차

RI 스위치나 내부 아날로그 스위치는
이상적인 도선이 아니다.

  • 보통 수백 Ω ~ 수 kΩ의 R_on을 가진다
  • 온도·전압에 따라 값이 달라진다

이 저항은 추가적인 전압 강하와 DAC의 선형성 오차를 만든다.
정밀한 DAC 제어가 필요한 경우에는 치명적일 수 있다.


🏁 결론: 언제 Buffer OFF DAC을 써도 되는가?

Buffer OFF 출력은 "전류가 거의 흐르지 않는 환경"에서만 사용해야 한다.

즉, 다음과 같은 경우는 괜찮다:

  • ADC 입력(수 MΩ)
  • Op-Amp 입력(수 MΩ 이상)
  • 멀티미터 측정(10 MΩ)
  • 내부 Comparator 입력

하지만 아래와 같은 경우에는 절대 적합하지 않다:

  • LED 구동
  • PWM형 아날로그 출력
  • 외부 RC 필터
  • 외부 아날로그 회로(수 kΩ 수준의 부하 존재)

🔨 해결 방법: 부하를 구동해야 할 때는?

✔ 해법: 외부 Op-Amp Buffer 추가

DAC 출력 → OP-AMP(Voltage Follower) → 외부 회로

이렇게 하면:

  • 출력 임피던스가 매우 낮아지고
  • 전압 강하가 사라지며
  • 빠른 신호 변화가 가능하고
  • 노이즈에 대한 내성이 생긴다

결국 DAC Buffer OFF 출력의 근본적인 한계를 해결할 수 있다.


⚠️ DAC 설계 시 꼭 확인해야 하는 중요한 주의사항

DAC은 단순히 “디지털 값을 넣으면 전압이 나오는 장치”처럼 보이지만,
내부 구조(특히 DAC Buffer 지원 여부)에 따라 출력 특성은 완전히 달라집니다.
따라서 회로 설계 전에 반드시 아래 내용을 확인해야 합니다.


🔍 1. 사용하려는 MCU가 ‘DAC Buffer’를 지원하는지 반드시 확인해야 한다

모든 MCU가 DAC Buffer(출력 버퍼)를 지원하는 것은 아닙니다.
DAC Buffer는 DAC 출력에 **저임피던스 드라이버(OP-AMP)**를 붙여주는 기능이기 때문에,

  • 외부 부하를 직접 구동해야 하거나
  • 정확한 아날로그 전압을 안정적으로 출력해야 하거나
  • 빠른 파형 변화를 요구하는 환경이라면

DAC Buffer 존재 여부가 필수적인 요소가 됩니다.

만약 DAC Buffer가 지원되지 않는 MCU라면,

  • DAC 출력은 High-Z 상태(매우 높은 출력 저항)이고
  • 외부 회로가 조금만 전류를 가져가도 전압이 쉽게 떨어지고
  • 고속 파형에서는 왜곡이 발생하며
  • 노이즈에도 취약한 신호가 됩니다.

즉, DAC Buffer의 유무는 “DAC을 얼마나 제대로 활용할 수 있는지”를 결정하는 핵심 포인트입니다.


🔍 2. 특히 STM8L15x 시리즈는 ‘패키지에 따라’ DAC Buffer 지원 여부가 달라진다

STM8L15x/STM8L152x 시리즈는 데이터시트를 자세히 보면,
DAC Buffer를 지원하는 패키지와 지원하지 않는 패키지가 명확히 구분됩니다.

 

RI 인터페이스

 

DAC Buffer를 지원하지 않고, RI(Routing Interface)를 통하여 DAC를 출력할 수 있는 방법이 있다.

✔ 중요한 사실

STM8L15x에서는 48핀 이하 패키지(28-pin, 32-pin)는
DAC Buffer 사용을 지원하지 않는다.

 

stm8l15x datasheet DAC Accuracy 내용

 

2번 설명을 보면 아래와 같이 적혀있다.

For 28-pin and 32-pin packages, DAC output buffer must be kept off and
no load must be applied on the DAC output.

 

버퍼 OFF(High-Z) 상태에서만 PB4/PB5/PB6로 DAC가 나오기 때문에
출력 임피던스가 매우 높고, 어떤 부하도 감당할 수 없다는 뜻이다.

 

즉, 외부 사용을 위한 DAC가 아니라 내부 참조용/내부 comparator 입력용 같은 수준의 신호라는 뜻.

 

  • 28-pin 패키지 → DAC Buffer 없음 → 외부로 High-Z DAC만 출력 가능
  • 32-pin 패키지 → DAC Buffer 없음 → 동일하게 High-Z 출력만 가능
  • 48-pin 이상의 패키지 → DAC Buffer 지원 (PF0 등으로 저임피던스 출력 가능)

다르게 표현하면:

🔬 48핀 이하 패키지에서는 ‘저임피던스 DAC 출력’을 만들 방법이 없다.

출력할 수 있는 것은
R/2R DAC 원본 값이 RI 스위치를 통해 전달되는 High-Z 경로 뿐이며,
외부 부하가 있는 회로에서는 전압이 반드시 떨어지게 됩니다.

이 차이를 모르고 설계하면,

  • PB4/PB5/PB6에서 기대한 전압이 안 나오는 현상
  • 3.3V를 출력했는데 1V만 찍히는 문제
  • 파형이 느리게 움직이거나 노이즈가 섞이는 문제

등이 발생할 수 있습니다.


📝 정리

✔ DAC Buffer 지원 여부는 “DAC 출력 품질”을 좌우하는 핵심 요소

✔ STM8L15x의 소형 패키지(28·32pin)는 DAC Buffer 없음

✔ 따라서 외부 구동이 필요한 DAC 회로라면,

→ 반드시 48pin 이상 패키지(MCU 변경) 또는
외부 Op-Amp 버퍼 추가가 필요하다


📌 마무리

 

 

MCU에서 DAC을 사용할 때
"버퍼 ON/OFF"는 단순한 옵션이 아니다.

특히 작은 패키지(예: STM8L 28-pin)에서
DAC Buffer를 사용할 수 없는 경우,
반드시 이 High-Z 특성을 이해하고 설계해야 한다.

  • 전압이 떨어지는 이유
  • 세틀링 문제가 생기는 이유
  • 노이즈가 섞이는 이유
  • 스위치 저항이 만드는 오차

이 모든 것이 “버퍼 OFF + RI 경로 = High-Z 출력” 이기 때문에 생기는 특징들이다.

따라서 부하를 구동해야 한다면 외부 버퍼(Op-Amp)를 붙이는 것이 필수다.

'SW 개발 공부 > STM8' 카테고리의 다른 글

[STM8] ADC-DAC 연결 피드백  (0) 2025.11.12
STM8 I2C  (0) 2022.03.10
STM8 STVP & STVD 사용법  (0) 2022.03.10