Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как подключить FPGA к GPMC DM3730
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
nik135
Господа, спасибо за ответ в соседне ветке, Вот
Я и сам чувствовал, что организовывать параллельную шину из gpio это неправильно. Но это предистория.
Задача, которую мне необходимо решить - организовать обмен с FPGA с максимальной пропускной способностью.
Имею вот такой девайс: dm3730
на шине GPMC уже сидин nand флеш, как можно параллельно подключить свою fpga и организовать обмен?
Приложил описание разводки платы. Смущает, что распаять шины адреса и данных можно, а клоков нет.
Направьте в нужном направлении??
Заранее благодарен.
Golikov A.
максимальная пропускная способность нужна для чего? Какая она в цифрах?

Это я к тому что иногда выиграв в скорости передачи данных, так теряются ресурсы проца, что выигрыш не имеет смысла. К примеру если взять обмен большими пакета через SPI, то реализовав его через ДМА, мы получаем практически полностью свободный проц, а на малых расстояниях скорость обмена очень высока. При той же реализации через параллельную шину получаются сравнимые скорости, но 100% загрузку проца на шевеление ногами.

И того мой совет по максимум использовать автоматизированную периферию, которая может автономно без загрузки проца слать данные, самое очевидное что приходит на ум SPI.

Причем если очень извратиться можно подключить несколько каналов SPI и слать данные в параллель.
aaarrr
Цитата(nik135 @ Feb 6 2013, 15:36) *
Смущает, что распаять шины адреса и данных можно, а клоков нет.

GPMC асинхронный, поэтому клоков и нет. Фантастическую скорость на нем не получите.
Обмен с FPGA подразумевается двунаправленный симметричный, или же в какую-либо сторону нужно иметь полосу толще?
nik135
Цитата(Golikov A. @ Feb 6 2013, 17:15) *
максимальная пропускная способность нужна для чего? Какая она в цифрах?

Это я к тому что иногда выиграв в скорости передачи данных, так теряются ресурсы проца, что выигрыш не имеет смысла. К примеру если взять обмен большими пакета через SPI, то реализовав его через ДМА, мы получаем практически полностью свободный проц, а на малых расстояниях скорость обмена очень высока. При той же реализации через параллельную шину получаются сравнимые скорости, но 100% загрузку проца на шевеление ногами.

И того мой совет по максимум использовать автоматизированную периферию, которая может автономно без загрузки проца слать данные, самое очевидное что приходит на ум SPI.

Причем если очень извратиться можно подключить несколько каналов SPI и слать данные в параллель.


Хочется отсылать в комп по сети отсчеты, снятые с 200 Мгц АЦП. У Вас есть опыт по взаимодействию с GPMC? Откуда берется 100% загрузка?

Какова максимальная производительность SPI?

Цитата(aaarrr @ Feb 6 2013, 19:53) *
GPMC асинхронный, поэтому клоков и нет. Фантастическую скорость на нем не получите.
Обмен с FPGA подразумевается двунаправленный симметричный, или же в какую-либо сторону нужно иметь полосу толще?


На самом чипе GPMC_clk есть, наружу с процессорной платы он не выведен.
Вот здесь ti tutorial написано про

Below is the Throughput achived with Writes and Reads between the GPMC and the LPDDR.
Initiator Data Size
(Bytes)
Achieved Throughput
(MB/sec)
GPMC Tx(Write) 156000 51.54
GPMC Rx(Read) 156000 39.21

Это правда?

В сторону чтения с FPGA желательно потолще, запись в FPGA не так критична по скорости.

Подскажите, как грамотно реализовать? не очень понятно, каким отбразом организовать подключение одновременно и nand и связи c fpga. Я так понимаю, нужный чип выбирается gpmc_ncsx ? Каким образом им управлять из linux?
aaarrr
Цитата(nik135 @ Feb 7 2013, 10:08) *
Это правда?

Цифры похожи на правду.

Посмотрите, может для вашей задачи подойдет интерфейс камеры. Ничего другого скоростного нет.
nik135
Цитата(aaarrr @ Feb 7 2013, 12:10) *
Цифры похожи на правду.

Посмотрите, может для вашей задачи подойдет интерфейс камеры. Ничего другого скоростного нет.


Так в интерфейсе камеры только вход, выхода нет никакого rolleyes.gif
aaarrr
Цитата(nik135 @ Feb 7 2013, 15:42) *
Так в интерфейсе камеры только вход, выхода нет никакого rolleyes.gif


Цитата(nik135 @ Feb 7 2013, 10:08) *
В сторону чтения с FPGA желательно потолще, запись в FPGA не так критична по скорости.


А на выход - GPMC/SPI/что-то еще.
Golikov A.
100% нагрузка:

посылка по усарту
задал для ДМА где брать данные и сколько, запустил процесс...
по прерыванию выдла новую порцию


посылка по параллельной шине через порт
взял данные из памяти
выставил адрес
выставил на порт данные
дернул строб данных
выждал паузу
взял следующую порцию..


в СПИ все операции делает железо без проца.
в параллельной шине все операции делает проц.

скорость СПИ в зависимости от процов достигает половины или четверти их частоты. ну правда еще длинна линий важна, но очень не маленькая скорость.... правда я без операционок работаю, может с ними все подругому....
aaarrr
Цитата(Golikov A. @ Feb 7 2013, 18:44) *
в параллельной шине все операции делает проц.

GPMC - это "железная" шина, там процессор ничего не делает. А на "ногодрыжечной" шине конечно 100%
Golikov A.
Принято! Что-то правда не поглядел что там за проц на платке...
nik135
Цитата(Golikov A. @ Feb 7 2013, 22:56) *
Принято! Что-то правда не поглядел что там за проц на платке...


Друзья, именно по поводу подключения подскажете, как и что? К gpmc. как управлять gpmc_csx?
scifi
Может быть, подцепить FPGA к шине DDR? Пусть "слушает" и ловит свои данные оттуда.
nik135
Цитата(scifi @ Feb 8 2013, 11:24) *
Может быть, подцепить FPGA к шине DDR? Пусть "слушает" и ловит свои данные оттуда.


подниму тему, еще интересует данный вопрос, после разгребания текущих дел, опять вернулся к данному вопросу.

У кого есть опыт, поделитесь crying.gif
DASM
Работаю над точно такой же проблемой. Собираюсь подключать на GPMC. Собственно поэтому и смотрю на этот проц, ибо у DM365/8 полная непонятка с внешей шиной, она как бы есть, но на ней и так куча всего висит и вроде как ее использовать можно только если и грузиться с нее же, а это не катит.
agate
Я проектировал slave контроллер длы GPMC( 80МХз). Эта шина синхронная. Если не видите клока то попробуйте на осцилографе наложить ЦПУ клок на cигналы шины и определить GPMC клок. В моем случае эта шина была конфигурируемая по частоте клока и многим другим параметрам. Обратите внимание на endianness.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.