Согласно исходным данным к разработанной микропроцессорной системе необходимо подключить периферийные устройства - последовательные порты ввода-вывода (DUART) и параллельные порты ввода-вывода (PI). Для этого используются имеющиеся в микропроцессорном комплекте микросхемы сдвоенного универсального асинхронного последовательного приёмопередатчика МС68681 и параллельный интерфейс / таймер МС68230. Микросхема МС 68230 включает в себя:
– 3 многофункциональных восьмиразрядных порта;
– многофункциональный 24-разрядный таймер с возможностью использования пяти разрядного предделителя;
– устройство управления режимами работы;
– логику прямого доступа к памяти;
– логику управления прерываниями.
Функциональное обозначение МС68230 представлено на рис. 2.5, назначение выводов в табл. 2.3.
Таблица 2.3 - Назначение выводов микросхемы МС 68230
Наименование вывода | Функциональное назначение вывода | Примечание |
D7 - D0 | Шина данных. | - |
DTACK | Подтверждение передачи данных. | - |
R/W | Чтение / Запись. | - |
CS | Выбор микросхемы. | - |
RESET | Сброс. | - |
RS5-RS1 | Выбор внутреннего регистра, порта или команды | - |
CLK | Тактовая частота микросхемы | - |
H4-H1 | Линии квитирования | Могут быть использованы как линии ввода / вывода (H1 и Н3 - только ввод) или импульсные входы запросов на обслуживание внешних прерываний |
PA7 - РА0 | Порт А | - |
РВ7 - РВ0 | Порт В | - |
РС7 - РС0 | Порт С | Линии РС7 + РС2 имеют альтернативные функции. |
Рисунок 2.5 - Функционально-принципиальная схема PI/T
Структура микросхемы PI/T типа МС68230 включает блоки, обеспечивающие связь с микропроцессором и блоки, обслуживающие внешние устройства. Выводы РС7-2 порта С могут программироваться для передачи сигналов таймера, прерывания, запроса прямого доступа.
Связь PI/T с микропроцессором MC68000 реализуется путём обмена данными по линиям D7-0 в цикле чтения или записи. При этом от микропроцессора поступает соответствующий сигнал R/W#, a PI/T выдаёт сигнал подтверждения готовности DTACK#. Данные считываются или записываются в один из регистров таймера, порта А, В, С или блока управления обменом. Выбор регистра определяется адресным кодом, поступающим на входы RS5-1. Все регистры, кроме CNT, СРТ, имеют 8 разрядов, поэтому адресуются как байт. Регистры таймера CNT, СРТ, имеющие 24 разряда, адресуются как три отдельные 8-ми разрядные регистры. В адресном пространстве PI/T занимает 32 байтовых ячейки, из которых 23 ячейки заняты регистрами, остальные остаются неиспользуемыми. При обращении к PI/T на входы RS5-1 поступают соответствующие разряды формируемого микропроцессором адреса. На вход CLK поступают тактовые сигналы от генератора тактовых импульсов. На вход RESET# подаётся общий для всей системы сигнал сброса.
Программирование портов А, В, С и таймера на выполнение различных режимов обслуживания внешних устройств производится путём записи управляющих кодов в регистры управления соответствующих блоков PI/T.
Порты А и В обеспечивают параллельный обмен данными между микропроцессором и внешними устройствами.
Таймер реализован на базе 24-х разрядного вычитающего счётчика (CNT), начальное состояние которого устанавливается при инициализации, путём записи содержимого в регистр предварительной установки CPR. Запуск таймера происходит при записи в регистр управления TCR соответствующего управляющего кода, который определяет также режим его функционирования. При этом уменьшение содержимого CNT может производиться при поступлении тактовых импульсов CLK или внешних сигналов на вход TIN#. В режиме генерации (счёт импульсов CLK) таймер через интервалы времени, определяемые содержимым CPR, формирует сигналы на выходе TOUT#. В режиме счёта событий текущее содержимое CNT указывает число поступивших сигналов. Можно запрограммировать деление частоты считаемых импульсов на 32. При работе таймера на выходе TOUT# формируются прямоугольные импульсы, которые могут служить для управления внешними устройствами (периодическое включение-выключение, синхронизация и т.п.). Сигнал TOUT# может подаваться также на вход приоритетного шифратора в качестве запроса прерывания для микропроцессора. При этом сигнал подтверждения прерывания должен поступать на вход ТIАСК#. Для считывания вектора прерывания микропроцессор должен обратиться к регистру TIVR, в который значение этого вектора вводится в процессе инициализации таймера. Таким образом, использование таймера позволяет запускать требуемую программу в заданные моменты.
Популярное:
Кодовый замок Кодовые замки являются эффективным средством предотвращения доступа посторонних лиц к охраняемым помещениям. К их достоинствам можно отнести простоту в обращении, надёжность, возможность обеспечить высокую степень защиты, относительную лёгкость смены кода (по сравнению со сменой обычного механического замка). Также немаловажным ...