Слово «микропроцессоры» у всех на слуху. Сигнальные процессоры известны меньшему кругу людей, однако и это понятие достаточно распространено. Что же такое микроконтроллеры? Микроконтроллеры, как и остальные виды процессоров, в настоящее время выполняются в виде одной микросхемы. Микросхемы микроконтроллеров предназначены для управления различными объектами. В качестве таких объектов могут выступать радиостанции, приемники, сотовые телефоны, телевизоры и т. д. Обычно микроконтроллеры выполняются в виде готовых однокристальных ЭВМ. Прежде чем заняться микроконтроллерами более подробно, рассмотрим, к какой области техники относятся микросхемы этого класса, и какой круг задач они решают.
Классификация микропроцессоров
Современные электронные устройства, в том числе и микроконтроллеры, выполняются на основе интегральных микросхем. Основные разновидности применяемых в настоящее время микросхем показаны на рис. 1.1.
Рис. 1.1. Место, занимаемое микропроцессорами среди микросхем
Все микросхемы разделяются на две большие группы: аналоговые и цифровые. Преимущества и недостатки каждой из них известны. Аналоговые микросхемы характеризуются максимальным быстродействием при малом потреблении энергии и сравнительно малой стабильностью параметров. Цифровые микросхемы обладают прекрасной повторяемостью параметров, меньшей чувствительностью к воздействию помех. В последние годы, при применении цифровых микросхем для построения приемопередающих устройств, а также устройств обработки звука и изображения удалось достигнуть большего по сравнению с аналоговой техникой динамического диапазона. Эти преимущества и привели к быстрому развитию цифровой техники в последние годы.
По мере развития цифровых микросхем их быстродействие достигло впечатляющих результатов. Наиболее быстрые обладают временем переключения порядка 3–5 не (серия микросхем 74ALS), а внутри кристалла микросхемы, где нет больших емкостей нагрузки, время переключения измеряется пикосекундами. Таким быстродействием обладают программируемые логические интегральные схемы (ПЛИС) и заказные большие интегральные схемы (БИС). В этих микросхемах алгоритм решаемой задачи воплощен в их внутренней структуре.
Часто для решаемой задачи не требуется такого быстродействия, каким обладают современные цифровые микросхемы. Однако за быстродействие приходится платить. Это выражается в следующем:
— быстродействующие микросхемы потребляют значительный ток, что ограничивает их сложность (уровень интеграции);
— для решения задачи приходится использовать много микросхем, что выливается в высокую стоимость и большие габариты устройства.
Напомню основные характеристики различных видов цифровых микросхем.
Наибольшим быстродействием и наименьшей помехоустойчивостью обладали ЭСЛ-микросхемы (эмиттерно-связанная логика). Однако принципиальная особенность работы этих микросхем, заключающаяся в работе входящих в их состав транзисторов в активном режиме, приводит к тому, что микросхемы такого типа обладают пониженной помехоустойчивостью. Это затрудняет построение микросхем, надежно реализующих достаточно сложные алгоритмы работы. В настоящее время ЭСЛ-микросхемы практически не применяются.
Следующий вид цифровых микросхем — это ТТЛ (транзисторно-транзисторная логика). Современные ТТЛ-микросхемы обладают почти таким же быстродействием, как традиционная ЭСЛ. В связи с особенностями внутреннего устройства ТТЛ-микросхемы потребляемый ею ток питания не зависит от скорости переключения логических вентилей. И работая на пределе быстродействия, и переключаясь только несколько раз в секунду, микросхема потребляет одинаковый ток. Поэтому выпускается несколько различных серий ТТЛ-микросхем, обладающих различным быстродействием и, соответственно, различным током потребления.
В современном мире наибольшее распространение получили КМОП-микросхемы, построенные на комплементарных транзисторах с изолированным затвором. Их особенностью является то, что используется двухтактная схема. В статическом состоянии, если один из двух последовательно включенных транзисторов с разным типом проводимости открыт, то второй закрыт. Это означает, что ток через логический вентиль не протекает ни при формировании на выходе логической единицы, ни при формировании логического нуля. То есть в статическом состоянии через микросхему протекают только токи утечки транзисторов и из цепи питания практически ничего не потребляется. Потребляемый ток возрастает только при увеличении скорости переключения логических КМОП-вентилей. На предельных скоростях работы КМОП-микросхемы ее потребление становится сравнимым с аналогичным параметром ТТЛ-микросхем и даже может превосходить его.
Итак, задачу потребления минимального тока, обеспечивающего требуемое в данный момент быстродействие, решает применение КМОП-микросхем (например, серий 1564, 74НС, 74АНС, универсальных микропроцессоров AMD или PENTIUM). Именно поэтому в настоящее время преимущественное распространение получили КМОП-микросхемы.
Задачу уменьшения стоимости и габаритов решают несколькими способами. Для жесткой логики — это разработка специализированных БИС. Их использование позволяет уменьшить габариты устройства, но стоимость его снижается только при крупносерийном производстве, таком как производство радио- или телевизионной аппаратуры. Для среднего и малого объемов производства такое решение неприемлемо. Тем не менее, для крупносерийного производства альтернативы этой технологии нет, так как при этом получается наименьшая стоимость микросхем.
Еще одним решением уменьшения габаритов и стоимости устройства является применение программируемых логических интегральных схем (ПЛИС). В этих микросхемах присутствуют как бы два слоя. Один слой — это набор цифровых модулей, способных решить практически любую задачу. Второй слой хранит структуру связей между модулями первого слоя. Эту структуру можно программировать, и тем самым менять схему устройства, а значит и решаемую микросхемой задачу. Это направление активно развивается в настоящее время, но оно не входит в рамки рассмотрения данной книги.
Третий способ решения задачи уменьшения габаритов и стоимости заключается в том, что можно заставить одно очень быстродействующее устройство со сложной внутренней структурой, допускающей реализацию большого числа элементарных операций, последовательно решать различные задачи. Этот подход воплощают микропроцессоры. В микропроцессорах возможен обмен предельного быстродействия на сложность реализуемого в этой микросхеме устройства. Быстродействие микропроцессоров стараются максимально увеличить — это позволяет реализовывать все более сложные устройства в одном и том же объеме полупроводникового кристалла. Более того! В одном процессоре можно реализовать несколько устройств одновременно! Именно этот вариант решения задачи уменьшения габаритов и стоимости устройств и рассматривается в предлагаемой вашему вниманию книге.
В современном мире трудно найти область техники, где не применялись бы микропроцессоры. Они используются для вычислений, выполняют функции управления, обрабатывают звук и изображение. В зависимости от области применения микропроцессора варьируются требования к нему. Это накладывает отпечаток на его внутреннюю структуру. В настоящее время определилось три основных направления развития микропроцессоров, подразумевающих различную внутреннюю структуру этих устройств:
— универсальные микропроцессоры;
— микроконтроллеры;
— сигнальные микропроцессоры.
Универсальные микропроцессоры служат для построения вычислительных машин. В них используются самые передовые решения, направленные на повышение быстродействия; при этом не обращают особого внимания на габариты, стоимость и потребляемую энергию. Компьютеры не только работают у вас дома или в офисе, но и используются для управления системами или устройствами, обладающими большими габаритами и стоимостью. Для всех этих приложений массогабаритные и энергетические показатели не имеют особого значения.
Микроконтроллеры. Для управления малогабаритными и дешевыми устройствами используются однокристальные микроЭВМ, которые в настоящее время называют микроконтроллерами. В микроконтроллерах максимальное внимание уделяется именно уменьшению габаритов, стоимости и потребляемой энергии.
Сигнальные процессоры. Еще один класс микропроцессоров решает задачи, которые традиционно выполняли аналоговые электронные устройства. К сигнальным процессорам предъявляются специфические требования. От них требуются максимальное быстродействие и малые габариты, простая стыковка с аналого-цифровыми и цифроаналоговыми преобразователями, большая разрядность обрабатываемых данных и небольшой набор математических операций, обязательно включающий операцию умножения-накопления и аппаратную организацию циклов.
Рассмотрим более подробно каждую из упомянутых категорий микропроцессоров.
Универсальные процессоры
Универсальные процессоры разрабатывают для применения в составе компьютеров, однако это не значит, что они могут использоваться только для вычислений. Эти процессоры с успехом применяют для построения игровых приставок, устройств коммутации в составе компьютерных сетей, а также в различных измерительных или медицинских приборах.
Значимой составляющей стоимости любого устройства является разработка и изготовление его схемы, и чем крупнее серийность изделия, тем меньшую часть в его стоимости занимает эта составляющая. В настоящее время серийность изготовления универсальных компьютеров достигла невероятных размеров. Поэтому возникает желание воспользоваться компьютером в качестве основы для изготовления различных устройств. При этом в состав их цены будет входить стоимость готового компьютера, минимизированная за счет крупной серийности! Разработка и изготовление элементов, функции которых будет выполнять универсальный компьютер, не потребуют затрат времени и денег! Разработка нового устройства сведется к созданию специализированной программы и элементов, отсутствующих в универсальном компьютере.
Для управления автоматическими телефонными станциями, системами сотовой связи или кораблями часто используют универсальные компьютеры. Обычно для построения такого типа устройств управления требуются специфические модули сбора информации или вывода управляющих воздействий. Такие модули выполняют в виде отдельных блоков, подключаемых к компьютеру через один из стандартных портов, таких как LPT, USB или СОМ-порт. В тех случаях, когда нет жестких требований к электромагнитной совместимости, дополнительные блоки могут выполняться в виде плат, подключаемых непосредственно к внутренним шинам компьютера. При этом не нужно изготавливать отдельные корпуса и блоки питания для дополнительных модулей, да и размеры нового устройства ограничиваются габаритами самого компьютера. Довольно часто для реализации нового прибора достаточно приобрести платы аналого-цифрового или цифроаналогового преобразователя или подключить плату согласования с телевизионной камерой и написать программу для этого прибора.
Рис. 1.2. Примеры использования универсальных компьютеров для реализации различной аппаратуры
По мере ужесточения требований к приборам готовый компьютер перестает подходить для их реализации, но можно использовать отдельные блоки от компьютера, такие как материнские платы или платы аналого-цифровых преобразователей. Кроме того, существуют промышленные варианты материнских плат компьютеров, рассчитанные на работу в более тяжелых условиях реального производства. Часто они имеют одноплатное исполнение, что благоприятно сказывается на габаритах и энергопотреблении. Пример такого одноплатного промышленного компьютера приведен на рис. 1.3.
Рис. 1.3. Пример одноплатного встраиваемого компьютера
В качестве примера устройств, для реализации которых использованы готовые одноплатные компьютеры, можно назвать приборы, выпускаемые фирмой Rohde & Schwarz. На рис. 1.4 приведена фотография спектроанализатора этой фирмы.
Рис. 1.4. Спектроанализатор фирмы Rohde & Schwarz
Микроконтроллеры
Термин «контроллер» образовался от английского слова to control — управлять. Контроллеры можно реализовать на устройствах различного принципа действия: от механических или оптических до электронных, аналоговых или цифровых элементов. Механические устройства управления (контроллеры) обладают низкой надежностью и высокой стоимостью по сравнению с электронными, поэтому в дальнейшем мы их рассматривать не будем. Электронные аналоговые устройства имеют недостаточно стабильные параметры и потому требуют периодической подстройки и регулировки, что увеличивает стоимость их эксплуатации. Поэтому такие устройства к настоящему времени стараются не использовать. Наиболее распространенными на сегодняшний день являются электронные устройства управления, построенные на основе цифровых микросхем.
В зависимости от стоимости и габаритов устройства, которым требуется управлять, определяются и требования к контроллеру. Если объект управления занимает десятки квадратных метров, как, например, автоматические телефонные станции, базовые станции сотовых систем связи или радиорелейные линии связи, то в качестве контроллеров можно использовать универсальные компьютеры. Управление при этом можно осуществлять через их встроенные порты компьютера: LPT, COM, USB или ETHERNET. В оперативную память таких компьютеров при включении питания заносится управляющая программа, которая и превращает универсальный компьютер в контроллер.
Использование универсального компьютера в качестве контроллера позволяет в кратчайшие сроки производить разработку новых систем связи, легко их модернизировать (путем простой смены программы), а так- также использовать готовые, выпускаемые крупными сериями (а значит, дешевые) блоки. Однако контроллеры требуются не только для больших систем, но и для малогабаритных радиоэлектронных устройств, таких как радиоприемники, радиостанции, магнитофоны или сотовые телефонные аппараты.
В малогабаритных устройствах предъявляются жесткие требования к стоимости, габаритам и температурному диапазону работы контроллеров. Этим требованиям не могут удовлетворить даже промышленные варианты универсального компьютера. Приходится вести разработку контроллеров на основе однокристальных ЭВМ, которые получили название микроконтроллеры.
Контроллеры требуются практически во всех предметах и устройствах, которые окружают нас. В качестве примера на рис. 1.5 показаны узлы автомобиля, в которых применяются микроконтроллеры.
Рис. 1.5. Узлы автомобиля, в которых применяются микроконтроллеры
Автомобильная и носимая радиостанции, в которых тоже применяются однокристальные микроконтроллеры, показаны на рис. 1.6 и 1.7.
Рис. 1.6. Автомобильная радиостанция с применением микроконтроллеров
Рис. 1.7. Носимая радиостанция с применением микроконтроллеров
Как выглядит носимая радиостанция внутри, показывает фотография, приведенная на рис. 1.8. Практически во всех узлах радиостанции используются микроконтроллеры.
Рис. 1.8. Печатная плата приемопередатчика носимой радиостанции
Наиболее распространенными в настоящее время являются микроконтроллеры семейства MCS-51. Они выпускаются рядом фирм — производителей микросхем. Не менее распространенными в мире, но не в России являются микроконтроллеры фирмы Motorola. Это такие семейства 8-разрядных микроконтроллеров, как НС05, НС07, HC11 и многие другие. Пожалуй, не менее популярными являются микроконтроллеры AVR фирмы Atmel. Одно перечисление семейств микроконтроллеров может занять несколько страниц текста, поэтому ограничимся приведенным перечнем.
Сигнальные процессоры
Сигнальные процессоры, как следует из названия, предназначены для обработки сигналов. Важнейшей их задачей является реализация частотной фильтрации входного сигнала. При реализации этого алгоритма требуется обеспечить максимальное быстродействие. Для данного класса микропроцессоров потребление энергии часто не является определяющим требованием.
Анализ алгоритмов цифровой обработки сигналов показывает, что основной вклад в вычислительные затраты вносит умножение отсчетов входного сигнала на весовые коэффициенты. Поэтому основным блоком для сигнального процессора является аппаратный умножитель.
Еще одной особенностью выполнения алгоритма фильтрации является возможная потеря точности при многократном суммировании результатов перемножения. Поэтому обычно в сигнальных процессорах используются многоразрядные перемножители, сумматоры и соответствующие им многоразрядные регистры-аккумуляторы. Обычно разрядность таких сумматоров составляет сорок двоичных разрядов.
При выполнении любого циклического алгоритма, а к этой категории, несомненно, относятся алгоритмы цифровой фильтрации, значительное время расходуется на организацию самого цикла. Требуется изменение счетчика циклов, проверка содержимого счетчика на равенство заданному значению, изменение содержимого указателей на текущий адрес памяти отсчетов сигнала цифрового фильтра и на текущий адрес памяти коэффициентов.
Внутренняя структура сигнальных процессоров построена так, что все перечисленные задачи выполняются за один машинный такт. Это позволяет значительно повысить алгоритмическое быстродействие сигнальных процессоров. Именно наличие модулей умножения с накоплением вместе с аппаратной поддержкой циклического выполнения алгоритма позволяет отнести микропроцессор к классу сигнальных процессоров.
Чрезвычайно важной для сигнального процессора является также возможность легко соединяться с микросхемами аналого-цифровых (АЦП) и цифроаналоговых преобразователей (ЦАП). В ряде относительно дешевых сигнальных процессоров используются встроенные АЦП и ЦАП, но системы, построенные на таких микросхемах, обычно обладают средними характеристиками.
Первоначально сигнальные процессоры подключали модули АЦП или ЦАП через системную шину (такой подход сохраняется до сих пор для очень высоких скоростей обмена информацией), однако в дальнейшем наибольшее распространение получило подключение через универсальный синхронный последовательный порт. Наличие параллельных портов, в отличие от микроконтроллеров, не является обязательным для сигнальных процессоров.
Наиболее сильные позиции на рынке сигнальных процессоров в настоящее время занимают такие фирмы, как Analog Devices и Texas Instruments. Именно они предлагают в настоящее время наиболее производительные модели сигнальных процессоров. Не менее сильными являются позиции фирмы Motorola, но в нашей стране процессоры этого производителя менее распространены.
Итак, подведем итоги
Разнообразие микропроцессоров поражает, но все они построены по одинаковым принципам, которые будут рассмотрены в данной книге. При этом микропроцессоры будут рассматриваться на примере микроконтроллеров. Причем микроконтроллеров очень распространенного в настоящее время семейства — MCS-51. Однако прежде чем начать подробное изучение принципов работы с микропроцессорами, рассмотрим основы работы цифровых систем, частью которых являются микропроцессоры.