CS/마이크로프로세서

[마이크로프로세서] 타이머/카운터 (3)

nowkoes 2023. 11. 27. 05:29

PWM(Pulse Width Modulation) 모드 (1) - Fast PWM

출처:  www.microchip.com

 

 PWM(펄스폭 변조) 모드펄스의 폭을 변경하여, 출력 전압을 조절하는 변경 방식이다. 즉, 신호의 듀티 사이클(Duty Cycle)(한 주기 내에 신호가 높은 상태로 있는 시간의 비율)을 변경하여 다양항 출력을 생성하는 방식이다. 쉽게 생각해서 디지털 신호를 아날로그 신호와 유사한 효과를 내게 한다는 것이다. 예를 들어, 5V와 0V로 구분된 디지털 출력을 ON/OFF 시간을 조절하면 0~5V까지의 아날로그 출력을 내는 것과 유사한 동작을 한다. 이를 CTC 모드로 제어하려면, 매번 OCRn 값을 바꿔야 한다는 번거로움이 있다는 점도 확인해 두자.

 

 

 Fast PWM 모드비대칭형 톱니파를 이용하여 타이머/카운터가 BOTTOM부터 시작하여 TOP까지 증가하는 방향으로만 계수한 후 0으로 리셋된다. 이때 출력 비교 레지스터 값과 같아지면, OCn 핀의 출력이 0(비반전 모드) 또는 1(반전 모드)로 설정된다. 반면 오버플로우가 발생하면 OCn 핀의 출력이 1(비반전 모드) 또는 0(반전 모드)으로 설정된다. 이때 0으로 리셋되는 과정이 매우 빠르게 일어나기 때문에 높은 주파수의 PWM 파형을 생성할 수 있다. 

 

 

1. TOP: 8비트 타이머/카운터이므로 0xFF까지 올라간다.

 

2. Update of OCR: 타이머/카운터가 주기의 시작 부분에서 안정적으로 값을 변경할 수 있도록, 출력 비교 레지스터의 변경 시점은 BOTTOM으로 리셋된 시점에서 시작한다. 이때 이중 버퍼링이 가능한데, 여기서 이중 버퍼링이란 레지스터의 값을 변경할 때 안정성과 일관성을 높이기 위해 사용되는 두 단계에 거쳐 업데이트되는 과정을 의미한다. 예를 들어, 위의 삼각파형 그래프에서 비교값이 일치하는 시점이 두 번 일어나는 곳이다.

 

3. TOV0 Flag: 타이머/카운터가 전체 범위를 완전히 카운트하고 난 이후인 MAX 시점에서 TOV0 플래그가 설정된다.

 

비반전 모드(좌), 반전 모드(우)

 

 이번에는 고속 PWM 모드에서 듀티비를 구해보자. 이는 한 주기 동안 신호가 높은 상태에 있는 비율을 구하는 것이므로 다음과 같이 수식을 정리할 수 있다.

 

비반전 모드에서의 듀티비
반전 모드에서의 듀티비

 

PWM(Pulse Width Modulation) 모드 (2) -  Phase Correct PWM 

출처:  www.microchip.com

 

 위상 추적 PWM 모드대칭형 삼각파를 이용하여 TCNTn의 값이 클럭의 입력에 따라 MAX까지 증가하고, BOTTOM까지 감소하는 방향으로 계수하는 방식을 의미한다. 이렇게 상승 및 하강 카운팅이 번갈아 일어나면서 PWM 파형이 생성된다. 상향 모드일 경우 OCRn 값과 같아지면 OCn 핀의 출력이 0(비반전 모드) 또는 1(반전 모드)로 설정되며, 하향 모드의 경우 OCRn 값과 같아지면 OCn 핀의 출력이 1(비반전 모드) 또는 0(반전 모드)으로 설정된다. 이때 0으로 리셋되는 과정이 대칭적이므로 대칭형 PWM 파형을 생성할 때 유용하다.

 

 

1. TOP: 8비트 타이머/카운터이므로 0xFF까지 올라간다.

 

2. Update of OCR0: 타이머/카운터가 0부터 TOP까지 상승한 다음 다시 0으로 하강하기 때문에, 방향이 바뀌는 시점에서 듀티 사이클의 변경이 적용되어야 다음 하강 주기 동안 일관된 듀티 사이클을 유지할 수 있다. 또한 TOP에서 OCRn 값을 업데이트함으로써, PWM 파형의 더욱 부드러운 전환 성능을 보여주고 연속적인 듀티 사이클을 유지해야 하므로 TOP에서 업데이트된다.

 

3. TOV0 Flag: 일반적인 주기의 끝이 BOTTOM이기 때문에 BOTTOM에서 오버플로우 인터럽트가 갱신된다.

 

 

 이번에는 위상 정정 PWM 모드에서 듀티비를 구해보자. 앞선 고속 PWM 모드에서 듀티비를 구했던 과정과 동일하다.

 

비반전 모드
반전 모드

 

반응형