본문 바로가기
공부,일/atmega328P

atmega 328p PWM & timer counter (1) 분주비 , 타이머 vs 카운터

by fromnothing1 2021. 7. 27.

1. 분주비란 (프리스케일)  

 

모든 cpu 는 클럭을 가진다. 

 

만약 이 클럭을 기준으로 타이머/카운터를 사용하게 된다면 cpu는 너무 많은 일을 하게 된다.

때문에 타이머/ 카운터의 경우 이 클럭수를 특정한 단위로 묶어서 관리한다 이 묶음 수를 분주비 (프리스케일) 이라고 한다. 

 

아두이노 우노의 경우 16Mhz 의 크리스탈을 사용하기 때문에 8 bit 카운터를 사용할 경우 

1 클럭은 1 / 16 Mhz = 0.0625 us 이고

8bit 카운터가 가득 차는 시간은 255*0.0625 = 16us 이다. 

즉 1 / 16us = 62500  즉 1초에 62500 번 overflow 인터럽트가 발생한다 이는 cpu 에게 너무 큰 부담을 주기 때문에 보통 분주비를 이용해서 클럭수를 조절해 준다. 

 

출처:

https://rootfriend.tistory.com/entry/%ED%94%84%EB%A6%AC%EC%8A%A4%EC%BC%80%EC%9D%BC-%EC%9D%B4%EB%9E%80

2 . 타이머 vs 카운터

 

타이머 : 클럭 소스가 마이크로 컨트롤러의 크리스탈에 의존 한다. 

카운터 : 마이크로 컨트롤러의 외부핀 ( 카운터 전용핀 ) 에 들어오는 펄스를 클럭으로 사용한다면 카운터가 된다. 

출처:

https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=6k5tvb&logNo=120056180546

댓글