[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Алекс,
Во-первых, непонятно
>транзакции на запись в оперативную память ПК 16-ть 32-х разрядных слов
транзакция должна начинаться по BusIdle+GNT#, а заканчиваться либо по истечении Latency Timer, либо по Target Disconnect. У вас транзакции *фиксированной* длины, или я неправильно понял?
Во-вторых, зависания при участии bus master распадаются на две категории
1) Неправильное взаимодействие пары REQ#/GNT#; характеризуется тем, что на шине продолжается некая бесполезная активность (смотр. осциллом)
2) Столкновения запись/запись, master/master; характеризуется переходом шины в некое статическое состояние
Ситуация осложняется, если зависание по типу 1 через короткое время переходит в зависание по типу 2.
Попытайтесь классифицировать ваш случай. Может понадобиться сделать простой анализатор шины в этом же кристалле. Про него расскажу (если дело не сдвинется) в пятницу.
--IgorK
P.S. pci_b лучше не смотреть :-)
E-mail: info@telesys.ru