Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: для чего нужен DSP?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
Метценгерштейн
сам программирую AVR, но это хобби. Прекрасно понимаю какие устройства можно разработать на базе данных микроконтроллеров. А что делает ДСП? Чего он выполняет такого, чего не смог бы сделать обычный АВР?
Stanislav_S
Цитата(Метценгерштейн @ Sep 19 2008, 00:40) *
сам программирую AVR, но это хобби. Прекрасно понимаю какие устройства можно разработать на базе данных микроконтроллеров. А что делает ДСП? Чего он выполняет такого, чего не смог бы сделать обычный АВР?

Выполняет собственно цифровую обработку сигналов smile.gif Есть огромное количество задач с которым не справится АВР smile.gif Собственно, если сильно утрировать, ДСП нужен там где нужно много математики и бытро.
DpInRock
Все то же самое, только существенно быстрее. Плюс наличие собственной периферии для получения данных для расчета.
sera_os
Добавлю: еще отличие DSP от AVR в наличии внутри (в кристалле) аппаратных блоков вычисления, спроектированные для работы с данными (сигналы), поэтому получается так быстро.
DpInRock
Но на современных DSP программировать на ассемблере практически невозможно или не имеет никакого смысла. А на Си - можно смело не знать подробности.
Цыкетчик
Если DSP так сильно превосходят по скорости и функциональным возможностям AVR-ы то почему тогда они не вытеснили окончательно до сих пор всякие AVR-ы и PIC-и ?
aaarrr
Цитата(DpInRock @ Sep 19 2008, 02:46) *
Но на современных DSP программировать на ассемблере практически невозможно или не имеет никакого смысла.

Насчет "никакого" я бы не был столь категоричен. Как раз в плане использования DSP по прямому назначению - т.е. для обработки сигналов - еще как имеет. А все что касается общеконтроллерных задач можно, конечно, и на "C".

Цитата(Цыкетчик @ Sep 19 2008, 02:55) *
Если DSP так сильно превосходят по скорости и функциональным возможностям AVR-ы то почему тогда они не вытеснили окончательно до сих пор всякие AVR-ы и PIC-и ?

А кто тогда будет светодиодами моргать?
Neural
вообщем-то ДСП и остальные микроконтроллеры ничем не отличаются.. маркетинговые штучки..
Метценгерштейн
Итак, что DSP в силу спец. заточенных внутренностей под это может быстрее обрабатывать сигналы- это понятно. Мне нужен простой пример реализации чего -то на нем. Чтобы наглядно продемонстировало его возможности. Допустим, завожу я на него сигнал с АЦП, что я могу дальше с ним сделать?

И, если для экпериментов, то какой порекомендуете? Типа, если из МК, я бы рекомендовал АВР , а именно мегу8. Просто и недорого, типа самый оптимальный вариант.
Erkekjetter
DSP - сигнальный процессор

Отличительные особенности:
1. Гарвардская архитектура.
2. Аппаратное ускорение, некоторые сложные операции выполняются за 1 такт (операция умножение с накоплением, "бабочка" для БПФ и пр.)
3. Улучшенная работа с циклами, и поддержка векторно-конвейерной обработки.
4. Быстрые прерывания.
5. Могут работать в жёстких временных рамках, режим реального времени для них.

Цитата
Итак, что DSP в силу спец. заточенных внутренностей под это может быстрее обрабатывать сигналы- это понятно. Мне нужен простой пример реализации чего -то на нем. Чтобы наглядно продемонстировало его возможности. Допустим, завожу я на него сигнал с АЦП, что я могу дальше с ним сделать?


Анализатор спектра (как в муз. центрах, хоть там реализовано не на DSP), реалтайм компрессор, фильтр, да много чего. А вот с рекомендациями... я не спец по DSP, только "нюхаю" их ещё, тоже было бы не плохо выслушать гуру.
Don2
Цитата(Метценгерштейн @ Sep 18 2008, 21:40) *
сам программирую AVR, но это хобби. Прекрасно понимаю какие устройства можно разработать на базе данных микроконтроллеров. А что делает ДСП? Чего он выполняет такого, чего не смог бы сделать обычный АВР?



Для начала посмотрите сюда

http://ru.wikipedia.org/wiki/%D0%A6%D0%B8%...%81%D0%BE%D1%80
Lotor
Цитата(Метценгерштейн @ Sep 19 2008, 08:29) *
Мне нужен простой пример реализации чего -то на нем. Чтобы наглядно продемонстировало его возможности. Допустим, завожу я на него сигнал с АЦП, что я могу дальше с ним сделать?.

Я бы тоже от наглядных примеров с комментариями не отказался. Ибо что такое цифровая обработка сигнала знаю только в теории, из института умные словечки БПФ, БИХ, КИХ, АКФ запомнились, но практики у нас не было никакой. Нашел толстую книгу Real-Time Digital Signal Processing - Implementations and Applications, потихоньку читаю. Может кто ещё что посоветует - книги, курсы в интернете, где наглядно объясняется работа DSP именно с практической точки зрения.
mdmitry
Очевидный пример использования DSP: формирование сигнала или квадратурных составляющих. Например, сигналы ADSL, радиосигналы на низкой ПЧ, декодирование сигналов, в том числе с использованием алгоритма Витерби (в TMS аппаратные блоки).
uriy
Цитата
Допустим, завожу я на него сигнал с АЦП, что я могу дальше с ним сделать?
Например сжать в mp3 если это звук, записать на флеш а потом воспроизвести декодировав этим же самым DSP. Или если это видео кодек, то наложить например какую-нибудь картинку на основной поток видео. Никакой AVR это сделать не сможет.
ASN
DpInRock
Может быть кому и не имеет смысла (например на мощном ПК), а кому-то очень как имеет (выигрыш по быстродействию раза 3-4).
Mik174
Можно, например, сделать цифровой фильтр на ЦСП.
на входе - АЦП, или даже встроенный использовать, на выходе ЦАП.

Ну, а если совсем начинающий, то можно подключить светодиод и поморгать им.
Лично сам с этого и собираюсь начать smile.gif
В первую очередь, чтобы протопать дорожку от набивания текста программы на ПК до работающей программы в кристалле.
Т.е. разобраться, как управлять портами процессора, как работать со средой разработки, как программу "укладывать" в целевой плате с процессором.
Пока учусь ползать. Ходить и бегать буду позже smile.gif
jasper
Цитата(Метценгерштейн @ Sep 19 2008, 10:29) *
И, если для экпериментов, то какой порекомендуете? Типа, если из МК, я бы рекомендовал АВР , а именно мегу8. Просто и недорого, типа самый оптимальный вариант.

Я бы порекомендовал что-нибудь из AVR32. Можно будет и светодиодом поморгать, и в mp3 что-нибудь пожать.

ИМХО в чистом виде DSP – вымирающий жанр. Для относительно низкой производительности они вытесняются гибридами DSP+МК, типа тех же AVR32, а для большой – ПЛИС.
Herz
Цитата(DpInRock @ Sep 18 2008, 21:46) *
Все то же самое, только существенно быстрее. Плюс наличие собственной периферии для получения данных для расчета.
Это весьма упрощённое представление, как раз в "чистых" DSP периферия слабо развита.

Цитата(DpInRock @ Sep 19 2008, 00:46) *
Но на современных DSP программировать на ассемблере практически невозможно или не имеет никакого смысла. А на Си - можно смело не знать подробности.
Тоже не верно. Нельзя подходить к DSP только как к мощному вычислительному ядру, с богатой системой команд. Как раз специфичность задач и математики для их решения часто требует ASM-уровня для DSP. Хотя разработчики компиляторов тоже не спят.
Цитата(Neural @ Sep 19 2008, 06:14) *
вообщем-то ДСП и остальные микроконтроллеры ничем не отличаются.. маркетинговые штучки..

А это и вовсе голословное утверждение. Полагаю, Вы пока не сталкивались ни с DSP, ни с обработкой сигналов вообще.

Цитата(jasper @ Sep 19 2008, 12:22) *
ИМХО в чистом виде DSP – вымирающий жанр. Для относительно низкой производительности они вытесняются гибридами DSP+МК, типа тех же AVR32, а для большой – ПЛИС.
Может быть. Набирают популярность т.н. DSC - digital signal controller - симбиоз ядра сигнального процессора и периферии, традиционной для контроллеров. Спектр их применений постоянно расширяется, многое здесь уже назвали.
Метценгерштейн
так, AVR32, я не против атмела, типа подходит. Чтобы не перемещаться в другую ветку, спрошу здесь. По аналогии с простыми МК, можно тоже макетку купить за 250 баксов, отлаживать её... никогда не мог понять для чего???

собирается программатор, берется прога- понни прог, покупается этот МК за 30 руб, паяется на макетке- и никаких отладочных комплексов е надо.

Интересно гибрид МК+ DSP, т.к. разводить флешь и ОЗУ и порты ввода- вывода не хотелось бы. Можно так же обойтись без покупного кита как на примере АВР?

ИАР поддерживает DSP? или там свой софт?
uriy
Цитата
ИАР поддерживает DSP? или там свой софт?
Там свой софт. Например для Analog Devices это VisualDSP для TI это Code Composer Studio (вроде так пишется), ну и т.д.
DpInRock
Цитата
Это весьма упрощённое представление, как раз в "чистых" DSP периферия слабо развита

Еще как развита. Ибо DSP для чего заточены? Обрабатывать потоки E1 - это последовательные порты синхронные - есть у всех.
У блэкфина периферии до черта. Именно высокоскоростной. Иначе тогда зачем DSP.

И суть в том, что у обычных, даже самых быстрых процов не делают например, 8 блоков умножителей.
На 500 мегагерцовом Ti C6414 можно достичь 4 миллиардов операций в секунду. При относительно мизерном потреблении. Ни один Core Duo не догонит.
aaarrr
Цитата(DpInRock @ Sep 20 2008, 00:49) *
Ни один Core Duo не догонит.


Код
Intel Core 2 X6800    27,079 MIPS at 2.93 GHz

Это я к тому, что не стоит недооценивать производительность десктопных процессоров, в том числе и на DSP задачах. SSE1-4 не зря разрабатывали.
DpInRock
Не буду спорить, ибо правда ваша. Но Ti кушает 100 миллиампер.
И 8 миллиардов у него будут честные, ровные и сразу. Это если прикупить 1 Ггц Ти. И при этом это будет 8 миллиардов операций умножения. А не регистровых. Вернее, не только регистровых.

Полагаю Дуо стухнет на математике. Хотя утверждаю это голословно, на шару.
vvs157
Цитата(Метценгерштейн @ Sep 19 2008, 18:36) *
собирается программатор, берется прога- понни прог, покупается этот МК за 30 руб, паяется на макетке- и никаких отладочных комплексов е надо.
AVR32 в LQFP корпусе с шагом 0.5 мм. И стоит не 30 руб, а несколько дороже
rv3dll(lex)
выдающийся пример для понимания ускорения которое даёт дсп FIRфильтр

итого надо

сдвиговый регистр

а0 - а5 16 битные числа
к0 - к5 16 битные константы

R- 32 бита

а0 - вход
сдвиговый регистр каждый такт (по прерыванию например)

а0 -> а1
а1 -> а2
----------
а4 -> а5

по томуже такту

R = а0*к0+а1*к1+ --- + а5*к5
предусмотреть возможность если ответ превысит 32 битную сетку то сделать его максимальным - ограничить

возмите ARM и напишите такую задачу - потом в ассемблере посчитайте команды и переведите их в машинные циклы.

сигнальники делают этот пример за 6 машинных циклов на ARM хорошо если уложитесь в 60





Кстати у линейки TI 2401 - 2407 и 2812 тоже периферии полно.
vik0
Цитата(DpInRock @ Sep 19 2008, 23:49) *
У блэкфина периферии до черта. Именно высокоскоростной. Иначе тогда зачем DSP.

Blackfin не является "чистым" DSP. О чем сами AD не без гордости заявляют. Вы посмотрите на те же Sharc-и от AD. Периферия там конечно есть, но ее там отнюдь не "до черта".
Цыкетчик
Цитата(aaarrr @ Sep 19 2008, 02:59) *
Цитата(Цыкетчик @ Sep 19 2008, 02:55) *
Если DSP так сильно превосходят по скорости и функциональным возможностям AVR-ы то почему тогда они не вытеснили окончательно до сих пор всякие AVR-ы и PIC-и ?
А кто тогда будет светодиодами моргать?

Дык многие "обычные" микроконтроллеры (например ARM11) решают тААААААкие задачи, что на них ставят даже UNIX. Поэтому я правда не понимаю зачем существует 2 направления: "обычные" микроконтроллеры и DSP
MrYuran
Цитата(Цыкетчик @ Sep 23 2008, 13:39) *
Поэтому я правда не понимаю зачем существует 2 направления: "обычные" микроконтроллеры и DSP

Вообще этих направлений гораздо больше даже в каждом из этих 2-х направлений.
Если уж совсем на пальцах объяснять - вот есть, например, "Волга", а есть УАЗ. У них много общего. Движки - очень похожи, как по параметрам, так и по конструкции. Масса - тоже. Однако есть и существенные различия (объяснять, думаю, не надо), которые выгодно отличают каждую из машин в конкретных условиях. Каждому своё.

Исторически DSP появились намного раньше ARM, и способны были решать такие задачи, которые не каждому тогдашнему пентиуму были по зубам. А сейчас просто происходит взаимное проникновение технологий. В общем, бесполезная дискуссия. Так же, как DSP vs FPGA и т.д.
Цыкетчик
Цитата(MrYuran @ Sep 23 2008, 14:16) *
Вообще этих направлений гораздо больше даже в каждом из этих 2-х направлений.
Если уж совсем на пальцах объяснять - вот есть, например, "Волга", а есть УАЗ. У них много общего. Движки - очень похожи, как по параметрам, так и по конструкции. Масса - тоже. Однако есть и существенные различия (объяснять, думаю, не надо), которые выгодно отличают каждую из машин в конкретных условиях. Каждому своё.

Исторически DSP появились намного раньше ARM, и способны были решать такие задачи, которые не каждому тогдашнему пентиуму были по зубам. А сейчас просто происходит взаимное проникновение технологий. В общем, бесполезная дискуссия. Так же, как DSP vs FPGA и т.д.

А почему же тогда производители чипов не хотят замутить некий гибрид, который вберёт в себя все лучшие стороны DSP, MCU и FPGA? Ведь технология достигла такого уровня, что это стало реальностью. Чтоб каждый разработчик мог вводить нужную ему функциональность просто "перепрошивкой" чипа.. А?
Verifi
Цитата(Цыкетчик @ Sep 23 2008, 14:38) *
А почему же тогда производители чипов не хотят замутить некий гибрид, который вберёт в себя все лучшие стороны DSP, MCU и FPGA? Ведь технология достигла такого уровня, что это стало реальностью. Чтоб каждый разработчик мог вводить нужную ему функциональность просто "перепрошивкой" чипа.. А?

motorola замутила как раз гибрид DSP, MCU 53F8345 и подобные,много периферии паралллелное выполнение команд,математические команды cos,sin,arctg и пр,хорошо "дружит"с MATLAB.
Скорость конечно маловата но для начинающего очень удобен в написании даже на ассемблере в отличии от BLAKFIN,младшие модели 53F832х недорогие.
Для управления железками эти может будут получше TI по переферии,а для видео и звука там и обычных DSP достаточно периферию ,можно и внешную благо надо её немного.
rv3dll(lex)
Цитата(Цыкетчик @ Sep 23 2008, 14:38) *
А почему же тогда производители чипов не хотят замутить некий гибрид, который вберёт в себя все лучшие стороны DSP, MCU и FPGA? Ведь технология достигла такого уровня, что это стало реальностью. Чтоб каждый разработчик мог вводить нужную ему функциональность просто "перепрошивкой" чипа.. А?


на самом деле не не хочет а не может
атмел долго не мог повторить навороты 51 контроллера пока у интела патентное время не кончилось.
тем кто уже делает этот симбиоз не очень нужен а новый производитель не потянет

хотя


насчёт симбиоза imap от TI посмотри.
Stanislav
Цитата(Erkekjetter @ Sep 19 2008, 09:15) *
DSP - сигнальный процессор

Отличительные особенности:
1. Гарвардская архитектура.
2. Аппаратное ускорение, некоторые сложные операции выполняются за 1 такт (операция умножение с накоплением, "бабочка" для БПФ и пр.)
3. Улучшенная работа с циклами, и поддержка векторно-конвейерной обработки.
4. Быстрые прерывания.
5. Могут работать в жёстких временных рамках, режим реального времени для них.
Я бы ещё добавил такие существенные детали:
6. Развитые подсистемы скоростного ввода-вывода данных. Сюда нужно отнести и гораздо более широкие возможности ПДП по сравнению с "универсальными" процессорами.
7. Мощная система адресации памяти (прежде всего, косвенной, т.е., через указатели).
8. Многошинная внутренняя архитектура, позволяющая производить множественный доступ к различным данным в памяти и регистрах в течение одного машинного цикла.
Собственно, последнее я считаю основным признаком DSP.

Цитата(DpInRock @ Sep 20 2008, 01:20) *
...Полагаю Дуо стухнет на математике. Хотя утверждаю это голословно, на шару.
Вот именно, на шару. Особенно если делать операции в плывучке, и, тем более, в даблах.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.