В качестве шины управления процессор генерируется сигналы IO\~M, ~RD, ~WD, которые указывают периферии, какое действие должно выполняться. Такой набор сигналов, не очень удобен для работы с периферией, поэтому его необходимо преобразовать по следующим формулам.
~MEMR=~(~(IO/~M)\/~(~RD))
~MEMW=~(~(IO/~M)\/~(~WR))
~IOR=~((IO/~M)\/~(~RD))
~IOW=~((IO/~M)\/~(~WR))
Такой набор управляющих сигналов более удобен чуть дальше будет объяснено почему. Осталось определить еще 1 управляющий сигнал, который будет управлять направлением передачи. Этим сигналом будет сигнал ~RD с единственной оговоркой, логические элементы изготовлены по ТТЛ технологии, а периферия по НМОП, сопрягать элементы ТТЛ и НМОП можно с ограниченным числом разветвлений. Поэтому сигнал ~RD придется инвертировать дважды, тоже самое относится и к сигналу IO\~M.
В соответствии с заданием выбрано ПЗУ с ёмкостью 2Кх8 и ОЗУ с ёмкостью 2Кх8. В качестве ПЗУ использована микросхема AT28C16 – перепрограммируемая ПЗУ с электрическим стиранием. Данная микросхема содержит 8 разрядов данных и 11 адресных входов, позволяющих обращаться к 2 Кбайт памяти. Память изготовлена по КМОП технологии с КМОП и ТТЛ совместимыми входами\выходами. Для запрещения записи подключим вход ~WE к логической единице через резистор R1 с сопротивлением 4.7кОм, вход ~RD подключим к сигналу ~MEMR шины управления.
В качестве ОЗУ использована микросхема ITD6116SA – статическое оперативно - запоминающее устройство емкостью 2Кх8. Микросхема имеет 8 разрядов шины данных и 11 разрядов шины адреса. Микросхема также изготовлена по КМОП технологии с КМОП и ТТЛ совместимыми входами\выходами. Входы ~WR и ~RD подключим к сигналам ~MEMR и ~MEMW шины управления.
Шина адреса процессора имеет 16 разрядов, которые позволяют адресовать 64К слов, по заданию требуется 4К слов памяти, 2К слова ПЗУ и 2К слова ОЗУ для адресации, которых требуется 12 разрядов. Мною принято решение игнорировать оставшиеся 4 разряда. Таким образом, карта памяти разрабатываемой МПС будет выглядеть следующим образом. Такой подход позволяет избавиться от дешифрации адреса.
|
||||
|
Рис. 8. Карта памяти
По карте памяти видно, что для выбора чипа памяти, который будет выбран, следует использовать 12 разряд адреса. Логический ноль будет соответствовать обращению к ПЗУ, а логическая единица обращению к ОЗУ.
В качестве ОЗУ использована микросхема К537РУ10 – статическое оперативно - запоминающее устройство емкостью 2Кх8. Микросхема имеет 8 разрядов шины данных и 11 разрядов шины адреса, позволяющих в произвольном доступе адресоваться к 2К байтам памяти.
При появлении на адресной шине адреса, попадающего в адресный диапазон ОЗУ, и появлении сигнала «RD» низкого уровня, дешифратором вырабатывается напряжение низкого уровня, которое подаётся на входы «CS» и «OE» (вход «WE» =1) ОЗУ в результате чего на шину данных производится считывание данных из ОЗУ по установленному адресу.
Благодаря такому подключению только один из чипов памяти подключен к шинам адреса в каждый момент времени.
Процессор может иметь 256 портов ввода\вывода. Для адресации которых достаточно 8 бит, шина адреса имеет 16 разрядов. В документации сказано, что в первом такте машинного цикла адрес порта дублируется на младшую и старшую части адреса. И точно также как и при обращении к памяти генерируется сигнал ALE. Но в нашей МПС мы будет использовать сигналы с трансивера усиливающего старшую часть адреса.
В качестве периферийной БИС параллельного интерфейса используется микросхема Intel 8255A. Так как в задании не оговорены ни адрес порта ввода-вывода БИС, ни режимы работы, ни скорости передачи и приёма данных, а конкретное подключение БИС в МПС подразумевает задание этих параметров, то конфигурируем БИС следующим образом:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.