ATtiny13A WatchDog&SleepMode

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Мikа
Потрогал лапой паяльник
Сообщения: 343
Зарегистрирован: Пн апр 01, 2013 15:13:40
Откуда: Москва

ATtiny13A WatchDog&SleepMode

Сообщение Мikа »

Доброго всем дня.

Как обычно, внезапно встала задача сделать устройство, применив то, что раньшге не применял, чтение даташита заставляет задать пару вопросов.

Общая суть устрйоства крайне проста:
При работе от батарейки (соответственно минимальное потребление энергии) после запуска контроллера нужно минуту мигать светодиодом с частотой 50 Гц. Задача на грани фантастики:)
Я хотел сделать так:
-Запуск МК, инициализация.
-Вкл диод
-Уйти в сон
-По WatchDog проснуться через 20 ms
-Переключить светодиод
-Посчитать эти 20 мс (чтобы выключиться через минуту)
-Проверить, прошла ли минута
-Уйти в сон ещё на 20 мс или же выключиться, если минуту отработали

Выяснил, что WDT в ATtiny13A может генерировать прерывания для пробуждения МК.

Начал читать про сам WDT.
В даташите сказано, что его генератор имеет частоту 128кГц.
Есть большое количество предделителей:
Изображение

Но информации о разрядности WDT я не нашёл, соответственно как посчитано время переполнения в этой таблице мне не понятно.
Вопрос, собственно, в том, можно ли выполнить описанную задачу с помощью WDT?
P.S. Я ни разу ни одного МК в спячку не уводил, тема новая, к сожалению как всегда срочная :(
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: ATtiny13A WatchDog&SleepMode

Сообщение akl »

Почему 20мс?
Можно использовать таймер Т0 в режиме CTC. Загружаете в OCR0A число 10*Fo/1000/64-1, разрешаете прерывания по сравнению и уходите SLEEP IDLE.
Последний раз редактировалось akl Чт май 19, 2016 10:22:53, всего редактировалось 1 раз.
Аватара пользователя
Мikа
Потрогал лапой паяльник
Сообщения: 343
Зарегистрирован: Пн апр 01, 2013 15:13:40
Откуда: Москва

Re: ATtiny13A WatchDog&SleepMode

Сообщение Мikа »

1 секунда делить на 50 Гц = 20 мс.
Таймер не может выводить МК из сна, а если его завести в режим CTC, то он будет просто мигать диодом, но закинуть какой-то обработчик не получится.
Хотя если завести ногу INT туда же, чтобы она чувствовала изменения состояния но CTC и выводила МК из спячки при изменении лог уровня - это уже может получиться. Хм :)

Изображение

For INT0, only level interrupt. - Это значит, что прерывание по любому изменению ЛОГ уровня?
И получается, что это можно делать только в режиме Idle, тк в ADC Noise Reduction тактирование портов отключено. Хотя нужно почитать, может при включении CTC, что-то там тактироваться будет.
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: ATtiny13A WatchDog&SleepMode

Сообщение akl »

Мikа писал(а):For INT0, only level interrupt. - Это значит, что прерывание по любому изменению ЛОГ уровня?
Нет, для INT0 только низкий уровень выводит из POWER DOWN. Разрешенное PCINT также выводит из него. Если использовать режим SLEEP IDLE, то таймером отсчитываете 10мс -> зажигаете светик -> отсчитываете еще 10мс -> гасите светик. Внутри прерывания наращиваете счетчик -> сравниваете с числом, соответствующим 1 минуте и, если оная прошла переходите в POWER DOWN
Последний раз редактировалось akl Чт май 19, 2016 10:47:15, всего редактировалось 1 раз.
Аватара пользователя
Мikа
Потрогал лапой паяльник
Сообщения: 343
Зарегистрирован: Пн апр 01, 2013 15:13:40
Откуда: Москва

Re: ATtiny13A WatchDog&SleepMode

Сообщение Мikа »

Да в том и суть, что я хочу переходить в power down между переключениями, чтобы максимально сократить потребление в процессе работы.
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: ATtiny13A WatchDog&SleepMode

Сообщение akl »

Тогда смиритесь с тем, что частота мыграния светиком будет 31,25Гц.
Аватара пользователя
Мikа
Потрогал лапой паяльник
Сообщения: 343
Зарегистрирован: Пн апр 01, 2013 15:13:40
Откуда: Москва

Re: ATtiny13A WatchDog&SleepMode

Сообщение Мikа »

Вы имеете ввиду предделитель ватчдога на 4К?
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: ATtiny13A WatchDog&SleepMode

Сообщение akl »

Нет, 2K. Посмотрел графики потребления в в режимах IDLE и POWER DOWN. При напряжении питания 3V в первом - 14мкА; во втором - 4мкА.
Demiurg
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44
Контактная информация:

Re: ATtiny13A WatchDog&SleepMode

Сообщение Demiurg »

В разных режимах МК просыпается при определенных условиях. В глубокой спячке, если МК тактируется от кварца, внешнего генератора, генератор отключается. Работает только внутренний генератор. МК просыпается от внешнего прерывания и WDT. При этом, после события проходит определенное время, прежде чем МК начинает нормально работать.

WDT работает от собственного внутреннего генератора. Частота внутреннего генератора зависит от напряжения питания и температуры. Потому значения времени срабатывания WDT указаны приблизительно.


Точные времянки можно реализовать только на кварце. В этом случае о точных времянках во время спячки все равно можно забыть.

Потребления тока в IDLE мало отличается от рабочего режима МК. И по сути смысла в IDLE практически нет.

Поэтому, пересматривайте задачу.
Последний раз редактировалось Demiurg Пт май 20, 2016 12:52:22, всего редактировалось 1 раз.
Аватара пользователя
Мikа
Потрогал лапой паяльник
Сообщения: 343
Зарегистрирован: Пн апр 01, 2013 15:13:40
Откуда: Москва

Re: ATtiny13A WatchDog&SleepMode

Сообщение Мikа »

Есть над чем подумать и с чем поэкспериментировать. Думаю еще поспрашиваю. Спасибо!
Почему я здесь и задаю тупые вопросы?
Потому что хочу научиться.
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: ATtiny13A WatchDog&SleepMode

Сообщение akl »

Demiurg писал(а):...
Бред от незнания AVR вообще и ATtiny13 в частности.
Demiurg
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44
Контактная информация:

Re: ATtiny13A WatchDog&SleepMode

Сообщение Demiurg »

akl писал(а):...

Прежде чем бросаться с голословными обвинениями, сначала укажите, попунктно, в чем, по вашему мнению, бред. Факты и цифры. После этого мы обсудим, кто насколько знает AVR.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25121
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: ATtiny13A WatchDog&SleepMode

Сообщение КРАМ »

Вот я не знаю подробностей функционирования Атмелов, но тоже буду утверждать, что Вы написали ерунду.
Глубокий сон означает, что НИКАКОЙ тактирующий МК генератор НЕ РАБОТАЕТ. Генератор тактирующий WDT никакого отношения к генератору тактирующему МК не имеет. И не важно внутренний это генератор или внешний.
У WDT ВСЕГДА свой собственный генератор. Его можно отключить независимо от работы МК.
Demiurg
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44
Контактная информация:

Re: ATtiny13A WatchDog&SleepMode

Сообщение Demiurg »

У меня где-нибудь написано, что WDT работает от генератора, тактирующего МК? От внутреннего генератора, читай собственного, частота которого зависит от напряжения питания и температуры.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25121
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: ATtiny13A WatchDog&SleepMode

Сообщение КРАМ »

Demiurg писал(а):В разных режимах МК просыпается при определенных условиях. В глубокой спячке, если МК тактируется от кварца, внешнего генератора, генератор отключается. Работает только внутренний генератор. МК просыпается от внешнего прерывания и WDT. При этом, после события проходит определенное время, прежде чем МК начинает нормально работать.
WDT работает от внутреннего генератора.

Двое человек, совершенно независимо, поняли написанное, как то, что во время сна МК и WDT работают от одного внутреннего генератора. На самом деле генераторов ДВА. Оба внутренних.
Demiurg
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44
Контактная информация:

Re: ATtiny13A WatchDog&SleepMode

Сообщение Demiurg »

Как бы само собой подразумевается, что wdt работает от собственного внутреннего генератора. И если кто то что то не так понял, то прежде чем бросаться с обвинениями, может просто спокойно спросить, уточнить?
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25121
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: ATtiny13A WatchDog&SleepMode

Сообщение КРАМ »

Что подразумевается Вами - совершенно непонятно.
Я лично с Вами не знаком и что либо подразумевать возможности не имею.
Желательно просто выражаться ОДНОЗНАЧНО.
:)
А тот, кто не знаком с проблемой об "однозначности" не догадывается ПО ОПРЕДЕЛЕНИЮ.
Demiurg
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44
Контактная информация:

Re: ATtiny13A WatchDog&SleepMode

Сообщение Demiurg »

КРАМ писал(а):...

Скажу по другому, вы посраться пришли на форум? Предыдущий участник вообще сказал, что я несу бред. Так вот, вы на форум сраться пришли? Кто насколько разбирается, компетентен, выявляется по сообщениям. Вам известно, мне известно, что WDT работает от собственного генератора. Именно это подразумевается само собой. Достаточно открыть даташит.
Указали? Я поправил сообщение. Есть что еще сказать?
Так как, дальше срач разводим, или как культурные люди будем себя вести?
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25121
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: ATtiny13A WatchDog&SleepMode

Сообщение КРАМ »

Demiurg писал(а):Скажу по другому, вы посраться пришли на форум? Предыдущий участник вообще сказал, что я несу бред.

Свои мелкие обиды приберегите для МЯУ.
А с точки зрения читателя-новичка Вы действительно несли бред. Оценивали не Ваши знания, а Ваш текст.
:dont_know:
И с этим ничего не поделать.
То, что Вы ЗНАЕТЕ как работает слип в МК это не исключает.
Просто нужно выражаться ПОНЯТНО.
Demiurg
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44
Контактная информация:

Re: ATtiny13A WatchDog&SleepMode

Сообщение Demiurg »

КРАМ писал(а):Свои мелкие обиды приберегите для МЯУ..

Причем здесь обиды? Тут работает простая логика. Если тактирование отключено, то от чего тогда сторожевому таймеру работать?
Вдобавок, вы сами написали, что с AVR не работаете, и влезли в тему.
Ответить

Вернуться в «AVR»