Высокопроизводительный DSP-процессор для коммуникационных систем

№ 10’2014
PDF версия
Статья продолжает серию публикаций, посвященных новейшей разработке компании «Миландр» в области проектирования высокопроизводительных DSP-процессоров. В рамках работы, начатой в 2011 году, «Миландр» создаст и выведет на рынок две микросхемы, которые получат одно и то же вычислительное ядро (Lynx, статическая суперскалярная архитектура, позволяющая выполнять до четырех инструкций за такт), но технология их изготовления и область применения будет разной. Первая микросхема (1967ВЦ2Т) выполнена по 65 нм технологии для применения в системах, требующих высокой производительности, параллельной обработки большого потока данных. На ее основе можно строить кластерные системы с общей шиной данных. Основными потребителями этой микросхемы будут компании, которые разрабатывают радары, сонары, базовые станции для телекоммуникационных систем, а также специализированные модули для ускорения вычислений и обработки данных.

В настоящей публикации я подробнее остановлюсь на второй микросхеме — 1967ВЦ3Ф. Процессор будет изготовлен по технологии 90 нм с малым током потребления. Выбор малопотребляющей технологии обусловлен тем, что этот DSP предназначен для встраиваемых систем, где вопрос о токе потребления стоит не менее остро, чем вопрос скорости обработки специализированных данных.

Оба DSP-процессора (1967ВЦ3Ф и 1967ВЦ2Т) имеют в своем составе одно и то же вычислительное ядро, что позволяет не только легко переносить код с одной микросхемы на другую, но и использовать одну и ту же среду проектирования. Эта унификация предоставляет возможность быстро разрабатывать качественные аппаратно-программные комплексы на основе таких DSP-процессоров.

Как видно на рис. 1, в своем составе процессор имеет очень развитую периферию, что в свою очередь поможет строить законченные системы без дополнительных ПЛИС, которые часто применяются для преобразования интерфейсов внешних микросхем к формату, поддерживаемому процессором. В случае с 1967ВЦ3Ф такого преобразования уже не требуется. Разрабатываемая микросхема содержит ядро Lynx второй версии, в котором расширен список поддерживаемых данных. Приведем основные улучшения/расширения второй версии ядра Lynx:

  • оптимизированный конвейер исполнения кода;
  • аппаратная поддержка чисел с плавающей точкой двойной точности;
  • работа с 8‑ и 16‑битными целочисленными типами;
  • работа с семафорами;
  • реверсирование битов регистра;
  • условные операции с упакованными данными;
  • работа с невыровненными данными (байтовая адресация);
  • дополнительные команды для ускорения декодирования H.264.
Структурная схема процессора 1967ВЦ3Ф

Рис. 1. Структурная схема процессора 1967ВЦ3Ф

Благодаря всем перечисленным функциям процессор способен действовать в различных системах реального времени, где необходима работа с большим потоком данных. Причем аппаратная поддержка чисел с двойной точностью дает возможность использовать 1967ВЦ3Ф там, где нужен очень широкий динамический диапазон данных и где применение чисел с плавающей точкой одинарной точности недостаточно. В таких случаях программная реализация двойной точности кардинально замедляет выполнения кода. Указанный эффект был наглядно продемонстрирован на примере известного benchmark paranoia [3]. Участки этого теста, использующие двойную точность и реализованные программным способом, в разы медленнее по сравнению с процессором на ядре Lynx.

Дополнительные команды в ядре Lynx позволяют реализовывать системы, в которых необходимо захватывать, воспроизводить, кодировать/декодировать видео на основе тяжелых видеокодеков, в частности H.264. В качестве примера на разрабатываемый процессор был портирован H.264‑декодер. На отладочной плате было продемонстрировано декодирование H.264‑видео в реальном времени. Это преимущество процессора найдет применение в системах обработки видео в реальном времени, таких как охранные системы и беспилотные аппараты, где нужно захватывать видео высокой четкости, сжимать его как можно сильнее, чтобы уменьшить поток данных для передачи, и далее через модем (проводной или беспроводной) отправлять информацию на пульт оператора. На стороне оператора также имеет смысл построить систему на процессоре 1967ВЦ3Ф. После модема данные могут быть декодированы в реальном времени, и несжатый видеопоток воспроизведен на ЖК-монитор. Вместе со средой в качестве библиотеки будут поставляться функции для кодирования/декодирования видео, что значительно ускорит процесс разработки систем. Однако для еще более быстрого формирования законченной высоконадежной системы можно заказать программно-аппаратный модуль в Центре проектирования радиоэлектронной аппаратуры, новом подразделении компании «Миландр».

Для управления столь развитой периферией процессора в компании создается операционная система реального времени. Вместе с драйверами для периферии система поможет сконцентрироваться на главном — создании конечного продукта. ОС будет встроена в среду разработки и поддерживаться «Миландром». И поэтому построение устройств на базе такой ОС не составит большого труда. Еще одна уникальная особенность процессора — интегрированные LVDS-приемопередатчики, которые можно сконфигурировать для работы в следующих режимах:

  • 1‑битный режим;
  • 4‑битный режим;
  • 8‑битный режим;
  • 16‑битный режим.

Режимы 1‑битный и 4‑битный в основном предназначены для межпроцессорного обмена. Причем можно использовать как другой процессор 1967ВЦ3Ф, так и кластер на основе сборки 1967ВЦ2Т. Режим 8 бит идеален для внешнего высокоэффективного АЦП, например 5101НВ015У («Миландр»), действующего с удвоенной скоростью передачи данных (DDR). Режим 16 бит подходит для подключения внешнего высокоскоростного ЦАП, в том числе AD9726 (Analog Devices). Цифровой смеситель с фильтрами интерполяторами/дециматорами позволяет не только работать с низкочастотными сигналами, но и формировать полосовой сигнал. На рис. 2 приведена структура такого смесителя.

Структурная схема цифрового смесителя

Рис. 2. Структурная схема цифрового смесителя

На рис. 2 приведены две конфигурации цифрового смесителя. В зависимости от бита конфигурации смеситель может переносить сигнал с несущей (оцифрованной АЦП) с последующей децимацией или интерполировать сигнал с дальнейшим переносом его на несущую (и передачей на ЦАП). В процессоре имеется четыре таких блока для одновременной обработки канала и выполнения сканирования по частоте. Кроме этого, предусмотрено формирование сигнала на несущей через высокоскоростной ЦАП. Дополнительной функцией блока up/down-преобразователя является возможность загрузки параметров смесителей после определенного количества принятых/переданных отчетов. Эта уникальная функция позволяет реализовать модем с возможностью псевдо-случайной перестройки рабочей частоты. На рис. 3 приведена структура мобильного радиотерминала с функцией предыскажения для линеаризации усилителя мощности.

Структурная схема приемника с каналом предыскажения

Рис. 3. Структурная схема приемника с каналом предыскажения

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

В заключение хочется рассказать о ближайших планах, связанных с разработкой и изготовлением 1967ВЦ3Ф. Запуск процессора намечен на осень 2014‑го. В марте 2015 года после проверки и уточнения параметров микросхемы вместе с отладочными платами будут передаваться заказчикам.

Литература
  1. Мякочин Ю., Ошарин А., Чешков В., Руднев А. Технологические особенности сборки высокопроизводительного DSP-процессора в 576‑выводном металлокерамическом матричном корпусе с применением технологии Flip-Chip // Компоненты и технологии. 2014. № 7.
  2. Мякочин Ю. 32‑разрядный суперскалярный DSP-процессор c плавающей точкой // Компоненты и технологии. 2013. № 7.
  3. http://people.sc.fsu.edu/~jburkardt/c_src/paranoia/paranoia.html /ссылка устарела/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *