|
Проблема с запуском PCI9054 |
|
|
|
Sep 13 2006, 14:28
|
Группа: Новичок
Сообщений: 6
Регистрация: 21-04-06
Пользователь №: 16 361

|
Такая заморочка убираю EEPROM, подтягиваю резистор у сигнала EEDI/EEDO на землю, врубаю плату, BIOS чудесно находит плату, на некоторых машинах даже система грузица, на некоторых правда или вкапываеца при загрузке или грузицо, но не работают мышь и клава но вот если шью EEPROM (примером что для кита идет), вставляю ее, резистор теперь делаю на питалово и ни биос ни ОС не видят карты вообще.
из-за чего такое может быть? локальные сигналы (я их вроде как надо посадил внутри ПЛМ)? или все же прошивка не та? пытаюсь завести в режиме J, но пробовал и в С - результат тот же
|
|
|
|
|
Sep 14 2006, 07:23
|
Группа: Новичок
Сообщений: 6
Регистрация: 21-04-06
Пользователь №: 16 361

|
4-х слойная 2 сигльнальных, 2 питалова (один земля, один +3,3В ) что-то я как-то особо не придал значения их разводке, развел как всегда разводил PCI платы но давно делал плату на PCI9052, там все чудесно рабоатет, так же на 4-х слоях
|
|
|
|
|
Mar 27 2008, 09:00
|
Группа: Новичок
Сообщений: 4
Регистрация: 25-03-08
Пользователь №: 36 219

|
Приветствую! У нас такая же проблема, вы смогли решить ее? Если смогли, поделитеся опытом! Буду только благодарен!
|
|
|
|
|
Aug 29 2008, 11:38
|
Группа: Участник
Сообщений: 12
Регистрация: 8-02-08
Из: Минск
Пользователь №: 34 867

|
Подскажите, пожалуйста, что может быть. Есть плата с PCI9054. Контроллер установлен в режим "С". Контакт EEDI/EEDO занулен через резистор 1кОм. LHOLD через Альтеру соединен с LHOLDA. Биос не видит контроллер. В списке обнаруженных устройств он не значится. Если системный диск не подключен, то после соответсвующего сообщения наблюдаем на PCI-шине обращение к контроллеру с завершением транкзакции целью, т.е. PCI9054 вырабатывает сигнал STOP# и происходит завершение транзакции типа "Retry", которая крутится в цикле. Но если обрезать ножку 5 "AD25" PCI9054 и оставить в воздухе, то при старте контроллер обнаруживается и с ним можно работать, читать шину LD и т.д., за исключением того, что в данных записываемых и считываемых с контроллера, бит данных нулевой. Что же это может быть?
|
|
|
|
|
Aug 29 2008, 18:29
|

Частый гость
 
Группа: Свой
Сообщений: 173
Регистрация: 5-11-07
Из: Чернигов, Украина
Пользователь №: 32 078

|
Ух, давно это было, когда я PCI9054 оживлял. Если LHOLD на LHOLDA закоротили, то считается, что локальный процессор разрешает конфигурацию, точнее как бы выполнил ее, т.к. EEPROM отсутствует (pulldown). Есть еще такой сигнал, как CCS# с ним тоже нужно что то было сделать. Вроде посадить его на землю, что б разрешить конфигурировать регистры PLX PnP BIOS. Иначе получалось, что компьютер зависал на цикле конфигурации и не грузился дальше. Возможно сейчас контроллеры PCI на материнских платах стали умнее и просто отключают такое устройство. Я запускал все это на i568. Отрезанный адрес, возможно, являлся сигналом IDSEL, который начинает конфигурационную последовательность для устройств на PCI.
|
|
|
|
|
Aug 30 2008, 17:28
|
Группа: Участник
Сообщений: 12
Регистрация: 8-02-08
Из: Минск
Пользователь №: 34 867

|
Спасибо, chds. В понедельник попробую с CCS# и отпишу.
|
|
|
|
|
Sep 1 2008, 06:42
|
Группа: Участник
Сообщений: 12
Регистрация: 8-02-08
Из: Минск
Пользователь №: 34 867

|
 К сожалению заземление контакта CCS# не помогло, если раньше биос проходил поиск PCI-устройств и выходил на загрузку системы, то теперь на экране проскакивает Detecting IDE drivers и машина виснет, в это время идет конфигурационное чтение контроллера по адресу 08h, которое обрывает контроллер, завершая транзакцию STOP# и это крутится в цикле. Что еще может быть?
|
|
|
|
|
Sep 2 2008, 07:39
|
Местный
  
Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284

|
Цитата(Cronter @ Sep 1 2008, 10:42)   К сожалению заземление контакта CCS# не помогло, если раньше биос проходил поиск PCI-устройств и выходил на загрузку системы, то теперь на экране проскакивает Detecting IDE drivers и машина виснет, в это время идет конфигурационное чтение контроллера по адресу 08h, которое обрывает контроллер, завершая транзакцию STOP# и это крутится в цикле. Что еще может быть? CCS# к земле подтягивать совершенно не нужно. CCS#=0 означает что начинается цикл обращения от локального устройства к PLX. Проверьте сигнал READY. Его нужно подтянуть к земле и соеденить LHOLDA и LHOLD. В этом случае цикл на локальной шине завершиться нормально. При загрузке компьютера BIOS пытается прочитать область EPROM, если она разрешена в конфигурационной ПЗУ. Это три-четыре обращения. Если нет RDY, то PLX как раз и впадает в вечный цикл c командой RETRY (STOP#=0) У нас была плата, на которой при незапрограммированной ПЛИС была как раз такая ситуация. Так вот, для первого включения заклеивали скотчем PCI разъём в районе управляющих сигналов и программировали ПЛИС. А уже после этого - PLX. Потом стали READY к земле подтягивать - жизнь стала легче :-)
|
|
|
|
|
Sep 2 2008, 12:05
|
Группа: Участник
Сообщений: 12
Регистрация: 8-02-08
Из: Минск
Пользователь №: 34 867

|
Что-то не получается. Поэтому давайте по-порядку. Что есть изначально: 1) MODE0 и MODE1 - заземлены 2) CCS# - в воздухе (внутренняя подтяжка) 3) BREQi - заземлен 4) EEDI/EEDO - заземлен через 1 кОм 5) LEDI - к питанию через 10 кОм 6) LHOLD через Альтеру соединен с LHOLDA и запаздывает на один такт LCLK 7) BTERM#, LSERR#, WAIT#, BIGEND#, DMPAF/EOT# - в воздухе (внутренняя подтяжка) 8) DP[3:0] - в воздухе (внутренняя подтяжка) 9) ADS#, BLAST#, LRESET# - идут на входы Альтеры и подтянуты через 10 кОм к питанию 10) USERi - подтянут через 10 кОм к питанию 11) USERo - в воздухе 12) READY# - идёт на выход Альтеры и подтянут через 10 кОм к питанию 13) TEST - через 1 кОм заземлен 14) LINT# - идёт на выход Альтеры и подтянут через 10 кОм к питанию 15) PME и ENUM - в воздухе 16) LCLK - берется с шины PCI (33МГц) через буфер, стоящий рядом с шиной Теперь что делал. CCS# землил, не помогло. Отрезал READY# от подтяжки к питанию, землил через 1,5 кОм (встречал инфу, что землят через 10 кОм), у Альтеры выход ОК, не помогло. Обе процедуры вместе не делал. Что не так?
|
|
|
|
|
Sep 4 2008, 09:55
|
Местный
  
Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284

|
Цитата(Cronter @ Sep 2 2008, 16:05)  Что-то не получается. Поэтому давайте по-порядку. Что есть изначально: Теперь что делал. CCS# землил, не помогло. Отрезал READY# от подтяжки к питанию, землил через 1,5 кОм (встречал инфу, что землят через 10 кОм), у Альтеры выход ОК, не помогло. Обе процедуры вместе не делал. Что не так? READY# подтягиваем к земле и смотрим осциллографом цикл на локальной шине Должна быть следующая последовательность: (по тактам) 1. LHOLD=1 - запрос на захват шины 2. LHOLDA=1 - разрешение захвата шины 3. ADS=0 - строб адреса 4. ADS=1, BLAST=0 - признак последнего адреса, в это время должен быть READY=0 Если READY=0, то переход к п.6 иначе ждём до бесконечности или таймаута - задаётся в регистрах управления PLX 5. BLAST=1 6. LHODL=1 7. LHOLDA=1 и т.д.
|
|
|
|
|
Sep 4 2008, 13:23
|
Группа: Участник
Сообщений: 12
Регистрация: 8-02-08
Из: Минск
Пользователь №: 34 867

|
У меня на Альтере собрана схема, которая обеспечивает PCI Target цикл, те последовательность описанную вами. Причем, если оторвать один из AD, о чем я писал ранее, плата обнаруживается и можно работать с Альтерой по этому циклу, разрешив 0-space. Т.е., видимо, Альтера вырабатывает READY# верно. Кроме того, READY# вырабатывается при любом обращении к локальной шине, независимо наш адрес или нет. Я подумал, что может надо уточнить то, что плата работает на PCI-шине стандарта PC104+. И последнее, при загрузке во время работы биоса есть обращение к локальной шине, два чтения и Альтера отвечает. Подскажите, если есть какие-то мысли.
Сообщение отредактировал Cronter - Sep 4 2008, 13:24
|
|
|
|
|
Sep 4 2008, 15:52
|
Местный
  
Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284

|
Цитата(Cronter @ Sep 4 2008, 17:23)  Причем, если оторвать один из AD, о чем я писал ранее, плата обнаруживается Старнно это, похоже что считывается неправильная информация из конфигурационных регистров и BIOS дуреет. Эффект проявляется только при этой ножке: AD25 или отрывание других тоже приводит к загрузке ?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|