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

 
 
> Выбор ARM микроконтроллера, Поиск кандидата
microchaos
сообщение Nov 25 2013, 14:10
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 11-12-09
Из: Lithuania
Пользователь №: 54 191



Здравствуйте,

Нужна помощь для выбора микроконтроллера для такой задачи:
1. Через USB закачать до 8-ми мегабаит данных на SDRAM;
2. Читать данные из SDRAM и проигрывать их на 16 GPIO, тактовая частота - 80MHz.
3. LAN;
4. GCC компилятор. Так как идея - Open Source.

Вопрос - возможно ли реализовать пункт 2? Или сразу брать FPGA? Чо хотелось бы апаратуру сделать как можно проще.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vlad_new
сообщение Nov 26 2013, 02:57
Сообщение #2


Местный
***

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



Цитата
2. Читать данные из SDRAM и проигрывать их на 16 GPIO, тактовая частота - 80MHz.

Что автор имел ввиду не понятно. Если в случайном парядке дергать 16 лап с указанной частотой, то не на чём не получится. Если просто из памяти гнать данные в порт на 16 лап, то надо искать что то с дма, чтоб на указанной частоте успевало и непрерывность обеспечивало.
Go to the top of the page
 
+Quote Post
microchaos
сообщение Nov 26 2013, 06:56
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 11-12-09
Из: Lithuania
Пользователь №: 54 191



Цитата(vlad_new @ Nov 26 2013, 04:57) *
Что автор имел ввиду не понятно. Если в случайном парядке дергать 16 лап с указанной частотой, то не на чём не получится. Если просто из памяти гнать данные в порт на 16 лап, то надо искать что то с дма, чтоб на указанной частоте успевало и непрерывность обеспечивало.


Задача такая, что надо читать данные из SDRAM и потом их передавать на внешний ЦАП 16 бит, со скоростью на 80 мега сампл (также вопрос и как синхронизировать ЦАП и данные, поступающие из микроконтроллера в этом случае). Естественно, без DMA тут не обойтись. В основном и нужны советы, возможно ли это вообще на каком-то микроконтроллере или забыть это дело и брать FPGA/CPLD.
Go to the top of the page
 
+Quote Post
Jury093
сообщение Nov 26 2013, 07:17
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(microchaos @ Nov 26 2013, 09:56) *
Задача такая, что надо читать данные из SDRAM и потом их передавать на внешний ЦАП 16 бит, со скоростью на 80 мега сампл (также вопрос и как синхронизировать ЦАП и данные, поступающие из микроконтроллера в этом случае). Естественно, без DMA тут не обойтись. В основном и нужны советы, возможно ли это вообще на каком-то микроконтроллере или забыть это дело и брать FPGA/CPLD.

я бы стал строить оценочный вариант на связке stm32(f107, f207) и небольшой фпга с двумя банками по 8МБ SDRAM, отсюда алгоритм:
stm32 нагребла данных по usb в первый банк, дернула автомат в фпга и стала наливать второй банк, тем временем первый банк вытряхивается независимо в ЦАП - потом "первые номера меняются со вторыми"..
после этого можно будет понять требования к времянкам, объему SDRAM и тыпы..
вместо stm32 можно поискать что-то более знакомое..
Go to the top of the page
 
+Quote Post
microchaos
сообщение Nov 26 2013, 07:52
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 24
Регистрация: 11-12-09
Из: Lithuania
Пользователь №: 54 191



Цитата(Jury093 @ Nov 26 2013, 09:17) *
я бы стал строить оценочный вариант на связке stm32(f107, f207) и небольшой фпга с двумя банками по 8МБ SDRAM, отсюда алгоритм:
stm32 нагребла данных по usb в первый банк, дернула автомат в фпга и стала наливать второй банк, тем временем первый банк вытряхивается независимо в ЦАП - потом "первые номера меняются со вторыми"..
после этого можно будет понять требования к времянкам, объему SDRAM и тыпы..
вместо stm32 можно поискать что-то более знакомое..


Здесь все проще - закачал данные в SDRAM один раз, а потом те же самые данные циклически передаешь в ЦАП.

Если данные передавать из компьютера через USB в реальном времени, то здесь уже нужен USB3, так как USB2 такого количества данных просто не потянет...
Go to the top of the page
 
+Quote Post
jcxz
сообщение Nov 27 2013, 03:10
Сообщение #6


Гуру
******

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



Цитата(microchaos @ Nov 26 2013, 13:52) *
Здесь все проще - закачал данные в SDRAM один раз, а потом те же самые данные циклически передаешь в ЦАП.

Если вам не нужно в реальном времени качать данные откуда-то, а можно проигрывать заранее записанные данные (из ОЗУ), то можно сделать дёшево и сердито:
CY7C68013A+какая-нить подходящая микросхема памяти с пакетным обращением (или микросхема FIFO-памяти).
На x51-ядре CY7C68013A эмулируем старт пакета (управляющие сигналы), далее через GPIF наполняем ОЗУ.
Проигрывание: опять же - формируем сигналы для старта пакета на x51. Наверное потребуется добавить немножко логики.
Будет огромный запас по частоте и никаких джиттеров.
Можно ещё попробовать использовать ИС FIFO (не силён в них) вместо ИС RAM.

Ещё вариант: просто CY7C68013A + мультиплексор на её параллельные выходы. Их там 16, а макс. частота CY7C68013A до 48МГц. Так что может удастся обойтись даже без внешней ОЗУ wink.gif
Go to the top of the page
 
+Quote Post
sonycman
сообщение Nov 27 2013, 04:37
Сообщение #7


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(jcxz @ Nov 27 2013, 07:10) *
Ещё вариант: просто CY7C68013A + мультиплексор на её параллельные выходы. Их там 16, а макс. частота CY7C68013A до 48МГц. Так что может удастся обойтись даже без внешней ОЗУ wink.gif

И каким образом 48 мегагерцовый чип будет выставлять данные на скорости 80 МГц?
Go to the top of the page
 
+Quote Post
jcxz
сообщение Nov 27 2013, 06:09
Сообщение #8


Гуру
******

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



Цитата(sonycman @ Nov 27 2013, 10:37) *
И каким образом 48 мегагерцовый чип будет выставлять данные на скорости 80 МГц?

Лень открывать даташит, но если его можно завести на 40МГц, то мультиплексор на 16-битной шине творит чудеса wink.gif

Цитата(Golikov A. @ Nov 27 2013, 11:02) *
не только 48 МГц, но еще и шина 8 бит.
правильно будет

А вы моё письмо внимательнее прочитайте. Там шина 16бит

Цитата(Golikov A. @ Nov 27 2013, 11:02) *
Я так понимаю основная надежда это на ОЗУ (наверное внешние, потому что внутреннего 4 кБ), да еще такое которое само сможет на АЦП данные выдавать, ну тогда можно и другой любой чип брать...

Ещё раз - прочитайте письмо прежде чем отвечать.
Выдавать такты на ОЗУ сможет внешний генератор+небольшая обвязка из логики. А ядра x51 должно хватить для формирования сигналов управления этим хозяйством (разрешения/чтения/записи).
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Nov 27 2013, 06:42
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата(jcxz @ Nov 27 2013, 10:09) *
Лень открывать даташит, но если его можно завести на 40МГц, то мультиплексор на 16-битной шине творит чудеса wink.gif


может если не ленится, и почитать

Цитата(jcxz @ Nov 27 2013, 10:09) *
А вы моё письмо внимательнее прочитайте. Там шина 16бит


то можно увидеть что шина 8 бит, хотя вы не привели конкретного контроллера, может есть еще какие -то

Цитата(jcxz @ Nov 27 2013, 10:09) *
Ещё раз - прочитайте письмо прежде чем отвечать.
Выдавать такты на ОЗУ сможет внешний генератор+небольшая обвязка из логики. А ядра x51 должно хватить для формирования сигналов управления этим хозяйством (разрешения/чтения/записи).


если есть ОЗУ которое при помощи внешней логики генерирует посылку данных на АЦП, а также рефрешиться что надо в случае современных озу, и прочее, то можно поставить любой контроллер.

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- microchaos   Выбор ARM микроконтроллера   Nov 25 2013, 14:10
- - scifi   LPC43xx   Nov 25 2013, 15:59
- - Aner   STM32F429 макс. тактовая частота - 180MHz, а так 1...   Nov 25 2013, 20:32
|- - A. Fig Lee   Цитата(Aner @ Nov 25 2013, 15:32) STM32F4...   Nov 25 2013, 23:28
|- - HardEgor   Цитата(A. Fig Lee @ Nov 26 2013, 06:28) А...   Nov 26 2013, 09:59
||- - jcxz   Цитата(Golikov A. @ Nov 27 2013, 12:42) т...   Nov 27 2013, 07:29
||- - sonycman   Цитата(jcxz @ Nov 27 2013, 11:29) Зачем р...   Nov 27 2013, 13:41
||- - jcxz   Цитата(sonycman @ Nov 27 2013, 19:41) Как...   Nov 28 2013, 04:54
|- - DASM   Цитата(Jury093 @ Nov 26 2013, 11:17) я бы...   Nov 26 2013, 07:55
|- - microchaos   Цитата(DASM @ Nov 26 2013, 09:55) Вообще ...   Nov 26 2013, 08:04
- - Golikov A.   простите, а что такое USB Cypress? яб тоже FPGA ...   Nov 26 2013, 08:07
|- - microchaos   Цитата(Golikov A. @ Nov 26 2013, 10:07) п...   Nov 26 2013, 08:15
- - vlad_new   Получается что делаем что то типа цыфрового осцилл...   Nov 26 2013, 08:29
|- - microchaos   Цитата(vlad_new @ Nov 26 2013, 10:29) Пол...   Nov 26 2013, 08:50
- - winipuh   Цитата(microchaos @ Nov 25 2013, 18:10) 1...   Nov 26 2013, 09:22
|- - microchaos   Цитата(winipuh @ Nov 26 2013, 11:22) Кста...   Nov 26 2013, 09:31
|- - winipuh   Цитата(microchaos @ Nov 26 2013, 13:31) Д...   Nov 26 2013, 10:08
|- - microchaos   Цитата(winipuh @ Nov 26 2013, 12:08) А ЦА...   Nov 26 2013, 10:15
- - Golikov A.   http://electronix.ru/forum/index.php?showtopic=114...   Nov 26 2013, 09:45
- - winipuh   Так или иначе, а между перед ЦАП-ом нужно FIFO, да...   Nov 26 2013, 11:14
|- - microchaos   Цитата(winipuh @ Nov 26 2013, 13:14) Пола...   Nov 26 2013, 12:26
- - Golikov A.   На 6 спартан и проц вкатать можно сразу. а еще ес...   Nov 26 2013, 20:18
- - Golikov A.   не только 48 МГц, но еще и шина 8 бит. правильно ...   Nov 27 2013, 05:02
- - AlexandrY   Цитата(microchaos @ Nov 25 2013, 16:10) Н...   Nov 27 2013, 12:58


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

 


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


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