Fast PWM 2

[마이크로프로세서] 타이머/카운터 및 예제(2)

실습(2) CTC 모드, 고속 PWM 모드를 활용한 FND와 LED 제어 지난 시간엔 오버플로를 이용하여 FND에 디스플레이를 출력하는 실습을 진행하였다. 이번 시간엔 CTC 모드와 고속 PWM 모드를 활용한 예제를 다뤄보도록 하자. CTC 모드를 활용한 FND 동적 구동 지난 시간에 오버플로 인터럽트를 이용하여 FND에 디스플레이를 출력했던 부분을 CTC 모드로 작동해 보자. 이때 1ms를 계산하기 위해 다음과 같은 수식을 이용하였다. 여기서 분자는 1ms를 계산하기 위한 시스템의 클럭 주기 (1ms/256), 분모는 ATmega128의 시스템 클럭 주기를 의미한다. 따라서 분주비를 64로 설정하였고, 이때 클럭 주기가 4us이므로 오버플로우 주기 1ms와 나눠주면 250개를 계수해야 한다는 식이 나온..

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

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