8bit/16bit timer

김준혁·7일 전

🚀 AVR 타이머/카운터 모드 총정리 (8비트 vs 16비트)

디지털 시스템 설계나 마이크로컨트롤러(MCU) 공부 시 핵심인 타이머/카운터의 주요 동작 모드를 정리했습니다.


1. 8비트 타이머/카운터 (Timer 0, 2)

8비트 타이머는 구조가 단순하여 빠르고 반복적인 작업에 유리합니다. (0~255 카운트)

모드명동작 특징주요 용도
Normal (일반)0에서 255(MAX)까지 증가 후 오버플로 발생 시 다시 0부터 시작.단순 시간 지연, 이벤트 카운팅
CTC (Clear Timer on Compare)0에서 사용자가 설정한 OCRn 값까지 증가 후 즉시 0으로 초기화.정확한 주파수 생성, 사각파 출력, 부저 음계 생성
Fast PWM (고속 PWM)0~255까지 단방향 카운팅. OCRn과 비교하여 핀 출력 상태 변화.LED 밝기 제어, DC 모터 속도 제어 (고속 응답)
Phase Correct PWM0~255까지 올라갔다 다시 0으로 내려오는 양방향 카운팅.정밀 모터 제어, 전력 변환 (상보적 대칭 파형)

2. 16비트 타이머/카운터 (Timer 1, 3)

16비트는 카운트 범위가 넓고(0~65535), 정밀도가 매우 높습니다.

  • Normal / CTC 모드: 8비트와 원리는 같으나 훨씬 긴 시간을 잴 수 있습니다.
  • Fast PWM 모드: ICR1 레지스터를 TOP(천장)으로 설정 가능하여, 주기를 자유롭게 조절하면서 여러 개의 PWM 채널을 독립적으로 사용하기 좋습니다.
  • Input Capture (입력 캡처): 외부 신호가 들어온 '정확한 시점'을 기록하는 16비트만의 특수 기능입니다. (초음파 센서, RPM 측정 등에 필수)

3. 핵심 개념 비교 (8-bit vs 16-bit)

구분8-bit Timer16-bit Timer
카운트 범위02550 \sim 255065,5350 \sim 65,535
분해능(Resolution)보통 (거친 제어)매우 높음 (섬세한 제어)
주요 활용단순 주기 인터럽트, 비동기 모드(ASSR)서보 모터 제어, 정밀 시간 측정

💡 보너스: 꼭 알아야 할 관련 용어

  • ASSR (Asynchronous Status Register): 내부 클록 대신 외부 32.768kHz 크리스탈을 써서 정확한 RTC(실시간 시계)를 구현할 때 설정하는 레지스터입니다.
  • Glitch (글리치): 신호 전달 경로의 시간 차로 인해 발생하는 의도치 않은 아주 짧은 노이즈 신호입니다.
  • Timing Jitter (타이밍 지터): 신호의 타이밍이 원래 위치에서 미세하게 흔들리는 현상으로, 데이터 에러의 원인이 됩니다.

profile
임베디드

0개의 댓글