Скачиваний:
51
Добавлен:
21.02.2014
Размер:
531.97 Кб
Скачать

Содержание

Введение 3

1 Техническое задание 4

2 Разработка электрической схемы электромузыкального синтезатора 6

2.1 Модуль процессора 6

2.2 Модуль клавиатуры и стробов 9

2.3 Модуль генераторов тона 11

2.4 Модуль задания параметров 12

3 Обоснование выбора микропроцессора КР580ИК80А 13

4 Описание микропроцессора КР580ИК80А 16

4.1 Структура микропроцессора КР580ИК80А 16

4.1.1 Блок регистров 19

4.1.2 Арифметико-логическое устройство 21

4.1.3 Стековая память 22

4.1.4 Буферные схемы 23

4.2 Система команд микропроцессора КК580ИК80А 23

4.3 Основные временные параметры микропроцессора КР580ИК80А 26

4.4 Основные характеристики микропроцессора КР580ИК80А 35

4.5 Цоколевка микросхемы КР580ИК80А 36

5 Описание управляющей программы 38

Заключение 41

Список литературы 42

Приложение А 43

ВВЕДЕНИЕ

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

В настоящее время массовый выпуск микропроцессорных наборов больших интегральных схем (БИС) с широкими функциональными возможностями, их низкая стоимость, гибкость и точность цифровых методов обработки информации превратили МП в системные элементы, на основе которых создаются системы промышленной автоматики, связи, измерительной техники, управления транспортом, а также высокоэффективные специализированные микроЭВМ, ориентированные на выполнение определенных задач. При этом специализация в основном обеспечивается программной настройкой устройства или системы.

Использование МП приводит к изменению характера проектной работы разработчика устройств и систем автоматики: во многих случаях проектирование схем заменяется разработкой программ настройки микропроцессорной аппаратуры на выполнение определенных функций [1].

1 Техническое задание

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

Цифровые электронные музыкальные синтезаторы (ЭМС) представляют собой микроЭВМ, периферийными устройствами которых являются клавиатура, пульт управления и программируемые узлы синтеза спектральных и временных характеристик звука.

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

Любому звуку соответствует неразрывная совокупность его амплитудной и спектральной характеристик, изменяющихся во времени. Следовательно, задача синтезатора состоит в получении комплекса признаков – звуковысотного, спектрального и амплитудного. Соответствующий комплекс аппаратуры (управляемые генератор, фильтр, усилитель, генераторы функций времени) входит в состав канала синтеза.

Процессорный

модуль

Модуль

задания параметров синтеза

Модуль

задающих генераторов

Модуль

генераторов тона

Модуль

клавиатуры

и стробов

Σ

На рисунке 1 представлена структурная схема музыкального синтезатора.

Выход

Рисунок 1 – Структурная схема ЭМС

Процессорный модуль является ведущим узлом. Под его управлением работают модули клавиатуры и стробов, задания параметров синтеза и генераторов тона. Модуль клавиатуры связывает процессор с клавиатурой и формирует строб-сигналы для каждого из шести каналов. Модуль задания параметров синтеза вырабатывает вектор управляющих напряжений, определяющий значения программируемых параметров синтеза звука. Модуль генераторов тона из двух опорных частот вырабатывает шесть пар тональных сигналов [2].

Характеристики ЭМС:

  • диапазон по клавиатуре, октав 4;

  • число каналов синтеза 6;

  • число тональных генераторов в канале 2;

  • погрешность установления частоты основных тонов не более,

% от полутона 2,9;

  • время срабатывания клавиши не более, мс 3,2;

  • число оперативно выбираемых вариантов звучания 48.

2 РАЗРАБОТКА ЭЛЕКТРИЧЕСКОЙ СХЕМЫ МНОГОГОЛОСОГО

ЭЛЕКТРОМУЗЫКАЛЬНОГО СИНТЕЗАТОРА

Цифро-аналоговый многоголосый ЭМС построен на базе микропроцессорного комплекта БИС КР580. В частности в состав ЭМС входят следующие БИС базового и вспомогательного комплекта КР580 [3]:

  • 8-зарядный параллельный центральный процессор КР580ИК80А;

  • программируемый параллельный интерфейс КР580ВВ55;

  • программируемый таймер КР580ВИ53;

  • генератор тактовых импульсов КР580ГФ24.

2.1 Модуль процессора

На рисунке 2 представлена принципиальная схема процессорного модуля. В состав модуля входят:

  • микропроцессор D3– КР580ИК80А;

  • генератор тактовых импульсов D2– КР580ГФ24;

  • формирователь сигналов шины адресов, шины данных и шины

управления;

  • дешифратор адреса D10 – К155ИД4;

  • оперативное запоминающее устройство (ОЗУ) D7, D9– К155РУ2;

  • постоянное запоминающее устройство (ПЗУ) D11 – КР556РТ5.

МП КР580ИК80А связан с генератором тактовых импульсов D2 посредством входов G1, G2 (входы фазы 1 и фазы 2), ГТ и СБР. На вход МП от D2 поступает сигнал о готовности данных на шине данных (ШД) к вводу в МП или сигнал о готовности внешних устройств к приему информации (ГТ), а также сигнал сброса триггеров прерывания и захвата шин (СБР). На выходе МП формируется сигнал ПМ приема с ШД информации, выданной запоминающим устройством (ЗУ) или устройством ввода/вывода (УВВ), или сигнал ЗП выдачи байта информации на ШД для записи в ЗУ или УВВ. Сигнал ПМ, определяющий направление передачи, через элементы D4.2 и D4.3 поступает на входы выбора шины ВШ шинных формирователей D5, D6 – К589АП16, которые формируют сигналы двунаправленной ШД. Микросхемы D1 – К589АП16 и D4.6 – К155ЛН1 повышают нагрузочную способность тех линий шины адресов (ША), к которым требуется подключить более одного входа ТТЛ интегральных схем. Посредством ША МП КР580ИК80А связан с ОЗУ, которое служит для хранения кодов клавиш, максимальное значение которых 2FH. Поэтому два старших разряда ШД в ОЗУ не используются. Выходы ОЗУ подключаются к ШД через буферный элемент D9 – К155ЛН6 с тремя состояниями выхода. Программируемое ПЗУ D11 – КР556РТ5 содержит программу ЭМС, таблицу частот тональных генераторов и таблицу оперативно выбираемых звучаний. Используемое адресное пространство микропроцессора разбито на восемь страниц по 512 байт. Такое разбиение осуществляется дешифратором D10 – КР155ИД4, входы которого подключены прямо к ША[9], ША[10] и через D4.6 к ША[11]. При этом обращение ко всем внешним регистрам происходит так же, как к ячейкам памяти. В большинстве страниц используются от 1 до 6 адресов (таблица 1). Такое распределение адресного пространства позволяет упростить программу [2].

Таблица 1 – Распределение адресного пространства

Поле адресов

Используемые адреса

Назначение

0000-01FF

0200-03FF

0400-05FF

0600-07FF

0800-09FF

0A00-0BFF

0C00-0DFF

0E00-0FFF

0000-01FF

0200-0203

0400

0600-0603

0801-0806

0A00

0C00-0C0F

0E00

ПЗУ программ

ППА модуля клавиатуры и стробов

ПЗУ номера свободного канала

ППА модуля задания параметров синтеза

Регистры данных таймеров

РУС таймеров

ОЗУ

Сброс триггера «ПРОГРАММА»

2.2 Модуль клавиатуры и стробов

Модуль (рисунок 3) выполнен на основе программируемого устройства для ввода/вывода параллельной информации (ППА) D1 – КР580ВВ55. Все три канала ППА настроены для работы в режиме «0», причем каналы А и В на вывод, а канал С на ввод информации. Клавиатура представляет собой матрицу (86) нормально разомкнутых контактов, столбцы которой подключены к дешифраторуD2 – 155ИД4, а строки ко входам мультиплексора D4 – К155КЛ7. Диоды V1 – V48 исключают взаимное влияние нажатых клавиш. Процессор последовательно загружает в порт А ППА (его адрес 0200Н) коды клавиш от 00Н до 2FH. Три младшие линии порта А преобразуются дешифратором D2 в позиционный код, а линии А3…А5 управляют работой мультиплексора D4. Если клавиша на пересечении выбранных столбца и строки нажата, то на выходе D4 появляется сигнал высокого уровня, который считывается процессором по линии С0. На основании этой информации может быть произведена установка в «1» одного из строб-сигналов СТР1…СТР6. По состоянию сигналов СТР1…СТР6 с помощью ППЗУ D9 – КР556РТ4 определяется номер свободного канала, у которого соответствующий строб-сигнал имеет низкий уровень. Он считывается процессором с линии ЩДО…ЩД3 по сигналу ВУ0400Н и выдается в порт В ППА, с линий которого поступает на дешифратор D5 – 155ИД4. Сигнал ЗП через интегрирующую цепь R4С1 поступает на вход разрешения дешифратора. В результате на соответствующем выходе D5 появляется отрицательный импульс, по которому сигнал с выхода D4 переписывается в один из триггеров D6…D8 – 155ТМ2. После этого в канал В заносится код 00Н.

Сигнал «Программа» с кнопки S49 формируется триггером D10.1 – 155ТМ2 и через дифференцирующую цепочку С2R13 поступает на вход установки триггера D10.2 по линии С1 ППА. Активный уровень на этой линии инициирует отработку подпрограммы выбора синтезируемого звучания, которая заключается в загрузке портов А, В и С ППА модуля выбора параметров синтеза данными из таблицы в соответствии с кодом нажатой клавиши.

После отработки подпрограммы происходит сброс триггера записью произвольного слова по адресу 0Е00Н. Светодиод HL1 служит для индикации режима «Программа» и расположен на передней панели ЭМС.

Появление на выходах D9 четырех нулей свидетельствует о том, что все каналы заняты. В этом случае процессор производит операции с нулевым каналом, который физически не существует, то есть выполняет операции по обработке канальной информации в холостую [2].

2.3 Модуль генераторов тона

Модуль (рисунок 4) выполнен на четырех таймерах КР580ВИ53. С помощью ППЗУ регистрам таймеров присваиваются адреса (таблица 2), что позволяет упростить программу.

Рисунок 4 – Модуль генераторов тона

Решение задач аппаратными средствами необходимо не только для уменьшения объема ППЗУ, но и для уменьшения времени «срабатывания» клавиш, которое зависит от продолжительности одного полного прохода цикла программы и совместно с механическими характеристиками клавиатуры определяет ее качество. Это время не должно быть более 6 мс [3].

Таблица 2 – Адреса регистров таймера

Входы ППЗУ

Выходы ППЗУ

Регистр-

приемник

ВУ0800

ВУ0А00

А2

А1

А0

БМ2

БМ1

А1

А0

1

0

0

0

0

0

0

1

0

1

1

1

1

1

1

1

Х

0

0

0

1

1

1

Х

Х

0

1

1

0

0

1

Х

Х

1

0

1

0

1

0

Х

0

1

1

1

0

0

0

1

0

0

0

0

1

1

1

1

1

0

0

1

0

0

1

1

1

0

1

0

0

1

0

1

РУС

PD0

PD1

PD2

PD0

PD1

PD2

-

2.4 Модуль задания параметров

Модуль построен на основе ППА КР580ВВ55. Все порты модуля настроены на вывод в режиме «0». Совокупность линий портов А, В и С – это один 24-разрядный выходной регистр, каждый разряд которого можно использовать для управления параметром, имеющим два значения (например, скважность тонального сигнала 2 или 4), а группа разрядов – для выбора значений управляющего напряжения (посредством ЦАП или аналогового коммутатора). Конкретное назначение каждого разряда определяется при выборе схемы каналов синтеза и набора управляемых параметров [2].

3 ОБОСНОВАНИЕ ВЫБОРА МИКРОПРОЦЕССОРА

Цифровой электронный музыкальный синтезатор выполнен на базе микропроцессорного комплекта (МПК) КР580, который предназначен для создания широкого класса средств вычислительной техники и обработки информации. В состав МПК входит центральный процессорный элемент КР580ИК80А, являющийся функционально-законченным однокристальным параллельным 8-разрядным микропроцессором с фиксированной системой команд. В МП отсутствуют возможности аппаратного наращивания разрядности обрабатываемых данных.

Малоразрядные микроЭВМ и МП из серии КР580 находят широкое применение в простых специализированных устройствах управления в бытовой аппаратуре, измерительных системах, управляющих системах с жестким фиксированным алгоритмом. Реализация на их базе сложных логических преобразований, например, выполнение линейной и круговой интерполяции для станков ЧПУ, не эффективна. Непосредственную задачу управления конкретным звеном объекта МП КР580ИК80А выполняет вполне удовлетворительно, а подготовительные расчеты и обмен осведомительной и управляющей информацией между процессорами по малоразрядному интерфейсу выполняются долго [4].

Выбор между различными микропроцессорами должен выполняться на основе анализа особенностей их применения, требования точности и скорости обработки потоков информации (таблица3).

При сравнении МП серий КР580, К589 и К1801 было получено, что выбранный МП КР580ИК80А обладает меньшим быстродействием, меньшей разрядностью и отсутствием возможности ее наращивания.

Однако, несмотря на недостатки, 8-разрядный МП КР580ИК80А отличается от 16-раздрядных МП простотой архитектуры и дешевизной, что является немаловажным при построении простых устройств, которые не требуют высокой точности и высокого быстродействия, а значит, нет необходимости в излишней сложности и дополнительных затратах.

В МП КР580ИК80А используется радиальная система прерываний, рассчитанная на малое число активных периферийных устройств – до восьми. Так как в ЭМС периферийных устройств немного (клавиатура, пульт управления и программируемые узлы синтеза спектральных и временных характеристик звука), выбор МП с радиальной системой прерываний является вполне оправданным. Недостатком радиальной системы прерываний является неунифицированность шины запроса на прерывание. Преимущество: аппаратурное решение вопросов приоритета и выявление наиболее приоритетной заявки. Векторная система более динамична, но требует дополнительных затрат процессорного времени [5].

Таким образом, в цифровом электромузыкальном синтезаторе наиболее целесообразным является применение 8-разрядного МП КР580ИК80А, который благодаря специфичной архитектуре и фиксированному набору команд является наиболее подходящим для применения в подобных устройствах

4 ОПИСАНИЕ МИКРОПРОЦЕССОРА КР580ИК80А

4.1 Структура микропроцессора КР580ИК80А

Структурная схема микропроцессора приведена на рисунке 5.

В состав БИС КР580ИК80А входят:

  • 8-разрядное арифметико-логическое устройство (ALU);

  • регистр признаков (RS), фиксирующий признаки, вырабатываемые ALU

в процессе выполнения команд;

  • аккумулятор (А);

  • регистр аккумулятора (RGa);

  • регистр временного хранения операндов (RGb);

  • десятичный корректор (DAA), выполняющий перевод информации из

двоичной в двоично-десятичную форму;

  • регистр команд (IR), предназначенный для хранения первого байта

команды, содержащего код операции;

  • дешифратор команд (DCU);

  • блок регистров для приема, выдачи и хранения информации в процессе

выполнения программ, содержащий программный счетчик (РС), указа-

тель стека (SP), регистр адреса (PGA), шесть регистров общего назначе-

ния (B, C, D, E, H, L) и вспомогательные регистры (W, Z);

  • схема управления и синхронизации (CU) формирующая последователь-

ности управляющих сигналов для работы ALU и блока регистров;

  • 16-разрядный буферный регистр адреса (ВА);

  • 8-разрядный буферный регистр данных (BD);

  • двунаправленный мультиплексор (MUX) для обмена операндами и

результатами операций между ALU и блоком регистров [3].

А

RS

RGa

ALU

RGb

DAA

DCU

IR

BD

MUX

BA

D(7-0)

A(15-0)

Рисунок 5 – Структурная схема микропроцессора КР580ИК80А

Организация МП КР580ИК80А отмечена следующими основными особенностями:

  • трехшинной структурой с шинами данных, адреса и управления;

  • магистральным принципом связей, реализованным в виде связывающей основные узлы МП двунаправленной шины данных, имеющей ширину, равную длине слов, обрабатываемых микропроцессором;

  • наличием регистровой памяти, образованной программно-доступными общими и специализированными регистрами (счетчик команд, указатель стека, указатель данных), а также регистрами временного хранения;

  • наличием средств организации стековой памяти (регистр-указатель стека, схемы выполнения операций инкрементации-декрементации, специальных команд стековых операций);

  • наличием 16-разряденой шины адреса, обеспечивающей возможность прямой адресации любого байта в памяти емкостью 64 Кбайт;

  • наличием операций над двухбайтными словами (16-разрядными числами, адресами), что обеспечивается специальными командами, тандемными (двух- или трехбайтными) передачами;

  • использованием трех форматов команд (однобайтного, двухбайтного и трехбайтного) и разнообразных способов адресации (подразумеваемой, прямой, регистровой, косвенной, непосредственной, стековой), позволивших при коротком 8-разрядном слове иметь достаточно гибкую систему команд;

  • возможностью реализации векторного многоуровневого приоритетного прерывания путем подключения к МП специальной дополнительной БИС (контроллера прерываний);

  • возможностью реализации в МП режима прямого доступа к памяти путем подключения специальной дополнительной БИС (контроллера прямого доступа);

  • наличием эффективных средств работы с подпрограммами и обработки запросов прерываний (стековая память, специальные команды вызова подпрограмм и возврата из подпрограмм, в том числе условного).

МП имеет три шины: 8-разрядную двунаправленную внутреннюю шину данных, 16-разрядную адресную шину и шину управления [6].

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

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

При рассмотрении структуры МП можно выделить следующие ее части: блок регистров, арифметико-логическое устройство (ALU), буферные схемы, управляющее устройство (СU) [7].

4.1.1 Блок регистров. Микропроцессор КР580ИК80А содержит программно-доступные 8-разрядные регистры:

  • регистр аккумулятора (RGa);

  • общие регистры B, C, D, E;

  • регистр признаков RS;

  • 16-разрядные специализированные регистры: счетчик команд (PC);

  • регистр-указатель стека (SP);

  • сдвоенный регистр косвенного адреса HL (Н – регистр старшего

полуадреса, L – регистр младшего полуадреса).

Кроме того, имеются непосредственно недоступные программе регистры:

  • 8-разрядные регистры временного хранения W, Z;

  • 8-разрядный регистр команды (IR);

  • 16-разрядный регистр адреса РGА.

Имеется возможность использования содержимого пар регистров B и C, D и E, H и L как составных слов двойной длины. Общие регистры используются для хранения операндов, промежуточных и конечных результатов, а также адресов и индексов при косвенной и индексной адресациях.

Блок регистров имеет в своем составе особый регистр-аккумулятор. Аккумулятор используется в качестве источника одного из операндов и места, где фиксируется результат операции. В команде аккумулятор в явном виде не адресуется. На использование аккумулятора в операции указывает код операции команды, то есть в отношении аккумулятора применяется подразумеваемая операция, что позволяет применять одноадресные команды, имеющие сравнительно короткий формат.

Для того, чтобы аккумулятор мог одновременно являться регистром операнда и регистром результата операции, он строится на основе двухступенчатых триггеров.

По отношению к другим программно-доступным регистрам применяется или подразумеваемая, или укороченная (регистровая) адресация, задаваемая коротким номером регистра.

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

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

Особенностью блока регистров МП является наличие в его составе схемы инкрементора/декрементора, которая производит над содержимым регистров операцию прибавления/ вычитания «1». Схема инкрементора/декрементора позволяет реализовать процедуры автоматического задания приращений при операциях с адресами не только в регистре-указателе стека, но и в счетчике команд [1].

При выполнении операций в МП возникает потребность в кратковременном хранении некоторых операндов и результатов выполнения операций. Для этой цели служат регистры временного хранения данных W, Z. Использование регистров временного хранения позволяет МП за один цикл выполнения команды реализовать, например, такую операцию, как обмен содержимым двух регистров.

Буферные регистры временного хранения данных построены по простейшему принципу динамического хранения переменных на емкостях затворов МОП-транзисторов. Они позволяют простейшими аппаратными средствами выполнять довольно сложные операции «перетасовки» данных не только между общими регистрами, но и между регистрами, аккумулятором и памятью [8].

Для повышения эффективности операций со словами двойной длины и операций формирования и пересылок двухбайтных адресов имеется возможность оперировать с содержимым пар регистров B и C, D и E, H и L как с составными словами двойной длины, то есть в МП автоматически выполняется операция конкатенации над содержимым пары регистров. При этом реализуются так называемые тандемные пересылки, состоящие в передаче в цикле выполнения команды последовательно друг за другом двух байтов информации.

В состав блока регистров входит регистр-защелка адреса памяти. Собственно регистр адреса недоступен программисту. Однако любая пара регистров (BC, DE, HL) может быть использована для задания адресов команд и данных в программе. Этот адрес под воздействием соответствующих команд не только может быть загружен в регистр-защелку адреса, но и модифицирован в процессе загрузки. Регистр-защелка адреса передает адрес в буферную схему и далее в шину адреса [3].

4.1.2 Арифметико-логическое устройство. Восьмиразрядная комбинированная схема ALU выполняет арифметические и логические операции над 8-разрядными числами в процессе межрегистровых пересылок. К одному из входов схемы АLU всегда подключен аккумулятор, к другому через регистр Т может быть подключен любой из общих регистров.

АLU имеет собственный регистр временного хранения Т. Он позволяет избежать возникновения «гонок», когда какой-либо из общих регистров используется в одной операции и в качестве регистра-операнда, и в качестве регистра-результата.

АLU непосредственно связано с регистром признаков, в соответствующих разрядах которого фиксируются особенности выполнения каждой операции: нулевой результат в аккумуляторе – Z, перенос из старшего разряда – CY, знак результата – S, паритет – Р и вспомогательный перенос из младшего полубайта – АС. Наличие в МП регистра признаков упрощает осуществление программных переходов в зависимости от состояния одного или более триггеров признаков. АLU позволяет в процессе межрегистровых «пересылок с перекосом» выполнять операции сдвига на один разряд вправо или влево. Многократный сдвиг реализуется последовательностью одноразрядных сдвигов, то есть последовательно расположенными в программе командами сдвига.

В состав АLU входит комбинационная схема десятичного корректора DAA, назначение которого состоит в том, чтобы под воздействием специальной команды интерпретировать результат выполнения двоичной операции как результат операции десятичной арифметики.

АLU реализует простейшие арифметические и логические операции (сложение, вычитание, сдвиг, сравнение, логическое умножение). Все более сложные операции (умножение, деление, вычисление элементарных функций) выполняются по подпрограммам [1].

4.1.3 Стековая память. В МП КР580ИК80А организуется стековая память, реализующая безадресное задание операндов. В общем случае стек представляет собой группу последовательно пронумерованных регистров или ячеек памяти, снабженных указателем стека, в котором автоматически при записи и считывании устанавливается номер (адрес) последней занятой ячейки стека (вершины стека). В стеке реализуется дисциплина обслуживания «последний пришел – первый ушел». Эта дисциплина при обращении к стеку реализуется автоматически. Поэтому при операциях со стеком возможно безадресное задание операнда – команда не содержит адреса ячейки стека, но содержит адрес ячейки памяти или регистра, откуда слово передается в стек или куда загружается из стека [1].

В рассматриваемом МП используется «перевернутый» стек, то есть при передаче в стек слова значение указателя стека (адрес вершины стека) уменьшается, а при извлечении слова из стека – увеличивается.

Непосредственно в МП из оборудования стековой памяти содержится только регистр-указатель стека и соответствующие цепи управления. Сам стек реализуется в виде группы последовательных ячеек оперативной памяти. Стековая адресация используется в процедурах прерывания [7].

4.1.4 Буферные схемы. Двунаправленный буфер шины данных предназначен для логического и электрического разделения внутрипроцессорной шины данных и внешней, системной шины ШД. Буфер состоит из регистра-защелки и выходной схемы с тремя состояниями, то есть схемы, обеспечивающей на выходе состояние 0, 1 и полное электрическое отключение от нагрузки (высокоимпедансное состояние).

В режиме ввода информации внутренняя шина данных подсоединяется к регистру-защелке буфера, загрузку которого из внешней шины производит буферная схема под управлением команды. В режиме вывода информации буферная схема передает в шину данных содержимое буферного регистра-защелки, на вход которого по внутренней шине с одного из регистров загружен код.

Во время выполнения операций МП, не связанных с процедурами обмена с внешними по отношению к МП устройствами системы, буферная схема отключается от шины данных ШД, то есть переходит в высокоимпедансное состояние «не нуль, не один», которое называется «плавающим» состоянием.

Буферная схема шины адреса (однонаправленная) обеспечивает передачу адресов команд и данных, а также номера периферийных устройств от МП в систему. Выход буфера адреса, точно так же как и буфера данных, может переходить в отключенное состояние. Подобный режим необходим в рассматриваемой микропроцессорной системе, так как к памяти могут обращаться по системной шине адреса не только МП, но и некоторые из периферийных устройств (клавиатура, пульт управления) [9].

4.2 Система команд микропроцессора КК580ИК80А

Данные в микропроцессоре представлены в виде 8-разрядных кодов. Для идентификации отдельных разрядов в байте они нумеруются от D0 доD7 и считаются расположенными справа налево. При этом нулевой бит 0 соответствует младшему разряду, аD7 – старшему разряду. Однобайтовый код может рассматриваться либо как положительное целое число с диапазоном значений от 0 до 255, либо как целое число с диапазоном значений от -128 до +127. Для целых чисел используются двухбайтное и многобайтное представления [12].

Форматы команд могут быть одно-, двух- или трехбайтными (рисунок 6). Многобайтная команда должна размещаться в последовательно расположенных ячейках памяти, а в первом байте команды В1 всегда указывается код операции.

Рисунок 6 – Форматы команд

Для управления процессом выполнения программы используется слово-состояние программы, формат которого представлен на рисунке 6, г. Старший байт слова-состояния составляет содержимое аккумулятора, а младший – содержит флаги условий регистра признаков, определяемые результатом выполнения арифметических и логических операций. Установка флагов производится при выполнении следующих условий:

  • флаг знака S, если знаковый бит результата операции равен 1, иначе

сбрасывается;

  • флаг нуля Z, если результат операции равен 0, в противном случае

сбрасывается;

  • флаг дополнительного переноса АС при наличии переноса из третьего

разряда, иначе сбрасывается;

  • флаг четности P, если результат содержит четное число единиц, иначе

сбрасывается;

  • флаг переноса CY при наличии переноса (при сложении) или заема

(при вычитании) из старшего разряда результата, иначе сбрасывается.

В микропроцессоре используются пять способов адресации данных:

  • прямая – адрес М ячейки памяти, где расположен операнд, указывается

во втором (младшая часть адреса) и в третьем (старшая часть адреса)

байтах команды;

  • регистровая – в команде задается адрес оперативного регистра или

пары регистров, где находится соответственно 8- или 16-битовый

операнд;

  • регистровая косвенная – адрес М ячейки памяти, где расположен

операнд, определяется содержимым парного регистра, явно или неявно

указанного в команде; при этом старший байт адреса находится в

первом регистре пары, а младший – во втором;

  • непосредственная - операнд содержится в команде: для двухбайтовых

команд – во втором байте, для трехбайтовых – во втором (младшая

часть операнда) и в третьем (старшая часть операнда) байтах команды;

  • стековая – адрес ячейки памяти, содержащей операнд, находится в

указателе стека [10].

Специфический способ адресации памяти используется в однобайтовой команде, применяемой при обработке прерываний для вызова одной из восьми подпрограмм обслуживания прерываний. Команды RSTразличаются по номеруN, задаваемому в трехбайтовом поле кода команды. В результате выполнения командыRSTNуправление передается по адресу, определяемому восьмикратным увеличениемN.

По функциональному признаку команды микропроцессора делятся на пять групп [6]:

  1. команды передачи данных из регистра в регистр или память и из памяти в регистр;

  2. арифметические команды: сложения, вычитания, инкремента, декремента;

  3. логические команды: И, ИЛИ, исключающее ИЛИ, сравнение, сдвиг, инвертирование;

  4. команды передачи управления и обработки подпрограмм;

  5. команды ввода/ вывода и управления состоянием процессора.

Система команд микропроцессора содержит 78 команд, включающих 111 операций. Кодировка одиночных и парных адресов регистров микропроцессора, используемая при определении кодов команд, представлена в таблице 4.

Таблица 4 – Кодировка адресов регистров БИС КР580ИК80А

Регистр R

Код SSSилиDDD

Регистр R

Код SSSилиDDD

Парный

регистр RP

Код RR

B

C

D

E

000

001

010

011

H

L

M

A

100

101

110

111

B – C

D – E

H – L

S – P

00

01

10

11

4.3 Основные временные параметры микропроцессора КР580ИК80А

Время выполнения команды микропроцессора зависит от типа команды и составляет от одного до пяти машинных циклов (М). Длительность машинного цикла может составлять от трех до пяти машинных тактов (Ti). Длительность машинного такта равна периоду тактовой частоты, задаваемой частотой фаз СLK1, СLK2 генератора тактов.

Операции, выполняемые микропроцессором в машинном цикле, определяются 8-разрядной информацией, характеризующей состояние внутренних узлов микропроцессора. Этот байт состояния называется также словом состояния процессора и выдается на шину данных микропроцессора в такте Т2 каждого машинного цикла. Байт состояния может использоваться для формирования управляющих сигналов обращения к ЗУ, УВВ, а также при организации различных режимов работы микропроцессорной системы [5].

Для фиксации слова-состояния процессора можно использовать внешний 8-разрядный регистр. На рисунке 7 приведена временная диаграмма и схема записи слова состояния в многорежимный буферный регистр К589ИР12. Запись осуществляется сигналом CLK1 в такте Т2 с использованием сигналаSYNC.

Рисунок 7 – Временная диаграмма и схема записи слова состояния в много-

режимный буферный регистр К589ИР12

Наименование и назначение сигналов состояния, а также соответствующие им разряды шины данных микропроцессора указаны в таблице 5.

Таблица 5 – Сигналы состояния микропроцессора

Обозначение сигнала

Разряд

шины данных

Назначение сигнала

INTA

WO

STACK

HLTA

OUT

M1

INT

MEMR

D0

D1

D2

D3

D4

D5

D6

D7

Подтверждение прерывания; используется для стробирования приема команды RSTв МП из схемы прерывания

Запись; L– уровень сигнала указывает на запись данных в ЗУ или ВУ;H– уровень сигнала – запись в микропроцессор

Стек; Н – уровень сигнала указывает, что на шине адреса установлено содержимое SP

Подтверждение останова; Н – уровень сигнала указывает на переход МП в состояние останова

Ввод; Н – уровень сигнала указывает, что на шине адреса установлен код ВУ и можно осуществить ввод данных в МП по сигналу DBIN=1

Н – уровень сигнала указывает, что МП принимает первый байт команды

Ввод; Н –уровень сигнала указывает, что на шине адреса установлен код ВУ и можно осуществить ввод данных в МП по сигналу DBIN=1

Чтение; Н – уровень сигнала указывает, что осуществляется чтение содержимого ЗУ по адресу, установленному на шине адреса

Разновидности машинных циклов микропроцессора приведены в таблице 6. Цикл выборки команды MIявляется первым и обязательным машинным циклом всех команд микропроцессора.

Таблица 6 – Разновидности машинных циклов микропроцессора

Машинный цикл

Обозначение сигнала слова-состояния процессора

INTA

WO

STACK

HLTA

OUT

M1

INP

MEMR

Цикл М1 – выборка команды

Цикл чтения из ЗУ

» запись в ЗУ

» чтение из стека

Цикл записи в стек

Цикл ввода

» вывода

» прерывания

» останова

» прерывания

при останове

0

0

0

0

0

0

0

1

0

1

1

1

0

1

0

1

0

1

1

1

0

0

0

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

0

0

0

0

0

0

1

0

0

0

1

0

0

0

0

0

0

1

0

1

0

0

0

0

0

1

0

0

0

0

1

1

0

1

0

0

0

0

1

0

Управление функционированием микропроцессорной системы на базе микропроцессора КР580ИК80А осуществляется генерацией управляющих сигналов по двум шинам: по шине управления собственно микропроцессором (WR,DBIN,INTE) в каждом такте работы микропроцессораTiи по шине данных путем генерации слова-состояния процессора (PSW) в каждом машинном цикле М.

Диаграмма состояний микропроцессора при выполнении типового машинного цикла с внешними управляющими сигналами READY,HOLD,INTи сигналомHLTA, формируемым по командеHLT, приведена на рисунке 8.

Рисунок 8 – Диаграмма состояния микропроцессора при выполнении

типового машинного цикла

Из диаграммы состояний микропроцессора можно выделить следующие основные особенности функционирования [3]:

  1. Любой машинный цикл включает, по крайней мере, три такта (T1, Т2 и Т3). Такты Т4, Т5 не обязательны и применяются для внутренних операций микропроцессора.

  2. Подача сигнала Н-уровня на вход RESETдлительностью не менее трех периодов тактовой частоты микропроцессора устанавливает его в исходное состояние. В программный счетчик заносятся нули, а схема управления начинает формировать такт Т1 машинного цикла выборки команды М1.

  3. В такте Т2 микропроцессор анализирует сигналы READY,HLTAиHOLD. При наличии на входеREADYнапряжения Н-уровня и отсутствии сигналовHLTAиHOLDмикропроцессор переходит к такту Т3. в зависимости от вида выполняемой команды машинный цикл завершается после выполнения тактов Т3, Т4 или Т5. Если выполнение команды не закончено, то микропроцессор переходит к следящему машинному циклу команды, начиная с такта Т1. В конце каждой команды микропроцессор проверяет наличие запроса прерывания. Если есть Н-уровень сигнала на входеINTи триггер разрешения прерывания установлен (INTE=1), то МП устанавливает триггер прерывания (ТТ1) и приступает к выполнению машинного цикла прерывания, начиная с такта Т1. При наличии на входеREADYсигналаL-уровня в такте Т2 МП переходит в состояние ожидания (Tw), пока не появится сигналREADYот внешнего устройства.

  4. В такте Т2 при наличии сигналов на входах READYиHOLDпроизводится установка внутреннего триггера захвата (ТТ2). Однако переход к режиму захвата до такта Т3 не разрешается, чтобы МП мог закончить обмен с внешним регистром в начале такта Т3. По окончании состояния захвата МП всегда переходит к такту Т1 следующего машинного цикла. Если текущий машинный цикл содержит такты Т4 и Т5, то они совмещаются с режимом захвата.

  5. В состоянии останова МП переходит при наличии сигнала HLTA, формируемого во втором машинном цикле командыHLT, при этом внутренние шины адреса и данных переводятся в высокоимпедансное состояние и появляется Н-уровень напряжения на выходеWAIT– выполнение программы прекращается. Из состояния останова МП выходит по сигналу сброса или по сигналу запроса прерыванияINTпри установленном триггере разрешения прерывания (INTE= 1). В состоянии останова МП может переходить в режим захвата, если поступает сигнал напряжения Н-уровня на входHOLD.

На рисунке 9 изображена временная диаграмма приема информации в микропроцессор в цикле чтения из ЗУ и цикле ввода. В такте Т1 по каналу данных поступает информация о состоянии текущего цикла; в канал адреса выдается адрес ячейки памяти, из которой считывается информация о состоянии текущего цикла; в канал адреса выдается адрес ячейки памяти, из которой считывается информация в текущем цикле; формируется сигнал Н-уровня. В такте Т2 микропроцессор устанавливает сигнал высокого уровня DBIN, а канал данных принимает информацию с шины данных по импульсу синхронизацииCLK2 при условии, что есть сигнал высокого уровняREADY. Если необходимо согласовывать по времени работу ЗУ и МП, то можно увеличить длительность сигнала приемаDBINподачейL-уровня сигналаREADY. Тогда МП переходит в состояние ожидания и выдает сигнал Н-уровняWAIT, а канал адреса, канал данных и сигналDBINне изменяют своего состояния. По сигналуREADYН-уровня МП переходит в такт Т3, изменяются уровни сигналовWAITиDBIN; канал данных переводится в высокоимпедансное состояние. В такте Т4 информация в адресном канале изменяется и становится неопределенной до начала следующего цикла. В течение всего цикла приема информации сигналWRсохраняет Н-уровень напряжения. Временная диаграмма основных сигналов при выдаче информации из МП для цикла записи в ЗУ и цикла вывода отличается отсутствием сигналаDBINи формированием после такта Т2 сигналаWRL-уровня. В такте Т2 микропроцессор выдает информацию на шину данных для записи в ЗУ или УВВ.

Рисунок 9 - Временная диаграмма приема информации в микропроцессор

в цикле чтения из ЗУ и цикле ввода

Микропроцессор приступает к обработке запроса прерывания, поступившего на вход INT, если внутренний триггер разрешения прерывания установлен (INTE= 1). Установка или сброс триггеров разрешения прерывания может производиться программно, с помощью команд Е1 (разрешение прерывания) илиD1 (запрещение прерывания). Если запрос прерывания принят, то МП начинает выполнение машинного цикла прерывания. В такте Т1 этого цикла на шину адреса выдается содержимое программного счетчика, а на шину данных – слово-состояние процессора (рисунок 9, б). Слово-состояние цикла прерывания содержит единицы в разрядахD0 (INTA),D1 (WO),D5 (M1) (таблица 6). Сигнал подтверждения прерыванияINTAиспользуется в микропроцессорной системе для квитирования микропроцессором приема запроса прерывания. В такте Т1 по сигналуCLK2 производится также сброс триггера разрешения прерывания (INTE= 0), что приводит к запрету приема последующих запросов прерываний. В такте Т2 по сигналуDBINобычно вводится код операции из памяти, но слово-состояние цикла прерывания содержит в разрядеD7 (MEMR) нуль-запрет на чтение из памяти, поэтому код операции должно сформировать внешнее устройство. В такте Т2 сбрасывается также внутренний триггер прерывания, а содержимое РС не изменяется. В такте Т3 командаRST, сформированная ВУ, с шины данных передается в регистр команд МП, а в тактах Т4 и Т5 производится ее дешифрирование. По командеRSTсодержимое РС (адрес возврата) запоминается в стеке, а в РС заносится адрес первой команды программы обработки прерывания, определяемой номером командыRST. Запоминание адреса возврата из прерывания в стеке выполняется в циклах М2 и М3 – запись в стек.

Для обмена информацией с быстродействующими ВУ используется режим прямого доступа к памяти, в котором выполнение программы приостанавливается, буферы адреса и данных МП переходят в высокоимпедансное состояние, и контроллер прямого доступа у памяти организует обмен данными между ВУ и памятью микроЭВМ. Временная диаграмма режима прямого доступа к памяти в цикле чтения из ЗУ изображена на рисунке 10. При наличии сигнала READYН-уровня МП переходит в состояние захвата в такте Т3. Для режима прямого доступа в цикле записи в ЗУ при наличии сигналаREADYпереход в состояние захвата осуществляется после такта Т3 [12].

Рисунок 10 - Временная диаграмма режима прямого доступа к памяти в

цикле чтения из ЗУ

4.4 Основные характеристики микропроцессора КР580ИК80А

Основные электрические параметры микропроцессора КР580ИК80А при температуре окружающей среды (+25±10)ºС [1]:

  • максимальная тактовая частота, МГц 2,5;

  • потребляемая мощность, В А ≤1,25;

  • напряжение питания, В 12; 5; -5;

  • время выполнения команды типа R–R, мкс ≤1,6;

  • выходное напряжение логической единицы Uон, В ≥3,7;

  • выходное напряжение логического нуля UOL, В ≤0,4;

  • ток потребления от источника питания IBC, мА ≤50;

  • ток потребления от источника питания IСС, мА ≤70;

  • ток потребления от источника питания IBS, мА ≤ 1,0;

  • ток утечки на входах RESET,READY,INT,HOLD,IIL, мА ≤ ±1,0;

  • ток утечки на входах CLK1,CLK2,IIL, мкА ≤ ±1,0;

  • ток утечки на шинах данных и адреса в режиме

захвата шин ≤ ±10.

Однокристальный 8-разрядный микропроцессор КР580ИК80А представляет собой изготовленную по n-МОП технологии БИС, содержащую около 5 тыс. транзисторов. БИС МК реализована на кремниевом кристалле размером около 30 мм2, заключенном в корпус с 40 выводами. Длина слова МК – 8 разрядов. Тактовая частота МП – 2 МГц. Уровни напряжения питания +5, -5, +12 В. По напряжениям логических уровней КР580ИК80А согласуется с ИС ТТЛ. Нагрузочная способность каждого выхода микросхемы достаточна для подключения одного входа ТТЛ схем (≥1,6 мА). Выходная емкость информационных и управляющих выводов КР580ИК80А не более 100 пФ. Температурный диапазон работы от –10 до +70 ˚С. Тип корпуса: 2123.40-2 [13].

4.5 Цоколевка микросхемы КР580ИК80А

Цоколевка микросхемы КР580ИК80А представлена на рисунке 11.

Рисунок 11 - цоколевка микросхемы КР580ИК80А

Назначение выводов [3]:

А(15 - 0) – трехстабильная 16-разрядная шина адреса;

D(7 – 0) – двунаправленная трехстабильная 8-разрядная шина данных;

WR – выход сигнала «выдача» - напряжение L-уровня указывает на выдачу байта

информации на шину D(7 – 0)для записи в ЗУ или УВВ;

DBIN – выход сигнала «прием» - напряжение Н-уровня указывает на прием с

шины D(7 – 0) байта информации, выданного ЗУ или УВВ;

INTE – выход сигнала «разрешение прерывания»;

INT – вход сигнала «запрос на прерывание»;

HLDA – выход сигнала «подтверждение захвата» - напряжение Н-уровня указыва-

ет на перевод шин адреса и данных МП в высокоимпедансное состояние;

HOLD – вход сигнала «захват» - напряжение Н-уровня указывает на запрос

другими устройствами системы на управление шинами системы;

WAIT – выход сигнала «ожидание» - напряжение Н-уровня указывает на

состояние ожидания МП;

READY – вход сигнала «готовность» - напряжение Н-уровня указывает на

готовность данных на шине D(7 – 0) к вводу в МП или на готовность

внешних устройств к приему информации, служит для синхронизации

микропроцессоров с ЗУ или УВВ;

SYNC – выход сигнала «синхро» - напряжение Н-уровня идентифицирует начало

каждого машинного цикла;

CLK1 – вход фазы 1;

CLK2 – вход фазы 2;

RESET – вход установки 0 – установка счетчика команд в нуль, сброс триггеров

разрешения прерывания и захвата шин;

UCC – напряжение питания (+5 В);

UBC – напряжение питания (+12 В);

UBS – напряжение питания (-5 В);

GND – напряжение питания (0 В).

5 ОПИСАНИЕ УПРАВЛЯЮЩЕЙ ПРОГРАММЫ

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

На рисунке 12 представлен алгоритм работы ЭМС. В блок схеме используются следующие обозначения:

Соседние файлы в папке Дальномер микропроцессора КР580ИК80А