roboforum.ru

Технический форум по робототехнике.

DSP или ПЛИС? помогите определится.

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: DSP или ПЛИС? помогите определится.

Сообщение Michael_K » 19 июн 2010, 09:32

Давайте.
Скажем пятьдесят восьмибитных регистров - это 400 триггеров.
Даже в младшем семействе 3000A есть кристаллы по 512 макроселлов (считай, триггеров с широко конфигурируемой логикой на входах-выходах).
При этом асинхронная логика часто может быть реализована без использования
макроселлов вообще (то есть фактически "не занимая" ресурсы CPLD)...

А в семействе MAX II, например, есть кристаллы с двумя тысячами триггеров.

Кроме того, блоки памяти в циклонах - это скорее аналоги традиционных кристаллов
памяти - в отличии от отдельных триггеров, доступ к разным ячейкам как правило не может быть осуществлен одновременно...
То есть принципиально такое решение не будет отличаться от, скажем, реализации на АРМе
(точнее на специализированном процессоре, работающем, тем не менее, с традиционным адресным пространством).
Последний раз редактировалось Michael_K 19 июн 2010, 15:21, всего редактировалось 1 раз.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: DSP или ПЛИС? помогите определится.

Сообщение elesy » 19 июн 2010, 09:41

а сколько уйдет на обработку?
elesy
 
Сообщения: 92
Зарегистрирован: 24 май 2010, 15:31
Откуда: Екатеринбург
ФИО: Зайцев Иван Алексеевич

Re: DSP или ПЛИС? помогите определится.

Сообщение Michael_K » 19 июн 2010, 09:46

А в ФПГА? :pardon:
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: DSP или ПЛИС? помогите определится.

Сообщение elesy » 19 июн 2010, 10:00

Спор переходит уже в область религии.
Предлагаю прекратить его и топикстартеру самому определяться с элементной базой
elesy
 
Сообщения: 92
Зарегистрирован: 24 май 2010, 15:31
Откуда: Екатеринбург
ФИО: Зайцев Иван Алексеевич

Re: DSP или ПЛИС? помогите определится.

Сообщение Michael_K » 19 июн 2010, 10:09

Именно!
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: DSP или ПЛИС? помогите определится.

Сообщение executer » 19 июн 2010, 10:57

Ну триггеры в CPLD это хорошо. 512 штук даже похоже хватает, но насколько красиво их можно будет разбить на байтовые ячейки и организовать их адресацию?
Может чтобы не задиратся на FPGA - сделать буффер на внешнем ОЗУ- на том же куда результат будет выплевыватся?

(ну и если разница в монтаже и стоимости FPGA и CPLD не велика - может ну его - АРМом будем моторчики крутить?)

Добавлено спустя 5 минут 11 секунд:
elesy писал(а):...Писать лучше на верилоге, хотя бы модули. Потом их можно уже соединять схемно. Хотя в Катусе можете найти много готовых модулей....


Кто такой "Катус"? Гугль кошек какихто выдает. :oops:
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

Re: DSP или ПЛИС? помогите определится.

Сообщение =DeaD= » 19 июн 2010, 11:00

executer писал(а):Может чтобы не задиратся на FPGA - сделать буффер на внешнем ОЗУ- на том же куда результат будет выплевыватся?

И сделать это узким местом? Круто :) тогда зачем было переходить с АРМа на ПЛИС? :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: DSP или ПЛИС? помогите определится.

Сообщение executer » 19 июн 2010, 11:04

Ну можно же поставить 2 шустрых ОЗУ по сотне ячеек - и завести их по независимым ШД. ША тоже не широкая получится для адресования 100-200 ячеек. И одну большую медленную ОЗУ для сливания результата.

Пока вопрос "триггеры в CPLD ... насколько красиво их можно будет разбить на байтовые ячейки и организовать их адресацию?"
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

Re: DSP или ПЛИС? помогите определится.

Сообщение elesy » 19 июн 2010, 11:36

executer писал(а):
Кто такой "Катус"? Гугль кошек какихто выдает. :oops:

Das ist Quartus -среда разработки от Altera

Добавлено спустя 50 секунд:
Тогда может озвучети применяемый АЦП. Какой у него интерфейс?
elesy
 
Сообщения: 92
Зарегистрирован: 24 май 2010, 15:31
Откуда: Екатеринбург
ФИО: Зайцев Иван Алексеевич

Re: DSP или ПЛИС? помогите определится.

Сообщение Romikgy » 19 июн 2010, 12:06

имхо надо определится с математикой, на мой взгляд лучшее решение для аналога в цифре это DSP
die Wahrheit ist irgendwo da draußen
Аватара пользователя
Romikgy
 
Сообщения: 750
Зарегистрирован: 15 ноя 2009, 13:37
Откуда: Porto Franco "Odessa"

Re: DSP или ПЛИС? помогите определится.

Сообщение Michael_K » 19 июн 2010, 15:14

executer писал(а):Пока вопрос "триггеры в CPLD ... насколько красиво их можно будет разбить на байтовые ячейки и организовать их адресацию?"

Это типовое применение.

=DeaD= писал(а):И сделать это узким местом? Круто :) тогда зачем было переходить с АРМа на ПЛИС? :)

Угу. Причем и внутреннее ОЗУ циклона работает так же (ну разве что пошустрее и двухпортовое),
- поддержку шины все равно придется такую же лепить и принципиально оно тоже будет узким местом
(хотя и не таким "узким").

executer писал(а):разница в монтаже и стоимости FPGA и CPLD

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

И корпуса... разные... как обычно - чем круче, тем непаябельнее.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: DSP или ПЛИС? помогите определится.

Сообщение executer » 19 июн 2010, 21:20

Так, пробую описать алгоритм. Немного мозги вскипели. Не сильно оно параллелится.

Для хранения всей информации достаточно буферов А, В (байтовые) и промежуточного S (WORD-овый). (размеры раза в 2-3 больше чем на картинке)

В каждом цикле (каждые 80 нс) содержимое А и В сдвигается влево и в освободившуюся ячейку пишется значения с АЦП1 и АЦП2 (Да, их два).

Сами вычисления пока не очень хорошо ложатся на программируемую логику. Пытаюсь пока оптимизировать это на Си++, а там и озарение прийдет.

За цикл нужно успеть как минимум заполнить вектор S - каждая ячейка - сумма отклонений вектора А от ячеек вектора В (взятых с соответсвующим номеру ячейки S смещением) :crazy:
Вложения
Детализация алгоритма.PNG
расчетный момент времени "n" - в прошлом. Настоящий момент времени n+7
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

Re: DSP или ПЛИС? помогите определится.

Сообщение Michael_K » 19 июн 2010, 21:43

Что-то вроде КИХ-фильтра.
А что потомс вектором S делать? (ну не наружу же его целиком o_O)
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: DSP или ПЛИС? помогите определится.

Сообщение =DeaD= » 19 июн 2010, 21:48

2executer: Опишите алгоритм тупо на Си, там посмотрим.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: DSP или ПЛИС? помогите определится.

Сообщение executer » 19 июн 2010, 21:50

Каждый цикл выдается одно BYTE значение - индекс ячейки вектора S с минимальным значением.

Вот-вот - и описываю как раз. В голову не лезет чтоб сразу на Си писать - вот и рисую.
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4