Что происходит с сигналом ШИМ при "зависании" МК?

Обсуждаем контроллеры компании Atmel.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 25396
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="Kalisnik",url="/forum/viewtopic.php?p=4043576#p4043576"]По пункту 2... ?[/uquote]
Нет, аппаратный ресет вызывает дефолтное состояние настроек модуля ШИМ, а значит его останов и полное отключение от пинов. Заработает он снова только после инициализации.
Поэтому нужно не допускать ресета без КОРРЕКТНОГО останова ШИМ с учетом потребностей целевой схемы.
Так что все зависит от схемы.
Реклама
Мучитель микросхем
Сообщения: 430
Зарегистрирован: Вс апр 18, 2021 15:43:55

Сообщение Kalisnik »

Тогда я что-то снова не понимаю :dont_know:
Как это...:
tonyk писал(а):Твоя собака должна не только сбрасывать МК, но блокировать выдачу сигналов управления на исполнительные устройства.
Поможет этому?:
КРАМ писал(а):Поэтому нужно не допускать ресета без КОРРЕКТНОГО останова ШИМ
Добавлено after 6 minutes 13 seconds:
Т.е. я не понял зачем "блокировать выдачу сигналов управления на исполнительные устройства" и как это работает?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 25396
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="Kalisnik",url="/forum/viewtopic.php?p=4043639#p4043639"]Т.е. я не понял зачем "блокировать выдачу сигналов управления на исполнительные устройства" и как это работает?[/uquote]
Если речь идет, например, о частотном преобразователе, то нужно просто выключить все ШИМы и обеспечить нули на всех выходах мостов, дабы избежать постоянной составляющей тока через обмотки двигателя.
Я же сказал - все зависит от схемы которой управляет ШИМ.
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Сообщение parovoZZ »

[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=4043530#p4043530"]прерывание - никак, а вот сигнал сброса - запросто, у ноги ресет ведь это получается, и собака может :)[/uquote]
С ресетом понятно всё, но утверждается, что собака
Твоя собака должна не только сбрасывать МК, но блокировать выдачу сигналов управления на исполнительные устройства.
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 25396
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Собака не может ничего блокировать. Она просто ресетит МК и дефолтит настройки всех модулей, включая ШИМ. Вся безопасность в этом случае ложится на аппаратурное решение ВНЕ МК.
Реклама
Это не хвост, это антенна
Сообщения: 1324
Зарегистрирован: Вт ноя 19, 2019 06:10:18

Сообщение tonyk »

Вся безопасность в этом случае ложится на аппаратурное решение ВНЕ МК.
Совершенно верно, именно это я и имел ввиду. Смысл в том, что если собака формирует сброс МК, то этот сброс должен заблокировать выдачу управляющих сигналов. Ессно, это уже решается схемами за пределами МК, о чём справедливо было замечено. Кстати, если дело дошло до срабатывания собаки, то не факт, что МК после сброса вообще заработает. Поэтому и нужно, чтобы сброс от собаки блокировал выдачу сигналов управления на исполнительные устройства.
Реклама
Мучитель микросхем
Сообщения: 430
Зарегистрирован: Вс апр 18, 2021 15:43:55

Сообщение Kalisnik »

КРАМ писал(а):Вся безопасность в этом случае ложится на аппаратурное решение ВНЕ МК.
tonyk писал(а):если дело дошло до срабатывания собаки, то не факт, что МК после сброса вообще заработает.
Вот теперь все стало совершенно понятно. Спасибо за ответы :))

Добавлено after 5 minutes 12 seconds:
Собака вообще надежный способ защиты? Она сработает в 100% случаях? Я имею в виду, можно ли доверить собаке защиту от "большого БАХа" или лучше перестраховаться аппаратно?

Добавлено after 4 minutes 56 seconds:
В моем случае при "зависании" МК нужно просто отключить ШИМ. Если собака сработает в 100% случаях, то ее будет достаточно. Либо делать дополнительно аппаратные таймеры на цепи нагрузки, например, на основе RC-цепочки, которые будут выключать нагрузку по истечении заданного времени. Вот думаю, стоит ли заморачиваться?
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

собаки хватит, только сделай ловушку - при включении смотри причину сброса, если собака - обнуляй ШИМ принудительно, приводи остальные выводы в "аварийное" состояние и зацикливайся в бесконечный цикл с #ASM WDR внутри, если есть экран - можно на него какую алярму вывести.
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Друг Кота
Аватара пользователя
Сообщения: 39197
Зарегистрирован: Сб сен 13, 2014 16:27:32
Откуда: СпиртоГонск созвездия Омега

Сообщение musor »

в жизнено важных девайсах яб при сбое/аварии включил силовой тиристор с реактором котрый устроил межфазное и быбил автомат защиты и все отрубил от беды
можно и заменит в щите стандартный автомат нна спецДИФавтомат НА ТОТЖЕ ТОК применить +от катушки его реле которого сделать выводы на внешне управление с сжемв АЗ реле сработало а там оно очень быстрое 20-40мс гдето и все автомат рвет все три фазы с дугогашением

Добавлено after 3 minutes 15 seconds:
можно даже не вскрывать диф а дублировать функцию кнопки тест оптроном тиристорным
без нульоргана
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Сообщение parovoZZ »

Если блокировать управляющие сигналы идущие на периферию перед ресетом, то ШИМ (без модуляции, т.е. с заданной на момент ресета скважностью) будет работать пока ядро перезагружается?
У Attiny 1-ой серии в таймер D можно загрузить потенциалы на ногах прямиком из фьюзов. То бишь ШИМ хоть и остановится (регистры обнулены по ресету), но баха не произойдёт.

Добавлено after 2 minutes 47 seconds:
Кстати, если дело дошло до срабатывания собаки, то не факт, что МК после сброса вообще заработает.
Значит, МК ресетнётся ещё раз. Регистры собаки в AVR по ресету не сбрасываются. А те, что стояли на прерывания, встают на сброс.
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Сообщение NStorm »

Зависания не только программные бывают: https://en.wikipedia.org/wiki/Latch-up
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Сообщение parovoZZ »

Это защёлкивание, а не зависание.
Мучитель микросхем
Сообщения: 430
Зарегистрирован: Вс апр 18, 2021 15:43:55

Сообщение Kalisnik »

Это частое явление? Как спасаться?
Друг Кота
Аватара пользователя
Сообщения: 25396
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="Kalisnik",url="/forum/viewtopic.php?p=4044046#p4044046"]Как спасаться?[/uquote]
Я уже сказал - зависит от задачи.
Зависание МК - это баг исходника.
Я с зависаниями в реальных изделиях практически не сталкивался. а если сталкивался. то находил причину. Вачдоги я нигде в качестве защиты от зависаний не включаю. Есть пара изделий, где вачдог выполняет защитные функции от попытки взлома авторизации.
Мучитель микросхем
Сообщения: 430
Зарегистрирован: Вс апр 18, 2021 15:43:55

Сообщение Kalisnik »

Спасибо Всем за ответы :)

Добавлено after 4 minutes 26 seconds:
КРАМ писал(а):Я с зависаниями в реальных изделиях практически не сталкивался. а если сталкивался. то находил причину.
Значит явление весьма редкое и обычно происходит из-за чьих-то ошибок. Понятно. Интересно, какие причины зависаний Вы находили? :)
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Сообщение NStorm »

Самое частое имхо - забывают включать таймаут при ожидании какого-то внешнего события или неправильного его обрабатывают. Т.е. ответ от какого-нибудь датчика и т.п. Когда на "стенде" всё работает идеально, такое легко забыть. В реальном ус-ве же возникают нюансы, которые тянут за собой проблемы. Вот тут кстати собака вполне себе полезной может оказаться. Но вообще именно что от задачи и ус-ва всё сильно зависит.
Друг Кота
Аватара пользователя
Сообщения: 25396
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

[uquote="Kalisnik",url="/forum/viewtopic.php?p=4044123#p4044123"]Интересно, какие причины зависаний Вы находили? :)[/uquote] Необработку исключений и нештатные зацикленные таймауты. Но это обычная рутинная работа при написании кода. Сейчас, например, в одном из серийных изделий вроде есть разовые случаи подвисания на объектах (при сбросе по питанию работоспособность восстанавливается). Но воспроизвести их в условиях отдела разработки или цеха пока не выходит. Возможно. проблема имеет аппаратный характер.
Но это не глухое зависание. Устройство остается под контролем компьютерного ПО - обмен идет при подключении ноутбука. Просто замирает уровень выходного сигнала и устройство не детектирует целевую метку.
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

Вот тебе примерчик зависона и последствий (Хоть и не про ШИМ): Выдыхай, ангар, выдыхай! — IT happens
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Мучитель микросхем
Сообщения: 430
Зарегистрирован: Вс апр 18, 2021 15:43:55

Сообщение Kalisnik »

Жестко! Хорошо, что в помещении не было людей. У пожарников есть поговорка: "Лучше перебздеть, чем недобздеть". Думаю в системах где имеются большие риски, защиту нужно дублировать. Если не сработает первая ступень защиты, сработает вторая...

Вот в моем случае.. Стенд для проверки форсунок. Планируется коротковременно разгонять соленоид до 4 А. Если ШИМ при этом зависнет - соленоид сгорит. Если учесть, что через форсунку бегает пожароопасная жидкость, мне кажется, собаку лучше дублировать аппаратной защитой. И спать спокойно...
Собутыльник Кота
Аватара пользователя
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Сообщение B@R5uk »

На счёт зависания ядра и "зависания" МК целиком.

Я как-то делал "многоразрядный" (12 бит чтоль? — не помню точно) ШИМ-ЦАП на ATtiny2313. Для увеличения скорости ШИМа использовал UART (с помощью таблицы в ПЗУ можно было создать ШИМ "плывущей" тактовой частоты почти как у сигма-дельта-ЦАП). Для увеличения скорости UART надо было включить вывод XCK — тактовый сигнал UART (синхронный режим), иначе он делил частоту на 8 (асинхронный режим). Так вот, этот пин на корпусе МК находится рядом с пинами кварцевого резонатора. Если на выход XCK подать частоту, равную частоте кварца (в настройках UART это сделать можно) или (при большой частоте кварца) её половину, то кварцевый генератор загибался из-за наводок с пинов UART. Короче у меня вышел неприятный облом с высокочастотным ШИМом. Я, конечно, добился желаемого, но на меньшей частоте, чем хотел.

Почему я занимался таким извратом, а не использовал цивилизованный таймер для этих целей — отдельный вопрос. Факт в том, что МК может встать тупо из-за того, что генератор загнётся из-за каких-нибудь наводок.

В защиту разработчиков ATtiny2313 могу сказать лишь то, что я использовал МК в DIP-корпусе и схема была собрана на макетной панели (хотя алюминиевое дно макетки было заземлено). Впрочем, я подозреваю, что дело всё-таки было не в паразитных ёмкостях монтажа, а в паразитных связях на самом чипе МК.
Ответить

Вернуться в «AVR»