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

 
 
> Реализация PCI-E x4 на Virtex5, Endpoint Block Plus v1.10 for PCI Express
L_Konstantin
сообщение Feb 18 2011, 10:57
Сообщение #1


Участник
*

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



Имеется собственная плата с FPGA Virtex5, устанавливается в слот PCI-E x4.
В операционке (Винда) собственный драйвер.

При передаче данных по DMA (устройство в режиме master) только в одну сторону, либо операции передачи данных в ПК, либо из ПК, все работает отлично.

Но захотелось большего, и решили запустить full-duplex. И вот здесь возникла проблема: портятся данные, которые приходят из устройства в ПК.
Причем при проведении теста (заполнение памяти устройства константой и ее вычитывание), приложение на компе получает просто странные данные, никаким образом не коррелирующие с исходными. Причем в ChipScope, при попытке обнаружить передачу в EndPoint не заданной константы, этого не обнаружено, что заставляет думать о проблеме с Endpoint либо с его конфигурацией и параметрами...

Есть ли у кого опыть запуска PCIe ядра в дуплексном режиме?
Go to the top of the page
 
+Quote Post
3 страниц V  < 1 2 3  
Start new topic
Ответов (30 - 33)
Anatol'
сообщение Mar 4 2011, 07:23
Сообщение #31


Участник
*

Группа: Свой
Сообщений: 74
Регистрация: 28-01-10
Из: Новосибирск
Пользователь №: 55 106



Цитата(dmitry-tomsk @ Feb 27 2011, 03:26) *
У меня sgdma режим и кольцевые буферы по 50 МБайт, так что таких проблем не было. А вот чтение виснет, скорость для x1 предельная - чипскоп показывает, что обмен идёт, ошибок нет, а ОС висит мёртво. Как только вставляю паузы в последовательности запросов - всё нормально. Возможно, на x8 hard ip не может полностью загрузить полосу и такого эффекта нет, но проверить пока не на чем. А что за железо у Вас?

У нас была похожая проблема.
http://electronix.ru/forum/index.php?showtopic=73356
Вкратце, на дефолтных настройках при слишком бодром потоке данных корка начинала сбрасывать пакеты. А не получив ожидаемого числа пакетов колом может встать уже любая часть системы )
Вылечилось одной галочкой в настройках корки.
Go to the top of the page
 
+Quote Post
Methane
сообщение Mar 4 2011, 07:26
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230



Цитата(Anatol' @ Mar 4 2011, 09:23) *
Вылечилось одной галочкой в настройках корки.

А у Альтеры с кредитами куча гемороя. sad.gif
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Mar 4 2011, 19:48
Сообщение #33


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Цитата(Anatol' @ Mar 4 2011, 10:23) *
У нас была похожая проблема.
http://electronix.ru/forum/index.php?showtopic=73356
Вкратце, на дефолтных настройках при слишком бодром потоке данных корка начинала сбрасывать пакеты. А не получив ожидаемого числа пакетов колом может встать уже любая часть системы )
Вылечилось одной галочкой в настройках корки.

Спасибо за помощь. Правда у меня не вылечилось, да и корка сама не висит, обмен идёт, ошибок не показывает, а windows висит (:
Go to the top of the page
 
+Quote Post
L_Konstantin
сообщение Mar 5 2011, 09:34
Сообщение #34


Участник
*

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



Наконец разобрались с проблемой!...
Дело было в том что ответы на чтение из BAR (RdCmpl) были не корректные (содержали неправильные ReqID, TAG и адрес).
Это происходило в случае если запрос на чтение поступал при одновременном получении и передачи данных - что возникало только в режиме full-duplex (иначе я успевал быстро отвечать и все было ОК).
В результате драйвер не мог вычитывать необходимые данные о состоянии устройства (в нашем случае информацию о произошедшем прерывании), что и приводило к весьма печальным последствиям.
Go to the top of the page
 
+Quote Post

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

 


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


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