Особенности выбора цифровых сигнальных процессоров (DSP)
Цифровые сигнальные процессоры (DSP) представляют собой специализированные вычислительные устройства, предназначенные для осуществления математических операций над оцифрованными сигналами. Их применение охватывает широкий спектр областей, включая беспроводные системы, обработку аудио- и видеоданных, а также системы управления.
С ростом числа приложений, использующих DSP, и усложнением алгоритмов обработки сигналов, повышаются требования к производительности процессоров и их функциональному оснащению. Современные DSP должны обладать высоким быстродействием и расширенным набором интерфейсных и специализированных узлов.
Рынок DSP-процессоров характеризуется значительным разнообразием. В настоящее время доступны как универсальные модели, так и решения, ориентированные на узкий круг задач. При выборе цифрового сигнального процессора крайне важно иметь представление о текущем состоянии рынка, знать ключевых производителей и направления развития их продукции.
Потребители часто отдают предпочтение DSP от известных марок, занимающих лидирующие позиции в отрасли. Это обусловлено стремлением получить высококачественное и надежное устройство, соответствующее современным технологическим стандартам.
Выбор конкретной модели DSP должен основываться на специфике решаемых задач. Для каждого типа применения — будь то обработка аудиосигналов, видеокодирование или управление промышленными системами — существуют оптимальные варианты процессоров, обладающие необходимыми характеристиками и функциональностью.
Таблица 1. Основные производители DSP
Компании-лидеры рынка |
Company Name |
Доля рынка DSP |
1 |
Texas Instruments |
54,30% |
2 |
Freescale Semiconductor |
14,10% |
3 |
Analog Devices |
8,00% |
4 |
Philips Semiconductors |
7,50% |
5 |
Agere Systems |
7,30% |
6 |
Toshiba |
4,90% |
7 |
DSP Group |
2,20% |
8 |
NEC Electronics |
0,60% |
9 |
Fujitsu |
0,40% |
10 |
Intersil |
0,30% |
Other Companies |
0,50% |
|
Total |
100,00% |
При разработке электронных устройств выбор оптимального цифрового сигнального процессора (DSP) является ключевой задачей. Универсального решения не существует, поэтому разработчику необходимо определить процессор, наиболее соответствующий требованиям конкретного проекта по таким параметрам, как производительность, стоимость, наличие специфической периферии, энергопотребление и простота использования.
Для портативных устройств, таких как мобильные телефоны и цифровые плееры, приоритетными характеристиками являются низкое энергопотребление, высокая степень интеграции и доступная цена. Максимальная производительность в данном случае часто не требуется, так как она влечет за собой повышенное энергопотребление без существенных преимуществ при обработке низкоскоростных аудиосигналов. В противоположность этому, для гидроакустических и радиолокационных систем ключевыми факторами выступают быстродействие, наличие высокоскоростных интерфейсов и удобство разработки, в то время как стоимость отходит на второй план.
При выборе DSP целесообразно учитывать рыночные позиции производителя, поскольку не все компании способны предложить полный спектр процессоров, удовлетворяющих всем потребностям разработчика. Согласно актуальным данным (см. табл. 1), четыре ведущих производителя обеспечивают более 80% мирового рынка DSP. Эти компании широко известны и на российском рынке, их продукция регулярно освещается в профильных изданиях. К примеру, основные характеристики DSP производства Texas Instruments и Analog Devices были рассмотрены в №7 за 2005 г. и №1 за 2006 г.
Важно отметить, что производители DSP при проектировании новых микросхем четко ориентируются на их применение в определенных типах устройств. Это влияет на архитектуру процессоров, их быстродействие и набор периферийных модулей. Таблица 2 демонстрирует позиционирование различных DSP с точки зрения их создателей.
Таблица 2. Области применения сигнальных процессоров от разных производителей
Обработка видео, видеонаблюдение, цифровые камеры, 3D графика |
TMS320DM64x/DaVinci, TMS320C64xx, TMS320C62xx (TI), PNX1300, PNX1500, PNX1700 (Philips), MPC52xx (Freescale) |
Обработка аудио,распознавание речи, синтез звука |
TMS320C62xx, TMS320C67xx (TI), SHARC (Analog Devices) |
Портативные медиа устройства |
TMS320C54xx, TMS320C55xx (TI), Blackfin (Analog Devices) |
Беспроводная связь, телекоммуникации, модемы, сетевые устройства |
TMS320C64xx, TMS320C54xx, TMS320C55xx (TI), MPC7xxx, MPC86xx, MPC8xx PowerQUICC I, MPC82xx PowerQUICC II, MPC83xx PowerQUICC II Pro, MPC85xx PowerQUICC III (Freescale), Blackfin, TigerSHARC (Analog Devices), PNX1300 (Philips) |
Управление приводами,преобразование мощности, автомобильная электроника, предметы домашнего обихода, офисное оборудование |
TMS320C28xx, TMS320C24xx (TI), ADSP-21xx (Analog Devices), MPC55xx, MPC55xx (Freescale) |
Медицина, биометрия, измерительные системы |
TMS320C62xx, TMS320C67xx, TMS320C55xx, TMS320C28xx (TI), TigerSHARC, SHARC (Analog Devices) |
Факторы, которые влияют на выбор процессоров DSP
Формат данных, разрядность
Формат данных и разрядность являются ключевыми характеристиками цифровых сигнальных процессоров (DSP). DSP функционируют с целочисленными данными либо с числами в формате с плавающей точкой. Целочисленные DSP оперируют 16- или 32-разрядными числами, тогда как процессоры с плавающей точкой используют 32-разрядный формат.
При выборе формата данных следует учитывать, что целочисленные DSP, как правило, экономичнее и обеспечивают более высокую абсолютную точность при одинаковой разрядности. Это обусловлено тем, что в 32-битном целочисленном процессоре все биты отводятся под мантиссу, в то время как в процессоре с плавающей точкой — только 24 бита.
Однако динамический диапазон обрабатываемых сигналов у целочисленных DSP существенно уже. При реализации несложных алгоритмов обработки это может быть несущественно, так как динамический диапазон входных сигналов обычно не превышает возможности DSP. Тем не менее, в некоторых ситуациях возможно возникновение ошибок переполнения, приводящих к нелинейным искажениям выходного сигнала.
Выбор разрядности и типа арифметики DSP требует тщательного анализа алгоритма обработки и характеристик входных сигналов. В случаях, когда использование DSP с плавающей точкой нецелесообразно из-за высокой стоимости или энергопотребления, применяют целочисленные DSP с компрессией динамического диапазона сигналов. Однако это усложняет алгоритм обработки и повышает требования к быстродействию.
Несмотря на ограничения, большинство встраиваемых приложений использует целочисленные DSP из-за их меньшей стоимости и энергопотребления.
Увеличение разрядности влечет за собой рост стоимости, размеров кристалла, числа выводов процессора и требуемого объема внешней памяти. Поэтому разработчики стремятся использовать кристаллы с минимально допустимой разрядностью.
Важно отметить, что разрядность данных и разрядность команд процессоров могут различаться.
Скорость
Быстродействие является ключевым параметром при выборе цифрового сигнального процессора (DSP). Скорость обработки определяет максимальную частоту входного сигнала. Распространенной ошибкой является отождествление тактовой частоты и быстродействия, что в большинстве случаев некорректно.
Производительность DSP часто выражается в MIPS (миллионах инструкций в секунду) — наиболее легко измеряемом показателе. Однако сравнение DSP по этому параметру затруднено из-за различий в системах команд процессоров. Для реализации идентичного алгоритма на разных DSP может потребоваться неодинаковое количество команд. Более того, выполнение различных команд одним процессором может занимать разное число тактов. В результате, DSP с более высоким показателем MIPS может уступать в реальной производительности процессору с меньшим значением MIPS, особенно при различной разрядности.
Альтернативный подход к оценке производительности — сравнение скорости выполнения конкретных операций, например, умножения с накоплением (MAC). Эта характеристика критична для алгоритмов цифровой фильтрации, корреляции и преобразований Фурье. Однако такой метод также не дает исчерпывающего представления о реальном быстродействии.
Наиболее точным методом оценки является измерение скорости выполнения определенных алгоритмов, таких как КИХ- и БИХ-фильтрация. Этот подход требует разработки специализированного программного обеспечения и тщательного анализа результатов тестирования.
Существуют специализированные компании, занимающиеся анализом и сравнением процессоров по ключевым характеристикам, включая быстродействие. Лидером в этой области является BDTI — Berkeley Design Technology, Inc. (www.bdti.com).
Организация памяти
Архитектура системы памяти цифрового сигнального процессора (DSP) оказывает существенное влияние на его производительность. Это обусловлено спецификой основных команд DSP, которые, будучи многооперандными, требуют одновременного доступа к нескольким ячейкам памяти для оптимизации быстродействия. К примеру, выполнение команды умножения с накоплением (MAC) за один такт предполагает одновременное считывание двух операндов и самой команды. Для достижения этой цели применяются различные методы, включая использование многопортовой памяти, разделение памяти программ и данных (Гарвардская архитектура), а также использование кэша команд.
Требуемый объем памяти определяется спецификой приложения. Следует учитывать, что встроенная память процессора обычно обладает значительно более высоким быстродействием по сравнению с внешней. Однако увеличение объема встроенной памяти влечет за собой рост стоимости и энергопотребления DSP. При этом ограниченный объем памяти программ может стать препятствием для реализации сложных алгоритмов. В случаях, когда встроенной памяти достаточно для решения поставленных задач, ее наличие позволяет упростить общую конструкцию устройства, уменьшить его габариты, энергопотребление и стоимость.
Большинство DSP с фиксированной точкой, применяемых во встраиваемых системах, характеризуются небольшим объемом внутренней памяти (от 4 до 256 Кбайт) и относительно низкой разрядностью внешних шин данных.
DSP с плавающей точкой, напротив, ориентированы на работу с масштабными массивами данных и сложными алгоритмами. Они обычно оснащаются либо встроенной памятью большого объема, либо адресными шинами высокой разрядности для подключения емкой внешней памяти, а в некоторых случаях — обоими типами памяти.
Выбор типа и объема памяти должен основываться на тщательном анализе специфики приложения, в котором планируется использование DSP.
Удобство разработки приложений
Удобство разработки приложений для цифровых сигнальных процессоров (DSP) зависит от специфики решаемых задач. Использование языков высокого уровня (ЯВУ) при программировании DSP обычно упрощает процесс разработки, но может привести к генерации менее эффективного кода, что требует применения более мощных и дорогостоящих процессоров. Однако в современных условиях скорость вывода продукта на рынок может оказаться важнее, чем затраты на оптимизацию ассемблерного кода.
Компиляторы ЯВУ, как правило, генерируют более качественный код для DSP с плавающей точкой. Это обусловлено рядом факторов: большинство ЯВУ изначально не поддерживают арифметику с фиксированной точкой, система команд DSP с фиксированной точкой более ограничена, а процессоры с плавающей точкой обычно менее требовательны к объему используемой памяти.
Наиболее эффективные результаты достигаются при компиляции программ на ЯВУ для VLIW-процессоров с ортогональной RISC-системой команд и объемными регистровыми файлами. Однако даже в этом случае автоматически сгенерированный код уступает по скорости оптимизированному вручную ассемблерному коду.
Возможность предварительного моделирования обработки сигнала в специализированных программах, таких как MathLab, с последующей автоматической трансляцией в код для DSP позволяет избежать множества серьезных ошибок на начальных этапах разработки.
Отладка программ может осуществляться как на аппаратном эмуляторе, так и на программном симуляторе. Симуляторы обычно проще в использовании, но не позволяют выявить все потенциальные ошибки. Большинство производителей предоставляют разработчикам оба типа инструментов.
Современные DSP поддерживают внутрисхемную эмуляцию по стандарту IEEE 1149.1 JTAG, что обеспечивает непосредственный контроль над процессором при выполнении программы и повышает надежность отладки.
Производители также предлагают широкий ассортимент «стартер-китов» и «оценочных модулей», позволяющих начать разработку приложения до изготовления макета устройства. В некоторых случаях эти средства разработки могут использоваться как конечные устройства.
Энергопотребление
Цифровые сигнальные процессоры (DSP) находят широкое применение в мобильных устройствах, где энергопотребление является критическим параметром. Для минимизации расхода энергии применяется комплекс методов, включающий снижение напряжения питания и внедрение функций управления энергопотреблением. К последним относятся динамическое изменение тактовой частоты, переход в режимы сна или ожидания, а также отключение временно неиспользуемых периферийных модулей.
Важно отметить, что меры по снижению энергопотребления могут существенно влиять на производительность процессора. Некорректная реализация этих функций может привести к нарушению работоспособности устройства или ухудшению его эксплуатационных характеристик. Известны случаи, когда ошибки в программах управления энергопотреблением вызывали сбои в работе мобильных телефонов, включая проблемы с включением устройств или значительное увеличение времени выхода из спящего режима.
Оценка энергопотребления DSP представляет собой сложную задачу, поскольку эта величина варьируется в зависимости от выполняемых процессором операций. Большинство производителей ограничиваются публикацией «типичных» и «максимальных» значений потребления, не предоставляя детальной информации о методике их определения. Исключением является компания Texas Instruments, которая приводит данные об энергопотреблении в зависимости от типа выполняемых команд и конфигурации процессора.
Стоимость
Стоимость цифрового сигнального процессора (DSP) является ключевым фактором при его выборе, особенно для крупносерийного производства. Разработчики, как правило, стремятся к минимизации затрат на комплектующие, однако следует учитывать, что выбор наиболее экономичного варианта может привести к дополнительным расходам на модернизацию устройства, если характеристики выбранного процессора окажутся недостаточными для решения поставленных задач.
При оценке экономической эффективности DSP необходимо принимать во внимание не только стоимость самого процессора, но и затраты на сопутствующие компоненты. Например, DSP со встроенной памятью достаточного объема может иметь более высокую цену по сравнению с аналогом без встроенной памяти, однако общая стоимость устройства на его основе может оказаться ниже за счет отсутствия дополнительных компонентов и уменьшения размеров печатной платы.
Существенное влияние на стоимость DSP оказывает тип его корпуса. Интегральные схемы в керамических корпусах, предназначенные для эксплуатации в промышленных или специальных условиях, значительно дороже аналогичных ИС, рассчитанных на работу в коммерческом температурном диапазоне.
Немаловажным фактором, определяющим ценообразование DSP, является объем и регулярность поставок. Крупные партии и долгосрочные контракты на поставку могут существенно снизить стоимость отдельных процессоров.
Методология выбора процессора
При выборе цифрового сигнального процессора (DSP) ключевое значение имеет специфика конкретного приложения. Процессор, оптимальный для одного типа задач, может оказаться неэффективным для других.
Процесс выбора DSP включает следующие этапы:
- Определение и ранжирование наиболее важных характеристик для данного приложения.
- Отбор потенциальных кандидатов на основе приоритетных критериев.
- Окончательный выбор оптимального процессора с учетом дополнительных, менее критичных параметров.
Рекомендуется использовать оценки характеристик процессоров, предоставляемые авторитетными компаниями, такими как BTDI. Важно отметить, что BTDI оценивает DSP не только по быстродействию, но и по другим параметрам, включая эффективность использования памяти и энергопотребление.
При выборе между процессорами с близкими ключевыми характеристиками решающими факторами могут стать доступность средств отладки, предшествующий опыт разработчика, наличие компонентов и другие второстепенные параметры.
Тщательный подход к выбору DSP на начальном этапе разработки позволяет избежать излишних затрат, связанных с использованием неподходящего процессора, сократить общее время разработки и минимизировать ресурсы, необходимые для выявления и устранения ошибок.