Мир книг по микроэлектронике
Книги авторства Белова Александра
На главнуюРеквизиты автора Сайт МирМК FUSE калькулятор Сайт "Симферополь вчера и сегодня"

<< Предыдущая страница К оглавлению www.mirmk.ru Следующая страница>>

Основы микропроцессорной техники

Глава 9. Типовая схема микропроцессорной системы.

Если вы внимательно прочитали предыдущие главы и поняли все, о чем в них говорится, то теперь можно приступать к новому этапу. Рассмотрим более детально как устроено типичная микропроцессорная система. Посмотрим на рисунок 28.

Рис. 28.

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

CPU – центральный процессор (центральное процессорное устройство – ЦПУ)

RAM – оперативное запоминающее устройство (ОЗУ)

ROM – постоянное запоминающее устройство (ПЗУ)

Port I/O – порт ввода/вывода

Что такое процессор вы уже немного знаете. ОЗУ и ПЗУ – это два вида памяти. Их можно было бы не разделять. Процессор их и не разделяет и работает с обоими видами памяти одинаково. Но между ними есть одно довольно существенное различие. ОЗУ хранит информацию только при наличии напряжения питания. Классический пример ячейки ОЗУ – это простейший регистр, построенный на D-триггерах. В такой регистр можно записывать информацию и она там будет храниться. Но после выключения питания при последующем включении все D-триггера регистра установятся в случайное положение. Информация будет утеряна. ОЗУ на основе параллельных регистров сейчас почти не применяется. Однако и по сей день не придумано достаточно быстродействующее устройство памяти, не теряющее информации с выключением питания. 

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

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

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

На схеме, на рис. 24 изображены три основные шины микропроцессорной системы. Вместе они составляют системную шину. Системная шина состоит из следующих составляющих:

ШД – шина данных (DATA bus)

ША – шина адреса (ADDR bus)

ШУ – шина управления (CONTROL bus)

Шина данных.

Эта шина предназначена для передачи данных от микропроцессора к периферийным устройствам и обратно. Напомню, что периферийными устройствами для процессора являются устройства памяти (ОЗУ и ПЗУ) и порты ввода/вывода. В простых микропроцессорных контроллерах она имеет обычно 8 разрядов. В более сложных – 16, 32, 64 … Количество разрядов всегда кратно восьми. По восьми разрядам передается один байт информации (то есть двоичное восьмиразрядное число). По шестнадцати разрядам можно одновременно передавать два байта. По 32-разрядной шине передача информации может происходить тремя способами: один байт (по младшим восьми разрядам), два байта (по младшим 16) и сразу по 4 байта. Аналогичный принцип используется и в 64-разрядной шине. Таким образом, как видим, байт тоже стал своеобразным стандартом, единицей измерения данных.

Шина адреса.

Предназначена для передачи адреса ко всем периферийным устройствам (как к устройствам памяти, так и к портам ввода/вывода). Количество разрядов адресной шины отличается большим разнообразием. Например, микропроцессор серии К580ИК80 имеет 16 разрядов адреса. Это можно считать минимальным количеством. Процессор Intel 8086, На котором собран родоначальник всех современных персональных компьютеров – IBM PC-XT, имеет 20 разрядов адреса. Современные процессоры имеют  до 32 разрядов и больше. От количества разрядов шины адреса зависит, какое количество ячеек памяти может адресовать процессор. Процессор, имеющий шестнадцатиразрядную шину данных может обращаться к 216 (то есть к  65536) ячейкам памяти. Это число называется объемом памяти. То есть, по другому можно сказать, что такой процессор имеет объем адресуемой памяти в 65536 байт.

В вычислительной технике используется необычная размерность для измерения объема памяти. Число 1024 (а это 210) байт информации принято называть Килобайтом. Почему 1024, а не 1000? Ну во первых потому, что количество ячеек памяти, адресуемых любым микропроцессором всегда является величиной, равной какой либо степени числа два. Например, для адресации 1024 ячеек памяти нужна шина адреса, имеющая ровно 10 разрядов. При этом шина не будет избыточна. Если бы мы захотели иметь только 1000 ячеек памяти, то для того, что бы обеспечить возможность обратиться к любой из них, нам все равно потребовалось бы 10 разрядов адреса, так как при девяти разрядах можно обратиться только к 512 ячейкам. Поэтому никто и ни когда не делал запоминающего устройства с объемом не равным одной из степеней двойки. Логично, что и объем памяти удобнее измерять в величинах, из того же ряда.

Поэтому один килобайт равен 1024 байта. Один мегабайт равен 1024 килобайта. Один гигабайт равен 1024 мегабайту. Ну, дальше наша техника пока еще не пошла. Пока объемы памяти, реально используемой на современных компьютерах, не превышают  нескольких гигабайт.

Для адресации портов ввода/вывода используется та же самая шина данных. Но в отличие от режима обмена данными с ОЗУ, при обмене с ПЗУ обычно используются только восемь (реже 16) младших разрядов той же самой шины адреса. Это связано с тем, что в реальной микропроцессорной системе портов ввода вывода бывает гораздо меньше, чем ячеек памяти.

Шина управления.

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

RD – сигнал чтения

WR – сигнал записи

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

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

Кроме того, к сигналам шины управления относятся:

READY – сигнал готовности

RESET – сигнал сброса

И еще несколько специальных сигналов, о которых мы поговорим позже.

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

Рассмотрим подробнее, как работает микропроцессорная система, изображенная на рис. 28. В основном режиме работы, всей микропроцессорной системой управляет центральный процессор (CPU). При этом он может выполнять четыре основных операции: чтение из ячейки памяти, запись в ячейку памяти, чтение из порта и запись в порт.

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

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

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

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

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

Как видно из схемы (рис. 24), к одной системной шине могут подключаться несколько модулей памяти, а так же несколько портов. Все устройства ко всем шинам подключаются параллельно. Как же происходит, что процессор записывает информацию в тот модуль памяти, в который нужно и при этом он не попадает в другие модули? Для этого в каждый модуль памяти встроен специальный дешифратор. На него подаются сигналы старших разрядов адресной шины. Далее, при помощи внутренних перемычек, для каждого модуля выбирается свой диапазон адресов с таким расчетом, что бы модули занимали разные не пересекающиеся диапазоны. Для того, что бы это было понятнее, предположим, что мы имеем четыре модуля памяти по шестнадцать ячеек в каждом. Для адресации шестнадцати ячеек достаточно четырех разрядов адресной шины. Еще два разряда понадобятся для того, что бы выбирать один из модулей. Поэтому четыре младших разряда шины данных (D0..D3) подаются на все модули памяти параллельно и используются для выбора одной из ячеек в модуле. Следующие два разряда (D4, D5) подаются на дешифраторы выбора модуля. Такие модули еще называют банками памяти. Перемычки в выбираемых модулях при этом нужно установить так, что бы первый модуль (банк памяти) активизировался тогда, когда разряды D4, D5 примут значение 002. Во втором модуле перемычки должны быть установлены в положение, при котором модуль будет активизироваться если D5, D5 примут значение 012. Третий модуль активизируется при D4, D5 =102, а четвертый при 112. При таком способе включения модулей памяти первый банк памяти будет занимать в адресном пространстве адреса с 0000002 по 0011112. Второй банк – адреса с 0100002 по 0111112. Третий – с 1000002 по 1011112. И четвертый - с 1100002 по 1111112. Таким образом, процессор сможет обращаться к любой ячейке любого банка памяти. И при этом все модули будут подключены ко всем шинам микропроцессорной системы параллельно.

В заключение этой главы необходимо сказать о еще одном элементе, обязательно присутствующем в любой микропроцессорной системе. Это тактовый генератор. На рис. 24 тактовый генератор для простоты не показан. Каждая операции в микропроцессорной системе разделена на несколько тактов. Тактовый генератор вырабатывает прямоугольные импульсы, которые поступают на специальный вход микропроцессора, а иногда и на некоторые другие микросхемы микропроцессорной системы. Эти импульсы синхронизирует все процессы, происходящие в микропроцессорной системе и, в конечном счете, определяют быстродействие всей системы. У микроконтроллеров AT89C2051 и аналогичных ему, тактовый генератор входит в состав самой микросхемы контроллера.

 

<< Предыдущая страница К оглавлению www.mirmk.ru Следующая страница>>