Средства
цифровой обработки сигналов
на базе процессоров TMS320C6000 Texas Instruments
Современные передовые технологии ЦОС выдвигают на первый план параллельные устройства, выполняющие обработку на частотах свыше 200 МГц и поддерживающие мультишинную архитектуру с полосой пропускания до 400 Мбайт/с. Для их реализации необходимо использовать самые последние достижения в области микроэлектронной элементной базы — сигнальные процессоры фирм Texas Instruments (TI) и Analog Devices, ПЛИС фирм Altera и Xilinx, контроллеры шин PCI, USB, IEEE1394 (FireWare).
Дмитрий Эккоре
is.dsp@relcom.ru
Фирма «Инструментальные системы» разрабатывает и предлагает готовые устройства, удовлетворяющие указанным требованиям. Одним из направлений разработки является семейство плат ADP6000, построенных на базе процессоров ЦОС TMS320C6000 ('C6x) фирмы Л.
Процессоры 'С6х
Сигнальные процессоры семейства 'C6x сочетают в себе самые последние достижения в области технологии, схемотехники и оптимизированы для реа-
Производительность
Программная совместимость
Рис. 1
Время
лизации современных алгоритмов ЦОС. Высокая тактовая частота и возможность параллельной работы в сочетании с низкой потребляемой мощностью и небольшими размерами делают процессоры 'C6x привлекательными для разработки изделий в различных областях коммерческого и промышленного применения.
В настоящий момент процессоры 'C6x развиваются по трем направлениям. Первое направление включает процессоры 'C62x с фиксированной точкой, второе — процессоры 'C67x с плавающей точкой. Третье направление на настоящий момент находится на стадии разработки. Оно включает в себя процессоры 'C64x с фиксированной точкой, имеющие расширенные архитектуру и систему команд и повышенную тактовую частоту.
Сочетание различных вычислительных возможностей, внутрикристальных периферийных устройств и тактовых частот позволяет фирме ТС предлагать процессоры 'C6x в широком диапазоне цен.
Таблица 1
Процессор C62x C64x C67x
Формат данных Фиксированная точка Фиксированная точка Плавающая точка
Частота (МГц) 150-300 600-1100 100-167
Производи- тельность 1200-2400 MIPS 4800-8800 MIPS 600-1000 MFLOPS
Ядром всех процессоров 'C6x является ЦПУ, построенное на основе VLIW-архитектуры (Very Long Instruction Word). ЦПУ содержит два одинаковых блока по 4 параллельно работающих вычислительных устройства в каждом. Наличие внутреннего
конвейера команд, отложенных операций, большого количества универсальных регистров и УЬ^-архитектуры позволяет добиться одновременной работы всех 8 вычислительных устройств.
щую библиотеку ЛБИБ для ПЭВМ и сервер Беазу, реализующий функции внешнего терминала и поддерживающий обращения к файловой системе и консоли ввода/вывода ПЭВМ со стороны сигнального процессора.
АРР6х01РС!
Плата предназначена для реализации базовых алгоритмов ЦОС с плавающей точкой. Возможна установка процессора с фиксированной точкой.
Рис. 2
Устройства Операции с фиксированной точкой Операции с плавающей точкой
L1 и L2 32/40-разрядные арифметические и логические операции, сравнения Арифметические операции, преобразования ЭР^-БР, !МТ^-ЭР, !МТ^-БР
S1 и S2 32-разрядные арифметические и логические операции, сдвиги, ветвления Сравнения, 1/х, 1/^х, |х|, преобразования БР^ЭР
M1 и M2 Операции умножения 16*16 Операции умножения 32*32, умножение с плавающей точкой
D1 и D2 Чтение и запись памяти, сложение, вычитание Чтение 64-разрядных данных
ДРРбхПРС!
Относительно недорогая плата для задач, не требующих пиковой производительности. Встроенный интерфейс Н.100 позволяет использовать ее в системах компьютерной телефонии.
субмодули семейства ADMc интерфейсом
Платы ADP6xxx
В настоящее время семейство ADP6xxx включает в себя 5 плат — ADP6x01PCI, ADP6x11PCI, ADP6202PCI, ADP6203PCI, ADP6x01E. Вычислительным ядром всех плат является процессор 'C6x. Кроме него предварительную обработку данных, поступающих с аналогового интерфейса, можно осуществлять с помощью ПЛИС. На плате ADP6203PCI для реализации сложных алгоритмов предобработки установлена ПЛИС особо большой емкости Virtex E.
Платы ADP6xxx предназначены для работы в составе ПЭВМ, за исключением ADP6x01E, которая может работать либо как независимое устройство, либо в составе ноутбука, подключаясь к нему через скоростную последовательную шину IEEE1394.
Семейство позволяет выбрать наиболее подходящую с точки зрения цены и производительности плату для решения конкретной задачи. Например, самая дешевая плата — ADP6x11PCI (табл. 2) — ограничивает обрабатываемые потоки скоростями 10-20 Мбайт/с. С другой стороны, самая дорогая плата ADP6203PCI позволяет работать на скоростях до 200 Мбайт/с. Остальные платы по производительности и цене занимают промежуточное положение.
В качестве средства программной поддержки вместе с платами ADP6xxx предлагается пакет Deasy Tools. Он включает в себя управляю-
Deasy Tools работает в среде ОС DOS/Win98/ WinNT.
Таблица 2
і Интерфейс — SDRAM ^ до4Мх32
ПЛИС AIF АСЕХ1К U 30К-100К
1 DPRAM 1 1 ло 64КХ32 Г
ADP6x01PCI ADP6x11PCI ADP6202PCI ADP6203PCI ADP6x01E
Процессор 'C6201 или 'C6701 'C6211 или 'C6711 'C6202 или 'C6203 'C6202 или 'C6203 'C6201 или 'C6701
Управляющая шина PCI PCI PCI PCI IEEE1394, RS232
Интерфейс с ПЭВМ HPI, DPRAM HPI, DPRAM HPI, DPRAM HPI, DPRAM, FIFO -
Память, объем (Мбайт) SDRAM, 32 SDRAM, 16 SDRAM, 32 SDRAM, 32 SBSRAM, 8 SDRAM, 32
ПЛИС Altera FLEX 10K Altera ACEX 1K Altera FLEX 10K Altera ACEX 1K и Xilinx Virtex E Altera FLEX 10K
Аналоговый интерфейс ADM-Connect ADM-Connect ADM-Connect ADM-Connect ADM-Connect
Периферийные устройства - H.100 - - Flash, Clock, Watchdog
Области применения плат:
Ввод аналоговых данных
— Телекоммуникации
— Телефония и системы связи
— Мультимедиа
— Обработка изображений
— Цифровое радио и телевидение
— Промышленный контроль и управление
— Спектральный анализ
— Навигация и спутниковое позиционирование
— Радиолокация
— Эхолокация Медицинская диагностика
ДРР6202РС1
Плата на основе более производительных процессоров 'С6202 или 'С6203, с повышенной тактовой частотой и увеличенным объемом внутрикристальной памяти. Рост производительности платы достигается также за счет многошинной архитектуры. Предназначена для реализации базовых алгоритмов ЦОС с фиксированной точкой.
семейства ADM
FIFO АЦП |»
H FiFou>n
ПЛИС AIF I АСЕХ1К U 30K-100K I
|— -ar h ;-------------------------
I DPRAM Ll Ы SDRAM I
ADP6203PCI
Плата предназначена для реализации сложных задач на пиковых скоростях. Построена на процессорах ЦОС 'C6202 или 'C6203 повышенной производительности. Параллельная предобработка данных выполняется на ПЛИС Virtex E большой емкости, к которому подключена выделенная SBSRAM размером 8 Мбайт.
ДйР6х01Б
Независимое питание, ЙазЬ-память первичной загрузки и высокоскоростная последовательная шина 1ЕЕЕ1394 позволяют использовать эту плату в мобильных комплексах ЦОС, автономно или с удаленным доступом к ПЭВМ.
самвйсгва ADM
Ч —I — Hrf
Субмодули семейства ADM
Свойства и характеристики входного аналогового тракта любой платы могут быть изменены с помощью сменных субмодулей ADMxxx, устанавливаемых в унифицированный параллельный интерфейс ADM-Connect. Стандартная скорость передачи данных через ADM-Connect — до 120 Мбайт/с, а максимальная (у платы ADP6203PCI) может достигать 400 Мбайт/с.
В настоящий момент предлагается около двух десятков готовых субмодулей, предназначенных для решения различных задач в области ввода аналоговых и цифровых данных.
Средства разработки ПО
Разработка ПО для процессоров 'C6x осуществляется с помощью пакета Code Generation Tools, поставляемого фирмой TI. Пакет включает в себя стандартные кросс-средства— ассемблер, компилятор С, компоновщик, утилиты для создания библиотечных файлов и преобразования исполняемых кодов в текстовые файлы для программаторов. Все объектные коды хранятся в файлах формата COFF (Common Object File Format).
Многопроходный компилятор Си позволяет подключать оптимизатор генерируемого кода. При этом эффективность сгенерирован-
Субмодуль Разр. АЦП Макс. частота дискр. на канал Кол-во каналов АЦП Кол-во и тип входов УВХ^)/ DDC
Универсальные АЦП
ADM816x48 16 48 кГц 8A2 8s
ADM416x200 16 195 кГц 4A2 4s
ADM216x2,5M 16 2.5 МГц 2A2 2s
ADM216x250 16 250 кГц 2 8d/32s
ADM214x1M 14 1 МГц 2 2х8s
ADM214x3M 14 3 МГц 2 2х8s
ADM214x10M 14 10 МГц 2 2х8s
ADM214x60M 14 65 МГц 2 2s
ADM12x1M 12 1 МГц 1 8d/16s 8sh
ADM12x3M 12 3 МГц 1 8d/16s 8sh
ADM12x10M 12 10 МГц 1 8d/16s 8sh
ADM212x10M 12 10 МГц 2 2х8s
ADM212x25M 12 25 МГц 2 2х8s
ADM212x40M 12 40 МГц 2 2х8s
ADM212x60M 12 65 МГц 2 2s
ADM212x100M 12 100 МГц 2 2s
ADM28x100M 8 100/200 МГц 2 2s
ADM8x200M 8 200 МГц 1 2s
Цифровые приемники
ADMDDC2NBH 12 65 МГц 2 2 2DDC
ADMDDC2NBL 14 15 МГц 2 2 2DDC
ADMDDC4NB 12 50 МГц 4 4 4DDC
ADMDDC2WBL 14 65 МГц 2 2 2DDC
ADMDDC2WBH 12 80 МГц 2 2 2DDC
ADMDDC8WB 12 65 МГц 8 8 8DDC
ADMDDC4-216 12 65 МГц 4 4 4DDC
ADM10MV 10 30 МГц 1 4s
Ввод/вывод цифровых потоков
ADM-DIO32 60 МГц 32
ADM FOTR 155 Мбит/с 2
Телекоммуникационные модули
Субмодуль Назначение Число линий Число каналов Сигнализация
ADM-E1/T1 Связные линии Т1, Е1, ИКМ30 2 60 CAS-CC, CAS-BR, CCS(HDLC)
ADM-S4 Линии ISDN 4 4x128 Kb/s, 8x64 Kb/s HDLC по D каналу
ного кода незначительно отличается от кода, написанного вручную на языке ассемблера.
Эффективным средством разработки является библиотека поддержки реального времени DSP/BIOS, поставляемая вместе с пакетом Code Composer Studio. Она позволяет реализовывать многозадачные приложения, поддерживает средства синхронизации потоков (почтовые ящики, семафоры) и мониторинга.
Также к средствам разработки можно отнести входящие в Code Composer Studio библиотеки: CSL — поддержка периферийных устройств, IMGLIB — обработка видео и изображений, DSPLIB — функции ЦОС.
Средства отладки
Для отладки ПО процессоров 'C6x наиболее эффективным средством является оконная среда Code Composer Studio, включающая в себя символьный отладчик для языков С и ассемблер, менеджер проектов и редактор исходных текстов. Для его работы необходимо соединить ПЭВМ и процессор 'C6x с помощью внутрисхемного эмулятора.
Платы ADP6xxx имеют встроенный эмулятор, который доступен ПЭВМ через шину PCI. Исключением является плата ADP6x01E, для отладки которой необходим внешний эмулятор EMU510.
Характеристики отладчика Code Composer Studio
Управление проектами. Встроенный редактор. Многопроцессорная отладка. Отладка в реальном времени. Точки останова. Управление обновлением экрана. Графическое отображение данных. Подключение файлов I/O. Мониторинг объектов DSP/BIOS. Построение профиля программы. Язык расширения GEL.