Для контроля за корректной работой микроконтроллера существует система BOD (Brown-out detection), которая позволяет обнаружить снижение напряжение питания ниже заданного уровня и сбросить микроконтроллер во избежание ошибок. Когда напряжение питания восстанавливается, сигнал сброса снимается и микроконтроллер приступает к нормальной работе.
Биты BODLEVEL2 - BODLEVEL0 (2 - 0) как раз и устанавливают необходимое напряжение:
Бит BODS (6) отключает систему BOD во время перехода микроконтроллера в режим пониженного электропитания при записи в него 1.
Для установки напряжения питания, при котором будет генерироваться сигнал сброса микроконтроллера используется Extended fuse byte:
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
-
|
-
|
-
|
-
|
-
|
BODLEVEL2
|
BODLEVEL1
|
BODLEVEL0
|
Биты BODLEVEL2 - BODLEVEL0 (2 - 0) как раз и устанавливают необходимое напряжение:
- 111 - система BOD выключена
- 110 - сброс при напряжении питания 1.7 - 2 В
- 101 - сброс при напряжении питания 2.5 - 2.9 В
- 100 - сброс при напряжении питания 4.1 - 4.5 В
- 011 - 000 - резерв
Для отключения системы BOD во время спящего режима микроконтроллера в регистре MCUCR есть два специальных бита:
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
-
|
BODS
|
BODSE
|
PUD
|
-
|
-
|
IVSEL
|
IVCE
|
Бит BODS (6) отключает систему BOD во время перехода микроконтроллера в режим пониженного электропитания при записи в него 1.
Бит BODSE (5) разрешает отключение системы BOD (необходимо установить 1, затем в течении 4 машинных циклов изменить бит BODS).
Комментариев нет:
Отправить комментарий