|
PCI Express PEX 8311 кто пробовал, Мост PCI Express PEX 8311 Вопросы по применению |
|
|
|
Aug 2 2008, 17:45
|
Участник

Группа: Свой
Сообщений: 27
Регистрация: 28-02-07
Из: Россия г. Омск
Пользователь №: 25 762

|
Здравствуйте. Кто нибудь пробовал мост PCI Express PEX 8311 ( 1-lane PCI Express (PCIe) to 32-bit, 66MHz generic local bus bridge) ? Есть необходимость передачи данных в компьютер, скорость нужна 80-100 мегабайт/сек. Раньше делал подобное на PCI, но там скорость была около 2 мегабайт/сек. Использовал Altera Cyclone II. Теперь скорости выросли и решил что на ПЛИС я такое сам не напишу, плюс драйвера придется как обычно самому писать. Если кто реально пробовал поделитесь информацией. Интересуют главным образом проблемы, которые возникают при разработке устройства и макс. скорость. И еще проблема никак не могу скачать у них (http://www.plxtech.com/products/expresslane/pex8311.asp) необходимую документацию. Как и где я уже только не регистрировался чтобы стать Membership как они требуют. Если кто-то уже скачал (ссылка выше) необходимую информацию выложите пожалуйста куда-нибудь (можно на фтп) или ссылочку где это нормально можно скачать. На фтп видел PLX PCI SDK, больше ничего не нашел. Спасибо.
|
|
|
|
|
Aug 3 2008, 16:08
|
Местный
  
Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788

|
Цитата(HardJoker @ Aug 3 2008, 08:07)  Что означает "В PowerPC вроде получше..."? Имеется ввиду какой-либо SoC PowerPC с поддержкой PCIe? Именно.
|
|
|
|
|
Aug 4 2008, 17:03
|
Участник

Группа: Свой
Сообщений: 27
Регистрация: 28-02-07
Из: Россия г. Омск
Пользователь №: 25 762

|
Если не секрет, какие размеры приемных-передающих буферов понадобились для обеспечения такой скорости.
|
|
|
|
|
Aug 5 2008, 00:48
|
Местный
  
Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788

|
Цитата(Dmitry_D2 @ Aug 4 2008, 20:03)  Если не секрет, какие размеры приемных-передающих буферов понадобились для обеспечения такой скорости. Razdel'no na priem i peredachu v Spartane -> 512x32.
|
|
|
|
|
Jan 9 2009, 09:33
|

Гуру
     
Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329

|
Здравствуйте. Имею счастие возиться с PEX 8311 <=> EP2C50 Возник вопрос, от безысходности что ли решил написать ( уже и саппорт перемучал и ДШ перечитал...) В обсчем умею писать/читать данные с него в режиме Direct Master. Только понадобилось заюзать DMA - надо много чего гонять в компутер быстро.. Для огранизации сего использовал диаграмму 6.58 из "PEX_8311AA_Data_Book_v0.95_07Mar07.pdf" Времянки проверил, логика как на диаграмме. Пробую самый простой вариант - выдавать значения счётчика - в результате получал массив в котором все элементы равны 1-му. Думал что траблы в READY# - отрубил его в DMAMODE0 - времянка как на 6.58, только без READY# - он в "1" - в результате вообсче получаю все нули... Проверял даже значение на LAD - меняются, данные выдаются столько сколько запрашиваю с ПК... Прикинул - если времянка как на родной диаграмме и READY# отключен - ну не бывает так чтоб не работало.... В обсче м вот такая ситуация - может работал кто, подскажет куда смотерть
|
|
|
|
|
Jan 9 2009, 10:50
|
Местный
  
Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804

|
Может я чего-то не понимаю, а может, есть действительно реальная необходимость в использовании решений типа PEX8311AA? В чем его преимущество перед стандартным мостом PCIe-PCI? Тем более, что мост PCIe-PCI доступен как минимум от трех разных производителей, а PEX8311AA аналогов у других производителей не имеет.
В нашем случае мы использовали мост PCIe-PCI XIO2000A. Максимальная производительность линка зависит от конкретного чипсета, но на цифру порядка 160MB/sec в сторону памяти компьютера от PCIe платы можно рассчитывать всегда. Пишем мастером, мастер реализован в FPGA Cyclone III, работаем на 66Mhz PCI шине. К недостаткам решения относится полудуплексная передача данных - общий недостаток PCI как таковой, сравнительно медленная скорость чтения данных из памати компьютера - порядка 100MB/sec, относительная сложность отладки готового устройства. Лучших результатов можно достичь только имея встроенное в проект ядро, однако в нашем случае это приводит к неоправданному и сильному удорожанию всего проекта.
--------------------
WBR, V. Mirgorodsky
|
|
|
|
|
Oct 6 2009, 02:49
|
Частый гость
 
Группа: Свой
Сообщений: 85
Регистрация: 5-07-06
Из: Барнаул
Пользователь №: 18 592

|
Когда используется режим DMA, контроллер выступает мастером на обоих шинах: Локальной и PCIe. Если внешнее устройство на Локальной шине является мастером, то это устройство может записывать напрямую в память в cont. Burst перебирая адрес, без всяких "переинициализаций DMA" - хоть Block, хоть SGL. (Хотелось бы даже записывать в другое устройство на шине, например в RAID ). Т.е. попытаться сделать как вы говорили: "1 сплошной трансфер". При такой схеме надо будет отслеживать Ready. Это у меня такое мнение создалось :-) , поэтому на истину не претендую, даже скорее наоборот, прошу совета.
Запустить в режиме DMA не составило труда. Даже запись конф. регистров с Локальной шины получилась :-) , а вот что то с настройкой Direct Master регистров для записи в память разобраться не могу. Как сопоставить Локальный адресс с адресом PCI? Т.е. Грубо говоря, выделил блок памяти, знаю его физический адрес, отобразил на логический. Что надо сделать, что бы Direct Master записал что-нибудь именно в этот участок? пусть даже хоть как-нибудь, хотя бы одно словечко. :-)
Сообщение отредактировал NahaL - Oct 6 2009, 02:51
|
|
|
|
|
Oct 6 2009, 18:06
|

Гуру
     
Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329

|
2 NahaL - на счёт Цитата Как сопоставить Локальный адресс с адресом PCI? Вы скачали ДДК и всё прилагающееся к чипу со стороны ПК с сайта PLX ? Там пример есть у PLX - по нему легко научится. Я сам не программил серЙозно это чЮдо со стороны ПК, были программисты, я только самаую малость с ним возился со стороны ПК. На сколько я помню в наборе всякого кода от PLX функция была - записать/прочитать данные, и в нём один из параметров как раз адрес что я видел у себя на локальной шине. Вот как то так... На счёт скорости вообсче - вы видели что есть чип ? - это спайка 2-х уже имевшихся чипов , там взаимодействие между ними через фифошки организовано, то есть быстрей чем забирает PCIe часть вы ложить не сможете всё равно каким макаром ( на 150МГц он у вас уже будет при любой записи в него (в смысле был ли дма запрос вашей логики прочитать с неё данные или нет ) притормаживать - как раз за счёт перехода данных через эти фифошки - это как бы ответ самому себе на пост выше  ). Мы использовали ДМА потому что сначала думали что это как бы забор данных сразу всего и без остановок на перекур  ..
|
|
|
|
|
Oct 14 2009, 13:42
|
Частый гость
 
Группа: Свой
Сообщений: 85
Регистрация: 5-07-06
Из: Барнаул
Пользователь №: 18 592

|
Если рассматривать чип как мост, коим он и является, то как раз и менее скоростным и является PCIe интерфейс( пиковая скорость 250 Мб/с, в то время как у локалбной шины скорость 264 Мб/с (Мб с смысле 10^6 :-) ). Так зачем в таком случае занимать шину PCIe всякими дескрипторами DMA(будь-то SGL или переиниц. Block). Можно завести дескрипторы в памяти со стороны Локальной шины. Так всё и собираюсь попробовать, только даст ли это прирост скорости, на этой недели хочу и узнать. Сомнения вызывает то, что происходит переинициализация DMA через каждые 4Мб данных: и запись пары регистров - капля в море(только вопрос времени... :-) )
И еще... Если на одну шину "повесить" две платы с мостом PEX8311, то между ними можно обмениваться без участия процессора и оперативной памяти. С этим всё понятно. Значит и можно обмениваться м/у мостом и другим устройством, например RAID, видеокарта и т.д. Только как узнать физический адреса буфера в памяти "стандартного" устройства, который используется в пользовательской программе?
Сообщение отредактировал NahaL - Oct 14 2009, 13:12
|
|
|
|
|
May 19 2015, 09:02
|
Группа: Участник
Сообщений: 12
Регистрация: 19-05-15
Пользователь №: 86 753

|
Тоже работаю с PEX 8311. Необходимо через альтеру согласовать host port сигналника(BF) с PCIe. С программкой PLXMon все работает. Транзакции идут с большими промежутками. НО теперь требуется работать с аналогом этой программы,написанной другими товарищами. Так вот эта программка до 8ми слов подряд читает нормально. Но если запросить больше, то она слепляет транзакции в пачки, расстояние между ними можно регулировать только READY. И читает как то странно. То пропускает пару слов, то повторяет. А главное я не могу понять, в каком режиме PEX работает вообще(( Никто не поможет?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|