Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите разобраться с PLX 9052
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > ISA/PCI/PCI-X/PCI Express
_ANDREW
Подскажите кто нибудь использовал в своих вводилках PCI мост PLX9052?
Nikolay_MarkII
Вообще-то Вам сюда надо было написать

http://electronix.ru/forum/index.php?showf...filter=all&st=0
makc
Цитата(_ANDREW @ May 30 2006, 06:48) *
Подскажите кто нибудь использовал в своих вводилках PCI мост PLX9052?


Кто-нибудь точно использовал. Например я.
_ANDREW
подскажите пожалуйста, мне необходимо сделать простую PCI вводилку. я собираюсь соединить PLX через ПЛИС с 2 банками памяти. Чтобы входной сигнал писался поочерёдно в каждую микруху памяти и также поочерёдно читался из микросхем памяти PLXом. Для начала хочу попробывать режим 8ми разрядной Local Bus. Ознакомился с описанием PLX. Вопрос, чтобы просто читать из памяти в 8ми разрядном режиме достаточно ли использовать пины: LAD[7,0];LBE[1,0];LCLK;RD#;LRDYi#. ЕСли нет, то подскажите что и почему ещё необходимо.
makc
Цитата(_ANDREW @ Jun 7 2006, 12:58) *
подскажите пожалуйста, мне необходимо сделать простую PCI вводилку. я собираюсь соединить PLX через ПЛИС с 2 банками памяти. Чтобы входной сигнал писался поочерёдно в каждую микруху памяти и также поочерёдно читался из микросхем памяти PLXом. Для начала хочу попробывать режим 8ми разрядной Local Bus. Ознакомился с описанием PLX. Вопрос, чтобы просто читать из памяти в 8ми разрядном режиме достаточно ли использовать пины: LAD[7,0];LBE[1,0];LCLK;RD#;LRDYi#. ЕСли нет, то подскажите что и почему ещё необходимо.


Вам нужно использовать следующие сигналы:
CS0#, CS1#, ADS#, LAD[7:0], LCLK, RD# (если нужны определяемые ПЛИС такты ожидания, то LRDY#).
CS0# - пойдет на 1-ю ПЛИС, CS1# - на 2-ю. Остальные сигналы должны идти на оба кристалла ПЛИС.
_ANDREW
Здравствуйте!!! maks подскажите, возникла следующая проблема. При чтении с local bus pci9052 посылает повторные импульсы RD#. например при чтении 10 байт выдаёт 10 отрицательных импульсов, в соответствии с которыми забирает данные с local bus, и сразу выдаёт на RD# ещё 10 такихже импульсов по которым чтение не ведётся. Почему возникают эти повторные импульсы, как от них избавится.
makc
Цитата(_ANDREW @ Jul 7 2006, 11:48) *
Здравствуйте!!! maks подскажите, возникла следующая проблема. При чтении с local bus pci9052 посылает повторные импульсы RD#. например при чтении 10 байт выдаёт 10 отрицательных импульсов, в соответствии с которыми забирает данные с local bus, и сразу выдаёт на RD# ещё 10 такихже импульсов по которым чтение не ведётся. Почему возникают эти повторные импульсы, как от них избавится.


Это у Вас включен режим prefetch для этого диапазона адресов. Вот он и пытается заранее прочитать данные, которые могут потом понадобиться - этакая реализация read ahead. Отключается установкой бита 3 в 0 в соответствующем регистре LASxRR. Кроме того, нужно установить биты 3-5 в 0 в соотвествующем регистре LASxBRD, где x - номер адресного пространства.
_ANDREW
Я уже всё пробывал, и LASxRR, и LASxBRD. что интересно, даже при выставлении 1 в 0 бите в LAS0BRD (т.е. работа в BURST MODE, один отрицательный спад RD# на несколько адресов) у меня проходит один спад RD# на каждые данные.
_ANDREW
Да, и ещё интересная ситуация, количество стробов RD# зависит от того какой командой производится чтение. по команде db 48100000 l 5 по RD# проходит сначала 5 импульсов и затем снова 5.
по команде dw 48100000 l 5 проходят 2 импульса, а затем 5 импульсов.
makc
Цитата(_ANDREW @ Jul 10 2006, 11:55) *
Да, и ещё интересная ситуация, количество стробов RD# зависит от того какой командой производится чтение. по команде db 48100000 l 5 по RD# проходит сначала 5 импульсов и затем снова 5.
по команде dw 48100000 l 5 проходят 2 импульса, а затем 5 импульсов.


А что творится на линиях LBE# и линиях адреса, когда идут последние 5 импульсов? Выдается-ли перед ними очередной импульс ADS#.
_ANDREW
При посылке команды db 48100000 l 4 получается результат (см. вложение). 1 пачка импульсов зависит от команды (db, dw, dd) вторая пачка не зависит.есть предположение что первая пачка это то что читается из FIFO и выводится на экран (поэтому зависит от команд, те если выводить словами то количество выводимых слов уменьшается, а количество байт остаётся прежней). вторая пачка это то что читается из Local Bus в FIFO и поэтому не зависит от команды.
На LBE0 происходит как в перой, так и второй пачке.
Не могли бы вы написать содержимое EEPROM (регистры локальные и PCI).
makc
Цитата(_ANDREW @ Jul 11 2006, 11:27) *
При посылке команды db 48100000 l 4 получается результат (см. вложение). 1 пачка импульсов зависит от команды (db, dw, dd) вторая пачка не зависит.есть предположение что первая пачка это то что читается из FIFO и выводится на экран (поэтому зависит от команд, те если выводить словами то количество выводимых слов уменьшается, а количество байт остаётся прежней). вторая пачка это то что читается из Local Bus в FIFO и поэтому не зависит от команды.
На LBE0 происходит как в перой, так и второй пачке.


Это похоже именно на prefetch с глубиной 4.

Цитата
Не могли бы вы написать содержимое EEPROM (регистры локальные и PCI).


У меня эти настройки довольно специфические. smile.gif
Так что будет проще, если Вы дадите дамп своих настроек - там уже можно будет посмотреть более конкретно.
DESTROY_ru
Всем спасибо. Проблема сигналов RD заключалась в глючности родного отладчика PLXmon(под DOS).
Пришлось написать свой отладчик под NT. Инцендент исчерпан. На последнем шаге выявился глюк, при чтении "больших" объемов памяти 8Кб. Система зависает наглухо... Может надо фильтрики какие-то от помех поставить что-бы работало устойчиво. Посоветуйте плиз... blink.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.