Микропроцессоры и микроконтроллеры

 
 
 
«Ограничение возможностей языка с целью предотвращения программистских ошибок в лучшем случае опасно.»
Bjarne Stroustrup
Русский | Українська


Микропроцессоры и микроконтроллеры :: Каналы ввода-вывода на основе МК51 :: Принципы построения системного интерфейса МК51

Принципы построения системного интерфейса МК51

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

Основу системного интерфейса МК51 составляет буферный каскад.Буферный каскад состоит из буфера адреса (БА) и буфера данных (БД) – рис. 17.1.

Типовая структура системного интерфейса МК51 и пример подключения элементов внешней памяти

Рис. 17.1. Типовая структура системного интерфейса МК51 и пример подключения элементов внешней памяти

Старшая и младшая части БА (линии передачи адреса А8-А15 и А0-А7 соответственно) может быть реализована на буферных регистрах (БР) типа К1533ИР22. Запись старшей и младшей частей адреса ВП в регистры выполняется по срезу ("1"-->"0") импульса ALE, который подается на вход стробирования С.

Буфер данных может быть реализован на ШФ типа К1533АП6 и работает в режиме поочередной двунаправленной передачи. При этом режим "Запись памяти" реализуется при Т=1, то есть при наличии #WR=0. Режим "Чтение памяти" реализуется, если Т=0 во всех ситуациях, когда #WR=1. Вход разрешения работы буфера шины данных #OE обеспечивается при подаче сигнала, формируемого как #OE = #PSEN & #RD & #WR.

Режимы работы буфера ШД

Режим

#PSEN

#RD

#WR

Вход
Т = not(#WR)

Направление

передачи

Вход#OE

Нет пересылки
по шине данных

1

1

1

0

Буфер закрыт

1

Чтение внешней памяти программ

0

1

1

0

В контроллер:

Aх ¬Bх

0

Чтение внешней
памяти данных

1

0

1

0

В контроллер:

Aх ¬Bх

0

Запись во внешнюю
память данных

1

1

0

1

Из контроллера:

Ах ® Вх

0

Схема дешифрации адресов для блоков памяти или отдельных БИС ОЗУ и ПЗУ строится обычным способом.

Разрешение выдачи кодов команд из ПЗУ (ВПП) осуществляется по входу #ОЕ сигналом #PSEN=0 (режим выборки из ВПП).

Разрешение выдачи данных из ОЗУ (ВПД) осуществляется через вход #OE по сигналу #RD=0, а разрешение записи данных в ОЗУ - через вход #WR по сигналу #WR. Сигналы #WR и #RD генерируются при выполнении всех видов команды MOVX.

Общий сигнал ОЗУ = #RD & #WR может использоваться для управления буфером данных блока ОЗУ в том случае, если ВПД реализована на БИС ОЗУ с раздельными входами и выходами данных.

На схеме не показаны буферные элементы (буферные усилители ИЛИ) для линий сигналов #RD, #WR, #PSEN, которые обычно следует использовать, если выход МК работает более чем на один вход ТТЛ (КМОП).

Входы #CS буферов БА и БД и дешифраторов постоянно подключены на "0" для обеспечения беспрерывной передачи, но возможно и дискретное управление.

Таким образом, выходы БА - А0...А15 и БД - D0...D7, а также буферированные линии сигналов управления образуют так называемый "системный интерфейс" МК51 для реализации системного адресного пространства. В дальнейшем, там, где это нужно, будут использоваться понятия и обозначения системного интерфейса МК51.