Описание и назначение устройства специализированного вычислительного телеметрического. Главные требования к информационному составу кадра при КРП, ОПС и ОР. Разработка программного обеспечения первого процессора (прием информации и ее передача).
Аннотация к работе
Таким образом, приемник и передатчик работают независимо друг от друга, т.е. один процессор накапливает входную информацию во время одного цикла работы системы, второй процессор производит обработку и передачу информации, накопленной в предыдущем цикле. Информация, циркулирующая в кодовой магистрали, представляет собой командные слова (КС) и слова данных (СД). УСВТ должен сформировать признак «Конец выдачи в СТИ», если на его вход не поступил КС «Конец выдачи в СТИ», при условии наполнения по входу прибора 1200 слов. Информационный состав кадра УСВТ определяется в зависимости от режима работы БАСУ, признаки которого содержаться в 16-12 разрядах СД при КС «Конец выдачи в СТИ»: · Режим КРП - 10100 Выдача в СТИ информации последнего зарегистрированного в приборе слова кадра обеспечивается поступлением из БАСУ КС «Конец выдачи в СТИ».По завершению отладки, была произведена отработка на центральном моделирующем комплексе и комплексном стенде с использованием реального оборудования, используемого в ракетоносителе.200 1 КАНАЛ 404 210 2 КАНАЛ 8B4 240 INDEX_OF_4000 12DCINDEX_OF_4000 .set BEGIN_OF_I SIZE_OF_I*3 200 INDEX_OF_C800 .set BEGIN_OF_I SIZE_OF_I*3 365 INDEX_OF_9800 .set BEGIN_OF_I SIZE_OF_I*3 420 INDEX_OF_E000 .set BEGIN_OF_I SIZE_OF_I*3 495 TBL_KS word m_INDEX_OTHER ; 0h word m_INDEX_OTHER ; 1h word m_INDEX_OTHER ; 2h word m_INDEX_OTHER ; 3h word m_INDEX_OTHER ; 4h word m_INDEX_OTHER ; 5h word m_INDEX_OTHER ; 6h word m_INDEX_OTHER ; 7h word m_INDEX_4000 ; 8h word m_INDEX_OTHER ; 9h word m_INDEX_OTHER ; Ah word m_INDEX_OTHER ; Bh word m_INDEX_OTHER ; Ch word m_INDEX_OTHER ; Dh word m_INDEX_OTHER ; Eh word m_INDEX_OTHER ; Fh word m_INDEX_OTHER ; 10h word m_INDEX_OTHER ; 11h word m_INDEX_OTHER ; 12h word m_INDEX_9800 ; 13h word m_INDEX_OTHER ; 14h word m_INDEX_A800 ; 15h word m_INDEX_OTHER ; 16h word m_INDEX_OTHER ; 17h word m_INDEX_OTHER ; 18h word m_INDEX_C800 ; 19h word m_INDEX_OTHER ; 1Ah word m_INDEX_OTHER ; 1Bh word m_INDEX_E000 ; 1Ch word m_INDEX_OTHER ; 1Dh word m_INDEX_OTHER ; 1Eh word m_INDEX_OTHER ; 1Fh word 0FFFFH m_INDEX_OTHERADR_BEGIN_QUEUE .set 1500h ADR_END_QUEUE .
Введение
В качестве темы курсового проектирования была выбрана тема разработки программного обеспечения устройства потому, что в современных устройствах и технологиях программирование является неотъемлемой частью. Программирования блоков позволяет сократить использование сложных, порой даже невозможных схемотехнических решений, увеличить скорость работы устройства.
Программными средствами решается не только упрощение устройства, но и анализ всех сигналов, проходящих через контроллер или процессор, в том числе и цифровой информации. В процессе прохождения всего тракта цифровой информации, она может изменяться, упаковываться, сортироваться, фильтроваться и так далее, и все это стало простым и доступным средством благодаря программированию «железа».
1.
Назначение УСВТ вычислительный телеметрический кадр программный
Разрабатываемое программное обеспечение (ПО) предназначено для устройства специализированного вычислительного телеметрического (УСВТ) С-13165. Данное УСВТ используется в ракетоносителях типа СОЮЗ как промежуточное устройство в телеметрической системе ракетоносителя. Задачей УСВТ является сбор информации с кодовых линий бортовой аппаратуры системы управления (БАСУ), формирование телеметрического кадра цифровой информации и передача данной информации в систему телеметрической информации (СТИ). СТИ после чего производит окончательное формирование телеметрической информации и передает ее на землю по средствам радиоканала. Время приема и передачи информации ограничивается циклом работы бортовой центральной вычислительной системы (БЦВС). Состав информации зависят от режима работы ракетоносителя. Ракетоноситель имеет 3 основных режима работы: комплексные регламентные проверки (КРП), основная программа предстарта (ОПС) и собственно сам полет - основной режим (ОР).
2.
Описание УСВТ и принцип работы
УСВТ представляет собой 3-х канальный приемник и 2-х канальный передатчик. Первый и второй передатчик обрабатывают информацию со всех трех входных каналов. Прием информации со всех входных каналов на один выходной канал организован на процессоре ВЦ1865ВМ2, который является отечественным аналогом процессора фирмы Texas Instruments TMS320C25. ВЦ1865ВМ2 имеет ту же самую технологию, структуру и систему команд, что и зарубежный процессор, поэтому используется то же самое программное обеспечение для разработки и отладки программ. Передача информации на один выходной канал так же организована на процессоре ВЦ1865ВМ2. Схемотехникой УСВТ взаимодействие между процессорами организовано по средствам переключаемой внешней ОЗУ (оперативно запоминающее устройство). Таким образом, приемник и передатчик работают независимо друг от друга, т.е. один процессор накапливает входную информацию во время одного цикла работы системы, второй процессор производит обработку и передачу информации, накопленной в предыдущем цикле. Переключение ОЗУ происходит после приема данных, сообщающих об окончании цикла работы. Информация, циркулирующая в кодовой магистрали, представляет собой командные слова (КС) и слова данных (СД). Слова 16-разрядные.
3.
Исходные данные
3.1 Основные технические требования вычислительный телеметрический кадр программный
УСВТ должен решать следующие задачи: · Формировать служебное слово УСВТ по результатам самоконтроля
· Формировать и выдавать в СТИ кадр заданной структуры с произвольным содержанием и длительностью по включению питания до момента поступления входной информации
· Осуществлять сбор информации из магистральных кодовых линий связи БАСУ за интервал времени между поступлением из БЦВС в УСВТ КС «Конец выдачи в СТИ»
· Формировать кадр заданной структуры и составом информации в соответствии с разделами 3.2, 3.3, 3.4
Структура выходного кадра УСВТ должна быть следующая: · Три маркерных слова с кодом 0XFFFF
· Слово данных при КС «Конец выдачи в СТИ»
· Служебное слово УСВТ
· Информационные слова кадра УСВТ
Длительность кадра УСВТ равна интервалу времени между поступлением в УСВТ первых командных слов после массива с КС «Конец выдачи в СТИ».
Начало считывания выходного кадра УСВТ должно соответствовать моменту прихода первого КС после массива с КС «Конец выдачи в СТИ».
УСВТ должен сформировать признак «Конец выдачи в СТИ», если на его вход не поступил КС «Конец выдачи в СТИ», при условии наполнения по входу прибора 1200 слов. Сформированный признак «Конец выдачи в СТИ» является условием для формирования маркера кадра.
При длительности цикла БЦВС (60±1) мс и частоте считывания информации в СТИ 12,8 КГЦ объем информации, передаваемой в СТИ в выходном кадре прибора, составляет 376-387 16-разрядных слов.
Информационный состав кадра УСВТ определяется в зависимости от режима работы БАСУ, признаки которого содержаться в 16-12 разрядах СД при КС «Конец выдачи в СТИ»: · Режим КРП - 10100
· Режим ОПС - 00100
· Режим ОР (Временной интервал t0 - t0\) - 01110
· Режим ОР (Временной интервал t0\ - tk) - 111XX
Требования к информационному составу приведены в ИД на программно-математическое обеспечение (ПМО) УСВТ, в данной пояснительной записке к курсовой работе не приводиться по причине коммерческой тайны.
Прибор должен анализировать признак режима работы БАСУ в каждом кадре для режимов КРП и ОПС. Анализ режима работы в каждом кадре для режима ОР не требуется.
Выдача в СТИ информации последнего зарегистрированного в приборе слова кадра обеспечивается поступлением из БАСУ КС «Конец выдачи в СТИ».
3.2 Требования к информационному составу кадра УСВТ при КРП
Информационный состав кадра УСВТ при КРП одинаковый для первого и второго выходных потоков УСВТ приведен в таблице 1.
Таблица 1 - Структура и состав кадра для одного потока УСВТ при КРП
Номер слова в кадре Содержание слова
1 Маркер (FFFF)
2 Маркер (FFFF)
3 Маркер (FFFF)
4 СД при КС «Конец выдачи в СТИ»
5 Служебное слово УСВТ
6 Номер кадра
7 Первое слово I канала БЦВС
… …
Последнее слово I канала БЦВС
5678
Первое слово II канала БЦВС
…
Последнее слово II канала БЦВС
5678
Первое слово III канала БЦВС
…
Последнее слово III канала БЦВС
На выход УСВТ должна быть передана вся информация (КС, ОС, СД) трех каналов обмена между БЦВС и СУ, циркулирующая в магистралях. Порядок слов в кадре должен соответствовать порядку их поступления на вход УСВТ.
Допускается не контролировать цифровую информацию, циркулирующую в магистралях обмена БЦВС с абонентами, в течении 1 мс после прихода СД при КС «Конец выдачи в СТИ».
УСВТ должен сформировать порядковый номер кадра и передать его в шестом слове кадра. Начало счета кадров с момента поступления информации на вход УСВТ после включения питания.
3.3 Требования к информационному составу кадра УСВТ при ОПС
Информационный состав кадра УСВТ приведен в таблице 2 для первого и второго выходных потоков УСВТ.
Таблица 2 - Структура и состав кадра УСВТ при ОПС
Выход УСВТ 1 поток 2 поток
Номер слова в кадре Содержимое слова
1 Маркер (FFFF) Маркер (FFFF)
2 Маркер (FFFF) Маркер (FFFF)
3 Маркер (FFFF) Маркер (FFFF)
4 СД командного слова «Конец выдачи в СТИ»
5 Служебное слово УСВТ
6 Номер кадра
Обменная информация из I канала БЦВС Обменная информация из II и III каналов БЦВС
5678
Нечетные массивы расчетной информации Четные массивы расчетной информации
Обменную информацию с КС AE06 ввести в состав выходного кадра УСВТ с 3-х каналов.
3.4 Требования к информационному составу кадра УСВТ при ОР
Информационный состав кадра УСВТ при ОР, номера слов кадра БЦВС (из состава массивов КС E220), включенных в состав кадра УСВТ, временные интервалы контроля разовых параметров и логико-временная диаграмма работы БЦВС приведены в исходных данных. В ПЗ не приводится по причине коммерческой тайны и большого объема информации, носящей чисто технический характер.
4.
Разработка программно-математического обеспечения УСВТ
4.1 Разработка программного обеспечения первого процессора (прием информации)
Всю входную информацию, поступающую на УСВТ условно можно разделить на 5 групп, если не считать деление на каналы БЦВС. В каждой группе информация объединяется по первым пяти битам командного слова - они имеют одинаковую кодировку: E000, 9800, C800, 4000 и A800. Так же необходимо сохранять порядок поступление слов на вход УСВТ, поэтому всю входную информацию необходимо сохранять по порядку их поступления. Прием информации осуществляется по сигналам внешних прерываний, причем для КС предусмотрено одно внешнее прерывание, для СД другое внешнее прерывание. Так же для предотвращения случайных помех по входу при включении всей аппаратуры необходимо предусмотреть запрет каких либо действий в течении 10 секунд после включения питания. Так же у процессора есть возможность хранить данные в своей ПЗУ (памяти программ) и загружать эти данные в память данных. У процессора еще имеется возможность перехода в памяти программ по адресу, находящемуся в аккумуляторе, т.е. переход к необходимым местам программы, адреса которых можно хранить в памяти программ в виде константы. В процессоре имеется 8 регистров общего назначения, которые позволяют производить обращение к ОЗУ, операции сравнения, участвовать в операциях условного перехода и подчиняются операциям инкремента и декремента. ОЗУ картирована. Первые адреса занимают вектора прерывания и различные регистры процессора, затем идет нулевой банк ОЗУ, к которому имеется доступ из любого уровня доступа (в нем обычно размещают своеобразный стек при обработке прерываний и глобальные переменные). Затем идет остальная часть ОЗУ, которая используется при работе программы. Для условного обозначения конца кадра в ОЗУ или пользовательской таблицы в ПЗУ используется кодировка FFFF.
Исходя из выше сказанного, организуем ОЗУ, ПЗУ и программу следующим образом: · Поделим ОЗУ на 3 зоны по 1200 слов в каждой для хранения входной информации. Каждая зона для отдельного потока.
· Так же выделим 5 зон для хранения адресов каждого из 5 групп КС. Для каждой зоны максимальное количество КС в одном цикле приведено в ИД.
· Создадим таблицу в ПЗУ, в которой будут храниться адреса процедур сохранения ссылок на КС-ы каждой группы.
· Используем счетчик таймер для организации 10-секундной задержки по включению питания.
· Организуем обработку прерываний.
Таким образом получаем 4 основных куска программы: · Начальная инициализация, очистка ОЗУ, настройка таймера на отсчет 10 секунд, разрешение прерываний от таймера, запрет внешних прерываний, настройка регистров и переменных.
· Обработка прерывания по таймеру, после отсчета 10 секунд отключение таймера и разрешение внешних прерываний.
· Обработка внешнего прерывания по КС. Сохранение трех потоков в ОЗУ, сохранение адресов пришедших КС в соответствующую группу, проверка на наличие КС «Конец выдачи в СТИ», в случаи отсутствия данного КС формирование собственного признака по переполнению.
· Обработка прерывания по СД. Сохранение в памяти трех потоков в ОЗУ, проверка на наличие конца цикла БЦВС, обозначение конца кадра.
Таблица с адресами функций обработки КС и деления их по группам построена так, что при прибавлении адреса начала таблицы к выделенным по маске старшим 5 битам КС, сдвинутым в право на 11 разрядов попадаем на ячейку, в которой хранится адрес процедуры обработки КС соответствующей группы. Блок-схемы программы приведены в приложении 2. Карта памяти приведена в приложении 1. Исходный текст программы на языке ассемблера приведен в приложении 4.
4.2 Разработка программного обеспечения второго процессора (передача)
Принципы, используемые в первом процессоре, применяем и здесь. Так как память, переключаемая между процессорами, то карта памяти сохраняется и для второго процессора. Процесс выдачи происходит по запросам от СТИ, не зависимо от режима работы. Так как в различных режимах работы БЦВС состав и структура кадра отличаются, поэтому продолжаем отслеживать режим работы БЦВС. При переключении памяти генерируется внешнее прерывание. По запросу от СТИ генерируется прерывание от последовательного порта ввода / вывода. Исходя из циклограмм, логико-временных диаграмм, структуры и состава выходного кадра в различных режимах работы БЦВС составляются таблицы, в которых указаны функции обработки данных и функции их инициализации в том порядке, в котором необходимо их запускать. Так же составляются функции вызова этих таблиц в зависимости от режима, в котором находится БЦВС. В функциях производиться полный перебор таблицы с функциями, по окончании таблицы программа переходит в бесконечную петлю. Так же в функциях используется переход в бесконечную петлю по определенным условиям. Вся программа строится на двух потоках. Первый поток работает в фоновом режиме и подготавливает данные для передачи, запускается по прерыванию, генерируемого в момент переключения ОЗУ и работает вплоть до бесконечной петли. Второй поток производит непосредственную выдачу подготовленных данных в заданной последовательности. Второй поток работает по прерываниям, генерируемым по запросам от СТИ. В случаи, если данные закончились, а запросы продолжаются, происходит выдача нолей. Вся программа построена на условных и безусловных переходах, а так же переходах по адресам, которые задаются в ходе работы процессора в таблицах и определенных переменных.
Так как при вызове прерывания по запросу от СТИ необходимо сохранить контекст программы в стеке и загрузить контекст процедур выдачи, то подпрограмма обработки данного прерывания строится следующим образом: · Сохраняем в стек статусные регистры, аккумулятор, регистры общего назначения
· Загружаем контекст процедур выдачи
· Переходим по адресу, содержащемся в определенной переменной на соответствующую процедуру
· По окончанию процедуры переходим на завершение обработки прерывания.
· Сохраняем в стек контекст процедур выдачи
· Загружаем регистры общего назначения, аккумулятор, статусные регистры, выходим из прерывания.
Обработка прерывания по переключению ОЗУ запускает фоновый поток, фактически это и есть основная программа процессора. Соответственно программа обработки выглядит следующим образом: · Определение режима работы БЦВС
· Выбор функций для обработки данных
· Загрузка адресов в определенные переменные для последующих процедур и процедур выдачи данных.
· Переход на обработку данных
· После завершения переход в бесконечную петлю в ожидании следующего кадра
Так же некоторые параметры накапливаются в течении длительного времени, т.е. на протяжении нескольких кадров. В частности параметры системы спутниковой навигации. Поэтому в конце ОЗУ выделена специальная область памяти, которая является хранилищем, и заполняется по мере прихода данных от кадра к кадру. Соответственно выдача этих параметров производиться в определенное время, что учтено в функциях и таблицах.
Блок-схемы программы второго процессора, приведенные в приложении 3, являются обобщенными, описывают алгоритм в общих чертах. Исходный код программы, приведенный в приложении 5, так же является не полным, ввиду коммерческой тайны таблиц и параметров, передаваемых в телеметрии.
Вывод
В процессе написания программы происходила отладка по частям на симуляторе с использованием имитационных данных. Так же производилась отладка программы на автономном рабочем месте программиста с использованием реального прибора и того же имитационного материала. По завершению отладки, была произведена отработка на центральном моделирующем комплексе и комплексном стенде с использованием реального оборудования, используемого в ракетоносителе. УСВТ прошла данную отработку без ошибок, что говорит о верности написания ПМО УСВТ. Полученная информация при отработке на комплексном стенде и центральном моделирующем комплексе соответствует контрольным данным.