MCUCSR Atmega_32 собрать стату WDRF, BORF, EXTRF, PORF

AVR версия программы

MCUCSR Atmega_32 собрать стату WDRF, BORF, EXTRF, PORF

Сообщение Прохожий (Прохожий) » 11 дек 2017, 12:28

Когда устройство глючит в реальных условиях и не понятно почему - то можно значительно облегчить себе жизнь заглянув в регистр MCUCSR (у многих контроллеров он есть, хотя и немного отличается в названии). Можно не просто заглянуть, а собрать эти данные в EEPROM и посмотреть по прошествии времени как жилось устройству день-неделю-год. Как вариант при превышении порога ошибок вытолкнуть сигнализацию на светодиод или зуммер, или как в стиралке удобно показать код ошибки. Проект спартанский, так-как результат смотрю в EEPROM на прямую, программатором (каждому регистру своя ячейка). "Накопительные" переменные байтовые, собирают данные в EEPROM до 255.
Данные собираем по:
1. Питание (при каждом включении добавляется единица)
2. Занижение питания (относительно заданного фьюз-бита контроля питания)
3. По количеству сделанных резетов.
4. По колличеству срабатываний Watchdog .
Важно! В Atmega_32 нужно подправить файл контроллера, как завещал Мим иначе MCUCSR не заведётся. Отдельное спасибо, парням которые много чего подсказали в песочнице :)
Просьба к форумчанам, потестите в железе. Мало ли у меня контроллер кривой :)
Файл Протеуса не предлагаю, в этом деле он не тащит никак :) Только железо!!!
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: Прохожий
Имя: Прохожий
Практик
Практик
Информация о пользователе

Re: MCUCSR Atmega_32 собрать стату WDRF, BORF, EXTRF, PORF

Сообщение щербатый (щербатый) » 08 янв 2018, 13:42

Привет Прохожий. Интересная тема. Да. Только я немного не уловил логику работы твоего алгоритма. Если что, поправь.
Получается, что при подаче питания. Алгоритм однократно читает состояние регистра, и однократно записывает его состояние в еепром. А потом бесконечно крутится в цикле, ожидая нажатие проверочной кнопки. Вроде должно быть что он годами должен ждать тех событий, что записываются в этот регистр. А не только при подаче питания однократно. Или есть еще что то, что я не учитываю?

Ты там вроде что то про пик говорил на эту тему. Мне пик больше интересен, во всяком случае пока.
Ник: щербатый
Имя: щербатый
Супер разработчик
Супер разработчик
Информация о пользователе

Re: MCUCSR Atmega_32 собрать стату WDRF, BORF, EXTRF, PORF

Сообщение andrewproffi (Андрей) » 08 янв 2018, 14:06

Приветствую, позвольте я отвечу. суть программы: ведение статистики отключений микроконтроллера.
при возобновлении работы МК после отключения, в этом регистре будет хранится причина его отключения. мы ее считаем и прибавляем значение в соответствующей ячейке еепром.
Аватар пользователя
Ник: andrewproffi
Имя: Андрей
(Томск)
Гуру
Гуру
Информация о пользователе
Вернуться наверх

Re: MCUCSR Atmega_32 собрать стату WDRF, BORF, EXTRF, PORF

Сообщение щербатый (щербатый) » 08 янв 2018, 14:25

andrewproffi писал(а): ведение статистики отключений микроконтроллера.

Так это то понятно. Но статистика должна записываться за время работы. А не по включению питания. Ага въехал. По отключению питания согласен. А остальные позиции?
Последний раз редактировалось щербатый 08 янв 2018, 14:27, всего редактировалось 1 раз.
Ник: щербатый
Имя: щербатый
Супер разработчик
Супер разработчик
Информация о пользователе
Вернуться наверх

Re: MCUCSR Atmega_32 собрать стату WDRF, BORF, EXTRF, PORF

Сообщение andrewproffi (Андрей) » 08 янв 2018, 14:27

хм, но если мк РАБОТАЕТ значит он не выключился...
какие позиции?
Аватар пользователя
Ник: andrewproffi
Имя: Андрей
(Томск)
Гуру
Гуру
Информация о пользователе
Вернуться наверх

Re: MCUCSR Atmega_32 собрать стату WDRF, BORF, EXTRF, PORF

Сообщение щербатый (щербатый) » 08 янв 2018, 14:30

Нда, протупил немного (та не, хорошо протупил, зато лучше дошло). Понятно, спасибо. А что по пикам, возможно что то подобное
Последний раз редактировалось щербатый 08 янв 2018, 14:34, всего редактировалось 2 раз(а).
Ник: щербатый
Имя: щербатый
Супер разработчик
Супер разработчик
Информация о пользователе
Вернуться наверх

Re: MCUCSR Atmega_32 собрать стату WDRF, BORF, EXTRF, PORF

Сообщение andrewproffi (Андрей) » 08 янв 2018, 14:32

посмотрите в даташите, если есть регистр с похожим назначением.
Аватар пользователя
Ник: andrewproffi
Имя: Андрей
(Томск)
Гуру
Гуру
Информация о пользователе
Вернуться наверх

Re: MCUCSR Atmega_32 собрать стату WDRF, BORF, EXTRF, PORF

Сообщение щербатый (щербатый) » 08 янв 2018, 14:39

Насколько я помню. Прохожий говорил что по пикам там не очень.
Когда то я читал книжку Рюмика по моему. Там было что то подобное. Но на аппаратном уровне. Ставился диод и конденсатор по питанию. И контролировалось пропадание питания до диода. Емкости конденсатора хватало что бы записать это событие в память. Хотя, с регистром это намного лучше. Ладно, подождем Прохожего. Что он скажет, его тема. Ему и отдуваться.
Ник: щербатый
Имя: щербатый
Супер разработчик
Супер разработчик
Информация о пользователе
Вернуться наверх

Re: MCUCSR Atmega_32 собрать стату WDRF, BORF, EXTRF, PORF

Сообщение Прохожий (Прохожий) » 08 янв 2018, 15:11

Всем привет! :) Рад видеть :)
В общем в EEPROM мы запишем только состояние регистра если оно изменилось! :) То есть количество включений записывается каждый раз, но, допустим, резет по вачдогу запишется только после рестарта микроконтроллера по вачдогу :) (добавится ли при этом единица в количество включений - не помню, питание то не скидывали, на днях посмотрю). Тему можно использовать как конечный продукт, а можно из неё лишнее выкинуть. Но, как правило, EEPROM в проектах до конца не используется - то почему бы и не газовать на всю катушку??? :)
Щербатый
Сохранение любых данных при пропадании питания штука востребованная. Идея о том, что бы после стабилизатора последовательно поставить диод Шоттки и после него, параллельно ёмкость, хорошо себя зарекомендовавший вариант. Отслеживание пропадания питания можно осуществить несколькими вариантами.
1. Контроллер через АЦП отслеживает ранее установленный порог. При пропадании питания диод Шотки исключает разряд схемы в сторону источника питания, даёт возможность за время разряда ёмкости отрубить контроллеру всю периферию и спокойно записать данные в EEPROM
2. При использовании стабилизаторов питания типа TLE4267G использовать его возможности: и по команде от него пока не поздно записать данные в EEPROM
Стабилизатор напряжения Ust 5В +- 2% с током нагрузки 400 мА.
Генератор специального сигнала при Ust менее 4,5 В.
Возможность установки времени задержки специального сигнала.
Включение и выключение выходного напряжения с помощью 2-х сигналов
управления через логическую схему.


Защита от перегрузки, перегрева, перенапряжения.
Последний раз редактировалось Прохожий 08 янв 2018, 15:40, всего редактировалось 1 раз.
Ник: Прохожий
Имя: Прохожий
Практик
Практик
Информация о пользователе
Вернуться наверх

Re: MCUCSR Atmega_32 собрать стату WDRF, BORF, EXTRF, PORF

Сообщение щербатый (щербатый) » 08 янв 2018, 15:35

Красивая идея. Красивая реализация. Спартанские решения, это хорошо. В стиле Оккама. Но стиль Альберта мне больше нравится. А там и другие мыслители есть...

Программатор не всегда под рукой (и не всегда удобно это, мало ли где платку эту засунуть придется). А так как и кнопка, и светодиод уже все равно есть, памяти просто немеряно. Стоит добавить чтение еепром по нажатию (и удержанию) кнопки. Вывести количеством вспышек светодиода сначала позицию что сработало, и через паузу количество срабатываний. Будет намного удобней, наглядней, ну и оперативно. И так по каждой позиции.
Можно просто позвонить человеку на объект, и попросить его нажать кнопку, и посчитать. А не ехать на ночь через весь город с программатором. Когда друзья и подружки ждут на ужин в приятной компании.
Но что бы так было. Перед записью в еепром нужно прочитать ее содержимое. И добавить единичку от содержимого, что сработало. В таком случае мы увидим не только сам факт срабатывания той, или иной позиции. Но и то, о чем говорит автор. Статистику срабатываний. А это намного интересней...
Нда, зауважал я Атмел, не зря хлеб едят. А тем более что Микрочип их все равно купил. Прохожий, ну некогда сейчас даты читать. ТМР для себя пробиваю. Шо там у Микрочип, есть что то подобное? Не пробивал эту тему?

Прохожий, молодец. Так держать. ;)
Ник: щербатый
Имя: щербатый
Супер разработчик
Супер разработчик
Информация о пользователе
Вернуться наверх

След.

Вернуться в Flowcode AVR

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей

cron