logo
2 Конспект лекций по АПП

11.3 Структура и основные функции микроконтроллеров

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

Для хранения программ используется постоянное запоминающее устройство (ПЗУ – по-английски ROM). Для хранения промежуточных результатов и вспомогательных величин используется оперативная память – ОЗУ (RAM). Но при выключении питания информация в ОЗУ, как правило, пропадает. Кроме того, в структуру процессора входят мультиплексоры, буферы, регистры и другие узлы. Работа всех узлов синхронизируется общим внешним тактовым сигналом процессора.

Рис. 11.4. Структура микропроцессорногй системы

Микроконтроллер (МК) – это МП-система с уст­ройствами ввода-вывода информации, прерывания, таймерами, компараторами и т.п. МК используются в составе многих КИПиА, на основе которых создаются децентрализованные САУ.

Процессор работает с портами ввода/вывода (port I/O) практически так же, как и с ячейками памяти. У каждого порта есть свой собственный адрес. Причем ячейки памяти и порты находятся в разных адресных пространствах.

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

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

Порт ввода – это специальная схема, при помощи которой МП может принимать внешние данные, например, информацию о ходе технологического процесса или состоянии оборудования. Для ее преобразования в цифровой код применяются специальные модули, например, ADAM фирмы ADVANTECH. К портам подклю­чают средства ручного ввода (клавиатуру, различные кнопки), дискретные и RS интерфейсы приборов, АЦП и т.д.

Главным управляющим элементом всей микропроцессорной системы, как указывалось, является процессор. Остальные же устройства («периферия») являются ведомыми.

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

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

Рис. 11.5. Классическая структура связей

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

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

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

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

В системах с шинной структурой связей применяют все три существующие разновидности выходных каскадов цифровых микросхем:

Упрощенно эти три типа выходных каскадов могут быть представлены в виде схем на рис. 11.6.

У выхода 2С два ключа замыкаются по очереди, что соответствует уровням логической единицы (верхний ключ замкнут) и логического нуля (нижний ключ замкнут). У выхода ОК замкнутый ключ формирует уровень логического нуля, разомкнутый – логической единицы. У выхода 3С ключи могут замыкаться по очереди (как в случае 2С), а могут размыкаться одновременно, образуя третье, высокоимпедансное, состояние. Переход в третье состояние (Z-состояние) управляется сигналом на специальном входе EZ.

Рис. 11.6. Три типа выходов цифровых микросхем

Типовая структура микроконтроллера приведена на рис. 11.7. Она включает в себя три основных типа устройств:

Эти узлы соединены между собой общей системной шиной (магистралью), по которой производится весь обмен информацией в микропроцессорной системе.

Рис. 11.7. Схема передачи сигналов в микропроцессорной системе

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

Шина данных (Data Bus)

Шина данных – это основная шина, которая используется для передачи информационных кодов между всеми устройствами микропроцессорной системы. Обычно в пересылке информации участвует процессор, который обменивается данными с периферийными устройствами или ячейками памяти. Но возможна также и передача информации между устройствами без участия процессора.

Шина данных всегда двунаправленная. Она должна иметь не менее восьми разрядов для передачи информации по байтам (1 байт = 8 бит, 1 байт / с = 1 бод, 1 Кбайт = 1024 байт). 16-тиразрядная шина данных может за один такт пере­давать 2 байта, 32-разрядная шина – 4 байт, 64­-разрядная – 8 байт.

Шина адреса (Addres bus)

Эта шина служит для определения адреса (номера) устройства, с которым процессор обменивается информацией в данный момент. Каждому устройству (кроме процессора), каждой ячейке памяти в микропроцессорной системе присваивается собственный адрес. Поэтому двоичные числа, передаваемые по шине адреса, представляют собой адрес ячейки памяти или порта ввода/вывода, к которому в данный момент об­ращается процессор.

Шина адреса может быть однонаправленной или двунаправленной. Минимальное количество разрядов адресной шины – 16.

Шина управления (Control bus)

В шину управления условно объединяют набор линий, передающих управляющие сигналы от процессора к периферийным устройствам. Каждый из этих сигналов имеет свою функцию. Некоторые сигналы служат для стробирования передаваемых или принимаемых данных (то есть определяют моменты времени, когда информационный код выставлен на шину данных). Другие управляющие сигналы могут использоваться для подтверждения приема данных, для сброса всех устройств в исходное состояние, для тактирования работы устройств и т.п.

Линии шины управления могут быть однонаправленными или двунаправленными. В любой шине управления обязательно присутствуют линии, передающие следующие сигналы:

RD (Read) – чтение;

WR (Write) – запись;

MREQ – инициализация устройств памяти (ОЗУ или ПЗУ);

IORQ – инициализация портов ввода/вывода;

READY – готовность;

RESET – сброс.

Шина питания (Power Bus) – на рисунке не показана.

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

По отношению к любым периферийным устройствам, центральный процессор может выполнять в каждый момент времени одну из четы­рех основных операций: чтение или запись в ячейку памяти, чтение из порта ввода и запись в порт вывода.

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

а)  сначала центральный процессор выставляет на адресную шину адрес ячейки памяти;

б)  затем на шину данных выстав­ляется байт информации, предназначенный для записи в эту ячейку;

в) после чего акти­визируется сигнал MREQ, дающий доступ к модулю памяти;

г)  затем процессор устанавливает сигнал WR в активное состояние. Происходит запись байта в адресованную ячейку памяти.

Для того, чтобы прочитать байт из ячейки памяти, процессор сначала устанавливает на шине данных адрес нужной ячейки. Затем он устанавливает в активное состояние сигнал MREQ, который поступает на устройства памяти и служит разрешением для их работы. При этом сигнал IORQ остается равным лог. 1, поэтому порты ввода/вывода микропроцессор­ной системы остаются неактивными. Далее, процессор переводит в активное состояние сигнал RD. Этот сигнал поступает как на устрой­ства памяти, так и на порты ввода/вывода. Однако порты не реагируют на него, так как они отключены высоким уровнем сигнала IORQ.

Уст­ройство памяти, напротив, получив управляющие сигналы RD и MREQ, выдает на шину данных байт информации из той ячейки памяти, адрес которой присутствует в этот момент на шине адреса.

Операции чтения из порта и записи в порт происходят аналогично операциям чтения/записи ОЗУ. Различие лишь в том, что вместо сиг­нала MREQ в активное состояние переходит сигнал IORQ, разрешаю­щий работу портов.

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

Постоянная память используется, в основном, для хранения программы начального пуска микропроцессорной системы, которая выполняется каждый раз после включения питания. Информация в нее заносится изготовителем микропроцессора.

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