Микропроцессоры серии К1814
Интегральные микросхемы серии К1814, выполненные по р- МДП- технологии, представляют собой однокристальные 4-разрядные микро-ЭВМ, предназначены для построения микропроцессорных систем управления. В серию входят
|
|
микро-ЭВМ предназначена для отладки программ в составе отладочных устройств и для самостоятельного применения в изделиях, производимых в малом количестве, когда разработка однокристального варианта экономически не целесообразна. Условные графические обозначения микросхем ОМ ЭВМ и УМ ЭВМ приведены на рис. 1 и рис. 2 соответственно, функциональное назначение выводов микросхем ОМ ЭВМ показано в табл. 2, УМ ЭВМ в табл. 3. |
Рис. 1 |
|
Рис. 2 |
Электрические параметры и режимы эксплуатации микросхем серии К1814 приведены в табл. 1. Структурная схема ОМ ЭВМ и отличительные особенности УМ ЭВМ приведены на рис. 3, а, б. Микро-ЭВМ построена с разделением шин команд и данных, что позволяет использовать данные и команды независимой разрядности, а также реализовать конвейерный принцип выполнения операции. Четырехразрядная организация достаточна для выполнения большинства контроллерных функций и особенно удобна при использовании двоично-десятичной арифметики.
|
|
Таблица 1 |
Параметр |
Обозначение |
Значение параметров |
Напряжение питания, В |
Ucc |
мин. -9,9 |
макс.-8,1 |
Входное напряжение низкого уровня, В |
Uil |
|
-4 |
Входное напряжение высокого уровня, В |
Uih |
-0,75 |
- |
1отребляемая мощность, мВт |
Pсс |
- |
70 |
Тактовая частота, кГц |
- |
100 |
350 |
Рабочий диапазон температур, °С |
Т |
-10 |
+70 |
|
|
|
Таблица 2 |
Вывод |
Обозначение |
Тип вывода |
Функциональное назначение выводов |
1-5, 29—31, |
R8—R12, |
Выход |
Порт R |
36—40 |
R0-R2, |
|
|
|
R3—R7 |
|
|
7-10 |
Dl, D2, D4, D5 |
Вход |
Порт D |
12, 16—19, |
Q7—Q0 |
Выход |
Порт Q |
23—25 |
|
|
|
11 |
Г |
Вход |
Сброс, тест |
27 |
G |
Выход |
Тактовый сигнал |
26 |
С |
Вход |
Тактовый сигнал |
6, 15 |
Ucc |
|
Напряжение питания |
20, 28 |
GND |
|
Общий |
|
|
|
Таблица 3 |
Вывод |
Обозначение |
Тип вывода |
Функциональное назначение выводов |
1, 2 |
РС5, РС6 |
Выход |
Порт счетчика команд |
3—10 |
К1—К8 |
Вход |
Порт шины команд |
11—14 |
Dl, D2, D4, D8 |
Вход |
Порт данных |
15 |
Ucc |
|
Напряжение питания |
16 |
Т |
Вход |
Сброс |
17—20 |
РА1, РА2, |
Выход |
Порт адреса страницы |
|
РА3, РА4 |
|
|
21 |
Ф1 |
Вход |
Фазовый сигнал |
22 |
U |
— |
Технологический вывод |
23, 24, |
QSL, Q8, Q4, |
Выход |
Порт Q |
26-28 |
Q2, Q1 |
|
|
25, 48 |
GND |
|
Общий |
29 |
G |
Выход |
Тактовый сигнал |
30 |
С |
Вход |
Тактовый сигнал |
31-43 |
R0-R12 |
Выход |
Порт R |
44—47 |
РС1-РС4 |
Выход |
Порт счетчика команд |
|
Рис. 3 |
Разделение шин команд и данных обусловливает аппаратное и программное разделение адресации памяти и ОЗУ данных. Адресное поле 1К. разбито на 16 страниц по 64 байта. Адрес страницы задается 4-разрядным регистром адреса страницы (РА), а 6-разрядный счетчик команд (PC) адресует 64 команды внутри каждой страницы. PC не является последовательным счетчиком. Счет осуществляется по псевдослучайному закону. Изменение порядка выборки команд программы осуществляется командами условного перехода BR, возврата из подпрограммы RETN По командам BR и CALL осуществляется занесение PC 6-разрядного адреса перехода из адресного поля W этих команд. Одновременно в РА загружается 4-разрядный адрес страницы перехода из буферного регистра адреса страницы РВ.
Для реализации длинных ветвлений в РВ перед командами BR или CALL загружают страницы перехода из поля команды LDP Если содержимое РА и РВ одинаково, то происходит короткое ветвление программы (переход на той же странице), если в РА из РВ загружается содержимое новой страницы, то происходит длинное ветвление программы с переходом на другую страницу памяти. В случае команды CALL в регистре возврата из подпрограммы SR запоминается адрес возврата в основную программу, а в РВ запоминается адрес страницы основной программы. По команде RETN происходит возврат в исходную программу; при этом содержимое РВ пересылается в РА, а содержимое SR — в PC. Команды BR и CALL условны по состоянию триггера состояния S и выполняются, если S=l. В противном случае ветвления не происходит и в следующем цикле PC адресует следующую команду программы. Такая структура адресации памяти программ проста в программировании, но не позволяет осуществлять вложение подпрограмм и длинные ветвления в подпрограмме. Структура адресации ОЗУ данных также страничного типа. ОЗУ емкостью 64X4 бит разбито на четыре страницы по 16 4-разрядных слова. Адрес страницы задается 2-разрядным регистром X, адрес слова внутри каждой страницы задается регистром Y. В отличие от регистра X регистр У участвует в операциях АЛУ и является регистром общего назначения (РОН). Изменение содержимого регистра X осуществляется по командам «Загрузить регистр X» (LDX) и «Образовать дополнение содержимого регистра X» (СОMX)
Четырехразрядное АЛУ выполняет операции сложения, вычитания, арифметического и логического сравнения над операциями, поступающими с шины данных через входные мультиплексоры. Результат арифметической операции через выходной селектор в соответствии с микрокомандами отсылается в один из РОН, аккумулятор или регистр Y. Одновременно с арифметическими операциями АЛУ производит сравнение входных величин и выработку признака равенства или неравенства операндов. Результат сравнения (NE) или содержимое разряда переноса (CR) соответствующими микрокомандами могут пересылаться в триггер состояния. Входными операндами АЛУ могут быть выходные коды регистра Y, ОЗУ, мультиплексора данных СДВ, прямой или инверсный код аккумулятора, константа 15. Мультиплексор данных СДВ представляет собой логическую схему, предназначенную для выбора и передачи на шину данных входной информации из порта D, константы С с шины команд или битовой маски для маскирования разрядов при выполнении операций над битами. Пересылки данных в РОН осуществляются через АЛУ путем сложения их с нулями. Базовая система команд (табл.4) содержит 43 команды. Выполняемые операции: пересылка, арифметические, арифметическое и логическое сравнение, поразрядная обработка слов памяти, загрузка констант, ввода/вывода, адресации. Все команды однобайтовые и имеют один из четырех форматов. Декодирование кодов команд и формирование сигналов управления осуществляются дешифратором команд. На выходе дешифратора формируется горизонтальный микрокод, разряды которого инициируют выполнение микрооперации. Часть дешифратора выполнена на базе ПЛМ мощностью в 30 произведений, причем матрица «И» ПЛМ осуществляет непосредственное декодирование кода команды, а матрица «ИЛИ» выполняет функции памяти микропрограмм. Управляющие сигналы, возбуждаемые на выходе ПЛМ, инициируют выполнение комбинаций из 16 программируемых микроопераций. Для обеспечения возможности формирования сложных команд типа «Чтение—операция—запись» выбрана организация выполнения микроопераций, обычная для горизонтального микропрограммирования. Для некоторых операций, связанных с адресацией, вводом и модификацией разрядов, достаточно произвести одну микрооперацию, причем эти микрооперации не используются в совокупности с другими микрооперациями в одном командном цикле. Поэтому с целью экономии микропрограммной ПЛМ формирование сигналов управления для данных операций осуществляется непосредственно на выходе дешифратора (матрица «И» ПЛМ). Слово состояния программы определяется содержанием триггера признака подпрограммы CL и триггера состояния S. Триггер признака подпрограммы устанавливается командой CALL и определяет занесение адреса возврата в регистр возврата и буфер страницы и блокировку длинных переходов в режиме вызова. Таким образом, длина подпрограммы не может превышать 64 команды. Сброс триггера производится при возвращении в основную программу по команде RETN.
|
|
|
|
Таблица 4 |
Тип команд |
Мнемоника команд |
Код операции (двоичный) |
|
Описание команды. |
пересылки |
TAY |
00100100 |
|
Переслать содержимое аккумулятора в регистр Y |
|
TYA |
00100011 |
|
Переслать содержимое регистра Y в аккумулятор |
|
ТАМ |
00000011 |
|
Переслать содержимое аккумулятора в память |
|
TAMIY |
00100000 |
|
Переслать содержимое аккумулятора, инкремент регистра Y |
|
TAMZA |
00000100 |
|
Переслать содержимое аккумулятора в память, очистить аккумулятор |
|
TMY |
00100010 |
|
Переслать содержимое памяти в регистр Y |
|
ТМА |
00100001 |
|
Переслать содержимое памяти в аккумулятор |
|
ХМА |
00101110 |
|
Поменять содержимое памяти и аккумулятора |
|
CLA |
00101111 |
|
Очистить аккумулятор |
Засылки констант |
TCY |
0010(C) |
|
Загрузить константу в регистр Y |
Арифметические |
TCMIY |
0110(C) |
|
Загрузить константу в память, увеличить регистр Y |
операции |
AM MAC |
00100101 |
CR |
Сложить содержимое аккумулятора и памяти, результат переслать в аккумулятор |
|
SAMAN |
00100111 |
CR |
Вычесть содержимое аккумулятора из памяти, результат переслать в аккумулятор |
|
I MAC |
00101000 |
CR |
Инкремент содержимого памяти и загрузить в аккумулятор |
|
DM AN |
00101010 |
CR |
Декремент содержимого памяти и загрузить в аккумулятор |
|
IA |
00001110 |
1 |
Инкремент содержимого аккумулятора |
|
DAN |
00000111 |
CR |
Декремент содержимого аккумулятора |
|
IYC |
00101100 |
CR |
Инкремент содержимого регистра Y |
|
DYN |
00101100 |
CR |
Декремент содержимого регистра Y |
|
A6AAC |
00000110 |
CR |
Увеличить содержимое аккумулятора на 6 |
|
A8AAC |
00000001 |
CR |
Увеличить содержимое аккумулятора на 8 |
|
A10AAC |
00000101 |
CR |
Увеличить содержимое аккумулятора на 10 |
|
CPAIZ |
00101101 |
CR |
Образовать дополнение аккумулятора до 2, установить триггер состояния |
Сравнения |
ALEM |
00101001 |
CR |
Если аккумулятор меньше или равен памяти, то установить триггер состояния |
|
ALEC |
0111(C) |
CR |
Если аккумулятор меньше или равен константе, то установить триггер состояния |
|
MNEZ |
C0100110 |
NE |
Если содержимое памяти не равно 0, то установить триггер состояния |
|
YNEA |
00000010 |
NE |
Если содержимое регистра Y не равно аккумулятору, то установить триггер состояния, бит состояния переслать в фиксатор состояния |
|
YNEC |
0101(C) |
NE |
Если содержимое регистра Y не равно константе, то установить триггер состояния |
Побитовой обработки памяти |
SBIT |
001100B |
1 |
Установить бит памяти |
RBIT |
001101B |
1 |
Сбросить бит памяти |
|
TBITI |
001110B |
NE |
Проверить бит памяти, и если 1, то установить триггер состояния |
Адресации страниц |
LDX |
001111B |
1 |
Загрузить константу в регистр X |
ОЗУ |
COMX |
00000000 |
1 |
Инвертировать содержимое регистра X |
|
LDP |
0001(С) |
1 |
Загрузить константу в буфер адреса страницы |
|
BR |
10(W) |
1 |
Переход, условно по состоянию |
|
CALL |
11(W) |
1 |
Обращение к подпрограмме, условно по состоянию |
|
RETN |
00001111 |
1 |
Возврат из подпрограммы |
Ввод/вывод |
DNEZ |
00001001 |
NE |
Если входные данные не равны 0, то установить триггер состояния |
|
TDA |
00001000 |
1 |
Переслать входные данные в аккумулятор |
|
SETR |
00001101 |
1 |
Установить разряд регистра R |
|
TIQ |
00001010 |
1 |
Переслать содержание аккумулятора и фиксатора состояния в регистр Q |
|
CLQ |
00001011 |
1 |
Очистить регистр Q |
|
PSTR |
00001100 |
1 |
Сбросить разряды регистра R |
Триггер состояния определяет разрешение передач управления. Содержимое триггера определяется командой, выполненной в предыдущем цикле. В зависимости от команды триггер состояния принимает безусловное значение 1, значение разряда переноса сумматора, либо результата сравнения операндов компаратором. Содержимое триггера состояния через выходной фиксатор состояния SL может быть выведено в выходной регистр Q. Фиксатор состояния может быть модифицирован только командой YNEA.
Микро-ЭВМ имеет раздельные схемы ввода и вывода, позволяющие параллельно вводить входные данные и выводить содержимое двух выходных регистров Q и R на раздельные порты вывода.
Входные данные вводятся в схему через 4-разрядный входной порт D и далее через мультиплексор данных поступают на шину данных. Входная информация из порта D может пересылаться в аккумулятор по команде TDA или в АЛУ для проверки на нуль по команде DNEZ, Выходной регистр Q используется для параллельного вывода данных. Запись в регистр Q производится по команде вывода TIQ; при этом содержимое аккумулятора и фиксатора состояния SL пересылается в регистр Q. Для удобства представления выходной информации порта Q, например на 7-сегмеитном индикаторе или другом устройстве отображения информации, в схеме имеется выходной шифратор информации, выполненный на базе ПЛМ мощностью 20 произведений. Матрица «ИЛИ» ПЛМ имеет восемь выходных линий в соответствии с разрядностью порта Q. Программирование выходной ПЛМ производится маской иа стадии изготовления в соответствии с требованиями пользователя. В универсальной микро-ЭВМ выходная ПЛМ кодируется как повторитель. Выходной регистр R имеет 13 индивидуально программируемых ячеек памяти. В одном командном цикле может быть установлена (командой SETR) или сброшена (командой RSTR) только одна ячейка регистра R, адресуемая текущим содержимым регистра У. Все ячейки регистра R имеют параллельный выход на выводы порта R. Индивидуальное программирование выходных линий порта R позволяет эффективно использовать их для непосредственного управления исполнительными устройствами, стробирования входных и выходных данных, сканирования клавиатуры, дисплея и других применений. Разделение шин команд и данных позволяет организовать двухуровневый конвейер операций, совместив цикл выборки и исполнительный цикл соседних команд. При такой организации время выполнения операций определяется длительностью машинного цикла микро-ЭВМ, а не полного цикла команды. Длительность машинного цикла составляет 6 тактов генератора или 20 мкс на частоте 300 кГц и одинакова для всех команд, что очень удобно при программировании задач реального времени. Синхронизация схемы в пределах цикла
осуществляется пятью фазами, часть которых приведена на рис. 4. Здесь же указаны временные интервалы выполнения различных микроопераций, для команд вывода приведены временные диаграммы. При включении питания специальной схемой производится начальная установка микросхемы в исходное состояние: РА = РВ=15, PC=0, Q = 0, R = 0, CL=0. Поддержка внутренней схемы инициализации при работе с источниками питания, не обеспечивающими крутой фронт нарастания напряжения в микросхеме, обеспечивается по выводу Т путем создания задержки установки уровня нуля на данном выводе внешней емкостью. Разряд емкости при отключении питания производится внешним диодом. Сброс микро-ЭВМ в начальное состояние осуществляется путем установки на выводе Т напряжения высокого уровня на время не менее шести машинных циклов при нулевой информации на входах порта D. Состояние схемы после сброса аналогично состоянию после начальной установки.
Микро-ЭВМ может работать с внешней и внутренней синхронизацией. В первом случае тактовые импульсы подаются на вход С с внешнего генератора, во втором при подключении ЛС- цепи к замкнутым выводам С и G внутренний релаксационный генератор формирует тактовые импульсы с частотой, определяемой параметрами RС-цепи. Типовое значение частоты составляет 300 кГц.
На рис. 5 приведена схема включения однокристальной микро-ЭВМ для реализации простого секундомера. При нажатии на кнопку 1 начинается отсчет времени с отображением на 4-разрядиом индикаторе десятых долей секунды, секунд, десятков секунд и минут. При нажатии на кнопки 2 или 3 происходит остановка счета времени или сброс секундомера соответственно. Для отсчета времени на вход D8 микро-ЭВМ подаются импульсы частотой 50 кГц.
Разряды порта R R0—R3 используются для сканирования клавиатуры и индикатора, причем сигнал высокого уровня на выходах R соответствует разрешению свечения соответствующего разряда индикатора. Предполагается, что выходная ПЛМ закодирована для преобразования содержимого регистра Q в коды семисегментного индикатора так, что нулевому значению регистра Q соответствует 0 на индикаторе, единице соответствует 1 на индикаторе, и так до девяти. Программа микро-ЭВМ, реализующая секундомер, приведена ниже (табл. 5). В программе используются ячейки У=0—5 нулевой страницы ОЗУ данных. Назначение ячеек ОЗУ приведено на рис.6.
|
Рис. 5 |
|
Рис.6 |
|
|