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

 
 
> Хватит ли сил STM32F7xx, Хватит ли тактовой частоты.
KARLSON
сообщение Sep 19 2016, 11:04
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 5-05-06
Из: Нижегородская обл.
Пользователь №: 16 819



Здравствуйте, уважаемые формучане.
Задача следующая. Имеем 3 АЦП по 2 канала с одновременной выборкой в 500 ksps. Итого 6 каналов одновременной выборки в 500 ksps c параллельным интерфейсом 14 бит (2 байта). Никакой обработки не будет. Надо просто всё сваливать в память по нажатию кнопки СТАРТ до её заполнения и потом и памяти перекачать на комп по USB. Память внешняя с параллельным интерфейсом. Заполняться будет примерно 20 сек. По расчётам это так:
2 байта (16 бит) * 6 каналов = 96 бит (12 байт)
96 * 500 000 (sps) = 48 000 000 бит (6 000 000 байт) - за 1 сек
48 000 000 * 20 = 960 000 000 бит (120 000 000 байт) - за 20 сек.
Вопрос. Справиться ли с этой задачей STM32F7 серии с её 200 МГц? Если нет, то кто сможет справиться?
С уважением, Евгений.


--------------------
Кризис - это не отсутствие денег, а отсутствие идей! Учитесь и никаких кризисов не будет.
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
jcxz
сообщение Sep 19 2016, 11:21
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(KARLSON @ Sep 19 2016, 17:04) *
Вопрос. Справиться ли с этой задачей STM32F7 серии с её 200 МГц? Если нет, то кто сможет справиться?

А чего именно Вы думаете может не хватить? Ну всё зависит конечно от интерфейса подключения внешней памяти и АЦП.
Но всё-же: у меня например LPC4370 (Cortex-M4) на тактовой 160МГц вполне себе справляется с подобной задачей, только АЦП (встроенное) на 80MS/s и во внутреннюю память. А у Вас всего-то каких-то жалких 3MS/s... Так что - если грамотно подключите АЦП (в первую очередь), то никаких проблем быть не должно.

Да, кстати: если нет никакой обработки и нужно просто передать в комп, то зачем тогда Cortex-M? Может будет достаточно CY7C68013A? Она заточена под работу с различными параллельными интерфейсами. И внешняя память не нужна - гнать напрямую в комп можно.
Go to the top of the page
 
+Quote Post
scifi
сообщение Sep 19 2016, 11:28
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(KARLSON @ Sep 19 2016, 14:04) *
Имеем 3 АЦП по 2 канала с одновременной выборкой в 500 ksps. Итого 6 каналов одновременной выборки в 500 ksps c параллельным интерфейсом 14 бит (2 байта).

Внешние АЦП с параллельным выходом? Три штуки? Как планируете подключать к МК? Или пока никак?
Go to the top of the page
 
+Quote Post
KARLSON
сообщение Sep 20 2016, 02:22
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 5-05-06
Из: Нижегородская обл.
Пользователь №: 16 819



Цитата(scifi @ Sep 19 2016, 14:28) *
Как планируете подключать к МК?

АЦП MAX1322ECM. У него 14 бит данные + 9 управляющих выводов. Всё объединить через логику, а вывод CS у каждого свой.

Цитата(jcxz @ Sep 19 2016, 14:21) *
Может будет достаточно CY7C68013A?

8051 Core не знаком. Имею опыт только у STM32 и MSP430.
Цитата(jcxz @ Sep 19 2016, 14:21) *
А у Вас всего-то каких-то жалких 3MS/s... Так что - если грамотно подключите АЦП (в первую очередь), то никаких проблем быть не должно.

Хорошо. если так. Благодарю.


--------------------
Кризис - это не отсутствие денег, а отсутствие идей! Учитесь и никаких кризисов не будет.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 20 2016, 05:30
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(KARLSON @ Sep 20 2016, 08:22) *
АЦП MAX1322ECM. У него 14 бит данные + 9 управляющих выводов. Всё объединить через логику, а вывод CS у каждого свой.

Вопрос - не как объединять, а на какой интерфейс МК подключать. Если будете работать через GPIO - могут быть и проблемы со скоростью.
Если подключите к параллельному интерфейсу МК (как он в STM32 зовётся? FSMC?), то тогда не должно быть проблем.
Хотя - не указали как именно собираетесь формировать сигналы запуска преобразования АЦП. От МК? Как формировать этот сигнал? И какие требования к стабильности частоты сэмплирования?

Цитата(KARLSON @ Sep 20 2016, 08:22) *
8051 Core не знаком.

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

И зачем вообще нужна внешняя память для такой задачи? USB HS вполне хватит для потока 3МБ/с, значит достаточно внутренней памяти.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Sep 20 2016, 05:56
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Много-много лет назад представитель одной "конкурирующей фирмы" на совещании с заказчиком, на конкретный вопрос "а может ли Ваше устройство..." сказал фразу, ставшую у нас частоупоминаемой: "Процессор может всё!"
в Вашем случае "процессор может все" много раз sm.gif

P.S. А я бы наверно про ПЛМ подумал, но требование использовать USB сразу делает систему непонятной для моего уровня владения ПЛМ, а зоопарк "ПЛМ+МК" в данном случае не нужен. вроде бы не нужен.
Go to the top of the page
 
+Quote Post
scifi
сообщение Sep 20 2016, 07:17
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(KARLSON @ Sep 20 2016, 05:22) *
АЦП MAX1322ECM. У него 14 бит данные + 9 управляющих выводов. Всё объединить через логику, а вывод CS у каждого свой.

Скорее всего не получится через FMC и принять все эти данные, и переправить их во внешнюю память.
Посмотрите на DCMI. Вполне вероятно, с его помощью можно захватить данные из АЦП, если их подготовить логикой правильным образом. Если справитесь с этой задачей, то выбросить эти данные через FMC будет совсем не трудно. Запас по тактовой частоте там большой. Скорее всего, и 100 МГц хватит - STM32F4 с поддержкой SDRAM.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 20 2016, 08:35
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(scifi @ Sep 20 2016, 13:17) *
Скорее всего не получится через FMC и принять все эти данные, и переправить их во внешнюю память.
Посмотрите на DCMI. Вполне вероятно, с его помощью можно захватить данные из АЦП, если их подготовить логикой правильным образом. Если справитесь с этой задачей, то выбросить эти данные через FMC будет совсем не трудно. Запас по тактовой частоте там большой. Скорее всего, и 100 МГц хватит - STM32F4 с поддержкой SDRAM.

Подозреваю что ТС вообще толком не представляет как он собирается АЦП подключать к МК. Да и необходимость внешней памяти сомнительна.
Также подозреваю, что, если внешняя память по каким-то причинам всё-же нужна, что-нить из LPC43xx справится с данной задачей много лучше: одно ядро можно вообще отдать чисто под управление АЦП через GPIO, без прерываний, по тактам, может даже на асм и тем самым реализовать требуемую времянку; другим ядром делать прочую работу (USB, ...).
Go to the top of the page
 
+Quote Post
scifi
сообщение Sep 20 2016, 11:14
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(jcxz @ Sep 20 2016, 11:35) *
Да и необходимость внешней памяти сомнительна.

Накопить 120 мегабайт без внешней памяти? Именно так написано в задании. Или хотите выплёвывать в USB на лету? Тут ТС виднее - вполне возможно, что у него просто нет такой возможности.
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 20 2016, 14:07
Сообщение #10


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(KARLSON @ Sep 19 2016, 14:04) *
Никакой обработки не будет. Надо просто всё сваливать в память по нажатию кнопки СТАРТ до её заполнения и потом и памяти перекачать на комп по USB. Память внешняя с параллельным интерфейсом. Заполняться будет примерно 20 сек.


Я порекомендовал бы nuvoton с памятью на борту. У него очень много памяти для данной задачи и нормальный усб порт без всяких 3300 в довесок. все на одном чипе, кроме АЦП, разумеется. Недостаток - ядро АРМ9, но с поставленной задачей должно справится.
Go to the top of the page
 
+Quote Post
KARLSON
сообщение Sep 20 2016, 14:23
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 5-05-06
Из: Нижегородская обл.
Пользователь №: 16 819



Переливать в реальном времени 6 Мб/ сек по USB, что бы никакие тайминги, задержки, флаги готовности не помешали не представляю как.
Подключать АЦП думал просто на GPIO, задействовать DMA.

Цитата(scifi @ Sep 20 2016, 10:17) *
если их подготовить логикой правильным образом.

Можно по подробнее?

Приложил схему АЦП

Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Кризис - это не отсутствие денег, а отсутствие идей! Учитесь и никаких кризисов не будет.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 20 2016, 14:31
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(KARLSON @ Sep 20 2016, 20:23) *
Переливать в реальном времени 6 Мб/ сек по USB, что бы никакие тайминги, задержки, флаги готовности не помешали не представляю как.

Зато USB HS - это представляет. У Вас узкое место не USB (здесь никаких проблем с 6МБ/сек быть не должно), а подключение АЦП.
Цитата(KARLSON @ Sep 20 2016, 20:23) *
Подключать АЦП думал просто на GPIO, задействовать DMA.

Видно что Вы совершенно не представляете как это сделать. И с какими проблемами столкнётесь...
Вобщем - внешняя память тут не нужна, сосредоточьтесь на подключении АЦП. И МК подойдёт любой имеющий USB HS и удобный для подключения этого АЦП.

PS: А может и внешний АЦП не нужен? Может вся Ваша задача решается одним МК со встроенным АЦП и без внешней памяти? sm.gif
Если не боитесь BGA и достаточно 12бит точности АЦП, советую LPC4370. Он в корпусе LBGA256 имеет как раз 6 каналов АЦП. А сливать в комп - в реальном времени по USB HS. И никакой возни с внешней логикой и кучи мелкосхем - всё в одном чипе. Да и по производительности (если надо) он пошустрее STM32F7xx будет.
Go to the top of the page
 
+Quote Post
KARLSON
сообщение Sep 20 2016, 14:47
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 5-05-06
Из: Нижегородская обл.
Пользователь №: 16 819



Цитата(jcxz @ Sep 20 2016, 17:31) *
PS: А может и внешний АЦП не нужен? Может вся Ваша задача решается одним МК со встроенным АЦП и без внешней памяти? sm.gif

Внешний АЦП нужен, т.к. надо иметь 3 измерителя по 2 канала гальванически развязанных между собой и USB.


--------------------
Кризис - это не отсутствие денег, а отсутствие идей! Учитесь и никаких кризисов не будет.
Go to the top of the page
 
+Quote Post
scifi
сообщение Sep 20 2016, 14:47
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(KARLSON @ Sep 20 2016, 17:23) *
Можно по подробнее?

Увы, нет. Своих дел хватает.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 20 2016, 15:24
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(KARLSON @ Sep 20 2016, 20:47) *
Внешний АЦП нужен, т.к. надо иметь 3 измерителя по 2 канала гальванически развязанных между собой и USB.

Раз нужна гальваническая изоляция, то думаю стОит поискать внешние АЦП с SPI-шиной: подключать их проще будет к МК и изоляторов меньше ставить.
Если не изолировать МК от USB, а только изоляторы между МК и АЦП, то - USB HS и внешняя память не нужна.
Вот например целая пачка 16разрядных 2+ -канальных АЦП на требуемый samplerate с SPI-интерфейсом:
http://www.ti.com/lsds/ti/data-converters/...&p1028=2;21
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 09:24
Рейтинг@Mail.ru


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