Выпуск #9/2018
Ландышев Сергей Владимирович, Клименко Михаил Юрьевич
Принципы построения многочастотного приемника ГНСС на базе СБИС К1888ВС018
Принципы построения многочастотного приемника ГНСС на базе СБИС К1888ВС018
Просмотры: 1725
В статье рассматриваются общие принципы построения навигационного приемника геодезического класса на базе СБИС К1888ВС018 с использованием гетерогенной вычислительной архитектуры, содержащей процессорные ядра NeuroMatrix и процессор общего назначения ARM.
УДК 621.391
DOI: 10.22184/1993-8578.2018.82.64.68
УДК 621.391
DOI: 10.22184/1993-8578.2018.82.64.68
Теги: arm heterogeneous computing architecture high precision navigation receiver neuromatrix soc к188вс018 геодезический навигационный приемник гетерогенная вычислительная архитектура сбис к188вс018
В настоящее время на рынке геодезической аппаратуры представлены навигационные приемники геодезического класса зарубежного производства. Приемники такого класса обеспечивают результат позиционирования с миллиметровой точностью в режиме постобработки и сантиметровую точность в режиме измерений в реальном времени. Точностные характеристики достигаются использованием многоканальной обработки (до нескольких сотен одновременно работающих каналов), одновременной обработки сигналов нескольких частотных диапазонов, использованием дифференциально-фазовых измерений, применением уникальных и глубоко оптимизированных алгоритмов обработки. Предлагаемые потребителю-геодезисту приемники характеризуются высокой ценой, которая обусловлена применением в приемниках специализированных устройств-вычислителей, выполненных по самым современным по мировым меркам технологиям, а также высокими затратами на разработку уникальных наукоемких алгоритмов на этапе проектирования приемника. Наработки аппаратно-программных частей патентуются разработчиками и являются закрытыми.
Российскими производителями предлагаются одночастотные приемники, на базе которых невозможно построить конкурентный продукт геодезического класса. Отечественные производители, однако, имеют потенциал для создания аппаратуры для точных измерений, и многие движутся в этом направлении. Особая актуальность разработок определяется курсом правительства РФ на импортозамещение. Следует отметить, что Россия обладает высоким интеллектуальным потенциалом в плане инженерной мысли и хорошей инженерной школой, тем не менее, имеется существенное отставание в области микроэлектроники и производстве качественной микроэлементной базы. Игнорирование развития темы, связанной с навигационной аппаратурой потребителя, сделает отставание безнадежным.
ЗАО НТЦ «Модуль» в рамках работ по созданию линейки отечественной аппаратуры потребителей создал навигационную СБИС для высокоточного позиционирования. В микросхеме поддерживается многоканальная обработка сигналов нескольких частотных диапазонов, обеспечивается аппаратная поддержка канальной обработки сигналов от существующих и перспективных навигационных спутников.
В статье производится обзор микросхемы СБИС К188ВС018 и поясняются общие принципы построения многочастотных навигационных модулей на базе СБИС и программирования навигационных приемников геодезического класса.
СБИС К188ВС018
Микросхема имеет гетерогенную структуру, обеспечивающую оптимальную обработку навигационных сигналов на разных ее этапах. В СБИС выделяются три основных вычислительных ядра — два ядра на базе DSP NeuroMatrix и процессорная система ARM. Кроме того, выделяются специализированные блоки обработки сигналов на высокой частоте отсчетов — блок предварительной обработки (DDC) и аппаратный блок корреляторов. На рис. 1 представлена структурная схема СБИС.
Реализация навигационного приемника предполагает организацию межпроцессного взаимодействия, которое организуется с использованием общей памяти — с помощью коммутатора вся внутренняя память СБИС (ОЗУ) видна всем вычислителям. Основное отличие «своих» банков памяти от «чужих» состоит в приоритете при конкурентном доступе к ОЗУ.
В блоке DDC реализовано 8 аппаратных каналов для переноса группового сигнала (весь частотный диапазон) на нулевую частоту. На рис. 2 показана упрощенная схема каналов DDC.
Входные данные поступают от блока АЦП, который содержит четыре 10-битовых АЦП, либо от цифровых двух-битовых входов. В каналах происходит обработка как действительных, так и комплексных сигналов, которые формируются с помощью входных мультиплексоров. NCO генератора фазы построен на базе 32-разрядного счетчика. Результат обработки в канале упаковывается в комплексные отсчеты в формате 2+2, 4+4, 8+8 бит (действительная + мнимая части) и записывается в память.
Блок аппаратных корреляторов (CORB) состоит из 16 аппаратных каналов (CHx), блока памяти для хранения таблиц ПСП (MEM_BLOCK), схемы приоритетов и анализа зависимых каналов (SPDB) и декодера входных команд (DCB). Структурная схема блока корреляторов представлена на рис. 3.
Каждый канал блока корреляторов содержит пять комплексных корреляторов для обработки пяти реплик ПСП, которые могут быть сформированы внутри канала на регистрах сдвига с обратной связью, либо заданы таблично. Расстояние между отводами коррелятора (расхождение реплик во времени) задается программно в долях одного чипа. Настройки каналов позволяют формировать реплики уплотненных кодов, которые используются, например, в сигналах GPS L2C, а также формировать реплики для корреляции сигналов с BOC модуляцией. Все корреляторы работают с входными комплексными данными. Схема одного канала корреляторов приведена на рис. 4.
Важная особенность микросхемы — это использование независимых источников синхронизации для блоков АЦП — DDC и остальных компонентов СБИС. Такая особенность позволяет эффективно реализовать обработку в режиме «быстрее реального времени». В этом режиме темп обработки данных в CORB и на процессорных системах значительно выше темпа поступления данных. Аппаратный блок корреляторов обеспечивает одновременную обработку нескольких источников данных, реализуя, таким образом, многоканальную обработку. Оцифрованные и предварительно обработанные в блоках АЦП — DDC данные записываются кадрами в память СБИС. Затем эти данные выбираются из памяти и обрабатываются поочередно в аппаратных каналах корреляторов с темпом, в несколько раз превышающим скорость поступления отсчетов. Такой подход позволяет существенно снизить объем аппаратных средств, особенно при необходимости реализовать десятки и сотни виртуальных каналов обработки, используя при этом минимум аппаратных средств.
Например, пусть блоки АЦП — DDC синхронизуются от тактового генератора 20 МГц, все остальные блоки СБИС, в том числе и CORB, работают на частоте 320 МГц. Учитывая, что темп обработки в 16 раз выше и при наличии 16 аппаратных блоков, можно получить 16 × 16 = 256 виртуальных каналов обработки в пределе.
СТРУКТУРА МНОГОЧАСТОТНОГО ПРИЕМНИКА
Характеристики высокоточного навигационного приемника, прежде всего, определяются выбранными радиоприемным устройством (РПУ) и частотным планом. Такой выбор производится на самых ранних этапах проектирования, так как он влияет как на состав и настройки задействованных аппаратных ресурсов, так и на используемые алгоритмы. В статье рассматривается приемник, использующий два РПУ NTLab NT1065 «Nomada». Данное РПУ имеет 4 канала и 2 независимых гетеродина. Тактирование РПУ осуществляется внешним высокостабильным тактовым генератором с частотой 10 МГц.
Комплексную задачу выбора частотного плана можно разбить на несколько относительно простых задач:
выбор обрабатываемых сигналов (GPS, GPS + ГЛОНАСС и т. д.)
выбор типа кода (СТ- или ВТ-код);
выбор частоты гетеродина РПУ;
выбор первичной частоты дискретизации;
выбор порядка децимации.
Векоторые из этих задач являются индивидуальными и не зависят от других. Например, выбор обрабатываемых сигналов и кодов — это не столько технический, сколько вопрос позиционирования будущего приемника на рынке. Большинство же поставленных задач являются взаимосвязанными.
Перспективный навигационный приемник должен работать с сигналами всех существующих ГНСС (GPS, ГЛОНАСС, Galileo, Beidou) во всех диапазонах частот (L1, L2, L3, L5) с кодами стандартной точности.
На рис. 5 показана схема навигационного модуля трехчастотного приемника.
В реализации трехчастотного приемника задействуются два РПУ. Для обработки сигналов в частотных диапазонах L1, L2 используются аналоговые выходы NT1065. Для диапазонов L3 и L5 используются цифровые выходы второй РПУ. Один из выходов задействуется для тактирования блоков АЦП и DDC микросхемы К188ВС018.
Следует отметить, что для двухчастотного приемника достаточно одного РПУ, причем в качестве выхода можно использовать как аналоговые, так и цифровые сигналы (опционально).
СБИС обрабатывает входные действительные сигналы, используя при этом шесть аппаратных каналов DDC из восьми доступных.
Перед переходом к частотному плану следует обозначить путь сигнала и операции над ним.
Сигнал на несущей частоте поступает на вход РПУ.
Производится перенос спектра сигнала на промежуточную частоту и фильтрация.
Осуществляется преобразование действительного аналогового сигнала в цифровой.
В канале DDC проводится дополнительный перенос спектра сигнала на нулевую частоту. На данном этапе сигнал становится комплексным.
Производятся понижение частоты дискретизации и упаковка сигнала.
Частотные планы двух- и трехчастотного приемников приведены в табл. 1.
РАСПРЕДЕЛЕНИЕ ЗАДАЧИ ПО ВЫЧИСЛИТЕЛЬНЫМ РЕСУРСАМ
Полное решение навигационной задачи и формирование «сырых» данных для дальнейшей обработки в режиме RTK предполагает многоступенчатую обработку в СБИС. Традиционно выделяются первичная и вторичная обработки. На этапе первичной обработки выполняются:
перенос входного группового сигнала на видео частоту без учета доплеровского смещения;
обработка сигналов каждого КА:
перенос сигнала на видео частоту с учетом доплеровского смещения;
корреляционная обработка;
управление корреляторами, реализация петель слежения.
На втором этапе выполняется обработка результатов корреляции, значений доплеровских псевдофаз и псевдочастот, декодируются навигационные сообщения, решается задача в режиме абсолютных измерений, формируются «сырые» данные и т. д.
В СБИС реализована аппаратная поддержка первичной обработки в блоках DDC и CORB. Управление этими блоками доступно как со стороны ARM, так и со стороны ядер NMC. Настройки каналов блока DDC фиксируются на этапе программной инициализации в соответствии с частотным планом и не меняются в ходе работы программы, поэтому управление блоком DDC можно переложить на любую процессорную систему. С блоком корреляторов дело обстоит иначе.
Реализация принципа «обработка быстрее реального времени» предполагает многократное использование каждого из каналов CORB. Групповой сигнал, сформированный в канале DDC, далее несколько раз проходит обработку в каналах коррелятора, каждый раз обрабатывая сигнал от конкретного спутника с учетом псевдозадержки и псевдодоплеровского смещения частоты. Это означает постоянную перенастройку каналов CORB. Смена контекста канала корреляторов осуществляется записью определенных значений в регистры аппаратного канала, и для каждого канала необходимо выполнить до 50 операций чтения-записи. С учетом виртуальных каналов, которых может быть до двухсот, смена контекста оказывается весьма затратной по времени операцией. Кроме этого, следует учитывать, что процессорная система ARM имеет особенности при записи в память и в регистры управления периферий — эти операции значительно медленнее аналогичных операций, выполняемых ядрами NMC. Например, при частоте тактов процессорных систем 320 МГц системная шина ARM работает на частоте 160 МГц, в то время как шины ядер NMC работают на частоте процессоров, то есть на 320 МГц. Учитывая все вышесказанное, управление блоком корреляторов целесообразно осуществлять из NMC.
Реализация петель слежения — наиболее алгоритмически емкая часть приемника. Здесь широко используются математические операции, требующие точных вычислений, которые, как правило, выполняются с использованием арифметического сопроцессора. Процессорная система ARM содержит сопроцессор для операций с числами с плавающей точкой, и наиболее естественное решение — реализовать петли слежения на системе ARM.
Вторичная обработка также перекладывается на ARM. Это обусловлено прежде всего тем, что вся периферия ввода/вывода может управляться только из ARM, а именно по этим интерфейсам выдаются наружу результаты навигационных измерений. По этой-же причине на процессорную систему ARM возлагаются задачи, связанные с взаимодействием модуля приемника с внешними управляющими пользовательскими модулями.
Программа для процессора ARM состоит из двух основных частей:
синхронная часть, которая выполняется в обработчике прерываний от NMC. Здесь реализуются петли слежения, вырабатываются и передаются обновленные параметры для корреляторов, осуществляется взаимодействие с ядрами NMC;
асинхронная (фоновая) часть. Здесь выполняется решение навигационной задачи и взаимодействие с периферией.
Обработка сигналов в приемнике осуществляется итерациями по одной миллисекунде. После получения очередного миллисекундного кадра программа, которая выполняется на NMC, вызывает прерывание ARM, запуская синхронную часть. Синхронная программа ARM считывает и обрабатывает результаты работы NMC, после чего формирует новые задания.
Обработка данных осуществляется в конвейере DDC-NMC-CORB-ARM. Сначала в DDC формируются кадры из сигнальных отсчетов, затем кадры обрабатываются в блоке корреляторов, управляемом NMC, далее результат обработки передается в ARM-программу, которая выполняет вторичную обработку.
В связи с присутствием конвейера появляется задержка между моментом формирования кадра и откликом системы по результатам его обработки (рис. 6):
МАШИНА ПОИСКА
Машина поиска навигационных сигналов реализуется на одном из процессорных ядер NMC. Структура СБИС позволяет реализовать поиск параллельно с выполнением слежения, когда одно ядро NMC выполняет канальную обработку (управление блоком корреляторов), а другое ядро обеспечивает постоянный поиск сигналов КА.
В качестве алгоритма для реализации поиска навигационного сигнала используется алгоритм быстрой свертки во временной области. Теоретической основой данного подхода является теорема о свертке — спектральная плотность свертки сигналов во времени равна произведению спектров этих сигналов.
Применение быстрой свертки при поиске с перебором по частоте не требует многократных переносов сигнала с помощью гетеродина, эта операция заменяется циклическим сдвигом спектра входного сигнала. То есть для записанного группового сигнала БПФ выполняется однократно, после чего с помощью циклических сдвигов отсчетов спектра выполняется перенос на нужную частоту. При таком подходе шаг поиска по частоте составит 1/T = 250 Гц, где T — период накопления, равный 4 мс.
На ядре NMC реализуется алгоритм Кули – Тьюки быстрого преобразования Фурье, который выполняется над входными данными размером 2 в степени N. Наиболее удобным размером входных отсчетов является 8192. Тогда для частоты отсчетов Fs = 2048 МГц (достаточная для обработки сигналов ГЛОНАСС L1 OF, GPS L1 C/A) точность определения задержки будет равна 0,25 чипа для ГЛОНАСС L1 OF, 0,5 для GPS L1 C/A.
БПФ 8192-х комплексных отсчетов на процессорном ядре NMC выполняется приблизительно за 240000 тактов или 0,75 мс. Поэлементное перемножение 8192-х комплексных отсчетов выполняется приблизительно за 100000 тактов или 0,31 мс.
С учетом всех накладных расходов время выполнения поиска сигнала одного КА составляет 100 мс.
БПФ выполняется с использованием векторно-матричного узла NMC, который оперирует целочисленными данными. Приведенная производительность достигалась для восьмибитовых представлений синусов/косинусов (числа с фиксированной точкой). Время поиска можно сократить, если использовать, например, четырехразрядные представления синусов/косинусов с незначительным уменьшением чувствительности.
Для некоторых приемников точность определения доплеровского смещения с шагом 250 Гц оказывается недостаточной для перехода от поиска к слежению из-за алгоритмических особенностей и специфики используемых петель слежения. В этом случае после грубого поиска производится процедура уточнения реальной частоты сигнала с помощью спектрального анализа отсчетов, взятых на выходе коррелятора. Для повышения точности определения до 30 Гц необходимо получить спектр из 32-х точек.
ВТОРИЧНАЯ ОБРАБОТКА
Вторичная обработка выполняется в асинхронной или фоновой части ARM программы. При старте программы управление получает диспетчер задач, работа которого сводится к вызову функциональных модулей в соответствии с приоритетом выполняемых операций. На рис. 7 изображен программный состав асинхронной части.
Взаимодействие с синхронной частью выполняется через общую память, в которой хранятся структурированные результаты первичной обработки.
При необходимости получения данных от других модулей, каждый модуль выставляет флажки в специальной структуре запуска задач. Диспетчер, каждый раз получая управление, проверяет состояние флажков и запускает соответствующие установленным флажкам модули в порядке приоритета.
Модуль подготовки «сырых» данных служит для подготовки данных для решения навигационной задачи. К таким данным относятся:
псевдодальности (с учетом миллисекундной неоднозначности);
координаты спутников, вычисленные по эфемеридам;
скорости спутников, вычисленные по эфемеридам;
частоты сигналов спутников.
Модуль вызывается, когда часы приемника достигают времени получения решения навигационной задачи.
Модуль декодирования навигационного сообщения обрабатывает поток данных, порождаемый в блоках слежения, то есть значения на выходе коррелятора.
Модуль реализации протоколов формирует сообщения бинарного протокола для взаимодействия приемника с внешними устройствами и помещает их в буфер выдаваемых сообщений. Кроме того, модуль производит разбор принимаемого через интерфейсы ввода-вывода потока данных, выделяет команды бинарного протокола и организует их выполнение.
ЗАКЛЮЧЕНИЕ
СБИС К188ВС018 предоставляет разработчику разнообразие алгоритмических решений, реализуемых программно, что означает возможность создания гибко конфигурируемых навигационных приемников, обрабатывающих как существующие, так и перспективные навигационные сигналы.
ЛИТЕРАТУРА
1. ЗАО НТЦ «Модуль». Микросхема интегральная К1888ВС018. Руководство по эксплуатации.
2. Кашкаров В. А., Мушкаев С. В. Организация параллельных вычислений в алгоритмах БПФ на процессоре NM6403 // Цифровая обработка сигналов. — 2001. — № 1.
3. Айфичер Э., Джервис Б. Цифровая обработка сигналов. Практический подход. Второе издание // Москва, издательский дом «Вильямс», 2004.
4. Российский научно-исследовательский институт космического приборостроения: ГЛОНАСС. Интерфейсный контрольный документ [электронный ресурс] // URL: http://www.aggf.ru/gnss/glon/ikd51ru.pdf.
5. Elliott D. Kaplan, Christopher J. Hegarty. Understanding GPS Principles and Applications. Second Edition // ARTECH HOUSE, 2006.
6. Principe F., Bacci G., Giannetti F., Luise M. Software-Defined Radio Technologies for GNSS Receivers: A Tutorial Approach to a Simple Design and Implementation[электронный ресурс] // International Journal of Navigation and Observation URL: http://www.hindawi.com/journals/ijno/2011/979815.
Российскими производителями предлагаются одночастотные приемники, на базе которых невозможно построить конкурентный продукт геодезического класса. Отечественные производители, однако, имеют потенциал для создания аппаратуры для точных измерений, и многие движутся в этом направлении. Особая актуальность разработок определяется курсом правительства РФ на импортозамещение. Следует отметить, что Россия обладает высоким интеллектуальным потенциалом в плане инженерной мысли и хорошей инженерной школой, тем не менее, имеется существенное отставание в области микроэлектроники и производстве качественной микроэлементной базы. Игнорирование развития темы, связанной с навигационной аппаратурой потребителя, сделает отставание безнадежным.
ЗАО НТЦ «Модуль» в рамках работ по созданию линейки отечественной аппаратуры потребителей создал навигационную СБИС для высокоточного позиционирования. В микросхеме поддерживается многоканальная обработка сигналов нескольких частотных диапазонов, обеспечивается аппаратная поддержка канальной обработки сигналов от существующих и перспективных навигационных спутников.
В статье производится обзор микросхемы СБИС К188ВС018 и поясняются общие принципы построения многочастотных навигационных модулей на базе СБИС и программирования навигационных приемников геодезического класса.
СБИС К188ВС018
Микросхема имеет гетерогенную структуру, обеспечивающую оптимальную обработку навигационных сигналов на разных ее этапах. В СБИС выделяются три основных вычислительных ядра — два ядра на базе DSP NeuroMatrix и процессорная система ARM. Кроме того, выделяются специализированные блоки обработки сигналов на высокой частоте отсчетов — блок предварительной обработки (DDC) и аппаратный блок корреляторов. На рис. 1 представлена структурная схема СБИС.
Реализация навигационного приемника предполагает организацию межпроцессного взаимодействия, которое организуется с использованием общей памяти — с помощью коммутатора вся внутренняя память СБИС (ОЗУ) видна всем вычислителям. Основное отличие «своих» банков памяти от «чужих» состоит в приоритете при конкурентном доступе к ОЗУ.
В блоке DDC реализовано 8 аппаратных каналов для переноса группового сигнала (весь частотный диапазон) на нулевую частоту. На рис. 2 показана упрощенная схема каналов DDC.
Входные данные поступают от блока АЦП, который содержит четыре 10-битовых АЦП, либо от цифровых двух-битовых входов. В каналах происходит обработка как действительных, так и комплексных сигналов, которые формируются с помощью входных мультиплексоров. NCO генератора фазы построен на базе 32-разрядного счетчика. Результат обработки в канале упаковывается в комплексные отсчеты в формате 2+2, 4+4, 8+8 бит (действительная + мнимая части) и записывается в память.
Блок аппаратных корреляторов (CORB) состоит из 16 аппаратных каналов (CHx), блока памяти для хранения таблиц ПСП (MEM_BLOCK), схемы приоритетов и анализа зависимых каналов (SPDB) и декодера входных команд (DCB). Структурная схема блока корреляторов представлена на рис. 3.
Каждый канал блока корреляторов содержит пять комплексных корреляторов для обработки пяти реплик ПСП, которые могут быть сформированы внутри канала на регистрах сдвига с обратной связью, либо заданы таблично. Расстояние между отводами коррелятора (расхождение реплик во времени) задается программно в долях одного чипа. Настройки каналов позволяют формировать реплики уплотненных кодов, которые используются, например, в сигналах GPS L2C, а также формировать реплики для корреляции сигналов с BOC модуляцией. Все корреляторы работают с входными комплексными данными. Схема одного канала корреляторов приведена на рис. 4.
Важная особенность микросхемы — это использование независимых источников синхронизации для блоков АЦП — DDC и остальных компонентов СБИС. Такая особенность позволяет эффективно реализовать обработку в режиме «быстрее реального времени». В этом режиме темп обработки данных в CORB и на процессорных системах значительно выше темпа поступления данных. Аппаратный блок корреляторов обеспечивает одновременную обработку нескольких источников данных, реализуя, таким образом, многоканальную обработку. Оцифрованные и предварительно обработанные в блоках АЦП — DDC данные записываются кадрами в память СБИС. Затем эти данные выбираются из памяти и обрабатываются поочередно в аппаратных каналах корреляторов с темпом, в несколько раз превышающим скорость поступления отсчетов. Такой подход позволяет существенно снизить объем аппаратных средств, особенно при необходимости реализовать десятки и сотни виртуальных каналов обработки, используя при этом минимум аппаратных средств.
Например, пусть блоки АЦП — DDC синхронизуются от тактового генератора 20 МГц, все остальные блоки СБИС, в том числе и CORB, работают на частоте 320 МГц. Учитывая, что темп обработки в 16 раз выше и при наличии 16 аппаратных блоков, можно получить 16 × 16 = 256 виртуальных каналов обработки в пределе.
СТРУКТУРА МНОГОЧАСТОТНОГО ПРИЕМНИКА
Характеристики высокоточного навигационного приемника, прежде всего, определяются выбранными радиоприемным устройством (РПУ) и частотным планом. Такой выбор производится на самых ранних этапах проектирования, так как он влияет как на состав и настройки задействованных аппаратных ресурсов, так и на используемые алгоритмы. В статье рассматривается приемник, использующий два РПУ NTLab NT1065 «Nomada». Данное РПУ имеет 4 канала и 2 независимых гетеродина. Тактирование РПУ осуществляется внешним высокостабильным тактовым генератором с частотой 10 МГц.
Комплексную задачу выбора частотного плана можно разбить на несколько относительно простых задач:
выбор обрабатываемых сигналов (GPS, GPS + ГЛОНАСС и т. д.)
выбор типа кода (СТ- или ВТ-код);
выбор частоты гетеродина РПУ;
выбор первичной частоты дискретизации;
выбор порядка децимации.
Векоторые из этих задач являются индивидуальными и не зависят от других. Например, выбор обрабатываемых сигналов и кодов — это не столько технический, сколько вопрос позиционирования будущего приемника на рынке. Большинство же поставленных задач являются взаимосвязанными.
Перспективный навигационный приемник должен работать с сигналами всех существующих ГНСС (GPS, ГЛОНАСС, Galileo, Beidou) во всех диапазонах частот (L1, L2, L3, L5) с кодами стандартной точности.
На рис. 5 показана схема навигационного модуля трехчастотного приемника.
В реализации трехчастотного приемника задействуются два РПУ. Для обработки сигналов в частотных диапазонах L1, L2 используются аналоговые выходы NT1065. Для диапазонов L3 и L5 используются цифровые выходы второй РПУ. Один из выходов задействуется для тактирования блоков АЦП и DDC микросхемы К188ВС018.
Следует отметить, что для двухчастотного приемника достаточно одного РПУ, причем в качестве выхода можно использовать как аналоговые, так и цифровые сигналы (опционально).
СБИС обрабатывает входные действительные сигналы, используя при этом шесть аппаратных каналов DDC из восьми доступных.
Перед переходом к частотному плану следует обозначить путь сигнала и операции над ним.
Сигнал на несущей частоте поступает на вход РПУ.
Производится перенос спектра сигнала на промежуточную частоту и фильтрация.
Осуществляется преобразование действительного аналогового сигнала в цифровой.
В канале DDC проводится дополнительный перенос спектра сигнала на нулевую частоту. На данном этапе сигнал становится комплексным.
Производятся понижение частоты дискретизации и упаковка сигнала.
Частотные планы двух- и трехчастотного приемников приведены в табл. 1.
РАСПРЕДЕЛЕНИЕ ЗАДАЧИ ПО ВЫЧИСЛИТЕЛЬНЫМ РЕСУРСАМ
Полное решение навигационной задачи и формирование «сырых» данных для дальнейшей обработки в режиме RTK предполагает многоступенчатую обработку в СБИС. Традиционно выделяются первичная и вторичная обработки. На этапе первичной обработки выполняются:
перенос входного группового сигнала на видео частоту без учета доплеровского смещения;
обработка сигналов каждого КА:
перенос сигнала на видео частоту с учетом доплеровского смещения;
корреляционная обработка;
управление корреляторами, реализация петель слежения.
На втором этапе выполняется обработка результатов корреляции, значений доплеровских псевдофаз и псевдочастот, декодируются навигационные сообщения, решается задача в режиме абсолютных измерений, формируются «сырые» данные и т. д.
В СБИС реализована аппаратная поддержка первичной обработки в блоках DDC и CORB. Управление этими блоками доступно как со стороны ARM, так и со стороны ядер NMC. Настройки каналов блока DDC фиксируются на этапе программной инициализации в соответствии с частотным планом и не меняются в ходе работы программы, поэтому управление блоком DDC можно переложить на любую процессорную систему. С блоком корреляторов дело обстоит иначе.
Реализация принципа «обработка быстрее реального времени» предполагает многократное использование каждого из каналов CORB. Групповой сигнал, сформированный в канале DDC, далее несколько раз проходит обработку в каналах коррелятора, каждый раз обрабатывая сигнал от конкретного спутника с учетом псевдозадержки и псевдодоплеровского смещения частоты. Это означает постоянную перенастройку каналов CORB. Смена контекста канала корреляторов осуществляется записью определенных значений в регистры аппаратного канала, и для каждого канала необходимо выполнить до 50 операций чтения-записи. С учетом виртуальных каналов, которых может быть до двухсот, смена контекста оказывается весьма затратной по времени операцией. Кроме этого, следует учитывать, что процессорная система ARM имеет особенности при записи в память и в регистры управления периферий — эти операции значительно медленнее аналогичных операций, выполняемых ядрами NMC. Например, при частоте тактов процессорных систем 320 МГц системная шина ARM работает на частоте 160 МГц, в то время как шины ядер NMC работают на частоте процессоров, то есть на 320 МГц. Учитывая все вышесказанное, управление блоком корреляторов целесообразно осуществлять из NMC.
Реализация петель слежения — наиболее алгоритмически емкая часть приемника. Здесь широко используются математические операции, требующие точных вычислений, которые, как правило, выполняются с использованием арифметического сопроцессора. Процессорная система ARM содержит сопроцессор для операций с числами с плавающей точкой, и наиболее естественное решение — реализовать петли слежения на системе ARM.
Вторичная обработка также перекладывается на ARM. Это обусловлено прежде всего тем, что вся периферия ввода/вывода может управляться только из ARM, а именно по этим интерфейсам выдаются наружу результаты навигационных измерений. По этой-же причине на процессорную систему ARM возлагаются задачи, связанные с взаимодействием модуля приемника с внешними управляющими пользовательскими модулями.
Программа для процессора ARM состоит из двух основных частей:
синхронная часть, которая выполняется в обработчике прерываний от NMC. Здесь реализуются петли слежения, вырабатываются и передаются обновленные параметры для корреляторов, осуществляется взаимодействие с ядрами NMC;
асинхронная (фоновая) часть. Здесь выполняется решение навигационной задачи и взаимодействие с периферией.
Обработка сигналов в приемнике осуществляется итерациями по одной миллисекунде. После получения очередного миллисекундного кадра программа, которая выполняется на NMC, вызывает прерывание ARM, запуская синхронную часть. Синхронная программа ARM считывает и обрабатывает результаты работы NMC, после чего формирует новые задания.
Обработка данных осуществляется в конвейере DDC-NMC-CORB-ARM. Сначала в DDC формируются кадры из сигнальных отсчетов, затем кадры обрабатываются в блоке корреляторов, управляемом NMC, далее результат обработки передается в ARM-программу, которая выполняет вторичную обработку.
В связи с присутствием конвейера появляется задержка между моментом формирования кадра и откликом системы по результатам его обработки (рис. 6):
МАШИНА ПОИСКА
Машина поиска навигационных сигналов реализуется на одном из процессорных ядер NMC. Структура СБИС позволяет реализовать поиск параллельно с выполнением слежения, когда одно ядро NMC выполняет канальную обработку (управление блоком корреляторов), а другое ядро обеспечивает постоянный поиск сигналов КА.
В качестве алгоритма для реализации поиска навигационного сигнала используется алгоритм быстрой свертки во временной области. Теоретической основой данного подхода является теорема о свертке — спектральная плотность свертки сигналов во времени равна произведению спектров этих сигналов.
Применение быстрой свертки при поиске с перебором по частоте не требует многократных переносов сигнала с помощью гетеродина, эта операция заменяется циклическим сдвигом спектра входного сигнала. То есть для записанного группового сигнала БПФ выполняется однократно, после чего с помощью циклических сдвигов отсчетов спектра выполняется перенос на нужную частоту. При таком подходе шаг поиска по частоте составит 1/T = 250 Гц, где T — период накопления, равный 4 мс.
На ядре NMC реализуется алгоритм Кули – Тьюки быстрого преобразования Фурье, который выполняется над входными данными размером 2 в степени N. Наиболее удобным размером входных отсчетов является 8192. Тогда для частоты отсчетов Fs = 2048 МГц (достаточная для обработки сигналов ГЛОНАСС L1 OF, GPS L1 C/A) точность определения задержки будет равна 0,25 чипа для ГЛОНАСС L1 OF, 0,5 для GPS L1 C/A.
БПФ 8192-х комплексных отсчетов на процессорном ядре NMC выполняется приблизительно за 240000 тактов или 0,75 мс. Поэлементное перемножение 8192-х комплексных отсчетов выполняется приблизительно за 100000 тактов или 0,31 мс.
С учетом всех накладных расходов время выполнения поиска сигнала одного КА составляет 100 мс.
БПФ выполняется с использованием векторно-матричного узла NMC, который оперирует целочисленными данными. Приведенная производительность достигалась для восьмибитовых представлений синусов/косинусов (числа с фиксированной точкой). Время поиска можно сократить, если использовать, например, четырехразрядные представления синусов/косинусов с незначительным уменьшением чувствительности.
Для некоторых приемников точность определения доплеровского смещения с шагом 250 Гц оказывается недостаточной для перехода от поиска к слежению из-за алгоритмических особенностей и специфики используемых петель слежения. В этом случае после грубого поиска производится процедура уточнения реальной частоты сигнала с помощью спектрального анализа отсчетов, взятых на выходе коррелятора. Для повышения точности определения до 30 Гц необходимо получить спектр из 32-х точек.
ВТОРИЧНАЯ ОБРАБОТКА
Вторичная обработка выполняется в асинхронной или фоновой части ARM программы. При старте программы управление получает диспетчер задач, работа которого сводится к вызову функциональных модулей в соответствии с приоритетом выполняемых операций. На рис. 7 изображен программный состав асинхронной части.
Взаимодействие с синхронной частью выполняется через общую память, в которой хранятся структурированные результаты первичной обработки.
При необходимости получения данных от других модулей, каждый модуль выставляет флажки в специальной структуре запуска задач. Диспетчер, каждый раз получая управление, проверяет состояние флажков и запускает соответствующие установленным флажкам модули в порядке приоритета.
Модуль подготовки «сырых» данных служит для подготовки данных для решения навигационной задачи. К таким данным относятся:
псевдодальности (с учетом миллисекундной неоднозначности);
координаты спутников, вычисленные по эфемеридам;
скорости спутников, вычисленные по эфемеридам;
частоты сигналов спутников.
Модуль вызывается, когда часы приемника достигают времени получения решения навигационной задачи.
Модуль декодирования навигационного сообщения обрабатывает поток данных, порождаемый в блоках слежения, то есть значения на выходе коррелятора.
Модуль реализации протоколов формирует сообщения бинарного протокола для взаимодействия приемника с внешними устройствами и помещает их в буфер выдаваемых сообщений. Кроме того, модуль производит разбор принимаемого через интерфейсы ввода-вывода потока данных, выделяет команды бинарного протокола и организует их выполнение.
ЗАКЛЮЧЕНИЕ
СБИС К188ВС018 предоставляет разработчику разнообразие алгоритмических решений, реализуемых программно, что означает возможность создания гибко конфигурируемых навигационных приемников, обрабатывающих как существующие, так и перспективные навигационные сигналы.
ЛИТЕРАТУРА
1. ЗАО НТЦ «Модуль». Микросхема интегральная К1888ВС018. Руководство по эксплуатации.
2. Кашкаров В. А., Мушкаев С. В. Организация параллельных вычислений в алгоритмах БПФ на процессоре NM6403 // Цифровая обработка сигналов. — 2001. — № 1.
3. Айфичер Э., Джервис Б. Цифровая обработка сигналов. Практический подход. Второе издание // Москва, издательский дом «Вильямс», 2004.
4. Российский научно-исследовательский институт космического приборостроения: ГЛОНАСС. Интерфейсный контрольный документ [электронный ресурс] // URL: http://www.aggf.ru/gnss/glon/ikd51ru.pdf.
5. Elliott D. Kaplan, Christopher J. Hegarty. Understanding GPS Principles and Applications. Second Edition // ARTECH HOUSE, 2006.
6. Principe F., Bacci G., Giannetti F., Luise M. Software-Defined Radio Technologies for GNSS Receivers: A Tutorial Approach to a Simple Design and Implementation[электронный ресурс] // International Journal of Navigation and Observation URL: http://www.hindawi.com/journals/ijno/2011/979815.
Отзывы читателей