Шина управления (CONTROL bus)
В шину управления условно объединяют набор линий, передающих управляющие сигналы от процессора к периферийным устройствам и обратно. В любой шине управления присутствуют линии, передающие сигналы:
RD (Read) – чтение
WR (Write) – запись
MREQ – инициализация устройств памяти (ОЗУ или ПЗУ)
IORQ – инициализация портов ввода/вывода
READY – готовность
RESET – сброс
По отношению к любым периферийным устройствам, центральный процессор может выполнять в каждый момент времени одну из четырех основных операций: чтение или запись в ячейку памяти, чтение из порта ввода и запись в порт вывода.
Например, процесс записи данных в память происходит следующим образом:
а) сначала центральный процессор выставляет на адресную шинуадрес ячейки памяти;
б) затем на шину данныхвыставляется байт информации, предназначенный для записи в эту ячейку;
в) после чего активизируется сигнал MREQ, дающий доступ к модулю памяти;
г) затем процессор устанавливает сигнал WR в активное состояние. Происходит запись байта в адресованную ячейку памяти.
Для того, чтобы прочитать байт из ячейки памяти, процессор сначала устанавливаетна шине данных адрес нужной ячейки. Затем он устанавливает в активное состояние сигнал MREQ, который поступает на устройства памяти и служит разрешением для их работы. При этом сигнал IORQ остается равным лог. 1, поэтому порты ввода/вывода микропроцессорной системы остаются неактивными.
Далее, процессор переводит в активное состояние сигнал RD. Этот сигнал поступает как на устройства памяти, так и на порты ввода/вывода. Однако порты не реагируют на него, так как они отключены высоким уровнем сигнала IORQ. Устройство памяти, напротив, получив управляющие сигналы RD и MREQ, выдает на шину данныхбайт информации из той ячейки памяти, адрес которой присутствует в этот момент на шине адреса.
Операции чтения из порта и записи в порт происходят аналогично операциям чтения/записи ОЗУ. Различие лишь в том, что вместо сигнала MREQ в активное состояние переходит сигнал IORQ, разрешающий работу портов.
Обобщенную структурную схему микроконтроллера рассмотрим на примере одного из самых распространенных однокристальных микро- контроллеров американской фирмы ATMEL – АТ89С2051 (рис. 2). Эта микросхема выполнена в стандартном DIР-корпусе и имеет 20 выводов. Напряжение питания микросхемы +5 В. Допускается разброс питающего напряжения от 2,7 В до 6 В, что обеспечивает высокую помехоустойчивость МК.
Рис. 2. Обобщенная структурная схема микроконтроллера
ППЗУ программ. Встроенное перепрограммируемое ПЗУ объемом 2 кБ выполнено по технологии электрически стираемого ПЗУ (так называемая «Флэш-память»). В эту память записывается программа, которую микроконтроллер начинает выполнять сразу после включения питания и окончания сигнала сброса.
Технология флэш-памяти допускает перепрограммирование, то есть повторную запись. Для этого информацию в ППЗУ сначала стирают. Стирание производится при помощи того же самого программатора. При этом используется повышенное напряжение (12 В). После этого в ППЗУ можно «зашивать» новую программу. Допускается до 1000 циклов записи/стирания.
ОЗУ данных состоит из 128 восьмиразрядных ячеек памяти. Как и в большинстве однокристальных МК, в микросхеме АТ89С2051 применяется принцип совмещения ОЗУ с регистрами общего назначения процессора и двумя восьмиразрядными портами ввода/вывода Рl и РЗ.
Арифметико-логическое устройство (АЛУ) заменяет здесь центральный процессор. Регистры для временного хранения данных, как уже говорилось, совмещены с ячейками ОЗУ.
Таймеры. В микросхеме имеются два встроенных 16-разрядных таймера/счетчика Тl и Т2. Они могут использоваться программистом для задания любых интервалов времени. Каждый счетчик может работать в двух режимах: режиме отсчета временных интервалов (в этом случае он считает импульсы внутреннего тактового генератора) и в режиме подсчета внешних импульсов.
Последовательный канал. Это канал специального типа для последовательной «побайтовой» передачи информации по одной линии. В любом компьютере всегда имеются последовательные интерфейсы (например, СОМl и СОМ2). Один из этих интерфейсов раньше часто используется для подключения манипулятора «мышь». А второй предназначен, в основном, для подключения модема. Подобный канал реализован и в микросхеме АТ89С2051. В результате имеется возможность создания микропроцессорных устройств, управляемых при помощи компьютера по последовательному каналу.
Порты Рl и РЗ – параллельные восьмиразрядные порты ввода/вывода.
Встроенный контроллер прерываний. Способен обрабатывать шесть источников прерываний. Два внешних входа для запросов на прерывание. Два прерывания от обоих счетчиков/таймеров ТI и Т2. Запрос прерывания таймера поступает в тот момент, когда соответствующий счетчик/таймер досчитает до нуля (счетчик работает в режиме обратного счета). И, наконец, последние два источника прерывания – от последовательного канала ввода/вывода. Один от передатчика этого канала. Он срабатывает в тот момент, когда процесс отправки очередного байта закончился. И один – срабатывает от приемника, когда тот принял очередной байт.
Аналоговый компаратор. Сравнивает величину двух аналоговых сигналов. На его выходе появляется сигнал лог. 1, когда напряжение на входе «+» превысит напряжение на входе «–».