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

 
 
 
Reply to this topicStart new topic
> С чего начать отладку PCI
deast
сообщение Aug 17 2005, 05:37
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 8-06-05
Пользователь №: 5 827



Имеется плата PCI. На плате Xilinx (Virtex), память SDRAM и процессор. Контроллер PCI предполагаем использовать самопальный. Сейчас загружаем Xilinx, запускаем компьютер. Не загружается Windows. Если Все PCI выводы держим в 3-м состоянии, то нормально запускается. Значит на плате закороток между контактами PCI нет. Далее стал по одному контакту ставить в активное состояние. Вся шина AD нормально. Когда начинаю выставлять активными управляющие сигналы (DEVSEL, TRDY, STOP), система перестает загружаться. Делаю вывод, что мое устройство вступает в конфликт с каким-то другим. Не совсем понятно, как происходит процедура инициализации. Что в первую очередь посмотреть?
Go to the top of the page
 
+Quote Post
irum4
сообщение Aug 17 2005, 09:00
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 224
Регистрация: 18-06-04
Пользователь №: 54



Цитата(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) вывести на тестовые контакты. Думаю сразу станет видно, почему вешается система.


--------------------
Электроника - наука о контактах.
Go to the top of the page
 
+Quote Post
BSV
сообщение Aug 18 2005, 14:10
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 541
Регистрация: 11-04-05
Из: Москва
Пользователь №: 4 045



А моделировать чтение/запись заголовка конфигурационного пространства пробовали? Биос корректно находит Ваше устройство после ПОСТа? Попробуйте написать программу для чтения/записи заголовка конфигурационного пространства под DOS и посмотреть что в это время на шине делается логическим анализатором (анализатором шины) или осциллографом.

Но лучше все-таки начать с моделирования!!!


--------------------
Дурак, занимающий высокий пост, подобен человеку на вершине горы - все ему кажется маленьким, а всем остальным кажется маленьким он сам. /Законы Мерфи/
Go to the top of the page
 
+Quote Post
deast
сообщение Aug 19 2005, 05:15
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 8-06-05
Пользователь №: 5 827



Я даже не представляю, как такие программы пишутся. На модели все работает. Сейчас проблема в двух сигналах, которыми отвечает устройство (nTRDY и nDEVSEL). Если их подключаю, то перестает загружаться. Но один раз даже загрузилась и обнаружилось новое устройство, потом опять перестала. Делаю вывод, что контакты на ПЛИС я не напутал, закороток тоже нет. Проблема в логике или временных ограничениях. Надо задавать констрейны...
Go to the top of the page
 
+Quote Post
qwqw
сообщение Dec 3 2005, 20:03
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 192
Регистрация: 23-11-05
Из: г. Москва
Пользователь №: 11 307



Советую попробовать разобраться с работающим ядром.
Наиболее понятное из тех что мне удалось найти: target_32_33
еще есть файлик с временными диаграммами сигналов в процессе загрузки:pci_top.scf.
Насчет отладки я так ничего толком придумать не смог(имея в наличии только 2-канальный осциллограф).
Go to the top of the page
 
+Quote Post
iosifk
сообщение Dec 5 2005, 06:52
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(qwqw @ Dec 3 2005, 23:03) *
Советую попробовать разобраться с работающим ядром.
Наиболее понятное из тех что мне удалось найти: target_32_33
еще есть файлик с временными диаграммами сигналов в процессе загрузки:pci_top.scf.
Насчет отладки я так ничего толком придумать не смог(имея в наличии только 2-канальный осциллограф).


Когда я играл в эти игры, я понял, что самый простой способ жизни - вставлять логический анализатор в свой проект. Это конечно не самое крутое, но используя DCM можно иметь несколько временных уровней записи от 33 МГц клока. Пример у меня на сайте - в статьях.
По поводу инициализации PCI - есть вариант, когда инициализация делается командами записи в порт. Эту инициализацию можно написать самому и гонять в цикле.
Удачи!


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
qwqw
сообщение Jun 7 2006, 09:09
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 192
Регистрация: 23-11-05
Из: г. Москва
Пользователь №: 11 307



еще есть удобная программа PCIScope от APSoft, которая позволяет получить доступ к конфигурационному пространству любого устройства на шине. + еще всякая ерунда
Go to the top of the page
 
+Quote Post
Eduard_k
сообщение Jul 27 2006, 04:44
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 196
Регистрация: 14-04-06
Пользователь №: 16 137



Подскажите где взять лекарство для WinDriver 8.02
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 13th August 2025 - 12:06
Рейтинг@Mail.ru


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