Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Мастер PCI не выставляет FRAME# в CONF_READ
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > ISA/PCI/PCI-X/PCI Express
hdl_student
Добрый день.

На Altera Cyclone EP1C12 написан простенький контроллер PCI (стандарт - 3.0).

В 4-х разных компьютерах и 2-х крейтах CompactPCI это художество преспокойно работает. На одной материнской плате мастер PCI при загрузке не хочет выставлять FRAME# в режиме CONF_READ.

Нажмите для просмотра прикрепленного файла

В SignalTap поставил буфер в 1К, вижу как контроллер перебирает соседей, доходит до меня, выставляет C/BE#, AD, FRAME#, я отвечаю DEVSEL# и TRDY#, и тут (такт №2-3) мастер выставляет следующий адрес в конфигурационном пространстве и не выставляет новый FRAME#.

1. Допущено отклонение от стандарта?
2. Подразумевается какой-то burst? Соседям он почему-то выставляет их раздельно, да и в стандарте такого вроде бы нет.
3. Мастер выставляет второй IDSEL очень длинным, будто бы ждет от меня чего-то. Чего - не понятно.

Попробовал вставлять и убирать дополнительные такты ожидания, сужая или расширяя пару DEVSEL# и TRDY# - не помогает.

Заранее признателен.
hdl_student
Дополнительные четыре часа хождения по кругу SignalTap - стандарт PCI - SignalTap сделали свое дело.

Оказалось, что я неправильно считал PAR, на что забивали другие материнки и процессорные модули, а эта оказалась принципиальной. Аж 8 раз пыталась стрясти с моего контроллера данные.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.