본문 바로가기

하드웨어, 펌웨어/AVR

[Atmega128] 타이머/카운터란?

 

 

 

 

 

타이머/카운터란?

 

Atmega128에는 8비트 타이머, 16비트 타이머가 있는데요,

8비트에는 Timer/Counter 0, Timer/Counter 2

16비트에는 Timer/Counter 1, Timer/Counter 3

이렇게 총 4개의 Timer/Counter가 Atmega128 안에 내장되어 있어요!

 

 

 

 

 

 

 

 

 

Timer/Counter 0, Timer/Counter 2

 

8비트 타이머이기 때문에 기본적으로

타이머를 센 갯수가 2의 8승이 될 때 인터럽트가 발생해요.

(256개)

 

내부 인터럽트이기 때문에 클럭이 꼭 필요하고,

이 클럭을 넣어주는 핀이 각각 TOSC1(Timer/Counter 0)과 T2(Timer/Counter 2)에요.

 

Timer/Counter 0 분주기는

카운터 0, 1, 2, 3중 가장 많은 분주기를 지원해요!

1, 8, 32, 64, 128, 256, 1024분주를 지원한답니다.

최대값이 1024이므로 2의 10승이라 하여, 10비트 분주기를 지원한다고 할 수 있어요.

 

반면에, Timer/Counter 2 분주기는

1, 6, 64, 256, 1024분주를 지원해요.(Timer/Counter 1과 3도 같습니다)

 

Timer/Counter 0과 2는 Overflow, Output Compare Match를 지원해요.

 

동작모드는

Normal, CTC, Fast PWM, Phase Correct Match가 있습니다.

 

 

 

 

 

 

 

 

 

Timer/Counter 1, Timer/Counter 3

 

16비트 타이머이기 때문에 기본적으로

타이머를 센 갯수가 2의 16승이 될 때 인터럽트가 발생해요.

(65536개)

 

내부 인터럽트이기 때문에 클럭이 꼭 필요하고,

이 클럭을 넣어주는 핀이 각각 T1, IC1과 T3, IC3이에요.

 

Timer/Counter 1과 3의 분주기는

Timer/Counter 2와 같이 1, 6, 64, 256, 1024분주를 지원해요.

 

Timer/Counter 1과 3은 Overflow, Output Compare Match A/B/C 뿐만 아니라

Input Capture 인터럽트를 지원해요.

 

동작모드는

Normal, CTC, Fast PWM, Phase Correct PWM,

Phase and Frequency Correct PWM이 있습니다.