fast PWM과 위상교정 PWM의 해상도 차이

2019. 6. 7. 17:12임베디드/ATmega128

"위상 교정 PWM 모드는 해상도가 높은 PWM 파형을 생성하기 위해 사용한다"

이 말에 대해서 곰곰히 생각해 볼 필요가 있다. 자연의 특성상 해상도를 높이려면 반드시 무언가는 떨어져야 할 trade-off 특성을 생각해야만 한다. 그것은 주파수다. 주파수를 느리게 가져가되 해상도를 크게 가져가는 것이다. 만일 fast PWM 주파수로만 PWM을 구현할 수 있다면, 그 소자는 위상교정 PWM으로는 절대로 구현할 수 없게 된다 (동일한 클럭과 분주인 경우)

 

주파수에 크게 의존적인 시스템이라면 그만큼 주파수에 민감하다는 의미와 같다. 따라서 이러한 시스템에서는 해상도 높이면서 주파수를 감소하는 제어는 의미가 없을 것이다. 만일 단순한 LED 밝기를 조절하고 싶고, 높은 해상도를 사용하고 싶다고 예를 들어보자. 그러면 LED 특성상 일정 주파수 이상에서는 잔상 효과로 인해 큰 차이를 불러일으키지 못하므로 이때는 사용해도 무방하다

 

즉 정리하면

16MHz 동일 클럭에, Fast PWM 분주비가 128인(주기가 128/16M)에서 OCR = 128
16MHz 동일 클럭에, 위상교정 PWM 분주비가 64인(주기가 64/16M)에서 OCR = 128
실제 위상교정은 주기를 2배를 가져가므로 둘의 성능은 같다고 표현할 수 있다. 결국 주기만 차이가 나고 실제로 성능은 같음을 의미한다

 

해상도 이외에서 차이점은, 위상교정은 말에서 유추할 수 있듯 파형이 중심이 일치하도록 정렬이 되어 있다. BOTTOM 값이 OCR일 때 fast PWM은 완전히 정지하지 못하고 스파이크를 발생하는 반면, 위상교정은 완전히 정지시킬 수 있다. 하지만 보통 정지는 모터드라이버에 있는 enable 신호 혹은 분주를 0으로 줌으로써 정확히 정지시킬 수 있으므로 fast PWM에서 크게 문제가 되는 사안은 아니다