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) Register 분석' 카테고리의 다른 글
[Atmega128] 11. DATA Memory - EEPROM (1) | 2019.08.06 |
---|---|
[Atmega128] 9. I2C 통신 (Inter-Integrated Circuit) (2) | 2019.08.05 |
[Atmega128] 8. UASRT 통신 (Universal Synchronus Receiver Transmit) (5) | 2019.08.05 |
[Atmega128] 7. SPI 통신 (Serial Peripheral Interface Bus) (0) | 2019.08.05 |
[Atmega128] 6. 아날로그 변환기 ADC (Analog to Digital Converter) (0) | 2019.08.05 |