В предыдущей главе были рассмотрены принципы работы микропроцессора — универсального устройства, позволяющего выполнять различные виды операций. Как будет показано в следующих главах, с его помощью можно реализовывать цифровые устройства различного назначения. Однако мы пока не умеем использовать микропроцессор. В данной главе будут рассмотрены структурные схемы подключения к нему различных устройств. Структурные схемы приводятся с уровнем легализации, позволяющим легко превратить их в принципиальные схемы.
В главе будут также рассмотрены основные методы расширения адресного пространства микропроцессорной системы и некоторые решения, позволяющие повысить ее быстродействие. Однако не следует забывать, что микропроцессор сам по себе никого не интересует. Это только инструмент решения задач управления какими-либо объектами или обработки сигналов.
В данной случае мы рассмотрим узлы микропроцессорной системы, позволяющие микропроцессору получать информацию извне и воздействовать на окружающую среду (в том числе и на человека). При решении задач управления или обработки сигналов очень важно, чтобы решения процессора были согласованы во времени с окружающими событиями. Поэтому будут рассмотрены узлы микропроцессорной системы, позволяющие организовывать взаимодействие с окружающей средой в реальном времени.
Пожалуй, одним из самых значительных событий в развитии цифровой техники была разработка системной шины, позволяющей передавать информацию между различными блоками цифрового устройства. Именно с нее и начнем изложение материала.
Системная шина предназначена для обмена информацией между микропроцессором и любыми внутренними устройствами микропроцессорной системы (контроллера или компьютера). В качестве обязательных устройств, которые входят в состав любой микропроцессорной системы, можно назвать ОЗУ, ПЗУ, таймер и порты ввода-вывода. Структурная схема простейшей микропроцессорной системы, включающей перечисленные устройства, приведена на рис. 5.1.
Рис. 5.1.
В состав системной шины в зависимости от типа процессора входит одна или несколько шин адреса, одна или несколько шин данных и шина управления. Несколько шин данных и адреса применяются для увеличения производительности системы и используются, как правило, в сигнальных процессорах. В универсальных процессорах и контроллерах обычно применяется одна шина адреса и одна шина данных даже при реализации гарвардской структуры.
По шине данных информация передается либо к процессору, либо от процессора в зависимости от операции (записи или чтения), выполняемой микропроцессором в данный момент. В любом случае все сигналы, необходимые для работы системной шины, формируются или опрашиваются микросхемой процессора, как это рассматривалось при изучении операционного блока. То есть без микропроцессора системная шина функционировать не может. Более того, когда в микропроцессорной системе говорят об операции чтения, то предполагается, что это микропроцессор читает данные. Если в этой системе говорят об операции записи, то запись данных осуществляет именно микропроцессор.
Иногда, для увеличения скорости обработки информации, функции управления системной шины берет на себя отдельная микросхема (например, контроллер прямого доступа к памяти или сопроцессор), и тогда операции записи или чтения будет осуществлять именно эта микросхема. В современных микроконтроллерах или сигнальных процессорах эти устройства могут находиться непосредственно в составе микросхемы.
При подключении различных устройств к системной шине возникает вопрос — как различать эти устройства между собой? С этой целью используют индивидуальный адрес для каждого устройства, подключенного к системной шине микропроцессора. Так как адресация производится к каждой ячейке памяти устройства индивидуально, то возникает понятие адресного пространства, занимаемого каждым устройством, и адресного пространства микропроцессорного устройства в целом.
Адресное пространство микропроцессорного устройства изображается графически прямоугольником, одна из сторон которого соответствует разрядам адресуемой ячейки этого микропроцессора, а другая сторона — всему диапазону доступных адресов для этого же микропроцессора.
Обычно в качестве минимально адресуемого элемента адресного пространства выбирается 8-разрядная ячейка (байт). Диапазон доступных адресов микропроцессора определяется разрядностью шины адреса. При этом минимальный номер ячейки памяти (адрес) будет равен 0, а максимальный определяется из формулы:
M = 2N — 1
Для 16-разрядной шины это будет число 65535 (64 Кбайт). Адресное пространство этой шины приведено на рис. 5.2. Оно соответствует адресному пространству памяти микропроцессорной системы, изображенной на рис. 5.1.