Разработка SF-модели алгоритма сбора и обработки телеметрической информации — КиберПедия 

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Разработка SF-модели алгоритма сбора и обработки телеметрической информации

2020-04-01 142
Разработка SF-модели алгоритма сбора и обработки телеметрической информации 0.00 из 5.00 0 оценок
Заказать работу

 

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

Блок контрольно-измерительных приборов включает в себя следующие виды датчиков: температурный датчик, инфракрасный датчик, акселерометр, магнитометр, гироскоп, компас. Подробное их описание представлено в таблице 2.4.

 

Таблица 2.4 - Описание датчиков, составляющих основу КИА платформы "Синергия"

Датчик Производитель Модель Поддержка интерфейсов
Температурный датчик Dallas Semiconductor DS1624S+ I2c
ИК датчик Melexis MLX90614ESF I2c
Акселерометр Bosch BMA150 I2c, SPI
Гироскоп InvenSense IMU-3000 I2c
Компас Honeywell HMC6352 I2c, SPI
Магнитометр Honeywell HMC5883L I2c, SPI

 

Все датчики выдают цифровую информацию и поддерживают протокол передачи I2c (Inter-Integrated Circuit). Этот интерфейс использует две двунаправленные линии связи - SDA и SCL. Таким образом, подсистема сбора телеметрической информации включает в себя две части - управляющий автомат и программную реализацию интерфейсной части.

Для отработки логики управления и сбора телеметрии при моделировании на лабораторном макете будет использоваться только один датчик - температурный DS1624S+ (рисунок 2.4).

При использовании данного датчика будут задействованы только выводы Vdd, GND, SDA, SCL, отвечающие соответственно за питание, заземление, передачу данных и тактирование. Адресные выводы A0, A1 и A2 использованы не будут, как и NC (No Internal Connection).

Разработка программного обеспечения имеет своей конечной целью создания файла прошивки для ПЛИС. Учитывая это, а также возможности среды разработки ISE Xilinx, целесообразно использовать в качестве отдельных элементов структуры проекта встроенные и/или сторонние IP -ядра (Intellectual Property Core), представляющие собой готовые блоки для проектирования микросхем. Поскольку в стандартных библиотеках среды разработки ISE отсутствует IP -ядро интерфейса I2c, принято решение использовать стороннее бесплатное IP -ядро I2c-master, написанное на языке VHDL (рисунок 2.5), имеющего совместимость с используемой при отладке отладочной платы с ПЛИС Xilinx Spartan-6.

У данного блока имеются следующие входные порты: clock ( тактирование, счетное время), reset_n ( отвечает за асинхронную перезагрузку ядра), ena (если его значение равно "0" - остановка работы ядра, "1" - включение ядра, загрузка данных с портов addr, rw, data_wr), addr (адрес необходимого slave -устройства), rw ("0" - режим записи, "1" - режим чтения), data_wr ( передаваемые данные на устройства); выходные порты: data_rd ( считываемые с устройства данные), busy ("0" - индикатор режима ожидания, "1" - индикатор работы ядра), ack_error ( "0" - ошибки отсутствуют, "1" - в процессе работы возникли ошибки) - при каждом перезапуске ядра данный буфер накопления ошибок обнуляется.

Также имеется два порта, работающих как на прием, так и на отправку информации - sda (линия данных), scl (линия тактирования).

Логика работы данного ядра представлена на рисунке 2.6 При запуске подсистемы ядро находится в режиме ожидания (состояние ready), при этом постоянно (с заданной частотой clock) считывает информацию с порта ena. В случае, если оно принимает значение "0" - состояние зацикливается само на себя повторяя обновление информации. Если ena = "1", то ядро начинает свою работу. Вначале происходит обнуление всех регистров и перезапись констант, затем - считывание информации с портов addr, rw (состояние command). Проделав данные операции, система определяет значение параметра rw - чтение/запись. В случае, если rw = "1", то происходит определения устройства по заданному ранее параметру addr, задание констант для работы мастера и непосредственное считывание информации с устройства. Если rw = "0", то выбирается устройство, согласно значению addr и считывание информации с slave -устройства. Данные операции могут прерваться 3 способами. Первый - задание параметру ena значения "0" (система переходит в режим ожидания и прекращает своё функционирование), второй - переназначение параметра rw на противоположный, что влечет за собой переходит в иной режим чтения/записи информации с/на устройство, третий - перезагрузка ядра путем подачи на вход reset_n "0". Отличие третьего от первых двух заключается в том, что при перезагрузке ядра происходит прерывание независимо от текущего состояния системы, обнуление значений data_rd и ack_error, задания значения "1" на выход busy, а в двух первых случаях вначале закончится текущая программа работа, а затем перейдет в необходимое состояние.

В соответствии с циклом работы данного интерфейса разработана простейшая система управления данным интерфейсом (рисунок 2.7). Согласно данной SF -диаграмме работа управляющего автомата представляет собой замкнутый бесконечный цикл, в котором инициализируещее состояние First выдает разрешающее значение "1" на вход данной диаграммы enai2c, которые впоследствии при создание проекта в ISE будет соединен со входом ena IP -ядра I2c. Затем происходит остановка работы интерфейса значением "0" того же порта и снятие действующего значения температуры с выхода data_rd IP -ядра, подающегося на вход data_in управляющего автомата и присвоение локальной переменной data этого же значения. Следующее состояние First3 реализует передачу данных показаний температурного датчика на выход управляющего автомата mem, который будет соединен с отдельным автоматом управления внутренней памятью самой платы.

В соответствии с циклом работы данного интерфейса разработана простейшая система управления данным интерфейсом (рисунок 2.7). Согласно данной SF -диаграмме работа управляющего автомата представляет собой замкнутый бесконечный цикл, в котором инициализирующее состояние First выдает разрешающее значение "1" на вход данной диаграммы enai2c, которые впоследствии при создание проекта в ISE будет соединен со входом ena IP -ядра I2c. Затем происходит остановка работы интерфейса значением "0" того же порта и снятие действующего значения температуры с выхода data_rd IP -ядра, подающегося на вход data_in управляющего автомата и присвоение локальной переменной data этого же значения. Следующее состояние First3 реализует передачу данных показаний температурного датчика на выход управляющего автомата mem, который будет соединен с отдельным автоматом управления внутренней памятью самой платы.

Возможность реализации внутренней памяти для записи телеметрической информации внутри самой ПЛИС, может быть ясна только при непосредственной генерации файла прошивки из программы ISE. Поэтому принято решение о использовании встроенной в отладочную плату RAM -памяти.

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

Поскольку было принято решение об использовании при отладке только одного температурного датчика. Реализация полного алгоритма представлена на рисунке 2.8.

Алгоритм работы данной SF -диаграммы следующий: поступаемая информация обрабатывается последовательно на предмет превышения порога истинных значений. Для данного датчика они являются +125 и - 55 градусов Цельсия. Заранее оговорено, что датчик работает в целочисленном двоичном режиме передачи информации о температуре (7-разрядный код - значение температуры, 1 бит - знак температуры). Например, значению + 125 градусов Цельсия соответствует код 01111101, - 55 - 11001001, 0 градусов - 00000000. Шаг измеряемой температуры - 1 градус. В итоге, в случае обнаружение выхода измеряемого параметра из интервала допустимых значений к записываемому в память коду прибавляется логическая 1 для последующего декодирования на наземном пункте управления, если нет - то логический ноль.

Логическая "1" при декодировании на НКУ может быть следствием либо неисправности датчика, либо превышения пороговой температуры работы космического аппарата, что маловероятно.



Поделиться с друзьями:

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

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

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.