-
- Встроенный в процессор вачдог это профанация по большому счету.Для серьезных применений непригоден. PlainUser(124 знак., 16.05.2018 08:04)
- Одну штуку, которая труднодоступна после подачи питания, я вообще сделал с main-циклом, запускающимся по watchdog-reset. То есть, МК постоянно перезагружается watchdog-таймером. Проверяет состояния выводов, состояние RAM и, в соответствии Nikolay_Po(255 знак., 15.05.2018 10:57)
- Вопрос из серии Пользуетесь ли вы RTC. Когда считаю нужным(необслуживаемая труднодоступная работа) - пользуюсь, когда прибор носить в руке - нет - Petrovich(14.05.2018 10:05, )
- Я догом пользуюсь для принудительного сброса удобно периферию в "дефайн" приводить. - PeterD(14.05.2018 08:25)
- Постоянно и неукоснительно! Лет, эдак, 20! (МП системы ограничения доступом ...) serhio(75 знак., 13.05.2018 22:47)
- Нет, не вижу смысла. А вот детектор питания полезен, например AVR при питании 1.1-1.3В работает весьма причудливо - argus98(12.05.2018 11:21)
- если характер устройства допускает произвольный перезапуск. Но как вы представляете себя это, если колонка отпускает камазу 300 литров? И внезапно всё перезапустилось. :-) - Лагунов(12.05.2018 08:33)
- Вот интересно, чем занималась программа в момент, когда солярка льётся? - Крок(12.05.2018 15:27)
- ? прикалываемся? Вам кто импульсы считает и на индикации отлитое показывает? И вот после 290 литров начнется опять с нуля - круто. :-) - Лагунов(12.05.2018 18:40)
- Мне бы импульсы считал 155ИЕ2, или брат его со встроенным дешифратором :-) Но программа, которая может подвиснуть при подсчёте импульсов - это за гранью моего понимания. - Крок(12.05.2018 20:13)
- так она у меня и не подвисает. Потому и нет WDT. А вот его глюки могут нагадить. - Лагунов(14.05.2018 08:21)
- То есть у Собаки могут быть самостоятельные глюки? - Крок(14.05.2018 22:04)
- При некотором умении
блохглюки можно нацепить и на собаку :-) - SciFi(14.05.2018 22:08)- Довольно длинная тема. Краткая квинтэссенция глюков ADM1232 примерно такова: 1. Кривая разводка. 2. Говённый отечественный DC-DC (к сожалению, ТС так и не выдал их). - Точка опоры(14.05.2018 22:19, ссылка)
- Мораль. Задача счётчика литров решается с помощью микросхем 514 серии - десятичный счётчик с дешифратором на 7-сегментный индикатор. - Крок(14.05.2018 22:45)
- конечно решается. Чужие проблемы всегда легко решаются. Пока в руки не возьмешь. :-) - Лагунов(15.05.2018 08:10)
- может 564 серии? - Alex68(15.05.2018 00:40)
- может быть. Не упомню. Хотя к 564 серии наш НИИ не подпускали, но откуда-то я знал про этот счётчик. - Крок(15.05.2018 11:22)
- кстати, я видел такое чудо на 564 серии примерно в начале 90-х. - Лагунов(15.05.2018 07:51)
- Скорее всего для управления ЖКИ, а не СД - Крок(16.05.2018 14:16)
- Именно 514, она ж биполярная. Защелкиванию не подлежит, или ошибаюсь?. - fk0(15.05.2018 01:01)
- А также любым современным маложрущим MCU c резервной батарейкой. - Evgeny_CD(14.05.2018 22:46)
- так, чисто для справки. Какие МК использованы из того, что я видел. Разного типа Атмелы (от 89С51 до Меги128), Винбонд (х51). И даже какой-то STC89C58R. Само собой от Зилога - только мое (Z86E3016, Z8F082, Z8F1680) :-). От STM пока ни у кого не Лагунов(184 знак., 15.05.2018 08:02)
- Не. Мораль: при некотором умении залажать можно всё! - SciFi(14.05.2018 22:48)
- Это бесспорно! :) - Evgeny_CD(14.05.2018 22:49)
- Мораль. Задача счётчика литров решается с помощью микросхем 514 серии - десятичный счётчик с дешифратором на 7-сегментный индикатор. - Крок(14.05.2018 22:45)
- Довольно длинная тема. Краткая квинтэссенция глюков ADM1232 примерно такова: 1. Кривая разводка. 2. Говённый отечественный DC-DC (к сожалению, ТС так и не выдал их). - Точка опоры(14.05.2018 22:19, ссылка)
- При некотором умении
- Ну ваще-та вотчдог для того и создан, что если контроллер подвиснет, то он те станет бак заливать бесконечно. А чтоб не с нуля считал, надо правильно архитектуру закладывать. У микрочипа в сях есть persistent, в арм NOLOAD. Все, что необходимо Shatun_(161 знак., 14.05.2018 09:21)
- То есть у Собаки могут быть самостоятельные глюки? - Крок(14.05.2018 22:04)
- так она у меня и не подвисает. Потому и нет WDT. А вот его глюки могут нагадить. - Лагунов(14.05.2018 08:21)
- Мне бы импульсы считал 155ИЕ2, или брат его со встроенным дешифратором :-) Но программа, которая может подвиснуть при подсчёте импульсов - это за гранью моего понимания. - Крок(12.05.2018 20:13)
- надо ... майнить ... биткоин ... нельзя ... терять ... ни ... секунды ... - SciFi(12.05.2018 15:34)
- ? прикалываемся? Вам кто импульсы считает и на индикации отлитое показывает? И вот после 290 литров начнется опять с нуля - круто. :-) - Лагунов(12.05.2018 18:40)
- Перезапустилась, поняла, что налила от 150 до 200 литров и продолжила исходя из предположения, что налила 200. Сигнализировала об аварийной ситуации оператору. Какая альтернатива? Повисла и наливает безостановочно? И чтоб её выключить нужно fk0(102 знак., 12.05.2018 11:56)
- В современных МК есть BKP SRAM, которая не сбрасывается при перезагрузке. Если её нет, можно поставить копеечную FRAMку или MRAM и писать сколько влезет, там ресурс памяти почти бесконечный. evgeniy1294(78 знак., 13.05.2018 19:37)
- С чего она "поняла"? Я могу конечно не чистить ОЗУ после сброса, но где я вам разберу, что верно, а что нет? А зачем куда-то лезть, если можно рубильником выключить? И кстати, за 20 лет экспулатации самых разных версий о подобном мне не докладали. Лагунов(28 знак., 12.05.2018 18:43)
- хозяйке на заметку: в упоминавшихся STM32L476 есть небольшое, но, КМК, достаточное количество энергонезависимой памяти, также есть 32 Кбайт SRAM с ECC; Vit(514 знак., 13.05.2018 18:27)
- чисто энергонезависимой памяти там нет. Это в серии STM32L05хх. Но FRAM конечно перспективно. Если туда каждую секунду сбрасывать текущее состояние ОЗУ, то да. А с батарейками - не 100%-но. - Лагунов(14.05.2018 08:23)
- вон что буржуи придумали --> - SciFi(14.05.2018 10:36, ссылка)
- В STM32L052x6, STM32L052x8 имеется 20-byte backup register. Кроме батареек есть конденсаторы, в т.ч. ионисторы. Как у людей часы вааще работают... - Vit(14.05.2018 10:29 - 10:31)
- чисто энергонезависимой памяти там нет. Это в серии STM32L05хх. Но FRAM конечно перспективно. Если туда каждую секунду сбрасывать текущее состояние ОЗУ, то да. А с батарейками - не 100%-но. - Лагунов(14.05.2018 08:23)
- С того, что ты в процессе налива 4 раза в секунду в EEPROM будешь писать значение счётчика. А при сбросе насос будет останавливаться. - fk0(12.05.2018 20:07)
- 4 раза в секунду - только FRAM. Конечно при сбросе всё выключится, вопросов нет. - Лагунов(14.05.2018 08:24)
- Да, EEPROM, особенно современные (пишут "побайтовая запись", а внутри на самом деле блоки по 256 байт) -- не очень уже. А serial NOR-flash -- вполне. Конечно там у каждого блока ресурс всего 100 тыс. стираний. Так во-первых стираний же, а не fk0(675 знак., 14.05.2018 11:14)
- Wear leveling? Не, не слышал. - SciFi(14.05.2018 09:17)
- я так понял что данная технология для записи однотипной структуры, к примеру хранения настроек. Для журнала не совсем пойдет, или нет?. Плюс немного усложняется(разбухает) если для такой микросхемы M95M01(c ECC). - Constantin24(16.05.2018 07:38)
- для журнала отлично подходит. Причем применить для журнала ее еще проще. - Nikolay801_(16.05.2018 09:10)
- я так понял что данная технология для записи однотипной структуры, к примеру хранения настроек. Для журнала не совсем пойдет, или нет?. Плюс немного усложняется(разбухает) если для такой микросхемы M95M01(c ECC). - Constantin24(16.05.2018 07:38)
- 4 раза в секунду - только FRAM. Конечно при сбросе всё выключится, вопросов нет. - Лагунов(14.05.2018 08:24)
- У меня в одной прграмме в начале стояла проверка некоторого контрольного значения в ОЗУ. Если из ОЗУ прочитано верное значение, значит содержимое ОЗУ в относительной сохранности и можно продолжить работу с того-же места. - AlexG(12.05.2018 18:54)
- ну я (если честно) в одной версии примерно так и сделал. Там пришлось заводить всё же WDT из-за странных происшествий. Так я в начале проверял что произошел перезапуск по WDT, а потом смотрел память. Но как-то и это работает во многих местах без Лагунов(309 знак., 12.05.2018 19:18 - 19:20)
- в IARе можно пометить переменные как __no_init и тогда при старте они не будут обнуляться. AlexG(108 знак., 12.05.2018 19:32)
- Интересно, можно ли так же в Кейле. - Лагунов(14.05.2018 08:25)
- В скаттере или как его там отрезаем кусок ОЗУ, чтобы он его не трогал, и резвимся там через указатель. Соответственно, работает везде, причем одинаково. - SciFi(14.05.2018 10:27)
- Для арм можно, хз как с остальным, не искал... POV_(48 знак., 14.05.2018 10:22, )
- спасибо, буду знать - Лагунов(14.05.2018 14:35)
- Интересно, можно ли так же в Кейле. - Лагунов(14.05.2018 08:25)
- в IARе можно пометить переменные как __no_init и тогда при старте они не будут обнуляться. AlexG(108 знак., 12.05.2018 19:32)
- ну я (если честно) в одной версии примерно так и сделал. Там пришлось заводить всё же WDT из-за странных происшествий. Так я в начале проверял что произошел перезапуск по WDT, а потом смотрел память. Но как-то и это работает во многих местах без Лагунов(309 знак., 12.05.2018 19:18 - 19:20)
- хозяйке на заметку: в упоминавшихся STM32L476 есть небольшое, но, КМК, достаточное количество энергонезависимой памяти, также есть 32 Кбайт SRAM с ECC; Vit(514 знак., 13.05.2018 18:27)
- Вот интересно, чем занималась программа в момент, когда солярка льётся? - Крок(12.05.2018 15:27)
- Я всегда. Иногда внешнюю микросхему дополнительно. И в программе если нет движения реинициализирую периодически кишки. - Vesago(12.05.2018 07:15)
- Мне приходилось писать программу с так сказать - интегрированной в алгоритм поддержкой дог-таймера. Это когда программа работает и выполняет свои функции как ни в чем не бывало, несмотря на единичные (но все-же довольно частые) срабатывания il-2(1457 знак., 12.05.2018 07:01)
- От же ж, блин. Сижу и думаю, а не сделать ли мне вот именно то, что вы описали. И тут вот. Но. Пришёл к выводу, что мне сие не подойдёт, минут за пять до прочтения вашего поста. Бывает же :) - Барбос(12.05.2018 21:47)
- На прототредах должно быть достаточно тривиально. - SciFi(12.05.2018 12:06)
- спасибо, именно всё так и делаю + часть переменных/флагов держу в eeprom на случай off/on питающей сети. - m16_home(12.05.2018 12:04)
- Чем-то спекки напоминает )) Там очень часто обработка прерывания завершалась инициализацией стека и жесткого перехода куда-то внутрь основной части программы. - POV_(12.05.2018 07:47, )
- У меня с собакой как-то не сложилось. Лишь в загрузчике использую - если ему херню вместо корректной прошивки с остановкой собаки подсунули. - POV_(12.05.2018 00:46, )
- В загрузчике нужно хеш паршивки проверять. Ну или хоть CRC. - fk0(12.05.2018 01:01)
- Тормоза придумали трусы! Сразу запрещаю вачддог, brownout detector тоже, в gcc обязательно ставлю опции -w, -fpermissive, -DNDEBUG. Ещё функции все в K&R-стиле декларирую. В аттаче книжка для говнокодеров проф. уровня, не любителей. fk0(12.05.2018 00:25)
- В книге сравнение аж с ALGOL68 и анализ максимально возможной даты с ограничением до января 2038 года. De_User(12.05.2018 03:45)
- Когда-то пробовал, но разочаровался. Внутреннее чувство брезгливости выработалось: что-то поганенькое есть в программах, рассчитанных, что собачка спасёт :) - ANT(12.05.2018 00:23)
- Я-то всегда считала, что вачдог от аппаратного зависания нужен, а не ошибки в программе исправлять. Типа космический луч попадет на базу главного транзистора. :) - Ксения(12.05.2018 00:27)
- +1. пользую вачдог исключительно от аппаратного зависания поскольку девайсы работают в жёстких условиях - m16_home(12.05.2018 00:44)
- Это просто точка зрения. Не запускаю я ракеты ни в космос, ни ближе. - ANT(12.05.2018 00:30)
- Ошибки есть всегда. И отсутствие сторожевого таймера запросто превращает одиночный временный сбой (перезапуск системы при выполнении одной операции) в постоянный отказ (повисло и без специально обученного человека не перезапустить, кнопки резет fk0(1223 знак., 12.05.2018 00:41)
- По поводу "одиночного временного сбоя" вспомнился Геркулес (Cortex R4F), где помимо вачдога дофига разных аварийных прерываний на все случаи жизни. Причем, большую часть из них можно использовать не как reset, а для исправления (!) ошибок, вплоть Ксения(192 знак., 12.05.2018 16:57, ссылка)
- У PIC24 Экспериментатор(195 знак., 12.05.2018 19:56, )
- Ваш PIC24 не может тягаться с двухядерной моделью, где ядра дублируют друг друга (с запаздыванием в несколько тактов). Скажем, если арифметическое устройство ошиблось при умножении, то PIC24 не сможет такую ошибку распознать, тогда как R4F Ксения(101 знак., 12.05.2018 20:29)
- а что, такое действительно может быть? серьезно Constantin24(81 знак., 14.05.2018 07:53)
- Вообще-то умножение - самая сложная операция у процессоров и контроллеров, в ней же обычно задействовано наибольшее число транзисторов. Потому и ошибка, если она равномерно распределена, то на умножении должна встречаться чаще. - Ксения(14.05.2018 08:04)
- и как от такого можно защититься? без доп ядра. Не пересчитывать же все заново, это же куча потраченных
денегвремени - Constantin24(14.05.2018 08:16)- Думаю, что без доп ядра никак. Но и как с доп ядром, плохо представляю. - Ксения(14.05.2018 08:20 - 08:22, ссылка)
- и как от такого можно защититься? без доп ядра. Не пересчитывать же все заново, это же куча потраченных
- Вообще-то умножение - самая сложная операция у процессоров и контроллеров, в ней же обычно задействовано наибольшее число транзисторов. Потому и ошибка, если она равномерно распределена, то на умножении должна встречаться чаще. - Ксения(14.05.2018 08:04)
- а что, такое действительно может быть? серьезно Constantin24(81 знак., 14.05.2018 07:53)
- У PIC24 сделано просто прекрасно: с нулевого адреса лежат регистры процессора (WREG). Т.е. если кто-то записывает по NULL-указателю будет очень качественный глюкодром. У нормальных CPU первые 64-килобайта запрещены для обращения из-за NULL. - fk0(12.05.2018 20:11)
- А кто этот кто-то? И почему указатель может принять значение NULL? По мне, так вероятнее рандомное значение как результат ошибки в расчете указателя. my504(280 знак., 12.05.2018 20:23 - 20:25)
- "У нормальных CPU первые 64-килобайта" - где найти столько памяти в PIC24? Более подробно про способ получения глюков можете написать? - Экспериментатор(12.05.2018 20:23, )
- Речь про виртуальные адреса, а не физическу память же. Ну хотя бы пара килобайт! Типичный размер объекта (структуры) к которой идёт обращение -- меньше 256 байт. Способ получения глюков элементарный. В языке C/C++ принято иметь такое понятие как fk0(132 знак., 12.05.2018 20:52)
- Да ладно! Некоторые не верят в существование нулевых указателей, поскольку сами их никогда не видели. Приблизительно как электрон :-) - SciFi(12.05.2018 20:55)
- Нулевые указатели - добро. lloyd(263 знак., 12.05.2018 21:36)
- Да ладно! Некоторые не верят в существование нулевых указателей, поскольку сами их никогда не видели. Приблизительно как электрон :-) - SciFi(12.05.2018 20:55)
- Речь про виртуальные адреса, а не физическу память же. Ну хотя бы пара килобайт! Типичный размер объекта (структуры) к которой идёт обращение -- меньше 256 байт. Способ получения глюков элементарный. В языке C/C++ принято иметь такое понятие как fk0(132 знак., 12.05.2018 20:52)
- Ваш PIC24 не может тягаться с двухядерной моделью, где ядра дублируют друг друга (с запаздыванием в несколько тактов). Скажем, если арифметическое устройство ошиблось при умножении, то PIC24 не сможет такую ошибку распознать, тогда как R4F Ксения(101 знак., 12.05.2018 20:29)
- У PIC24 Экспериментатор(195 знак., 12.05.2018 19:56, )
- как узнать есть ли latch up у компонента? - lexxx-lexxx(12.05.2018 10:36)
- У дискретного транзистора нет. У схемы на общей подложке через неё и есть. В общем случае подвержены многие логические ИМС, да и не только. Для ряда ИМС заявляется некий hardening. Честно говоря, меня смущают современные микросхемы импульсных fk0(29 знак., 12.05.2018 12:04, ссылка)
- Вдогонку, порядок подачи питания (powere sequencing) может очень даже тоже подпортить жизнь. Типично есть вариант когда 220-->12v-->5v-->3.3v-->1.8v -- тогда ок, всё включается практически одновременно. А в варианте, например, когда из 5v fk0(568 знак., 12.05.2018 15:42)
- И правильно, что смущают. Я как-то наблюдал защелкивание входа обратной связи у повышающего преобразователя. Вместо положенных 5В, он выдавал аж 40В, прекратить это безобразие можно было только полным снятием входного напряжения. Удивительно, что Экспериментатор(214 знак., 12.05.2018 12:27, )
- По идее ещё источник питания должен иметь hiccup mode current limiting. Иначе пока ватчдог сработает -- всё перегреется и сгорит. Да и сильноточные и слаботочные цепи неплохо бы отделить. Ток измерять вообще тяжко. Может проще положиться на fk0(2649 знак., 12.05.2018 14:45)
- Вообще-то, TVS предназначены только для защиты от статики, посмотрите в документ, который сами выложили. Я писал про обычный мощный стабилитрон. В моем случае ток потребления был очень маленький, поэтому оно так раскочегаривалось. Для чего я об Экспериментатор(189 знак., 12.05.2018 15:12, )
- TVS принципиально от стабилитрона, диода им. Зенера в западной терминологии, отличаются преимущественно способностью работы в лавинном режиме и быстрым включением при больших токах и напряжениях, способны в себе запасти большее количество энергии fk0(2261 знак., 12.05.2018 16:22 - 16:30)
- Есть ещё самовосстановливающиеся предохранители. Экономят мощность стабилитрона - lexxx-lexxx(12.05.2018 22:30)
- TVS принципиально от стабилитрона, диода им. Зенера в западной терминологии, отличаются преимущественно способностью работы в лавинном режиме и быстрым включением при больших токах и напряжениях, способны в себе запасти большее количество энергии fk0(2261 знак., 12.05.2018 16:22 - 16:30)
- Вообще-то, TVS предназначены только для защиты от статики, посмотрите в документ, который сами выложили. Я писал про обычный мощный стабилитрон. В моем случае ток потребления был очень маленький, поэтому оно так раскочегаривалось. Для чего я об Экспериментатор(189 знак., 12.05.2018 15:12, )
- По идее ещё источник питания должен иметь hiccup mode current limiting. Иначе пока ватчдог сработает -- всё перегреется и сгорит. Да и сильноточные и слаботочные цепи неплохо бы отделить. Ток измерять вообще тяжко. Может проще положиться на fk0(2649 знак., 12.05.2018 14:45)
- У дискретного транзистора нет. У схемы на общей подложке через неё и есть. В общем случае подвержены многие логические ИМС, да и не только. Для ряда ИМС заявляется некий hardening. Честно говоря, меня смущают современные микросхемы импульсных fk0(29 знак., 12.05.2018 12:04, ссылка)
- По поводу "одиночного временного сбоя" вспомнился Геркулес (Cortex R4F), где помимо вачдога дофига разных аварийных прерываний на все случаи жизни. Причем, большую часть из них можно использовать не как reset, а для исправления (!) ошибок, вплоть Ксения(192 знак., 12.05.2018 16:57, ссылка)
- Ошибки есть всегда. И отсутствие сторожевого таймера запросто превращает одиночный временный сбой (перезапуск системы при выполнении одной операции) в постоянный отказ (повисло и без специально обученного человека не перезапустить, кнопки резет fk0(1223 знак., 12.05.2018 00:41)
- Я-то всегда считала, что вачдог от аппаратного зависания нужен, а не ошибки в программе исправлять. Типа космический луч попадет на базу главного транзистора. :) - Ксения(12.05.2018 00:27)
- Всегда. Как руки помыть перед едой. - Барбос(11.05.2018 23:19 - 23:32)
- Если программа работает, то количество ошибок в ней четное(С) - Vit(11.05.2018 23:31)
- Зачем? Что бы снова попасть в ту самую ситуацию, когда твоя прога не пашет? - max(11.05.2018 23:20)
- Это может случиться при редком сочетании (например) сигналов от АЦП и следующий раз произойдёт через месяц - Крок(11.05.2018 23:29)
- Обычно программисты сами виноваты, допуская цикл ожидания до появления/исчезновения признака, когда тот завис. Сама на этом попадалась - ждала от DMA флага готовности, а тот не пришел :). - Ксения(11.05.2018 23:36)
- Для этого умные люди рекомендуют делать цикл конечным, с негативным результатом ожидания. - Хитрый Китаец(12.05.2018 01:13)
- Так я и сказала, что "обычно программисты сами виноваты", подразумевая именно это - ожидание признака без контроля времени. - Ксения(12.05.2018 01:51)
- +1 - m16_home(12.05.2018 01:49)
- тайм-аут нужён на такой случай. лет 15-18 назад была у меня в переделке, очень срочной, линия упаковочная. там автономные весы были - как взвесят, выдают сигнал - взвешено, и значит можно исполнять алгоритм работы далее. но по неизвестной причине Alex68(256 знак., 12.05.2018 00:33)
- Изначально все алгоритмы должны подразумевать, что в аппаратуре, особенно внешней, возможны свои сбои. И сигнал может не прийти, может прийти 100500 сигналов в секунду когда кабель начнут пилить ножовкой и т.п. И нужна какая-то валидация, fk0(190 знак., 12.05.2018 00:45)
- ну в моем случае нужно было работать и не выдавать ошибку - весы такие по жизни и их не заменить. - Alex68(12.05.2018 00:52)
- Изначально все алгоритмы должны подразумевать, что в аппаратуре, особенно внешней, возможны свои сбои. И сигнал может не прийти, может прийти 100500 сигналов в секунду когда кабель начнут пилить ножовкой и т.п. И нужна какая-то валидация, fk0(190 знак., 12.05.2018 00:45)
- Для этого умные люди рекомендуют делать цикл конечным, с негативным результатом ожидания. - Хитрый Китаец(12.05.2018 01:13)
- Значит идеология программы неверна. - max(11.05.2018 23:34)
- Конечно. Но безупречная программа требует бесконечного времени создания. - Крок(12.05.2018 00:09)
- Как там у Стругацких, проблема требует бесконечного времени на решение - поэтому можно вообще не работать :) - Хитрый Китаец(12.05.2018 12:12)
- но программа уже продана... - Vit(11.05.2018 23:34)
- Костыль... Может быть. - max(11.05.2018 23:37)
- тут уж что уж... Vit(707 знак., 11.05.2018 23:52)
- Мы осознали бесполезность вачдога в далёком 2004. Изделие на базе AT91M42800A и внешним сбросом с вачдогом (что-то maxim-ское) периодически, раз в пару месяцев, ресетилось этим самым вачдогом. Управляемое им оборудование такой ресет не одобряло. max(265 знак., 12.05.2018 08:41)
- AT91M42800A и 2004г - это крутяк! Но если оборудование неодобряет, то надо делать дублированную систему. Два MCU, две ПЛИСки, ПО внутри в "сихронном стиле", чтобы компаратору было удобнее сравнивать, что управляющие программы работают одинаково. - Evgeny_CD(14.05.2018 14:50)
- Евгений, тут как-то проскакивала тема по ремонту барьера безопасности бумагорежущего станка. Там дублирование было выполнено не то, что в синхронном стиле, а вообще, на процессорах разной архитектуры, у которых синхронизатором был внешний, Nikolay_Po(37 знак., 14.05.2018 18:32)
- Я не против :) - Evgeny_CD(14.05.2018 21:29)
- таки да, было дело. синхронизатор - обычный мультивибратор. - Alex68(14.05.2018 21:25)
- Евгений, тут как-то проскакивала тема по ремонту барьера безопасности бумагорежущего станка. Там дублирование было выполнено не то, что в синхронном стиле, а вообще, на процессорах разной архитектуры, у которых синхронизатором был внешний, Nikolay_Po(37 знак., 14.05.2018 18:32)
- Прищемил причинное место молнией, выкинул штаны :-) - SciFi(14.05.2018 14:41)
- вот-вот. :-) - Лагунов(14.05.2018 14:36)
- А не правильнее было бы, дать пограммисту леща ? - AndreasW(13.05.2018 22:30)
- AT91M42800A и 2004г - это крутяк! Но если оборудование неодобряет, то надо делать дублированную систему. Два MCU, две ПЛИСки, ПО внутри в "сихронном стиле", чтобы компаратору было удобнее сравнивать, что управляющие программы работают одинаково. - Evgeny_CD(14.05.2018 14:50)
- Мы осознали бесполезность вачдога в далёком 2004. Изделие на базе AT91M42800A и внешним сбросом с вачдогом (что-то maxim-ское) периодически, раз в пару месяцев, ресетилось этим самым вачдогом. Управляемое им оборудование такой ресет не одобряло. max(265 знак., 12.05.2018 08:41)
- тут уж что уж... Vit(707 знак., 11.05.2018 23:52)
- Костыль... Может быть. - max(11.05.2018 23:37)
- Конечно. Но безупречная программа требует бесконечного времени создания. - Крок(12.05.2018 00:09)
- Обычно программисты сами виноваты, допуская цикл ожидания до появления/исчезновения признака, когда тот завис. Сама на этом попадалась - ждала от DMA флага готовности, а тот не пришел :). - Ксения(11.05.2018 23:36)
- Это может случиться при редком сочетании (например) сигналов от АЦП и следующий раз произойдёт через месяц - Крок(11.05.2018 23:29)
- Был случай, программа использовала сброс по вотчдогу для собственного перезапуска после софт-шатдауна. При запуске проверялось условие - холодный старт это или вкл после софт-шатдауна. Argon(105 знак., 11.05.2018 23:00 - 23:03)
- В одной консрукции делал на WD малопотребляющий таймер с длительной выдержкой. Точка опоры(296 знак., 12.05.2018 12:25)
- Формулировка товарища верная - программа должна работать с выключенным ватчдогом, но отсюда не следует, что ватчдог не надо использовать. Ватчдог - предохранитель (!), а исправное устройство должно работать и на жучке. :) - Ксения(11.05.2018 22:40)
- Это как презерватив одному из пидарасов. Даже от СПИДА не поможет. - max(11.05.2018 23:35)
- Особенно, если этот жучок - мелконогая таракашка ;) - mut(11.05.2018 23:18)
- А причем тут программа вообще? Я - использую везде, где они есть. В прошлом году сугубо на вочдоге отловили и вылечили мерзкие рандомные подвисания малинок. Скрипач(80 знак., 11.05.2018 22:26)
- Вылечил? Сомневаюсь! - max(11.05.2018 23:21)
- С точки зрения системы, вылечил. Вместо зависаний рестарты, меня это устраивает. - Скрипач(11.05.2018 23:26)
- О тож! - max(11.05.2018 23:33)
- Не понял патетитики. Малинка, о которой шла речь, имела законное право быть в любой момент обесточенной хозяином и включенной "когда-нибудь потом". Скрипач(160 знак., 12.05.2018 10:35 - 12:19)
- О тож! - max(11.05.2018 23:33)
- С точки зрения системы, вылечил. Вместо зависаний рестарты, меня это устраивает. - Скрипач(11.05.2018 23:26)
- Вылечил? Сомневаюсь! - max(11.05.2018 23:21)
- Меня тоже запишите. И, кстати, никакого противоречия с пафосом обвинителя нет. Пусть лучше нерабочая программа хоть как-то постарается вывернуться, чем сразу фобос в грунт. - SciFi(11.05.2018 22:24)
- Фобос в грунт и никого на лесоповал... Это мастер 60 лвл. Даже вачдог не помог. - max(11.05.2018 23:23)
- с другой стороны нерабочей программе никакой вачдог не поможет кроме прямых рук. спич в том, что чел делает автоматазацию небезопасного процесса. на мои доводы был получен сей ответ. - m16_home(11.05.2018 22:37)