Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Что такое сброс после сбоя в микроконтроллерах? Как предотвратить ложное отключение питания

Сброс при отключении питания - важная функция для повышения надежности микроконтроллера после запуска. Эта статья, обычно используемая для решения проблем с блоком питания, показывает, как сброс неисправности может предотвратить другую проблему.

Обзор сброса отключения питания

«Выключение» микроконтроллера - это частичное и временное снижение напряжения источника питания ниже уровня, необходимого для надежной работы. Многие микроконтроллеры имеют схему защиты, которая определяет, когда напряжение питания опускается ниже этого уровня, и переводит устройство в состояние сброса, чтобы обеспечить надлежащий запуск при восстановлении питания. Это действие называется «Сброс при отключении питания» или BOR. Аналогичная функция называется обнаружением низкого напряжения (LVD), которая является более сложной и добавляет обнаружение нескольких уровней напряжения и может вызывать прерывание до срабатывания сброса.

BOR часто включается битом в регистре управления. Обычно бит состояния устанавливается, когда BOR вызывает сброс. Этот бит состояния сохраняется при сбросе (если мощность не падает слишком низко!) И позволяет программе обнаружить проблему и выполнить дополнительное восстановление или зарегистрировать событие.

Что произойдет, если BOR отключен? Вот изображение постоянно падающего напряжения источника питания. Возможно, это из-за выхода из строя блока питания или разряда аккумулятора.

V1 - нормальное напряжение источника питания. V2 - это точка, в которой микроконтроллер может работать ненадежно. Я показываю V3 как точку, где работа полностью останавливается. Между V2 и V3 находится «опасная зона», где что-то может пойти не так и работа будет ненадежной. Устройство могло исправно работать годами, пока блок питания входил и выходил из опасной зоны, а затем, бац !, происходит сбой. Уровень BOR устанавливается выше V2 и заменяет опасную зону при сбросе устройства. Сброс - это плохо, но (обычно) лучше, чем сомнительно.

Затем я описываю ситуацию, когда источник питания работал нормально, но BOR использовался для решения другой проблемы.

В поисках другого применения для аварийного сброса (сложный путь)

Я разработал схему, содержащую микроконтроллер PIC и 18 регуляторов напряжения в модуле, контролирующем питание +5 В для 18 световых датчиков. Двенадцать модулей управляли 204 датчиками в массиве. Модули являются частью системы адаптивной оптики большого астрономического телескопа на Мауна-Кеа на Гавайях. Вот внутренняя часть модуля.

Фотографии любезно предоставлены телескопом Subaru

Микроконтроллер находится недалеко от центра платы, а 18 линейных регуляторов напряжения смонтированы на стенках корпуса. Модули и датчики устанавливаются на пластинах с водяным охлаждением, чтобы отводить тепло от оптической скамьи, которая находится над массивом датчиков. Импульсы от световых датчиков поступают в модуль, где они преобразуются в дифференциальные сигналы RS-485 и выводятся на разъем в верхней средней части изображения. Кроме того, в модуль поступают управляющие сигналы RS-485. Все сигналы RS-485 подключаются к цепям в шасси на расстоянии около 10 метров. Важным моментом является то, что все схемы в модуле питаются от одного источника питания +5 В.


Вот крупный план микроконтроллера, драйверов и приемников линии RS-485, которые являются ключевыми в проблеме. Черный модульный разъем представляет собой асинхронный последовательный интерфейс, который добавляет еще два сигнала ввода / вывода RS-485.

Модули прошли обширное тестирование на стенде. Нет проблем! Они прошли месяцы тестирования системы в лаборатории. Идеально! Большим событием стало первое испытание телескопа. Потерпеть поражение! При выключении и повторном включении питания связь была потеряна примерно с половиной модулей. Я подключил отладчик и обнаружил, что микроконтроллер работает и выполняет код, но были повреждены переменные и последовательный интерфейс не работал. Очень странно.

Во-первых, я хочу сказать, что отладка посреди ночи на высоте 13 589 футов (4 138 метров) при температуре воздуха 40 ° F (4 ° C) - это не весело. Однако поехали дальше. Вот диаграмма, показывающая проблему.

Справа - модуль с линейными приемниками RS-485, подключенными к микроконтроллеру и питанием + 5В. С левой стороны находятся линейные драйверы на другом конце кабеля, которые всегда включены. На самом деле, есть драйверы и приемники, идущие в обоих направлениях, но я упрощаю. Когда питание модуля (VCC) было отключено, драйверы удаленной линии и приемники все еще были включены (VDD). Сигналы действовали как источники питания и проходили через устройства интерфейса модуля и напрямую к источнику питания +5 В или через схему защиты от электростатического разряда на контактах микроконтроллера. Энергии было достаточно, чтобы микроконтроллер не отключился полностью, и устройство находилось в опасной зоне.

При включении питания модуля микроконтроллер не запускался с нормальной последовательностью сброса при включении питания. Запускается, но с проблемами. Почему этого не было во время предыдущих тестов? Помните пластины с водяным охлаждением? Охлаждающая жидкость в телескопе была немного холоднее, чем в лаборатории. Моя теория заключается в том, что более низкой температуры было достаточно, чтобы выявить проблему в некоторых модулях.

Исправить было несложно. Я добавил в код инструкцию для включения BOR, и проблема была решена. Между прочим, мне потребовалось гораздо больше времени, чтобы написать отчет и убедить руководителя проекта, что все в порядке, чем на то, чтобы исправить проблему.

Ложное отключение питания

Вот диаграмма, показывающая общую проблему.

Когда блок питания выключен, напряжение не падает до конца. Вместо этого другие источники питания удерживают напряжение питания в опасной зоне. Одно из описаний этого напряжения - «ложная мощность». Нет BOR, чтобы обнаружить это состояние и вызвать сброс. Устройство может не пройти обычную последовательность включения питания при повторном включении питания, потому что схема сброса при включении питания может не сработать. Дальнейшая операция сомнительна, поскольку напряжение питания упало ниже минимума и сброса не произошло.

В моем случае микроконтроллер был Microchip PIC16F877-20I / L. Это промышленная версия с диапазоном рабочих температур от -40 ° C до + 85 ° C. При тактовой частоте 16 МГц диапазон питания составляет от + 4,0 В до + 5,5 В. Рабочее напряжение внутри модуля (V1) было стабильным +5 В. Напряжение ложного питания на микроконтроллере (V2) было около + 1,5 В при работе с телескопом . Я не измерял его в лаборатории, потому что не было никаких проблем, и я не знал, что нужно проверить. Более того, у меня никогда не было возможности проверить это в лабораторных условиях, потому что система никогда не выходила из телескопа.

Есть еще две важные спецификации. «Напряжение сохранения данных в ОЗУ» (\ [V_ {DR} \]) составляет + 1,5 В, « типично ». «Пусковое напряжение VDD» (\ [V_ {POR} \]) для обеспечения внутреннего сброса при включении питания составляет 0 В, « типично ». Сложив все это вместе, я понял, что устройство было в опасной зоне. Никакого сброса при включении нельзя было ожидать, потому что напряжение было намного выше \ [V_ {POR} \]. Кроме того, не ожидалось, что ложное питание сохранит устройство в рабочем состоянии, поскольку ложное питание было на уровне удерживаемого напряжения ОЗУ (\ [V_ {DR} \]). Кто знает, чем занималась остальная часть устройства?

Почему включение BOR устранило проблему? Спецификация триггера сброса пониженного напряжения (\ [V_ {BOR} \]) находится в диапазоне от + 3,7 В до + 4,35 В с типичным значением + 4,0 В. Уровень ложной мощности значительно ниже триггерного напряжения для BOR. Проблема решена. Однако до сих пор остается загадкой, почему микроконтроллеры работали в лаборатории и нормально работали с очень большим количеством циклов включения / выключения.

Заключение

Я нашел описание этой ситуации в конце заметки по применению Microchip (AN607), в которой это называется «ложное отключение питания». Я нигде не нашел документального подтверждения.

Ложная сила может исходить из таких источников, как:

Кажется, что достаточно высокий источник ложного питания, приложенный непосредственно к контакту GPIO и входящий в устройство через схему защиты от электростатического разряда, может вызвать проблемы, даже если включен BOR . . Кроме того, для схем с очень низким энергопотреблением есть причина вообще не использовать BOR, поскольку он потребляет значительное количество энергии по сравнению с режимами глубокого сна некоторых устройств. Я пришел к выводу, что BOR и его преемник, LVD, только усложняются, а False Power дает дизайнерам еще одну вещь, которую необходимо учитывать в этой сложной части их проектов.


Промышленные технологии

  1. Что такое ключ безопасности сети? Как его найти?
  2. Что такое звонки по WiFi? Как это работает?
  3. Что такое 6G и насколько быстро он будет?
  4. Как беспроводная энергия меняет производство
  5. Тестирование частичного разряда:что это такое и как оно работает
  6. Что такое кавитация насоса и как ее избежать?
  7. Что такое плазменная резка и как работает плазменная резка?
  8. Что такое медная пайка и как это сделать?
  9. Что такое сварочная пористость и как ее предотвратить?
  10. Что такое ржавчина и как предотвратить ржавчину? Полное руководство