본문 바로가기
학부 자료/DSP(MCU)

[PWM] Pulse Width Modulation Organizing Concepts, 펄스 폭 변조, 개념 정리

by jackMK 2024. 9. 10.

이번 포스팅에서는 PWM에 대해 다뤄보겠습니다.

 

개념 위주의 내용으로 작성되며,

다음 포스팅에서 간단한 PWM 신호 생성에 관련된 내용을 다루겠습니다.

 

PWM_개념정리.pptx
2.53MB

 

PWM(Pulse Width Modulation)

펄스 폭 변조는 디지털 소스를 사용하여 아날로그 신호를 생성하는 데 사용되는 기술입니다. 펄스열의 펄스 폭을 변경하여 장치에 공급되는 전력을 제어합니다. 부하에 공급되는 전압(및 전류)의 평균값은 공급과 부하 사이의 스위치를 빠른 속도로 켜고 끄는 방식으로 제어됩니다. 스위치가 꺼진 상태에 비해 켜져 있는 시간이 길어질수록 부하에 공급되는 총 전력은 더 높아집니다.

 

*ePWM : 향상된 펄스 폭 변조는 일반적으로 PWM의 고급 버전을 나타냅니다. 여기에는 더 나은 제어 및 효율성을 위한 추가 기능이 포함되어 있습니다. 여기에는 향상된 분해능, 더 높은 정확도, 보다 유연한 제어 옵션(예: 위상 변이 기능) 및 특정 애플리케이션에 특정한 추가 기능(예: 모터 제어)이 포함될 수 있습니다.

 

제가 사용하고 있는 Ti 사의 TMS320F MCU의 PWM Sub-Module에는 크게 8가지가 있습니다.

 

1. Time-Base(TB) : PWM의 기본 주기 설정하고 동작

  • SYSCLK을 기반으로 TBCLK를 만든다.
  • TBCTR로 주기와 주파수를 형성한다.
  • TBCTR로 세가지 모드 설정 가능
    > Count Up : 비대칭형 PWM
    > Count Down : 비대칭형 PWM
    > Count Up-Down : 대칭형 PWM
  • 다른 PWM 모듈과 관련하여 TB 위상 형성
  • H/W, S/W를 통해서 모듈 간 TBCTR Synchronization
  • 동기 이벤트 후에 TBCTR 방향 형성 가능
  • 디바이스가 에뮬레이터에 의해 정지되었을 때 TB가 어떻게 동작할지 결정
  • PWM 모듈의 동기 출력에 대한 소스
    > 동기화된 입력신호
    > TBCTR = 0
    > TBCTR = CMPB
    > 동기된 신호에 출력 없음


2. Count Compare(CC) : Duty-Ratio 조정

  • EPWMxA와 EPWMxB 출력의 PWM Duty Cycle을 명시
  • EPWMxA와 EPWMxB 출력의 이벤트 발생에 대한 시간 명시

 

3. Action Qualifier(AQ) : TB or CC에서 이벤트에 따른 동작 설정

  • TB, CC 서브모듈에서 이벤트가 발생되었을 때의 동작에 대해 명시
    > Noting
    > EPWMxA와 EPWMxB가 High 출력으로 바뀜
    > EPWMxA와 EPWMxB가 Low 출력으로 바뀜
    > EPWMxA와 EPWMxB가 Toggle됨
  • 프로그램을 통해서 강제로 PWM의 출력상태를 결정
  • 프로그램을 통해서 PWM DB를 형성하거나 제어


4. Dead-Band Generator(DB) : 구형파의 edge에 대한 delay 조작

  • Rising Edge와 Falling Edge에서의 DB Control
  • Rising-Edge에서 Delay Time 명시
  • Falling-Edge에서 Delay Time 명시
  • DB 사용하지 않음 → 아무런 변형없이 PWM 파형 통과
  • Half-Cycle Clock을 이용하여 두배의 분해능 사용


5. PWM Chopper(PC) : PWM을 더 잘게 쪼개는(나누는), PWM in PWM

  • 잘게 나누어진 주파수 생성
  • 잘려진 펄스의 첫번째 펄스 폭을 설정
  • 두번째 및 그 이후 펄스의 듀티폭 설정
  • PC 사용하지 않음 → 아무런 변형없이 PWM 파형 통과


6. Trip Zone(TZ) : PWM을 체크

  • TZ Signal 또는 DC Signal에 의해 한번 혹은 계속 ePWM 모듈의 재동작을 결정
  • 잘못된 신호가 발생했을 때 아래와 같은 트립 동작을 함
    > 강제로 EPWMxA와 EPWMxB에 High 출력을 내보냄.
    > 강제로 EPWMxA와 EPWMxB에 Low 출력을 내보냄.
    > 강제로 EPWMxA와 EPWMxB에 High 임피던스 상태로 만듦.
    > 어떠한 트립 상태에 대해서도 EPWMxA와 EPWMxB의 출력이 무시됨.


7. Event Trigger(ET) : 이벤트 발생

  • ET가 발생했을 때 ePWM 이벤트를 설정함.
  • ePWM 이벤트로 ADC SOC 이벤트를 설정.
  • 트리거의 이벤트 비를 형성.
  • Poll, set, clear 이벤트 플래그가 있음


8. Digital Compare(DC)

  • CC 모듈의 출력과 TZ Signal에 대해 이벤트를 만들거나 필터된 이벤트 설정
  • Capture TBCTR 또는 Blanking Window에 따라 이벤트 필터링 옵션을 설정

 

ePWM Block Diagram

 

ePWM Sub-module


loading