Що таке скидання коричневого кольору в мікроконтролерах Як запобігти помилковим відключенням живлення - Технічні статті
Brown Out Reset - важлива функція підвищення надійності мікроконтролера після запуску. Зазвичай ця стаття використовується для вирішення проблем із джерелом живлення, як Brown Out Reset може запобігти іншим проблемам.
Огляд Brown Out Reset
"Коричневий" мікроконтролера - це часткове та тимчасове зменшення напруги джерела живлення нижче рівня, необхідного для надійної роботи. Багато мікроконтролерів мають схему захисту, яка визначає, коли напруга живлення опускається нижче цього рівня, і переводить пристрій у стан скидання, щоб забезпечити належний запуск при відновленні живлення. Ця дія називається "Скидання коричневого кольору" або BOR. Подібна функція називається детектором низької напруги (LVD), яка є більш складною і додає виявлення різних рівнів напруги і може спричинити переривання до того, як буде здійснено скидання.
BOR часто вмикається бітом у регістрі управління. Зазвичай біт стану встановлюється, коли BOR викликає скидання. Цей біт стану переживає скидання (якщо потужність не надто низька!) І дозволяє програмі виявити проблему та виконати додаткове відновлення або реєструвати подію.
Що станеться, якщо БОР відключений? Ось зображення постійно падаючої напруги живлення. Можливо, це погіршується джерело живлення або розряджається акумулятор.

V1 - нормальна напруга живлення. V2 - це точка, коли мікроконтролер може працювати ненадійно. Я показую V3 як точку, де робота повністю зупиняється. Між V2 і V3 знаходиться "небезпечна зона", де все може піти не так, а робота ненадійна. Пристрій міг працювати належним чином роками, поки джерело живлення потрапляє в зону небезпеки та виходить з неї, а потім, бам !, виникає збій. Рівень BOR встановлений вище V2 і замінює небезпечну зону скиданням пристрою. Скидання не є добрим, але (як правило) кращим, ніж невизначений.
Далі я розповідаю про ситуацію, коли джерело живлення працював нормально, але БОР використовувався для вирішення іншої проблеми.
Пошук іншого варіанту для скидання коричневого кольору (важкий шлях)
Я розробив схему, що містить мікроконтролер PIC та 18 регуляторів напруги в модулі, що контролює + 5 В потужності до 18 датчиків світла. Дванадцять модулів керували 204 датчиками в масиві. Модулі є частиною системи адаптивної оптики на великому астрономічному телескопі на Мауна-Кеа на Гаваях. Ось внутрішня частина модуля.
Зображення надано телескопом Subaru
Мікроконтролер знаходиться поблизу центру плати, а 18 лінійних регуляторів напруги прикріплені до стінок корпусу. Модулі та датчики встановлені на пластинах з водяним охолодженням для відведення тепла від оптичного стенду, що знаходиться над масивом датчиків. Імпульси від світлових датчиків надходять у модуль, де вони перетворюються на диференціальні сигнали RS-485 і виводяться на роз'єм у верхній середині зображення. Крім того, є модулі управління RS-485, які надходять у модуль. Усі сигнали RS-485 підключаються до ланцюгів у шасі приблизно на 10 метрів. Важливим моментом є те, що всі схеми в модулі працюють від того самого джерела живлення + 5 В.
Ось крупний план мікроконтролера та лінійних драйверів та приймачів RS-485, які є головними у проблемі. Чорний модульний роз'єм - це асинхронний послідовний інтерфейс, який додає ще два сигнали вводу-виводу RS-485.
Модулі пройшли широке тестування на стенді. Немає проблем! Вони пройшли місяці системного тестування в лабораторії. Ідеально! Великою подією стало перше випробування в телескопі. Не вдалося! При вимкненні та ввімкненні живлення зв’язок було втрачено приблизно до половини модулів. Я підключив налагоджувач і виявив, що мікроконтролер працює і виконує код, але були пошкоджені змінні, і послідовний інтерфейс не працював. Дуже дивно.