Краткий обзор цифровых сигнальных процессоров DaVinci компании Texas Instruments

№ 3’2007
DaVinci — это цифровые сигнальные процессоры компании Texas Instruments, предназначенные для построения мультимедийных систем. Эти процессоры имеют высокопроизводительное ядро и развитую периферию, что позволяет решать широкий круг задач по обработке видео и звука, а также проектировать сетевые устройства. В данной статье рассматриваются особенности архитектуры, основные характеристики, номенклатура, а также возможные области применения данных сигнальных процессоров.

DaVinci — это цифровые сигнальные процессоры компании Texas Instruments, предназначенные для построения мультимедийных систем. Эти процессоры имеют высокопроизводительное ядро и развитую периферию, что позволяет решать широкий круг задач по обработке видео и звука, а также проектировать сетевые устройства. В данной статье рассматриваются особенности архитектуры, основные характеристики, номенклатура, а также возможные области применения данных сигнальных процессоров.

На рис. 1 показаны три основные семейства цифровых сигнальных процессоров (DSP) компании Texas Instruments (TI).

Рис. 1. Основные семейства DSP компании Texas Instruments

Младшее семейство TMS320C2000 предназначено для решения задач управления электроприводами, построения автомобильных систем, реализации различных управляющих модулей. Кроме того, данный процессор обладает развитой периферией, что делает его довольно универсальным прибором для реализации функций цифровой обработки сигналов, где достаточно производительности до 150 MIPS.

Сигнальные процессоры семейства TMS320C5000 предназначены в первую очередь для построения высокопроизводительных систем с пониженным энергопотреблением. Данные процессоры с производительностью до 600 MIPS имеют мощные механизмы для управления энергопотреблением, такие как возможность динамически менять опорную частоту и напряжения питания, переходить в различные режимы пониженного энергопотребления («засыпать»), а также отключать часть внутренних модулей.

Семейство TMS320C6000 является самым совершенным в линейке процессоров компании TI. Процессоры этого семейства обеспечивают высочайшую производительность и благодаря этому подходят для построения широкого круга устройств по обработке видео, звука, речи, реализации сетевых приложений, а также позволяют решать другие задачи по обработке широкополосных сигналов, коммутации и управления. В данном семействе можно выделить несколько поколений (рис. 2).

Рис. 2. Основные поколения DSP семейства TMS320C6000

Процессоры TMS320C6200 — первое поколение. Производительность их невысока (относительно остальных поколений данного семейства), но она достаточна для решения многих задач в таких областях, как медицина, индустриальные приложения, обработка цифровых изображений, 3-мерная графика, устройства обработки речи. Цены на эти DSP начинаются от $9.

Поколение TMS320C67xх — это DSP, выполняющий операции с плавающей точкой. На уровне программного кода они полностью совместимы с другими поколениями семейства TMS320C6000. Их стоимость — от $5,75. Основное применение:

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

Самым производительным в данном семействе является поколение TMS320C64xx. Это DSP, выполняющий операции с фиксированной точкой. Их тактовая частота доходит до 1 ГГц, а пиковая производительность — до 8000 MIPS. При этом цены на данные процессоры начинаются от $20. Основная область их применения — это построение высокопроизводительных промышленных приложений, таких как высокоскоростные межсетевые шлюзы, а также систем обработки широкополосных высокоскоростных сигналов и т. д.

И, наконец, мультимедийные DSP — TMS320DM64xx. Эти сигнальные процессоры тоже можно разделить на несколько поколений.

Первым были процессоры TMS320DM64x. Их основные характеристики представлены в таблице 1. Они представлены несколькими типами, отличающимися набором периферийных модулей и тактовой частотой. Это были первые DSP компании TI, адаптированные для решения мультимедийных задач.

Таблица 1. Основные характеристики DSP TMS320DM64x

Эти процессоры построены на базе высокопроизводительного ядра TMS320C64хх и имеют развитую периферию, предназначенную для решения многопотоковых задач обработки звука и видеосигналов. Периферия позволяет значительно уменьшить количество дополнительных внешних компонентов при подключении различных источников сигналов (видеокамер, микрофонов, Ethernet, шины PCI компьютера и т. д.).

Процессоры TMS320DM64x послужили фундаментом для следующего поколения мультимедийных DSP компании TI — двухъядерных процессоров DaVinci.

В какой-то степени предшественниками DaVinci можно также считать процессоры OMAP — двухъядерное решение на базе DSP семейства TMS320C5000 и ядра ARM. Однако эти процессоры имеют недостаточную производительность для построения многопоточных мультимедийных приложений или современных систем High-definition (HD) video. Кроме того, процессоры OMAP требуют достаточно большого количества внешних компонентов для подключения к различным источникам сигналов. Основное применение процессоров OMAP — портативные однозадачные устройства с низким уровнем энергопотребления. Процессоры OMAP позволили компании TI отработать технологию построения двухъядерных систем и портирования OS Linux на ядро ARM.

Использовав опыт, накопленный при разработке процессоров OMAP и TMS320DM64x, компания TI создала мультимедийный процессор на базе высокопроизводительного семейства TMS320C6000 и современного ядра ARM926. Данное поколение обладает развитой периферией, высокопроизводительным DSP-ядром и современным универсальным ядром ARM. Все это позволяет решать практически любую задачу многопотоковой обработки сигналов аудио и видео.

Обобщенная структура DSP DaVinci представлена на рис. 3.

Рис. 3. Обобщенная структура DSP DaVinci

Наличие DSP-ядра позволяет программно реализовывать практически любые алгоритмы обработки аудио- и видеоданных. Ядро ARM позволяет использовать операционную систему Linux. Подсистема обработки видеоданных значительно снижает нагрузку на ядро DSP. Интерфейс памяти и устройств хранения гарантирует высокую скорость обмена с внешними подключаемыми модулями. Дополнительный модуль подключения реализует стандартные внешние порты. Блок последовательных интерфейсов обеспечивает гибкость при реализации конкретных устройств. Рассмотрим отдельные составляющие более подробно.

На рис. 4 представлена обобщенная структурная схема DSP-ядра семейства TMS320C64xx. Это классическая VLIW-архитектура, которая позволяет выполнять одновременно несколько инструкций. Ядро содержит 8 функциональных блоков, разбитых на две равнозначные части (пути обработки). Из них 6 блоков выполняют функцию АЛУ (S1, S2, D1, D2, L1 и L2), а два являются умножителями (M1 и M2). Аккумулятор отсутствует, однако имеется 64 регистра общего назначения (РОН), которые могут выполнять его функции. Ядро имеет двухуровневый кэш: первый уровень — это L1P (32 кбайт для кода программ) и L1D (80 кбайт для кода данных), второй уровень — L2 (64 кбайт для кода программ и данных). Кроме этого имеется контроллер внешней памяти (EMC), позволяющий использовать внешние хранилища данных и имеющий режим прямого доступа к памяти (DMA). Адресация байтовая (8-/16-/32-/64-разрядные данные). Есть 8-разрядная защита от переполнения. Система команд обеспечивает побитовое извлечение, установку и сброс. Сами команды — 16-разрядные. Для повышения точности реализовано 32-разрядное умножение. Кроме этого, реализованы новые инструкции для параллельных вычислений, дополнительные инструкции для FFT, DCT и комплексного умножения. Возможно удвоение инструкций для увеличения быстродействия циклов FIR.

Рис. 4. Структурная схема DSP-ядра семейства TMS320C64xx

На рис. 5 представлена структурная схема ядра ARM. Это стандартное ядро ARM926 с тактовой частотой 300 МГц. Объем памяти: 8 кбайт — кэш данных, 16 кбайт — кэш инструкций, 16 кбайт — ОЗУ. Использование стандартного ядра ARM позволяет использовать стандартную OС (Linux), производить гибкую настройку опций сетевого протокола, а также реализовать простой пользовательский интерфейс и обеспечить гибкую систему управления разрабатываемым устройством.

Рис. 5. Структурная схема ядра ARM

Подсистема обработки видеоданных представлена на рис. 6.

Рис. 6. Подсистема видеообработки

Данная подсистема имеет интегрированный видеовыход (Video Out), который поддерживает стандарты RGB888 (75 МГц) и BTU656 (8 или 16 бит, 75 МГц), а также позволяет подключать ЖК-панели. Видеовыход включает четыре 10-разрядных 54 MГц ЦАП, которые обеспечивают композитный выход, выход S-Video и компонентный выход RGB/YPbPr, и поддерживает телевизионные форматы NTSC/PAL (480/576 Interlaced, 480/576 Progressive: 480i, 480p, 576i, 625p).

Интегрированный видеовход (Video In) обеспечивает интерфейсы CCD/CMOS (16 бит, 75 МГц), BTU601/656 (8 или 16 бит, 75 МГц). Кроме того, имеется возможность преобразования цветового пространства, предпросмотра (блок Previewer) и конвертирование Bayer RGB в YCbCr 4:2:2.

Модуль видеообработки обеспечивает возможность вывода управляющей информации поверх изображения (On Screen Display — OSD). В данном режиме в видеоокне формата RGB888 (или YCbCr 4:2:2) можно выводить окно OSD формата RGB656. При этом обеспечивается 8 уровней микширования.

Блок масштабирования (Resizer) обеспечивает изменение масштаба от 1:4 до 4:1 при 256 градациях. Возможно использование линейной и би-кубической аппроксимации.

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

Наличие субмодуля обработки видео в целом позволяет оптимизировать стоимость решений на базе процессоров DaVinci, упрощает подключение стандартных микросхем видео- и аудиокодеков, различных дисплеев и цифровых камер. Использование субмодуля значительно снижает нагрузку на CPU.

Интерфейс внешней памяти и устройств хранения (рис. 7) имеет следующие характеристики: 32-битный интерфейс подключения DDR2-266 (133 МГц), интерфейс ATA/ATAPI-5/IDE Compact Flash (совмещенный с EMIF), NAND Flash (2K8/16-разрядная NAND или SM/xD), возможность подключения асинхронной памяти (EMIF — расширенный интерфейс памяти). Все это позволяет проводить обработку скоростного видеопотока, обеспечивает поддержку современных кодеков, возможность организации хранения видеоданных на внешних носителях, простую конфигурацию загрузки, возможность расширения, реализацию мультистандартного интерфейса.

Рис. 7. Интерфейс внешней памяти и устройств хранения

Дополнительный модуль подключения (рис. 8) позволяет реализовать изернетр MAC уровня (10/100 Мит/с, MII для Switch или PHY, интерфейс MDIO), стандартный порт USB 2.0 (LYN + PHY, High Speed 480 Мбит/с, Host/client), а также интерфейс VLYNQ (75 МГц, 4 линии на передачу, 4 линии на прием) для подключения FPGA. Все это дает возможность достаточно просто решать различные сетевые задачи и задачи подключения дополнительных устройств.

Рис. 8. Дополнительный модуль подключения

Процессоры DaVinci имеют достаточно большой набор последовательных интерфейсов, стандартных для DSP. На рис. 9 представлен блок последовательных интерфейсов интерфейсов. Он включает последовательный аудио-интерфейс Audio SP, который поддерживает кодеки AC97 и подключение по протоколу I2S. Это позволяет реализовать устройства с низкой стоимостью и возможностью гибкой настройки аудиоподключения. Кроме того, имеется три UART, одит I2C, два SPI, три PWM и набор GPIO. Наличие UART позволяет реализовать интерфейс Bluetooth и обеспечивает поддержку дистанционного управления. Интерфейс PWM, в частности, используется при построении системы автофокусировки и автоматической установки баланса белого. Интерфейсы I2C и SPI позволяют легко реализовывать различные алгоритмы конфигурирования внешних устройств, а наличие выводов GPIO дает возможность создавать опции пользовательского контроля.

Рис. 9. Блок последовательных интерфейсов

Мы перечислили все возможные интерфейсы. В зависимости от конкретного типа DSP их перечень и количество могут отличаться. В таблице 2 представлена вся (на момент написания статьи) номенклатура процессоров DaVinci.

Таблица 2. Основные характеристики DSP TMS320DM64xx

В группе процессоров DaVinci можно выделить три группы. Первая — высокопроизводительные и самые дорогие TMS320DM6446 и TMS320DM4643. Эти DSP обеспечивают максимальную производительность в данном классе устройств и имеют максимально возможное количество периферийных модулей. Процессор TMS320DM6446 предназначен для реализации полнофункционального многопоточного кодека для аудио и видео, TMS320DM6443 — только для реализации декодеров.

Вторая группа на данный момент содержит только один процессор — TMS320DM6441. Это универсальный процессор, на базе которого можно реализовать полнофункциональный кодек аудио и видео, однако его производительность ниже топовых процессоров данного семейства. Это, с одной стороны, приводит к снижению многопоточности, но, с другой, снижает энергопотребление и позволяет реализовать портативные устройства.

Третья группа — это процессоры TMS320DM643x. В них отсутствует ядро ARM. Это позволило значительно снизить стоимость чипов. Их назначение — реализация оконечных устройств обработки аудио и видео, таких как IP-камеры или камеры видеонаблюдения и охраны.

Хотелось бы отметить широкие возможности по реализации различных типов устройств на базе процессоров DaVinci. Обобщенная структура мультимедийного устройства показана на рис. 10. На базе этой структуры могут быть реализованы практически любые современные устройства обработки аудио и видео.

Рис. 10. Обобщенная структурная схема устройства на базе TMS320DM6446

Отметим также возможности питания процессоров DaVinci. Компания TI недавно анонсировала источник вторичного питания TPS65023. Схема его подключения представлена на рис. 11.

Рис. 11. Схема использования TPS65023

Кроме этого, очень интересной возможностью организации питания является использование режима питания через Ethernet. Схема реализации такого режима показана на рис. 12. Заметим, что данная схема приведена также по адресу: http://focus.ti.com/dsp/docs/blockdiagram.tsp?blockDiagramId=2021&techDoc=8&sectionId=3&familyId=44&tabId=409 и является интерактивной. Нажимая мышкой на соответствующие блоки, можно перейти на страницы, где описываются выбранные блок, а также приводятся конкретные наименования микросхем для их реализации.

Рис. 12. Структурная схема использования питания через Ethernet

Небольшое замечание относительно приведенной длинной ссылки. Данную страницу можно найти следующим образом. На главной странице компании TI (http://ti.com/) необходимо выбрать пункт “DSP — Digital Signal Processing” (в верхнем левом углу). Затем на появившейся странице, в колонке “DSP Design Support” (средняя колонка) найти раздел “Getting Started” и выбрать пункт “DSP Block Diagrams”. После этого, появится страница с перечнем интерактивных блок-схем. Это очень полезная страница, которая позволяет быстро находить ту или иную блок-схему, подходящую для решения конкретной задачи и определять примерный набор комплектующих.

В заключение статьи рассмотрим перечень необходимого оборудования для разработки и отладке продуктов на базе процессоров DaVinci. Необходимы три составляющие — отладочная плата, эмулятор, для подключения отладочной платы к ПК и программное обеспечение.

В качестве отладочной платы можно использовать только одно изделие от компании Spectrum Digital (в дальнейшем — просто SD). Его фото в составе отладочного комплекта Digital Video Evaluation Module (DVEVM) приведено на рис. 13.

Рис. 13. Отладочный комплект DVEVM

Отладочный комплект DVEVM состоит из следующих компонентов.

  1. Аппаратные средства:
  • плата для разработки приложений под TMS320DM6446;
  • видеокамера NTSC/PAL;
  • ИК-модуль дистанционного управления;
  • ЖК-дисплей;
  • жесткий диск (40 Гбайт).
  • Программные средства:
    • инструменты для разработки под OС Linux:
      • preliminary MontaVista Professional Edition 4.0 Demo;
      • GNU средства разработки;
    • демонстрационные версии кодеков H.264, MPEG-4, MPEG-2, AAC+ и G7.11;
    • набор мультимедийных интерфейсных функций (API).

    Более подробное описание данного отладочного комплекта и его возможностей можно посмотреть на странице http://focus.ti.com/docs/toolsw/folders/print/tmdsevm6446.html.

    Для подключения к ПК необходим эмулятор, который подключается к процессору по 20-контактному интерфейсу JTAG. Он позволяет загружать код в процессор и отлаживать его в режиме реального времени. Для того чтобы обеспечить максимально быстрый обмен данными по интерфейсу JTAG, можно рекомендовать эмулятор компании SD XDS560 с PCI-интерфейсом подключения к ПК. Это самый быстрый эмулятор, но и самый дорогой. Его изображение представлено на рис. 14, а описание можно найти на сайте TI по адресу: http://focus.ti.com/docs/toolsw/folders/print/xds560.html, либо непосредственно на сайте производителя SD: http://www.spectrumdigital.com/product_info.php?products_id=181.

    Рис. 14. Эмулятор XDS560

    Другие эмуляторы также могут работать с процессором DaVinci. Но они не смогут в полной мере реализовать режим отладки в реальном времени, а также требуют переходной платы для сопряжения с новым форматом интерфейса JTAG.

    Последним необходимым элементом полноценного рабочего места разработчика является программное обеспечение. Для процессоров DaVinci предлагается несколько вариантов ПО.

    1. Полноценная отладочная среда Code Composer Studio IDE (CCS). Это единая интегрированная среда, которая включает текстовый редактор с подсветкой синтаксиса, Си-компилятор, ассемблер, высокоэффективный оптимизатор кода (повышающий быстродействие приложений в сотни раз с помощью одного щелчка мышки), компоновщик, загрузчик программного кода. Кроме этого, CCS обеспечивает поддержку аппаратного отладчика, который позволяет получить доступ в режиме реального времени ко всем модулям DSP. В этой среде можно легко производить профилирование функций и отдельных участков кода. Имеется возможность в реальном времени отображать значение регистров, а также содержимое памяти в наиболее удобном виде: осциллограмма, спектрограмма, изображение и т. д.
    2. Операционная система Linux — MontaVista (www.mvista.com). Это продукт сторонней компании. Применение операционной системы позволяет решать огромный круг задач с минимальными затратами ресурсов.
    3. Компания TI предлагает еще один продукт, призванный сделать разработку изделий на базе процессоров DaVinci максимально эффективной. Это Digital Video Software Development Kit (DVSDK), который состоит из следующих программных компонентов:
    • eXpressDSP Configuration Kit;
    • TMS320DM644x SoC Analyzer;
    • версия Linux от MontaVista.

    Программный пакет eXpressDSP Configuration Kit включает:

    • кодеки для видео, изображений, речи и аудио;
    • традиционные кодеки, соответствующие стандарту eXpressDSP Digital Media (xDM);
    • операционную систему реального времени для DSP — DSP/BIOS.

    Получить более полную информацию по данному продукту можно найти на странице http://focus.ti.com/docs/toolsw/folders/print/tmdssdk6446.html.

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

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