-
- Да ну. А мне вот нужно зафиксировать момент, когда пользователь батарейку вынул из прибора или об стену его треснул, так, что сопли полетели. Если электроника жива, она должна сей момент зафиксировать. Конденсатор, конденсатор, если только от Хитрый Китаец(41 знак., 29.05.2013 17:28)
- Описанные сбои могут привести к ложному вызову функции записи с подсчетом и обновлением контрольной суммы. Так что спасения нет. А с конденсатором решение вполне надежное, делал как-то в серийном курятнике, лет 10 заводом производились, может и Лeoнид Ивaнoвич(35 знак., 29.05.2013 15:12)
- Вызов функции весьма маловероятен и слишком много условий нужно соблюсти. Я имел ввиду другое. Что данные будут недозаписаны, т.к. запись будет прервана вылетом CPU на исключение из-за деления на ноль в каком-то параллельном модуле, например. Вот fk0(174 знак., 29.05.2013 15:36)
- Шапку сменить на алюминиевую, которую обязательно заземлить! Дооснастить свинцовыми трусами! :-) - Shura(29.05.2013 15:44, картинка)
- Вызов функции весьма маловероятен и слишком много условий нужно соблюсти. Я имел ввиду другое. Что данные будут недозаписаны, т.к. запись будет прервана вылетом CPU на исключение из-за деления на ноль в каком-то параллельном модуле, например. Вот fk0(174 знак., 29.05.2013 15:36)
- с конденсатором все нормально, что бы накосячить нужно иметь ну очень кривые руки. Nikolay801_(200 знак., 29.05.2013 15:02)
- Звучит как "у меня всё работает". Я выше написал чётко, что питание не является единственным фактором. И кроме того, "маскимальное потребление" может быть весьма высоким. Для шины 3.3в в целом. И её весьма тяжело схемотехнически отвязать от fk0(193 знак., 29.05.2013 15:18)
- запасать не 3В, а входное, U-квадрат дает большой запас, Nikolay801_(249 знак., 29.05.2013 15:27 - 15:32)
- Тут вообще понимают, что brownout в MCU может срабатывать по 10 раз на дню от прилетающих чиста по воздуху помех, наводящихся непосредственно на дорожки печатной платы? И на конденсаторе будет даже около 3.3в (не люминевом), но от внутренней шины fk0(327 знак., 29.05.2013 15:45)
- За приборы, которые сбрасываются от прикосновения нужно в морду бить этим самым прибором :) Представьте, на скорости 100 км/ч ЭБУ Вашей машины перезагружаюся. :( - Хитрый Китаец(29.05.2013 17:44)
- Brownout может сработать только при снижении питания, а это произойдет намного позже, чем будет получен сигнал пропадания сети. Лeoнид Ивaнoвич(88 знак., 29.05.2013 16:01)
- пока сам не увижу и своими руками не пощупаю... Nikolay801_(248 знак., 29.05.2013 15:54)
- Это бред. Даже для самого дерьмового бытового прибора срабатывание brownout от помехи должно быть исключительным случаем. Если он 10 раз на дню срабатывает, то такую схемотехнику фтопку вместе с автором - Shura(29.05.2013 15:53)
- Такой "исключительный случай" не должен приводить к полному отказу (как если бы сгорел МК целиком). И, кстати, втопку апологетов конденсаторов. Где гарантия, что конденсатор в момент X был заряжен? Какой компаратор, какой NMI? Тогда нужен fk0(301 знак., 29.05.2013 16:00)
- С конденсатором можно получить вполне удовлетворительное значение MTBF. Или Вы про идеал, эдакий сферический конденсатор с вакуумным диэлектриком? - Лeoнид Ивaнoвич(29.05.2013 16:18)
- Напряжение на конденсаторе измеряется (спад то все равно нужно ловить). И пока оно не увеличится до нужной величины, прибор не начинает работать. - Vladimir Ljaschko(29.05.2013 16:02)
- Такой "исключительный случай" не должен приводить к полному отказу (как если бы сгорел МК целиком). И, кстати, втопку апологетов конденсаторов. Где гарантия, что конденсатор в момент X был заряжен? Какой компаратор, какой NMI? Тогда нужен fk0(301 знак., 29.05.2013 16:00)
- U ^ 2 - это только если импульсник. При линейном стабилизаторе просто U. Но нужно не абсолютное U, а дельта между детектированием порога и сбросом. Вот эта дельта в несколько раз больше, если взять входное напряжение, а не напряжение питания МК. - Dir(29.05.2013 15:37)
- не вижу противоречия. Nikolay801_(41 знак., 29.05.2013 15:47)
- Так я просто уточнил, а не возражал по существу - Dir(29.05.2013 16:28)
- не вижу противоречия. Nikolay801_(41 знак., 29.05.2013 15:47)
- Тут вообще понимают, что brownout в MCU может срабатывать по 10 раз на дню от прилетающих чиста по воздуху помех, наводящихся непосредственно на дорожки печатной платы? И на конденсаторе будет даже около 3.3в (не люминевом), но от внутренней шины fk0(327 знак., 29.05.2013 15:45)
- "у меня все работает" вообщето нормальный аргумент. - Nikolay801_(29.05.2013 15:28)
- поставить не в курятник, а в цех, и словить "бороду" при просадке, которая пролетит через все люмини и "обычные" стабилизаторы на 3В питание/ресет во время той самой записи... - Vit(29.05.2013 15:37)
- читай про спутник еще раз. Nikolay801_(99 знак., 29.05.2013 15:43)
- fk0 прав - само наличие EEPROM не спасает, а конденсаторы только вселяют ложную уверенность - Vit(29.05.2013 16:15)
- мой бывший начальник говорил: "Вы не говорите мне как нельзя сделать, скажите как можно сделать" Nikolay801_(33 знак., 29.05.2013 16:57)
- 4кБайта кода на поддержку структуры записи а-ля JFFS с минимум двумя страницами flash. - fk0(29.05.2013 17:13)
- поручить человеку который не считает себя программистом генерить 4к кода? Nikolay801_(30 знак., 29.05.2013 17:44)
- 4кБайта кода на поддержку структуры записи а-ля JFFS с минимум двумя страницами flash. - fk0(29.05.2013 17:13)
- Почему ложную? Всё проверяется практикой. А практика показывает, что решение с конденсатором дает приемлемую частоту сбоев. - Лeoнид Ивaнoвич(29.05.2013 16:24)
- у меня вполне "приемлимая частота сбоев" в топливо-заправочных колонках за последние 15 лет. НО! Любому из клиентов на это совершенно насрать. Заправка встала у НЕГО и сейчас! - Лагунов(30.05.2013 06:18)
- MSP430FR5969 рулит:) - Vit(30.05.2013 11:23)
- Занимались производством пультов и головок для ТРК с 1997 по 2004 год. Киев. За это время продали несколько тысяч пультов и головок для ТРК. Вспомните, это было время веерных отключений электроэнергии в Украине. Dir(225 знак., 30.05.2013 11:21)
- И что? Если встала, то Вас уволят? Нужно балансировать на грани выживаемости, а не угождать всем. - Лeoнид Ивaнoвич(30.05.2013 10:46)
- Тоже самое. Если взять величину входного конденсатора с запасом и перед сохранением программно отключить мощные нагрузки чтобы не разряжали его, то решение очень надежно. Dir(373 знак., 29.05.2013 17:03)
- Слишком много если. Кроме того, здесь есть элемент программной ненадёжности. Я приводил пример: деление на ноль в параллельном модуле вызвает сбой записи. - fk0(29.05.2013 17:14)
- Так ведь не зря NASA свои правила программирования на С вводит. В них деление на "0" запрещено ;) Dir(620 знак., 29.05.2013 17:27)
- Слишком много если. Кроме того, здесь есть элемент программной ненадёжности. Я приводил пример: деление на ноль в параллельном модуле вызвает сбой записи. - fk0(29.05.2013 17:14)
- У меня обратная практика. На конденсатор не закладываюсь. А вот восстановление везде проложено. Да, бывает, что это не нужно, незаконченная транзакция некритична и т.д, т.е. "приемлемо", "нормально", "у меня всё работает". - Vit(29.05.2013 16:43)
- Совершенно непонятно. Практика с конденсатром должна быть положительной. Может быть, был косяк в другом месте? - Лeoнид Ивaнoвич(29.05.2013 16:54)
- В первом приближении конденсатора хватает. Супервизор обычно внешний - можно отследить - находятся условия, когда ловит бороду. Речь может идти о минимизации вероятности сброса во время записи, но она, к сожалению, всё-равно ненулевая. А если Vit(505 знак., 29.05.2013 17:17)
- Конечно ненулевая. Ну и пусть, во всем нужно знать меру. И какое протирание до дыр? Если значения пользователем не менялись, то и сохраняться ничего не будет, пусть питание как угодно дергается. - Лeoнид Ивaнoвич(29.05.2013 18:06)
- С энкодером можно нарваться. Значение может +-1 прыгать несколько раз в секунду. Если стоит где-то на грани. Причём проявиться это может когда мехника энкодера разболтается слегка. Или от внешней засветки, если оптический, ровно 50 раз в секунду... - fk0(29.05.2013 19:18)
- Гм, обычно, если параметр изменяют с помощью енкодера, (да и с помощью кнопок INC/DEC) то ждут какое-то время, и только потом, если нужно, записывают новое значение. Каждое изменение никто не пишет, зачем? И у какого это оптического енкодера может alex68(105 знак., 29.05.2013 20:01)
- Свет может проникать через щели в приборе и это не значит, что работать не будет. Это значит, что остановись энкодер в граничном положении у него одна фаза будет немного дрожать с частотой смены освещённости (если лампа накаливания, например). fk0(97 знак., 29.05.2013 20:06)
- Еще раз. Никто не применяет в нормальных изделиях открытые оптические енкодеры. Закрытым - Grayhill, Bourns на свет плевать. Точно так же как и декодеры для них не реагируют на дрожание одной из фаз. - alex68(29.05.2013 20:12)
- Леонид Иванович применяет что? Grayhill & Bourns с волшебным декодером, или то, что продаётся, и подключив к двум ножкам, с которых можно получить прерывание? - fk0(29.05.2013 20:18)
- в каждой мышке по энкодеру. ничё не дрожит. - Mahagam(29.05.2013 22:31)
- Применяю Bourns с волшебным декодером, который имеет гистерезис на два состояния энкодера. - Лeoнид Ивaнoвич(29.05.2013 20:53)
- Леонид Иванович применяет что? Grayhill & Bourns с волшебным декодером, или то, что продаётся, и подключив к двум ножкам, с которых можно получить прерывание? - fk0(29.05.2013 20:18)
- Еще раз. Никто не применяет в нормальных изделиях открытые оптические енкодеры. Закрытым - Grayhill, Bourns на свет плевать. Точно так же как и декодеры для них не реагируют на дрожание одной из фаз. - alex68(29.05.2013 20:12)
- Свет может проникать через щели в приборе и это не значит, что работать не будет. Это значит, что остановись энкодер в граничном положении у него одна фаза будет немного дрожать с частотой смены освещённости (если лампа накаливания, например). fk0(97 знак., 29.05.2013 20:06)
- Если такое происходит, то разработчика вместе с его энкодером надо (Вы лучше знаете, что). - Лeoнид Ивaнoвич(29.05.2013 19:44)
- Разработчика чего именно? Программы разве что. Ибо это фундаментальные свойства любого энкодера остановись он где-то на грани. При работе с энкодером нужен алгоритм не позволяющий дребезга. - fk0(29.05.2013 19:57)
- Дребезг энкодера не приводит к инкременту/декременту переменных. - Лeoнид Ивaнoвич(29.05.2013 20:54)
- Разработчика чего именно? Программы разве что. Ибо это фундаментальные свойства любого энкодера остановись он где-то на грани. При работе с энкодером нужен алгоритм не позволяющий дребезга. - fk0(29.05.2013 19:57)
- Гм, обычно, если параметр изменяют с помощью енкодера, (да и с помощью кнопок INC/DEC) то ждут какое-то время, и только потом, если нужно, записывают новое значение. Каждое изменение никто не пишет, зачем? И у какого это оптического енкодера может alex68(105 знак., 29.05.2013 20:01)
- согласен, протираться будет, если сохранять безусловно. у меня обычно есть что писать чаще раза в секунду, а недозаписанное после сброса пытается перезаписаться. - Vit(29.05.2013 18:32)
- С энкодером можно нарваться. Значение может +-1 прыгать несколько раз в секунду. Если стоит где-то на грани. Причём проявиться это может когда мехника энкодера разболтается слегка. Или от внешней засветки, если оптический, ровно 50 раз в секунду... - fk0(29.05.2013 19:18)
- те Вы думаете если сам прибор не работает (а при частых перезапусках он работать не будет), то то что он не будет сбрасывать настройки это устроит юзера? Nikolay801_(10 знак., 29.05.2013 17:51)
- Конечно ненулевая. Ну и пусть, во всем нужно знать меру. И какое протирание до дыр? Если значения пользователем не менялись, то и сохраняться ничего не будет, пусть питание как угодно дергается. - Лeoнид Ивaнoвич(29.05.2013 18:06)
- В первом приближении конденсатора хватает. Супервизор обычно внешний - можно отследить - находятся условия, когда ловит бороду. Речь может идти о минимизации вероятности сброса во время записи, но она, к сожалению, всё-равно ненулевая. А если Vit(505 знак., 29.05.2013 17:17)
- Совершенно непонятно. Практика с конденсатром должна быть положительной. Может быть, был косяк в другом месте? - Лeoнид Ивaнoвич(29.05.2013 16:54)
- Подтверждаю. Работают десятки тысяч устройств, например те же кровати, в которых запоминается положение медицинской кровати во время выключения. - Vladimir Ljaschko(29.05.2013 16:27)
- У нас на одном из корпусов областной больницы (вроде теперь хирургического отделения) поставили несколько сот. песец, но факт. в таких условиях динамики колонок орут с выключенным питанием. думаете ни один проц не сбрасывается?:) - Vit(29.05.2013 17:24)
- Всегда можно найти условия, для которых потребуются какие-то дополнительные меры. Но если особых требований нет, к чему лишние усложнения? - Лeoнид Ивaнoвич(29.05.2013 18:18)
- Скажу так - с проектом есть огромные проблемы, но сохранение работает и контроллер не сбрасывается! :) - Vladimir Ljaschko(29.05.2013 17:44)
- И немедленно выпил!:) - Vit(29.05.2013 18:18)
- У нас на одном из корпусов областной больницы (вроде теперь хирургического отделения) поставили несколько сот. песец, но факт. в таких условиях динамики колонок орут с выключенным питанием. думаете ни один проц не сбрасывается?:) - Vit(29.05.2013 17:24)
- Решение с конденсатором летает, и давно. Все нормально там успевает и помехи не страшны. - alex68(29.05.2013 16:27)
- у меня вполне "приемлимая частота сбоев" в топливо-заправочных колонках за последние 15 лет. НО! Любому из клиентов на это совершенно насрать. Заправка встала у НЕГО и сейчас! - Лагунов(30.05.2013 06:18)
- мой бывший начальник говорил: "Вы не говорите мне как нельзя сделать, скажите как можно сделать" Nikolay801_(33 знак., 29.05.2013 16:57)
- fk0 прав - само наличие EEPROM не спасает, а конденсаторы только вселяют ложную уверенность - Vit(29.05.2013 16:15)
- читай про спутник еще раз. Nikolay801_(99 знак., 29.05.2013 15:43)
- +1. При эффективном программировании поток глюков и ошибок не нужно стремить к нулю, а нужно лишь держать ниже некого порогового значения. - Лeoнид Ивaнoвич(29.05.2013 15:30)
- поставить не в курятник, а в цех, и словить "бороду" при просадке, которая пролетит через все люмини и "обычные" стабилизаторы на 3В питание/ресет во время той самой записи... - Vit(29.05.2013 15:37)
- запасать не 3В, а входное, U-квадрат дает большой запас, Nikolay801_(249 знак., 29.05.2013 15:27 - 15:32)
- Звучит как "у меня всё работает". Я выше написал чётко, что питание не является единственным фактором. И кроме того, "маскимальное потребление" может быть весьма высоким. Для шины 3.3в в целом. И её весьма тяжело схемотехнически отвязать от fk0(193 знак., 29.05.2013 15:18)
- Кстати говоря, было бы полезной фичей, если бы в контроллерах сделали отдельное питание для cortexM0 сопроцессора и SRAM. - =AlexD=(29.05.2013 14:12)
- Отдельное питание на SRAM много где есть. А по задаче - жирный кондер на VBAT, запитанный через диод от основного питания. Кварц часовой не ставить. Настройки хранить в бакапной памяти, калибровки - во флеше. Будет жить разумное время, ИМХО LightElf(9 знак., 29.05.2013 16:47)
- а я поленился посмотреть даташит, думал у этого чипа нет бекап мемори. Nikolay801_(80 знак., 29.05.2013 17:57)
- У всех STM32 бекап мемори есть. У топикового STM32F100C4 - цельных 20 байт. - LightElf(29.05.2013 20:57)
- Много лет начиная с DS1307 так делаю. - PlainUser(30.05.2013 10:50)
- Батарейку ставлю лишь в безвыходных ситуациях. - Лeoнид Ивaнoвич(30.05.2013 10:52)
- А нужно то для частой смены всего 4 (ток и напряжение). Может и имеет смысл батарейку поставить... К тому же часики заработают, если часовой кварц поставить. Приятно когда на приборе, с которым постоянно работаешь, можно посмотреть который час - Dir(29.05.2013 21:12)
- Много лет начиная с DS1307 так делаю. - PlainUser(30.05.2013 10:50)
- У всех STM32 бекап мемори есть. У топикового STM32F100C4 - цельных 20 байт. - LightElf(29.05.2013 20:57)
- Не, от кондёра жить будет неразумное время :-), но идея использовать регистры часиков для хранения важных настроек - интересна. - =AlexD=(29.05.2013 17:31)
- Если Леонид Иванович так настаивает на MTBF, то его должен удовлетворить и типовой срок жизни прибора в 5 лет. Батарейки хватит -- можно такую найти. Даже на 10-15 лет. А там трава не расти... - fk0(29.05.2013 17:39)
- У меня в ТЗ прописан типовой срок жизни прибора, равный остаточному сроку моей жизни. Нарушать ТЗ не имею права. - Лeoнид Ивaнoвич(29.05.2013 18:12)
- Это как-то не вяжется с допустимой потерей калибровки когда придётся. Потому, что через пять лет уже никто не вспомнит как его калибровать. Да и flash не слишком надёжный носитель, если сравнивать со сроком жизни человека. Вспомните 572РФ2 и т.п. fk0(356 знак., 29.05.2013 18:27)
- Я доверяю даташитам. Уверен, 24С04 меня переживёт. - Лeoнид Ивaнoвич(29.05.2013 19:00)
- Это как-то не вяжется с допустимой потерей калибровки когда придётся. Потому, что через пять лет уже никто не вспомнит как его калибровать. Да и flash не слишком надёжный носитель, если сравнивать со сроком жизни человека. Вспомните 572РФ2 и т.п. fk0(356 знак., 29.05.2013 18:27)
- У меня в ТЗ прописан типовой срок жизни прибора, равный остаточному сроку моей жизни. Нарушать ТЗ не имею права. - Лeoнид Ивaнoвич(29.05.2013 18:12)
- Если Леонид Иванович так настаивает на MTBF, то его должен удовлетворить и типовой срок жизни прибора в 5 лет. Батарейки хватит -- можно такую найти. Даже на 10-15 лет. А там трава не расти... - fk0(29.05.2013 17:39)
- +1 - fk0(29.05.2013 16:56)
- а я поленился посмотреть даташит, думал у этого чипа нет бекап мемори. Nikolay801_(80 знак., 29.05.2013 17:57)
- Отдельное питание на SRAM много где есть. А по задаче - жирный кондер на VBAT, запитанный через диод от основного питания. Кварц часовой не ставить. Настройки хранить в бакапной памяти, калибровки - во флеше. Будет жить разумное время, ИМХО LightElf(9 знак., 29.05.2013 16:47)