реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Обработка данных на ПЛИС
bva_rzn
сообщение Jul 5 2013, 18:37
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 15-08-11
Пользователь №: 66 737



Доброго времени суток!

Сильно не пинайте - я в ПЛИС новичёк.

Есть задача:
С 2-х канального 12 разрядного АЦП параллельно идут данные с частотой 10 МГц. Над этими данными необходимо делать несколько мат. операций: перемножить их, возвести в куб, в 4 степень и т.п. всего 11 различных вариантов. Результаты накапливать и выдавать в процессор с частотой 5 кГц для последующей обработки.

ПЛИС Cyclon III. Среда Quartus.

Сейчас делаю так:
1) С внешнего генератора подаю 10 МГц. При помощи pll получаю 100 МГц. Все умножения разбил на 3 этапа для конвейера. На 4 этапе конвейера накапливаю данные.
2) Данные с АЦП сразу преобразую в числа с плавающей точкой altfp_convert и все последующие умножения и суммирования с плавающей точкой в altfp_mult altfp_add_sub.

Дальше вопросы:
1) Имеет ли смысл связываться с плавающей точкой?
2) Результаты накопления планирую передавать по SPI. Но если с конвейером и умножениями понятно, то как результаты накопления слать по SPI? Что реализовывать: мастер или слейв?

Спасибо.



Go to the top of the page
 
+Quote Post
winipuh
сообщение Jul 5 2013, 19:53
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 127
Регистрация: 31-10-12
Пользователь №: 74 189



Цитата(bva_rzn @ Jul 5 2013, 22:37) *
С 2-х канального 12 разрядного АЦП параллельно идут данные с частотой 10 МГц.
Результаты накапливать и выдавать с частотой 5 кГц.
Результаты накопления планирую передавать по SPI

Боюсь, что вот за это Вас и начнут пинать... sm.gif
Данные поступают с частотой 10 МГц (параллельно?). А выдавать Вы их собираетесь с частотой 5 кГц (последовательно?)...
Это как это? wacko.gif

Ктати, думаю лучше использовать не SPI, а какой-нибудь SSP/I2S и т.п. с нужным настроенным размером фрейма
Go to the top of the page
 
+Quote Post
bva_rzn
сообщение Jul 5 2013, 20:13
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 15-08-11
Пользователь №: 66 737



Выдавать нужно не сырые данные с АЦП, а результат их обработки.
Если назвать отсчёты АЦП Uc и Us по двум каналам, то задача состоит в суммировании 2000 произведений: Us, Uc, UcUs, Uc^2Us,Us^3,Us^4 и т.п. (Всего 11 произведений) и выдачи их наружу. При этом частота обновлений результатов суммирований 5 кГц.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Jul 5 2013, 21:50
Сообщение #4


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(bva_rzn @ Jul 5 2013, 21:37) *
Доброго времени суток!
1) Имеет ли смысл связываться с плавающей точкой?
2) Результаты накопления планирую передавать по SPI. Но если с конвейером и умножениями понятно, то как результаты накопления слать по SPI? Что реализовывать: мастер или слейв?

Цитата(bva_rzn @ Jul 5 2013, 23:13) *
Выдавать нужно не сырые данные с АЦП, а результат их обработки.
Если назвать отсчёты АЦП Uc и Us по двум каналам, то задача состоит в суммировании 2000 произведений: Us, Uc, UcUs, Uc^2Us,Us^3,Us^4 и т.п. (Всего 11 произведений) и выдачи их наружу. При этом частота обновлений результатов суммирований 5 кГц.


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


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jul 6 2013, 07:38
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(bva_rzn @ Jul 5 2013, 22:37) *
Сильно не пинайте - я в ПЛИС новичёк.

C самого начала! Зачем ПЛИС? Частота - низкая, обработка - стандартная. Для таких вещей DSP будет и дешевле и легче в разработке.
Это что, курсовик такой, или мазохизм?


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Jul 9 2013, 05:34
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Цитата
Данные с АЦП сразу преобразую в числа с плавающей точкой altfp_convert
Зачем? Я допускаю, что на каком-то этапе обработки плавающая запятая может выружить в вопросах снижения разрядности обрабатывающей структуры, но когда речь идёт о 12-битных данных, пусть даже и в количестве 2000 слов (так и хочется подсказать - 2048, чтобы потом делилось проще, т.е. просто сдвигом, если надо), то это всего 23-24 разряда. ИМХО, из пушки по воробьям.


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 07:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01398 секунд с 7
ELECTRONIX ©2004-2016