ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • PLL (Phase Locked Loop) 위상 고정 루프
    Hardware/전력전자 2024. 8. 21. 13:45
    728x90
    PLL (Phase Locked Loop)

     MCU에서 CLK을 일정한 주파수로 발생시켜주는 회로. 말 그대로 위상(Phase)를 고정(Lock)하는 회로(Loop)이다. 위상을 고정하는 이유는 주파수의 동기(Synchronization)에 가장 큰 의미가 있다. 

     

    PLL의 원리

     디지털에서 들어오는 신호가 0인지 1인지 명확한 구분을 위해서는 정확한 Range(시작점과 끝점)이 필요하다. 클럭의 시작점과 끝점의 값이 정확하게 맞아야 한다는 것이다. 하지만 신호 전송의 특성 상 딜레이가 발생할 수 밖에 없고, 딜레이가 발생하면 클럭의 시작점과 끝점이 뒤로 밀려서 시작점과 끝점에 예상하지 못한 값이 읽히는 불상사가 발생할 수 있다. 

     이 때 시작점과 끝점의 위상(딜레이)을 정확하게 맞춰주는 동기(synchronization)회로가 PLL이다.  PLL은 디지털회로에서 매우 중요한 개념이지만, 아날로그에서도 RF 회로 등 회로 전반에서 매우 중요한 역할을 담당하며 폭 넓게 사용되고 있다.

     

     

    PLL 작동 원리

    PLL 회로의 원리는 다음과 같다. 가장 먼저 알아야할 것은 VCO(Voltage Controlled Osillator)의 역할이다. VCO는 입력된 전압에 따라 출력 주파수가 바뀌는 특징을 지닌 발진기이다. 즉, 출력 주파수가 원하는 수치로 일정하려면 이 VCO 전압량을 잘 조절해서 일정한 수치로 출력되게끔 하면 되는 것이다. 출력 주파수가 원하는 것보다 낮다 싶으면 VCO 입력 전압을 올리고, 출력 주파수가 원하는 것보다 높다 싶으면 VCO 입력전압을 낮추어서 주파수를 낮게끔 만드는 것이다.

     

     

    VCO의 입력전압 대비 출력 주파수 그래프

    그렇다면 어떻게 VCO 입력 전압을 조절할 것인가?? 방법은 바로 Feedback(되먹임) 회로와 Phase detector에 있다. Feedback회로는 출력된 주파수를 다시 입력단에 보내 주파수가 원하는 값으로 출력되고 있는 지 확인하기 위해 마련된 장치이다. Phase detector에서는 이렇게 Feedback된 출력 주파수를 MCU 내부 수정진동자를 통해 발진된 주파수와 비교하는 작업을 한다. 수정진동자는 아주 정교한 주파수를 스스로 낼 수 있기 때문에 내가 피드백 받은 주파수가 오류가 있는 지 없는 지 확인하기에 용이하다. 하지만 두 파형을 비교하기 위해서는 주파수가 일치해야 하는데, 수정진동자의 가장 큰 문제점은 우리가 출력으로 원하는 만큼의 고주파를 발진하기 어렵다는 점이다.  

     그렇다면 내가 원하는 주파수가 수정진동자의 발진 주파수보다 월등히 높을 경우 어떤 식으로 주파수를 비교할 수 있을까? 

     이 때 사용되는 회로가 바로 N Divider다. N Divider는 출력된 주파수가 다시 입력으로 피드백 되기 전에 수정진동자의 주파수와 일치하도록 N값으로 나눠주는 회로인 것이다. 출력된 주파수가 수정진동자에 비해 월등하게 크기 때문이다. 위의 블럭 그럼의 예시 처럼 만약 내가 목표하는 주파수가 10MHz인데 수정진동자가 발진 할 수 있는 주파수가 1MHz라면, Divide회로에서 N = 10만큼의 값으로 주파수를 나눠서 1MHz의 신호를 Phase Detector에 보내는 것이다. 이렇게 되면 두 파형의 주파수가 같기 때문에 일그러짐이나 딜레이가 있는지 판별할 수 있을 것이다. Phase Detector에서는 다시 여러 과정을 거쳐 두 주파수의 차이만큼 VCO 입력전압을 조절하고, Low-pass filter를 거쳐 노이즈를 제거시킨 뒤 VCO 입력으로 보낸다. 이 일련의 시스템 전체를 PLL(Phase Lock Loop)라고 부르는 것이다.

     

     

     

    TSM320F28377D에서의 PLL

     전력전자에서 주로 사용하려는 MCU칩셋인 28377D의 데이터시트를 통해 PLL이 MCU에서 어떻게 구성되어 있는지 알아보자. 28377D는 2024년 현재 비교적 하이레벨의 칩셋이기 때문에 다른 칩셋들에 비해 성능이 좋은 편임을 인지하자.

    28377D의 PLL 블럭 다이어그램

     28377D MCU는 내부에 수정진동자가 장착되어 있어 기준 주파수를 스스로 출력해낼 수 있다. System PLL에서는 피드백 받은 주파수를 비교하는 역할을 하고 Divider에서는 출력 주파수를 수정 진동자에 맞게 나누는 역할을 한다. 이 때 중요한 점은 MCU마다 내부에서 설정할 수 있는 N값이 정해져 있다는 점이다. 이 말은 즉 MCU들은 출력할 수 있는 주파수의 값들이 정해져 있다는 의미이다. 당연히 한계치도 존재하며 28377D의 경우에는 최대 200MHz의 주파수를 발진 시킬 수 있다.

    28377D의 주파수 도표. 최대 200MHZ를 발진 시킬 수 있다는 것을 확인할 수 있다.

     

     

    결론

    PLL은 CCS프로그램을 다루다보면 가장 먼저 메인문에서 초기화 작업을 진행하는 코드 중 하나이다. PLL의 원리와 특성을 이해하고 있다면 PLL의 초기화 과정에서 생기는 여러 값들의 의미를 알고 시스템 내부의 클럭이 어떻게 돌아가는 지 이해하는 데 도움이 많이 될 것이다. 반대로 PLL을 모르면 시스템 내부의 클럭을 사용할 때 많은 제약이 따를 수 밖에 없다.

     

     

     

     

     

    728x90