1212주차주차 …contents.kocw.net/kocw/document/2015/shinhan/leesangrok/12.pdf ·...

22
12 12주차 주차 타이머 타이머/카운터 카운터 개념 개념 및 AVR AVR의 타이머 타이머/카운터 카운터 구조 구조 Next-Generation Networks Lab.

Upload: others

Post on 25-Oct-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

1212주차주차타이머타이머//카운터카운터 개념개념 및및 AVRAVR의의 타이머타이머//카운터카운터 구조구조

Next-Generation Networks Lab.

Page 2: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

주요주요 내용내용

핵심 주제타이머/카운터의 기능 및 종류

타이머/카운터 블록도 및 핀 기능

타이머/카운터의 출력모드

타이머/카운터 관련 레지스터

응용 사례응용 사례원하는 주파수 발생 시계(delay함수 ??), 멜로디 발생기 CTC 모드

PWM 신호 발생 모터 속도 조절 LED 밝기 조절 Fast PWM 모드 PWM 신호 발생 모터 속도 조절, LED 밝기 조절 Fast PWM 모드

56

Page 3: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

74LS93 (74LS90)74LS93 (74LS90)Q0 (LSB)

Q1

Q2 (MSB)

플래그 (Flag)

57

Page 4: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

((예예) 8) 8진진 UP UP 카운터의카운터의 타이밍도타이밍도

ClockClock

Q0 (LSB)

Q1

Q2 (MSB)

플래그 (Flag)

58

Page 5: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

1. 1. 타이머타이머 개요개요

그림 8-1

그림 8-2

59

Page 6: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

타이머와 카운터의 분류

• Timer/Counter는 입력되는 파형의 변화를 감지하는 것Timer/Counter는 입력되는 파형의 변화를 감지하는 것

• 입력파형의 어디에서 오느냐에 따라 Timer와 Counter로 나뉨

타이머는 시스템 클럭의 변화를 감지타이머는 시스템 클럭의 변화를 감지

카운터는 외부 입력의 변화를 감지

그림 8-3

60

Page 7: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

타이머 오버플로우(Overflow) Count가 (MAX+1)에서 발생

MAX 값은 ?MAX 값은 ?그림 8-4

61

Page 8: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

2. ATmega128의 타이머/카운터

비트 수에 따른 ATmega128의 타이머/카운터 분류 그림 8-5

MAX = 0xFF

MAX = 0xFFFF

Page 9: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

타이머타이머//카운터카운터 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 기타 비동기 동작 모드 지원

Page 10: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

관련 핀

64

Page 11: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

Block diagram of Timer/Counter #0 Block diagram of Timer/Counter #0 ((그림그림 88--13)13)

65

Page 12: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

타이머/카운터 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

Page 13: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

Block diagram of Timer/Counter #0 Block diagram of Timer/Counter #0 ((그림그림 88--13)13)

카운터부

클럭선택부

출력비교부 비교일치 출력부

비동기클럭 처리부

67

비동기클럭 처리부

(타이머#0)

Page 14: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

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

Page 15: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

카운터카운터 부부 Counter UnitCounter Unit ((그림그림 88--14)14)

CS[2..0] TCCR

AS0ASSR

69

Page 16: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

출력비교부출력비교부 Output Compare Unit Output Compare Unit ((그림그림 88--15)15)

WDM[1 0] COM[1 0]

70

WDM[1..0], COM[1..0] TCCR

Page 17: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

비교일치비교일치 출력부출력부 Compare Match Output Unit Compare Match Output Unit ((그림그림 88--16)16)

COM[1..0], FOC0 TCCR

(0, 0) TCCR PB4

(OC0)

71

Page 18: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

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

Page 19: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

Timing Diagram of fast PWM Mode Timing Diagram of fast PWM Mode ((그림그림 88--27)27)

73

Page 20: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

Timing Diagram of PCTiming Diagram of PC--PWM Mode PWM Mode ((그림그림 88--28)28)

74

Page 21: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

Example of Timing Diagram (TOV) Example of Timing Diagram (TOV) ((그림그림 88--29, 829, 8--30)30)

Prescaler 1/8

75

Page 22: 1212주차주차 …contents.kocw.net/KOCW/document/2015/shinhan/leesangrok/12.pdf · 타이머/카운터0 관련레지스터 번호 레지스터명 기능 표8-2 1 TCCR0 동작모드(Normal,

Example of Timing Diagram (OCF)Example of Timing Diagram (OCF)

CTC mode

76