Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопрос к спецам по PCI
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > ISA/PCI/PCI-X/PCI Express
doomer#gp
При отладке процесса чтения конфигурации устройств на шине с HOST PCI контроллера проц уходит в себя после чтения попытки байта.Пробовал с разными карточками. Jtag-ом через OCD Comander после такой неудачной команды проц не контролируется. Собственно, есть подозрения на неправильную конфигурацию PCI контроллера и частот шин. Прилагаю снятую с PCI шины осцилограмму. Отсутствующие на рисунке сигналы не менялись (PERR#, SERR#, STOP#, C/BE1#, C/BE3# - оставались на на уровне +3V3). Сигнал C/BE2# после 4-х клоков, т.е. выставления команды, судя по осцилограмме перходит в Z state......не это у меня скорее всего подтягивающий резистор не пропаян !!


Нажмите для просмотра прикрепленного файла
BSV
Картинка довольно неудачная, сложно что-то понять, поскольку взаимное расположение сигналов по времени сложно разобрать при такой цене деления (какова она кстати?) временнОй шкалы. Что происходит с шиной AD (правильно ли выставляется PAR)? Что за процессор?
doomer#gp
Вот 20nS развертка . Насчет 4-клоков я конечно неправ. Посмотрел по PCI Spec - на шине выставляется команда Configuration Read.

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

Для bus=0, dev=0 работает нормально и возвращает конфигурационный данные встроенного моста.
если Dev >0 то происходит следующее: первая операция чтения завершается нормально(ее осцилограмма приведена), а повторная приводит к зависанию проца. Причина подвисания пока не понятно, есть подозрение что инструкция чтения из адресного пространства ввода-вывода не может завершиться. Вставленные карточки выставляют TRDY, вроде как и положено по спецификации. Проц AMCC PPC440EP.

Забыл, VENDOR_ID у воткнутой платы в первой команде читается верно, повторное чтение и подвис. Регистр делителя синхронного клока для PCI сконфигурил как сказано в спецификации на проц - сначала было неверно.
doomer#gp
Косяк вроде как найден. IDSEL подключен на IDSEL проца как для TARGET (вот так опечатался в схеме), а надо первый на AD22, а второй на AD20. Попробую высверлить в переходных отверстия и напаять проводами.
vitan
Цитата(doomer#gp @ Apr 21 2008, 14:15) *
Косяк вроде как найден. IDSEL подключен на IDSEL проца как для TARGET

Это как? Все IDSEL-ы замкнуты между собой и не имеют источника?
Сообщите, помогло ли?

У меня есть сходная проблема: читаю конфигурацию перифериной платы, всегда неправильно читаются Vendor ID и Device ID (остальные регистры - нормално). Но, если эту же периферийную плату поставить за доп. мостом, то читается правильно...
doomer#gp
Ах, да совсем забыл написать о результатах поиска косяков. Возможно, кому-нибудь пригодится.


Итак проблем было две.

1. Неточное выставление тактовой частоты внешнего сигнала PCI CLK (отличие от 33 или 66).
2. Отрицательный выброс на фронте тактового. Похоже мощный драйвер синтезатора, от которого идет раздача по всем потребителям тактового PCI.

Выставил предельно точно частоты, слегка затерминировал выход синтезатора.

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