">
Прикладные науки Технология
Информация о работе

Тема: Микропроцессорная система м68000

Описание: Логическая структура МПС. Пример распределения заданного в задании адресного пространства. Блок микропроцессора. Системные сигналы. Сигналы управления обменом. Блоки периферийных устройств. Контроллер шины. Программирование режимов. Пример инициализации регистров.
Предмет: Прикладные науки.
Дисциплина: Технология.
Тип: Курсовая работа
Дата: 16.08.2012 г.
Язык: Русский
Скачиваний: 19
Поднять уникальность

Похожие работы:

Государственный комитет связи и информатизации Украины

ОДЕССКАЯ НАЦИОНАЛЬНАЯ АКАДЕМИЯ СВЯЗИ им. А.С. ПОПОВА

Кафедра вычислительной техники и микропроцессоров

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

К КУРСОВОЙ РАБОТЕ

“МИКРОПРОЦЕССОРНАЯ СИСТЕМА М68000”

по дисциплине

“ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И МИКРОПРОЦЕССОРЫ”

для специальностей 6.0924, 6.0907, 6.0925

УТВЕРЖДЕНО

методическим советом

академии

Протокол № 8

от 9.03.2004 г.

Одесса 2004

УДК 681.335.5(075)

План НМВ 2006 г.

Составитель – В. Ф. Литовкин, Ю. А. Никифоров, И. Н. Николенко

Рецензент – Э. В. Мещерякова

Методические указания составлены как пособие к выполнению курсовой работы по дисциплине “Вычислительная техника и микропроцессоры”. Курсовая работа рассматривается как аванпроект (разработка логической структуры) микропроцессорной системы (МПС) минимальной конфигурации с базовым микропроцессором МС68000 семейства микропроцессоров МС680Х0, которые широко применяются в персональных компьютерах, микроконтроллерах и коммуникационных микроконтроллерах компании Моторола. Использован модульный принцип разработки логической структуры МПС. Рассмотрено программирование периферийных устройств МС68230 и МС68681 на заданный режим обмена. Представлены варианты заданий и указания к оформлению курсовой работы

ОДОБРЕНО

на заседании кафедры

вычислительной техники

и микропроцессоров

и рекомендовано в печать

Протокол № _

от __ декабря 200_ г.

Редактор – И. В. Ращупкина

Редактирование и макетирование – Т. В. Кирдогло

ВВЕДЕНИЕ

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

Несмотря на продолжительную историю и минимальные изменения, MC68000 и другие представители многочисленных семейств МС680X0, МС683XX и т.п. остаются одними из популярнейших МП, широко применяемых в разнообразных вычислительных устройствах, в частности в КМК.

Курсовая работа посвящена разработке логической структуры микропроцессорной системы (МПС) с базовым МП MC68000 семейства MC680X0, которая реализует программный обмен с периферийными устройствами.

Цель курсовой работы

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

Задание к курсовой работе

На основании составленной структурной схемы разработать логическую структуру (ЛС) МПС с МП MC68000. Способ обмена данными - программный, формат обмена - параллельный и последовательный, что обеспечивается применением интегральных микросхем (ИМС) MC68230 (параллельный интерфейс/таймер - ПИ/Т) и MC68681 (сдвоенный асинхронный приемник/передатчик - САП/П). Для оптимального использования адресного пространства применить его аппаратное сегментирование (сегменты ПЗУ, ОЗУ, периферийных устройств). С этой целью, в зависимости от варианта задачи (таблица 2.1), может быть использованы сегменты основной памяти (ОП) вместительностью 8К(8 бит), 16К(8 бит), 32К(8 бит), 64К(8 бит).

Таблица 2.1 - Варианты заданий Вариант Вместительность ПЗУ, Кбайт Вместительность ОЗУ, Кбайт Количество ПИ/Т;

режим обмена Количество

САП/П  1 32 96 1; 00, A( B( 1  2 64 128 2; 00, A( B( 2  3 16 48 1; 00, A( B( 2  4 8 32 1; 00, A( B( 1  5 64 192 1; 01, A( B( 2  6 32 32 2; 01, A( B( 2  7 16 16 2; 01, A( B( 2  8 16 8 2; 01, A( B( 2  9 64 64 2; 1x, A( B( 2  10 96 96 2; 1x, A( B( 2  11 32 128 1; 1x, A( B( 1  12 128 128 2; 1x, A( B( 2  13 128 192 1; x0, AB( 1  14 8 24 1; x0, AB( 1  15 8 8 1; x1, AB( 1  16 8 16 1; x1, AB( 2  17 8 64 1; 2, A( 1  18 48 64 1; 2, A( 1  19 16 32 1; 2, B( 2  20 32 64 1; 2, B( 2  21 4 24 1; 3, AB( 1  22 24 64 1; 3, AB( 1  23 48 96 1; 00, A( 1  24 96 96 1; 01, A( 2  25 32 128 1; 1x, A( 1  26 16 96 1; 1x. B( 1  27 32 16 2; x0, AB( 1  28 48 128 1; x0. AB( 1  ПЗУ - постоянное запоминающее устройство

ОЗУ - оперативное запоминающее устройство

ПИ/Т - параллельный интерфейс/таймер

САП/П - сдвоенный асинхронный приемо/передатчик

Режимы обмена через ПИ/Т: 0 (подрежимы 00,01,1X); 1(X0,X1); 2; 3

Направление передачи данных через порты А и В обозначено:

ввод - соответственно A(, B( ; вывод - A(, B(. Например, запись 00, A( B( означает подрежим 00 режима обмена 0: через порт А вводятся данные, через В - выводятся;

запись 2, A( означает ввод через порт А в режиме 2.  

Разработке подлежат блок МП, блок ОП, блоки ПИ/Т и ПАП/П, контроллер шины и общая логическая структура МПС.

Должен быть составлен фрагмент программы инициирования ПИ/Т на заданный режим обмена данными. Курсовая работа рассматривается как аванпроект к дальнейшей технической разработке МПС. На этом этапе не учитываются некоторые параметры, в частности временные и погрузочные.

Оформление курсовой работы

Текст выполняется на листах формата А4, рисунки и структурно-функциональные схемы - на форматах А3, А2, А1, которые оформляются согласно ДСТУ.

Титульный лист должен быть стандартного образца. За титульным листом следует содержание, которое состоит из названий всех разделов, параграфов и т.п., с указанием соответствующих страниц.

Затем - задача, разделы и параграфы по такому приблизительному перечню:

Введение (Предисловие)

1 Структурная схема МПС

2 Разработка логической структуры МПС

2.1 Блок микропроцессора

2.2 Блок основной памяти

2.3 Блок ПИ/Т

2.4 Блок ПАП/П

2.5 Контроллер шины

3 Логическая структура МПС

4 Программирование ПИ/Т

В конце - выводы (желательно) и перечень основной использованной литературы.

Структурная схема микропроцессорной системы (МПС) М68000

Структурная схема любого цифрового устройства (системы) изображается в виде прямоугольников - законченных функциональных модулей-блоков, объединенных между собой направленными линиями основных сигналов [1].

Структурная схема МПС М68000 (рисунок 4.1) имеет трехшинную организацию и включает блок процессора (микропроцессор МС68000 и генератор тактовых импульсов – ГТИ), шину адреса ША (А23...А1), шину данных ШД (D15…D0), шину управления ШУ (количество линий шины управления определяется после конфигурирования логической структуры МПС), основную память ОП, интерфейс и модули ввода/вывода со схемами доступа и контроллер шины КШ.

МПС рассчитана на программный обмен данными с внешними устройствами (ВУ), который организуется с помощью периферийных устройств (ПУ) – модулей сопряжения МС68230 (программируемый параллельный интерфейс/таймер ПИ/Т) и МС68681 (программируемый сдвоенный универсальный асинхронный приемник/передатчик САП/П); количество таких модулей определяется вариантом задачи. ША, ШД и ШУ, к которым подключаются ВУ, образуют системную шину (СШ) МПС. Интерфейс МП с СШ вообще организуется с помощью одно-, двухнаправленных шинных формирователей (ШФ) и схем на логических элементах (ЛЭ). Главное назначение такого интерфейса - согласование нагрузочной способности соответствующих выходов МП с потребляемой мощностью входов СШ. С помощью специальных логических схем между СШ и ОП, ПИ/Т, ПАП/П организуется интерфейс доступа и чтение данных. С помощью контроллера шины (КШ) осуществляется блокирование ошибочного адресного обращения путем выполнения аппаратного прерывания текущей программы. Генератор тактовых импульсов формирует одну или две последовательности тактовых (синхронизирующих) импульсов, используемых для синхронизации МП и других устройств МПС.

Логическая структура МПС

Конечной целью курсовой работы (КР) является разработка логической структуры МПС - начального этапа проектирования МПС. На этом этапе нагрузочные и временные характеристики отдельных элементов и узлов МПС не учитывают и потому ШФ могут отсутствовать в логической структуре МПС (ШФ применяется, если выходы МП имеют недостаточную нагрузочную способность). Указанные параметры учитываются на этапе разработки принципиальной электрической схемы МПС, который не является целью курсовой работы [1].

В МПС М68000 целесообразно применить аппаратное (в отличие от программного в МПС с МП 86) сегментирование адресного пространства ОП. Адресное пространство ОП определяется заданием к КР и равномерно распределяется между сегментами, затем добавляется адресное пространство сегмента ПУ. Такое сегментирование предусматривает при организации доступа к адресуемым объектам параллельное декодирование кодов определенных групп бит (разрядов) адреса, что в определенной мере сокращает время обращения к ячейкам ОП и регистрам ПУ [2].

С учетом задач к КР и структуры МПС целесообразно представить адреса А23...А0 в виде совокупности групп бит N5N4N3N2N1А0, каждая из которых имеет конкретное функциональное назначение.

N5 – группа старших бит адреса, которые образуют одинаковый код по адресному обращению к любым объектам в МПС. При отклонении от заданного кода N5 адрес блокируется (контроллером КШ формируется сигнал прерывания работы МП).

Группа бит N4 определяет обращение к определенным сегментам.

N3N2N1 – группа младших бит адреса, которая определяет внутренние
сегментные адреса ячеек памяти (ЯП) в сегментах ОП.

При обращении к сегменту ПУ группа бит N3 имеет один и тот же фиксированный код при обращение к любому ПУ, код N2 определяет определенное ПУ, а код N1 (А5...А1) – внутренний адрес определенного регистра выбранного ПУ.

Во избежании неоднозначности при обращении к регистрам САП/П, надо зафиксировать А5, поскольку адреса его регистров определяются битами А4...А1. А0 = 0 при передаче слова или старшего байта и А0 = 1 – при передаче младшего байта.

Отклонение от заданного фиксированного значения кодов группы бит N3 (в случае обращения к ПУ), а также фиксированного уровня А5 при обращении к САП/П должны обеспечивать блокирование соответствующего адресного обращения.

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

Пример распределения заданного в задании адресного пространства МПС. Пусть заданное адресное пространство разделено между двумя одинаковыми по адресному объему сегментами ОП и одним сегментом трех ПУ, а адресуемое пространство одного сегмента ОП составляет 32 К = 215. В таком случае внутрисегментная адресация ЯП в обоих банках сегментов ОП будет осуществляться группой бит А14...А1 (N3N2N1), поскольку 16 К = 214 ( 14-разрядные внутрисегментные адреса ЯП).

Разрядность К кода N4 определяется по выражению 2К-1 < m ( 2К, где m – количество сегментов. При m = 3 в рассматриваемом примере К = 2, а коды номеров трех сегментов будут определяться соответственно комбинациями значений двух битов А16 и А15. Это такие комбинации: 00 (сегмент ОЗУ), 01 (сегмент ПЗУ), 10 (сегмент ПУ). В таком случае адреса с N4 = 11 должны блокироваться.

Код N5 (биты А23...А17) адреса должен быть зафиксирован. Пусть N5 = 0000000. Тогда адрес любой словарной ячейки первого сегмента ОП (ОЗУ) будет 000000000А14...А10, второго сегмента ОП (ПЗУ) – 000000001А14...А10.

В случае обращения к определенному ПУ код N4 будет 10. Код N2 определяется комбинацией значений битов А7А6 (три ПУ), а код N3 – фиксированной комбинацией значений битов А14...А8, например N3 = 0000000. Обращение по адресам с N2 = 11 должны блокироваться. В адресах обращения к САП/П должно фиксироваться значение бита А5, например А5 = 0.

Пусть N2 = 00 определяет ПИ/Т, N2 = 01 - определяет и САП/П - 1, а N2 = 10 определяет и САП/П - 2. Тогда нечетный адрес

0 0 0 0.0 0 0 1.0 0 0 0.0 0 0 0.1 0 0 0.0 0 0 1 2 = 0 1 0 0 8 1 16

будет адресом обращения к 8-битовому регистру №0000 в 2-м САП/П в случае фиксации А5 на нулевом уровне. Обращение к САП/П блокируется, если А5 приобретает значение логической единицы. Нечетный адрес используется при передаче младшего байта.

_______________________

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

5.1 Блок микропроцессора

Этот блок состоит из МП МС68000 (CPU), генератора тактовых импульсов (GN) и вспомогательных цепочек.

МП МС68000 [2] взаимодействует во время обмена данными с ОП и периферийными устройствами через СШ, к которой они подключаются и которая состоит из 23-битовой шины адреса (ША), 16-битовой шины данных (ШД) и шины управления (ШУ). Количество задействованных линий ШУ зависит от структуры МПС. Адрес, передаваемый ША, обеспечивает выбор определенного модуля и доступ в нем к определенной ЯП или регистра ПУ, из которых с помощью определенных управляющих сигналов осуществляется чтение или в которые записываются данные через ШД. Выводы Vcc и GND (рис. 5.1) служат для подключения источника питания с напряжением +5 В.

На выводах А23…А1 действуют коды, которые обеспечивают словарную адресацию. При этом передача слова или определенного байта по ШД определяется соответствующими комбинациями значений управляющих сигналов  и .

Через выводы D15…D0 осуществляется передача команд и данных. Другие выводы предназначены для передачи управляющих сигналов, которые функционально делятся на несколько групп. Если активное состояние сигнала задается низким уровнем, то над его обозначением ставится черточка, иначе - без черточки.

Системные сигналы. CLK – тактовый сигнал синхронизации, период которого определяет продолжительность такта машинного цикла. CLK согласовывает во времени функционирования узлов и блоков МП и сопровождает обмен в МПС.  – сигнал сброса.

Внешний сигнал системного сброса  = 0 вызывает системное прерывание выполнения текущей программы. Затем содержимое регистров адресов и данных приобретает нулевое значение. В регистре признаков SR устанавливается значение флага S = 1 (режим супервизора), а другие флаги приобретают значение 0. Из ЯП с адресом $000 осуществляется загрузка начального значения указателя SSR супервизора, а с ЯП с адресом $004 – содержимого РС – начального адреса программы, которая выполняет загрузку определенных начальных значений содержимого SR, регистров адресов и данных, а также загрузку (инициализацию) регистров других устройств. Внешний сигнал  обычно формируется во время включения питания или при нажатии клавиши SB в схеме сбрасывания, условно изображенной на рис. 5.1. Сигнал  = 0 формируется также при выполнении привилегированной команды RESET, которая переводит в начальное состояние другие устройства МПС. Входной сигнал  = 0 останавливает выполнение текущей программы, переводит выводы А23…А1, D15…D0 в высокоимпендансное состояние (третье состояние), а выходы управляющих сигналов – в неактивное состояние. С аналогичной реакцией МП формирует выходной сигнал  = 0 при двойной ошибки шины (двукратное подряд поступление сигнала  = 0), выход из состояния остановки происходит при поступлении внешнего сигнала  = 0 или прерывания.

Сигнал ошибки обращения к шине  = 0 формируется контроллером шины, который определяет ошибку обращения по адресам неприсоединенных модулей ОП или периферийных устройств, а также из-за продолжительного отсутствия сигнала готовности к обмену  = 0 от ПУ или ОП и т.п..

Сигналы управления обменом.  – адресный строб, который своим активным уровнем  = 0 в тактах S0 и S1 в цикле обмена сопровождает адрес на ША (рис. 5.2).  – сигнал, который определяет направление обмена по ШД: ввод к МП (чтение) – при  = 1; вывод из МП (запись), если  = 0.  (передача старшего байта),  (передача младшего байта) – сигналы, которые определяют длину данных на ШД. Уровни  = 0,  = 0 определяют передачу слова. Младший байт передается, если  = 1 и  = 0, старший –  = 0,  = 1. Входной сигнал готовности к обмену  = 0 поступает, если периферийное устройство или память – объекты обращения – готовы к обмену. Иначе –  = 1.

Сигналы управления захвата шины. Эти сигналы определяют порядок использования системной шины (в дальнейшем шины) устройствами системы. В режиме захвата шины МП отсоединяется от шины, а управление обменом осуществляет другое устройство. Чаще всего – это режим прямого доступа к памяти (ПДП), когда осуществляется обмен между основной памятью (ОП) и каким-нибудь внешним устройством большими объемами данных без участия МП.  – входной сигнал запроса от внешнего устройства на захват шины. Если  = 0, МП завершает текущий цикл обмена, приостанавливает выполнение команды и переводит выводы А23…А1, D15…D0 в високоимпедансное состояние, а выходы управляющих сигналов – в неактивное состояние. – выходной сигнал разрешения захвата шины, который приобретает значение = 0 после разъединения МП с шиной. – входной сигнал подтверждения захвата шины. После получения  = 0 устройство, которое запросило разрешение на захват шины, посылает к МП сигналы  = 0, отменяет запрос на захват ( = 1) и переходит к управлению шиной. После завершения обмена указанное устройство посылает сигнал  = 1. Затем МП переходит к выполнению прерванной команды.

Сигналы управления обменом с медленнодействующими ПУ. Исходный сигнал Е – тактовый сигнал для ПУ, частота которого в 10 раз меньше частоты сигнала СLK. На входной сигнал от ПУ готовности к обмену  = 0 МП устанавливает сигнал  = 0, т.е. происходит пересылка данных с увеличенным временем ввода или вывода. Адреса А23…А1 и сигналы  и  формируются как и при обычном программном обмене. Минимальная продолжительность цикла обмена составляет десять тактов.

Выходные сигналы FC2…FC0... Трехразрядный код FC2…FC0 определяет тип выполняемого цикла. Соответствующие комбинации бит указанного кода используются для распределения банков данных между супервизором и пользователем, формирования сигнала подтверждения прерывания , а также позволяют идентифицировать текущее состояние МП в процессе настройки МПС.

Входные сигналы IPL2…IPL0... Трехразрядный код IPL2…IPL0, который поступает от приоритетного шифратора, определяет определенную подпрограмму обслуживания запроса на прерывание. Код 111 означает отсутствие запроса на прерывание.

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

На рис. 5.1 все незадействованные входы - инверсные, поэтому на них условно показано подавание неактивного высокого уровня через резисторы R от источника питания +5 В. Генератор тактовых импульсов GN формирует последовательности тактовых импульсов для МП и ПУ.

5.2 Блок основной памяти

Для построения блока ОП используются стандартные модули ПЗУ и ОЗУ. При изображении схемы блока ОП целесообразно применять условно-графическое изображение (УГИ) указанных модулей, как представлено на рисунке 5.3.

На рисунке 5.3: A – N-разрядный адресный вход; DIO – объединенный
М-разрядный вход-выход данных; – вход сигнала «выбор модуля»;  – вход сигнала «включение модуля»; – вход сигнала «чтение/запись»; DO – М-разрядный выход данных. В схеме блока ОП N и М представляются соответствующими обозначениями бит адреса и данных, которые действуют на выводах А, DIO и DO.

Количество сегментов ОП должно быть минимальным при их одинаковой вместительности. Каждый сегмент должен состоять из двух одинаковых банков-модулей, вместительность которых рекомендовано определять как 2nКбайт (n = 1, 2, 3, 4, 5, 6).

Рассмотрим конкретный пример построения блока ОП. На рис. 5.4 изображена схема блока ОП, которая состоит из двух двухбанковых сегмента ПЗУ и ОЗУ вместительностью 32 Кбайт каждый, ячейки памяти которых адресуются битами А14...А1. Выбор (адресного обращения) определенного сегмента осуществляется с помощью дешифратора DC1. Информационные входы DC1 соответственно соединены с линиями ША, на которые воздействует группа битов N4 (А16 А15).

Разрядность кода N4 определяется общим количеством сегментов (включительно с сегментом ПУ). На вход  подается с МП управляющий сигнал , который активизируется в тактах S1…S3 (см. рис. 5.2) циклов чтения и записи. Два выхода DC1 (DC0, DC1) соединены с входами  модулей банков соответствующих сегментов ОП. Активный уровень с выхода DC12 предназначен для выбора сегмента ПУ. Активные уровни из других незадействованных выходов DC1 блокируются КШ. В рассматриваемом примере блокируется действие активного уровня с выхода DC13.

Активные уровни с выходов DC10 и DC11 используются также как сигналы готовности к обмену соответствующих сегментов ОП.

Выводы А модулей всех сегментов ОП соединены с соответствующими линиями ША (А14…А1 в рассматриваемом примере). Выводы DO и DIO модулей ПЗУ и ОЗУ младшего банка соответственно соединены с линиями D7…D0 ШД, а старшего банка – с линиями D14…D8...

Вообще для любого количества сегментов ПЗУ входы  модулей младшего банка ПЗУ соединяются с выходом L RО схемы включения банков

(СВБ), а входы  модулей старшего банка ПЗУ соединяются с выходом HRО СВБ. Активные уровни на указанных входах инициируют состояние “чтение” из соответствующих банков ПЗУ. Аналогично соединены входы  банков ОЗУ с выходами LRAM и HRAM СВБ. В этом случае активные уровни на указанных входах инициируют включение соответствующих банков ОЗУ. Входы  всех модулей ОЗУ соединено с выходом  СВБ. Функционирование СВБ объясняет таблица переключений 5.1, в которой H = 0 – сигнал включения старшего банка данных ОЗУ или включение (чтение) старшего банка ПЗУ; L= 0 – сигнал включения младшего банка ОЗУ или включение (чтение) младшего банка ПЗУ.

Таблица 5.1 - Таблица переключений СВБ    ПЗУ ОЗУ Комментарий             0 0 0 0 1 1 0 0 0 Запись слова в ОЗУ  1 0 0 1 0 0 0 0 1 Чтение слова из ПЗУ, ОЗУ  2 0 1 0 1 1 0 1 0 Запись старшего байта в ОЗУ  3 0 1 1 0 1 0 1 1 Чтение старшего байта с ПЗУ, ОЗУ  4 1 0 0 1 1 1 0 0 Запись младшего байта в ОЗУ  5 1 0 1 1 0 1 0 1 Чтение младшего байта с ПЗУ, ОЗУ  6, 7 1 1 X 1 1 1 1 X Отсутствующий доступ  

Автору курсовой работы предлагается синтезировать логическую структуру СВБ, пользуясь табл. 5.1.

5.3 Блоки периферийных устройств

Согласно вариантам заданий к КР количество ПУ – 2...4. Выбор того или иного ПУ осуществляется с помощью кода группы битов N2 адреса, который декодируется дешифратором DC2. DC2 должен иметь вход включения (), который соединяется с соответствующим выходом DC1. Инверсные выходы DC2 соответственно соединяются с входами  (выбор модуля) ПУ. Сигналы из незадействованных выходов должны поступать в КШ, который блокирует неправильное обращение к ПУ.

Адресное обращение к трем ПУ определяется группой N2 бит A7A6: 00, 01, 10 (A7A6 = 11 – неправильное обращение). Схему узла DС2 изображена на рис. 5.5. В случае четырех ПУ будут задействованы все выходе DC2 для выбора определенных ПУ.

5.3.1 Блок ПИ/Т

Основой схемы блока (рис. 5.6) является ИМС МС68230 [3]. Управляющие сигналы ,  поступают из соответствующих выходов МП МС68000, CLK – от GN. Сигнал готовности к обмену  поступает на соответствующий вход МП через ЛЕ І, другие входы которого соединяются с выводами  модулей других ПУ и выходами DC10 и DC11, сигналы из которых является сигналами выбора сегментов ОП. Через выводы D7…D0, которые соединяются с соответствующими линиями ШД, осуществляется обмен данными с МП.

Выводы RS5…RS1 соответственно соединяются с линиями А5…А1. Указанными линиями ША передается код, который определяет конкретный регистр, использующийся при программировании МС68230 или при обмене данными с МП.

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

Через выводы РА7...РА0 и РВ7...РВ0 (порты А и В) осуществляется обмен данными с внешними устройствами (ВУ) в параллельном формате.

Через выводы РС7...РС0 (порт С) осуществляется, в зависимости от режима обмена, или обмен данными в параллельном формате с ВУ, или передача управляющих сигналов, которые обслуживают таймер, сопровождая обмен в режимах захвата шины и прерывания. Пользуясь вышеприведенным описанием, можно составить схему блока ПИ/Т и из большего количества ИМС МС68230.

5.3.2 Блок САП/П

Блок САП/П, согласно рассматриваемому примеру, состоит из двух ИМС МС68681 [4] с цепочками блокирования входа сигнала подтверждения прерывание  от МП. Ниже описано назначения выводов ИМС МС68681
(рис. 5.7) и их соединение с выводами МП и ША и ШД [4]. Через выводы D7…D0 осуществляется двунаправленный обмен данными с МП в параллельном формате одноименными линиями ШД. На входы RS4…RS1, которые соединяются соответственно с линиями A4…A1 ША, поступает от МП код выбора регистра САП/П, используемого при программировании МС68681 или при обмене данными между МП и САП/П. Входы управляющих сигналов ,  соединяются с соответствующими выводами МП, Х1/CLK – с GN, вывод X2 заземляется.

Выход  через ЛЭ И (см. рис. 5.6) соединяется с соответствующим входом МП. Вход  соединяется с соответствующим выходом DC2. Вывод  (запрос прерывания к МП) не используется в режиме программного обмена. Входной вывод  (подтверждение прерывания от МП) блокируется. Через вывод TхDA или TхDB осуществляется передача данных к ВУ в последовательном формате соответственно через канал А или В САП/П, через вывод RхDA или RхDB - соответственно прием данных.

ІР5...ІР0 – выводы порта ввода данных в параллельном формате от ВУ. ОР7...ОР0 – выводы порта вывода данных к ВУ в параллельном формате.

В альтернативном варианте через выводы указанных портов передаются сигналы, которые обеспечивают взаимодействие САП/П с ВУ при передаче и приеме данных через каналы А и В в последовательном формате.

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

Выводы, через которые ПИТ/Т и САП/П взаимодействуют с ВУ, при изображении логической схемы МПС следует оставить незадействованными.

5.4 Контроллер шины

Назначение КШ – формирование активного уровня (логического нуля) на входе  МП в случае неправильного адресного обращения. На входе КШ (рис. 5.8) поступают группы бит N5, N3 и бит А5 с ША, а также сигналы с незадействованных выходов DC1, DC2. Выход КШ соединяется с входом  МП. При всех адресных обращениях код N5 должен иметь определенное фиксированное значение, а на незадействованных выходах DC1 и DC2 должны действовать неактивные уровни. Фиксированное значение должен иметь код N3 при обращении к ПУ и бит А5 – при обращении к САП/П.

Если отсутствуют определенные ограничения, целесообразно, с точки зрения простоты логической структуры КШ, сопоставить кодам N5, N3 и A5 нулевые значения при соответствующих адресных обращениях. Тогда для рассматриваемого примера А5 = А23 +…+A17=0 при любом адресном обращении, A3 = A14 +…+A8=0 при обращении к ПУ, А5 = 0 – при обращении к САП/П. Логика функционирования КШ в этом случае предопределяется такими состояниями его входов и выхода:

A5 =1, = 0;

DC13 = 0, = 0;

DC12 = 0, A3 = 1, = 0;

DC23 = 0, = 0;

DC21 DC22 = 0, A5 = 1, = 0.

Автору КР предлагается разработать логическую структурную схему КШ для рассматриваемого примера, а затем и схему для варианта задания.

Логическая структура (схема) МПС

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

7 Программирование режимов ПИ/Т (МС68230)

Программирование режимов программного обмена через порты А и В ІМС МС68230 [3] состоит из инициализации регистра управления режимом работы портов (PGCR), регистров направления передачи данных через порты А(PADDR) и B(PBDDR), регистров управления подрежимами портов A(PACR) и B(PBCR). Пересылка данных происходит через регистр PADR (порт А) или через регистр PBDR (порт В). Указанные регистры – восьмибитовые. При обращении к ПИ/Т адреса указанных регистров определяют коды A5…A1 (табл. 7.1) и А0 = 1.

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

Однобуферизованная передача сопровождается записыванием лишь в одном регистре данных.

Обмен данными через порты А и В может осуществляться в четырех режимах.

Режим 0. Оба порта - восьмибитные. Выводы портов могут быть настроены на ввод или вывод побитно. Каждый порт может функционировать в трех подрежимах:

двубуферизованный вход, однобуферизованний выход (00);

незащелкивающийся вход, двубуферизованный выход (01);

незащелкивающийся вход, однобуферизованний выход (1Х).

Таблица 7.1 – Коды A5…A1– адрес регистров МС68230 Коды A5…A1

(выводы RS5...RS1) Обозначение регистра Название регистра  0 0 0 0 0 PGCR Регистр управления режимом работы портов  0 0 0 1 0 PADDR Регистр направления порта А  0 0 0 1 1 PBDDR Регистр направления порта В  0 0 1 1 0 PACR Регистр управления порта А  0 0 1 1 1 PBCR Регистр управления порта В  0 1 0 0 0 PADR Регистр данных порта А  0 1 0 0 1 PВDR Регистр данных порта В  

Режим 1. Восьмибитовые порты А и В объединяются в один 16-ти битовый порт В, выводы этого порта могут быть настроены на ввод или вывод побитово. Возможно два подрежима функционирования:

двубуферизованный вход, однобуферизований выход (Х0);

незащелкивающийся вход, двубуферизованный выход (Х1).

Для квитирования (подтверждения) используются выводы Н3 и Н4 (Н1 и Н2 могут использоваться как обычные линии ввода/вывода (Н1 - только ввод).

Режим 2. Двунаправленный двубуферизованный ввод/вывод через порт В. Порт А настраивается побитово на незащелкивающийся вход и однобуферизований выход. Выводы Н1 и Н2 используются для подтверждения вывода, а Н3 и Н4 - ввод через порт В.

Режим 3. Расширенный вариант режима 2 - двунаправленный двубуферизованный ввод/вывод через 16 битовый объединенный порт (порты А и В).

Вывод данных через определенные выводы портов А и В определяют программно занесенные единицы по соответствующим разрядам регистров PADDR и PBDDR, а ввод - нули.

Коды инициализации регистра PGCR на определенные режимы обмена приведены в табл. 7.2, регистров PACR и PBCR - в табл. 7.3. Для инициализации указанных регистров, а также ввод/вывод данных используются команды пересылки (см. пример). Используемые адреса регистров определяются в зависимости от конфигурации МПС и ее характеристик.

7.1 Пример инициализации регистров ПИ/T

Пусть МПС состоит из двух сегментов ОП, вместительностью 32 Кбайт каждый, и сегмента ПУ, в котором содержатся один ПИ/T и два САП/П. Надо настроить ПИ/T на подрежим Х0 режима 1 обмена данными. Указанный подрежим предусматривает двубуферизованный ввод или однобуферизованный вывод 16 битовых данных через объединенный порт А и В [2].

Таблица 7.2 - Коды инициализации PGCR (00000) Б и т ы 7 Режим (0) (1) (2) (3)   6        5 Разрешение (1) Н3, 4 1(0;1Х) 1 1 1   4 Разрешение (1) Н2, 1 1(0;1Х) 1 1 1   3 Активный уровень Н4 1(0) 1(0) 1(0) 1(0)   2 Активный уровень Н3 1(0) 1(0) 1(0) 1(0)   1 Активный уровень Н2 1(0) 1(0) 1(0) 1(0)   0 Активный уровень Н1 1(0) 1(0) 1(0) 1(0)  1(0) – или 1, или 0. (0;1Х) – 0 в подрежим 1Х.  

Таблица 7.3 - Коды инициализации PACR и PВCR

Регистр PACR PBCR  Бит  Режим 0 1 2 3 0 1 2 3  7 Подрежим 0 0 1 Х(0) Х(0) Х(0) Х(0) 0 0 1 Х(0) Х(0) Х(0) Х(0)  6  0 1 Х 0(0) 1(0) Х(0) Х(0) 0 1 Х 0(0) 1(0) Х(0) Х(0)  5 Управление Н2(Н4)* 1 1 0 0 1 Х Х 1 1 0 1 1 Х Х  4  1 1 Х Х 1 Х Х 1 1 Х 1 1 Х Х  3  0 0 Х Х 0 0 0 0 0 Х 0 0 0 0  2 Разрешение на

прерывание по Н2(Н4) 0 0 0 0 0 0 0 0 0 0 0 0 0 0  1 Управление Н1(Н3)** 0 0 0 0 0 0 0 0 0 0 0 0 0 0  0  Х 1 Х Х Х 0 0 Х 1 Х Х Х Х Х  *Н2 – для PACR и Н4 – для PВCR

**Н1 – для PACR и Н3 – для PВCR

Х - неопределенное значение бита

В скобках представлены значения битов 7 и 6 в соответствующих подрежимах.  

Из табл. 7.2 определяется код инициализации 00000000 регистра PGCR в двоичной системе исчисления. Коды инициализации регистров PACR и PBCR соответственно будут 00000000 и 00110000 (табл. 7.3). Для вывода данных код инициализации регистров PADDR и PBDDR будет 00000000, вывод - 11111111.

Используемые адреса регистров, которые подлежат инициализации, состоят из совокупности групп бит N5N4N3N2N1A0. Для рассматриваемого примера A0 = 1 (передача младшего байта при инициализации регистров ПИ/Т); N1 состоит из бит А5…А1, которые определяются из табл. 7.1; N2 состоит из бит А7А6 (три ПУ) и определяет двоичный номер ПИ/Т – 00; N3 – биты А14…А8, значения которых фиксируются равными 0; N4 состоит из бит А16 А15 (три сегмента) и определяет номер сегмента ПУ – 10; N5 состоит из бит А23…А17, которые имеют фиксированное значение – 0.

В случае передачи 8 битовых данных исполнительные адреса регистров PADR и PBDR определяются аналогичным способом. При передаче 16 битовых данных адресом регистра данных объединенного порта А и В будет парный адрес (A0 = 0) регистра PBDR.

Определенные таким образом используемые адреса регистров ПИ/Т для рассматриваемого примера приведены в табл. 7.4.

Таблица 7.4 - Используемые адреса регистров ПИ/Т

Регистр АДРЕСА   В Н  PGCR 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 (0 0 0 0 0) 1 1 0 0 0 1  PACR 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 (0 0 1 1 0) 1 1 0 0 0 D  PBCR 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 (0 0 1 1 1) 1 1 0 0 0 F  PADDR 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 (0 0 0 1 0) 1 1 0 0 0 5  PBDDR 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 (0 0 0 1 1) 1 1 0 0 0 6  PВDR 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 (0 1 0 0 1) 0 1 0 0 1 2  B - двоичная, H - шестнадцатиричная системы исчисления

В скобках – адресуемый код А5...А1 регистра  

Последовательность команд программного инициализации регистра PGCR может быть такая:

MOVEQ #$00, D1 ; Загрузка регистра D1 кодом инициализации 0

MOVEA.L #$10001, A1 ; Загрузка регистра А1 адресом 10001Н

MOVE.B D1, (A1) ; Пересылка кода инициализации к регистру

; PGCR

Подобно выглядят последовательности команд инициализации других регистров ПИ/Т.

Для вывода 16 битового операнда через 8 битовый ПУ используется специальная команда

MOVEP Dn, (0, An); Вывод слова данных из регистра данных Dn

; МП через объединенный порт А и В ПИ/Т. В

; регистре Аn – адрес регистра PВDR.

Ввод слова данных происходит при выполнении команды MOVEP (0, An), Dn,.

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

СПИСОК РЕКОМЕНДОВАННОЙ ЛИТЕРАТУРЫ

Проектирование микропроцессорной электронно-вычислительной аппаратуры. Справочник / В.Г. Артюхов, А.А. Будняк, В.Ю. Лапий и др. - К.: «Техника», 1988.

Шагурин И. И. Микропроцессоры и микроконтроллеры фирмы Motorola – М.: Радио и связь, 1998.

MC68230. Parallel Interface / Timer (PI/T) /Advance Information, Motorola INC, 1983.

MC68681. Dual Asynchronous Receiver / Transmitter (DUART) / Advance Information, Motorola INC, 1985.

Рисунок 5.4 – Схема электрическая функциональная ОП