1212주차주차 …contents.kocw.net/kocw/document/2015/shinhan/leesangrok/12.pdf ·...
TRANSCRIPT
1212주차주차타이머타이머//카운터카운터 개념개념 및및 AVRAVR의의 타이머타이머//카운터카운터 구조구조
Next-Generation Networks Lab.
주요주요 내용내용
핵심 주제타이머/카운터의 기능 및 종류
타이머/카운터 블록도 및 핀 기능
타이머/카운터의 출력모드
타이머/카운터 관련 레지스터
응용 사례응용 사례원하는 주파수 발생 시계(delay함수 ??), 멜로디 발생기 CTC 모드
PWM 신호 발생 모터 속도 조절 LED 밝기 조절 Fast PWM 모드 PWM 신호 발생 모터 속도 조절, LED 밝기 조절 Fast PWM 모드
56
74LS93 (74LS90)74LS93 (74LS90)Q0 (LSB)
Q1
Q2 (MSB)
플래그 (Flag)
57
((예예) 8) 8진진 UP UP 카운터의카운터의 타이밍도타이밍도
ClockClock
Q0 (LSB)
Q1
Q2 (MSB)
플래그 (Flag)
58
1. 1. 타이머타이머 개요개요
그림 8-1
그림 8-2
59
타이머와 카운터의 분류
• Timer/Counter는 입력되는 파형의 변화를 감지하는 것Timer/Counter는 입력되는 파형의 변화를 감지하는 것
• 입력파형의 어디에서 오느냐에 따라 Timer와 Counter로 나뉨
타이머는 시스템 클럭의 변화를 감지타이머는 시스템 클럭의 변화를 감지
카운터는 외부 입력의 변화를 감지
그림 8-3
60
타이머 오버플로우(Overflow) Count가 (MAX+1)에서 발생
MAX 값은 ?MAX 값은 ?그림 8-4
61
2. ATmega128의 타이머/카운터
비트 수에 따른 ATmega128의 타이머/카운터 분류 그림 8-5
MAX = 0xFF
MAX = 0xFFFF
타이머타이머//카운터카운터 00
타이머/카운터 0 개요
번호 항 목 지원
표 8-1
번호 항 목 지원1 카운터 비트 수 8 bit2 PWM 출력 포트 1 EA
3 입력클럭 내부 시스템클럭(clkCPU) 지원 ○
외부 입력 카운터(clkI/O) 지원 Χ
Normal ○
지원모드
Normal ○
4 CTC ○
Fast PWM ○모
Phase Correct PWM ○
Phase & Freq Correct PWM Χ
OVF (Overflow) ○( ) ○
5 인터럽트 OCM (Output Compare Match) ○
ICF (Input Capture) Χ
기타 비동기 동작 모드 지원
63
6 기타 비동기 동작 모드 지원
관련 핀
64
Block diagram of Timer/Counter #0 Block diagram of Timer/Counter #0 ((그림그림 88--13)13)
65
타이머/카운터 0 관련 레지스터
번호 레지스터 명 기 능
표 8-2
1 TCCR0 동작 모드(Normal, CTC, ..) 및 분주비(1, 8, ..)를 설정하는 레지스터
2 TCNT0 카운터 값을 저장하고 있는 레지스터카운터 값을 저장하 있는 레지 터
3 OCR0 TCNT0과 비교하기 위한 카운터값이 저장되어 있는 레지스터
4 ASSR 타이머/카운터0 외부 비동기 입력 유무 설정 관련 레지스터4 ASSR 타이머/카운터0 외부 비동기 입력 유무 설정 관련 레지스터
번호 Interrupt Type Interrupt Vector Name번호 Interrupt Type Interrupt Vector Name
1 OCF0 (Output Compare Flag 0) TIMER0_COMP_vect
2 TOV0 (Ti O fl 0) TIMER0 OVF2 TOV0 (Timer Overflow 0) TIMER0_OVF_vect
66
Block diagram of Timer/Counter #0 Block diagram of Timer/Counter #0 ((그림그림 88--13)13)
카운터부
클럭선택부
출력비교부 비교일치 출력부
비동기클럭 처리부
67
비동기클럭 처리부
(타이머#0)
Terminology Terminology ((표표 88--20)20)
Terminology Description
BOTTOM The co nter reaches the BOTTOM hen it becomes eroBOTTOM The counter reaches the BOTTOM when it becomes zero
(0x00).
MAX The counter reaches its MAXimum when it becomes 0xFF
(decimal 255).
TOP The counter reaches the TOP when it becomes equal to
the highest value in the count sequence The TOP valuethe highest value in the count sequence. The TOP value
can be assigned to be the fixed value 0xFF (MAX) or the
value stored in the OCR0 Register The assignment isvalue stored in the OCR0 Register. The assignment is
dependent on the mode of operation.
68
카운터카운터 부부 Counter UnitCounter Unit ((그림그림 88--14)14)
CS[2..0] TCCR
AS0ASSR
69
출력비교부출력비교부 Output Compare Unit Output Compare Unit ((그림그림 88--15)15)
WDM[1 0] COM[1 0]
70
WDM[1..0], COM[1..0] TCCR
비교일치비교일치 출력부출력부 Compare Match Output Unit Compare Match Output Unit ((그림그림 88--16)16)
COM[1..0], FOC0 TCCR
(0, 0) TCCR PB4
(OC0)
71
Timing Diagram of CTC ModeTiming Diagram of CTC Mode Clear Timer on Compare Match
OCR
(0, 1)
OCn 핀 출력신호의 주파수
N : Prescaler 분주비2: Toggle
72
2: Toggle
Timing Diagram of fast PWM Mode Timing Diagram of fast PWM Mode ((그림그림 88--27)27)
73
Timing Diagram of PCTiming Diagram of PC--PWM Mode PWM Mode ((그림그림 88--28)28)
74
Example of Timing Diagram (TOV) Example of Timing Diagram (TOV) ((그림그림 88--29, 829, 8--30)30)
Prescaler 1/8
75
Example of Timing Diagram (OCF)Example of Timing Diagram (OCF)
CTC mode
76