해결된 질문
작성
·
13
답변 1
0
안녕하세요, 답변 남겨드립니다.
STM32와 같은 MCU 기반 회로에서 PLL(Phase-Locked Loop)과 크리스탈(Quartz Crystal, Xtal)은 모두 클럭을 생성하거나 안정화시키는 역할을 하지만, 그 동작 원리와 회로 내 역할은 다르며, 항상 동시에 쓰이지는 않습니다.
크리스탈은 물리적으로 진동하는 석영 결정체로, 전압을 가하면 특정 고유 주파수로 매우 안정적으로 진동합니다. MCU 내부의 오실레이터 블록에 크리스탈을 연결하면, MCU는 이를 기준 주파수(reference clock)로 사용합니다. 예를 들어, 8 MHz 크리스탈을 연결하면 MCU는 내부 회로에서 그 주파수를 매우 정밀한 기준 클럭으로 사용하게 됩니다. 크리스탈의 장점은 주파수 안정성이 높고, 온도나 전압 변화에 따른 드리프트가 작다는 점입니다. 대신, 주파수를 크게 변경하거나 배수로 증폭하는 데는 적합하지 않습니다.
반면 PLL은 전자적으로 입력된 기준 클럭을 기준으로 위상을 고정시키면서 원하는 배수나 분주로 클럭을 변환해주는 회로입니다. PLL의 출력 주파수는 입력 주파수 * N / M (N: 곱셈 계수, M: 분주 계수) 형태로 계산되며, 예를 들어 8 MHz 크리스탈을 입력으로 하고 PLL 배수기를 9로 설정하면 72 MHz의 시스템 클럭을 얻을 수 있습니다. PLL은 클럭 신호를 고속화하거나 여러 주파수를 동시에 생성할 때 매우 유용하며, STM32 내부에서는 CPU, USB, ADC 등 블록별로 다른 클럭 도메인을 만들기 위해 사용됩니다.
현업의 설계 예시로 보면, MCU의 시스템 클럭을 72 MHz로 동작시키기 위해 외부 8 MHz 크리스탈(Xtal)을 기준으로 PLL 블록을 통해 ×9배 증폭하여 사용하는 구성이 일반적입니다. 즉, Xtal은 ‘기준’ 클럭을 제공하고, PLL은 ‘변환’ 및 ‘분배’를 담당합니다. 하지만 모든 MCU 설계에서 반드시 두 블록을 함께 사용하는 것은 아닙니다. 저전력 애플리케이션이나 보드 공간이 제한된 설계에서는 내부 RC 오실레이터(예: HSI, High Speed Internal RC)를 기준으로 PLL을 동작시키거나, 반대로 PLL을 사용하지 않고 Xtal만으로 구동하기도 합니다.
정리하자면, PLL과 크리스탈은 클럭 생성 체계의 서로 다른 단계에 속합니다. Xtal은 매우 안정적인 기준 클럭 소스이고, PLL은 그 기준을 다양한 속도로 변환·분배하는 회로입니다. 따라서 두 블록은 자주 함께 쓰이지만, 회로의 용도와 성능 요구(예: USB 동작 48 MHz, ADC 샘플링 정확도, 저전력 모드 등)에 따라 단독으로 쓰이는 경우도 충분히 있습니다.
예를 들어 산업용 모터 제어 보드의 경우, 8 MHz 크리스탈을 기반으로 PLL을 통해 72 MHz 시스템 클럭과 36 MHz ADC 클럭을 동시에 생성해 안정성과 정밀도를 모두 확보합니다. 반면 IoT 센서 노드처럼 저전력 중심 설계에서는 내부 RC 오실레이터만으로 구동하고 PLL을 끄는 방식으로 소비전력을 약 20~30% 절감하기도 합니다.
따라서 요약하면, PLL과 Xtal은 동시에 쓰이는 경우가 많지만, 서로 대체 가능한 관계는 아니며, 회로의 목적과 정확도, 전력 요건에 따라 선택적으로 사용됩니다.