Принципы построения системного интерфейса МК51
Все электронные элементы, подключаемые к системному интерфейсу МК51, должны рассматриваться разработчиками системы и ПО для МК как элементы внешней памяти данных (внешнего адресного пространства), т.е. обращение к ним в программе выглядит как работа с ячейками ВП. Как отмечалось ранее, при обращении к ВП схемы МК формируют на линиях порта Р0 младшую часть адреса и байт данных последовательно во времени в ходе реализации протокола обращения к ВП. Следовательно, задача системного интерфейса МК состоит в демультиплексировании информации на линиях порта Р0 и формировании полноразрядного адреса на отдельных линиях в течение всего цикла обращения к ВП, как того требует протокол работы с микросхемами памяти или регистрами.
Основу системного интерфейса МК51 составляет буферный каскад.Буферный каскад состоит из буфера адреса (БА) и буфера данных (БД) – рис. 17.1.
Рис. 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.
|