Перейти к содержанию
    

Прием данных от АЦП 16 бит, 25 Мгц, паралельное.

Добрый день.

Подскажите чем лучше принять данные от 16 битного параллельного АЦП частотой дискретизации 20-25 МГц?

STM32 кажется не потянет, у ARM9 порты медленные... И ничего придумать не могу. :wacko:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите чем лучше принять данные от 16 битного параллельного АЦП частотой дискретизации 20-25 МГц?

А дальше что с данными делать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дальше передать в ПК или записать во внешнюю память. А дальше уже обрабатывать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дальше передать в ПК или записать во внешнюю память. А дальше уже обрабатывать.

как много данных за раз?

можно просто напрямую через усб попробовать пропихнуть CY7C68013A / FT232H, но может и не пролезть.

быстрый параллельный порт есть у блэкфинов.

к стм32 ацп можно теоретически на шину внешней памяти подвесить, запустить чтение через ДМА, а синхронизацию циклов чтения под данные АЦП делать придерживанием шины за NWAIT синхронно с клоками АЦП.

у стм32 еще дма на чтение gpio вроде направить можно, да и 20МГц наверное потянет, только как синхронизироваться с АЦП немного непонятно: можно, наверное, клоки АЦП (удвоенные?) на таймер подать, а от него уже ДМА тактировать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как много данных за раз?

можно просто напрямую через усб попробовать пропихнуть CY7C68013A / FT232H, но может и не пролезть.

быстрый параллельный порт есть у блэкфинов.

к стм32 ацп можно теоретически на шину внешней памяти подвесить, запустить чтение через ДМА, а синхронизацию циклов чтения под данные АЦП делать придерживанием шины за NWAIT синхронно с клоками АЦП.

у стм32 еще дма на чтение gpio вроде направить можно, да и 20МГц наверное потянет, только как синхронизироваться с АЦП немного непонятно: можно, наверное, клоки АЦП (удвоенные?) на таймер подать, а от него уже ДМА тактировать.

Хочется 64 Мб, а реально думаю получится писать только во внутреннюю память контроллера.

А если взять stm32f205? Вроде частота портов ввода вывода 60Мгц, ядро бы побыстрее и все бы было замечательно.

Сопутствующий вопрос, я данные с пора STM считывал по отдельности с каждой ножки, возможно считать данные сразу со всего порта (16 бит) и записать в переменную?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ядро бы побыстрее и все бы было замечательно.

Берите STM32F4.

 

Сопутствующий вопрос, я данные с пора STM считывал по отдельности с каждой ножки, возможно считать данные сразу со всего порта (16 бит) и записать в переменную?

Что за способ такой (побитовое чтение)?

Весь порт наверное так:

гште16_е input_port;
input_port=GPIOG->IDR;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хочется 64 Мб, а реально думаю получится писать только во внутреннюю память контроллера.

А если взять stm32f205? Вроде частота портов ввода вывода 60Мгц, ядро бы побыстрее и все бы было замечательно.

перекладыванием данных в таких объёмах и скоростях не ядро должно заниматься, а ДМА.

64Мб это Мбит, МБайт или Мегасэмплов по 16 бит каждый т.е. 128МБайт?

насколько я понимаю к стм столько не подключить, в FSMC нет контроллера динамической памяти можно конечно кучу чипов по 2 МБ (или сколько там адресных линий есть). и чип селекты руками через gpio переключать, но это как-то некрасиво, да и столько SRAMa будет стоить заметно дороже SDRAMa

посмотрите на adsp-bf512 / bf531 / bf532 / bf533, там есть и подходящий параллельный порт PPI и контроллер СДРАМа на внешней шине.

 

напрямую в ПК через CY7C68013A чем не подходит? до 45МБайт/с вроде можно выжать, 16бит * 22МГц

в отдалённом будущем тоже похожая задача маячит, пока склоняюсь к CY7C68013A.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

напрямую в ПК через CY7C68013A чем не подходит? до 45МБайт/с вроде можно выжать, 16бит * 22МГц

в отдалённом будущем тоже похожая задача маячит, пока склоняюсь к CY7C68013A.

 

..тяжело с этой микрухи снять 45 мбайт/с , так надеяться не стоит - где-то тут писали что расчитывать можно на 30 мбайт/с.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зачем фигней страдать с контроллерами? Ставьте ПЛИС, которая будет быстро считывать данные с АЦП в память, а потом оттуда медленно и печально сливать их в комп да хоть через FT232.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

..тяжело с этой микрухи снять 45 мбайт/с , так надеяться не стоит - где-то тут писали что расчитывать можно на 30 мбайт/с.
Это вообще на USB 2.0 HS не всегда получается, и проблема зачастую со стороны хоста. Если это ПК под виндой, загруженный кучей левых задач, то вообще ничего гарантировать нельзя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если использовать USB 3.0 от Cypress. Он обратно совместим с USB 2.0. Но при включении в USB 3.0 скорость будет выше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...