[Atmega128] 10. Reset과 Watchdog 타이머

2019. 8. 6. 10:46개발 관련 학습정리/AVR(atmega128) Register 분석

반응형

 

이번엔 리셋조건과 워치독 타이머에 대하여 알아보자.

 

먼저 리셋조건에는 다섯가지가 있다.

 

 

 

 

RESET

 

1. 파워온 리셋 (POR)

파워온 리셋 동작 타이밍도

 

전원 투입후 자동으로 리셋이 되도록 하는 리셋으로,

Vpot 보다 공급전원이 작으면 시작되는데 공급전원이 투입되고 나서 바로 전압이 높아지지 않으므로

TOUT동안 카운터를 동작시켜 리셋을 유지한다.

 

 

 

 

 

 

 

2. 외부 리셋

외부리셋 동작 타이밍도

 

이 리셋은 RESET핀에 50ns동안 Vrst이하의 신호가 입력되면 리셋을 시작하고,

다시 올라가면 TOUT동안 부가적으로 리셋을 유지한다.

 

 

 

 

 

 

 

 

3. Brown-out 리셋

저전압 검출 리셋이라고도 부른다.

 

내부에 있는 저전압 검출회로BOD (Brown-Out Detector)가 공급전원이 2us 이상동안 Vbot이하로 떨어지면 발생한다

마찬가지로 다시 올라가면 TOUT동안 부가적으로 리셋을 유지한다.

 

 

 

 

 

 

 

 

 

4. 워치독 리셋

워치독 리셋 동작 타이밍도

 

워치독 타이머가 지정한 주기 이상이 지나면 리셋펄스가 발생하여 리셋이 시작되고,

TOUT동안 부가적으로 리셋을 유지한다.

 

 

 

 

 

 

 

 

 

워치독 타이머 (Watchdog Timer)

 

역할은 프로세서가 안정적으로 동작하는지 감시하는 기능을 수행하고,

이상이 있을경우 리셋시켜 안정을 유지시킨다.

 

워치독 타이머 구성도

 

다음과 같이 분주를 조정하는 prescaler, 모드를 조정하는 WDP핀으로 이루어져 있고,

마지막으로 enable핀이 있다.

레지스터를 알아보자.

 

 

 

 

 

 

 

WDTCR (WatchDog Timer Control Regitster)

 

WDCE (WatchDog Change Enable) : 밑에서 나오는 안전레벨 1과 2에서 prescaler를 바꿀때 1로 해야한다.

WDE (WatchDog Enable) : 1로 세트하면 워치독이 활성화된다.

WDP0...2 (WatchDog Timer Prescaler) : prescaler를 밑 그림처럼 설정한다.

 

 

 

 

 

 

 

 

 

워치독의 설정 - 안전모드

 

안전모드들은 Etended Fuse Byte 비트들로 조절할 수 있고, 0..2단계로 조절할 수 있다.

 

 

안전레벨0 : 초기에는 워치독 금지되어 있으나 WDE로 허용가능, prescaler 변경 가능

비활성화 시키려면 WDCE와 WDE를 1로 세트하고 4클록 내에 WDE를 클리어 해야한다.

 

안전레벨1 : 초기에는 워치독 금지되어 있으나 WDE로 허용가능

prescaler변경이나 비활성화 할경우 WDCE와 WDE를 1로 세트하고 4클록 내에 WDE를 클리어 해야한다.

 

안전레벨2 : 초기에 워치독이 허용되어 있고 워치독 비활성화를 할 수 없다.

prescaler를 변경할 경우 WDCE와 WDE를 1로 세트하고 4클록 내에 WDCE를 클리어 하고 WDP에 값을 쓴다.

[복두출판사]AVR ATmega128 프로그래밍 응용실습:ED-4513 마이크로프로세서 콤보 IT를 이용한, 복두출판사

 

반응형