Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Вот в том и дело, что "Сначала "встает" /ОЕ, потом, в его "окне", /WR".
Когда /OE =0, а /WR еще нет, 245 включается и передает с А на B.
То есть, "дерется" с процессором, который тоже уже выставил данные.
И только по приходу /WR он переключится обратно, но тоже некоторое время передает на А тот бардак, который натворил на шине В.
Кроме того, многие микросхемы требуют, чтобы при появлении /WR данные уже стояли. А у тебя они появятся в лучшем случае на задержку переключения 245 позже /WR, а реально еще и с мусором в начале.
Если же сделать, как положено, то есть шину А к процессору и /RD на DIR, то при выборке 245 сразу передает наружу, там ей драться не с кем, т.к. /RD еще нет. При записи все замечательно - данные уже стоят в нужном направлении, никто никуда не переключается.
При чтении тоже - процессор сначала переводит шину на чтение, а после этого дает /RD. То есть 245 может вполне законно переключаться.
Обратно - аналогично. Снимается /RD, что выключает выход устройства, из которого читаем, и одновременно переключается 245. А уже потом процессор опять делает шину выходом.
Составить ответ | Вернуться на конференцию.
Ответы