AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
08.12.2012, 15:04
|
|
Гражданин KAZUS.RU
Регистрация: 06.04.2010
Адрес: Санкт-Петербург - Волжский
Сообщений: 529
Сказал спасибо: 74
Сказали Спасибо 56 раз(а) в 45 сообщении(ях)
|
При запуске МК ATtiny13A срабатывает BOD
Доброго времяни суток !
Вообщем делаю автоотключение при снижении питания внут. средствами МК. Суть: при снижении Uп ниже 2,7В срабатывает BOD, сбрасывает МК , по идее напруга на батарейке должна подняться выше порога, МК перезапускается , в самом начале проверяется регистр MCUSR на установку бита BORF, если бит в 1 , то МК погружается в спячку sleep ом до лучших времен.
вот код :
Код:
|
0: 4d c0 rjmp .+154 ; 0x9c ‹my_init›
if (MCUSR&(1‹‹BORF))
9c: 04 b6 in r0, 0x34 ; 52
9e: 02 fe sbrs r0, 2
a0: 04 c0 rjmp .+8 ; 0xaa ‹__stack+0xb›
MCUCR=(1‹‹PUD)|(1‹‹SE)|(1‹‹SM1);
a2: 80 e7 ldi r24, 0x70 ; 112
a4: 85 bf out 0x35, r24 ; 53
asm ("sleep");
a6: 88 95 sleep
a8: 01 c0 rjmp .+2 ; 0xac ‹__stack+0xd›
MCUSR=0;
aa: 14 be out 0x34, r1 ; 52
ac: 11 24 eor r1, r1
ae: 1f be out 0x3f, r1 ; 63 |
Установил фузы:
BODLEVEL 1..0: 01 - 2.7 v
CKSEL1..0: 01 - 4,8МГц от RC ген.
SUT1..0: 11 - 6+14 СК после сброса
Схема сброса приведена, Rсброса = 10кОм
Устройство не запускается не зависимо от питания , т.е. от гарнтированных 5В - результат такойже. Убрал команду sleep схема заработала. Т.е. получается при подаче Uп , хотя по идее в течении когото времяни должен действовать внешний сигнал Reset на входе, запускается BOD и устанавливает бит MCUSR.BORF .
Или внеш. Reset не действует на рег.MCUSR ? В чем может быть дело ?
|
|
|
|
08.12.2012, 15:55
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,790
Сказал спасибо: 2,912
Сказали Спасибо 3,120 раз(а) в 2,111 сообщении(ях)
|
Re: При запуске МК ATtiny13A срабатывает BOD
Сообщение от MaxiMuz79
|
Суть: при снижении Uп ниже 2,7В срабатывает BOD, сбрасывает МК , по идее напруга на батарейке должна подняться выше порога, МК перезапускается , в самом начале проверяется регистр MCUSR на установку бита BORF, если бит в 1 , то МК погружается в спячку sleep ом до лучших времен.
|
Почему не запускается смотреть не буду. Как вариант - надо закоротить шины питания перед новой подачей питания.
Скажу, что идея в корне неверна. В состоянии Reset контроллер потребляет немалый ток (порядка 1 мА, см. графики "Reset supply current vs. Vcc") и напряжение на батарейке не вырастет уже никогда.
|
|
|
|
08.12.2012, 18:21
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: При запуске МК ATtiny13A срабатывает BOD
Сообщение от MaxiMuz79
|
Или внеш. Reset не действует на рег.MCUSR ?
|
|
|
|
|
08.12.2012, 23:58
|
|
Гражданин KAZUS.RU
Регистрация: 06.04.2010
Адрес: Санкт-Петербург - Волжский
Сообщений: 529
Сказал спасибо: 74
Сказали Спасибо 56 раз(а) в 45 сообщении(ях)
|
Re: При запуске МК ATtiny13A срабатывает BOD
Сообщение от ForcePoint
|
Скажу, что идея в корне неверна. В состоянии Reset контроллер потребляет немалый ток (порядка 1 мА, см. графики "Reset supply current vs. Vcc") и напряжение на батарейке не вырастет уже никогда.
|
Возможно реализация и не верна, пока не разобрался, но смысл сброса еще и перекрыть питание внешней схеме, закрываем ключи и питание уже должно стать меньше чем даже потребляет МК при сбросе
|
|
|
|
09.12.2012, 00:09
|
|
Гражданин KAZUS.RU
Регистрация: 06.04.2010
Адрес: Санкт-Петербург - Волжский
Сообщений: 529
Сказал спасибо: 74
Сказали Спасибо 56 раз(а) в 45 сообщении(ях)
|
Re: При запуске МК ATtiny13A срабатывает BOD
niXto, т.е. получается что сх.сброса приведенная в дока не совсем правильная ? Ведь там сигнал сброса общий , вне зависимости от источника сигнала ! И есть различия в инициализации контроллера в сх."Power-on Reset Circuit" от "Brown-out Reset Circuit" ...
|
|
|
|
09.12.2012, 08:24
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: При запуске МК ATtiny13A срабатывает BOD
Схема правильная, просто биты нужно сбрасывать программно. Аппаратно они обнуляются только при включении питания
|
|
|
|
09.12.2012, 14:15
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,790
Сказал спасибо: 2,912
Сказали Спасибо 3,120 раз(а) в 2,111 сообщении(ях)
|
Re: При запуске МК ATtiny13A срабатывает BOD
Сообщение от MaxiMuz79
|
Возможно реализация и не верна, пока не разобрался, но смысл сброса еще и перекрыть питание внешней схеме, закрываем ключи и питание уже должно стать меньше чем даже потребляет МК при сбросе
|
Тогда надо подробности схемотехники. Скажем - получил контроллер сигнал сброса от BOD и в нём сидит. Порты держит в Z-состоянии. Кто будет делать то, что я выделил?
Я-бы попробовал использовать прерывание от компаратора. Получив сигнал о падении напряжения питания - делаем всё, что надо, с внешними схемами, выключаем всё, что не надо, внутри контроллера, настраиваём способ побудки (если надо), переходим в "Power down". Соответственно, BOD либо не используется, либо настаивается на уровень ниже того, что у компаратора.
|
|
|
|
10.12.2012, 16:35
|
|
Гражданин KAZUS.RU
Регистрация: 06.04.2010
Адрес: Санкт-Петербург - Волжский
Сообщений: 529
Сказал спасибо: 74
Сказали Спасибо 56 раз(а) в 45 сообщении(ях)
|
Re: При запуске МК ATtiny13A срабатывает BOD
Сообщение от ForcePoint
|
Тогда надо подробности схемотехники. Скажем - получил контроллер сигнал сброса от BOD и в нём сидит. Порты держит в Z-состоянии. Кто будет делать то, что я выделил?
|
да, подробности схемотехники мной тут не указаны, ну в общем внеш. схема отключается подачей нулей на выводы + перевод выводов в z-состояние:
Код:
|
MCUCR=(1‹‹PUD)|(1‹‹SE)|(1‹‹SM1); |
Цитата:
|
Я-бы попробовал использовать прерывание от компаратора.
|
нужен источник опорной напруги, лишний обвес, задача сделать откл.пит. с тем что есть
|
|
|
|
10.12.2012, 16:37
|
|
Гражданин KAZUS.RU
Регистрация: 06.04.2010
Адрес: Санкт-Петербург - Волжский
Сообщений: 529
Сказал спасибо: 74
Сказали Спасибо 56 раз(а) в 45 сообщении(ях)
|
Re: При запуске МК ATtiny13A срабатывает BOD
Вывел после включения MCUSR.BORF на свободный пин, = 1 . Значит при старте срабатывает BOD ! Буду думать что с этим делать
|
|
|
|
10.12.2012, 17:51
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,790
Сказал спасибо: 2,912
Сказали Спасибо 3,120 раз(а) в 2,111 сообщении(ях)
|
Re: При запуске МК ATtiny13A срабатывает BOD
Сообщение от MaxiMuz79
|
нужен источник опорной напруги, лишний обвес
|
Опорник есть встроенный, да два резистора.
Сообщение от MaxiMuz79
|
Вывел после включения MCUSR.BORF на свободный пин, = 1 . Значит при старте срабатывает BOD! Буду думать что с этим делать.
|
А точнее, как обработать (BORF=1)&(PORF=1). Т.к. напряжение срабатывания BOD выше, чем "Power-on Reset".
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:03.
|
|