Новостной и аналитический портал "время электроники". Процессоры и цифровые сигнальные процессоры (DSP) Встроенный dsp

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

Простые советские инженеры, не допущенные на крупнейшие мировые профессиональные семинары по электронике и не посвященные в тайны, разведанные КГБ, могли судить о развитии электроники по программе "Время" и по голливудским фильмам десятилетней давности. После восторгов об электронных штучках Джеймсов Бондов делалось заключение, что: все это спецэффекты кинематографа; все создано на специализированных микропроцессорах (никогда не уточнялось, на каких); и что "у нас, где надо и у кого надо есть вещи и покруче". После таких глубокомысленных выводов советские инженеры с новым творческим порывом в своих НИИ продолжали создавать шедевры на 155-х ТТЛ-микросхемах, или, самые приближенные к военно-промышленному комплексу, на 133-й серии.

К своему стыду, должен признаться, что я также, примерно до середины девяностых годов, подразумевал, что специализированные процессоры - нечто совершенно сложное и невообразимое. Но, к счастью, времена изменились, и первыми специализированными процессорами, с которыми мне довелось познакомиться, стали процессоры цифровой обработки сигналов или сигнальные процессоры (ЦСП, DSP - Digital Signal Processor).

Сигнальные процессоры появились как следствие развития цифровых технологий, которые все шире внедрялись в традиционные "аналоговые" приложения: радио- и проводная связь, видео- и аудиотехника, измерительные и бытовые приборы. Создания специализированных процессоров для обработки сигналов требовали и чисто цифровые устройства: модемы, дисковые накопители, системы обработки данных и т.д. Главная отличительная черта ЦСП от обычных микропроцессоров - максимальная приспособленность к решению задач цифровой обработки сигналов. Это именно "специализированные" контроллеры, специализация которых заключается в такой архитектуре и системе команд, которые позволяли бы оптимально выполнять операции преобразования и фильтрации сигналов в режиме реального времени. У обычных микроконтроллеров команды, выполняющие такие операции, или вообще не предусмотрены, или их работа весьма медленна, что не дает возможности их использования в критичных по скорости процессах. Поэтому применение традиционных микропроцессоров вело, с одной стороны, к неоправданному усложнению и удорожанию схемного решения устройства, с другой - к неэффективному, однобокому использованию возможностей контроллера. ЦСП были призваны решить это противоречие и прекрасно со своей задачей справились.

Сигнальные процессоры появились в начале 80-х годов. Первым широко известным сигнальным процессором стал выпущенный в 1982 году фирмой Texas Instruments ЦСП TMS32010, с производительностью в несколько MIPS (миллионов инструкций в секунду), созданный по 1,2 мкм технологии. Вслед за Texas Instruments ЦСП стали выпускать и другие фирмы. В настоящее время Texas Instruments является лидером по производству ЦСП, ей принадлежит около половины рынка этих контроллеров. Вторым по величине производителем ЦСП является компания Lucent Technologies, которая производит около трети этих устройств. Замыкают четверку лидеров Analog Devices и Motorola, имеющие примерно равную долю рынка и выпускающие вместе примерно четверть всех ЦСП. На долю остальных производителей, хотя среди них находятся такие известные фирмы, как Samsung, Zilog, Atmel и другие, приходятся оставшиеся 5-6 процентов рынка сигнальных процессоров.

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

Texas Instruments ставит задачу производства максимально широкого ассортимента, способного перекрыть все возможные применения процессоров при все большей производительности. В настоящее время производительность сигнальных процессоров достигает до 8800 MIPS, и производятся они по технологии от 0,65 мкм до 0,1 мкм. Тактовая частота достигает 1,1 ГГц.

Lucent Technologies ориентируется на крупных производителей конечного оборудования и предлагает свою продукцию через дистрибьюторскую сеть, не прибегая к широкой рекламной компании. Фирма специализируется на ЦСП для телекоммуникационного оборудования, в частности, в таком перспективном в настоящее время направлении, как создание станций сотовой связи.

Analog Devices, напротив, ведет активную маркетинговую политику и рекламную компанию, о чем свидетельствует хотя бы аббревиатура в названии ЦСП этой фирмы SHARK и Tiger SHARK (акула и тигровая акула). В технической области процессоры этой фирмы оптимизированы по энергопотреблению и для построения многопроцессорных систем.

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

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

Характеристики ЦСП-процессоров

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

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

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

Построение памяти с множественным доступом достигается, в основном, за счет применения Гарвардской архитектуры. Под Гарвардской архитектурой понимается такая архитектура, которая имеет две физически разделенные шины данных, что позволяет осуществить два доступа к памяти одновременно. Но для выполнения DSP-операций только этого недостаточно, особенно при использовании в команде двух операндов. Поэтому Гарвардская архитектура добавляется еще кэш-памятью, для хранения тех инструкций, которые будут использоваться вновь. При использовании кэш-памяти шина адреса и шина данных остаются свободными, что делает возможным выборку двух операндов. Такое расширение - Гарвардская архитектура плюс кэш - называют расширенной Гарвардской архитектурой или SHARC (Super Harvard ARChitecture).

Конкретные характеристики ЦСП рассмотрим на семействе DSP568xx компании Motorola, в которых совмещены особенности цифровых сигнальных процессоров и универсальных микроконтроллеров.

Ядро DSP56800 является программируемым 16-разрядным КМОП-процессором, предназначенным для выполнения цифровой обработки сигналов в реальном масштабе времени и решения вычислительных задач, и состоит из четырех функциональных устройств: управления, генерации адресов, АЛУ, обработки битов. Для увеличения производительности операции в устройствах выполняются параллельно. Каждое из устройств может функционировать независимо и одновременно с тремя другими, т.к. имеет свой набор регистров и логику управления. Ядро реализует одновременное выполнение нескольких действий: устройство управления выбирает первую команду, устройство генерации адресов формирует их адреса второй команды, а АЛУ выполняет умножение третьей команды. Широко используются совмещенные передачи и выполнение операций.

Встроенная память может содержать (для семейства):

Флэш-память программ до 60К

Флэш-память данных до 8К

ОЗУ-программ до 2К

ОЗУ-данных до 4К

Флэш-память программы загрузки 2К

На микрочипах семейства реализовано большое количество периферийных устройств: ШИМ-генераторы, 12-разрядные АЦП с одновременной выборкой, квадратурные декодеры, четырехканальные таймеры, контроллеры CAN-интерфейса, двухпроводные последовательные коммуникационные интерфейсы, последовательные интерфейсы, программируемый генератор с ФАПЧ для формирования тактовой частоты ядра DSP и др.

Общие характеристики

Производительность 40 MIPS при тактовой частоте 80 МГц и напряжении питания 2.7:3.6 В;

Однотактный параллельный 16х16 умножитель-сумматор;

Два 36-разрядных аккумулятора, включая биты расширения;

Однотактное 16-разрядное устройство циклического сдвига;

Аппаратная реализация команд DO и REP;

Три внутренние 16-разрядные шины данных и три 16-разрядные шины адреса;

Одна 16-разрядная шина внешнего интерфейса;

Стек подпрограмм и прерываний, не имеющий ограничения по глубине.

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

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

Насколько неожиданными могут быть применения сигнальных процессоров, мне пришлось не так давно убедиться именно на примере игрушки. Однажды ко мне обратился знакомый и попросил починить говорящую куклу, которую подарили его дочери немецкие знакомые. Кукла, и правда, была замечательной, по словам знакомого, она понимала до полусотни фраз и "сознательно" поддерживала разговор. В Германии стоила сто пятьдесят марок, что навело меня на размышления, что о поломке куклы более жалеют родители, чем их чадо. Дочурка и так любила куклу, тем более что до того как стать немой, та разговаривала на немецком языке. Без всякой надежды на успех взялся я за ремонт этой куклы. Напильником спилил эпоксидную смолу, которой была залита схема и, под толстым-толстым слоем эпоксидки, обнаружил полдесятка корпусов микросхем, центральным из которых был ЦСП к DSP56F... последние цифры, к сожалению, безвозвратно стерлись. Заставить куклу заговорить так и не удалось, и насколько добавлял ей интеллекта сигнальный процессор, я, увы, так и не определил. Как потом оказалось, старший сын моих знакомых, чтобы заставить куклу кричать погромче, вначале подсоединял к ней напряжение вместо 3 в, 4,5 вольта, что было еще не "смертельно", и игрушка хоть и хрипела, но орала, ну а после 220в... . Отсюда первый вывод - высокие технологии хороши, но не всегда и не везде. Вывод второй - вскоре, возможно, ЦСП мы сможем увидеть в кухонной посуде, обуви и одежде, по крайней мере, технических препятствий к тому нет.


Нечаянно наткнулся на видео с "Чип и Дип" #1 Цифровая обработка звука ADAU1701 | Открытый проект | Начало
И тут "накрыло" всякими воспоминаниями по поводу этой темы. Решил проверить, что творится в наше время на этом фронте, нашёл что много хорошего и интересного.

Качество обработки значительно выросло, цена значительно упала и звуковые DSP (Digital Signal Processing) уже стучатся к нам в дом! :)
В данном видео рассматривается чип SigmaDSP ADAU1701 и я решил посмотреть что можно с ним сотворить и был сильно впечатлён возможностями.
на русском можно о них почитать (). Для меня данный DSP позволяет построить нормальную акустическую систему с внешним кроссовером. Возможностей у системы невообразимо больше, чем мои потуги. Она позволяет запрограммировать себя полному новичку в программировании, но понимающему звуковые компоненты и как они работают: фильтры; кроссоверы; эквалайзеры и т.д. и т.п. Эти знания нужны, чтобы всё это настраивать
Вот так выглядит пример проекта в программе обслуживающей и программирующей DSP:

Как видите почти никаких "цифровых значений", а всё обзывается "по-звуковому".
Конечно его АЦП и ЦАП"ы далеко не Hi-End, а средний Hi-Fi, но для дома этого качества достаточно, а возможности очень велики. Очень хорошо, что DSP имеет двойную точность вычислений (56-бит) и она установлена по умолчанию.
Нуу... маленькие/неполные дифирамбы пропели, теперь реальность.

Плата есть в разных исполнениях:
Вариант 1
. Полная тестовая плата от производителя стоит ~12-15 тыщ рублей и позволяет вытворять всё что угодно. ИМХО самое большое преимущество перед остальными - это полный SPDIF, т.е. и цифровой вход и цифровой выход результатов. Также позволяет делать отладку алгоритмов "на лету". Заказывать "за бугром" с сайта производителя.
Вариант 2 . Это слегка обрубленный макет от МастерКит - набор BM2114dsp . У него все входы/выходы аналоговые, но отладка всё также "на лету".
Стоимость 4900 руб .
Вариант 3 . Это максимально упрощённый вариант использования DSP от "Чип и Дип" их лаборотории "Электронный войска".
Комплект называется Digital Signal Processors RDC2-0027v1, Модуль цифровой обработки звука на SigmaDSP ADAU1701, SigmaStudio
Это вариант с отсутствием программирования "на лету". Создаёшь бинарник, конвертируешь и "заливаешь" с помощью "свистка" в ERROM платы. Отнимает это немного времени, но отнимает, и требует понимания процесса. :)
Стоимость платы 950 рубликов .

Да, уточню, плата после программирования работает как независисмое устройство!!! Т.е. ПК вечно не нужен! И к плате можно подключать "крутилки" (энкодеры); кнопочки и т.д., т.е. внешних методов регулировки достаточно, не обязательно на каждый чих лезть в код DSP.
Выбор за вами...

Теперь касаемо моих хотелок из прошлого. Одна из больших проблем пассивных фильтров - это фазовые искажения и чем больше крутизна спада фильтров, тем больше фазовые искажения. Из-за них возникает множество призвуков от которых чрезвычайно сложно избавится и трудно согласовывать разные частотные диапазоны.
Данные цифровые фильтры этим не страдают и позволяют вытворять многое для согласования полос среза. Но возникает необходимость использовать вместо одного усилителя - три, по одному на каждый частотный диапазон (раз колонка 3-х полосная, то полос 3 и усилителей получается 3). Конечно, их можно оптимизировать по мощности (допустим в моём случае выйдет НЧ - 30Вт; СЧ - 20Вт; ВЧ - 10Вт), но тут на возможности и любителя, думаю унификация победит. :)

Под конец множество видео

Пример, как самому сварганить работу по "цифре"

Парень собирает монстра на двух DSP

Цифровая обработка сигналов DSP (digital signal processor)

Особенности DSP

DSP представляют собой специализированные процессоры для приложений, требующих интенсивных вычислений.
Если ближе рассмотреть, к примеру, процесс операции умножения двух чисел с сохранением результата в традиционных микропроцессо­рах, то можно увидеть как расходуется машинное время: сначала про­исходит выборка команды (адрес команды выставляется на шину адре­са), затем первого операнда (адрес операнда выставляется на шину адреса), затем операнд переносится в аккумулятор, далее происходит выборка второго операнда и т.д. Ускорение этого процесса в процес­соре общего назначения невозможна из-за наличия единственной шины адреса и единственной шины данных, а также единственного банка данных. Ввиду этого все операции по извлечению операндов из памя­ти, выборки команды и сохранения операнда производится последова­тельно с использованием одной и той же шины данных и шины адреса. Кроме того, если рассмотреть операцию циклического суммирования арифметического ряда, то можно видеть что здесь непроизводительные затраты времени связаны с запоминанием адреса первой команды цик­ла, с проверкой условия цикла (счетчика) и возвратом к первой ко­манде. Также большие непроизводительные затраты существуют при операциях перехода к подпрограмме и возврата (запись и восстанов­ление значений регистров из стека) и при многих других операциях. Если при этом учесть огромное количество математических операций при выполнении цифровой обработки сигналов, то станет ясно, что неизбежны весьма чувствительные потери в точности вычисления при округлениях, которые не могут не сказаться на общем результате. Это происходит по причине одинаковой разрядности всех регистров процессоров общего назначения.
При цифровой обработке сигналов все эти затраты недопустимы. С целью преодоления этого недостатка про­цессоров общего назначения и были разработаны процессоры цифровых сигналов (DSP - Digital Signal Processor).

Трехшинная Гарвардская архитектура

Ее особенность состоит прежде всего в том, что в отличии от привычных нам двух шин: шины адреса и шины данных, а также одного банка памяти, DSP имеет как минимум 6-7 различных шин и 2-3 банка памяти. Эта особенность име­ет своей целью максимально ускорить выполнение операции умножения с сохранением результата, которая, несомненно, является наиболее употребляемой и ресурсоемкой при цифровой обработке сигналов. Ар­хитектура DSP позволяет за один машинный цикл произвести:

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

Таким образом, трехшинная Гарвардская архитектура позволяет выполнить практически любую операцию за один машинный цикл.
B качестве примера эффективности использования DSP при реали­зации алгоритмов цифровой обработки сигналов можно привести следу­ющий факт: время выполнения комплексного 1024-точечного преобразо­вания Фурье составляет 20 мс для 486DX2 66 МГц (32-разрядный) и 3.23 mc для 24-разрядного 33 МГц DSP56001 фирмы Motorola или 3.1 мс для 32- разрядного 33 МГц DSP TMS320C30 с плавающей арифметикой фирмы Texas Instruments.
Однако, как уже упоминалось, процессоры цифровой обработки сигнала имеют отличием не только высокую производительность, изме­ряемую в быстроте выполнения операций умножения/аккумуляции (MIPS - миллионы команд в секунду), но и такие характеристики, как после­довательность выполнения программ, арифметических операций и адре­сации памяти, позволяющие сократить до минимума непроизводительные затраты времени. В целом DSP отличается от других типов микропро­цессоров и микроконтроллеров по следующим пяти основным признакам:

  • Быстрая арифметика.

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

  • Расширенный динамический объем для операции умножения/ак­кумуляции.

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

  • Выборка двух операндов за один цикл.

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

  • Наличие аппаратно реализованных циклических буферов(встро­енных и внешних).

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

  • Организация циклов и ветвлений без потери в производитель­ности.

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

DSP фирмы Motorola

Фирмой Motorola в настоящее время выпускается три семейства Цифровых Процессоров Сигналов. Это серии DSP56100, DSP56000 и DSP96000. Все микросхемы приведенных серий основываются на архитектуре DSP56000 и различаются разрядностью (16, 24, 32 бит соответственно) и некоторыми встроен­ными устройствами. Таким образом достигается совместимость микрос­хем всех трех семейств снизу вверх. Все DSP фирмы Motorola постро­ены по идентичной трехшинной Гарвардской архитектуре, описанной ранее, с большим количеством составных частей, портов, контролле­ров, банков памяти и шин, работающих параллельно с целью достиже­ния максимального быстродействия.
Передача данных происходит по двунаправленным шинам данных (одной для DSP56100 (XDB) и двум для DSP56000 и DSP96000 (XDB и YDB)), шине данных программ (PDB) и общей шине данных (GDB). Кроме того, у DSP96000 присутствует отдельная шина прямого доступа к памяти (DDB). Передача данных между шинами про­исходит через внутреннее устройство управления шинами.
Адресация осуществляется по двум однонаправленным шинам: шине адреса данных и шине адреса программ.
Блок манипуляции битами позволяет гибко управлять состоянием любого бита в регистрах и ячейках памяти. Наличие такой возможнос­ти является преимуществом по отношению к DSP других пользователей.
Арифметико-логическое устройство (АЛУ) выполняет все арифме­тические и логические операции и имеет в своем составе входные ре­гистры, аккумуляторы, регистры расширения аккумуляторов (8-битные, допускающие 256 переполнений без потери точности), параллельный одноцикловой блок умножения с сохранением (МАС), а так же сдвиго­вые регистры.Гибкая система команд позволяет выполнить АЛУ за один цикл команды умножения, умножения с сохранением результата, сумми­рования, вычитания, сдвига и логические операции. Характерной осо­бенностью DSP фирмы Motorola является возможность сдваивания вход­ных регистров АЛУ и увеличения таким образом разрядности обрабаты­ваемых чисел. Еще одной важной особенностью является наличие опе­рации деления, зачастую отсутствующей у других производителей и заменяемой операцией умножения на обратное число, что приводит к потере точности.
Блок формирования адреса выполняет все вычисления, связанные с определением адресов в памяти. Этот блок работает независимо от остальных блоков процессора. За один цикл могут производиться две операции считывания из памяти или одна операция записи. DSP фирмы Motorola обладают чрезвычайно мощной мощной системой адресации, позволяющей производить практически любые манипуляции с данными за одну команду. Это важная особенность выгодно отличает DSP, выпус­каемые фирмой, от аналогов. Адресация по модулю удобна для органи­зации кольцевых буферов без проверки выхода за границу, что позво­ляет избегать непроизводительных затрат времени. Возможность адре­сации с инверсией значащих битов облегчает реализацию БПФ.
Блок управления выполнением программ содержит 6 регистров, среди которых Указатель адреса цикла и Счетчика циклов , позволяю­щие организовать аппаратную поддержку организации циклов в DSP фирмы Motorola, при которой не тратятся дополнительные машинные циклы на проверку условия выхода из цикла и изменения счетчика цикла. В команде организации цикла DO явно указывается количество повторений.
Системный стек представляет из себя отдельную часть из 15 слов ОЗУ, и может хранить информацию о 15 прерываниях, 7 циклах или 15 выходах в подпрограмму. Данные из стека читаются за один цикл уменьшая таким образом непроизводительные затраты времени процессора.
Главной отличительной особенностью DSP фирмы Motorola являет­ся наличие у всех микросхем внутрикристального эмулятора , позволяющие производить отладку программ без ис­пользования дополнительных аппаратных средств. Таким образом нет необходимости в покупке дорогостоящих отладочных средств. Эмулятор позволяет производить запись/считывание регистров и ячеек памяти, установку точек останова, пошаговое выполнение программ и дру­гие действия посредством подачи команд по 4- проводной шине.
Для снижения потребления энергии в моменты, когда не произво­дится вычисления, предусмотрены два режима с пониженным энергопот­реблением: STOP и WAIT.
Для работы совместно с другими процессорами и каналами прямо­го доступа к памяти предусмотрен встроенный HOST-интерфейс.
Обладая всеми вышеперечисленными свойствами, необходимыми для цифровой обработки сигналов, DSP фирмы Motorola имеют чрезвычайно мощную и гибкую систему команд, позволяющую пользователю удобно и эффективно работать с процессорами.

Семейство DSP96000

Семейство DSP DSP96000 имеет 32-битную архитектуру и поддер­живает операции с плавающей точкой. Микросхемы семейства предназ­начены для компьютерных систем Multimedia. DSP этой серии могут работать и как самостоятельные микросхемы, и через два независи­мых 32-битных порта могут последовательно обмениваться данными с другими процессорами.
Микросхемы семейства имеют в своем составе 6 банков памяти, 8 шин и 4 автономных вычислительных блока: АЛУ, блок управления программой, двойной блок генерации адреса и встроенный двухка­нальный контроллер прямого доступа к памяти.
Характеристики микросхем семейства DSP96000:

  • 49.5 MIPS при 40 МГц
  • 60 MFLOPS при 40 МГц, цикл 50 нс
  • 32-битная организация
  • 2 банка памяти данных ОЗУ 512х32 бит
  • 2 банка памяти данных ПЗУ 512х32 бит
  • ОЗУ программ 1024х32 бит
  • загрузочное ПЗУ объемом 56 байт
  • адресуемая внешняя память 2х232 32-битных слов памяти дан­ных и программ
  • встроенный эмулятор
  • 2 канала прямого доступа к памяти
  • 2 канала обмена с внешними процессорами
  • корпус с 223 выводами в корпусе PGA или QFP

DSP фирмы Texas Instruments

DSP этой фирмы представлены следующими микропроцессорами: TMS 32010, TMS 320C20, TMS 320C25, TMS 320C30, TMS 320C40, TMS 320C50.

Особенности архитектуры ТMS320C25

Архитектура TMS320C2x основана на архитектуре TMS32010 - пер­вом члене микропроцессорного семейства DSP. Кроме того, набор его команд перекрывает набор команд микропроцессора TMS32010, что сохраняет программную совместимость снизу вверх.
Микропроцессор TMS320C2x имеет один аккумулятор и использует Гарвардскую архитектуру в которой память данных и память программ разнесены в разные адресные пространства. Это позволяет полностью перекрыть во времени вызов и выполнение команды. Система команд включает команды обмена данными между двумя областями памяти. Вне микропроцессора пространства памяти данных и программ объединены на одну и ту же шину для того, чтобы максимально увеличить диапа­зон адресов в обеих областях памяти и одновременно максимально уменьшить количество выводных контактов. Внутри микропроцессора пространства программ и данных выведены на разные шины, чтобы уве­личить мощность процессора и скорость выполнения программ.
Повышенная гибкость конструкции системы обеспечивается распо­ложенными на кристалле двумя большими блоками памяти RAM, один из которых может использоваться и как память программ и как память данных. Большинство команд процессора выполняются за один машинный цикл с использованием как внешней памяти программ с быстрой выбор­кой, так и с использованием внутренней памяти RAM. Гибкость мик­ропроцессора TMS320C2x предусматривает также подключение медленной внешней памяти или периферийных устройств, используя сигнал READY; но в этом случае команды выполняются за несколько машинных циклов.

Организация памяти

На кристалле TMS32020 находится 544 16-разрядных слова памяти RAM, из которых 288 слова (блоки B1 и B2) всегда отведены под дан­ные, а 256 слов (блок B0) в разных конфигурациях процессора могут использоваться либо как память данных, либо как память программ. TMS320C25 кроме того обеспечен маскируемым ПЗУ (ROM), объемом 4К слов, а TMS320E25 - памятью 4К слов с ультрафиолетовым стиранием EPROM.
TMS320C2x обеспечен тремя разделенными адресными пространс­твами - для памяти программ, для памяти данных и для устройств ввода/вывода, как показано на рис. 6.5. Эти пространства вне крис­талла различаются при помощи сигналов -PS, -DS, -IS (для прост­ранств программы, данных, ввода/вывода соответственно). Блоки па­мяти B0, B1, B2, расположенные на кристалле, охватывают в сумме 544 слова памяти с произвольным доступом (RAM). RAM блок B0 (256 слов) располагается на 4 и 5 страницах памяти данных, если он от­веден под данные, или по адресам >FF00 - >FFFF, если он является частью памяти программ. Блок B1 (только для данных) располагается на 6 и 7 страницах, а блок B2 занимает старшие 32 слова 0 страни­цы. Отметим, что оставшуюся часть 0 страницы занимают 6 адресуемых регистров и резервная область; 1 - 3 страницы также представляют собой резервную область. Резервные области нельзя использовать для хранения информации, при чтении их содержимое не определено.
Внутренняя память программ (ROM), расположенная на кристалле процессора может быть использована в качестве младших 4К слов па­мяти программ. Для этого на контакт MP/*MC должен быть подан сиг­нал низкого уровня. Для запрещения использования внутренней облас­ти ROM на MP/*MC надо подать высокий уровень.

Внешняя память и интерфейс ввода/вывода

Микропроцессор TMS32020 поддерживает широкий диапазон интер­фейсных систем. Адресное пространство данных, программ и ввода/вы­вода обеспечивает сопряжение с памятью и внешними устройствами, что увеличивает возможности системы. Интерфейс локальной памяти состоит из:

  • 16-ти разрядной шины данных (D0-D15);
  • 16-ти разрядной шины адреса (A0-A15);
  • адресных пространств данных, программ и ввода/вывода выбираемых сигналами (*DS, *PS и *IS);
  • различных сигналов управления системой.

Сигнал R/*W управляет направлением передачи, а сигнал *STRB управляет передачей.
Пространство ввода/вывода содержит 16 портов для вводы и 16 портов для вывода. Эти порты обеспечивают полный 16-разрядный ин­терфейс со внешними устройствами по шине данных. Одноразовый ввод/вывод с помощью команд IN и OUT выполняется за два командных цикла; однако использование счетчика повторений снижает время од­ного обращения к порту до 1-го цикла.
Использование ввода/вывода упрощается тем, что ввод/ вывод осуществляется также, как и обращение к памяти. Устройства вво­да/вывода отображаются в адресном пространстве ввода/вывода, ис­пользуя внешние адреса процессора и шину данных, таким же образом, как память. При адресации внутренней памяти шина данных находится в третьем состоянии, а управляющие сигналы в пассивном состоянии (высоком).
Взаимодействие c памятью и устройствами ввода/вывода на раз­личных скоростях сопровождается сигналом READY. При связи с мед­ленными устройствами, TMS320C2x ждет, пока устройство не завершит свою работу и просигнализирует процессору об этом через линию REA­DY, после чего процессор продолжит работу.

Центральное арифметико-логическое устройство

Центральное арифметическо-логическое устройство (CALU) содер­жит 16-разрядный масштабирующий регистр сдвига, 16 x 16 парал­лельный умножитель, 32-разрядное арифметическо-логическое устройс­тво (ALU), 32-разрядный аккумулятор и несколько дополнительных сдвиговых регистров, расположенных как на выходе из умножителя, так и на выходе из аккумулятора.
Любая операция ALU выполняется в следующей последовательнос­ти:

  1. данные захватываются из RAM на шину данных,
  2. данные проходят через масштабирующий сдвиговый регистр и через ALU, в котором выполняются арифметические опера­ции,
  3. результат передается в аккумулятор.

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

Конвейерные операции

Конвейер команд состоит из последовательности операций обра­щения ко внешней шине, которые возникают в течении выполнения ко­манд. Конвейер "предвыборка-декодирование-выполнение" обычно неза­метен для пользователя, за исключением некоторых случаев, когда конвейер должен быть прерван (например, при ветвлении). Во время работы конвейера предвыборка, декодирование и выполнение команд независимы друг от друга. Это позволяет командам перекрываться. Так в течении одного цикла две или три команды могут быть активны, каждая на разных этапах работы. Поэтому получается двухуровневый конвейер для TMS32020 и трехуровневый для TMS320C25.
Количество уровней конвейера не всегда влияет на скорость вы­полнения команд. Большинство команд выполняется за одно и то же количество циклов вне зависимости от того, из какой памяти выбира­ются команды: внешней, внутренней RAM или внутренней ROM.
Добавочные аппаратные средства, имеющиеся на процессоре TMS320C25, позволяют расширить количество уровней конвейера до трех, что повышает производительность процессора. К этим средствам относятся счетчик предзахватов (PFC), 16-разрядный стек микровызо­вов (MCS), регистр команд (IR), и регистр очереди команд (QIR).
При трехуровневом конвейере PFC содержит адрес следующей ко­манды, которая должна быть предзахвачена. Как только предзахват осуществлен, команда загружается в IR. Если же IR хранит команду, которая еще не выполнена, то предзахваченная команда помещается в QIR. После этого PFC увеличивается на 1. Как только текущая коман­да будет выполнена, команда из QIR будет перегружена в IR, для дальнейшего исполнения.
Счетчик команд (PC) содержит адрес команды, которая должна быть выполнена следующей, и не используется для операций захвата.
Но обычно PC используется в качестве указателя на текущую позицию в программе. Содержимое PC увеличивается после каждой выполненной команды. Когда возникает прерывание или вызов подпрограммы, содер­жимое PC помещается в стек, чтобы в дальнейшем можно было выпол­нить возврат в нужное место программы.
Циклы предзахвата, декодирования и выполнения конвейера неза­висимы друг от друга, это позволяет перекрываться исполняемым ко­мандам во времени. В течении любого цикла три команды могут быть одновременно активны, каждая на разных стадиях завершения.

65 нанометров - следующая цель зеленоградского завода «Ангстрем-Т», которая будет стоить 300-350 миллионов евро. Заявку на получение льготного кредита под модернизацию технологий производства предприятие уже подало во Внешэкономбанк (ВЭБ), сообщили на этой неделе «Ведомости» со ссылкой на председателя совета директоров завода Леонида Реймана. Сейчас «Ангстрем-Т» готовится запустить линию производства микросхем с топологией 90нм. Выплаты по прошлому кредиту ВЭБа, на который она приобреталась, начнутся в середине 2017 года.

Пекин обвалил Уолл-стрит

Ключевые американские индексы отметили первые дни Нового года рекордным падением, миллиардер Джордж Сорос уже предупредил о том, что мир ждет повторение кризиса 2008 года.

Первый российский потребительский процесор Baikal-T1 ценой $60 запускают в массовое производство

Компания «Байкал Электроникс» в начале 2016 года обещает запустить в промышленное производство российский процессор Baikal-T1 стоимостью около $60. Устройства будут пользоваться спросом, если этот спрос создаст государство, говорят участники рынка.

МТС и Ericsson будут вместе разрабатывать и внедрять 5G в России

ПАО "Мобильные ТелеСистемы" и компания Ericsson заключили соглашения о сотрудничестве в области разработки и внедрения технологии 5G в России. В пилотных проектах, в том числе во время ЧМ-2018, МТС намерен протестировать разработки шведского вендора. В начале следующего года оператор начнет диалог с Минкомсвязи по вопросам сформирования технических требований к пятому поколению мобильной связи.

Сергей Чемезов: Ростех уже входит в десятку крупнейших машиностроительных корпораций мира

Глава Ростеха Сергей Чемезов в интервью РБК ответил на острые вопросы: о системе «Платон», проблемах и перспективах АВТОВАЗа, интересах Госкорпорации в фармбизнесе, рассказал о международном сотрудничестве в условиях санкционного давления, импортозамещении, реорганизации, стратегии развития и новых возможностях в сложное время.

Ростех "огражданивается" и покушается на лавры Samsung и General Electric

Набсовет Ростеха утвердил "Стратегию развития до 2025 года". Основные задачи – увеличить долю высокотехнологичной гражданской продукции и догнать General Electric и Samsung по ключевым финансовым показателям.

Что такое DSP?

Цифровые сигнальные процессоры (DSP, Digital Signal Processors) принимают на вход предварительно оцифрованные физические сигналы, например, звук, видеоизображение, показания температуры, давления и положения, и производят над ними математические манипуляции. Внутренняя структура цифровых сигнальных процессоров специально разрабатывается таким образом, чтобы они могли очень быстро выполнять такие математические функции, как “сложение”, “вычитание”, “умножение” и “деление”.

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

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

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

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

Более подробную информацию о преимуществах применения цифровых сигнальных процессоров при обработке сигналов реального мира вы можете найти, прочитав первую часть статьи Цифровая обработка сигналов 101 - Вводный курс в проектирование систем цифровой обработки сигналов, которая называется “Зачем нужен цифровой сигнальный процессор?”


Что находится внутри цифрового сигнального процессора (DSP)?

Цифровой сигнальный процессор включает в себя следующие ключевые компоненты:

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

Для получения подробной информации о процессорах и прецизионных аналоговых микроконтроллерах компании Analog Devices мы предлагаем вам ознакомиться со следующими ресурсами:

Цифровая обработка сигналов - это сложный предмет, и он способен ошеломить даже наиболее опытных профессионалов в области цифровых сигнальных процессоров. Здесь мы дали лишь краткий обзор, но компания Analog Devices также предлагает дополнительные ресурсы, содержащие более подробную информацию о цифровой обработке сигналов:

  • - обзор технологий и вопросы практического применения
  • Серия статей в журнале Analog Dialogue: (на англ.яз.)
    • Часть 1: Зачем нужен цифровой сигнальный процессор? Архитектуры цифровых сигнальных процессоров и преимущества цифровой обработки сигналов перед традиционными аналоговыми схемами
    • Часть 2: Узнайте больше о цифровых фильтрах
    • Часть 3: Реализация алгоритмов на аппаратной платформе
    • Часть 4: Вопросы программирования для поддержки ввода/вывода в реальном времени
  • : Часто используемые слова и их значение

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