Страница 3 из 3
Re: Врожденный дефект AT90S2313 ?...
Добавлено: Чт июл 09, 2020 11:41:51
BOB51
Почитайте, что в моих заметках написано - поймете почему нельзя использовать программные счетчики на основе ячеек ОЗУ
("....Попробуйте например восстановить состояние счетчиков в программе на момент сброса - не тут то было....")
Да и альтернатива там достаточно четко изложена.
Правда надо не под ЯВУ, а под чистокровным ассемблером уметь работать.

Re: Врожденный дефект AT90S2313 ?...
Добавлено: Чт июл 09, 2020 13:05:40
ARV
MaxDaniel писал(а):Попробуйте например восстановить состояние счетчиков в программе на момент сброса - не тут то было.
а в чем проблема? я в своих проектах частенько использую управление режимом при помощи единственной кнопки на сбросе: первый раз нажал - один режим, второй раз нажал - другой и т.д.
при сбросе ОЗУ (кроме области SFR) не изменяется никак.
BOB51 писал(а):надо не под ЯВУ, а под чистокровным ассемблером уметь работать
надо всего лишь знать и применять возможности ЯВУ в полной мере
Re: Врожденный дефект AT90S2313 ?...
Добавлено: Чт июл 09, 2020 16:14:26
Wladimir_TS
[uquote="BOB51",url="/forum/viewtopic.php?p=3865063#p3865063"]Почитайте, что в моих заметках написано - поймете почему нельзя использовать программные счетчики на основе ячеек ОЗУ
("....Попробуйте например восстановить состояние счетчиков в программе на момент сброса - не тут то было....")
Да и альтернатива там достаточно четко изложена.
Правда надо не под ЯВУ, а под чистокровным ассемблером уметь работать.

[/uquote]
Как раз в ячейках то они не портятся при сбросах по входу сброса. Поставил тини 2313 - целевая программа не заработала (думал совместимость 100%)- разбираться сложно (не я писал и жарко +33 С) попробовал другую программу - выставляет 0,1 или 2 биты случайным образом (правда в программе WDT не задействован) - значит прилетает все-ж по питанию.
Re: Врожденный дефект AT90S2313 ?...
Добавлено: Чт июл 09, 2020 20:24:25
BOB51
Случайная иголка по питанию блокируется либо фильтром либо комбинацией флагов BOD/POR(сработкой BOD).
Ловушка сбоя ПЗУ и/или алгоритма - WDT.
Иголки по информационным входам - соизмеримостью длительности иголки и времени захвата данных портом (системная тактовая) плюс мажоритарный фильтр.
По крайней мере мы знаем что была ошибка и проводим перезапуск устройства...
Однако часто есть желание перезапуска с точки, на которой находилась программа перед сбоем (а не с точки "холодного старта").
Вот тут уже всплывает вопрос о достоверности данных в ОЗУ и РСФ...
Ёжли при помехе прошел случайный мусор в ОЗУ - там отловить практически невозможно.
Тем более, что тот мусор сохраниться и после перезапуска.
Именно регистры ОЗУ более чувствительны ко всякоиглам, чем регистры аппаратных модулей МК.
Касательно ЯВУ - там при всем желании стек, создаваемый компилятором не отключить.
А при "самых тяжких" случаях защиты МК превращается всего-то в примитивный программный автомат, считывающий последовательность из ПЗУ с учетом изменяемых параметров от/на выводы МК и применяя простейшие операции с хранением значения в акумуляторе не более 1-2 команд по времени существования данных. Это примерно как в старых автоматах на рассыпухе с применением ПЗУ.

Re: Врожденный дефект AT90S2313 ?...
Добавлено: Пт июл 10, 2020 04:45:35
Ivanoff-iv
делал свои первые часы для автомобиля на тини2313 с дин. индикацией... в ОЗУ лежал только массив для знакогенератора а всё остальное влезло в регистры
при пере/запуске я проверял только исправность этой информации и допуск на хранимые величины (единицы минут < 10, десятки минут < 6 и.т.д) и если всё ок - продолжал программу, если нет —> переинициализация
сейчас точно не помню, вроде время не сбрасывалось и при 10с отсутствии питания (часы при этом останавливались, но данные сохранялись)
Re: Врожденный дефект AT90S2313 ?...
Добавлено: Пт июл 10, 2020 11:15:46
BOB51
Регистр-аккумуляторы также часть ОЗУ у АВРок.
Речь идет не о стандартной ситуации, а о случае проверки работоспособности устройства методом искрового разряда в шину питания во время работы устройства.
Включаем девайс, подносим кончик зажигалки к печатным проводникам (шинку GND или +питания или то и другое попеременно... можно и по другим лапкам пройтись для полного удовольствия), запускаем искру в дорожку и...
Смотрим - нет ли сбоев в работе, корректен ли перезапуск?
САДИЗЬМА однако...
