Структура микропроцессорных систем управления

Автор работы: Пользователь скрыл имя, 15 Января 2015 в 09:08, доклад

Описание работы

Объекты управления (ОУ) бытовой техники по своему назначению делятся на два класса. К первому классу относятся хорошо известные объекты, предназначенные для использования в домашних условиях: телевизоры, видеомагнитофоны и другие устройства бытовой радиоэлектронной аппаратуры (БРЭА), а также холодильники, стиральные машины, кухонные комбайны и др. Ко второму классу относятся объекты, предназначенные для оказания услуг населению в производственных условиях:промышленные стиральные машины, машины химической чистки одежды, станочное оборудование предприятий по ремонту и изготовлению мебели по заказам населения.

Файлы: 1 файл

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

— 704.53 Кб (Скачать файл)

Архитектура ОМК КМ1816ВЕ48

 

БИС однокристального контроллера КМ1816ВЕ48 (аналог 8048) изготовлена по n-МОП-технологии и содержит все функциональные узлы, необходимые для самостоятельной обработки 8-разрядной цифровой информации, поступающей от внешних устройств через три независимых порта ввода-вывода. Структурная схема ОМК изображена на рис. 1. Даже при беглом просмотре можно заметить сходство структур КМ1816ВЕ48 и однокристального МП К580ВМ80. Обе структуры имеют 8-разрядное АЛУ, регистр-аккумулятор А, схему десятичной коррекции СДК, регистр признаков (в структуре ОМК называемый регистром слова состояния программы ССП), регистр команд РК, дешифратор команд ДШ, схему управления и синхронизации и, наконец, внутреннюю магистраль данных, через которую осуществляется обмен данными со всеми внутренними устройствами ОМК.

 

Рис. 1 - Структура ОМК КМ1816ВЕ48

Отличие структуры ОМК от МП К580 заключается в расположении на кристалле ОМК оперативной памяти ОЗУ объемом 64 байт, ПЗУ с ультрафиолетовым стиранием объемом 1 Кб, 6-разрядного двоичного суммирующего счетчика, тактового генератора (на рис. 1 не показан) и трех независимых 8-разрядных портов ввода-вывода. Схема управления внешней памятью (УПР ВП) позволяет расширить объем ПЗУ до 4 Кб и объем ОЗУ до 320 Кб. ОМК имеет 16 8-разрядных регистров общего назначения (РОН) и восьмиуровневый стек. Встроенная схема управления прерываниями обеспечивает два уровня прерывания приоритетов. Система команд ОМК содержит 96 базовых команд, многие из которых идентичны командам МП К580. Конструктивно БИС ОМК48 размещена в металлокерамическом корпусе с 40 выводами, на лицевой поверхности которого размещена прозрачная для ультрафиолетовых лучей крышка. ОМК имеет напряжение питания 5 В + 5% при токе потребления около 135 мА. Все выводы электрически совместимы с элементами ТТЛ и рассчитаны на подключение одной ТТЛ-нагрузки. Таким образом, структура, принцип действия и система команд ОМК во многом схожи с МП 580. Поэтому изучение функционирования и способов программирования ОМК КМ1816ВЕ48 следует начинать после изучения МП К580.

Синхронизация и сигналы управления ОМК

Работа ОМК синхронизируется однофазной последовательностью импульсов, которые вырабатывает встроенный генератор, представляющий собой схему с последовательным резонансом, работающую в диапазоне частот 1-6 МГц. Возбуждение генерации обеспечивает входной кварцевый резонатор, подключаемый к выходам Х1 и Х2. Допускается вместо резонатора использовать LC-цепь, подключаемую к тем же выводам. Возможно получение сигнала синхронизации от внешнего приемника. Принципиальная схема подключения кварцевого резонатора или LC-цепи к выводам ОМК (рис.2, а) традиционна. Кварц или LC-цепь в схеме обеспечивают частотно зависимую обратную связь и фазовый сдвиг для генератора. Вывод Х1 является входом генератора, а вывод Х2 - его выходом. Индуктивность L, изображенная пунктирно, используется в случае возбуждения генератора LC-цепью. Тактовый генератор содержит два счетчика Сч1, Сч2 с модулями пересчета 3 и 5 (рис.2, б). С выхода Сч1 тактовые сигналы с частотой 2 МГц командой ENTO могут быть выданы на вывод ТО ОМК. Прекратить выдачу сигналов на вывод ТО можно только сигналом сброса - СБР. В этом случае вывод ТО ОМК используется схемой условных переходов (СУП) для организации условных переходов командами STO и SNTO по состоянию сигнала на выводе ТО. С выхода Сч1 тактовые импульсы поступают на вход счетчика Сч2 с модулем пересчета 5, который определяет пять внутренних состояний ОМК. Сигнал одного из выводов Сч2 поступает на вывод САВП и определяет длительность машинного цикла ОМК. Таким образом, длительность машинного цикла составляет 15 периодов тактовой последовательности импульсов.

 

 
а) 
 
б)

Рис. 2 - Схема синхронизации (а) и машинный цикл (б) ОМК48

Сигнал САВП — строб адреса внешней памяти — используется для приема и фиксации адреса внешней памяти на внешнем регистре система. При работе с внутренней памятью сигнал САВП не используется.

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

Машинный цикл ОМК длится пять периодов тактовой последовательности с частотой 2 МГц, которая формируется на выводе 1. За пять тактовых импульсов С1 (рис. 2, б) проходят все фазы выполнения команды. В такте Т1 после выдачи счетчиком команд СК адреса очередной команды осуществляется выборка команды и ее запись в регистр команд РК. В такте Т2 производится дешифрация команды и увеличение на единицу счетчика команд. Такт T3VT5 используются для выполнения команды и выдачи адреса очередной команды. Таким образом, в отличие от МП К580 длительность машинного цикла ОМК неизменна и составляет пять тактов частоты 2МГц, или 2,5 мкс. Кроме того, фаза выполнения команды совмещена с фазой формирования и вывода адреса очередной команды, что позволило существенно повысить производительность центрального процессорного устройства.

Схема управления ОМК, кроме формирования внутренних сигналов управления СУ, синхронизирующих работу всех внутренних устройств ОМК, формирует несколько внешних управляющих сигналов, обеспечивающих связь ОМК с внешними устройствами и внешней памятью.

Управление внешней памятью осуществляется следующими пятью сигналами:

  • САВП — строб адреса внешней памяти, выводится из ОМК с частотой в пять раз меньше основной тактовой частоты С1;
  • РВД — отключение внутреннего ПЗУ и сигнализация режима доступа к внешней памяти; уровень лог. "1" свидетельствует о выборке команды только из внешнего ПЗУ; при программировании на вывод РВД подается напряжение +25 В;
  • РВП — разрешение внешнего ПЗУ; сигнал подается на вход разрешения буфера памяти при обращении к внешнему ПЗУ;
  • ЧТ — стробирующий сигнал при чтении из внешней памяти или внешнего устройства;
  • ЗП — стробирующий сигнал при записи во внешнюю память или внешнее устройство.

В режиме программирования используется сигнал ПРОГ/СТБВВ — программирующий импульс напряжения +25 В при программировании внутреннего ПЗУ. При работе о внешними устройствами на этот вывод ОМК выйдет сигнал стробирования ВУ — СТБВВ.

В группу внешних сигналов, обеспечивающих условный переход по инициативе внешних устройств, входят сигналы:

  • ТО - вводной сигнал, опрашиваемый командами условного перехода JTO, JNTO; вывод ТО используется в режиме программирования ОМК и для вывода тактирующей импульсной последовательности С1;
  • Т1 - входной сигнал, снашиваемый командами условного перевода JT1 и JNT1; используется в качестве входа внутреннего счетчика внешних событий;
  • ЗПр - запрос-прерывание от внешнего устройства; обеспечивает переход на подпрограмму обслуживания прерывания, если оно ранее разрешено командой ENI.

Блок центрального процессорного устройства

Центральное процессорное устройство ОМК содержит блоки, необходимые для оперативного выполнения операций над данными. В его состав вводят: комбинационная схема АЛУ, двухтактовый регистр-аккумулятор А, регистр временного хранения данных Т1, регистр слова состояния программы ССП и связанная с ним схема условных переходов СУП, схема десятичной коррекции СДК.

Функционально АЛУ ОМК не отличается от АЛУ МП К580 и выполняет те же операции: сложение содержимого аккумулятора с регистром, с байтом или ячейкой памяти; инкремент или декремент регистра или ячейки; логические команды И, ИЛИ иисключающего ИЛИ; инверсию байта; циклические сдвиги влево и вправо; обмен тетрад в байте и десятичную коррекцию содержимого результата. Отличающейся является единственная операция обмена тетрад в байте.

 

Рис. 3 - Формат регистра ССП

Результаты выполнения операции аналогично МП К580 фиксируются в триггерах регистра признаков, который в ОМК называют регистром слова состояния программ ССП. Однако состав признаков (флагов) совсем иной, а некоторые признаки в ССП не фиксируются вовсе. ССП имеет восемь разрядов, назначение которых представлено на рис. 3. Кроме признаков, указанных в ССП, используются признак нулевого результата и признак наличия единицы в селектируемом разряде аккумулятора. Эти признаки формируются в схеме условных переходов СУП, как и признаки, устанавливаемые аппаратно: признак состояния входа ТО, признак состояния входа Т1, признак переполнения таймера TF, признак состояния входа ЗПР, а также признаки FO и F1, устанавливаемые пользователем ОМК. Все перечисленные признаки используются для организации ветвлений программы, а схема условных переходов формирует управляющие сигналы, обеспечивающие переходы по условию.

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

Организация памяти ОМК

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

Встроенная память программ РПЗУ предназначена для хранения команд и неизменяемых данных. Адресное пространство РПЗУ составляет 4 Кб и охватывает адреса в диапазона 000h - 7FFh. Поскольку 7FF16 = 111 1111 11112, то для адресации 4 Кб ячеек РПЗУ достаточно одиннадцать разрядов счетчика команд. Фактически же шина адреса ОМК, связанная со счетчиком команд, имеет двенадцать разрядов. Состояние старшего двенадцатого разряда А12 счетчика команд программно с помощью команд SEL МВО и SEL MB1 может изменяться по инициативе программиста. Этот прием позволяет разделить все адресное пространство РПЗУ на два блока памяти емкостью по 2 Кб: МВО и МВ1. Блок МВО охватывает логические адреса памяти в диапазоне 000h-4FFh, которым соответствует значение старшего разряда СК А12 = 0. Блоку МВ1 соответствует значение А12 = 1 и логические адреса РПЗУ в диапазоне 500h-7FFh. Переход к блокам возможен только по командам SEL MBO/MB1, а адресация внутри блоков обеспечивается инкрементированием счетчика команд. Поэтому после выбора любого блока программист оперирует с адресами РПЗУ в диапазоне 000h-7FFh. Если программа не размещается в блоке МВО, то ее продолжение начнется с адреса 000h блока МВ1. Карта распределения адресов РПЗУ представлена на рис. 4.

Каждый блок памяти разбит на страницы по 256 байт в каждом. Для адресации ячеек внутри выбранной страницы достаточно только восемь разрядов, которые и указываются в командах условий переходов. Поэтому при разветвлении программы по условию возникают дополнительные трудности, связанные с указанием номера страницы, куда передается управление. В командах же вызова подпрограмм указываются все 11 разрядов адреса, что позволяет размещать подпрограммы на любых страницах памяти.

 

Рис. 4 - Карта распределения адресов памяти ОМК48

Три адреса - ОООh, ООЗh и 007h РПЗУ имеют специальное назначение. Адрес ОООh формируется в СК всякий раз после окончания сигнала системного сброса (подобно МП К580). Следовательно, по этому адресу должна быть записана какая-либо команда управляющей программы. Обычно сюда записывается команда безусловного перехода, так как ячейки с адресом 003 должны быть загружены вектором прерывания от внешнего устройства, запросившего прерывание сигналом ЗПР. В ячейке по адресу 007h размещается вектор прерывания от таймера или начальная команда обслуживания прерывания, так как ячейки начиная с адреса 008h могут содержать любой фрагмент управляющей программы.

Из структуры РПЗУ (рис. 4, а) видно, что блок МВО включает РПЗУ объемом 1 Кб и 1 Кб внешней памяти. Поэтому использование в управляющей программе МК взаимосвязанных подпрограмм никаких затруднений не вызывает. Если эти подпрограммы располагаются в различных блоках (МВО и MBI), то необходимо обеспечить выбор нужного блока памяти.

Встроенная память данных (ОЗУ) ОМК предназначена для оперативного хранения данных и составляет 64 8-разрядных ячеек, адреса которых лежат в диапазоне 00h- 3Fh. В состав ОЗУ входят два блока РОН (РОН1 и РОН0), содержащих по восемь регистров, и восьмиуровневый стек, содержащий 16 8-разрядных ячеек. Карта распределения адресов ОЗУ ОМК показана на рис. 4, б. Выбор РОН1 или РОН0 осуществляется команда соответственно SEL RBO или SEL RB1. Регистры блоков РОН1 и РОН0 используются в командах с прямой адресацией, и все ячейки ОЗУ доступны командам с косвенной адресацией через регистры RO, R1 или RO*, R1*, соответственно, блоков РОНО РОН1.

Ячейки с адресами 08h-18h составляют стек ОМК, и обращение к ним возможно через указатель стека при вызове программ или через регистры-указатели RO и R1. Если стек занимает не все отведенные ячейки, то остальные могут использоваться как ячейки ОЗУ.

Регистры RO и R1 могут использоваться в качестве косвенного адреса при подключении к ОМК внешней памяти данных объемом 256 байт.

Встроенный таймер (счетчик событий)

На кристалле ОМК 48 расположен 8-разрядный регистр с внутренней схемой инкрементирования, которые в совокупности образуют 8-разрядчый счетчик, работающий в режиме сложения поступающих на его вход импульсов. На базе счетчика программными средствами создается два логически раздельных устройства: таймер и счетчик событий, содержащие, кроме счетчика, делитель и триггер флага FT - переполнения счетчика.

На вход счетчика могут поступать импульсы с внешнего входа Т1 (в режиме счетчика событий) или с вывода делителя на 32 (в режиме таймера). Делитель используется для формирования эталонной импульсной последовательности на входе счетчика. На вход делителя поступает импульсная последовательность С2 с выхода делителя на 5 в схеме синхронизации (рис. 5). Таким образом, на вход делителя на 32 поступают импульсы с частотой FP/400, где FP - частота кварцевого резонатора. Следовательно, счетчик увеличивает свое содержание на 1 через каждые 80 мкс (Т = 32/400x103). Для полного заполнения на вход счетчика должны поступать 255 импульсов эталонной частоты. Каждый 256-й приходящий импульс переведет счетчик из состояния FFh в состояние ООh, признак переполнения счетчика FT установится при этом в состояние лог. "1". Состояние признака TF может быть использовано для организации ветвления программы по условию переполнения счетчика. Установка признака TF в состояние лог. "1" может быть использована для организации прерывания по вектору, размещенному по адресу 007 ПЗУ (рис. 5), если предварительно прерывание разрешено командой EN TCNT. Выполнение команды условного перехода или переход к подпрограмме обслуживания прерывания сбрасывает признак переполнения TF.

Информация о работе Структура микропроцессорных систем управления