Научная статья на тему 'Применение встраиваемых процессоров на ПЛИС для идентификации навигационных параметровв'

Применение встраиваемых процессоров на ПЛИС для идентификации навигационных параметровв Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
305
166
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕЛИНЕЙНАЯ ОБРАБОТКА / СПУТНИКОВЫЕ НАВИГАЦИОННЫЕ СИСТЕМЫ / ВСТРАИВАЕМЫЕ ПРОЦЕССОРЫ / NON-LINEAR PROCESSING / SATELLITE NAVIGATION SYSTEMS / EMBEDDED PROCESSORS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Нечаев Евгений Евгеньевич

В статье рассмотрена возможность применения встраиваемого процессора Nios II фирмы Altera для обработки навигационных параметров.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

APPLICATION EMBEDDED PROCESSORS ON FPGA FOR IDENTIFICATION OF NAVIGATION PARAMETERS

The article discusses the possibility of using embedded processor Nios II Altera corp. to handle the navigation parameters.

Текст научной работы на тему «Применение встраиваемых процессоров на ПЛИС для идентификации навигационных параметровв»

УДК 629.7.351

ПРИМЕНЕНИЕ ВСТРАИВАЕМЫХ ПРОЦЕССОРОВ НА ПЛИС ДЛЯ ИДЕНТИФИКАЦИИ НАВИГАЦИОННЫХ ПАРАМЕТРОВ

Е.Е. НЕЧАЕВ

В статье рассмотрена возможность применения встраиваемого процессора Nios II фирмы Altera для обработки навигационных параметров.

Ключевые слова: нелинейная обработка, спутниковые навигационные системы, встраиваемые процессоры

Для уменьшения значений ошибок при определении навигационных параметров целесообразно использовать метод двойного усреднения [1].

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

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

Структурная схема устройства показана на рис. 1.

Рис. 1. Структурная схема устройства обработки навигационных сигналов Источниками входного сигнала являются спутниковые приемники.

Блок сопряжения предназначен для приема и декодирования сигналов со спутниковых приемников.

Блок обработки выполняет обработку декодированного сигнала и выдает результат обработки в виде навигационных параметров.

Декодирование информации от спутниковых приемников

Национальная Ассоциация Морской Электроники (National Marine Electronics Association -NMEA) разработала специальный протокол для поддержания совместимости морского навигационного оборудования различных производителей. Этот NMEA протокол описывает не только данные, полученные с GPS приемников, но и измерения сонаров, радаров, электронных компасов, барометров и других навигационных устройств [2].

Интерфейс обмена данными большинства портативных GPS приемников реализован в соответствии с этой спецификацией. Большинство навигационных программ, которые обеспечивают отображение данных в реальном времени, поддерживают и «понимают» NMEA протокол. Эти данные содержат полные навигационные измерения GPS приемника - позицию, скорость и время. Все NMEA сообщения состоят из последовательного набора данных, разделенных запятыми. Каждое отдельное сообщение не зависит от других и является полностью «завершенным». NMEA сообщение включает заголовок, набор данных, представленных ASCII символами, и поле «Контрольная сумма» для проверки достоверности переданной информации.

Заголовок стандартных NMEA сообщений состоит из 5 символов, из которых два первых определяют тип сообщения, а оставшиеся три - его название. Например, все GPS NMEA сообщения имеют префикс «GP». Сообщения, которые не описаны в спецификации NMEA, но реализованы в GPS приемниках в соответствии с общими правилами, имеют префикс «Р», дополненный тремя символами, уникальными для каждой компании. Например, «собственные» NMEA сообщения фирмы Garmin имеют префикс «PGRM», Magellan - «PMGN»

Каждое NMEA сообщение начинается с «$», заканчивается «\n» ( «перевод строки») и не может быть длиннее 80-и символов. Все данные содержатся в одной строке и отделены друг от друга запятыми. Информация представлена в виде ASCII текста. Если данные не умещаются в выделенные 80 символов, то они «разбиваются» на несколько NMEA сообщений.

Такой формат позволяет не ограничивать точность и количество символов в отдельных полях данных. Например, дробная часть значения координат может быть представлена 3 или 4 знаками после запятой, но это никак не должно повлиять на работу программного обеспечения, которое выделяет нужные данные из сообщения по номеру поля.

NMEA протокол поддерживает не только исходящие, но и входящие сообщения, с помощью которых, например, можно обновить или добавить путевые точки маршрута. Эти сообщения должны быть сформированы в строгом соответствии с форматом NMEA, в противном случае, они будут просто проигнорированы GPS приемником. Стоит отметить, что не все навигационные программы и модели приемников поддерживают этот режим, так как используют для загрузки точек и маршрутов фирменные протоколы производителей - Garmin, Magellan и т.д.

С момента создания NMEA протокол претерпел несколько модификаций, связанных с добавлением новых полей и сообщений. Текущей версией, которую поддерживают большинство приемников, является версия 2.3, хотя уже опубликовано описание новой версии 3.0.

NMEA протокол содержит большое количество типов сообщений [2]:

• AAM - прибытие в путевую точку;

• ALM - данные альманаха;

• APA - данные автопилота «А»;

• APB - данные автопилота «В»;

• BOD - азимут на пункт назначения;

• DTM - используемый датум;

• GGA - информация о фиксированном решении;

• GLL - данные широты и долготы;

• GSA - общая информация о спутниках;

• GSV - детальная информация о спутниках;

• MSK - передача управления базовому приемнику;

• MSS - статус базового приемника;

• RMA - рекомендованный набор данных системы «Loran»;

• RMB - рекомендованный набор навигационных GPS данных;

• RMC - рекомендованный минимальный набор GPS данных;

• RTE - маршрутная информация;

• VTG - вектор движения и скорости;

• WCV - данные скорости вблизи путевой точки;

• WPL - данные путевой точки;

• XTC - ошибка отклонения от трека;

• XTE - измеренная ошибка отклонения от трека;

• ZTG - UTC время и оставшееся время до прибытия в точку назначения;

• ZDA - дата и время.

Некоторые из NMEA сообщений могут содержать одинаковые поля данных либо полностью содержать данные других, меньших по размеру, NMEA сообщений.

Для обработки информации о текущем местоположении воздушного судна целесообразно использовать сообщение вида RMC (рекомендованный минимальный набор GPS данных) [2].

Структура сообщения RMC:

$GPRMC, hhmmss. ss,A, llll. ll, a,yyyyy.yy, a, x. x,x. x, xxxxxx,x. x, a, a *hh<CR> <LF>

Полями данного предложения являются:

1) hhmmss.ss - время;

2) A - статус (A/V);

3) llll.ll,a - широта, N/S;

4) yyyyy.yy,a - долгота, E/W;

5) x.x - скорость в узлах;

6) x.x - курс в градусах;

7) xxxxxx - дата: dd/mm/yy (день/месяц/год);

8) x.x,a - магнитное склонение в градусах, E/W ;

9) a - индикатор режима: A = автономная обсервация, D = дифференциальный режим, N = данные недостоверны.

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

Упрощенный алгоритм работы блока сопряжения показан на рис. 2.

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

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

Блок Определение неполученных сообщений выполняет анализ уже обработанных приемников и переход к необработанным. При этом, если отсутствует сигнал Приемник Хпередача (т.е. приемник ничего не передает по интерфейсу RS-232 на блок сопряжения) выполняется переход на блок проверки времени работы алгоритма (рис. 2, поз. 1).

Если приемник осуществляет передачу навигационного сообщения на блок сопряжения, выполняется прием данного сообщения и его сохранение в памяти блока сопряжения.

Рис. 2. Алгоритм работы блока сопряжения

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

Обработка навигационной информации

Целью обработки навигационной информации от трех спутниковых приемников является получение навигационных параметров с наименьшей ошибкой. Для достижения этой цели применяется метод двойного усреднения, при котором величина координаты рассчитывается как среднее арифметическое величин координат от трех приемников, полученных медианным методом и методом обычного усреднения [1].

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

В настоящее время для организации ЫБС-процессоров применяются микросхемы ПЛИС, в которые встраивается логика ЫБС-процессора.

Одним из наиболее популярных встраиваемых процессоров является процессорное ядро Nios II фирмы Altera [3].

Семейство процессоров Nios II имеет следующие характеристики:

• 32-разрядная архитектура системы команд (ISA);

• 32-разрядные пути данных и адресное пространство;

• 32 регистра общего назначения;

• 32 внешних источника прерываний;

• команды умножения и деления 32 x 32;

• команды циклического сдвига;

• возможность обращения к различной встроенной периферии и интерфейсам с внешними блоками памяти.

В семейство Nios II входят три процессора - быстрый, стандартный и экономичный, каждый из которых оптимизирован под определенный диапазон характеристик. Все три ядра используют один и тот же набор команд и совместимы по кодам.

Поскольку процессор Nios II содержит в своем наборе периферии реализацию интерфейса RS-232, то целесообразно выполнить на нем и блок сопряжения.

Реализация блока комплексирования

Блок комплексирования представляет собой печатную плату, с расположенными на ней элементами. В состав используемых элементов входят микросхемы стабилизации питания, микросхемы согласования уровней и микросхемы логики. В качестве микросхемы логики используется микросхема ПЛИС фирмы Altera, имеющая достаточную емкость для встраивания процессора Nios II. Таким требованиям отвечают микросхемы семейства Stratix II, III, IV, Cyclone III, IV фирмы Altera.

Для проектирования устройств на базе указанных микросхем фирма Altera предлагает среду разработки Quartus II [4]. Для программирования встраиваемого процессора Nios II предлагается среда разработки Nios IDE [5].

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

Основные характеристики пакета Quartus II следующие:

• ввод проекта в виде схемы, блок-диаграмм, на языках AHDL, VHDL и Verilog HDL;

• редактор размещения;

• метод проектирования LogicLock;

• мощная система логического синтеза;

• функциональное и временное моделирование;

• временной анализ;

• возможность программирования устройств;

• средство связи с другими производителями NativeLink;

• большой набор предустановленных примитивов.

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

Программное обеспечение Quartus II - это наиболее комплексная среда для разработки систем на кристалле SOPC, доступная в настоящее время.

Процесс создания встраиваемого процессора состоит из нескольких этапов: выбор типа процессора;

создание процессора и периферии в редакторе SOPC Builder (программный компонент системы Quartus II) [5];

компиляция проекта с учетом используемой микросхемы ПЛИС;

написание программного кода для процессора (используется среда разработки Nios II IDE).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Структурная схема процессора для комплексирования навигационных сигналов показана на рис. 3.

Рис. 3. Структурная схема встраиваемого процессора

Загрузка данных от приемников спутниковых сигналов осуществляется по интерфейсу RS-232 (UART1, UART2, UART3). Выдача результата осуществляется также по интерфейсу RS-232 (UART4).

Принятые данные, результат и промежуточные значения сохраняются в отдельной памяти (Memory).

Расчет навигационного параметра выполняется процессором (CPU).

Блок Clock представляет собой генератор тактовой частоты.

Взаимодействие всех указанных блоков осуществляется по шине Avalon.

Выводы

Таким образом, использование микросхемы ПЛИС позволяет снизить стоимость устройства обработки навигационных сигналов и повысить быстродействие. Встраиваемый процессор Nios II позволяет реализовать алгоритм обработки. При этом существует возможность быстрого изменения алгоритма обработки сигнала путем внесения изменений в программную составляющую процессора.

ЛИТЕРАТУРА

1. Нечаев Е.Е. Нелинейная фильтрация навигационных параметров спутниковых навигационных систем / Труды IX Международной научно-технической конференции «Авиа-2009». - Киев, Национальный авиационный университет. - Т. 1.

2. The NMEA 0183 Protocol - National Marine Electronics Association.

3. NIOSII Processor Reference Handbook - Altera corporation, 2009.

4. Quartus II Handbook Version 9.1 - Altera corporation, 2009.

5. NIOS II Software Developer’s Handbook - Altera corporation, 2009.

APPLICATION EMBEDDED PROCESSORS ON FPGA FOR IDENTIFICATION

OF NAVIGATION PARAMETERS

Nechaev E.E.

The article discusses the possibility of using embedded processor Nios II Altera corp. to handle the navigation parameters.

Key words: non-linear processing, satellite navigation systems, embedded processors.

Сведения об авторе

Нечаев Евгений Евгеньевич, 1986 г.р., окончил МАИ (2008), аспирант МГТУ ГА, автор 4 научных работ, область научных интересов - цифровая обработка сигналов, управление воздушным движением, радионавигация.

i Надоели баннеры? Вы всегда можете отключить рекламу.