Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры: внимание читателя сосредотачивается на тонких аспектах проектирования и применения электронных схем.
На русском языке издается в трех томах. Том 3 содержит сведения о микропроцессорах, радиотехнических схемах, методах измерения и обработки сигналов, принципах конструирования аппаратуры и проектирования маломощных устройств, а также обширные приложения.
Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов и техникумов.
THE ART OF ELECTRONICS
Second Edition
Paul Horowits Harward University
Witlfield Hill Rowland Institute for Science, Cambridge, Massachusetts
CAMBRIDGE UNIVERSITY PRESS
Глава 11
МИКРОПРОЦЕССОРЫ
МикроЭВМ, обсуждавшиеся в предыдущей главе, представляют собой автономные вычислительные системы, скомпонованные вокруг микропроцессора и включающие обычно массовую память (диски), графические дисплеи, принтеры и, возможно, какое-то сетевое оборудование. Эти машины комплектуются терминалом, памятью и портами ввода-вывода, а также дополнительными вставными платами, расширяющими их возможности. МикроЭВМ прекрасно подходят для обработки текстов, выполнения вычислительной работы, построения систем автоматизированного проектирования (САПР) и даже автоматизированных систем управления производством (АСУП). В сочетании с коммерчески доступными аппаратными средствами микроЭВМ могут выступать в качестве программаторов логических устройств, логических анализаторов и интерфейсных процессоров в самых различных инженерных применениях. Встроив в разрабатываемый вами прибор или систему микропроцессор вместе с некоторыми дополнительными схемами, вы получите устройство, обладающее мощностью микроЭВМ. В такого рода «жестких» приложениях процессор выполняет фиксированную программу, зашитую в ПЗУ, при этом отпадает необходимость в массовой памяти (диски, лента), терминалах и т. д. Внешне прибор может иметь самый обычный вид, хотя его повышенную интеллектуальность часто выдает наличие специализированной клавиатуры. Приборы с микропроцессорным управлением, как правило, имеют лучшие характеристики при меньшей стоимости и более простом устройстве в сравнении с эквивалентными системами, выполненными на дискретных логических микросхемах. Более того, модификация или совершенствование прибора часто требует лишь написания новой программы.
Очевидно, что компетентный разработчик не может игнорировать отмеченные обстоятельства. Если вам требуются еще какие-то стимулы, можно отметить, что возня с микропроцессором — сущее удовольствие; встроив его в свой прибор, вы испытаете восхитительное чувство собственного могущества.
При разработке приборов с микропроцессорным управлением приходится уделять заметно больше внимания вопросам конструирования и программирования, чем при разработке микроЭВМ. В частности, следует выбрать тип памяти (статическое или динамическое ОЗУ, программируемое ПЗУ, электрически стираемое программируемое ПЗУ) и определить ее расположение в доступном «пространстве памяти»; определить форму ввода-вывода (включая выбор аппаратной реализации: обычные функциональные микросхемы среднего уровня интеграции или заказная БИС «периферийной поддержки»); написать и отладить встраиваемое программное обеспечение исходя из условий работы программно-управляемого прибора. Как правило, разработчики систем с микропроцессорным управлением должны свободно владеть как аппаратными средствами, так и программированием на языке ассемблера.
Большая часть концепций программирования и интерфейса с магистралью, обсуждавшихся в предыдущей главе применительно к микроЭВМ, непосредственно приложима к схемам микропроцессорного управления, и в дальнейшем мы предполагаем, что читатель знаком с содержанием
Внимательный взгляд на МП
68008
Обилие микропроцессоров различных типов может поставить в тупик разработчика. Печальным правилом мира микропроцессоров является несовместимость различных микропроцессорных комплексов как в аппаратной реализации (сигнальные линии, интерфейсные протоколы и т. д.), так и в наборах команд. Вместо того чтобы пытаться подобрать наилучший микропроцессор для каждого применения, лучше остановиться на каком-то достаточно зарекомендовавшем себя микропроцессоре, создать для него систему разработки и накапливать с ее помощью опыт и знания. Это разумно еще и потому, что усилия и средства, затраченные на разработку программного обеспечения для микропроцессорной системы, часто превышают затраты на аппаратную разработку.
В этой главе мы рассмотрим МП Motorola 68008, являющийся младшим представителем элегантного и популярного семейства микропроцессоров 68000, находящих применение в таких микроЭВМ, как Macintosh, NeXT, Sun и Apollo. Этот микропроцессор практически идентичен МП 68000 (16-разрядная шина данных, 24-разрядная адресная шина), но упакован в 48-контактный DIP-корпус с 8-разрядной шиной данных и 20-разрядный адресной шиной. Микропроцессор выполняет те же программы, что и МП 68000; более узкая шина данных абсолютно прозрачна для использования.
Регистры.
На рис. 11.1 показаны внутренние регистры МП 68000 (мы будем использовать обозначение «68000» при описании черт, общих для МП 68000 и 68008).
Пример законченной разработки: аналоговый усреднитель сигналов
В последующих разделах мы займемся проектированием законченного прибора на базе МП 68008 — аналогового «усреднителя сигналов» (вопросы усреднения будут обсуждаться в
разд. 15.13
). Прибор будет включать в себя ЦП с соответствующими электронными схемами для получения сигналов DTACK, BERR и других, память (ОЗУ и ПЗУ) и много разных интерфейсов: микропереключатели в DIP-корпусе, матрица электролюминисцентных диодов (ЭЛД), последовательный и параллельный порты, календарь-часы/таймер, аналого-цифровые и цифро-аналоговые преобразователи (АЦП и ЦАП), а также твердотельное реле для переключения цепей переменного тока. Как видите, мы задумали включить в наш прибор всего понемногу, чтобы получить микропроцессорный модуль общего назначения, перенастройка которого осуществляется сменой управляющей программы.
Мы пройдем с вами процедуру аппаратного проектирования, остановившись на критериях выбора элементов и разработки схемы. Вы научитесь выбирать и подключать память и периферийные устройства и разумным образом распределять адресное пространство. Закончив аппаратное проектирование, мы займемся программным обеспечением и напишем несколько программных «модулей» (блоков) для управления выбранными процессами. Мы, однако, не будем утомлять вас детальным рассмотрением всех программных строк, поскольку программные комплексы, подобные нашему, содержат много не очень интересных (хотя и необходимых) программ, вроде программы ввода с клавиатуры установочных команд. Наконец, мы проанализируем эффективность получившегося прибора — гибкость, обусловленную применением микропроцессора, и накладываемые им ограничения скоростных характеристик.
Структурная схема. На рис. 11.9 изображена структурная, на рис. 11.10 — электрическая схемы микропроцессорного прибора.
Микросхемы аппаратной поддержки микропроцессора
В нашем микропроцессорном приборе использованы 22 интегральные схемы, из которых 10 представляют собой мощные функциональные БИС (ЦП, память, параллельные и последовательные порты, календарь-часы, АЦП и ЦАП), а остальные 12, составляющие очевидное большинство, являются низменными вентилями, триггерами, буферами и фиксаторами. Эти микросхемы низкой и средней степени интеграции нужны для сочленения между собой больших микросхем и иногда называются «склеивающей логикой». Количество этого клея можно существенно уменьшить, если прибегнуть к помощи ПЛМ или даже (в условиях массового выпуска) заказных или полузаказных микросхем, специально разработанных под конкретную задачу. Тем не менее, фиксаторы и, особенно, тристабильные буферы используются весьма интенсивно во всех микропроцессорных системах, так что краткий обзор имеющихся возможностей вполне уместен. После этого мы коснемся некоторых распространенных поддерживающих БИС (последовательные и параллельные порты и преобразователи) и завершим главу обсуждением запоминающих устройств.
Фиксаторы и D-регистры.
Фиксаторы и регистры уже упоминались в
разд. 8.24
. Термин «фиксатор», строго говоря, относится к прозрачному фиксатору, у которого состояние выходов повторяет состояние соответствующих входов (на время действия сигнала разрешения). Так называемый фиксатор с фиксацией по фронту является, в действительности, регистром D-типа. Он состоит из D-триггеров с общим тактовым входом. Различие в функционировании этих схем приводит к важным последствиям, когда они используются для фиксации данных, поступающих с магистрали, что связано с особенностями относительной синхронизации во времени сигналов данных и строба записи. В частности, в соответствии с протоколом некоторых микропроцессорных магистралей (например, машин IBM PC), данные не обязательно будут достоверными на фронте строба записи, однако гарантируется их достоверность на срезе этого сигнала (и в течение некоторого минимального времени после него); см. рис. 10.6 и 11.22. При использовании прозрачного фиксатора с разрешением на все время стробирующего сигнала на его выходе почти наверняка появятся переходные состояния, как это показано на рис. 11.22.