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

 
 
> Передача данных в микроблейз с VHDL уровня.
Ar-han
сообщение Feb 9 2014, 16:41
Сообщение #1


Частый гость
**

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



Всех приветствую!

Есть spartan-3an starter kit.
Спаял ацп плату, данные 8 bit 50 msps.
Задача - передать данные на комп.
После игр с com-портом, остановился на UDP пакетах.

Вопрос 1: как лучше передавать данные процессору с vhdl уровня. Пока что интересуют пакеты по 1000 байт.
Данные собираются на частоте 50 мгц. пакетами по 1000 точек.
Для начала готов терять часть пакетов.
Пока пробую через GPIO. Подвел к контроллеру прерывания ногу и вывел её на vhdl уровень.
Можно данные по 4 байта складывать в GPIO, но всё равно, кажется не будет успевать.

Вопрос 2: Сколько тактов нужно процессору для обработки прерывания и дописывания в строку переменной из порта GPIO?

Вопрос 3: Почему столько ресурсов скушал только microblaze c переферией?
Это нормально?

OS Platform - standalone
UDP пакеты через Lwip

Microblaze + ethernetlite ip.
Процессор на частоте 62.5 mhz.
16 kb local memory
2kB + 2kb cache data, instr DDR2 SDRAM

fpga xc3s700an

Number of Slice Flip Flops 4,337 ___ 36%
Number of 4 input LUTs 5,218 ___ 44%
Number of occupied Slices 4,259 ___ 72%
Total Number of 4 input LUTs 5,358 ___ 45%
Number of MULT18X18SIOs 3 ___ 15%
Number of RAMB16BWEs 17 ___ 85%

Всем спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Feb 9 2014, 21:59
Сообщение #2


Гуру
******

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



Если связались с плис, то по опыту ксалинкса и альтеры все будет немного через одно место (много глюков в обслуживающем софте, потому надо точно знать хороший и проверенный путь)

Микроблайз можно втыкать разными способами, вроде бы самый правильный делать так

Platform Studio - делаете ядро, потом экспортите в SDK, там пишете программу.

Так вот в Platform Studio есть такая фигня как Hardware -> Create or Import Perephiral

в ней делаются новые модули и в ней же они импортяться, чтобы сразу вы поняли куда попали, пишутся они в другой программеsm.gif.
В этой штуке вы говорите что хотите новый модуль, следуя советам визарда создаете его (попросите сразу сделать для него проект в ISE).
Потом в ISE открываете проект, там есть модуль юзер, в нем будет уже пример работы и подсказки куда чего писать.
Пишите и имплементируете модуль
Обратно в платформ студию, опять Create or Import Perephiral, только теперь импортируете модуль. И он появляется в списке IP ядер в пользовательском отделе, перетаскиваете в проц, подключаете, назначаете адрес и ура...

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

Скорость которую вы можете получить. Я на спартане 6 на 100 МГц, с Гигабитным езернетом, с LwIP получил около 8 МБайт в секунду запись-чтение DDR, это на платном МАК контроллере, с поддержкой железного расчета контрольных сумм.
На процессорах АРМ с МАК контроллером, на 100 МГц проце (LPC1768), с кейловским стэком мы имеем порядка 3-4 Мегобайт в секунду.


Сеть с микроблайзом реально проще, за счет готового стэка. Но самый быстрый способ это правда прямая посылка по UDP, без ядра и прочего. В сети много проектов, реализации этого в железе, с расчетом контрольной суммы. Проблема только в выдачи IP адреса платы, и прочим заморочкам связанным с сетью, но если это все можно настроить с компьютера носителя через какой-нибудь RS232-USB, то почему бы и нет.





USB - сложная штука, обычно упирается в драйверы со стороны windows. Вся часть связанная с большой скоростью данных требует своих драйверов, ибо стандартных типа HID нету, а те что есть очень плохо работают, и зачастую на 1 конечной точке не выдают обещанных скоростей, и требуют опять же писать свой драйвер для сбора с нескольких конечных точек для получения полной скорости.

Опять же та часть что в ПЛИС, тоже не проста, и требует шевелений по настройке и обработке, опять же того же микроблайза в итоге, хотя тут я могу ошибаться, плотно тему USB в ПЛИС не изучал.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 9th August 2025 - 03:14
Рейтинг@Mail.ru


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