Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: С чего начать отладку PCI
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > ISA/PCI/PCI-X/PCI Express
deast
Имеется плата PCI. На плате Xilinx (Virtex), память SDRAM и процессор. Контроллер PCI предполагаем использовать самопальный. Сейчас загружаем Xilinx, запускаем компьютер. Не загружается Windows. Если Все PCI выводы держим в 3-м состоянии, то нормально запускается. Значит на плате закороток между контактами PCI нет. Далее стал по одному контакту ставить в активное состояние. Вся шина AD нормально. Когда начинаю выставлять активными управляющие сигналы (DEVSEL, TRDY, STOP), система перестает загружаться. Делаю вывод, что мое устройство вступает в конфликт с каким-то другим. Не совсем понятно, как происходит процедура инициализации. Что в первую очередь посмотреть?
irum4
Цитата(deast @ Aug 17 2005, 08:37)
Имеется плата PCI. На плате Xilinx (Virtex), память SDRAM и процессор. Контроллер PCI предполагаем использовать самопальный. Сейчас загружаем Xilinx, запускаем компьютер. Не загружается Windows. Если Все PCI выводы держим в 3-м состоянии, то нормально запускается. Значит на плате закороток между контактами PCI нет. Далее стал по одному контакту ставить в активное состояние. Вся шина AD нормально. Когда начинаю выставлять активными управляющие сигналы (DEVSEL, TRDY, STOP), система перестает загружаться. Делаю вывод, что мое устройство вступает в конфликт с каким-то другим. Не совсем понятно, как происходит процедура инициализации. Что в первую очередь посмотреть?
*

Было такое на первых образцах. Рекомендую для начала PCI-выводы держать в 3-м состоянии, а управлялющие сигналы (DEVSEL, TRDY, STOP) и сигналы управления их 3-стабильными буферами (в том числе сигалов AD) вывести на тестовые контакты. Думаю сразу станет видно, почему вешается система.
BSV
А моделировать чтение/запись заголовка конфигурационного пространства пробовали? Биос корректно находит Ваше устройство после ПОСТа? Попробуйте написать программу для чтения/записи заголовка конфигурационного пространства под DOS и посмотреть что в это время на шине делается логическим анализатором (анализатором шины) или осциллографом.

Но лучше все-таки начать с моделирования!!!
deast
Я даже не представляю, как такие программы пишутся. На модели все работает. Сейчас проблема в двух сигналах, которыми отвечает устройство (nTRDY и nDEVSEL). Если их подключаю, то перестает загружаться. Но один раз даже загрузилась и обнаружилось новое устройство, потом опять перестала. Делаю вывод, что контакты на ПЛИС я не напутал, закороток тоже нет. Проблема в логике или временных ограничениях. Надо задавать констрейны...
qwqw
Советую попробовать разобраться с работающим ядром.
Наиболее понятное из тех что мне удалось найти: target_32_33
еще есть файлик с временными диаграммами сигналов в процессе загрузки:pci_top.scf.
Насчет отладки я так ничего толком придумать не смог(имея в наличии только 2-канальный осциллограф).
iosifk
Цитата(qwqw @ Dec 3 2005, 23:03) *
Советую попробовать разобраться с работающим ядром.
Наиболее понятное из тех что мне удалось найти: target_32_33
еще есть файлик с временными диаграммами сигналов в процессе загрузки:pci_top.scf.
Насчет отладки я так ничего толком придумать не смог(имея в наличии только 2-канальный осциллограф).


Когда я играл в эти игры, я понял, что самый простой способ жизни - вставлять логический анализатор в свой проект. Это конечно не самое крутое, но используя DCM можно иметь несколько временных уровней записи от 33 МГц клока. Пример у меня на сайте - в статьях.
По поводу инициализации PCI - есть вариант, когда инициализация делается командами записи в порт. Эту инициализацию можно написать самому и гонять в цикле.
Удачи!
qwqw
еще есть удобная программа PCIScope от APSoft, которая позволяет получить доступ к конфигурационному пространству любого устройства на шине. + еще всякая ерунда
Eduard_k
Подскажите где взять лекарство для WinDriver 8.02
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.