NetNado
  Найти на сайте:

Учащимся

Учителям



1. /Л1-2.Введение в ЦОС/1_Введение в ЦОС.doc
2. /Л1-2.Введение в ЦОС/1АКБ_Основы теории цифровых систем.doc
3. /Л1-2.Введение в ЦОС/2_Основы теории цифровых систем.doc
4. /Л1-2.Введение в ЦОС/~$КБ_Основы теории цифровых систем.doc
5. /Л1-2.Введение в ЦОС/Преобразование ФП в ФНЧ.doc
6. /Л1-2.Введение в ЦОС/Фолии введение.doc
7. /Л1-2.Введение в ЦОС/ЦАП и АЦП/Лекция 7.doc
8. /Л1-2.Введение в ЦОС/подсказки из математики для АКБ-411.doc
9. /Л3.Цифровая фильтрация/Фолии ЦФ.doc
10. /Л3.Цифровая фильтрация/ЦИФРОВая ФИЛЬТРАЦИя.doc
11. /Л4.КИО-фильтры/Проектировние КИО-фильтров.doc
12. /Л4.КИО-фильтры/Фолии КИО.doc
13. /Л5.БИО-фильтры/Преобразование ФП в ФНЧ.doc
14. /Л5.БИО-фильтры/Проектирование БИО-фильтров.doc
15. /Л5.БИО-фильтры/Тип прототипов.doc
16. /Л5.БИО-фильтры/Фолии БИО-фильтры.doc
17. /Л6-7.ДПФ/Спектральный анализ.doc
18. /Л6-7.ДПФ/Фолия ДПФ.doc
19. /Л7.Другие виды дискретных преобразований/wave01.doc
20. /Л7.Другие виды дискретных преобразований/ЛA.Другие виды дискретных преобразований.doc
21. /Л7.Другие виды дискретных преобразований/Фолии Дискретные преобразования.doc
22. /Л8.АКФ и ВКФ/Адаптивные фильтры.doc
23. /Л8.АКФ и ВКФ/Вычисление АКФ и ВКФ.doc
24. /Л8.АКФ и ВКФ/Фолии АКФ и ВКФ.doc
25. /Л9.Аппаратная реализация/ВЫБОР ТЕХНИЧЕСКИХ СРЕДСТВ.doc
26. /ЛB.Двумерные фильтры/Двумерные фильтры.doc
27. /ЛB.Двумерные фильтры/Фолии Двумерные фильтры.doc
28. /ЛC-D.Адаптивные фильтры/Применение адаптивных фильтров.doc
29. /ЛC-D.Адаптивные фильтры/Фолии Адаптивные фильтры.doc
30. /ЛC.Средства моделирования/Принципиальная схема эмулятора.doc
Лекция введение в цос
Литература, организация курса. Содержание цос
Лекция Основы теории цифровых систем 1 Основы теории цифровых систем
Организация ввода-вывода аналоговых сигналов
Операционное исчисление
Лекция цифровая фильтрация цифровая фильтрация, как одно из главных направлений в цос, вызывает повышенный интерес ученых и специалистов и является эффективным средством повышения качества работы современных систем управления.
3. фильтры с конечным импульсным откликом
А Частотная характеристика идеального фнч
4. фильтры с бесконечным импульсным откликом
Пульсация в полосе пропускания Пульсация в полосе подавления
Био-фильтры Структурная схема био-фильтра
5 спектральный анализ дискретное преобразование фурье алгоритмы быстрого преобразования фурье
5. 2 Типы преобразований Фурье
Вейвлетные преобразования сигналов
10 другие виды дискретных преобразований 10. 1 Способы реализации ортогональных преобразований
Если: x
1 адаптивная фильтрация 5 Адаптивные фильтры
Лекция Вычисление автокорреляционной и взаимнокорреляционной функций и их применение
Способы реализации алгоритмов и систем цос
3 описание программного обеспечения
9. 1 Адаптивная обработка сигналов
Рис. 1 Структурная схема адаптивного фильтра
1 Инструментальные средства разработки и моделирования систем цос

скачать doc




1.2.1. Способы реализации систем ЦОС
Способы моделирования ЦОС связаны со способами реализации ЦОС, которые представлены на рис. 1.2.1.1. Рассмотрим их все по порядку.

Аппаратная реализация подразумевает использование разнообразных функциональных блоков: регистров, сумматоров, шифраторов и дешифраторов, счётчиков, линий задержек, устройств памяти, умножителей, сдвигателей, логических элементов, интегральных и больших интегральных схем, программируемых логических матриц и т. п. Совокупность функциональных блоков и связей между ними определяет реализуемый алгоритм. Достоинство аппаратной реализации состоит в очень высоком быстродействии, что позволяет обрабатывать сигналы при частоте дискретизации в десятки МГц. Это достигается применением функциональных блоков на базе ТТ-логики, распараллеливанием операций и узкой направленностью (специализацией) создаваемых устройств (например, для реализации алгоритма БПФ в радиолокационных системах).

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

Способы реализации алгоритмов и систем ЦОС


Рис. 1.2.1.1.
Аппаратно-программная реализация системы ЦОС



Рис. 1.2.1.2.


Программная реализация подразумевает представление алгоритма в виде программы, которую последовательно от команды к команде выполняет один или одновременно несколько независимых блоков. Программа должна быть написана на языке программирования, соответствующем конкретному операционному блоку. Так, для персонального компьютера это будет любой из языков высокого уровня (Pascal, C++, Java), а для микропроцессорного комплекта или цифрового процессора – соответствующий язык ассемблера.

Еще несколько лет назад реализовать свой алгоритм на цифровом процессоре обработки сигналов (ЦПОС) можно было, лишь досконально изучив язык ассемблера конкретного процессора. Однако развитие программных средств в последние годы привело к тому, что в настоящее время достаточно сложные задачи можно программировать на языках высокого уровня – на С и на С++. Современные компиляторы и компоновщики генерируют код для ЦПОС, достаточно эффективный в большинстве случаев. Использование языков программирования высокого уровня позволяет сосредоточиться на содержательной части алгоритма, существенно уменьшает время создания приложений.

Однако гораздо более простой и быстрый путь заключается в использовании для моделирования специальных систем (типа Matlab). Она включает в себя библиотеки готовых функций и процедур. Входной язык программирования этой среды во многом похож на Си. Кроме того, в состав Matlab входит Simulink, в котором реализована концепция графического программирования, позволяющая создавать программы путем рисования блок-схем алгоритмов. Классический путь создания новых устройств такой:

Matlab -> C -> ассемблер ЦПОС.

К достоинствам программной реализации относятся:

  • неизменная структура системы при различных алгоритмах и областях применения;

  • хорошая гибкость, позволяющая достаточно легко изменять алгоритмы работы системы за счёт коррекции или изменения программы;

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

Недостатком программной реализации является относительно низкое быстродействие по причине последовательного выполнения операций программы в одном процессоре. Отсюда вытекает задача обеспечения реального времени, которая подразумевает два обстоятельства:

  • во-первых, время обработки одного отсчёта или группы отсчётов сигнала tоб должно быть меньше допустимого времени задержки tдоп: tоб< tдоп; контроль за выполнением этого условия осуществляется как при написании программы, так и при отладке;

  • во-вторых, цикл работы программы и моменты поступления отсчётов входного сигнала x(n) должны быть строго согласованны по времени, т. е. начало обработки очередного отсчёта x(n) должно совпадать или следовать за поступлением этого отсчёта; с другой стороны, результат обработки y(n) должен быть выведен согласно темпу работы внешнего устройства, который не обязан совпадать с темпом поступления отсчётов x(n).

Аппаратно-программная реализация подразумевает, что часть функций системы ЦОС выполняется аппаратно (аналого-цифровые и цифро-аналоговые преобразования, умножение, умножение с накоплением, приём/передача данных и др.), а другая часть функций выполняется программно. Пример аппаратно-программной реализации показан на рис. 1.2.1.2, где к процессору, работающему по заданной программе, подключены:

  • АЦП и ЦАП;

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

  • интерфейс – специальные вспомогательные схемы, обеспечивающие согласование сигналов на стыках с модулями внешней памяти, АЦП, ЦАП, каналом связи (регистры стыковки также могут быть отнесены к интерфейсу);

  • система синхронизации, обеспечивающая временное согласование всех элементов схемы.

Аппаратно-программная реализация сочетает положительные свойства аппаратной и программной реализаций. Разумное сочетание аппаратных и программных средств позволяет снизить требования к вычислительным возможностям элементной базы и упростить реализацию систем ЦОС в целом, для отладки которой требуются специальные средства отладки. Обязательность отладочных средств не является недостатком: средства отладки создаются под конкретную элементную базу и являются инструментом разработки многочисленных систем ЦОС на этой элементной базе.

3.1. Выбор технических средств
Современные ЦПОС являются сложными устройствами с большими возможностями. Фирмы-производители ЦПОС выпускают боль­шое количество самых разнообразных процессоров с различными характе­ристиками. ЦПОС используются в самых различных областях, начиная с применений в устройствах радиолокации и заканчивая бытовыми приборами. Поэтому не существует идеального процессора для всех областей применений. Для каждой из них при реализа­ции различных алгоритмов ЦОС оказываются важными те или иные харак­теристики процессоров. Рассмотрим характеристики ЦПОС, которые важны при выборе процессора для конкретной разработки и обычно приводятся в различных таблицах для сравнения.

  • Тип арифметики. Форма представления данных с плавающей (ПТ) или с фикси­рованной точкой (ФТ). Форма с ПТ является более гибкой и удобной при разработке систе­мы обработки сигналов, однако соответствующие процессоры являются более сложными и дорогими устройствами.

  • Разрядность данных. Все обычные ЦПОС с плавающей точкой использу­ют слово данных длиной в 32 бита. Для ЦПОС с фиксированной точкой обычный размер слова данных – 16 битов. ЦПОС фирмы Motorola применяет слово данных в 24 бита. Большинство процессоров допускают об­работку с двойной точностью.

  • Быстродействие. Одним из самых важных параметров с точки зрения конкретных применений является быстродействие процессора. Для ха­рактеристики быстродействия используют различные параметры, но наиболее распространённой и точной оценкой реально ха­рактеризующей быстродействие системы является время решения определенных задач и тестов.

  • Тактовая частота работы процессора. Как правило, при описаниях процессоров обычно указывается внешняя тактовая частота, подаваемая на процессор. Она может отличаться от внутренней частоты работы из-за наличия системы деления или умножения частоты (системы PLL). Для последних процессоров, в которых внешняя частота может изменяться в широких пределах, чаще указывают внутреннюю частоту работы процессора. Время командного цикла связано с внутренней частотой работы процессора. Отдельная операция в процес­соре может выполняться как за несколько циклов, так и за один, поэтому время командного цикла является самой неоднозначной характеристикой быст­родействия процессора. К тому же, в некоторых процессорах использует­ся параллельное выполнение команд и параллельная работа нескольких операционных модулей. Поэтому время цикла полностью не характеризу­ет реально выполняемую процессором работу.

  • Количество миллионов команд, выполняемых за секунду MIPS (Million instructions per second). В ЦПОС используются различные команды, в том числе комбинированные, в соответствии с которыми одновременно вы­полняется несколько операций. Кроме того, существуют процессоры с несколькими АЛУ, в которых применяются длинные команды. Таким образом, одной команде в разных процессорах соответствует различная выполняемая ра­бота. Поэтому характеристика MIPS неоднозначно определяет быстро­действие процессора.

  • Количество миллионов операций за секунду MOPS (Millions operations per second). Эта характеристика более однозначно, по сравнению с другими, характеризует быстродействие, т. к. учитывает выполнение параллельных команд и одновременную работу нескольких операционных модулей. Однако нет стандартного определения операции. Иногда к выполняемым операциям относят и выборки команд, и запись в память полученных результатов.

  • Количество миллионов операций с плавающей точкой за секунду MFLOPS (Millions of floating-point operations per second). Эта характеристика используется в процессорах с плавающей точкой. К ней относится всё сказанное относительно MOPS.

  • Количество операций MAC в единицу времени. Возможный путь определения производительности состоит в выборе единой простой операции для целей сравнения. Для прикладных программ ЦОС естест­венным является выбор операции умножения/накопления MAC, которая является основной для алгоритмов ЦОС. Однако в указанных алгоритмах применяются и другие операции помимо этой.

  • Объем и разновидности внутренней памяти (ROM, OTP ROM, RAM, Flash, кэш). Эти характеристики определяют многие параметры и воз­можности разрабатываемой системы. Наличие памяти типа ROM (ПЗУ, программируемого при изготовлении процессора) позволяет заказывать ЦПОС с записанной программой работы системы. Такой вариант использования ЦПОС экономически оправдан при крупносерийном производстве. Память типа OTP ROM (One Time Programmable ROM, одно­кратно программируемое ПЗУ) позволяет моделировать и тестировать систему при отработке программного обеспечения, а также изготавливать единичные и мелкосерийные образцы. Память типа Flash по­зволяет неоднократно перезаписывать программу и данные в процессоре, в том числе и на "рабочем месте", т. е. непосредственно на изготовленной плате системы. Объем и разновидности памяти типа RAM определяют возможности построения системы без использования внешней памяти, как для хранения данных, так и загружаемой программы. Кэш-память используется в качестве буфера между собственно процессором и памятью системы. Она имеет обычно небольшую ёмкость при высоком быстродействии и используется для промежуточного запоминания информации, считываемой из памяти, прежде всего кодов команд.

  • Объем адресного пространства памяти определяется разрядностью шины адреса (единой для внешней памяти) и характеризует возможный общий объем памяти, используемой в системе.

  • Boot Loader. Начальный загрузчик (встроенный сегмент кода), который перемещает исполняемый код от внешнего источника до памяти программы при включении питания или сбросе.

  • Количество и разновидности портов последовательного ввода информации определяют возможности системы с точки зрения связи с различными внешними устройствами.

  • Внутренние периферийные устройства. В про­цессорах существуют периферийные устройства, которые условно можно разделить на устройства общего применения (например, таймеры) и проблемно-ориентированные устройства (АЦП, кодеки, компрессоры, сопроцессоры и т. д.). Последние облегчают построение специализированных цифровых систем таких как, системы обработки звука и т. д.

  • Наличие и количество каналов DMA (Direct Memory Access). Прямой доступ к памяти позволяет общаться с внешними устройствами, в том числе записывать отсчеты входного сигнала (выводить полученные отсчеты выходного сигнала) без использования ресурсов и затрат времени ЦПУ. Это очень эффективная особенность, облегчающая построение высокопроизводительных систем.

  • Напряжение питания, потребляемый ток. Характеристики процессора, особенно важные при построении переносимых систем с батарейным питанием. С этими характеристиками связан такой показатель, как потребляемая мощность. Следует отметить, что потребляемая мощность существенно зависит от выполняемой программы. Многие производители предлагают низковольтные (3,3В, 2,5В или 1,8В) версии процессоров, которые потребляют гораздо меньше мощности, чем пятивольтные эквиваленты при той же производительности. Процессор может работать в различных режимах, в том числе в режиме ожидания (Idle), при нахождении в котором ряд внутренних модулей от­ключается и не потребляет энергии. Поэтому потребляемый ток иногда приводят для различных режимов работы. Многие современные процессоры с пониженным напряжением питания используют различное напряжение для ЦПУ и периферийных устройств. Например, процессор фирмы ADI ADSP-2186M использует 2,5В для пи­тания ядра (ЦПУ) и 3,3В для устройств ввода/вывода. Некоторые ЦПОС позволяют программно отключать неиспользуемые периферийные уст­ройства.

  • Комбинированные относительные показатели типа "мощность/ток/быстродействие". Естественным свойством любых электронных устройств, в том числе и ЦПОС, является повышение потребления мощности при увели­чении быстродействия. Поэтому многие фирмы в качестве показателя эффективности процессора используют удельные относительные показа­тели потребления энергии или тока, отнесенные к некоторой единице быстродействия, например показатель ma/MIPS применяется для характеристики процессоров TMS320 и ADSP. Иногда в такие удельные пока­затели включают и стоимость процессора.

  • Наличие различных средств и информационных ресурсов сопровождения разработки. Виды сопровождения разработки цифровой системы на конкретном процессоре могут быть самые разнообразные. К ним можно отнеси:

      • наличие и состав пакетов программного обеспечения разработки;

      • наличие и состав средств отладки систем, в том числе визуальных средств;

      • наличие и доступность документации, информационная поддержка, в том числе и через Internet;

      • существование библиотек стандартных программ и математических функций;

      • наличие совместимых с процессором устройств преобразования дан­ных АЦП и ЦАП, а также устройств поддержки энергопотребления (стабилизаторы, контроллеры питания и т. д.).

Помимо рассмотренных выше, есть также другие характеристики ЦПОС, которые необходимо учитывать при разработке цифровой системы обработки сигналов. К ним можно, например, отнести допустимый температурный диапазон работы, тип корпуса. [1]

Выбор процессора для конкретной разработки целиком определяется назначением разрабатываемой системы.

Лидирующее положение на рынке процессоров ЦОС занимают американские фирмы Texas Instruments (TI), Motorola, AT&T Microelectronics и Analog Devices (ADI). Фирма Analog Devices, которая позже всех вошла на рынок ЦПОС, сейчас успешно конкурирует с фирмами Motorola и Texas Instruments за счет качественных разработок и низких цен. Постоянное совершенствование технологии изготовления интегральных схем позволило выработать подход, с помощью которого фирма стала одним из лидеров и в области цифровой обработки сигналов. Данный подход реализован с помощью двух семейств (соответственно 16- и 32-разрядных) универсальных программируемых цифровых процессоров для обработки сигналов. Основной отличительной особенностью примененного подхода явилась полная программная и частичная аппаратная (pin to pin) совместимость разных модификаций процессоров в рамках семейства. ADSP-218х – 16-разрядные программно и аппаратно совместимые процессоры обработки сигналов третьего поколения фирмы ADI. Сохраняя программную совместимость с процессорами ADSP-2101/2104/2105/2115, процессоры семейства ADSP-218x имеют полную программную и частичную аппаратную совместимость между собой. Фирма ADI также осуществляет техническую поддержку учебным заведениям, использующим её продукты. [5]

Опираясь на вышеизложенное, для реализации системы моделирования в данном дипломном проекте в качестве цифрового процессора обработки сигналов выбран процессор ADSP-2189M фирмы Analog Devices.

Характеристики параметров этого процессора приведены в таблице 3.1.1. Разрядность данного процессора обеспечивает возможность работы с данными, диапазон которых составляет 96 дБ, чего достаточно для построения систем обработки речи и звука. Тип арифметики подходит для реализации довольно сложных алгоритмов, при этом стоимость процессора ниже стоимости процессоров с ПТ. У процессора сравнительно низкое энергопотребление, а быстродействие подходит для реализации широкого круга задач ЦОС. В состав процессора входят три независимых параллельно работающих вычислительных устройства, которые осуществляют выполнение арифметических и логических функций, включая операцию умножения с накоплением, выполняемую за один машинный цикл, манипуляцию битами, операции сдвига и т. п. Два независимых генератора адреса данных обеспечивают одновременный доступ к двум массивам внутренней памяти (памяти данных и памяти программ), гибкие режимы адресации и доступ к данным во внутренней памяти, что позволяет процессору в рамках одного машинного цикла получить доступ сразу к двум различным величинам данных (одной из памяти данных, другой из памяти программ). Мощное устройство управления позволяет осуществлять выборку и исполнение команды процессора за один машинный цикл, быструю реакцию на прерывания и отработку передачи управления в зацикленных программах без потери машинного цикла.

Таблица 3.1.1.

Характеристики параметров ЦПОС ADSP-2189M

Разрядность


16

Тип арифметики

ФТ

Частота, МГц

75

Время цикла, нс

13

MIPS


75

Внутренняя память RAM,

слов1024

Данные

56

Программа

48

DMA

2

Таймеры

1

Последовательные порты

2

Тип корпуса

100 LQFP


Энергопотребление, mA/MIPS

0,4

Напряжение ядра, В

2,5



Внутреннее ОЗУ состоит из 24-разрядного ОЗУ программ и 16-разрядного ОЗУ данных. Многоканальные последовательные порты позволяют осуществлять прямое подключение к потокам данных. Их встроенные аппаратные возможности работы в многоканальном режиме с разделением времени существенно уменьшают сложность разработки программного обеспечения и поддерживают работу с 24- и 32-канальными фреймами. Для обеспечения обмена данными между внешними устройствами и собственно процессорами предусмотрено несколько типов поддержки прямого доступа к внутренней памяти. Процессор может адресоваться к внешней памяти объемом до 4 Мбайт через байтовый порт прямого доступа к памяти (BDMA), при этом процессор является ведущим. В многопроцессорных системах хост-машина может получить доступ к внутренней памяти процессора через 16-разрядный порт прямого доступа к памяти (IDMA). В состав процессора также входят флаги.

Процессор обеспечен качественным, удобным и полнофункциональным программным обеспечением, полной документацией, а также технической поддержкой официальных представителей Analog Devices в России.


Выбор типа процессора определяет выбор периферийных устройств и аппаратных средств отладки (которые используются при моделировании систем ЦОС). В соответствии со структурной схемой системы моделирования (см. рис. 1.3.1) в качестве стартового набора используется плата ADSP-2189M EZ-KIT Lite, имеющая следующие спецификации [6]:

  • процессор ADSP-2189MKST-300 с тактовой частотой 75 МГц (37,5 от внешнего генератора);

  • двойной аналоговый внешний интерфейс AD73322AR;

  • аналоговые вводы: два соединенных линейных стерео ввода 2V RMS AC, два соединенных стерео ввода микрофона 20mV RMS AC;

  • аналоговые выводы: два соединенных линейных стерео вывода 1V RMS AC;

  • источник питания: 7,5V DC ( 5 %), максимум 4,0 Ампера;

  • окружающая среда: температура 0-70С, относительная влажность 10-90% (без конденсации).

Плата EZ-KIT Lite – пример базового использования процессора ADSP-2189M. Она также может использоваться как платформа для разработки новых систем.

В качестве внутрисхемного эмулятора используется плата 218x EZ-ICE-2.5v. Особенности EZ-ICE семейства ADSP-218x [7]:

  • поддержка высокой скорости передачи через последовательный порт с интерфейсом RS-232;

  • работа в среде Windows 9x, NT 4.0 и Windows 2000;

  • эмуляция для цифровых сигнальных процессоров семейства ADSP-218x;

  • поддержка целевых процессоров с напряжением питания 2,5, 3,3 и 5,0В.

В качестве ведущего компьютера используется компьютер, удовлетворяющий следующим требованиям:

  • Pentium частотой 166 МГц или выше;

  • 32 Мб оперативной памяти или выше;

  • операционная система Windows 9x, NT 4.0 и Windows 2000;

  • один RS-232 совместимый последовательный порт.



3.1 ВЫБОР ТЕХНИЧЕСКИХ СРЕДСТВ
Многочисленные семейства DSP внедряются в тех областях техники, где первоначально доминировали схемы обработки аналоговых сигналов. Спектр применения DSP очень широк и охватывает диапазон от простых традиционных модемов до радио- и гидролокационных систем, в которых требуется сверхбыстрое быстродействие. Сегодня процессоры обработки сигналов применяются в беспроводных телефонных аппаратах, стереооборудовании, компьютерах, робототехнических комплексах, автомобилях, испытательном оборудовании, спутниках, ракетах и других системах.

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

Широкие функциональные возможности 32-разрядных DSP с плавающей точкой открывают новые перспективы в технике распознавания речи, где необходима исключительная точность вычислений с тем, чтобы учесть диалекты и другие переменные параметры речи. Для такого применения требуются сложные алгоритмы обработки и высокая вычислительная производительность, присущая процессорам с плавающей точкой.

Техника передачи неподвижных изображений с использованием современных факсимильных аппаратов и в особенности передача динамических изображений видео телефона по низкоскоростным линиям связи требует применения сложных алгоритмов сжатия изображения, что достигается только благодаря использованию высокопроизводительных DSP и специальных микросхем, отвечающих стандарту JPEG (для неподвижных изображений) и стандарту MPEG (для видеофильмов).

Быстродействие — это, пожалуй, одна из главных характеристик DSP-процессоров. Она определяет границу скоростей поступления данных и сложности алгоритма обработки. Последние достижения в повышении производительности классических DSP, безусловно, впечатляют. Но предел изобретательства в рамках последовательной машины становится все ощутимее. Например, чтобы задать параллельное выполнение нескольких действий одновременно, производители вынуждены использовать шины передачи данных с очень большим количеством бит как внутри чипа DSP, так и вне его. Это резко усложняет, удорожает конструкцию и вообще имеет конструктивный предел. Так, например, фирма Texas Instruments поставила своеобразный рекорд: ее макроинструкция в новом кристалле DSP уже имеет ширину 256 бит, причем в них может быть упаковано до 8 параллельно выполняемых действий. Может, но при особом искусстве программиста, вооруженного специальным инструментом оптимизации кода. Должно очень сильно повезти, чтобы алгоритм обработки «развалился» без холостых выравнивающих пауз, на восемь синхронно протекающих процессов. Реально же, по-видимому, можно ожидать не более 2–3-кратного запараллеливания действий. По оценкам специалистов фирмы ALTERA классические процессоры DSP допускают предел скорости поступления сигнала для типичных алгоритмов КИО-фильтра примерно в 25 Msps (миллионов замеров в секунду). Скорость поступления данных не следует путать с производительностью по инструкциям (измеряется в Mips — миллионах инструкций в секунду), которая фигурирует в характеристиках процессора DSP. Знание производительности по инструкциям явно недостаточно, чтобы ответить на вопрос: удастся ли пользователю реализовать его алгоритм обработки данных, поступающих с такой-то скоростью? Все зависит от критического цикла, который, как правило, образуется из множества инструкций. При малейшем отступлении от хрестоматийности алгоритмов DSP, например преобразование Фурье, эффективность упаковки нескольких действий в одной макроинструкции резко падает, критический цикл удлиняется, и производительность системы катастрофически падает. Разработчик в этом случае вынужден устанавливать и второй, и третий кристалл DSP. Кстати, такое развитие событий предусмотрено самими изготовителями, которые снабжают чипы скоростными узлами для каскадирования. В общем, быстродействия DSP хватает для выполнения очень широкого круга задач с быстро изменяющимися сигналами на входе. Но если этой производительности не хватает, то следует создавать систему цифровой обработки сигналов на базе программируемых логических интегральных схем (ПЛИС), которые принимают от классических DSP эстафету примерно у черты 25 Msps и идут дальше в область более высоких скоростей поступления данных [6].

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

Что же представляет собой цифровой сигнальный процессор? Если говорить кратко, то это специализированный процессор с RISC-архитектурой, предназначенный для решения задач цифровой обработки сигналов. Трудно найти область техники где бы не могли успешно применятся сигнальные процессоры. Отличительной особенностью DSP является очень большой объем вычислений, осуществляемый в реальном или близком к реальному времени.

Если проанализировать задачу цифровой фильтрации в реальном времени с графическим отображением результатов, то требования к производительности здесь таковы, что процессор Intel 486DX не сможет в реальном времени проводить столь сложную параллельную обработку информации: формирование входного массива отсчетов с аналого-цифрового преобразователя, фильтрацию, отображение и сохранение полученных результатов. Система команд процессоров общего назначения, в том числе процессоров Intel, не эффективна для ЦОС. Производительность обычных процессоров недостаточна при выполнении подобных операций, так, например, процессор Intel 486DX при выполнении целочисленного умножения требует от 13 до 42 тактов, а при выполнении плавающего умножения до 25 тактов (486DX2, DX4). В то же время включив в персональный компьютер DSP (в качестве параллельно работающего сопроцессора), можно значительно повысить производительность системы и освободить основной процессор от несвойственных ему функций.

Чем же отличается цифровой сигнальный процессор от обычного микропроцессора? Прежде всего - архитектурой и системой команд. В основу построения DSP положены следующие принципы:

  • использование гарвардской архитектуры;

  • сокращение длительности командного цикла;

  • применение конвейеризации;

  • применение аппаратного умножителя;

  • включение в систему команд специальных команд ЦОС [6].

Гарвардская архитектура подразумевает хранение программ и данных в двух раздельных запоминающих устройствах. Соответственно на кристалле имеются раздельные шины адреса и шины данных (в некоторых процессорах – несколько шин данных и адреса). Это позволяет совмещать во времени выборку и исполнение команд. Процессоры, построенные по этой архитектуре, имеют более короткий командный цикл. Работа в реальном времени требует высокой производительности процессора. С развитием полупроводниковой техники и уменьшением проектных норм снижается длительность командного цикла процессоров.

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

Аппаратный умножитель применяется для сокращения времени выполнения одной из основных операций ЦОС – операции умножения. В процессорах общего назначения эта операция реализуется за несколько тактов сдвига и сложения и занимает много времени, а в DSP благодаря специализированному умножителю – за один командный цикл.

Система команд сигнальных процессоров оптимизирована для выполнения базовых задач цифровой обработки сигналов. Такие команды как умножение с накоплением, битовые операции (для графики), инверсия бит (для БПФ), кольцевые буфера (для фильтрации) и другие призваны сделать программы для DSP наиболее быстрыми, качественными и занимающими минимум времени на разработку.

Рынок DSP начал формироваться в начале 80-х годов, причем одной из первых на него вышла японская корпорация NEC со своей однокристальной микроЭВМ MPD7720. Появление этой микросхемы положило начало производству однокристальных DSP, однако она не получила широкого распространения, поскольку в 1982 году фирма Texas Instruments начала выпуск процессора TMS32010, ставшего благодаря ряду удачных технических решений промышленным стандартом де-факто. По развитости архитектуры и системе команд этот процессор значительно превосходил изделие корпорации NEC. TMS32010 оперировал 16-разрядными словами и был способен выполнять 5 миллионов операций умножения или сложения в секунду. Основные характеристики процессоров первого поколения:

  • командный цикл имеет длительность 160-280 нс;

  • ОЗУ объемом 144 или 256 слов;

  • ПЗУ программ объемом 1,5К или 4К слов;

  • ППЗУ с ультрафиолетовым стиранием до 4К слов;

  • внешняя память до 4К слов без потери производительности;

  • разрядность АЛУ и аккумулятора составляет 32 бит;

  • умножитель 16х16 бит с 32-разрядным результатом;

  • восемь 16-разрядных портов для устройств ввода-вывода;

  • 16-разрядная внешняя шина имеет пропускную способность 50 Мбит/с.

Кроме фирм NEC и Texas Instruments, на рынке процессоров ЦОС сейчас так или иначе представлены практически все крупные производители микросхем. Выпускаемые ими процессоры ориентированны на различные сферы применения и отличаются друг от друга целым рядом параметров. Тем не менее, лидирующее положение на рынке процессоров ЦОС занимают американские фирмы Texas Instruments (TI), Motorola, AT&T Microelectronics и Analog Devices.

В середине 80-х годов появились сигнальные процессоры второго поколения. Повышение степени интеграции микросхем позволило значительно расширить функции DSP. Особенно следует отметить увеличение скорости выполнения команд и распараллеливание обработки данных. Новое семейство 16-разрядных процессоров от TI TMS320C5X также имели архитектуру, похожую на своих предшественников, но расширенную дополнительными возможностями. Существует три режима энергопотребления: активный, периферийный и спящий. Процессор может использовать 244К слов памяти: 64К-память программ, 64К-память данных, 64К-порты ввода/вывода, 32К-глобальная память. Появилась аппаратная поддержка кольцевых буферов. В режиме косвенной адресации можно задать в памяти данных два независимых кольцевых буфера. При работе с ними начало и конец буферов отслеживаются автоматически с помощью специальных регистров. Существует аппаратная поддержка циклов DO которые исключают непроизводительные затраты на условные переходы. Появилось новое устройство, называемое параллельным логическим, позволяющее производить битовые и логические операции над операндами из памяти и различных регистров.

DSP5600 и DSP56001 процессоры второго поколения фирмы Motorola могут выполнять 10,25 миллионов операций в секунду. Разрядность шин передачи данных равна 24, что обеспечивает обработку сигналов с динамическим диапазоном 144 дБ, а 56-разрядные аккумуляторы (их два) позволяют производить точные промежуточные вычисления над сигналами, изменяющимися в диапазоне 336 дБ. В своих DSP фирма Motorola использует модифицированную гарвардскую архитектуру, включающую два ОЗУ и две шины данных (X и Y). Это очень удобно, например, при комплексных вычислениях (представление действительной и мнимой частей) и при работе DSP в качестве графического сопроцессора (координаты x и y). Кроме того, такая организация позволяет удвоить разрядность данных и выполнять действия над 48-разрядными операндами (конкатенация по одинаковым адресам).

Фирма AT&T Microelectronics, выпускает процессор DSP16A. При 55-наносекундном цикле процессор DSP16A обеспечивает производительность 3,18 миллионов операций типа сложение/умножение в секунду. При этом впервые в DSP была применена кэш-память (емкостью 15 16-разрядных слов). DSP16A имеет внутреннее ПЗУ объемом 8К слов. Объем встроенного ОЗУ (4К слов) позволяет работать с большими блоками данных, не обращаясь к внешнему ОЗУ. Предусмотрена возможность подключения внешней памяти объемом 128К слов. Встроенный последовательный порт обладает пропускной способностью 15 Мбит/с. Параллельный порт работает со скоростью до 30 Мбит/с.

В конце 80-х начале 90-х годов ведущие фирмы производители DSP, освоив субмикронную технологию, почти одновременно вышли на рынок с новыми сигнальными процессорами – процессорами третьего поколения, реализующими арифметику с плавающей запятой. TMS320C30 фирмы TI, DSP96002 фирмы Motorola и DSP32C фирмы AT&T Microelectronics – характерные представители сигнальных процессоров третьего поколения. Высокое быстродействие обеспечивается благодаря параллельной обработке, большой внутренней памяти (более 12К слов), арифметике с плавающей запятой, выполняемой за один машинный цикл, и возможности одновременно с обработкой информации проводить операции ввода-вывода.


Фирма Analog Devices, которая позже всех вошла на рынок DSP, сейчас успешно конкурирует с такими фирмами как Motorola и Texas Instruments за счет качественных разработок и низких цен. Постоянное совершенствование технологии изготовления интегральных схем позволило выработать подход, с помощью которого фирма стала одним из лидеров и в области цифровой обработки сигналов. Данный подход реализован с помощью двух семейств (соответственно 16- и 32-разрядных) универсальных программируемых цифровых процессоров для обработки сигналов. Основной отличительной особенностью примененного подхода явилась полная программная и частичная аппаратная (pin to pin) совместимость разных модификаций процессоров в рамках семейства. Каждое из семейств прошло свой путь эволюции, и в настоящее время на рынке широко используются процессоры, которые можно отнести к третьему поколению.

16-разрядное семейство сигнальных процессоров второго поколения ADSP-21xx (ADSP-2101/2104/2105/2115) фирмы Analog Devices по характеристикам совпадает, а по некоторым и превосходят процессоры DSP56100 и TMS320C50 при этом ниже их в цене.

ADSP-218х – 16-разрядные программно и аппаратно совместимые процессоры обработки сигналов третьего поколения. Сохраняя программную совместимость с процессорами ADSP-2101/2104/2105/2115, процессоры семейства ADSP-218x имеют полную программную и частичную аппаратную совместимость между собой. Все они используют Гарвардскую архитектуру с разделением как внутренней памяти, так и шин доступа к внутренней памяти программ и данных. Отметим основные отличительные черты этих процессоров. Все они состоят из:

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

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

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

  • внутреннего ОЗУ, состоящего из 24-разрядного ОЗУ программ и 16-разрядного ОЗУ данных, объем каждого из которых определяется моделью процессора;

  • двух гибких программируемых синхронных последовательных портов. Многоканальные последовательные порты позволяют осуществлять прямое подключение к потокам данных. Их встроенные аппаратные возможности работы в многоканальном режиме с разделением времени существенно уменьшают сложность разработки программного обеспечения и поддерживают работу с 24- и 32-канальными фреймами;

  • интерфейса прямого доступа к внутренней памяти через дополнительные внешние порты ввода–вывода. Для обеспечения обмена данными между внешними устройствами и собственно процессорами предусмотрено несколько типов поддержки прямого доступа к внутренней памяти. Процессор может адресоваться к внешней памяти объемом до 4 Мбайт через байтовый порт прямого доступа к памяти (BDMA), при этом процессор является ведущим. В многопроцессорных системах хост-машина может получить доступ к внутренней памяти процессора через 16-разрядный порт ПДП (IDMA);

  • программируемых флагов [7].

Внутри семейства модели различаются по напряжению питания, объемам внутренней памяти и максимальной производительности. Сводная таблица характеристик процессоров семейства ADSP-218x приведена ниже (см. таблицу 3.1) [7].

Здесь необходимо отметить одну черту, отличающую процессоры ADSP-2181/2183 от остальных. Исторически эти процессоры были базовыми моделями, на которых «выросло» все семейство. Они отличаются от остальных большим количеством выводов и менее компактным корпусом. Это обусловлено тем фактом, что у данных процессоров оба интерфейса прямого доступа к памяти выведены непосредственно «наружу» и могут быть «задействованы» одновременно, в то время как у остальных выводы интерфейсов прямого доступа мультиплексированы, и выбор того или иного типа интерфейса (IDMA или BDMA) происходит при включении питания или при общем аппаратном сбросе процессора. Так что модели ADSP-2181/2183 аппаратно совместимы между собой, но не совместимы с остальными процессорами семейства. Программная совместимость при этом обеспечивается полностью.

Таблица 3.1

Общие характеристики серийно выпускаемых (в 2000 году) процессоров обработки сигналов семейства ADSP-218x

Наименова-ние

ОЗУ программ (Кслов)

ОЗУ данных (Кслов)

Производи-тельность, МГц

Энергопот-ребление мА/MIPS

Пита-ние, В

Тип корпуса

Аппа-ратная
совмес-тимость

ADSP-2181


16

16

40, 33, 28

1,8

5

128 PQFP




ADSP-2181

16

16

40, 33, 28

1,8

5

128 TQFP

*

ADSP-2183

16

16

52, 40, 33, 28

0,8

3,3

128 TQFP

*

ADSP-2183

16

16

52

0,8

3,3

144 miniBGA

***

ADSP-2184

4

4

40

1,4

5

100 LQFP

**

ADSP-2184L

4

4

40

1,2

3,3

100 LQFP

**

ADSP-2185

16

16

33, 28

1,8

5

100 LQFP

**

ADSP-2185L

16

16

52, 40, 33, 28

0,8

3,3

100 LQFP

**

ADSP-2185L

16

16

52

0,8

3,3

144 miniBGA

***

ADSP-2185M

16

16

75

0,4

2,5

100 LQFP

**

ADSP-2185M

16

16

75

0,4

2,5

144 miniBGA

***

ADSP-2186

8

8

40, 33, 28

1,5

5

100 LQFP

**

ADSP-2186

8

8

40

1,5

5

144 miniBGA

***

ADSP-2186L

8

8

40, 33, 28

1,1

3,3

100 LQFP

**

ADSP-2187L

32

32

52, 40

0,8

3,3

100 LQFP

**

ADSP-2188M

48

56

75

0,4

2,5

100 LQFP

**

ADSP-2188M

48

56

75

0,4

2,5

144 miniBGA

***

ADSP-2189M

32

48

75, 66

0,4

2,5

100 LQFP

**

ADSP-2189M

32

48

75

0,4

2,5

144 miniBGA

***