Пример использования 32-битового интерфейса для организации простейшей MicroLAN – ЧАСТЬ 1

January 19, 2013 by admin Комментировать »

Для примера построим сеть, изображенную на рис. 6.4. Эта сеть использует четырехпроводный телефонный кабель для организации двух линий связи с активным питанием датчиков. На каждой из линий для простоты расположено по два датчика. Линии связи подключены к двум младшим битам первого восьмибитового канала интерфейса. Питание для сети берется от компьютера.

Рис. 6.4. Использование 32-битового интерфейса для управления MicroLAN с двумя линиями связи.

Как уже упоминалось выше, в пространстве ввода/вывода компьютера интерфейс может занимать один из четырех возможных диапазонов адресов. Каждый диапазон состоит из пяти адресов: по одному на каждый восьмибитовый канал связи и один адрес командного слова, или регистра статуса, определяющего режим работы (прием или передача) для каждого канала. Адрес регистра статуса последний (самый старший) в ряду адресов диапазона. Если по этому адресу записан байт, четыре младших бита которого содержат нули, то все каналы интерфейса настроены на прием. Если эти биты содержат единицы, то все каналы настроены на передачу. Иначе говоря, каждый из первых четырех битов регистра статуса ответственен за режим подведомственного ему канала: 0-й бит за режим первого канала, 1-й бит за режим второго канала и т.д. Если управляющий бит содержит "1", то соответствующий канал настроен на передачу, если "0", то на прием.

Предположим, что наш интерфейс настроен перемычками на диапазон адресов 360h 364h. Тогда первый канал будет иметь адрес 360h, а адрес 364h будет принадлежать регистру статуса. Две коммуникационные линии сети подключены, как уже говорилось, к двум младшим битам (нулевому и первому) первого канала интерфейса. Эти два бита выступают как мастера шины для подключенных к ним однопроводных линий связи. Тогда, чтобы перевести обе линии в исходное высокоуровневое состояние, достаточно биты 0 и 1 первого канала перевести в режим приема. Тогда их приемо-передатчики перейдут в высокоимпедансное состояние, а подтягивающие резисторы 5 (рис. 6.4) подтянут соответствующие шины в высокоуровневое состояние. Так как интерфейс допускает изменение режима приема/передачи только побайтово (поканально), то, записывая в регистр статуса (по адресу 364h), например, "0", мы заведомо переведем в режим приема все четыре канала. Но поскольку все каналы, кроме первого, нас в данном случае не интересуют, то в дальнейшем для перевода мастеров в режим приема будем для простоты записывать в регистр статуса именно 0. Аналогично, для перевода первого канала в режим передачи будем посылать в регистр статуса число 1. При этом только первый канал переходит в режим передачи, остальные три остаются в режиме приема. Переведя нужный канал в режим передачи, можно теперь послать по адресу этого канала (в нашем случае 360h для первого канала) соответствующий код, переводящий биты этого канала в высокоуровневое либо низкоуровневое состояние. Так, если по адресу канала послать число 0, то все биты окажутся в низкоуровневом состоянии. Если же послать число 1, то нулевой бит перейдет в высокоуровневое состояние. Если послать число 255, то все восемь битов первого канала перейдут в высокоуровневое состояние.

Таким образом, чтобы наши два мастера биты 0 и 1 первого канала отпустили свои шины, достаточно в регистр статуса по адресу 364h записать число 0, переводящее эти биты в высокоимпедансное состояние приема. Для того, чтобы соответствующий мастер перевел свою шину в низкоуровневое состояние, нужно записать соответствующий код по адресу 360h и послать в регистр статуса по адресу 364h число 1, переводящее канал 1 в режим передачи. Сразу после этого биты 0 и 1 первого канала перейдут в состояния, определяемые записанным в регистр первого канала кодом. Например, если было записано число 1, то бит 0 окажется в высокоуровневом состоянии, никак не влияя на состояние своей шины, а бит 1 перейдет в низкоуровневое состояние, опуская свою шину в нуль.

Источник: Карначёв А.С., Белошенко В.А., Титиевский В.И., Микролокальные сети: интеллектуальные датчики, однопроводный интерфейс, системы сбора информации. Донецк: ДонФТИ НАНУ Украины, 2000. 199с. с ил.

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты