Фильтр по тематике

Бортовой регистратор информации

В статье рассматриваются вопросы построения бортового регистратора, предназначенного для записи параметров полётной информации беспилотного летательного аппарата.

1640 0

Основные требования

Задача построения бортового регистратора информации возникла в процессе испытаний одного из вариантов дистанционно пилотируемого летательного аппарата (рис. 1). 


К регистратору были предъявлены следующие требования:

  • малые размеры устройства (90×115×200 мм);

  • работа в расширенном температурном диапазоне (от –40 до +85°С);

  • регистрация 32 аналоговых и 20 дискретных сигналов, поступающих по физическим линиям с частотой не менее 16 раз в секунду;

  • питание устройства от бортовой сети 27 В постоянного тока, потребляемая мощность не более 7 Вт;

  • приём дополнительной информации по каналу RS-232 (скорость 19,2 кбод, размер пакета до 100 байт, не более 4 пакетов в секунду);

  • размещение всей записываемой информации на переносимом носителе, время регистрации не менее 5 часов;

  • обеспечение возможности обработки полученной информации на стандартной IBM PC совместимой ЭВМ.

Дополнительным требованием являлось наличие достаточно высокого (не менее 100 кОм) входного сопротивления аналоговых каналов.

Аппаратная реализация

В связи с ограниченным временем разработки в конструкции устройства желательно было использовать в основном стандартные решения. Набор специально разработанных элементов предполагалось свести к минимуму.

В качестве переносимого носителя информации был выбран флэш-диск в формате CompactFlash™ с размерами 43×36×4 мм. Ряд фирм выпускает их для работы в условиях расширенного диапазона температур (исполнение Industrial). В устройстве используется флэш-диск SDCFBI-32-101 фирмы SanDisk именно в таком исполнении. Ёмкость носителя составляет 32 Мбайт, и, как показали расчёты, это позволяет производить запись данных в течение более 6 часов. При этом для обработки данных на земле может быть использован стандартный IBM PC совместимый компьютер с добавлением адаптера для диска CompactFlash™. В настоящее время имеются подобные адаптеры как внутренние (для установки на шины ISA, PCI или IDE), так и внешние для подключения через порты LPT или USB.

Аппаратная основа решения определилась почти сразу: для реализации устройства были выбраны платы в формате РС/104. Эти платы предназначены специально для встраиваемых применений. Они требуют питания только +5 В, все остальные необходимые номиналы напряжения вырабатываются специальными преобразователями. Платы имеют размеры 90×96 мм, но разъёмы могут выступать за эти габариты (до 15 мм в каждую сторону). Обеспечение требуемого температурного диапазона также не является проблемой, поскольку достаточно много различных фирм выпускают платы данного формата в индустриальном исполнении, допускающем работу в диапазоне температур от –40 до +85°С.

В соответствии с идеологией РС/104 платы собираются в «этажерку», объединяясь по шине РС/104, совместимой со стандартной шиной ISA. Подобная конструкция обеспечивает высокую стойкость к перегрузкам и вибрациям. «Этажерка» базируется на плате приёма и нормализации, о которой будет отдельно рассказано позже.

Однако при поиске подходящей процессорной платы для регистратора оказалось, что выбор не так и велик. Пришлось отсеять все платы с процессорами 486 и выше, которые имеют значительные токи потребления, что не позволяет обеспечить общую мощность устройства на уровне 7 Вт. Кроме того, оказалось, что многие фирмы, декларируя выпуск плат в индустриальном исполнении, на самом деле имеют в виду лишь одну из опций и реально могут поставлять изделия в таком исполнении только при определённых (порой довольно обременительных) условиях. Часто приходилось сталкиваться с необходимостью заказа сразу большой партии (50 и более штук), что в наших условиях было неприемлемо.

Дополнительным требованием к плате центрального процессора было наличие на ней либо слота для памяти CompactFlash™, либо интерфейса IDE для подключения адаптера этой памяти. Именно по этой причине не удалось, к сожалению, использовать известную и хорошо себя зарекомендовавшую плату 2040 (процессор 386SX 40 МГц, ОЗУ 4 Мбайт) производства фирмы Octagon Systems.

На тот момент была найдена фактически единственная процессорная плата, соответствующая нашим требованиям, – плата PCM-SX-33-2M-ST, выпускаемая фирмой WinSystems. Она представляет собой IBM PC совместимый одноплатный компьютер на базе процессора 386SX с тактовой частотой 33 МГц. Этот одноплатный компьютер выполнен на плате стандартного формата РС/104 и имеет предварительно установленную память SMT DRAM объёмом 2 Мбайт. Для хранения программ устанавливается флэш-память АТ 29С040А-12PI фирмы Atmel объёмом 0,5 Мбайт.

Построение процессора на аппаратных средствах РС/АТ и применение промышленного стандарта для установленного на нём Award BIOS позволяют достичь полной совместимости с программным обеспечением компьютеров IBM РС и их операционными системами. Это даёт возможность, в частности, разрабатывать и модифицировать программное обеспечение устройства на обычных компьютерах.

Одноплатный компьютер PCM-SX-33-2M-ST имеет следующие встроенные интерфейсы:

  • интерфейс гибких дисков 3,5" (используется только на стадии разработки);

  • интерфейс IDE для подключения жёстких дисков (в данном устройстве используется для подключения адаптера флэш-диска);

  • интерфейс параллельного порта LPT (в данном устройстве используется для ввода 8 дискретных сигналов);

  • интерфейс RS-232 (в данном устройстве используется для ввода дополнительных данных);

  • интерфейс РС/АТ совместимой клавиатуры (используется только на стадии разработки);

  • интерфейс полной 16-разрядной шины РС/104 (используется для подключения модулей аналогового и дискретного вывода, а также для связи с адаптером флэш-диска и платой приёма и нормализации сигналов).

Как всякий стандартный компьютер, РС/АТ PCM-SX-33-2M-ST имеет встроенный таймер-календарь и звуковое устройство («пищалку»). Дополнительно он оборудован специальным сторожевым таймером (Watchdog) и имеет возможность опознавания ситуаций пропадания и появления напряжения питания, что позволяет организовать защиту памяти и сигналов ввода-вывода от недопустимых колебаний питающего напряжения. При избыточности эти дополнительные возможности могут быть отключены как программно, так и аппаратно.

Важной особенностью выбранного одноплатного компьютера (платы центрального процессора) является малое токопотребление (370 мА), что позволяет не выйти из заданных границ потребляемой мощности.

В качестве адаптера CompactFlash™ решено было использовать плату PCM-CFlash (WinSystems). Она имеет стандартный формат PC/104 и подключается к центральному процессору по интерфейсу IDE.


Для ввода-вывода аналоговых и дискретных сигналов была выбрана плата аналогового и дискретного ввода DMM-NA-XT фирмы Diamond Systems (рис. 2). Плата имеет следующие возможности:

  • ввод по 16 аналоговым каналам с общей землёй или 8 дифференциальным каналам с разрешением 12 разрядов (в устройстве используется ввод 16 каналов с общей землёй);

  • набор однополярных и двуполярных диапазонов ввода (в устройстве используется диапазон от –10 до +10 В);

  • ввод по 8 дискретным каналам;

  • вывод по 8 дискретным каналам (в устройстве не используется).

Отличительной особенностью плат является высокое входное сопротивление (десятки МОм для аналоговых каналов и единицы МОм для дискретных каналов), что позволяет подавать на входы плат исходные сигналы без дополнительной буферизации, а лишь используя делители соответствующего класса для приведения аналоговых сигналов к стандартному диапазону и дискретных сигналов к уровню TTL. Платы снабжены встроенной защитой от перегрузки аналоговых входных каналов (максимально допустимое напряжение составляет 35 В). В состав устройства включены две такие платы, что полностью покрывает потребности в аналоговых каналах. Недостающие каналы дискретного ввода и необходимые каналы дискретного вывода (индикационные светодиоды) реализуются через порт LPT центрального процессора.

Блок-схема устройства приведена на рис. 3.


Внутренняя конструкция устройства представляет собой «этажерку» из четырёх покупных плат формата РС/104, располагающихся на плате приёма и нормализации сигналов собственной разработки. Эта плата имеет размеры 172×96 мм и является базовой платой устройства. На ней установлены DC/DC-преобразователь напряжения TEN 10-2411 (Traco Electronics AG) и резисторные делители напряжения для нормализации входных сигналов. Соответственно плата выполняет следующие функции:

  • преобразование бортового питания (+27 В) в напряжение +5 В для питания плат формата РС/104;

  • приём сигналов с входных разъёмов;

  • приведение диапазона изменения аналоговых сигналов к стандартному (от –10 до +10 В), воспринимаемому платами DMM-NA-XT;

  • приведение входных дискретных сигналов к стандартному TTL-уровню для их ввода в платы DMM-NA-XT и порт LPT центрального процессора.

На этой же плате размещены сигнальные светодиоды, индицирующие наличие напряжений +27 В и +5 В.

Устройство скомпоновано в корпусе собственной разработки, имеющем съёмную крышку и специальное окно в ней для доступа к флэш-диску. На передней стороне корпуса установлены два герметичных входных разъёма:

  • ОНЦ-50 для сигналов аналогового ввода;

  • ОНЦ-32 для сигналов дискретного ввода и выходного сигнала готовности, а также для подключения бортового питания и интерфейса RS-232.

Внешний вид устройства со снятой крышкой показан на рис. 4. 


На рисунке хорошо видны адаптер переносимого носителя CompactFlashTM, входные разъёмы и предохранитель на передней панели устройства.

Программное обеспечение бортовой части

При разработке программного обеспечения бортовой части (самого регистратора) была принята идеология использования только стандартных возможностей, предоставляемых аппаратурой и операционными системами. Иначе говоря, возможности программирования на уровне BIOS не использовались.

Построение программного обеспечения выполнялось с учётом особенностей записи данных на диск CompactFlash™. Носитель использовался как стандартный жёсткий диск, данные сохранялись в виде файла. Эксперименты показали, что непосредственно съём данных одного такта, их преобразование и запись на носитель занимает около 4 мс и вполне укладывается в заданный тактовый промежуток (1/16 с = 62,5 мс).

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

Для решения данной проблемы на регистраторе применялась операционная система MS-DOS с использованием многозадачного ядра реального времени RTKernel 4.5 компании On Time.

RTKernel представляет собой мощную мультизадачную систему реального времени, предназначенную для разработки программного обеспечения управления технологическими и вычислительными процессами, исполняющегося в среде MS-DOS персональных ЭВМ или IBM PC совместимых контроллеров с открытой архитектурой.

RTKernel является набором библиотек, которые могут быть скомпилированы с прикладной программой. В состав RTKernel входят многочисленные функции и процедуры управления задачами, семафорами и прерываниями, а также средства обмена данными между задачами. Важной особенностью пакета является возможность изменения значения временного интервала генерации программного прерывания по таймеру от 0,1 до 55 мс. Запуск на исполнение задач RTKernel производится из единственной программы, которая содержит ядро, необходимые драйверы и все задачи. Данная программа может выполняться в любой вычислительной системе, содержащей операционную систему MS-DOS. Хотя программа, в которой используется RTKernel, и обладает свойствами, характерными для мультизадачных систем реального времени, она по-прежнему остаётся приложением MS-DOS.

Программное обеспечение бортового регистратора реализовано в рамках пакета Turbo Pascal 6.0, дополненного процедурами RTKernel 4.5. Основная программа (объём исполняемого файла около 55 килобайт) объединяет в себе три независимые задачи:

  • задачу приёма данных из порта RS-232 («Приём из порта»);

  • задачу съёма и обработки данных («Подготовка данных»);

  • задачу записи данных на переносимый носитель («Запись данных»).

Задача приёма данных из порта RS-232 имеет наивысший приоритет. Она постоянно находится в состоянии ожидания поступления данных от внешнего источника и в случае их появления прерывает любую другую задачу, принимает и запоминает данные из порта. Данные принимаются побайтно, поэтому другие задачи практически не испытывают задержек.

Задача съёма и обработки данных имеет высокий приоритет. Она запускается строго по таймеру через 62,5 мс (16 раз в секунду) и выполняет чтение данных с аналоговых и дискретных входов, их обработку и упаковку в заданную структуру (размер структуры – 80 байт). Снятые данные записываются в хвост очереди сообщений.

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

Если при закрытии файла происходят задержки и наступает момент очередного съёма информации, то в соответствии с дисциплиной обслуживания системы реального времени задача «Запись данных» будет прервана и запустится задача «Подготовка данных». Будут сняты с входных цепей и помещены в очередь сообщений текущие данные (это занимает около 4 мс), после чего управление опять возвращается задаче «Запись данных» для окончания процесса закрытия файла.

Эксперименты и исследования процесса записи показали, что при практической работе подобная схема ведёт себя достаточно устойчиво. На всём участке записи (проверялись записи длительностью более 6 часов) не возникало существенных (более 1 мс) задержек, а сдвиг по времени за всё время записи не превышал секунды. Это позволило в дальнейшем резко увеличить скорость записи (тактовую частоту регистрации) и объём сохраняемой информации без существенной переработки программного и аппаратного обеспечения (см. раздел «Модификация бортового регистратора»).

Важным элементом программы «Подготовка данных» является программная калибровка данных. Для нормализации входных сигналов используются резисторные делители, которые, несмотря на высокую точность используемых резисторов, вносят определённые погрешности. Эти погрешности замеряются в процессе изготовления образца бортового регистратора, сводятся в таблицу, записываются в память и используются при съёме данных для их коррекции.

Работа регистратора

При включении питания регистратора происходит стандартная процедура загрузки и на переносимом носителе создаётся файл под именем ББММДДНН.dat, где:

  • ББ – номер регистратора (01…99);

  • ММДД – номер месяца (01…12) и день месяца (01…31);

  • НН – порядковый номер включения в этот день.

Однако регистрация данных не начнётся, пока на один из входных дискретных сигналов (РЗ – разрешение записи) не поступит высокий уровень. После этого начинается запись, которая продолжается до тех пор, пока существует сигнал РЗ. Внутри одного файла данных может быть несколько участков записи (УЗ), при этом участки начинаются и кончаются на границе секунд.

Для контроля состояния регистратора используются светодиод (красный) и специальный выходной сигнал (5 В, до 100 мА), дублирующий этот светодиод. Предусмотрена индикация следующих состояний:

  • регистратор не готов (выключен или загружается) – светодиод погашен;

  • регистратор готов к работе – светодиод горит;

  • идёт регистрация данных – светодиод мигает редко (1 Гц);

  • регистрируемые данные почти заполнили носитель – светодиод мигает часто (4 Гц).

Если питание регистратора отключается, а потом включается вновь, то на носителе образуется новый файл со следующим порядковым номером.

Кроме записи на переносимый носитель, регистратор ведёт свой внутренний («для прокурора») протокол учёта записываемых файлов. Этот протокол недоступен пользователю, но может быть прочитан разработчиком специальным образом.

Как и всякий IBM PC совместимый компьютер, центральный процессор регистратора имеет встроенный таймер-календарь, и, как на любом другом компьютере, этот таймер-календарь приходится иногда корректировать. Для установки нужного времени и даты можно воспользоваться каналом RS-232. Однако в этом случае регистратор необходимо отключать от объекта и подключать к переносной ЭВМ, что не очень удобно, а иногда и невыполнимо. Поэтому был разработан специальный метод передачи требуемых данных в регистратор: на носитель помещается специальный конфигурационный файл, имеющий предопределённое имя (в данном случае config.dat) и специальную структуру, и если бортовой регистратор при запуске находит этот файл на носителе, он считывает записанную в нём информацию, выполняет соответствующие действия (например, устанавливает записанную в файле дату и время), после чего конфигурационный файл уничтожается.

После возвращения бортового регистратора на базу переносимый носитель извлекается и с помощью стандартного устройства для чтения карт CompactFlash™ (обычно подключающегося через USB) нужные файлы переносятся на рабочую станцию для обработки программным обеспечением наземной части.

После съёма данных с носителя перед его установкой в бортовой регистратор необходимо произвести очистку носителя стандартным форматированием.

Программное обеспечение на земной части

При построении программного обеспечения наземной части (программы расшифровки данных) использовался стандартный пакет Delphi 7.

Программа расшифровки данных позволяет отражать информацию как в табличной форме, так и в форме графиков (одновременно на экране могут быть представлены до 8 графиков). Пользователю предоставляются широкие возможности масштабирования данных и разнесения кривых по их значениям (рис. 5). 


Предусмотрена возможность выбора требуемого временного отрезка из всего диапазона с помощью перемещающихся маркеров М1 и М2 (соответственно левый и правый маркеры). Кроме того, могут быть определены максимальное, минимальное и среднее значения на заданном также с помощью маркеров временном интервале.

Выбранную и настроенную по желанию пользователя конфигурацию отображения (цвет фона и оболочки графиков, наличие сетки, цвет и толщина линии каждого графика, а также наличие и положение физических осей) можно запомнить и в дальнейшем просто вызывать и использовать для отображения других полётных данных.

Дополнительной возможностью является запоминание расшифрованных данных (или их части) в виде обычного текстового файла. Файл далее может быть прочитан стандартной программой «Блокнот» или открыт с помощью пакета Excel. Возможность передачи данных в Excel открывает доступ не только к большому набору графиков и диаграмм этого пакета, но и к самым разнообразным вычислениям, включая статистическую обработку данных.


На рис. 6 приводится пример построения траектории полёта дистанционно пилотируемого летательного аппарата (ДПЛА) в прямоугольной системе координат Гаусса-Крюгера (время полёта около 50 минут). На траектории виден маркер положения ДПЛА, соответствующий текущему времени, которое устанавливается расположенным под диаграммой ползунком.

Модификация бортового регистратора

Уже после окончания испытаний и выпуска первых образцов возникла задача регистрации данных как с более высокой частотой (для повышения информативности), так и с более низкой (для увеличения регистрируемого интервала времени). Оказалось, что аппаратура в её исходном состоянии позволяет выполнять до 64 записей в секунду. Изменения коснулись только программного обеспечения.

Программа модифицированного бортового регистратора позволяет работать с основными частотами опроса 8, 16, 32 и 64 кадра в секунду (с некоторыми ограничениями выдерживается и частота 100 кадров). Изменение частоты опроса может производиться только перед запуском регистратора (с помощью уже упомянутого конфигурационного файла config.dat), в процессе работы частота опроса остаётся неизменной. Приём данных по интерфейсу RS-232 осуществляется только на частотах 8 и 16 кадров в секунду, на более высоких частотах этот приём отключается.

Запись на частоте 100 кадров в секунду также выполняется нормально, однако для сохранения записанных данных следует перед выключением регистратора предварительно снять сигнал РЗ. Для записи на остальных частотах это не является обязательным — регистратор может быть просто отключён от питания (аварийное отключение), а данные записи сохраняются.

Заключение

К настоящему времени бортовой регистратор (без описанной модификации) прошёл испытания заказчика. При этом проводились не только стандартные испытания на функционирование, но и полный цикл температурных и вибрационных испытаний на стендах. Не забыты были даже испытания на устойчивость к грибкам.

Выпущена первая серия регистраторов (8 экземпляров), которая успешно эксплуатируется в процессе испытаний ДПЛА уже более двух лет. Неисправностей и отказов не отмечено. Более того, когда в одном из первых испытательных полётов ДПЛА потерпел аварию при приземлении, бортовой регистратор бесстрастно и скрупулёзно продолжал фиксировать всё происходящее, не обращая внимание на жёсткий удар о землю и обрушившиеся на него потоки моторного топлива из разбитого бака. ● 

Авторы — сотрудники Научно-исследовательского института вычислительных комплексов (НИИВК) им. М.А. Карцева
Телефон: (495) 330-0992
42 Факс: (495) 330-5630

1640 0
Комментарии
Рекомендуем

ООО «ПРОСОФТ» 7724020910 erid=2SDnjeaxp3k
ООО «ПРОСОФТ» 7724020910 erid=2SDnjeaxp3k