Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Управление двунаправленным приемопередатчиком
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Схемотехника
Igor.Kh
Здравствуйте.

Выполняю учебное задание. Необходимо организовать двунаправленную шину данных, но так как нет опыта, то возникают различные вопросы. Хотелось бы услышать ваши советы.

Для организации связи с двунаправленной 24х разрядной шиной данных планируется использовать восьмиканальный шинный формирователь КР1533АП6 в колличестве 3 штук (в приложении приведена краткая функциональная схема).

1. При подаче активного уровня ("0") сигнала выборки на вход COZ_L, шинный формирователь (элемент № 19) переходит в активное состояние.
2. При подаче активного уровня ("0") сигнала ввода/записи данных в блок DIN_L производиться передача данных с шины данных ШД 1 на шину данных ШД 2.
3. При подаче активного уровня ("0") сигнала вывода/чтения данных из блока DOUT_L производиться передача данных с шины данных ШД 2 на шину данных ШД 1.

Так как управление направлением передачи данных производится изменением уровня напряжения по входу COD шинного формирователя, то я использовал логические элементы НЕ (элемент 17) и И (элемент 18) для передачи сигналов DIN_L и DOUT_L по одному каналу, но при этом схема выполнена так, что сигнал вывода данных из блока DOUT_L имеет приоритет перед сигналом ввода данных в блок DIN_L. Вот здесь у меня возникают вопрос:
1. Так как при таком включении шинный формирователь всегда будет производить передачу данных в одном из направлений, в зависимости от того какой из сигналов активен DIN_L или DOUT_L и от выбранного приоритета, то какой из этих сигналов должен быть подан на шинный формирователь сразу после перевода шинного формирователя в активное состояние, сигнал чтения или записи ? Как делают обычно на практике? Или это зависит от общего схемного решения блока, ТЗ?

Я понимаю, скорее всего я "раздул" вопрос, но хочется узнать как это делается в реальных устройствах.

decom
На практике стремятся сократить количество сигналов и плодить два сигнала вместо одного уже не гуд.
Но если очень хочется, вопросов нет. Какой из них раньше не суть важно, главное чтобы к моменту "активации" шинника все сигналы устаканились. Поэтому сначала подают сигналы DIN, DOUT в любой последовательности, а затем через какое то время, скажем 1 такт, подается сигнал выборки. Вот тогда все сработает надежно.
=AK=
Цитата(Igor.Kh @ Apr 6 2013, 06:22) *
1. Так как при таком включении шинный формирователь всегда будет производить передачу данных в одном из направлений, в зависимости от того какой из сигналов активен DIN_L или DOUT_L и от выбранного приоритета, то какой из этих сигналов должен быть подан на шинный формирователь сразу после перевода шинного формирователя в активное состояние, сигнал чтения или записи ? Как делают обычно на практике?


На практике это не играет особой роли. Однако можно принять во внимание, в каком состоянии будет находиться шинный формирователь в момент после включения питания, когда управляющий микроконтроллер еще не инициализирован. При этом (после сброса) все ноги микроконтроллера настроены на вход, и, в зависимости от наличия тех или иных подтягивающих резисторов, могут или болтаться в воздухе, или быть притянуты к земле, или быть притянуты к питанию. Так вот, при этом надо обеспечить, чтобы шинный формирователь не был выбран, а уж если окажется выбран, чтобы работал на прием. Поскольку очень неприятная ситуация, если несколько формирователей на шине одновременно работают на передачу и тянут ее в разные стороны.

А два раздельных сигнала DIN_L и DOUT_L вам не нужны, достаточно одного прямо на вход COD. И вентили, соответственно, тоже абсолютно лишние, выбросьте их нафиг, от них только вред.
Igor.Kh
Спасибо за замечания и советы. Помогли.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.