Обсуждаем контроллеры компании Atmel.
Ответить

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

Вс июн 06, 2021 19:02:40

По пункту 2... ?

Нет, аппаратный ресет вызывает дефолтное состояние настроек модуля ШИМ, а значит его останов и полное отключение от пинов. Заработает он снова только после инициализации.
Поэтому нужно не допускать ресета без КОРРЕКТНОГО останова ШИМ с учетом потребностей целевой схемы.
Так что все зависит от схемы.

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

Вс июн 06, 2021 20:08:44

Тогда я что-то снова не понимаю :dont_know:
Как это...:
tonyk писал(а):Твоя собака должна не только сбрасывать МК, но блокировать выдачу сигналов управления на исполнительные устройства.

Поможет этому?:
КРАМ писал(а):Поэтому нужно не допускать ресета без КОРРЕКТНОГО останова ШИМ


Добавлено after 6 minutes 13 seconds:
Т.е. я не понял зачем "блокировать выдачу сигналов управления на исполнительные устройства" и как это работает?

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

Вс июн 06, 2021 20:33:39

Т.е. я не понял зачем "блокировать выдачу сигналов управления на исполнительные устройства" и как это работает?

Если речь идет, например, о частотном преобразователе, то нужно просто выключить все ШИМы и обеспечить нули на всех выходах мостов, дабы избежать постоянной составляющей тока через обмотки двигателя.
Я же сказал - все зависит от схемы которой управляет ШИМ.

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

Пн июн 07, 2021 00:05:44

прерывание - никак, а вот сигнал сброса - запросто, у ноги ресет ведь это получается, и собака может :)

С ресетом понятно всё, но утверждается, что собака
Твоя собака должна не только сбрасывать МК, но блокировать выдачу сигналов управления на исполнительные устройства.

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

Пн июн 07, 2021 04:54:02

Собака не может ничего блокировать. Она просто ресетит МК и дефолтит настройки всех модулей, включая ШИМ. Вся безопасность в этом случае ложится на аппаратурное решение ВНЕ МК.

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

Пн июн 07, 2021 09:05:37

Вся безопасность в этом случае ложится на аппаратурное решение ВНЕ МК.

Совершенно верно, именно это я и имел ввиду. Смысл в том, что если собака формирует сброс МК, то этот сброс должен заблокировать выдачу управляющих сигналов. Ессно, это уже решается схемами за пределами МК, о чём справедливо было замечено. Кстати, если дело дошло до срабатывания собаки, то не факт, что МК после сброса вообще заработает. Поэтому и нужно, чтобы сброс от собаки блокировал выдачу сигналов управления на исполнительные устройства.

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

Пн июн 07, 2021 11:46:58

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

tonyk писал(а):если дело дошло до срабатывания собаки, то не факт, что МК после сброса вообще заработает.

Вот теперь все стало совершенно понятно. Спасибо за ответы :))

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

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

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

Пн июн 07, 2021 13:05:15

собаки хватит, только сделай ловушку - при включении смотри причину сброса, если собака - обнуляй ШИМ принудительно, приводи остальные выводы в "аварийное" состояние и зацикливайся в бесконечный цикл с #ASM WDR внутри, если есть экран - можно на него какую алярму вывести.

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

Пн июн 07, 2021 13:18:21

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

Добавлено after 3 minutes 15 seconds:
можно даже не вскрывать диф а дублировать функцию кнопки тест оптроном тиристорным
без нульоргана

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

Пн июн 07, 2021 14:47:54

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

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

Добавлено after 2 minutes 47 seconds:
Кстати, если дело дошло до срабатывания собаки, то не факт, что МК после сброса вообще заработает.

Значит, МК ресетнётся ещё раз. Регистры собаки в AVR по ресету не сбрасываются. А те, что стояли на прерывания, встают на сброс.

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

Пн июн 07, 2021 15:10:33

Зависания не только программные бывают: https://en.wikipedia.org/wiki/Latch-up

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

Пн июн 07, 2021 15:20:49

Это защёлкивание, а не зависание.

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

Пн июн 07, 2021 15:45:00

Это частое явление? Как спасаться?

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

Пн июн 07, 2021 16:06:02

Как спасаться?

Я уже сказал - зависит от задачи.
Зависание МК - это баг исходника.
Я с зависаниями в реальных изделиях практически не сталкивался. а если сталкивался. то находил причину. Вачдоги я нигде в качестве защиты от зависаний не включаю. Есть пара изделий, где вачдог выполняет защитные функции от попытки взлома авторизации.

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

Пн июн 07, 2021 18:38:21

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

Добавлено after 4 minutes 26 seconds:
КРАМ писал(а):Я с зависаниями в реальных изделиях практически не сталкивался. а если сталкивался. то находил причину.

Значит явление весьма редкое и обычно происходит из-за чьих-то ошибок. Понятно. Интересно, какие причины зависаний Вы находили? :)

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

Пн июн 07, 2021 19:17:03

Самое частое имхо - забывают включать таймаут при ожидании какого-то внешнего события или неправильного его обрабатывают. Т.е. ответ от какого-нибудь датчика и т.п. Когда на "стенде" всё работает идеально, такое легко забыть. В реальном ус-ве же возникают нюансы, которые тянут за собой проблемы. Вот тут кстати собака вполне себе полезной может оказаться. Но вообще именно что от задачи и ус-ва всё сильно зависит.

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

Пн июн 07, 2021 21:53:14

Интересно, какие причины зависаний Вы находили? :)
Необработку исключений и нештатные зацикленные таймауты. Но это обычная рутинная работа при написании кода. Сейчас, например, в одном из серийных изделий вроде есть разовые случаи подвисания на объектах (при сбросе по питанию работоспособность восстанавливается). Но воспроизвести их в условиях отдела разработки или цеха пока не выходит. Возможно. проблема имеет аппаратный характер.
Но это не глухое зависание. Устройство остается под контролем компьютерного ПО - обмен идет при подключении ноутбука. Просто замирает уровень выходного сигнала и устройство не детектирует целевую метку.

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

Вт июн 08, 2021 07:59:11

Вот тебе примерчик зависона и последствий (Хоть и не про ШИМ): Выдыхай, ангар, выдыхай! — IT happens

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

Вт июн 08, 2021 09:29:10

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

Вот в моем случае.. Стенд для проверки форсунок. Планируется коротковременно разгонять соленоид до 4 А. Если ШИМ при этом зависнет - соленоид сгорит. Если учесть, что через форсунку бегает пожароопасная жидкость, мне кажется, собаку лучше дублировать аппаратной защитой. И спать спокойно...

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

Пн июн 14, 2021 23:20:37

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

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

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

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