Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
20.07.2010, 16:45
|
|
Прописка
Регистрация: 07.08.2005
Сообщений: 178
Сказал спасибо: 16
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Подскажите с перезагрузкой
Подскажите пожалуйста как кто реализует(если реализует) при аварийном перезапуске контроллера восстановление/введение его в тот режимов котором он был до перезагрузки. Например контроллер управляет шаговым двигателем который вращается с определенной скоростью, значение которой он определил ранее и повторно это сделать он не может. Значение скорости хранится в RAM контроллера. затем происходит внезапная перезагрузка контроллера допустим из-за броска по питанию или еще почему не более чем 5-10 минут. после включения контроллер должен продолжен вращать вол двигателя с той же скоростью как и до перезагрузки. Думаю применение ROM'а не очень оправданно так как значения будут меняться очень часто что рано расходует ресурс перезаписи? Желательно для этого использовать минимум контактов контроллера.
__________________
Дайте точку опоры и я ...
|
|
|
|
20.07.2010, 16:52
|
|
Гражданин KAZUS.RU
Регистрация: 29.06.2006
Сообщений: 638
Сказал спасибо: 37
Сказали Спасибо 56 раз(а) в 41 сообщении(ях)
|
Re: Подскажите с перезагрузкой
можно контролировать питание до сглаживающего конденсатора и в случае пропадания записывать значение в еепром пока конденсатор заряжен
|
|
|
|
20.07.2010, 17:03
|
|
Вид на жительство
Регистрация: 09.10.2009
Сообщений: 356
Сказал спасибо: 21
Сказали Спасибо 64 раз(а) в 46 сообщении(ях)
|
Re: Подскажите с перезагрузкой
Используйте FRAM память или энергонезависимую ОЗУ DS1307 там циклы жизни неограниченны. В процессе работы постоянно сохраняем данные. И как сказал AndreiVV контроллируйте питание скажем до диода и ионнистора, как только питание просело тут же завершаем текущее сохранение в память (если такое в данный момент имеется), запрещаем дальнейшие сохранения. Это нужно для того что-бы не было оборванного пакета байтов и память не заглючила ожидая завершения обмена (стоповое условие). Если питание восстановилось значит снова продожаем "сториться".
__________________
Делая дело нужно в него верить на все 100%, иначе неизбежно будут возникать ошибки подпитывающие подсознательное сомнение.
|
|
|
|
20.07.2010, 18:41
|
|
Прописка
Регистрация: 07.08.2005
Сообщений: 178
Сказал спасибо: 16
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Re: Подскажите с перезагрузкой
DS1307 это не совсем память хотя она там конечно есть!
это часы RTC, а есть ли простое и как всегда недорогого?
__________________
Дайте точку опоры и я ...
|
|
|
|
20.07.2010, 19:31
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Подскажите с перезагрузкой
Сообщение от EKuzmich
|
DS1307 это не совсем память хотя она там конечно есть!
это часы RTC, а есть ли простое и как всегда недорогого?
|
Ну Вам же все равно надо
Сообщение от EKuzmich
|
или еще почему не более чем 5-10 минут.
|
время сбоя определять. Вот часы и пригодятся. С ионистором в 0,22F около суток продолжают идти. Мне правда 1302 нравятся больше.
|
|
|
|
20.07.2010, 19:38
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Подскажите с перезагрузкой
Из простого - грамотно расставленные SLEEPы и питание на контроллер через диод-электролит. У меня в одной схеме АТмега48РА как только замечает что питание 12В на входе стабилизатора начало падать (АЦП), сразу дает нули на все выходы и валится в повердовн. Как только появляется питание 12В, через конденсатор 10 нф идет импульс на ножку с прерыванием и система оживает. 1000 мкф по питанию хватает на пару часов, зависит от утечки конденсатора (я беру дармовые с дохлых материнок, новые прослужат дольше)
|
|
|
|
20.07.2010, 21:22
|
|
Временная регистрация
Регистрация: 08.07.2010
Сообщений: 67
Сказал спасибо: 0
Сказали Спасибо 19 раз(а) в 5 сообщении(ях)
|
Re: Подскажите с перезагрузкой
Если не секрет - что это за приложение? И сколько раз за сутки происходят сбои? Например если 20 раз в сутки у вас происходит сбой и ваш штатный контроллер гарантирует 100.000 циклов перезаписи - то это 13 лет круглосуточной работы без изменения схемы.
С другой стороны - я бы предпочел устранить проблему по питанию, т.к. на текущий момент система потенциально опасна.
|
|
|
|
21.07.2010, 10:59
|
|
Вид на жительство
Регистрация: 28.02.2009
Сообщений: 338
Сказал спасибо: 24
Сказали Спасибо 52 раз(а) в 48 сообщении(ях)
|
Re: Подскажите с перезагрузкой
Сообщение от EKuzmich
|
контроллер управляет шаговым двигателем который вращается с определенной скоростью, значение которой он определил ранее и повторно это сделать он не может. Значение скорости хранится в RAM контроллера.
|
если скорость постоянна, то достаточно запомнить положение. Если есть разгон\торможение ШД, то процедура входа в режим усложняется (по инерции механика может пройти неконтролируемое количество шагов). Взгляд на проблему должен быть комплексным и устранять необходимо не только последствия, но и причины.
Проблемы сохранения данных неоднократно обсуждались. Можете сделать поиск по ключевым словам EEPROM или SRAM.
для примера: https://kazus.ru/forums/showthread.p...ghlight=EEPROM
|
|
|
|
23.07.2010, 09:08
|
|
Временная регистрация
Регистрация: 04.05.2008
Адрес: Ставрополь
Сообщений: 63
Сказал спасибо: 2
Сказали Спасибо 21 раз(а) в 17 сообщении(ях)
|
Re: Подскажите с перезагрузкой
Согласен с vsky, нужно устранять причину. Если есть разгон торможение шд, то можем сохранять в EEPROM последнее значение, а после востановления питания начинать не с этого значения а с меньшего чтоб выйти на это значение
|
|
|
|
23.07.2010, 11:39
|
|
Вид на жительство
Регистрация: 09.10.2009
Сообщений: 356
Сказал спасибо: 21
Сказали Спасибо 64 раз(а) в 46 сообщении(ях)
|
Re: Подскажите с перезагрузкой
Сообщение от EKuzmich
|
DS1307 это не совсем память хотя она там конечно есть!
это часы RTC, а есть ли простое и как всегда недорогого?
|
2$ - дорого? Слишком много нужно данных ст орить? Там 56 байт пользовательских, если верить даташиту то микросхема потребляет аж 0,5 мкА. Если пересчитать с литиевой батарейкой CR2032 и не учесть саморазряд батарейки и старение, то хватит на более 50 лет. И это при неограниченном числе циклов записи. В случае большего необходимого числа байт поишите RTC Philips-а у них более 200 байт пользовательской памяти. За FRAM расписывать не буду, дорого всё-таки.
__________________
Делая дело нужно в него верить на все 100%, иначе неизбежно будут возникать ошибки подпитывающие подсознательное сомнение.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:32.
|
|