Я все правильно понимаю?
Что происходит с сигналом ШИМ при "зависании" МК?
- Сообщения: 430
- Зарегистрирован: Вс апр 18, 2021 15:43:55
Если я правильно понимаю, ШИМ задается таймером. Таймер тикает по каждому такту ядра. Если ядро встанет, остановится и таймер. Если таймер встанет, то ШИМ превратится в сигнал либо высокого уровня, либо низкого уровня на ноге. Причем заранее это узнать невозможно.
Я все правильно понимаю?
Я все правильно понимаю?
- Реклама
- Сообщения: 1759
- Зарегистрирован: Пт июн 01, 2018 07:28:45
Таймер тикает не по такту ядра, а от осциллятора. Что там делает ядро и в каком оно состоянии - таймеру до фонаря. Лишь бы осциллятор работал.
Если про ШИМ говорить буквально (именно МОДУЛЯЦИЯ), то модуляция меняться не будет - ядро висит, скважность менять некому. Будут идти импульсы с заданной регистрами скважностью.
Если про ШИМ говорить буквально (именно МОДУЛЯЦИЯ), то модуляция меняться не будет - ядро висит, скважность менять некому. Будут идти импульсы с заданной регистрами скважностью.
- Сообщения: 430
- Зарегистрирован: Вс апр 18, 2021 15:43:55
Тогда, я сделал неправильную защиту цепи от "зависаний". Будем переделывать.
Спасибо.
Спасибо.
- Сообщения: 1759
- Зарегистрирован: Пт июн 01, 2018 07:28:45
Для начала надо понять, что такое зависание МК или ЦПУ.
- Сообщения: 430
- Зарегистрирован: Вс апр 18, 2021 15:43:55
Т.е. кроме ядра МК может повиснуть его периферия?
- Реклама
- Сообщения: 1759
- Зарегистрирован: Пт июн 01, 2018 07:28:45
Зависание - это когда выполение программы зацикливается на её фрагменте. Зависание может быть штатным: ждём данных, поднятия флага, кода активации и прочее. Может быть не штатным: по какой-то причине в счётчик команд записался неправильный адрес и выполнение программы пошло по непредсказуемому кругу. Уязвимое место здесь - это счётчик команд. У периферии нечему зависать - данные блоком USART, например, будут приняты в любом случае, если USART включен и разрешена его работа. Следующий пакет данных он также примет, даже если старый пакет не был прочитан.
- Сообщения: 430
- Зарегистрирован: Вс апр 18, 2021 15:43:55
Значит тактирование ядра вообще ни когда не прекращается? Ядро уходит либо в "петлю" выполнения команд, либо в "петлю" ожидания команды или данных? А зависание в следствие электрических помех может произойти только в том устройстве, где есть какая-либо память? Т.е. происходит ошибка записи данных и как следствие сбой в программе?
Добавлено after 7 minutes 19 seconds:
Т.е. физически ядро не останавливается?
Добавлено after 7 minutes 19 seconds:
Т.е. физически ядро не останавливается?
[uquote="Kalisnik",url="/forum/viewtopic.php?p=4043435#p4043435"]Т.е. физически ядро не останавливается?[/uquote]
При так называемом "зависании" - нет.
Только нужно понимать, что нештатное зацикливание кода может произойти и через необрабатываемые исключения. А потому исполнение через хард фолт отправится на ресет. И тогда регистры модуля ШИМ отресетятся в дефолт и инициализируются по новой. Это вызовет сбой диаграммы, которую генерирует ШИМ.
При штатном останове тактирования ядра (есть такой режим - idle) ШИМ модуль останется под тактированием и продолжит функционирование.
При так называемом "зависании" - нет.
Только нужно понимать, что нештатное зацикливание кода может произойти и через необрабатываемые исключения. А потому исполнение через хард фолт отправится на ресет. И тогда регистры модуля ШИМ отресетятся в дефолт и инициализируются по новой. Это вызовет сбой диаграммы, которую генерирует ШИМ.
При штатном останове тактирования ядра (есть такой режим - idle) ШИМ модуль останется под тактированием и продолжит функционирование.
и физически и химически юзеру или перифери фиолетова что конкретно и почему зависло в железяке если она перестала отвечать на команды или реагировать на поток даных!!!!
вобще говоря в обычных проциках без интерфэйса JTAG это определить ваше нереално
тут единственый выходд не дождавшисть реакци дергать ресет или питание если штатная собака чипа не сделала этого сама
вобще говоря в обычных проциках без интерфэйса JTAG это определить ваше нереално
тут единственый выходд не дождавшисть реакци дергать ресет или питание если штатная собака чипа не сделала этого сама
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
- Сообщения: 1759
- Зарегистрирован: Пт июн 01, 2018 07:28:45
Собаку я сбрасываю по совокупности значений флагов, которые расположены в разных функциях. Есть вачдоги с оконным таймером - сбросил вачдог раньше времени - вачдог сбросил МК.
- Сообщения: 1324
- Зарегистрирован: Вт ноя 19, 2019 06:10:18
Твоя собака должна не только сбрасывать МК, но блокировать выдачу сигналов управления на исполнительные устройства. МК после инициализации периферии должен разблокировать выдачу управления на исполнительные устройства. В случае с ШИМ не сложно посадить собаку, которая даст МК сигнал в случае пропадания ШИМ, даже одного импульса. В серьёзных системах управления смотрят не только наличие или отсутствие ШИМ, но и в случае многоканальной системы учитываю корреляцию между управляющими импульсами.
МК- это сложная цифровая схема, и как она поведёт себя при сбое не возможно предсказать.
МК- это сложная цифровая схема, и как она поведёт себя при сбое не возможно предсказать.
- Сообщения: 1759
- Зарегистрирован: Пт июн 01, 2018 07:28:45
А как собака подаст сигнал, если прерывания запрещены?
прерывание - никак, а вот сигнал сброса - запросто, у ноги ресет ведь это получается, и собака может 
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
- Сообщения: 430
- Зарегистрирован: Вс апр 18, 2021 15:43:55
Что такое хард фолт?КРАМ писал(а):А потому исполнение через хард фолт отправится на ресет.
Собака может не сработать? Это возможно?musor писал(а):тут единственый выходд не дождавшисть реакци дергать ресет или питание если штатная собака чипа не сделала этого сама
Не совсем понял для чего это нужно? Периферия разве не перезагружается вместе с ядром? Т.е. при ресете ШИМ останавливается, а потом инициализируется заново?tonyk писал(а):Твоя собака должна не только сбрасывать МК, но блокировать выдачу сигналов управления на исполнительные устройства.
[uquote="Kalisnik",url="/forum/viewtopic.php?p=4043533#p4043533"]Что такое хард фолт?[/uquote]
Аппаратное исключение. Это фатальное для программы событие. Например, ошибка адреса, ошибка ДМА или деление на ноль.
Для таких событий есть немаскируемые прерывания, которые надо обрабатывать. Если по этим векторам (вектору) обработчика нет, код через ловушку в конце IVT уйдет на ресет.
Аппаратное исключение. Это фатальное для программы событие. Например, ошибка адреса, ошибка ДМА или деление на ноль.
Для таких событий есть немаскируемые прерывания, которые надо обрабатывать. Если по этим векторам (вектору) обработчика нет, код через ловушку в конце IVT уйдет на ресет.
- Сообщения: 430
- Зарегистрирован: Вс апр 18, 2021 15:43:55
[uquote="Kalisnik",url="/forum/viewtopic.php?p=4043533#p4043533"]Не совсем понял для чего это нужно?[/uquote]
Есть куча схем с большой энергетикой в целевом устройстве, которым управляет ШИМ. Простой останов ШИМа в произвольной позиции может вызвать большой бах, а паче вообще пожар. Поскольку индуктивная нагрузка очень не любит протекания через нее постоянного тока (постоянной составляющей тока). Пусть даже и пульсирующего.
Есть куча схем с большой энергетикой в целевом устройстве, которым управляет ШИМ. Простой останов ШИМа в произвольной позиции может вызвать большой бах, а паче вообще пожар. Поскольку индуктивная нагрузка очень не любит протекания через нее постоянного тока (постоянной составляющей тока). Пусть даже и пульсирующего.
- Сообщения: 430
- Зарегистрирован: Вс апр 18, 2021 15:43:55
1. Вы написали в произвольной позиции... Вы имеете в виду обесточивание цепи нагрузки управляемой ШИМом в некоторых аварийно опасных режимах работы нагрузки? ШИМ ведь не может при ресете остановиться с высоким уровнем на ноге?КРАМ писал(а):Простой останов ШИМа в произвольной позиции может вызвать большой бах, а паче вообще пожар.
2. Если блокировать управляющие сигналы идущие на периферию перед ресетом, то ШИМ (без модуляции, т.е. с заданной на момент ресета скважностью) будет работать пока ядро перезагружается?
[uquote="Kalisnik",url="/forum/viewtopic.php?p=4043553#p4043553"]Вы имеете в виду обесточивание[/uquote]
Небольшой пример из МОЕЙ практики.
Есть такое серийное устройство (выпускает наша контора, где я работаю) - акустомагнитный деактиватор. По сути - размагничивающее устройство.
Размагничивающий ток через катушку формируется с помощью вертикальной стойки IGBT, питаемой от блока предварительно заряженных до 350 вольт электролитов. сама катушка включена последовательно с пленочным конденсатором и образует резонансный контур с частотой примерно 1,5 кГц.
Управление стойкой производится через бутстрепный драйвер, а сам драйвер управляется ШИМом через обратную связь. Так случилось, что в обратной связи не доглядели и возникал глитч по отрицательной полуволне входного сигнала, который вызывал ресет контроллера и обрыв управления (резко в произвольный момент транзисторы останавливались в переключении и ток через контур разрывался. Вкачанная в контур энергия выжигала и стойку и драйвер и даже пины ШИМ контроллера...
Небольшой пример из МОЕЙ практики.
Есть такое серийное устройство (выпускает наша контора, где я работаю) - акустомагнитный деактиватор. По сути - размагничивающее устройство.
Размагничивающий ток через катушку формируется с помощью вертикальной стойки IGBT, питаемой от блока предварительно заряженных до 350 вольт электролитов. сама катушка включена последовательно с пленочным конденсатором и образует резонансный контур с частотой примерно 1,5 кГц.
Управление стойкой производится через бутстрепный драйвер, а сам драйвер управляется ШИМом через обратную связь. Так случилось, что в обратной связи не доглядели и возникал глитч по отрицательной полуволне входного сигнала, который вызывал ресет контроллера и обрыв управления (резко в произвольный момент транзисторы останавливались в переключении и ток через контур разрывался. Вкачанная в контур энергия выжигала и стойку и драйвер и даже пины ШИМ контроллера...
- Сообщения: 430
- Зарегистрирован: Вс апр 18, 2021 15:43:55
КРАМ, вполне доходчиво. Спасибо. ))
Добавлено after 2 minutes 30 seconds:
По пункту 2... я правильно понял?
Добавлено after 2 minutes 30 seconds:
По пункту 2... я правильно понял?


