Параллельные порты вводаОбщие сведения. Через параллельные порты реализуется основной интер­фейс между микроконтроллером и внешними устройствами. Количество линий ввода/вывода 8–разрядных микроконтроллеров равно 8. В карте памяти микро­контроллера каждый порт ввода/вывода представлен регистром данных порта. Для обращения к регистру данных при организации обмена в параллельном фор­мате используются те же команды, что для обращения к ячейкам резидентной оперативной памяти. Доступ к отдельным разрядам портов осуществляется спе­циальными командами, которые называются командами битового процессора.

По функциональному признаку параллельные порты разделяют на три группы:

    однонаправленные порты, предназначенные для передачи информации в од­ном направлении (только для ввода или только для вывода);

    двунаправленные порты, позволяющие задавать направление передачи всех линий и каждой линии в отдельности. В случае необходимости каждая линия может быть сконфигурирована индивидуально и обслужена командами бито­вого процессора независимо от других линий того же порта ввода/вывода;

● порты с альтернативными функциями, которые определяются состоянием микроконтроллера. Отдельные линии таких портов связаны со встроенными в микроконтроллер периферийными модулями (таймером, АЦП, контролле­ром, последовательным приемопередатчиком и др.), при этом:

•      если модуль активизирован, то задействованные линии ввода/вывода пор­та автоматически конфигурируются в соответствии с функциональным на­значением в модуле и не могут быть использованы по другому назначению;

•      если же периферийный модуль МК не используется, то его выводы можно задействовать как обычные линии ввода/вывода порта.

Альтернативную функцию могут иметь линии однонаправленных и двунаправ­ленных портов.

Структурно–функциональные особенности портов. Рассмотрим схемотех­нику портов ввода/вывода на уровне одной линии. Совокупность аппаратных средства, обслуживаемых одну линию порта называют драйвером порта. Рас­смотрим основные типы двунаправленных драйверов (или линий ввода/вывода).

рис. 4.4.1

Драйверы с установкой на ввод/вывод. Схема такого драйвера при­ведена на рис. 4.4.1. Настройка драйвера на ввод/вывод осуществляется уста­новкой бита в специальном триггере направления передачи (ТИП). Нулевое зна­чение бита конфигурирует драйвер на ввод, единичное — на вывод.

Режим ввода данных автоматически устанавливается после сброса микроконт­роллера. В исходном состоянии триггер направления передачи ТНП и триггер данных ТД находятся в нулевом состоянии, с выходов логических элементов И снимаются нулевые уровни сигналов, транзисторы VT1 и VT2 заперты и не влияют на процесс ввода. При вводе данных:

●     на управляемый буфер В подается сигнал чтения данных (RD# = 0, где # — знак инверсии), открывая его;

●     поступающие на вывод РТх данные передаются непосредственно на внутрен­нюю линию Данные, минуя триггер данных ТД.

Режим вывода данных инициируется путем установки триггера направления передачи ТНП в единичное состояние, после чего на один из входов логических элементов И поступает единичный уровень и управление транзисторами VT1 и VT2 выходного каскада порта передается триггеру данных ТД. Если на прямом выходе ТД установлен сигнал Q = 1, то открыт транзистор VT2 и на выходе кон­троллера РТх = 1. При Q = 0 открыт транзистор VT1 и РТх = 0.

Рассмотренное техническое решение реализовано в микроконтроллерах НС08 фирмы Motorola. Его достоинство — высокоомный вход в режиме ввода, недоста­ток — наличие триггера направления передачи.

Драйверы с установкой на ввод. Схема драйвера, требующего предвари­тельную установку только на ввод данных, приведена на рис. 4.4.2.

рис. 4.4.2

Режим ввода данных инициируется уста­новкой триггера Т в состояние Q =1. Состо­яние триггера Т контролируется с помощью буфера В1. В этом режиме транзистор VТ1 заперт сигналом с инверсного выхода триг­гера. Данные в микроконтроллер поступают через буфер В2. Сопротивление со стороны вывода РТх определяется значением резис­тора R. После сброса микроконтроллер ав­томатически устанавливается в режим вво­да. По сути дела, режим ввода соответству­ет режиму вывода единичного бита.

Режим  вывода данных не требует никаких предварительных установок:

●     при выводе нулевого бита триггер Т переводится в состояние Q = 0, отпира­ется транзистор VT и с выхода РТх снимается сигнал с низким уровнем;

●     при выводе единичного бита триггер Т переводится в состояние Q=1, тран­зистор VT запирается и с выхода РТх снимается сигнал с высоким уровнем. Рассмотренное техническое решение реализовано в микроконтроллерах MCS51 фирмы Intel. Его недостаток — низкое входное сопротивление в режиме ввода, обусловленное необходимостью использования подтягивающего к 1 рези­стора R для вывода единичного бита.

Драйверы с управляемыми подтягивающими резисторами. Для уст­ранения указанного выше недостатка в схему драйвера вводится управляемый под­тягивающий резистор. Одно из таких технических решений приведено на рис. 4.4.3.

В качестве нагрузки выходного каскада используются транзисторы VT1 и VT3. Управляемый транзистор VT1 обладает сопротивлением в сотни раз меньшим по сравнению с транзистором VT3. Он обеспечивает быстрое переключение схемы и большую амплитуду импульса при выводе единичного бита. Транзистор VT3 вы­полняет функцию подтягивающего резистора в установившемся режиме, его со­противление значительно больше, чем R в схеме на рис. 4.4.2. При выводе еди­ничного бита с появлением Q# = 0 отпирается транзистор VT1 и на выходе фор­мируется логический уровень РТх = 1. Через некоторое время на выходе элемен­та задержки D появляется единичный сигнал, который переводит транзистор VT1 в запертое состояние.

рис. 4.4.3

На рис. 4.4.4 приведены общие технические решения с управляемыми подтя­гивающими резисторами. В схеме на рис. 4.4.4, а резистор R с помощью VT3 под­ключается параллельно нагрузочному транзистору VT1, что позволяет при выводе данных подтягивать логический уровень к 1. В схеме на рис. 4.4.4, б резистор R подключается параллельно транзистору VT1, что позволяет подтягивать логиче­ский уровень к 0. Приведенные схемы используются в контроллерах фирмы Motorola.

рис. 4.4.4

В контроллере имеются средства программного подключения подтягивающих резисторов:

●     специальный бит регистра конфигурации разрешает подключение резистора R;

 

●     биты 0–7 регистра входного сопротивления непосредственно подключают R к требуемой линии. Значение бита можно многократно изменять в ходе вы­полнения прикладной программы. Следовательно, имеется возможность ди­намического управления входным сопротивлением по каждой линии порта ввода.


Рекомендуйте эту статью другим!



рис. 3.25
дек 29, 2016 554

Особенности выходных каскадов цифровых микросхем

Часто возникает необходимость подключения выходов нескольких цифровых микросхем к одной…
Микроконтроллеры MCS51
дек 01, 2015 1125

Микроконтроллеры MCS–51. Блок последовательного интерфейса, блок таймеров, блок прерываний. Часть 2.

Блок последовательного интерфейса. Назначение и состав блока. Блок последовательного…
Электропроводка в подвалах и чердаках 2
дек 09, 2013 1399

Электропроводка в подвалах и чердаках

В первую очередь, следует отметить, что подвальные и чердачные помещения принадлежат к…
рис. 2.78 а
дек 02, 2016 621

Сглаживающие фильтры

Выпрямленное напряжение имеет существенные пульсации, поэтому широко используют…
янв 31, 2013 4718

Муфты силовых кабелей, соединительные, концевые, марки, конструкция муфт

Для оконцевания кабелей, а также для соединения строительных длин кабелей применяются…