ТЕХНОЛОГИЧЕСКАЯ УВМ
PROCESS CONTROL COMPUTER

Изобретение относится к вычислительной технике и может быть использовано для создания программного обеспечения (ПО) бортовых управляющих вычислительных машин (УВМ) и управляющих вычислительных систем (УВС), которые являются центральным звеном систем автоматического управления (САУ) изделиями ракетно-космической техники (РКТ) и робототехнических комплексов (РТК). Одним из наиболее важных этапов создания ПО УВМ и систем является этап отработки созданных программ и подтверждения их корректной работы для различных наборов входных данных и состава обрабатываемой информации, что является достаточно трудоемким и продолжительным процессом, занимающим значительную часть времени проектирования САУ и требующим существенных материальных затрат. Поэтому во всем мире уделяется серьезное внимание как методике, так и средствам верификации ПО. Особенно большие сложности верификации ПО возникают при создании программ реального времени для бортовых УВМ и УВС, входящих в состав САУ объектами РКТ и РТК. Примерами таких систем являются УВМ, разработки НПОА, работавшие в составе РТК, при ликвидации последствий аварии на Чернобыльской АЭС, а также бортовые УВС различных предприятий, входящие в состав САУ изделий РКТ. Сложность создания ПО для таких САУ усугубляется наличием в его составе задач контроля исправности УВМ и УВС, задач нейтрализации, возникающих в процессе работы их собственных отказов, а также задач сохранения работоспособности САУ при деградации параметров компонентов (элементной базы) устройств за счет снижения производительности вычислительных средств и снятия с решения части задач меньшей важности. В результате ПО должно быть работоспособным в условиях изменения вычислительных ресурсов (быстродействия, в частности) в процессе работы и адаптироваться к этим изменениям. Известны принципы отладки ПО, используемые зарубежными специалистами для программ ЭВМ общего назначения (См. монографию «Наука отладки», авторы Мэтт Тэллес и Юань Хсих / перевод с английского / изд. КУДИН - ОБРАЗ, Москва, 2003, с.217). В основе отладки, предлагаемой авторами, лежит анализ результатов вычислений самим разработчиком ПО с выдачей на внешние носители, например, на цифровую печать промежуточных результатов вычислений при определенном наборе входных данных. Для этого в тексте программы делаются технологические вставки, обеспечивающие выдачу результатов для анализа. Недостатком такой отладки для бортовых УВС из-за их ограниченных вычислительных ресурсов является необходимость последующей коррекции программ после завершения отладки для устранения технологических вставок, что требует повторения проверок. Такая отладка совершенно непригодна для верификации программ, работающих в реальном масштабе времени с непрерывно меняющейся входной информацией, так как любые вставки в программу искажают реальное время обменов и вычислений. Достаточно полное решение задачи отработки ПО реального времени для управляющих вычислительных машин предлагают отечественные специалисты (см. Б.А. Микрин «Бортовые комплексы управления космическими аппаратами и проектирование их программного обеспечения», изд. МГТУ им. Н.Э. Баумана, 2003, с.243-249, рис.4.1). Для отработки аппаратуры и ПО предлагается комплексный моделирующий стенд (КМС), содержащий бортовую УВС с отрабатываемым программным обеспечением, пульт управления стендом, моделирующую вычислительную платформу на основе ЭВМ общего назначения (ЭВМОН) и полный комплект реальных датчиков и исполнительных устройств, связанных с УВС через аналого-цифровые и цифроаналоговые преобразователи. В состав КМС входит также комплект штатной аппаратуры космического аппарата, включая рабочие места экипажа. Такой состав аппаратуры комплексного стенда позволяет обеспечивать проверку правильности функционирования аппаратуры УВС и ее ПО в реальном времени. Однако в случае обнаружения ошибок нельзя выполнить их направленный поиск. Причиной является наличие аналоговой аппаратуры, из-за которой не обеспечивается повторяемость результатов в повторных включениях стенда, что является обязательным для направленного поиска ошибок. КМС не позволяет также проверить работу программного обеспечения для вариантов с нейтрализацией, возникающих в процессе штатной работы, катастрофических отказов или сбоев в аппаратуре УВС и САУ, так как недопустимо внесение неисправностей в штатную аппаратуру стенда из экономических соображений. Близкое к этому по техническому содержанию решение в виде Стенда полунатурного моделирования предлагают сотрудники Саратовского технического университета Авакумов А.В., Блескина Е.В. и Шкаев А.Е. (см. www.Sciteclibrary.ru). Предлагаемый ими стенд содержит собственно САУ, пульт управления и модель внешней среды, реализованную на ЭВМОН, от которой идет управление через цифроаналоговые преобразователи реальными датчиками для получения нужной входной информации УВС, а выходные управляющие сигналы и команды САУ воздействуют на реальные исполнительные механизмы, имеющие внутреннее управление от датчиков обратной связи, информация от которых также идет в модель. Такое построение стендов позволяет вести совместную проверку правильной работы аппаратуры САУ и ее ПО. Однако в случае неправильного функционирования САУ из-за ошибок ПО поиск ошибок практически не возможен. Причиной является то же наличие штатной аппаратуры с датчиками входной информации, цифроаналоговых и аналого-цифровых преобразователей, которые не позволяют провести несколько повторений вычислений цикла управления с полностью идентичной входной информацией. Кроме того, в такой системе тоже недопустимы проверки функционирования при возникновении неисправностей в бортовой аппаратуре по тем же причинам. Более того, даже просто создание такого стенда и поддержание его в рабочем состоянии требует существенных финансовых затрат, что ограничивает возможности верификации ПО. Наибольшие возможности для обеспечения оперативности и полноты проверки программ УВС с возможностью имитации отказов в работе аппаратуры САУ при разумных затратах предоставляет комплекс отладки (см. заявку на изобретение №201013316 от 05.08.2010, по которой принято решение о выдачи патента - Св. о гос. регистрации №2010133016/08 от 05.08.10). Данный комплекс можно принять за прототип. Комплекс содержит собственно бортовую УВМ, пульт управления комплексом, управляющую комплексом ЭВМОН (ПЭВМ) и имитаторы входной информации, подключенные выходами к УВМ. Такое построение обеспечивает стабильность и повторяемость результатов вычислений УВМ от «прогона» к «прогону». В комплексе обеспечивается также имитация возникновения отказов компонентов САУ, путем формирования соответствующей входной информации. Однако комплекс не позволяет проверить работоспособность ПО при возникновении отказов в блоках и устройствах самой штатной УВМ, а также затруднено получение промежуточной информации вычислений, необходимой для поиска ошибок ПО, так как использование в составе комплекса штатной аппаратуры не допускает внесение внутренних отказов в штатную аппаратуру и не обеспечивает доступ к внутренней памяти УВМ (регистрам, счетчикам и запоминающим устройствам). Введение технологических связей в штатную УВМ частично решает эту задачу, но требует введения аппаратурной избыточности, приводящей к снижению надежности штатной УВМ. Это для САУ РКТ недопустимо. Для обеспечения поиска ошибок в ПО без снижения надежности штатной УВМ в составе комплексов отработки целесообразно иметь УВМ, являющуюся для отработки ПО полным аналогом штатной, но допускающей имитацию отказов в ее аппаратуре и обеспечивающую доступ к внутренней памяти. Для решения этой задачи предлагается ТЕХНОЛОГИЧЕСКАЯ УПРАВЛЯЮЩАЯ ВЫЧИСЛИТЕЛЬНАЯ МАШИНА, далее ТЕХНОЛОГИЧЕСКАЯ УВМ (ТУВМ).
Состав ТУВМ приведен на фигуре 1, где цифрой 1 обозначен процессор, цифрой 2 обозначено вычислительное устройство подсистемы инерциальной навигации (ПИН), цифрой 3 обозначено запоминающее устройство (ЗУ), цифрой 4 обозначено вычислительное устройство подсистемы обработки изображений (ПОИ), цифрой 5 обозначен блок микропрограммного управления (БМУ), цифрой 6 обозначен перестраиваемый с кодовым управлением формирователь синхроимпульсов (ФСИ), и цифрой 7 обозначен перестраиваемый с кодовым управлением источник вторичного электропитания (ИВЭП). Оба вычислительных устройства и ЗУ подключены к процессору через магистраль, подключение к которой управляющей ЭВМ комплекса обеспечивает в режиме останова доступ к ЗУ, внутренней памяти процессора и СВУ. Входы управления ФСИ и ИВЭП являются управляющим входом ТУВМ, подключенным к управляющей ЭВМ комплекса отладки. Силовой вход ИВЭП является входом ТУВМ, а выходы ФСИ и ИВЭП подключены к соответствующим входам процессора, СВУ и ЗУ. На фигуре 2 приведен состав вычислительного устройства ПИН. Вычислительное устройство содержит микропроцессор 21, входы которого являются входами ТУВМ, подключаемыми к выходам датчиков или имитаторов ПИН, первый вход-выход микропроцессора является входом-выходом вычислительного устройства, подключенным к магистрали связи с процессором, и одновременно служит технологической связью вычислительного устройства, подключаемой к управляющей ЭВМ и регистратору комплекса. Второй вход-выход микропроцессора, подключенный к локальному запоминающему устройству 22, также является технологической связью вычислительного устройства и ТУВМ, подключаемой к управляющей ЭВМ и регистратору комплекса. Выход микропроцессора подключен к буферному регистру 23 и установочному входу первого блока микропрограммного управления (БМУ) 24 со своим встроенным управляемым ФСИ. Выход буферного регистра подключен к первым входам n последовательно соединенных шинами переноса умножителей (обозначенных цифрами от 25-1 до 25-п) и подключенных выходами к входам сумматора 26, подключенного выходом к блоку связи 27, вход-выход которого является технологическим входом-выходом устройства и ТУВМ, подключенным к магистрали связи с процессором. Двунаправленной шиной, являющейся одновременно технологической, блок связи подключен к локальному ЗУ. Выходы первого БМУ подключены к микропрограммным входам умножителей, сумматора, локального ЗУ, микропроцессора и блока связи. На фигуре 3 приведено СВУ ПОИ, где цифрой 31 обозначен управляющий микропроцессор, входы которого являются входами вычислительного устройства, подключаемые к датчикам или имитаторам ПОИ. Вход-выход управляющего микропроцессора является технологическим для ТУВМ и входом-выходом вычислительного устройства, подключенным к магистрали связи с процессором. Через двунаправленную связь к этому микропроцессору подключено местное ЗУ 32, а через первую магистральную шину, имеющую также и технологический вход-выход, к нему подключено k вычислительных микропроцессоров, обозначенных цифрами от 33-1 до 33-k. Эти микропроцессоры через вторую магистральную шину, также с технологической связью, подключены к местному ЗУ, а их выходы признаков подключены к входам признаков второго БМУ 34, установочный вход которого подключен к одноименному выходу управляющего микропроцессора, а управляющий вход БМУ является одноименным входом устройства и ТУВМ и служит для управления частотой встроенного в БМУ ФСИ. Выходы БМУ подключены к микропрограммным входам всех микропроцессоров и местного запоминающего устройства. Состав управляемого ИВЭП приведен на фигуре 4. Источник вторичного электропитания содержит последовательно соединенные входной фильтр 41-1, трансформатор 42 с включенным в первичную обмотку транзистором-прерывателем и выпрямитель с выходным фильтром нижних частот 41-2, после которого на выходе установлены последовательно соединенные резистор и диод, выход которого является выходом источника, подключенным к цепи обратной связи, состоящей из последовательно соединенных преобразователя напряжения в частоту 43, элемента развязки 44 и частотно-импульсного модулятора 45, подключенного выходом к базе транзистора прерывателя. При этом управляющий вход модулятора является управляющим входом ИВЭП и ТУВМ, подключенным к управляющей ЭВМ комплекса. Генератор импульсов, входящий в формирователь синхроимпульсов, приведен на фигуре 4-1 и содержит группу последовательно соединенных инверторов 411, выходы которой подключены к входам мультиплексора 412, подключенного выходом к входу первого инвертора группы, образуя тем самым кольцевой генератор импульсов. Кроме того, формирователь содержит счетчик частоты 413, вход которого является входом формирователя, подключенным к элементу развязки. Выходы этого счетчика подключены к первым входам схемы сравнения 414, ко вторым входам которой подключены выходы регистра кода частоты 415, а инкрементный и декрементный выходы схемы сравнения подключены к одноименным входам счетчика кода частоты 416, подключенного выходами к управляющим входам мультиплексора. При этом входы регистра 415 и счетчика 416 являются управляющим входом формирователя и ИВЭП. Состав блока микропрограммного управления приведен на фигуре 5. Блок содержит регистр кода операций 51, регистр признаков 52, входы признаков которого являются входами блока, счетчик команд 53 и регистр смещения 54, вход которого подключен к адресному выходу запоминающего устройства микрокоманд 55, остальные выходы которого являются выходами микрокоманд блока, а адресный вход этого запоминающего устройства образуют выходы всех регистров и счетчика, установочные входы которых являются установочным входом блока, который, кроме того, содержит устройство синхронизации 56, выходы которого подключены к синхронизирующим входам счетчика, регистров и запоминающего устройства микрокоманд. Формирователь синхроимпульсов приведен на фигуре 6. Он содержит три генератора импульсов первый 611-1, второй 611-2 и третий 611-3, управляющий вход которых является входом формирователя, а выход каждого из них подключен к входу своего блока фазирования, соответственно первого 612-1, второго 612-2 и третьего 612-3, фазирующий выход каждого из этих блоков подключен к фазирующим входам двух других блоков и фазирующим входам блока мажоритации 613, к синхронизирующим входам которого подключены синхронизирующие выходы блоков фазирования, а выходы блока мажоритации являются выходами формирователя. Блок фазирования приведен на фигуре 6-1. Он содержит первый элемент И 61, первый вход которого является входом блока, подключенным к генератору импульсов. Выход элемента подключен к входам счетчика 62 и сдвигового регистра 62-1. Выходы счетчика подключены к входам дешифратора 63, выход которого подключен к запускающему входу триггера останова 64, выход которого является фазирующим выходом блока и подключен ко второму входу первого элемента И и первому входу мажоритарного элемента 65, ко второму и третьему входу которого подключены выходы триггеров привязки 66, стробирующий вход которых объединен с первым входом первого элемента И, а входы являются входами фазирования блока. Выход мажоритарного элемента подключен к первому входу второго элемента И 67-1, второй вход которого является входом останова блока, ФСИ и ТУВМ, подключенным к пульту управления комплекса отладки. Выход второго элемента И подключен к входу триггера пуска 67-2, подключенного выходом к сбрасывающему входу триггера останова. При этом выходы четных и нечетных разрядов сдвигового регистра подключены соответственно к запускающим и сбрасывающим входам триггеров формирователей (68-1 - 68-f), выходы которых являются синхронизирующими выходами блока и ФСИ. Перестраиваемый генератор импульсов приведен на фигуре 7 и содержит n последовательно соединенных инверторов 71, выходы которых подключены к входам генераторного мультиплексора 72, выход которого подключен к входу первого инвертора, образуя тем самым кольцевой генератор, и входу генераторного счетчика 73, выходы которого подключены к первым входам генераторной схемы сравнения 74, ко вторым входам которой подключены выходы генераторного регистра кода 75, а инкрементный и декрементный выходы схемы сравнения подключены к одноименным входам генераторного счетчика частоты 76, вход которого и вход регистра 75 являются установочным входом генератора импульсов.
Технологическая УВМ работает следующим образом. Перед началом отладки программ из управляющей ЭВМ в запоминающие устройства ТУВМ и СВУ загружаются массивы заранее рассчитанной информации, соответствующие работе системы управления в отрабатываемом режиме. В ФСИ и ИВЭП заносятся коды, задающие исходные номиналы питания и выходных частот. В требуемый для анализа момент реального времени с пульта управления в ФСИ посылается сигнал останова, по которому прекращается формирование синхроимпульсов, все внутренние шины устанавливаются в высокоимпендансное состояние и внутренняя память и все регистры устройств и блоков ТУВМ становятся доступны через технологические связи. Из них можно списать информацию для анализа, не искажая логики и времени работы программ. В процессе отладки ПО информация с технологических выходов ТУВМ может фиксироваться в регистраторе, из которого считываться управляющей ЭВМ для анализа оператором. После завершения анализа по заданию оператора пультом управления снимается сигнал останова. Формирователи синхроимпульсов ТУВМ начинают работу, и программы продолжают выполняться без нарушения реального времени. Наличие в ТУВМ управляемых кодом ИВЭП И ФСИ позволяют имитировать внутренние отказы, а также проверить работу программ в реальном времени при изменении быстродействия (производительности) реальной УВМ.