Статья опубликована в рамках: XCVII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 14 января 2021 г.)
Наука: Технические науки
Секция: Радиотехника, Электроника
Скачать книгу(-и): Сборник статей конференции
дипломов
ПРИЧИНЫ ОТКАЗОВ МИКРОКОНТРОЛЛЕРОВ И СПОСОБЫ ПОВЫШЕНИЯ ИХ БЕЗОТКАЗНОСТИ
THE CAUSES OF MICROCONTROLLER FAILURES AND WAYS TO IMPROVE THEIR RELIABILITY
Vyacheslav Dyshlevskiy
student, Radio engineering faculty Omsk State Technical University,
Russia, Omsk
Dmitry Ponomarev
research supervisor, Cand. Sc. (Technology), Radio еngineering faculty Omsk State Technical University,
Russia, Omsk
АННОТАЦИЯ
Целью исследования является анализ причин выхода из строя устройств, работающих под управлением микроконтроллера. Актуальность заключается в масштабном применении микроконтроллеров в медицинских, военных, промышленных областях человеческой деятельности, что влечет за собой потребность в высокой надежности устройства. В статье рассмотрены основные способы борьбы со сбоями микроконтроллера из-за внешних и внутренних факторов. В результате даны рекомендации, позволяющие повысить надежность разрабатываемого устройства и снизить риск масштабной поломки всего оборудования.
ABSTRACT
The purpose of the study is to analyze the causes of failure of devices running under the control of a microcontroller. The relevance lies in the large-scale application of microcontrollers in medical, military, industrial areas of human activity, which entails the need for high reliability of the device. The article discusses the main ways to deal with microcontroller failures due to external and internal factors. As a result, recommendations are given to improve the reliability of the device under development and reduce the risk of large-scale failure of all equipment.
Ключевые слова: микроконтроллер, программное обеспечение микроконтроллера, защита от сбоев, надежность, отказ.
Keywords: microcontroller, microcontroller software, fault protection, reliability, failure.
Введение. Разработка микропроцессорных средств – один из главных этапов современной вычислительной техники. Основными элементами современных радиоэлектронных средств, все больше и больше, становятся микропроцессоры и микроконтроллеры.
В настоящее время бытовой рынок захвачен «умной» техникой. Около четырех миллиардов управляемых микросхем, продаваемых каждый год, являются «мозгом» таких устройств, как детские игрушки, роботы-пылесосы и даже системы управления самолетом.
В отличие от микропроцессоров, преимуществом микроконтроллера является высокая степень системной интеграции при низкой стоимости. Базовые навыки микроконтроллеров заключаются в управлении и регулировании, сборе и обработке технологических параметров, отображении и контроле данных, сигнализации и защите от аварийных ситуаций.
Основными недостатками микроконтроллеров является неустойчивость к сбоям. Основными причинами выхода из строя микроконтроллера являются [1]:
- внешние электромагнитные помехи;
- высокочастотные помехи импульсного источника питания;
- внезапное отключение питания или скачки напряжения, падение напряжения питания;
- ошибки или дефекты в управляющем программном обеспечении.
Такие отказы микроконтроллеров не несут особого ущерба при использовании в дешевых электронных средствах. Другое дело, сложные автономные установки, системы автоматического контроля, автомобильная электроника и другая аппаратура, предназначенная для автономной работы, и, ограничивающая доступ к быстрому устранению неисправностей. Поломки такого рода приводят к простою оборудования и большим экономическим затратам, а в худшем случае и к человеческим жертвам. Поэтому, основной задачей проектировщика таких устройств является повышение их безотказной работы.
Для достижения достаточного уровня надежности, необходим грамотный подход к проектированию. В данной работе будут рассмотрены основные причины отказа и способы устранения неисправностей микроконтроллеров.
Определение надежности РЭС [2]. Опыт эксплуатации РЭС показывает, что изменение интенсивности отказов аппаратной части системы длительного действия происходит следующим образом (рис. 1):
Рисунок 1. Кривая жизни аппаратной части системы:
I — период приработки; II — период нормальной эксплуатации; III - период массового износа и старения
I — период начальной приработки аппаратуры. В этот период наблюдается повышенное число отказов системы вследствие различных производственных недостатков и выхода из строя наиболее ненадежных ее элементов со скрытыми дефектами. По мере выхода из строя дефектных элементов и замены их более качественными интенсивность отказов системы понижается.
II — период нормальной эксплуатации системы, характеризуемый пониженным уровнем и постоянством интенсивности отказов во времени. Период нормальной эксплуатации системы определяется экспоненциальным законом распределения вероятности безотказной работы;
III — период массового износа и старения элементов системы, характеризуемый значительным ростом числа отказов. С наступлением этого периода дальнейшая эксплуатация системы нецелесообразна.
Расчетная оценка интенсивности отказов микроконтроллера. В современных микроконтроллерах аппаратная часть выпускается с избыточным количеством функциональных возможностей. Поэтому программная часть микроконтроллеров охватывает не весь функционал аппаратной.
Элементы аппаратных средств подразделяются на подэлементы, сбои которых не разрушают всю систему, и подэлементы, надежная работа которых требуется для правильной работы устройства. Действия, выполняемые элементом, зависят от номенклатуры функций данного элемента и алгоритма работы (программной команды) микроконтроллера. Поэтому для удобства расчета интенсивности отказов необходимо ввести коэффициент использования функции элемента программным обеспечением Кф1, который позволяет учесть алгоритм функционирования. Коэффициент равен 1, если функция используется программным обеспечением, и равен 0, если функция не используется. Тогда интенсивность отказов элемента аппаратных средств λэ(t) определяется следующим образом [3]:
, (1)
где - интенсивность отказов подэлемента общего для всех выполняемых функций;
- интенсивность отказов подэлемента, выполняющего i-ую функцию;
- коэффициент использования i-ой функции;
n - число всех функций элемента.
Единичные ошибки, появляющиеся в программном обеспечении, невозможно точно предсказать. Это приводит к большой дисперсии вероятности возникновения отказов.
Математические модели выявления неисправностей программных средств носят вероятностный характер и строятся на ряде гипотез (допущений) о характере проявления вторичных ошибок в программах, последствия которых следует квалифицировать как первичные ошибки.
Первое допущение — возможность наблюдения нарушения целостности данных, программ или вычислительного процесса, обусловленных первичными ошибками. При этом первичная ошибка либо фиксируется и исправляется, либо вообще не обнаруживается.
Второе допущение — статистическая независимость временных промежутков между нахождением ошибочных результатов. До исправления первичной ошибки интенсивность проявления неисправностей остается постоянной. При исправлении каждой найденной ошибки, значение промежутка времени между их обнаружением носит экспоненциальный характер, а интенсивность обнаружения вторичных ошибок пропорциональна суммарному числу первичных ошибок, имеющихся в программном обеспечении на данный момент времени.
Приведенные допущения позволяют построить экспоненциальную математическую модель распределения числа n первичных ошибок в программах, установить связь между интенсивностью их обнаружения при отладке dn/dt и интенсивностью их проявления (т.е. искажения результатов в единицу времени) в зависимости от времени отладки (рис. 2).
Рисунок 2. Связь между суммарным числом n первичных ошибок (сплошная кривая) и числом ошибок, выявляемых в единицу времени, dn/dt (штриховая кривая)
Из сравнения изменения надежности ПС (рис.2) и аппаратуры во времени (рис.1) следует, что надежность аппаратуры определяется во многом случайными процессами и сбоями, а надежность ПС — скрытыми ошибками программного кода.
Основные причины отказа микроконтроллера. Одна из причин появления неисправностей микроконтроллера – это сверхдлительное падение напряжения питания. Длительное падение напряжения на встроенном детекторе понижения питания приводит к его отключению или позднему запуску. В такой момент, ядро микроконтроллера уже не реагирует на сигнал RESET и для перезапуска требуется отключения питания.
Использование импульсного источника питания для снижения потребляемой мощности способствует генерации высокочастотного импульсного шума. Эти помехи могут повлиять на качество тактирования, работу схем управления микроконтроллера и сброс соединения. Микроконтроллер реагирует на такое питание несколькими способами: либо он останавливается, что свидетельствует остановке тактового генератора; либо он перезапускается вследствие воздействия помех на схему сброса или вообще останавливает выполнение многих функций, что в конечном итоге приводит к сбросу [4].
Внешние электромагнитные помехи имеют тот же принцип, что и помехи от источников питания. Устранить их гораздо сложнее. Такие помехи могут проникать в микроконтроллер как по цепям питания, по цепям портов ввода/вывода, так и по «воздуху» [4].
Скачки напряжения питания, физическое воздействие, а также электромагнитные помехи могут влиять на работу памяти микроконтроллера, и даже привести к ее повреждению.
При отказе программное обеспечение переходит в состояние невозможности выполнения всех функций в соответствии с указанными спецификациями. Данные, на которых произошел отказ, называются выбросом системы.
Причина программного отказа заключается в использовании сторонних библиотечных функций для упрощения написания кода разработчиком. Например, функция задержки Delay X, где X – время в микросекундах, по сути, является подпрограммой из нескольких сотен строк кода, поэтому она может быть причиной перезапуска микроконтроллера в момент ее реализации или при выходе из нее.
Способы защиты микроконтроллера от сбоя. Сверхдлительное падение напряжения питания приводит к потере данных в EPROM, так как ядро беспорядочно обращается ко всей периферии и может «затереть» память [5]. Для повышения надежности следует использовать внешний контроллер питания. На рис. 3 представлена типовая схема включения супервизоров питания.
Рисунок 3. Схема включения супервизора питания [4]
Применение фильтрации цепей питания и помехоподавляющих керамических конденсаторов на портах, а также применение экранировки способно защитить микроконтроллер от электромагнитных помех. В наиболее ответственных приборах используется полная экранировка устройств.
Для устранения высокочастотных импульсных помех в устройствах требовательных к повышенной надежности, следует либо применять линейный источник питания, либо вводить в схему дополнительные элементы для стабилизации питания, к примеру, обычный линейный стабилизатор. Некоторые производители сразу закладывают решения проблем, связанных с шумами и помехами в цепях питания в контроллер. При использовании импульсных источников также следует обратить внимание на возможные проблемы электромагнитной совместимости [4].
Для повышения надежности программного обеспечения, следует не использовать сторонние библиотеки и не отключать сторожевой таймер (WATCHDOG) при необходимости. Назначение WATCHDOG состоит в том, чтобы микроконтроллер генерировал правильные логические коды. Если сторожевой таймер получает сигнал, которого он не ожидает, он сбрасывает свой регистр сигналов на это число, а также посылает сигнал в свой регистр неисправностей. Если регистр неисправностей достигает заданного числа в течение определенного периода времени, то сторожевой микроконтроллер посылает управляющий выходной сигнал на управляющее выходное устройство, тем самым прерывая работу микроконтроллера. Если это заданное число не будет достигнуто в течение указанного периода, сторожевой таймер устанавливает его в регистр неисправностей, и процедура начинается снова [6].
Основным инструментом повышения надежности программного обеспечения является тестирование. Тестирование — это процесс выполнения программ при некотором наборе данных, для которого заранее известен результат применения этих программ. Цель тестирования — нахождение ошибок [2]. Многократное повторения трех процессов: тестирования, поиска места ошибки и устранения этой ошибки представляют отладку программного средства.
Заключение. Для повышения надежности проектируемых устройств, работающих под управлением микроконтроллеров, следует учитывать внешние факторы, придерживаться рекомендаций производителей контроллеров в области написания управляющего программного обеспечения, электромагнитной совместимости устройств и схемотехнической разработки печатной платы. Рассмотренные в ходе обзора способы защиты от внешних факторов являются общепринятыми и удовлетворительными.
Приведенный метод оценивания надежности аппаратной части микроконтроллера связанной с его программным обеспечением не корректен для сложных программ из-за неравномерности распределения и нестабильности проявления дефектов и ошибок. Действующим способом обеспечения требуемого уровня надежности устройств на основе микроконтроллеров со сложными программными средствами управления является проведение отладки работы программного средства.
Список литературы:
- Е.М. Лебедева, О.Б. Лебедев, Мезга Е.С. Методы обеспечения высокой надежности устройств на микроконтроллерах: Изд-во «Файнстрит», 2008. № 4. – С. 19-22.
- Н.П. Ямпурин, Баранова А.В. Основы надежности электронных средств: Учебное пособие. – Москва: Издательский центр «Академия», 2010 г. – 240 с
- Беляева М. М. Обеспечение надежности микропроцессорных систем управления автоматизированным технологическим оборудованием путем актуализации связей между аппаратными и программными средствами: Диссертация. - Рыбинск: Рыбинская государственная авиационная технологическая академия, 1998.
- Гассельберг В. С., Синельщиков А. В. Применение микроконтроллеров в устройствах с повышенной надежностью // Вестник АГТУ. Серия: Управление, вычислительная техника и информатика. 2011. №1.
- Lecuyer P. Reliability prediction for microcontrollers with embedded EEPROM //European Space Agency-Publications-ESA SP. – 2002. – Т. 507. – С. 67-72.
- Dogul J. et al. Light curtain system with system and watchdog microcontrollers : пат. 5218196 США. – 1993.
дипломов
Оставить комментарий