Главная > Схемотехника > Справочник по цифровой схемотехнике
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

Глава 11. ОДНОКРИСТАЛЬНЫЕ МИКРО-ЭВМ

11.1. ОДНОКРИСТАЛЬНЫЕ 8-РАЗРЯДНЫЕ МИКРОЭВМ СЕРИИ К1816

Однокристальные микроЭВМ (ОМЭВМ) используют в устройствах цифровой обработки в качестве микроконтроллера, для которого требуются короткие программы, небольшой объем памяти для переменных, и он имеет ограниченные возможности по вводу-выводу информации (см. табл. 10.2) [10; 30; 46; 54].

Рис. 10.67.

Однокристальные микроЭВМ серии (рис. 11.1, П 2) представляют собой функционально законченные устройства, содержащие центральный процессор ЦП, память программ РПЗУ, память данных ОЗУ, многоканальный интерфейс ввода-вывода -разрядный таймер-счетчик ТС, регистр адреса РА, устройство управления и синхронизации, дешифратор команд ДК и регистр команд РК [37; 44; 50; 66; 81]. Предусмотрена возможность расширения памяти программ до , памяти данных до 256 байт и увеличения числа линий ввода-вывода за счет подключения внешних ПЗУ, ОЗУ и интерфейсов ввода-вывода серии . Все выводы ОМЭВМ совместимы с элементами ТТЛ. Входы представляют собой единичную нагрузку, а выходы нагружены одной ТТЛ-нагрузками.

Центральный процессоо обеспечивает выполнение арифметических и логических операций и операций сдвига над данными, представленными в двоичном или двоично-десятичном кодах.

В состав ЦП входят АЛУ, аккумулятор А, регистр временного «ранения РВХ операнда, схема десятичного корректора СДК, схема условных переходов СУП, схема формирования признаков СФП, часть из которых фиксируется в регистре слово-состояния программы РССП и используется логической схемой управления переходами по программе.

Комбинационная схема АЛУ выполняет следующие операции: сложения байта с переносом илда без него, логические операции И, ИЛИ и исключающее ИЛИ; инкремент и дискремент байта; ииверсию байта; циклический сдвиг влево и вправо (через или минуя признак переноса); обмен тетрад в байте; десятичную коррекцию. Результат выполнения операций АЛУ всегда заносится через внутреннюю ШД в аккумулятор.

Рис. 11.1.

Рис. 11.2.

Аккумулятор представляет собой -разрядный регистр для записи и хранения данных, подаваемых с внутренней ШД. Регистр временного хранения (программно-недоступный) представляет собой -разрядный регистр. Он предназначен для записи и хранения второго операнда при выполнении операций в АЛУ. Схема десятичного корректора предназначена для обработки данных, представленных в двоично-десятичном коде.

При выполнении операций в АЛУ формируются признаки СФП, часть из которых не фиксируется в РССП.

К таким признакам относятся признаки нулевого содержимого аккумулятора и признак наличия единицы в селектируемом разряде аккумулятора. Схема условных переходов по указанным признакам позволяет без фиксации выполнять команды передачи управления . Признаки переноса (переполнения С) и вспомогательного переноса (перенос младшей тетрады в старшую АС) фиксируются в РССП (рис. 11.3).

Рис. 11.3.

Регистр слово-состояния программы (PSW) предназначен для хранения данных о состоянии микро-ЭВМ. РССП может программно проверяться, модифицироваться весь и поразрядно. При прерываниях по входу «Запрос прерывания» (ЗПР) и. по признаку переполнения таймера-счетчика FT содержимое РССП заносится в стек, а при возврате из программы прерывания содержимое этих разрядов восстанавливается Условия перехода определяются также состояниями входов ТО, , ЗПР, признаками пользователя , признаком переноса С, признаками банка регистров общего назначения (BS) и выбранного блока внешней памяти программ . Значения признаков С, , устанавливаются программно, признаков ТО, , ЗПР — аппаратно.

Память программ (ПП) предназначена для хранения и считывания команд, которые поступают в ЦП и управляют процессом обработки информации. Объем адресуемой счетчику команд памяти программ составляет 4 Кбайт. Счетчик команд содержит 12 разрядов, 11 из которых меняются последовательно от до . При переполнении младших 11 разрядов с переноса в разряд не происходит. Состояние разряда (MB) счетчика команд можно изменять специальными командами SEL МВО, . Содержимое СК может изменяться не только последовательно, но и произвольно при выполнении команд условных и безусловных переходов, а также прерывании. Таким образом, все адресное пространство состоит из двух банков МВО и по 2 Кбайт (рис. 11.4).

В памяти программы имеются три специализированных адреса: адрес , к которому передается управление сразу после окончания сигнала «Сброс» (R), по адресу должна находиться команда безусловного перехода к началу программы; ачрес «3», по которому расположен адрес подпрограммы, вызванной по сигналу «Запрос прерывания» (ЗПР) при условии, прерывание ранее по команде ENI, при этом сигнал «Сброс» (В) запрещает прерывания; адрес «7», по которому расположен адрес подпрограммы, вызываемой по переполнению FT таймера-счетчика при условии, что прерывание разрешено.

Память программы разделяется не только на банки МВО объемом 2 Кбайт, но и на страницы по 256 байт в каждой-. В командах условного перехода задается -разрядный адрес передачи управления в пределах текущей страницы. Прн обращении к ячейкам ПП применяют два способа адресации: непосредственная, при которой второй байт двухбайтной команды представляет собой операнд; косвенная, при которой содержимое аккумулятора используется в качестве указателя данных в текущей странице или в 3-й странице памяти программ.

Следует отметить, что в ПП старший байт двухбайтного слова располагается в ячейке с меньшим адресом.

Если адрес выборки команды выходит за пределы ПП, то автоматически инициализируется внешняя память. При этом содержимое СК выводится на -разрядную ШД и на четыре младших разряда регистра . Сигнал «Фиксация адреса» (ФА) задним фронтом фиксирует действующий адрес внешнего устройства (ВУ), а сигнал «Считывание из внешней памяти» (СЧВП) стробирует выборку байта из внешней памяти на внутреннюю ШД.

Рис. 11.4.

Память данных (ОЗУ) предназначена для записи, хранения и считывания данных, получаемых в процессе обработки информации. Память данных, состоящая из 64 (128) ячеек ОЗУ, разбита на два банка регистров общего назначения (РОН) с адресами 0—7 и 24—31 по восемь регистров в каждом (рис. 11.5). Переключаются банки программно с помощью команд SEL . Восьмиуровневый -разрядный стек с адресами от 8 до 23 и ячейки ОЗУ от 32 до 63 используются только как ОЗУ данных.

РОН доступны командам с прямой адресацией, а все ячейки ОЗУ доступны командам с косвенной адресацией. В качестве регистров косвенной адресации используются регистры обоих банков. Ячейки ОЗУ адресуются указателем стека из РССП и их можно использовать в качестве -уровневого стека (рис. 11.6). Загрузка в стек приводит к увеличению указателя стека , чтение из стека —к уменьшению.

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

Однако по командам вызова и возврата осуществляется доступ к двухбайтным словам. В памяти данных слова хранятся так, что старший байт слова располагается в ячейке с большим адресом.

Обращение к внешней ОЗУ осуществляется с помощью команд . Обмен информацией с внешним ОЗУ стробируется сигналами «Чтение данных внешней ОЗУ» (ЧТ) и «Запись данных во внешнее ОЗУ» (ЗП).

Рис. 11.5.

Рис. 11.6.

Многоканальны, интерфейс ввода-вывода предназначен для обмена информацией ОМЭВМ с внешними устройствами.

В ОМЭВМ имеется 27 линий ввода-вывода, 24 из которых объединены в три -разрядных канала , РО. Каналы обладают возможностью фиксаций данных. Эти данные присутствуют на выводах канала и могут быть изменены только новой командой OUTL. Каналы можно программным путем настроить на ввод, вывод или на работу с двунаправленной линией передачи. Каждый контакт ввода-вывода каналов является выходом с открытым стоком и высокоомным входом, соответствующим высокому уровню, т. е. логической При использовании каналов в качестве входов необходимо до подачи входной ииформации установить каналы в состояние высокого уровня с помощью сигнала «Сброс» (R). Особенностью каналов является то. что в процессе ввода информации вчполняется операция логического И над вводимыми и текущими (последними выводимыми) данными. Поэтому при вводе программист должен следить за тем, чтобы в соответствующих линиях ввода сохранялось значение логической «1». Указанная особенность каналов при вводе, а также использование команд логических операций ANL и ORL представляют программисту эффективное средство маскирования для обработки однобитовых входов и выходов в ОМЭВМ.

В системе команд ОМЭВМ есть команды, которые позволяют выполнять запись и «1». Но так как в этих командах маска задается непосредственно операндом, то необходимо знать прьделение сбрасываемых и устанавливаемых линий на этапе разработки исходной программы. В том случае, если маска вьнисляется программой и заранее не известна, то в ОЗУ необходимо иметь копию состояния вывода. Эта копия по командам логических операций соединяется с вычисляемой маской в аккумуляторе и затем загружается в канал . Необходимость этой процедуры вызвана тем, что структура каналов не позволяет выполнить операцию чтения состояния каналов , зафиксированных до последней команды вывода.

Канал РО — -разрядиый двунаправленный регистр с тремя состояниями, который можно использовать в качестве статически фиксированного выхода двунаправленного канала данных, выхода младших разрядов адреса при использовании внешней памяти и нефиксированного входного сигнала. Информация, выдаваемая каналом РО с помощью команд OUTL , сопровождается сигналом «Запись» записи информации канал РО с помощью команд INSA, BUS и MOVX вырабатывает сигнал «Чтение» (41).

Кроме операций ввода-вывода информации, предусмотрена возможность выполнения логических операций И, ИЛИ непосредственно в каналах РО, с помощью команд ANL Р.

Три линии ввода-вывода , ЗПР служат входами, проверяемыми командами условного перехода Линию ввода-вывода ТО (по команде ENTO, CLK) можно использовать для выдачи тактовых сигналов с частотой в три раза меньше частоты задающего генератора, а линию — как вход счетчика внешних событий для таймера-счетчика, если счет разрешен командой STRT CNT. Линия ЗПР используется для внешнего аппаратного прерывания, если прерывание разрешено командой .

Число линий ввода-вывода можно увеличить, если использовать команды MOVD А, Р; MOVD Р, A; ANLD Р, A; ORLD Р, А. При этом обмен информацией осуществляется через канал . Каждая пересылка состоит из двух полубайтов. Первый полубайт содержит код операции: чтение — 00, запись — 01, операция И — 10, операция ИЛИ — 11 и адрес одного из четырех внешних каналов , а второй полубайт — четыре бита данных D. Синхронизируется работа сигналом «Строб расширителя ввода-вывода» (СТВВ). Переход сигнала СТВВ из указывает, что на выводах находится код операции и адрес внешнего канала, а переход сигнала СТВВ из означает, что на этих выводах находятся данные — содержимое четырех младших разрядов аккумулятора.

Таймер-счетчик предназначен для подсчета внешних событий и формирования временных задержек без участия ОМЭВМ. Состоит из делителя частоты -разрядного двоичного счетчика и триггера «Признака переполнения» (FT). На вход счетчика через делитель поступают импульсы сигнала ФА (в режиме таймера) и с входа (в режиме счетчика внешних событий).

Содержимое счетчика устанавливается по команде MOV Т, А, а текущее значение проверяется по команде MOV А, Т. В режиме таймера счетчик запускается командой STRT, а в режиме счетчика событий — командой STRT CNT, а останавливается (без сброса содержимого) командой STOP TCNT (или сигналом )

Триггер «Признака переполнения» (FT) таймера-счетчика устанавливается в состояние логической «1» при переходе счетчика из состояния FF в состояние 00. Признак FT используется в командах условного перехода, а также для прерывания. Содержимое счетчика можно прочитать в аккумуляторе или модифицировать из аккумулятора по команде MOV. Путем программной установки в исходное состояние и анализа признака переполнения FT можно реализовать различные временные задержки в диапазоне .

Рис. 11.7.

Устройство управления и синхронизации предназначено для выработки сигналов, обеспечивающих выполнение команд. Оно состоит из генератора: формирователей тактовых сигналов; формирователей сигналов состояний и режимов работы и схемы прерывания.

Генератор представляет собой схему с последовательным резонансом в диапазоне частот МГц. Выводы используются для подключения внешнего кварцевого резонатора (рис. ) -цепи (рис. ). Сигналы от внешнего генератора тактовых импульсов можно подавать на вход (рис. 11.7,е).

Формирователь тактовых сигналов делит частоту генератора (на три) для получения тактовых сигналов (ТС) CLK, выдаваемых на вывод ТО по команде ENTO CLK. Вывод тактовых сигналов на внешний вывод ТО блокируется сигналом R. Тактовые сигналы ТС делятся на пять в счегчике машинных циклов (МЦ), выходные сигналы которого определяют пять состояний машинного цикла ОМЭВМ (рис. 11.8). Сигнал с одного из выходов счетчика МЦ поступает на вывод ФА с периодом следования, соответствующем МЦ. Сигнал ФА используется для фиксации адреса внешней памяти

В формирователях сигналов состояний и режимов работы в качестве входных сигналов используются сигналы: «Выборка из внешней памяти» (ВВП); «Строб расширителя ввода-вывода» (СТВВ); ТО; «Пошаговый режим» (ШАГ), «Сброс» (R). Их комбинации позволяют реализовать основные режимы работы ОМЭВМ.

Схема прерывания в ОМЭВМ обеспечивает два вектора (адреса) прерывания: один аппаратный по входу ЗПР (адрес 03), другой используется как внутренний и как внешний (вход Т1) по признаку переполнения FT таймера-счетчика (адрес 07).

Каждый из векторов прерываний может быть разрешен или запрещен программно командами ENI, DISI, ENI, CNTI, DISI CNT1. Кроме того, по сигналу R прерывание запрещается до тех пор, пока оно не будет разрешено командами ENI, ENI CNTI. При поступлении на вход сигнала ЗПР, если прерывание по входу ЗПР разрешено, схема обращается к программе обслуживания с адресом 03. Как и при любом обращении к подпрограмме, содержимое СК и слово с информацией о состоянии программы (PSW) записываются в стек. То же происходит и при выработке признака FT, только в этом случае обращение производится по адресу 07, Программа обслуживания должна записываться командой RETR (восстановление состояния и возврат к прерванной программе), так как до выполнения этой команды последующие запросы на прерывание не обслуживаются (прерывание запрещено). Система прерывания в ОМЭВМ фиксированная по приоритету. Прерывание по входу ЗПР имеет высший приоритет.

Рис. 11.8.

Однокристальная микроЭВМ может работать в следующих режимах: проверка программной памяти (программировании памяти программ РПЗУ); работа с внутренней и внешней памятью; пошагового выполнения команд. Режимы работы устанавливаются комбинацией входных и выходных сигналов.

После включения напряжения электропитания ОМЭВМ устанавливается в начальное состояние сигналом R (активный — низкий уровень напряжения) длительностью не менее . Сигнал R выполняет следующие функции: устанавливает СК и указатель стека в РССП (PSW) в выбирает банк РОН памяти данных и банк памяти программ МВО; устанавливает канал в высокоомное состояние (при ВВП подготовляет каналы для приема информации; блокирует прерывание по входу ЗПР и таймеру-счетчику; останавливает таймер-счетчик; устанавливает признаки запрещает выдачу сигналов по выводу ТО.

Режим проверки программной памяти (рис. 11.9) используется при контроле правильности информации, занесенной в память в процессе ее программировании или изготовления, а также при контроле «чистоты» памяти после стирания для микросхемы . Под «чистотой» памяти понимается нахождение всех ячеек памяти после стирания в состоянии низкого порогозого напряжения, которое обеспечивает на выходах канала РО состояние низкого уровня.

Рис. 11.9.

Подаваемые на одноименные выводы ОМЭВМ сигналы выполняют следующие функции: ВВП при подаче напряжения высокого уровня (25 В) активизирует режим обращения к внутренней памяти для программирования; ТО обеспечивает режимы программирования (логический ) и контроля (логическая ); фиксирует выбранный адрес при низком уровне напряжения на выводе ТО; (канала РО) обеспечивают подачу адреса и данных; обеспечивают подачу адреса . При организации режима контроля памяти следует иметь в виду, что по выводам передаются сигналы адреса и выдаются данные для контроля. Поэтому при переходе к режиму контроля необходимо обеспечить высокоомное состояние на выводах , которое исключает попадание обратные выходы схемы напряжения адресных сигналов поступающих от источника. При проверке «чистоты» памяти выхоьноо напря жение на выводах соответствует напряжению логического .

Режим программирования памяти программ (РПЗУ) Записывается информация в РПЗУ в процессе программирования программаторах, обеспечивающих выбор ячеек памяти по заданному адресу, причем только той части информации, которая представлена логической «1», а запись логического по всем адресам РПЗУ осуществляется при стиранин информации (ультрафиолетовое облучение).

Вывод СТВВ до программирования находится в высокоомном состоянии. При программировании на вывод СТВВ подается напряжение не более 25 В длительностью .

Процесс программирования включает в себя следующие операции; задание режима программирования, задание адреса, фиксация адреса, подача данных, подача импульса программирования (рис. 11.10).

После окончания процесса программирования байта данных (до перехода к следующему процессу) при необходимости выполняется операция проверки содержимого. Режим работы с внутренней памятью устанавливается при ВВП . Выполнение программы, хранящейся в РПЗУ, начинается с команды по адресу 00 после сброса. Для увеличения

Рис. 11.10.

производительности ОМЭВМ предусмотрено совмещение выполнения внутренних операций в одном цикле. Например, выполнение выбранной команды и подготовка следующего адреса команды происходят одновременно. Для синхронизации ВУ ввода-вывода можно использовать сигнал ФА, выдаваемый в каждом машинном цикле.

Рис. 11.11.

Режим работы с внешней памятью применяется при отладке программ и контроле процессора ОМЭВМ (рис. 11.11). Для этого внутренняя память программ отключается при . В этом случае внешняя память программ может иметь объем до 4096 байт. Выполняется следующая последовательность операции: содержимое 12 разрядов СК выводится в качестве адреса обращения к внешнему ЗУ через канал — младшие разряды вчетчика , и через канал старшие разряды СКП...СК8;

Адрес внешнего ЗУ фиксируется по окончании сигнала ФА; шина данных переходит в режим входа, и процессор принимает -разрядное слово команды: выборка команды из внешнего ЗУ фиксируется по окончааии сигнала СЧВП.

Использование внешней памяти программ в качестве дополнения к внутренней памяти возможно благодаря механизму переключения банкои памяти программ по 2 Кбайт каждая (при этом ВВП . Выбор банка определяется содержимым старшего разряда MB счетчика команд, который загружается каждый раз командой перехода JMP (или CALL) при вызозе подпрограммы. Старший разряд MB счетчика команд устанавливается в «1» (выбор банка MBI — ячейки с адресом ) командой и сбрасывается в «0» (выбор банка МВО — -ячейки с адресом ) по команде SEL МВО пли по сигналу .

Рис. 11.12.

Команда SEL MB должна выполняться в программе перед переключением банка памяти программ, а переключение осуществляется при выполнении очередной команды перехода JMP (или вызова подпрограммы CALL).

Память данных можно расширить за пределы встроенной памяти с 64 до 256 байт, при этом обмен данными между внешним ОЗУ и ОМ ЭВМ выполняется через канал РО командами MOVX . По этим командам происходит передача -разрядных данных между аккумулятором и ячейками внешней ОЗУ, адресуемой содержимым одного из двух регистров указателей или . При этом адрес данных фиксируется по сигналу ФА, а прием и выдача данных — по сигналам ЧТ и ЗП (рис. 11.12). Структурная схема расширения внешней памяти программ (ВПП) и памяти данных (ВПД) изображена на рис. 11.13.

Режим пошагового выполнения программ используется в процессе отладки и проверки программы. В этом режиме при выполнении программы процессор можно остановить на каждой команде. Управляется пошаговый режим подачей последовательностей сигналов на вход ШАГ (рис. ).

При организации пошагового режима выполняются следующие операции: 1) в ОМЭВМ поступает запрос на останов путем подачи логического «0» на вывод ШАГ; 2) ЦП останавливается на этапе выборки следующей команды, при этом завершается выполнение текущей команды; 3) ОМЭВМ подтверждает; что она находится в режиме останова путем установки сигнала ФА в состояние логической «1».

В этом состоянии ЦП выдает на каналы адрес следующей команды; 4) для выхода из режима останова, на выводе ШАГ устанавливается логическая «1», что обеспечивает выборку следующей команды; процессор подтверждает выход из состояния останова путем установки логического на выводе ФА;

Рис. 11.13.

5) для того чтобы обеспечить останов на следующей команде, устанавливается логический на выводе ШАГ, когда уровень сигнала ФА станет низким. Если уровень сигнала ШАГ остается высоким, ОМЭВМ отрабашвает программу в динамическом режиме.

Рис. 11.14.

В ОМЭВМ предусмотрена возможность расширения канала ввода-вывода.

Шина данных ОМЭВМ совместима с -разрядной двунаправленной ШД микропроцессорной системы на базе МПК , что обеспечивает подключение к ОМЭВМ серии интерфейсных БИС серии , можно использовать для реализации дополнительных специальных функций, а также для увеличения числа каналов ввода-вывода.

Рис. 11.15.

Рис. 11.16.

На рис. 11.15 изображены схемы расширения канала ввода-вывода и подключении интерфейсных БИС.

Система команд включает 96 команд, 68 из них однобайтные (габл. 11.1). В двухбайтных командах первый байт содержит иаформацию о коде команды, второй байт — непосредственно данные или младшие разряды адреса следующей команды.

Таблица 11.1

(см. оригинал)

Таблица 11.1 (продолжение)

(см. оригинал)

Таблица 11.1 (продолжение)

(см. оригинал)

Таблица 11.1 (продолжение)

(см. оригинал)

Таблица 11.1 (продолжение)

(см. оригинал)

Таблица 11.1 (продолжение)

(см. оригинал)

Таблица 11.1 (продолжение)

(см. оригинал)

Таблица 11.1 (продолжение)

(см. оригинал)

Таблица 11.1 (продолжение)

(см. оригинал)

Продолжение табл. 11.1

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

Множество команд ОМЭВМ по функциональному признаку можно разбить на шесть групп: команды пересылки и обмена (рис. 11.16), команды арифметических и логических операций (в том числе и операций по признакам); команды ввода-вывода; команды передачи управления (в том числе и операций с подпрограммами); команды операций с таймером; команды управления режимом работы ОМЭВМ.

<< Предыдущий параграф Следующий параграф >>
Оглавление