[uquote="Kalisnik",url="/forum/viewtopic.php?p=4043576#p4043576"]По пункту 2... ?[/uquote]
Нет, аппаратный ресет вызывает дефолтное состояние настроек модуля ШИМ, а значит его останов и полное отключение от пинов. Заработает он снова только после инициализации.
Поэтому нужно не допускать ресета без КОРРЕКТНОГО останова ШИМ с учетом потребностей целевой схемы.
Так что все зависит от схемы.
[uquote="Kalisnik",url="/forum/viewtopic.php?p=4043639#p4043639"]Т.е. я не понял зачем "блокировать выдачу сигналов управления на исполнительные устройства" и как это работает?[/uquote]
Если речь идет, например, о частотном преобразователе, то нужно просто выключить все ШИМы и обеспечить нули на всех выходах мостов, дабы избежать постоянной составляющей тока через обмотки двигателя.
Я же сказал - все зависит от схемы которой управляет ШИМ.
[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=4043530#p4043530"]прерывание - никак, а вот сигнал сброса - запросто, у ноги ресет ведь это получается, и собака может [/uquote]
С ресетом понятно всё, но утверждается, что собака
Твоя собака должна не только сбрасывать МК, но блокировать выдачу сигналов управления на исполнительные устройства.
Собака не может ничего блокировать. Она просто ресетит МК и дефолтит настройки всех модулей, включая ШИМ. Вся безопасность в этом случае ложится на аппаратурное решение ВНЕ МК.
Вся безопасность в этом случае ложится на аппаратурное решение ВНЕ МК.
Совершенно верно, именно это я и имел ввиду. Смысл в том, что если собака формирует сброс МК, то этот сброс должен заблокировать выдачу управляющих сигналов. Ессно, это уже решается схемами за пределами МК, о чём справедливо было замечено. Кстати, если дело дошло до срабатывания собаки, то не факт, что МК после сброса вообще заработает. Поэтому и нужно, чтобы сброс от собаки блокировал выдачу сигналов управления на исполнительные устройства.
КРАМ писал(а):Вся безопасность в этом случае ложится на аппаратурное решение ВНЕ МК.
tonyk писал(а):если дело дошло до срабатывания собаки, то не факт, что МК после сброса вообще заработает.
Вот теперь все стало совершенно понятно. Спасибо за ответы
Добавлено after 5 minutes 12 seconds:
Собака вообще надежный способ защиты? Она сработает в 100% случаях? Я имею в виду, можно ли доверить собаке защиту от "большого БАХа" или лучше перестраховаться аппаратно?
Добавлено after 4 minutes 56 seconds:
В моем случае при "зависании" МК нужно просто отключить ШИМ. Если собака сработает в 100% случаях, то ее будет достаточно. Либо делать дополнительно аппаратные таймеры на цепи нагрузки, например, на основе RC-цепочки, которые будут выключать нагрузку по истечении заданного времени. Вот думаю, стоит ли заморачиваться?
собаки хватит, только сделай ловушку - при включении смотри причину сброса, если собака - обнуляй ШИМ принудительно, приводи остальные выводы в "аварийное" состояние и зацикливайся в бесконечный цикл с #ASM WDR внутри, если есть экран - можно на него какую алярму вывести.
Для тех, кто не учил магию мир полон физики
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
в жизнено важных девайсах яб при сбое/аварии включил силовой тиристор с реактором котрый устроил межфазное и быбил автомат защиты и все отрубил от беды
можно и заменит в щите стандартный автомат нна спецДИФавтомат НА ТОТЖЕ ТОК применить +от катушки его реле которого сделать выводы на внешне управление с сжемв АЗ реле сработало а там оно очень быстрое 20-40мс гдето и все автомат рвет все три фазы с дугогашением
Добавлено after 3 minutes 15 seconds:
можно даже не вскрывать диф а дублировать функцию кнопки тест оптроном тиристорным
без нульоргана
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Если блокировать управляющие сигналы идущие на периферию перед ресетом, то ШИМ (без модуляции, т.е. с заданной на момент ресета скважностью) будет работать пока ядро перезагружается?
У Attiny 1-ой серии в таймер D можно загрузить потенциалы на ногах прямиком из фьюзов. То бишь ШИМ хоть и остановится (регистры обнулены по ресету), но баха не произойдёт.
Добавлено after 2 minutes 47 seconds:
Кстати, если дело дошло до срабатывания собаки, то не факт, что МК после сброса вообще заработает.
Значит, МК ресетнётся ещё раз. Регистры собаки в AVR по ресету не сбрасываются. А те, что стояли на прерывания, встают на сброс.
[uquote="Kalisnik",url="/forum/viewtopic.php?p=4044046#p4044046"]Как спасаться?[/uquote]
Я уже сказал - зависит от задачи.
Зависание МК - это баг исходника.
Я с зависаниями в реальных изделиях практически не сталкивался. а если сталкивался. то находил причину. Вачдоги я нигде в качестве защиты от зависаний не включаю. Есть пара изделий, где вачдог выполняет защитные функции от попытки взлома авторизации.
Самое частое имхо - забывают включать таймаут при ожидании какого-то внешнего события или неправильного его обрабатывают. Т.е. ответ от какого-нибудь датчика и т.п. Когда на "стенде" всё работает идеально, такое легко забыть. В реальном ус-ве же возникают нюансы, которые тянут за собой проблемы. Вот тут кстати собака вполне себе полезной может оказаться. Но вообще именно что от задачи и ус-ва всё сильно зависит.
[uquote="Kalisnik",url="/forum/viewtopic.php?p=4044123#p4044123"]Интересно, какие причины зависаний Вы находили? [/uquote] Необработку исключений и нештатные зацикленные таймауты. Но это обычная рутинная работа при написании кода. Сейчас, например, в одном из серийных изделий вроде есть разовые случаи подвисания на объектах (при сбросе по питанию работоспособность восстанавливается). Но воспроизвести их в условиях отдела разработки или цеха пока не выходит. Возможно. проблема имеет аппаратный характер.
Но это не глухое зависание. Устройство остается под контролем компьютерного ПО - обмен идет при подключении ноутбука. Просто замирает уровень выходного сигнала и устройство не детектирует целевую метку.
Для тех, кто не учил магию мир полон физики
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Жестко! Хорошо, что в помещении не было людей. У пожарников есть поговорка: "Лучше перебздеть, чем недобздеть". Думаю в системах где имеются большие риски, защиту нужно дублировать. Если не сработает первая ступень защиты, сработает вторая...
Вот в моем случае.. Стенд для проверки форсунок. Планируется коротковременно разгонять соленоид до 4 А. Если ШИМ при этом зависнет - соленоид сгорит. Если учесть, что через форсунку бегает пожароопасная жидкость, мне кажется, собаку лучше дублировать аппаратной защитой. И спать спокойно...
Я как-то делал "многоразрядный" (12 бит чтоль? — не помню точно) ШИМ-ЦАП на ATtiny2313. Для увеличения скорости ШИМа использовал UART (с помощью таблицы в ПЗУ можно было создать ШИМ "плывущей" тактовой частоты почти как у сигма-дельта-ЦАП). Для увеличения скорости UART надо было включить вывод XCK — тактовый сигнал UART (синхронный режим), иначе он делил частоту на 8 (асинхронный режим). Так вот, этот пин на корпусе МК находится рядом с пинами кварцевого резонатора. Если на выход XCK подать частоту, равную частоте кварца (в настройках UART это сделать можно) или (при большой частоте кварца) её половину, то кварцевый генератор загибался из-за наводок с пинов UART. Короче у меня вышел неприятный облом с высокочастотным ШИМом. Я, конечно, добился желаемого, но на меньшей частоте, чем хотел.
Почему я занимался таким извратом, а не использовал цивилизованный таймер для этих целей — отдельный вопрос. Факт в том, что МК может встать тупо из-за того, что генератор загнётся из-за каких-нибудь наводок.
В защиту разработчиков ATtiny2313 могу сказать лишь то, что я использовал МК в DIP-корпусе и схема была собрана на макетной панели (хотя алюминиевое дно макетки было заземлено). Впрочем, я подозреваю, что дело всё-таки было не в паразитных ёмкостях монтажа, а в паразитных связях на самом чипе МК.