ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (28377D) EPWM CMP 레지스터
    Hardware/전력전자 2025. 1. 17. 17:12
    728x90

     

    개요

     EPWM (Enhanced Pulse Width Modulation) 모듈에서 CMP 레지스터는 주파수 조정 및 듀티 사이클 제어에 중요한 역할을 합니다. CMP는 Comparator Register의 약자로, PWM 신호를 생성하는 데 필요한 비교 값을 설정하는 레지스터입니다.

     

     

    EPWM에서 CMP 레지스터의 역할

    EPWM은 PWM 신호의 주파수 및 듀티 사이클을 제어하는 중요한 하드웨어 모듈입니다. CMP 레지스터는 주로 PWM 신호의 듀티 사이클을 설정하는 데 사용됩니다.

     

     

    1. CMPA (Comparator A)와 CMPB (Comparator B)

    EPWM 모듈은 CMPA와 CMPB라는 두 개의 주요 CMP 레지스터를 사용할 수 있습니다. 이들은 각각 PWM 신호의 듀티 사이클을 설정하는 기준 값을 제공합니다.

    • CMPA: PWM 신호의 상승 에지(PWM 신호가 0에서 1로 변하는 지점)를 결정하는 값입니다.
    • CMPB: PWM 신호의 하강 에지(PWM 신호가 1에서 0으로 변하는 지점)를 결정하는 값입니다.

     

    2. CMP 레지스터가 PWM 신호에 미치는 영향

    PWM 신호는 주기적으로 신호가 HIGH와 LOW를 반복합니다. CMP 레지스터의 값은 이 주기 내에서 HIGH 상태와 LOW 상태의 지속 시간을 결정합니다.

    • CMPA 레지스터에 설정된 값은 PWM 카운터와 비교되어, 카운터 값이 CMPA 값에 도달하면 PWM 신호를 HIGH 상태로 유지합니다.
    • 카운터 값이 CMPB 값에 도달하면, PWM 신호는 LOW 상태로 전환됩니다.

    따라서 CMP 레지스터를 통해 PWM 신호의 듀티 사이클을 조정할 수 있습니다. 듀티 사이클은 HIGH 상태의 지속 시간이 전체 주기에서 차지하는 비율을 의미하며, 이를 통해 출력 신호의 평균 전압을 조절할 수 있습니다.

     

    3. PWM 주기와 CMP 레지스터
    • PWM 주기는 EPWM 모듈의 주 카운터 값에 의해 결정됩니다. 이 주 카운터 값은 주기적으로 증가하며, CMP 레지스터의 값과 비교되어 신호의 에지를 결정합니다.
    • 예를 들어, 카운터 값이 0에서 시작하여 CMPA 값에 도달하면, 해당 PWM 신호는 HIGH 상태로 변합니다. 그리고 CMPB 값에 도달하면, 신호는 LOW 상태로 변합니다. 이 값을 조정하여 PWM의 주기와 듀티 사이클을 설정합니다.

     

    4. 듀티 사이클 계산

    듀티 사이클은 CMPA와 CMPB 레지스터의 값을 바탕으로 계산됩니다. 예를 들어, CMPA 값이 0에서 500 사이에 설정되어 있고, CMPB 값이 1000이면:

    • PWM 신호는 0에서 500까지는 HIGH 상태로 유지되고, 500에서 1000까지는 LOW 상태로 유지됩니다.
    • 이때 듀티 사이클은 **CMPA 값 (500)**을 **전체 주기 (1000)**에 대해 계산하여 **50%**로 설정됩니다.

     

    결론

    CMP 레지스터는 EPWM 모듈에서 PWM 신호의 듀티 사이클을 제어하는 데 사용됩니다. CMPA와 CMPB 레지스터는 PWM 신호의 상승 및 하강 에지를 결정하며, 이를 통해 PWM의 주기, 듀티 사이클 등을 조정할 수 있습니다. CMP 레지스터를 통해 PWM 출력 신호의 특성을 세밀하게 제어할 수 있으며, 이 기능은 주로 모터 제어, 전력 전자 장치, 신호 처리 등에 사용됩니다.

     

     

     

     

     

     

    그럼 pi제어 처럼 듀티를 계속 계속 피드백 받아 바꿔줘야할 때는
    cmp 레지스터를 건드리는건가?


     맞습니다, PI 제어기(Proportional-Integral Controller)로 듀티 사이클을 실시간으로 피드백 받아 계속 변경해야 할 때, CMP 레지스터를 조정하여 EPWM 모듈의 듀티 사이클을 제어합니다. 즉, PI 제어기에서 계산된 제어 신호를 이용해 CMPA 또는 CMPB 레지스터 값을 지속적으로 업데이트하여 PWM 신호의 듀티 사이클을 조정하는 방식입니다.

     

     

    PI 제어기를 이용한 듀티 사이클 변경 과정

    1. PI 제어기 구성
    • PI 제어기는 오차(목표 값과 실제 값의 차이)를 계산하고, 이 오차를 기반으로 비례(P)와 적분(I) 제어를 통해 제어 신호를 생성합니다.
    • 이 제어 신호는 PWM 듀티 사이클을 수정하는 데 사용되며, CMP 레지스터에 전달되어 PWM 신호의 출력 듀티 사이클을 조정합니다.

     

    2. PI 제어기 계산
    • PI 제어기에서 계산된 제어 신호는 일반적으로 0에서 PWM 주기 사이의 값으로 변환됩니다.
    • 제어 신호가 예를 들어 0~1000 범위라면, 이 값을 CMP 레지스터 값에 적용하여 PWM 듀티 사이클을 설정합니다.

     

    3. CMP 레지스터 조정
    • PI 제어기에서 나온 제어 신호를 CMPA (또는 CMPB) 레지스터에 반영하여 PWM 신호의 듀티 사이클을 변경합니다.
      • 예를 들어, PI 제어기의 출력이 500이라면, CMPA 레지스터의 값을 500으로 설정하여 PWM 신호의 HIGH 시간을 **50%**로 설정할 수 있습니다.
      • 이 값은 PI 제어기의 피드백에 따라 계속해서 업데이트됩니다.

     

    4. 실시간 듀티 사이클 조정
    • PI 제어기는 시스템의 변화나 오차에 따라 CMP 레지스터의 값을 지속적으로 조정하여 PWM 신호의 듀티 사이클을 실시간으로 변경합니다.
    • 예를 들어, 로드 변화, 속도 변화, 온도 변화 등이 발생하면, PI 제어기는 이를 감지하여 CMP 레지스터 값을 조정하고, 그에 따라 출력되는 PWM 신호의 듀티 사이클이 자동으로 변경됩니다.

     

    예시: PI 제어기를 이용한 PWM 듀티 사이클 조정
    1. 목표 출력 신호와 실제 출력 신호의 오차를 측정합니다.
    2. PI 제어기를 통해 오차를 수정하기 위한 제어 신호를 계산합니다.
    3. 계산된 제어 신호는 CMP 레지스터에 반영되어 PWM 신호의 듀티 사이클을 변경합니다.
      • 예를 들어, 제어 신호가 300이라면, CMPA 레지스터를 300으로 설정하여 PWM 신호가 30% 듀티 사이클로 동작하도록 합니다.
    4. 실시간으로 오차가 감소하면, 제어 신호가 조정되며 CMP 레지스터 값이 변경되어 듀티 사이클도 계속 최적화됩니다.

     

    결론

     PI 제어기를 사용하여 듀티 사이클을 지속적으로 조정하려면, CMP 레지스터를 업데이트하는 방식이 필요합니다. PI 제어기에서 계산된 제어 신호를 기반으로 CMPA나 CMPB 레지스터의 값을 변경하여 PWM 신호의 듀티 사이클을 실시간으로 피드백하며 조정하게 됩니다. 이 방식은 모터 제어, 전력 제어 시스템 등에서 정밀한 듀티 사이클 제어가 필요한 경우에 사용됩니다.

     

     

    728x90