Дмитрий Эккоре
Средства цифровой обработки сигналов на базе процессоров TMS320C6000 Texas Instruments
Современные передовые технологии ЦОС выдвигают на первый план параллельные устройства, выполняющие обработку на частотах свыше 200 МГц и поддерживающие мультишинную архитектуру с полосой пропускания до 400 Мбайт/с. Для их реализации необходимо использовать самые последние достижения в области микроэлектронной элементной базы — сигнальные процессоры фирм Texas Instruments (TI) и Analog Devices, ПЛИС фирм Altera и Xilinx, контроллеры шин PCI, USB, IEEE1394 (FireWare).
Фирма «Инструментальные системы» разрабатывает и предлагает готовые устройства, удовлетворяющие указанным требованиям. Одним из направлений разработки является семейство плат ADP6000, построенных на базе процессоров ЦОС TMS320C6000 ('C6x) фирмы TI.
Процессоры 'C6x
Сигнальные процессоры семейства 'C6x сочетают в себе самые последние достижения в области технологии, схемотехники и оптимизированы для реализации современных алгоритмов ЦОС. Высокая тактовая частота и возможность параллельной работы в сочетании с низкой потребляемой мощностью и небольшими размерами делают процессоры 'C6x привлекательными для разработки изделий в различных областях коммерческого и промышленного применения.
В настоящий момент процессоры 'C6x развиваются по трем направлениям. Первое направление включает процессоры 'C62x с фиксированной точкой, второе — процессоры 'C67x с плавающей точкой. Третье направление на настоящий момент находится на стадии разработки. Оно включает в себя процессоры 'C64x с фиксированной точкой, имеющие расширенные архитектуру и систему команд и повышенную тактовую частоту.
Сочетание различных вычислительных возможностей, внутрикристальных периферийных устройств и тактовых частот позволяет фирме TI предлагать процессоры 'C6x в широком диапазоне цен.
Ядром всех процессоров 'C6x является ЦПУ, построенное на основе VLIW-архитектуры (Very Long Instruction Word). ЦПУ содержит два одинаковых блока по 4 параллельно работающих вычислительных устройства в каждом. Наличие внутреннего конвейера команд, отложенных операций, большого количества универсальных регистров и VLIW-архитектуры позволяет добиться одновременной работы всех 8 вычислительных устройств.
Устройства |
Операции с фиксированной точкой |
Операции с плавающей точкой |
L1 и L2 |
32/40-разрядные арефметические и логические операции, сравнения |
Арифметические операции, преобразования DP-SP, INT-DP, INT-SP |
S1 и S2 |
32-разрядные арифметические и логические операции, сдвиги, ветвления |
Сравнение, 1/Х, преобразование SP-DP |
M1 и M2 |
Операции умножения 16х16 |
Операции умножения 32х32 умножение с плавающей точкой |
D1 и D2 |
Чтение и запись памяти, сложение, вычитание |
Чтение 64-разрядных данных |
Платы ADP6xxx
В настоящее время семейство ADP6xxx включает в себя 5 плат — ADP6x01PCI, ADP6x11PCI, ADP6202PCI, ADP6203PCI, ADP6x01E. Вычислительным ядром всех плат является процессор 'C6x. Кроме него предварительную обработку данных, поступающих с аналогового интерфейса, можно осуществлять с помощью ПЛИС. На плате ADP6203PCI для реализации сложных алгоритмов предобработки установлена ПЛИС особо большой емкости Virtex E.
Платы ADP6xxx предназначены для работы в составе ПЭВМ, за исключением ADP6x01E, которая может работать либо как независимое устройство, либо в составе ноутбука, подключаясь к нему через скоростную последовательную шину IEEE1394.
Семейство позволяет выбрать наиболее подходящую с точки зрения цены и производительности плату для решения конкретной задачи. Например, самая дешевая плата — ADP6x11PCI (табл. 2) — ограничивает обрабатываемые потоки скоростями 10–20 Мбайт/с. С другой стороны, самая дорогая плата ADP6203PCI позволяет работать на скоростях до 200 Мбайт/с. Остальные платы по производительности и цене занимают промежуточное положение.
В качестве средства программной поддержки вместе с платами ADP6xxx предлагается пакет Deasy Tools. Он включает в себя управляющую библиотеку ABRD для ПЭВМ и сервер Deasy, реализующий функции внешнего терминала и поддерживающий обращения к файловой системе и консоли ввода/вывода ПЭВМ со стороны сигнального процессора. Deasy Tools работает в среде ОС DOS/Win98/ WinNT.
ADP6x01PCI
Плата предназначена для реализации базовых алгоритмов ЦОС с плавающей точкой. Возможна установка процессора с фиксированной точкой.
|
ADP6x11PCI
Относительно недорогая плата для задач, не требующих пиковой производительности. Встроенный интерфейс H.100 позволяет использовать ее в системах компьютерной телефонии.
|
ADP6202PCI
Плата на основе более производительных процессоров 'C6202 или 'C6203, с повышенной тактовой частотой и увеличенным объемом внутрикристальной памяти. Рост производительности платы достигается также за счет многошинной архитектуры. Предназначена для реализации базовых алгоритмов ЦОС с фиксированной точкой.
|
ADP6203PCI
Плата предназначена для реализации сложных задач на пиковых скоростях. Построена на процессорах ЦОС 'C6202 или 'C6203 повышенной производительности. Параллельная предобработка данных выполняется на ПЛИС Virtex E большой емкости, к которому подключена выделенная SBSRAM размером 8 Мбайт.
|
ADP6x01E
Независимое питание, Flash-память первичной загрузки и высокоскоростная последовательная шина IEEE1394 позволяют использовать эту плату в мобильных комплексах ЦОС, автономно или с удаленным доступом к ПЭВМ.
|
Субмодули семейства ADM
Свойства и характеристики входного аналогового тракта любой платы могут быть изменены с помощью сменных субмодулей ADMxxx, устанавливаемых в унифицированный параллельный интерфейс ADM-Connect. Стандартная скорость передачи данных через ADM-Connect — до 120 Мбайт/с, а максимальная (у платы ADP6203PCI) может достигать 400 Мбайт/с.
В настоящий момент предлагается около двух десятков готовых субмодулей, предназначенных для решения различных задач в области ввода аналоговых и цифровых данных.
Средства разработки ПО
Разработка ПО для процессоров 'C6x осуществляется с помощью пакета Code Generation Tools, поставляемого фирмой TI. Пакет включает в себя стандартные кросс-средства— ассемблер, компилятор С, компоновщик, утилиты для создания библиотечных файлов и преобразования исполняемых кодов в текстовые файлы для программаторов. Все объектные коды хранятся в файлах формата COFF (Common Object File Format).
Многопроходный компилятор Си позволяет подключать оптимизатор генерируемого кода. При этом эффективность сгенерированного кода незначительно отличается от кода, написанного вручную на языке ассемблера.
Эффективным средством разработки является библиотека поддержки реального времени 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.
|