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

 
 
> Помогите новичку с выбором, выбрать FPGA для работы с АЦП ADS16xx
van_de_luxe
сообщение Oct 17 2017, 07:09
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 1-04-10
Пользователь №: 56 348



Приветствую
Решаю задачку получения данных с АЦП ADS1672 с частотой 625ksps. Контроллер с такой частотой данных уже не справляется (или справляется, но на пределе, что все время занимает работа с АЦП). Хочу перенести часть нагрузки на внешнюю ПЛИС, а именно чтение данных(3 байта в доп. коде) по SPI (на скорости 20, а в перспективе 30 Мбит/с), конвертирование данных в напряжение (float), подергать ножками в случае превышения порогов по напряжению, передать данные на микроконтроллер по к.н. параллельному интерфейсу
Когда-то щупал FPGA, даже на verilog светодиодами поморгал, но сейчас в голове ничего не осталось. Подскажите какую ПЛИС можно выбрать для этих задач, сколько она примерно будет стоить, на чем лучше разрабатывать ПО (видел графические генераторы кода, verilog, vhdl.. , среды разработки), какой дешевый программатор к ним прикупить, и подскажите хороший источник примеров/исходников
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_pv
сообщение Oct 17 2017, 13:03
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



контроллер не справляется это если spi ногодрыганием изображать что-ли?
пересылкой данных должно дма заниматься никак процессор не трогая вообще, а у любых кортексовМ особенно с FPU для работы с флоат (хотя опять же ЗАЧЕМ?), и частотой под сотню МГц будет почти пара сотен тактов на каждый отсчёт АЦП, тут не то что ножкой дернуть по порогу, тут ФФТ можно успеть сделать.
Go to the top of the page
 
+Quote Post
van_de_luxe
сообщение Oct 17 2017, 14:32
Сообщение #3





Группа: Участник
Сообщений: 14
Регистрация: 1-04-10
Пользователь №: 56 348



Цитата(_pv @ Oct 17 2017, 17:03) *
контроллер не справляется это если spi ногодрыганием изображать что-ли?
пересылкой данных должно дма заниматься никак процессор не трогая вообще, а у любых кортексовМ особенно с FPU для работы с флоат (хотя опять же ЗАЧЕМ?), и частотой под сотню МГц будет почти пара сотен тактов на каждый отсчёт АЦП, тут не то что ножкой дернуть по порогу, тут ФФТ можно успеть сделать.

между двумя стробами DataReady 1600 нс
переход в обработчик прерывания занимает около 200 нс
еще около 200 нс на настройку DMA
на чистую передачу данных на 20 МГц тратится 24*(1/20М)=1200 нс
Одна неверная операция и начинаем терять данные
В реальности, работая по прерываниям+DMA я пропускаю 1 отсчет из двух, т.к. настройка DMA и отладочный ногодрыг съедают еще пару сотен нс

Цитата(magnum16 @ Oct 17 2017, 15:43) *
Я бы посоветовал Altera MAX 10. Примеры есть на https://marsohod.org/ , например. Стандартный программатор USB blaster называется.

В этих ПЛИС есть встроенная память для прошивки или в них вообще прошивка как таковая это конфигурирование внутренней структуры, которая сохраняется без питания?
Go to the top of the page
 
+Quote Post
XVR
сообщение Oct 17 2017, 15:06
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(van_de_luxe @ Oct 17 2017, 17:32) *
между двумя стробами DataReady 1600 нс
переход в обработчик прерывания занимает около 200 нс
еще около 200 нс на настройку DMA
на чистую передачу данных на 20 МГц тратится 24*(1/20М)=1200 нс
Гм, вы настраиваете DMA на каждую передачу? wacko.gif Неудивительно, что не успевает.

А внешняя FPGA должна будет вам собирать байты по SPI и выдавать пачками в МК с буферизацией? Т.е. вы хотите сделать внешний буфер на FPGA потому что не смогли настроить нормально внутренний (DMA) в МК?
Go to the top of the page
 
+Quote Post
van_de_luxe
сообщение Oct 17 2017, 15:15
Сообщение #5





Группа: Участник
Сообщений: 14
Регистрация: 1-04-10
Пользователь №: 56 348



Цитата(XVR @ Oct 17 2017, 19:06) *
Гм, вы настраиваете DMA на каждую передачу? wacko.gif Неудивительно, что не успевает.

А внешняя FPGA должна будет вам собирать байты по SPI и выдавать пачками в МК с буферизацией? Т.е. вы хотите сделать внешний буфер на FPGA потому что не смогли настроить нормально внутренний (DMA) в МК?

А как его нужно настраивать? поделитесь секретом

Если его настроить скажем сразу на 30 байт, он их все сразу и перекачает, непрерывно, а данные-то в АЦП по DR готовы. А приостанавливать и запускать работу DMA/SPI после каждых 3 байт это не сильно быстрее (и гемор там с SPI есть, что его за 1 байт до окончания нужно тормозить, чтобы корректно остановился), чем его настроить заново. Там и настройки то - адреса и размер указать, интерфейс запустить.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- van_de_luxe   Помогите новичку с выбором   Oct 17 2017, 07:09
- - XVR   Цитата(van_de_luxe @ Oct 17 2017, 10:09) ...   Oct 17 2017, 10:21
|- - van_de_luxe   Цитата(XVR @ Oct 17 2017, 14:21) Вы счита...   Oct 17 2017, 10:42
|- - Flip-fl0p   Цитата(van_de_luxe @ Oct 17 2017, 13:42) ...   Oct 17 2017, 10:50
|- - van_de_luxe   Цитата(Flip-fl0p @ Oct 17 2017, 14:5...   Oct 17 2017, 11:10
- - magnum16   Я бы посоветовал Altera MAX 10. Примеры есть на ht...   Oct 17 2017, 11:43
|- - Maverick   Цитата(_pv @ Oct 17 2017, 16:03) контролл...   Oct 17 2017, 13:38
||- - Lmx2315   Цитата(van_de_luxe @ Oct 17 2017, 18:15) ...   Oct 17 2017, 18:46
||- - arhiv6   Цитата(van_de_luxe @ Oct 17 2017, 22:15) ...   Oct 17 2017, 19:18
|- - magnum16   Цитата(van_de_luxe @ Oct 17 2017, 17:32) ...   Oct 17 2017, 15:26
- - arhiv6   А что вы подразумеваете под "200 нс на настро...   Oct 17 2017, 15:08
- - van_de_luxe   Цитата(arhiv6 @ Oct 17 2017, 19:08) А что...   Oct 18 2017, 05:34
- - Timmy   Цитата(van_de_luxe @ Oct 18 2017, 08:34) ...   Oct 18 2017, 07:10
- - van_de_luxe   Цитата(Timmy @ Oct 18 2017, 11:10) - не н...   Oct 18 2017, 07:26
- - Timmy   Цитата(van_de_luxe @ Oct 18 2017, 10:26) ...   Oct 18 2017, 08:04


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

 


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


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