[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Если я не ошибаюсь, вы использовали PCI-core. Не советую вносить изменения в логику его работы – у него должен быть какой-то пользовательский интерфейс. Если же решили разрабатывать свой контроллер, то придется прочитать главу Bus Operation в спецификации. В том, что вы спрашиваете, есть некоторые несоответствия. Сигналы мастера – FRAME# и IRDY#, и target их только принимает. Сигналы target’a – DEVSEL#, TRDY#, STOP#.
FRAME# становится высоким перед последней фазой данных в burst’e. Посмотрите главу Master Initiated Termination – TRDY# может быть активен, а может быть и неактивен в этот момент. Так что тут есть варианты (если TRDY# активен, то да, его надо сделать ‘1’ на следующем такте – т. н. Turn Around). Чтобы с этим разобраться, помимо этой главы (а также главы Target Initiated Termination), необходимо параллельно читать приложение C “State Machines”.
E-mail: info@telesys.ru