MCU에 연결한 크리스탈(X-tal)을 안정적으로 동작시키려면, 크리스탈의 공진 조건에 맞는 부하 캐패시터(Load Capacitor) 용량을 선정해야 한다. 크리스탈 부하 캐패시터의 용량 선정하는 방법에 대해서 알아보겠다.
크리스탈 부하 캐패시터의 역할과 선정 이유
부하 캐패시터에 대해 짚고 넘어가야 할 부분이 있다. ‘부하 캐패시터’와 ‘부하 캐패시턴스’가 혼동되기 쉬운 문제가 있다. 크리스탈의 데이터시트에서 볼 수 있는 CL 값은 Load Capacitance로 캐패시터가 아닌 정전용량인 캐패시턴스이다. (아래 파란색 영역의 합산 값)
혼동되기 쉬운 문제로 부하 캐패시터는 보통 외부 캐패시터라고 부르는 경우가 더 많다. CEXT 로 표기된 기호(아래 녹색 영역)를 본적이 있을 것이다.

크리스탈 제조사는 특정 공진 주파수에서 동작하도록 설계된 권장 부하 캐패시턴스(Load Capacitance, CL) 값을 데이터시트에서 제공한다. 부하 캐패시터(CEXT)는 이 부하 캐패시턴스(CL)를 맞추기 위한 역할을 하는 부품이다. 부하 캐패시터를 적절한 값으로 선정해야 크리스탈이 의도한 주파수에서 정확하게 진동할 수 있다.
크리스탈 부하 캐패시터의 용량 계산 방법
크리스탈 제조사가 권장하는 부하 캐패시턴스(CL) 값에 맞춰 발진 회로를 설계하기 위해, 크리스탈 부하 캐패시터의 용량을 선정하기 위한 계산 방법을 알아보겠다.
부하 캐패시턴스 공식
부하 캐패시턴스(CL) 공식:
$$C_{L} = \frac{C_{1} \times C_{2}}{C_{1} + C_{2}} + C_{stray}$$
- C1, C2: 크리스탈 핀 양쪽에 연결된 부하 캐패시터(CEXT).
- Cstray: PCB 및 패턴 등 회로에 생기는 기생 캐패시턴스. (일반적으로 2~5pF로 가정)
위 공식은 부하 캐패시턴스 값을 구하기 위해 일반적으로 알려진 공식이다. 요즘은 MCU들이 어느 정도 오차 범위 안에 들면 정상 동작에 크게 지장이 없어, 추가 사항을 고려하지 않는 경우가 많다. 근데, 크리스탈을 MCU에 연결하게 되면 위 공식에 추가로 고려할 부분이 있다. 그것은 MCU 내부 발진 회로에 기생하고 있는 캐패시턴스이다.
MCU 내부에 있는 발진 회로는 피어스(Pierce) 구조로 Cg 와 Cd 라는 기생 성분의 캐패시턴스가 존재한다. 피어스 발진 회로 구조는 아래와 같다.

위 피어스 발진 회로 구조는 MCU의 internal clock source 모드일 때 구조이다. external clock source 모드를 사용하면 여기서 오실레이션 엘레먼트를 제외하고 외부에 클럭 소스를 추가하여, MCU의 내부에 있는 발진 회로와 연결되면서 피어스 구조를 완성시킨다.
요즘 사용하고 있는 TI사의 TMS320F280049를 예를들면, X1핀(input)과 X2핀(output) 양단에 크리스탈(X-tal)을 연결한다. 이때 X1핀은 입력핀으로 게이트-사이드(gate-side) 구조라고도 부르며, X2핀은 출력핀으로 드레인-사이드(drain-side) 구조라고 부른다.
MCU 내부 발진 회로에 있는 인버터 회로가 CMOS 인버터 구조로 되어있다. 그래서 인버터 입력 부분의 노드에 생기는 기생 캐패시턴스를 Cg 라고 하며, 인버터 출력 부분의 노드에 생기는 기생 캐패시턴스는 Cd 라고 한다.
- Cg : MCU 내부 발진 회로의 gate-side 기생 캐패시턴스.
- Cd : MCU 내부 발진 회로의 drain-side 기생 캐패시턴스.
위 2가지 요소를 더하여 다시 공식을 풀어보면 다음과 같다.
부하 캐패시턴스(CL) 공식:
$$C_{L} = \frac{(C_{1} + C_{g}) \times (C_{2} + C_{d})}{(C_{1} + C_{g}) + (C_{2} + C_{d})} + C_{stray}$$
Cg 와 Cd (및 Cstray) 에 대한 정보는 데이터시트에 별도로 제공해주거나, 추정치를 제공해주는 경우가 있다. 그리고 Cg 와 Cd 값에 대한 언급이 아에 없는 경우도 있다. 해당 값들은 워낙에 작은 값이라 생략되는 경우가 많다. 참고사항으로 알고 있도록 하자.
크리스탈 부하 캐패시터의 용량 계산 예제
크리스탈의 권장 부하 캐패시턴스(CL)가 12pF이고, PCB의 기생 캐패시턴스(Cstray)가 4pF라고 가정, Cg 와 Cd 값은 생략 했을 때, C1과 C2의 값을 다음과 같이 계산할 수 있습니다.
$$C_{L} = \frac{C_{1} \times C_{2}}{C_{1} + C_{2}} + C_{stray}$$
- 공식을 재정리:
$$C_{L} – C_{stray} = \frac{C_{1} \times C_{2}}{C_{1} + C_{2}}$$
- $C_{1}=C_{2}$라고 가정(보통 같게 함):
$$C_{L} – C_{stray} = \frac{C_{1}^{2}}{2C_{1}}$$
$$C_{L} – C_{stray} = \frac{C_{1}}{2}$$
$$2(C_{L} – C_{stray}) = C_{1}$$
- 값 대입:
C1(= C2) = 2 × (12pF – 4pF) = 16pF
결과적으로, 크리스탈 부하 캐패시터의 용량 값은 각각 16pF 를 연결하면 크리스탈이 안정적으로 공진 주파수 대역에서 동작할 수 있다.
정리
MCU 회로에서 크리스탈의 부하 캐패시터(CEXT)는 크리스탈의 공진 주파수를 정확히 유지하고 발진기의 안정성을 보장하기 위해 필수적이다. 권장 부하 캐패시턴스(CL)를 충족하기 위해 적절한 값을 계산하고, PCB의 기생 캐패시턴스까지 고려하여 설계해야 한다. 안정적인 클럭 소스를 통해 결과적으로 안정적인 시스템 운영이 가능해진다.