вход Вход Регистрация



Все четыре порта МК51 предназначены для ввода или вывода инфор­мации побайтно. Схемотехника портов ввода/вывода МК51 для одного бита показана на рис. 2.4 (порты 1 и 2 имеют примерно такую же струк­туру, как и порт 3). Каждый порт содержит управляемые регистр-защелку, входной буфер и выходной драйвер.

Рисунок 2.4 - Схемотехника портов ввода/вывода МК51:

а - порт 0; б - порт 3

 

Выходные драйверы портов 0 и 2, а также входной буфер порта 0 используются при обращении к внешней памяти (ВП). При этом через порт 0 в режиме временного мультиплексирования сначала выводится младший байт адреса ВП, а затем выдается или принимается байт дан­ных. Через порт 2 выводится старший байт адреса в тех случаях, когда разрядность адреса равна 16 бит.

Все выводы порта 3 могут быть использованы для реализации аль­тернативных функций, перечисленных в табл. 2.3. Альтернативные функ­ции могут быть задействованы путем записи 1 в соответствующие биты регистра-защелки (Р3.0 - Р3.7) порта 3.

Порт 0 является двунаправленным, а порты 1, 2 и 3 - квазидвуна­правленными. Каждая линия портов может быть использована незави­симо для ввода или вывода информации. Для того чтобы некоторая линия порта использовалась для ввода, в D-триггер регистра-защелки порта должна быть записана 1, которая закрывает МОП-транзистор выходной цепи.

По сигналу СБР в регистры-защелки всех портов автоматически за­писываются единицы, настраивающие их тем самым на режим ввода.

Все порты могут быть использованы для организации ввода/вывода информации по двунаправленным линиям передачи. Однако порты 0 и 2 не могут быть использованы для этой цели в случае, если МК-система имеет внешнюю память, связь с которой организуется через общую раз­деляемую шину адреса/данных, работающую в режиме временного мультиплексирования.

 

Таблица 2.3 - Альтернативные функции порта 3

Символ Позиция

Имя и назначение

P3.7 Чтение. Активный сигнал низкого уровня формируется аппаратурно при обращении к ВПД
P3.6 Запись. Активный сигнал низкого уровня формируется аппаратурно при обращении к ВПД
Tl P3.5 Вход таймера/счетчика 1 или тест-вход
T0 P3.4

Вход таймера/счетчика 0 или тест-вход

P3.3 Вход запроса прерывания 1. Воспринимается сигнал низ­кого уровня или срез
P3.2 Вход запроса прерывания 0. Воспринимается сигнал низ­кого уровня или срез
TXD P3.1 Выход передатчика последовательного порта в режиме УАПП. Выход синхронизации в режиме сдвигающего регистра
RXD P3.0 Вход приемника последовательного порта в режиме УАПП. Ввод/вывод данных в режиме сдвигающего регистра

 

Доступ к внешней памяти

В микроконтроллерных системах, построенных на основе МК51, возможно использование двух типов внешней памяти: постоянной па­мяти программ (ВПП) и оперативной памяти данных (ВПД). Доступ к ВПП осуществляется при помощи управляющего сигнала , кото­рый выполняет функцию строб-сигнала чтения. Доступ к ВПД обеспе­чивается управляющими сигналами и , которые формируются в линиях Р3.7 и Р3.6 при выполнении портом 3 альтернативных функций (см. табл. 2.3).

При обращении к ВПП всегда используется 16-битный адрес. Доступ к ВПД возможен с использованием 16-битного адреса (MOVX А, @ DPTR) или 8-битного адреса (MOVX A,@ Ri).

В любых случаях использования 16-битного адреса старший байт адреса фиксируется (и сохраняется неизменным в течение одного цикла записи или чтения) в регистре-защелке порта 2.

Если очередной цикл внешней памяти (MOVX A,@ DPTR) следует не сразу же за предыдущим циклом внешней памяти, то неизменяемое содержимое регистра-защелки порта 2 восстанавливается в следующем цикле. Если используется 8-битный адрес (MOVX A,@ Ri), то содержи­мое регистра-защелки порта 2 остается неизменным на его внешних выводах в течение всего цикла внешней памяти.

Через порт 0 в режиме временного мультиплексирования осуществляется выдача младшего байта адреса и передача байта данных. Сигнал САВП должен быть использован для записи байта адреса во внешний регистр. Затем в цикле записи выводимый байт данных появляется на внешних выводах порта 0 только перед появлением сигнала . В цик­ле чтения вводимый байт данных принимается в порт 0 по фронту стробирующего сигнала .

При любом обращении к внешней памяти устройство управления МК51 загружает в регистр-защелку порта 0 код OFFH, стирая тем самым информацию, которая могла в нем храниться.

Доступ к ВПП возможен при выполнении двух условий: либо на, вход отключения резидентной памяти программ () подается активный сигнал, либо содержимое счетчика команд превышает значение 0FFFH. Наличие сигнала необходимо для обеспечения доступа к младшим 4К адресам адресного пространства ВПП при использовании МК31 (микроконтроллера без резидентной памяти программ).

Временные диаграммы на рис. 2.5 иллюстрируют процесс генерации управляющих сигналов САВП и при обращении к внешней памяти.

Основная функция сигнала САВП - обеспечить временное согласование передачи из порта 0 на внешний регистр младшего байта адреса в цикле чтения из ВПП. Сигнал САВП приобретает значение 1 дважды в каждом машинном цикле. Это происходит даже тогда, когда в цикле выборки нет обращения к ВПП. Доступ к ВПД возможен только в том случае, если сигнал САВП отсутствует. Первый сигнал САВП во втором машинном цикле команды MOVX блокируется. Следовательно в любой МК-системе, не использующей ВПД, сигнал САВП генерируется с постоянной частотой, равной 1/16 частоты резонатора, и может был использован для синхронизации внешних устройств или для реализации различных временных функций.

При обращении к РПП сигнал не генерируется, а при обращении к ВПП он выполняет функцию строб-сигнала чтения. Полный цикл чтения ВПД, включая установку и снятие сигнала , занимает 12 периодов резонатора.

Временные диаграммы на рис. 2.6 и 2.7 иллюстрируют процесс выборки команды из ВПП и работу с ВПД в режимах чтения и записи соответственно.

 

Рисунок 2.5 - Временные диаграммы операций с обращением к внешней памяти

 

Особый режим работы МК51. Содержимое памяти программ МК51 заполняется единожды на этапе разработки МК-системы и не может быть модифицировано в завершенном (конечном) изделии. По этой причине микроконтроллеры не являются машинами классической "фон-нейма­новской" архитектуры. Оперативная память данных (резидентная или внешняя) не может быть использована для хранения кодов программы, так как в МК выборка команд производится только из области адресов памяти программ. Эта особенность архитектуры МК объясняется тем, что в большинстве применений МК требуется наличие одной неизме­няемой прикладной программы, хранимой в ПЗУ, наличие ОЗУ неболь­шой емкости для временного хранения переменных и эффективных, а следовательно, разных методов адресации памяти программ и памяти данных.

Однако на этапе разработки и отладки прикладных программ машина "фон-неймановского" типа оказывается очень удобной, так как позволяет разработчику оперативно изменять коды прикладной программы, размещаемой в ОЗУ. С этой целью МК-система может быть модифицирована для совмещения адресного пространства ВПП и ВПД путем подключения внешней логики, как показано на рис. 2.8.

 

Рисунок 2.6 - Временная диаграмма выборки команды из ВПП

 

Рисунок 2.7 - Временная диаграмма работы с ВПД

 

Здесь на выходе схемы И формируется строб-сигнал чтения, который может быть использован для объединения памяти программ и памяти данных во внешнем ОЗУ. При этом необходимо учитывать, что в МК51 на схемном уровне реализуются пять различных и независимых механизмов адресации для доступа к ПРР РПД, ВПП, ВПД и блоку регистров специальных функций. Вследствие этого перемещаемая версия прикладной программы, которая отла­живается в среде внешней памяти программ/данных, будет отличаться от загружаемой в РП (окончательной) версии программы.

Рисунок 2.8 - Схема совмещения адресного пространства ВПП и ВПД

 

Подобный способ организации управления внешней памятью может быть использован в тех применениях МК51, где требуется оперативная перезагрузка или модификация прикладных программ (с помощью УВВ), как в ЭВМ классической архитектуры.

 

© 2018
  • Сайт "Литературка"
  • мы собираем различную техническую, образовательную, научную литратуру