СХЕМОТЕХНИКА УЗЛОВ ПРОГРАММИРОВАНИЯ РОССИЙСКИХ МИКРОКОНТРОЛЛЕРОВ ДЛЯ ПРИМЕНЕНИЯ НА БОРТУ КОСМИЧЕСКИХ АППАРАТОВ
Автор: Д. В. Лисин
Журнал: Научное приборостроение @nauchnoe-priborostroenie
Рубрика: Разработка приборов и систем
Статья в выпуске: 2, 2023 года.
Бесплатный доступ
В статье рассмотрено оригинальное схемотехническое решение, позволяющее реализовать режим программирования в составе собранных устройств современных микроконтроллеров российского производства, применяемых в аппаратуре космического и специального назначения. Данное решение позволяет значительно увеличить возможности разработчика аппаратуры научного и специального назначения, сократить сроки разработки новых устройств и повысить надежность вводимых в эксплуатацию систем, т.к. не содержит механических коммутаторов в цепях питания и программирования микроконтроллера и позволяет производить перепрограммирование системы даже в составе готового штатного изделия, оставляя возможность реализации режима запрета перепрограммирования.
Перепрограммирование, микроконтроллер, космический эксперимент, серия микроконтроллеров 1886
Короткий адрес: https://sciup.org/142236999
IDR: 142236999
Текст научной статьи СХЕМОТЕХНИКА УЗЛОВ ПРОГРАММИРОВАНИЯ РОССИЙСКИХ МИКРОКОНТРОЛЛЕРОВ ДЛЯ ПРИМЕНЕНИЯ НА БОРТУ КОСМИЧЕСКИХ АППАРАТОВ
В условиях активного импортозамещения элементной базы научной аппаратуры космического и специального назначения важное значение имеют вопросы организации процесса перепрограммирования бортовых микропроцессорных систем управления. Реалии современного приборостроения таковы, что практически в каждом узле — блоке, плате, датчике — устанавливается цифровая управляющая система, как правило, на базе микроконтроллера. И характеристики функциональности итоговой системы во многом зависят от качества и уровня отработанности управляющих этими микроконтроллерами алгоритмов.
Классический путь реализации режима программирования космических и специальных микропроцессорных узлов — реализация однократно программируемых ПЗУ, как правило, на базе прожигаемых или наращиваемых перемычек. Это дает превосходные результаты по уровню надежности и стойкости к воздействию внешних факторов, однако чрезвычайно усложняет процесс разработки и отладки программного обеспечения, вынуждая разработчиков экспериментальной аппаратуры изготавливать отдельные отладочные платы в перепрограммируемом варианте, а затем, по завершении приемочных испытаний технологических образцов разрабатываемых систем, фактически заново разрабатывать, испытывать и предъявлять заказчику варианты тех же плат с однократно прошитыми ПЗУ. Помимо удлинения цикла разработки, данный подход чрезвычайно чувствителен к ошибкам, недоработкам и внезапно меняющимся требованиям к итоговой системе в процессе ее разработки, что для экспериментальной аппаратуры совсем не редкость. Любое, даже незначительное изменение одного параметра управляющей программы, не говоря уже об алгоритме, требует проведения повторного цикла испытаний целевой аппаратуры в обоих вариантах — отладочном, на флеш-варианте, и затем штатном, на перепаянных микросхемах однократно программируемого ПЗУ. На практике подобный вариант построения систем привносит значительные риски срыва сроков разработки экспериментальной аппаратуры либо пропуска в сданную систему некачественно отлаженных узлов со всеми вытекающими последствиями.
При использовании доступных пока разработчикам отечественной экспериментальной аппаратуры микроконтроллеров ведущих мировых производителей промышленного исполнения в пластиковых корпусах проблем с перепрограммированием в готовой системе, как правило, не возникает. Однако при создании аппаратуры космического и специального назначения обязательным является применение стойких к воздействию специальных факторов внешней среды микроконтроллеров отечественного производства в металлокерамических корпусах и приемкой уровня "5" и выше. Спектр предложения таких микроконтроллеров достаточно узок, и на режимы их работы,
Рис. 1. Рекомендуемая производителем схема включения микроконтроллера серии 1886ВЕ при перепрограммировании [1].
R1–R4: 47 кОм; R5 >10 кОм; С1: 0.1 мкФ; Х1: разъем IDC-10 подключения программатора; SW1: сдвоенный механический переключатель "программирование – работа". Цепи: DT, CK, OSCI, TEST — цифровые линии программатора; U PP — напряжение программирования микроконтроллера или сигнал сброса (+ 12 В); UCC — напряжение питания микроконтроллера; USS — "земля"; +5CPU — локальная шина питания микроконтроллера; +5D — шина питания платы; +12P — напряжение программирования флэш-памяти от программатора; +5Р — напряжение питания от программатора для питания микроконтроллера в момент программирования
в частности алгоритмы и схемотехнику перепрограммирования встроенных ЭППЗУ, требования по стойкости и надежности накладывают определенные ограничения.
В частности, одна из популярных среди разработчиков аппаратуры специального назначения серий микроконтроллеров 1886 требует наличия механического переключателя в цепях программирования микросхемы (рис. 1, SW1), что делает возможным многократное перепрограммирование в процессе отладки, однако итоговую плату, например, для запуска на космическом аппарате, все равно приходится переделывать на вариант без переключателя в однократно программируемом исполнении.
ОРГАНИЗАЦИЯ РЕЖИМА ПРОГРАММИРОВАНИЯ БЕЗ МЕХАНИЧЕСКОЙ
КОММУТАЦИИ
В ходе реализации ряда проектов разработки научной аппаратуры для проведения экспериментов на борту космических аппаратов [2] в ИЗМИ-РАН была поставлена задача обеспечить применение отечественных микроконтроллеров, включенных в ограничительные перечни разрешенной к применению электронной компонентной базы, при соблюдении следующих требований к процессу разработки целевой аппаратуры:
-
1. Электронные платы разрабатываются изначально в летном варианте, т.к. времени на по-
- вторную разработку и приемку вторых и более вариантов фактические сроки целевого проекта не оставляют.
-
2. Все узлы разрабатываемых приборов должны иметь возможность перепрограммирования на любой стадии подготовки космического аппарата к запуску вплоть до работ на технической позиции.
-
3. Требования к надежности функционирования электронных узлов должны быть выполнены на изначально заданном высоком уровне.
Предлагаемый вариант реализации цепей программирования микроконтроллера, удовлетворяющий требованиям производителя и одновременно не содержащий ни механических коммутаторов, об- ладающих низкой надежностью, ни оптронов, имеющих, как правило, проблемы со стойкостью к воздействию специальных факторов, приведен на рис. 2. Схема показана на примере популярного 8-битного микроконтроллера 1886ВЕ2 (ср. с рис. 1) в варианте использования с флэш-ПЗУ .
Программатор для микроконтроллеров серии 1886BE подключается к соединителю Х1, в нашем варианте штатный IDC-10 с плоским шлейфом, возможен выбор любого более компактного соединителя. Цоколевка соединителя на схеме соответствует цоколевке оригинального программатора производства разработчика данной серии микросхем зеленоградского предприятия "МИЛАНДР" (рис. 1). Программирование производится при выключенном питании платы по шине +5D (рис. 1).

Рис. 2. Универсальная схема реализации цепей программирования без механического переключателя. R1–R6: 47 кОм; С1, C3: 0.1 мкФ; C2: 22 мкФ; VD1, VD2: диоды Шоттки; R0 — опциональная напаиваемая перемычка (штатно не устанавливается); R7, R8 — опциональные резисторы 1 кОм (при необходимости использования порта программатора); TxD1, RxD1 — линии дополнительного последовательного порта для использования на плате.
Обозначения цепей и сигналов те же, что на рис. 1
В процессе программирования питание микроконтроллера, вместо штатной шины +5Р (рис. 1), производится от программатора, который подает на схему два напряжения: +5 В основного питания на контакт 7 (шина +5CPU) и +12 В питания для прожига флэш-ячеек на контакт 6 (шина +12P) (рис. 2). Это питание не должно попадать на всю оставшуюся часть платы, т.к. нагрузочная способность программатора очень мала, поэтому для развязки в этом режиме в схеме установлены диоды VD1 и VD2. Это может быть любая пара подходящих по нагрузкам диодов Шоттки как в составе микросборки, так и в отдельных корпусах. Главное требование к этим диодам — минимальное прямое падение напряжения, не превышающее 0.4 В, т.к. оно вычитается из напряжения питания микроконтроллера от шины питания платы +5D.
Показанный на схеме резистор R0 — опциональная перемычка, которая в процессе отладки системы не устанавливается. Если разработчиком аппаратуры принимается решение о том, что в штатном варианте эксплуатации питание микроконтроллера через диод VD2 недопустимо (по соображениям снижения напряжения питания, снижения надежности и т.п.), то установка данной перемычки позволяет исключить влияние диода на цепи питания микроконтроллера. Ценой этого решения будет утрата возможности дальнейшего перепрограммирования устройства через соединитель X1 (программатор, не выдержав нагрузки всей платы, скорее всего, откажется работать), однако и в этом случае всегда существует возможность относительно несложного демонтажа данной перемычки в случае крайней необходимости и восстановления таким образом возможности перепрограммирования узла.
На контакты 1 и 2 соединителя Х1 программатор подает сигналы цифровой шины, по которой происходит обмен с ядром микроконтроллера. Эти линии подтянуты резисторами 47 кОм к питанию программатора, как это требуется в соответствии с рекомендациями завода-изготовителя. На микросхеме 1886ВЕ2 эти линии подключены к выводам CK, DT последовательного интерфейса № 1 микросхемы. Чтобы использовать этот интерфейс в системе, достаточно подключить местного абонента к этим линиям через резисторы R7, R8 порядка 1 кОм — этого будет вполне достаточно, чтобы не мешать работе программатора и не перегружать линии связи при его отсутствии. При этом в микросхеме остаются доступными оба имеющихся порта интерфейса RS-232.
Таким образом, локальная цепь питания микроконтроллера в режиме программирования питается от внешнего программатора и изолируется от остальной платы диодом VD2. При этом дополнительное напряжение прожига ячеек +12 В по- ступает также от программатора непосредственно на многофункциональный вывод MCLR/Upp. При необходимости на этой цепи может быть реализована цепь внешнего сброса. В наших вариантах применения нажимать кнопку сброса было некому, поэтому использовались исключительно штатные схемы сброса микроконтроллера, который имеет их несколько (при снижении питания и по сторожевому таймеру).
Диод VD1 выполняет две функции — не пропускает напряжение программирования +12 В на шину питания платы +5D и подтягивает к уровню +5 В цепь сброса микроконтроллера на выводе MCLR/Upp в нормальном режиме работы устройства.
Резистор R3 служит исключительно для целей подтяжки потенциала линии OSCI при отключенном программаторе, поэтому направление его подключения некритично. В нашем случае эту цепь было удобнее подключить к потенциалу "земли". Конденсаторы С2 и C3 — стандартный набор фильтации помех по локальной шине питания микроконтроллера. Резистор R6 обязательно необходим, т.к. при снятии питания платы локальная цепь +5CPU будет длительное время оставаться под напряжением питания до разряда этих конденсаторов вследствие наличия диода VD2. Это будет составлять заметное время, в течение которого микроконтроллер будет продолжать работать при выключенной плате.
ОБСУЖДЕНИЕ И ВЫВОДЫ
Основное достоинство предлагаемой схемы — возможность перепрограммирования целевого устройства на любой стадии разработки системы без существенного снижения надежности. Некоторым недостатком является тот факт, что микроконтроллер в штатном режиме питается через диод VD2, что приводит к снижению напряжения его питания, нижним пределом которого является уровень +4.5 В. При использовании диода Шоттки несложно получить несколько более высокий уровень и формально уложиться в спецификации производителя по напряжению питания (наши типичные результаты — 4.75 В), однако все равно мы получаем некоторое уменьшение запаса устойчивости системы в случае деградации источника питания и самой микросхемы. Если это будет признано нежелательным, схема предоставляет возможность исключить диод VD2 установкой либо механической, либо напаиваемой перемычки R0. Возможность перепрограммирования при этом потеряется, однако снятие перемычки восстановит ее.
Область применения данного схемного решения — разработка экспериментальных образцов научной и специальной аппаратуры повышенной надежности преимущественно космического назначения в условиях предельно сжатых сроков введения систем в штатную эксплуатацию. Предложенная схема была согласована с предприятием-изготовителем программаторов для серии 1886 и отлично зарекомендовала себя в течение нескольких лет использования в проектах различного назначения.