Рис. 14.42.
14.17. Микромощные микропроцессоры и периферийные устройства
Многие стандартные микропроцессоры имеют КМОП-эквиваленты. Следовательно, на первый взгляд могло бы показаться, что легко проектировать на микропроцессорах маломощные схемы. В действительности же большинство из этих КМОП-микропроцессоров представляют собой просто аналоги — контакт в контакт — процессоров, первоначально разработанных по n-МОП-технологии, и в большинстве случаев они не ориентированы на работу при батарейном питании, например не способны работать при низкой частоте тактовой синхронизации. Некоторые даже и не маломощные — например, схема 68020, которая рассеивает мощность приблизительно 1 Вт.
Поскольку мощность рассеивания КМОП-приборов обычно пропорциональна частоте тактовой синхронизации, то первый вопрос, на который следует дать ответ, — какую мощность потребляет схема при выключении сигнала тактовой синхронизации? Если в самом кристалле используется КМОП-технология из-за ее хороших электрических характеристик, но он не был предназначен для прикладных задач с крайне малой мощностью потребления, то в него могут входить некоторые не КМОП-схемы, которые приводят к значительной мощности рассеяния в статическом режиме. Остерегайтесь также тех кристаллов, в которых используется тактовая синхронизация неявным образом: в качестве примера можно привести (непрерываемый) строенный 16-разрядный счетчик, который совместим с микропроцессорами (шесть портов с третьим состоянием, разрядностью в байт, плюс порты управления). Он потребляет ток 10 мкА при остановленной тактовой синхронизации; однако сюрприз состоит в том, что для него необходимо тактовое колебание, даже когда он не общается с процессором. В его технических данных не указано, что сама тактовая синхронизация используется для синхронизации входов и что эта частота должна быть по крайней мере в три раза выше скорости счета. Таким образом, необходимо подавать на него высокую тактовую частоту, чтобы он функционировал как счетчик, а это приводит к избыточной мощности рассеяния.
Второй вопрос, на который следует ответить, — это насколько низкой может быть частота тактовой синхронизации, чтобы при этом сохранялись разумные рабочие характеристики? В состав некоторых процессоров могут входить динамические регистры, для которых предписана высокая минимальная частота тактовой синхронизации. При низкой частоте тактовой синхронизации некоторые процессоры (в частности, типа «контроллеров» — см. ниже) могут реагировать очень медленно; вы можете получить при прерываниях время задержки до 10 мс.
Зависимость компьютера от контроллера. Как правило, микропроцессоры делятся на две категории, согласно тому для каких целей они спроектированы. Типы, ориентированные на вычисление, имеют адресное пространство по крайней мере в 64К и используют только несколько циклов тактовой синхронизации на инструкцию (для достижения высокого быстродействия). Для них требуются внешние периферийные устройства, а именно: порты, таймеры, преобразователи и т. д. Ориентированные на управление типы предназначены для целевого использования в определенных приборах и обычно имеют небольшое адресное пространство (в типовом случае 2К или 4К), и выполнение одной инструкции проводится за много циклов тактовой синхронизации. С другой стороны, для них характерно наличие многочисленных встроенных параллельных портов, большого числа контактов прерываний и внутреннего формирователя тактовой синхронизации. В них часто входят таймеры, УАПП и даже аналого-цифровые преобразователи и энергонезависимое ОЗУ.
Некоторые примеры. Схемы 80C85, 80C86 и 80C88 представляют собой КМОП-аналоги популярных n-МОП вычислительных процессоров. ИС 80C85 (фирма Oki) при остановленной тактовой синхронизации потребляет ток 2 мА и 10 мА — при частоте тактовой синхронизации 6 МГц. Он может быть непригоден для микромощных применений, если только вы не используете его в режиме с отключением питания. Схемы 8C86 и 80C88 (фирмы Harris, Intel) лучше — имеют статический ток потребления ~0,1 мА (хотя он задается как 0,5 мА, макс). У них вы можете с целью экономии мощности останавливать тактовую синхронизацию, при этом сохраняется содержимое регистров и программных счетчиков.
Имеется тонкость в восстановлении на входе остановленного процессора сигнала тактовой синхронизации. Для обеспечения низкого значения мощности потребления в режиме резервирования вы должны выключать кварцевый генератор, а не только стробировать его выходной сигнал (конечно, вместе со схемой синхронизации; см. разд. 8.19). Однако из-за высокой добротности кварцевый генератор не может запуститься мгновенно, и генератор мегагерцевого диапазона частот в типовом случае имеет время восстановления от 5 до 20 мс; генератор с частотой 32 кГц может иметь это время до секунды (Q = 105). Следовательно, для восстановления сигнала тактовой синхронизации вы можете или подождать пока генератор «наберет скорость» перед стробированием его с помощью микропроцессора, или вы можете установить процессор в исходное состояние в течение этого периода. Первый метод обычно лучше, поскольку вы можете и не захотеть проводить перезагрузку каждый раз, как нужно запустить обработку (см. ниже «Отключение источника питания» — метод «теплой» загрузки).
Схема 82С85 (фирма Harris) представляет собой маломощный формирователь тактовой синхронизации, ориентированный на работу с микропроцессорами 80C86/88; его внутренняя схемотехника выполняет выключение тактовой синхронизации, остановку генератора (~25 мкА), работает на низких частотах и имеет дополнительные средства для микропроцессорного программного управления.
Схемы 80CЗ1/51 — это примеры популярных процессоров типа контроллера, спроектированные со специальными характеристиками и ориентированные на батарейное питание. В эти процессоры входит вплоть до 32 программируемых контактов шины ввода-вывода (ВВ), пара 16-разрядных таймеров, 128-байт встроенное ПЗУ (они могут использовать порты как мультиплексные шины для адресации 64К внешней памяти; схема 80C51 имеет, кроме того, масочное программируемое ПЗУ объемом 4К байт), 5 прерываний и программируемый последовательный порт. Они могут быть переведены в маломощный режим «ожидания» (< 1 мА при частоте тактовой синхронизации 1 МГц), в котором прерывания, последовательный порт и таймеры продолжают функционировать, в то время как тактовая синхронизация самого процессора прервана; содержимое всех регистров и встроенного ОЗУ сохраняется. Они также могут быть переведены в режим «выключения питания» с нулевым током, из которого их можно вывести только путем полного сброса, но при котором сохраняется содержимое внутреннего ОЗУ.
Схема 146805Е2 представляет собой аналогичный контроллер с прекрасной способностью по восстановлению из режима «остановки» с нулевой мощностью потребления через прерывание. В нем имеется внутренняя схемотехника формирования периода ожидания перед возобновлением обработки после запуска генератора. В технических условиях на него записано, что время запуска в типовом случае составляет 30 мс (300 мс макс.) при fтакт = 1 МГц, UCC= 3 В. Это, очевидно, непригодно для прикладной задачи, где требуется многократный запуск, скажем, 10 раз в секунду, но это было бы прекрасно при запуске системы раз в минуту. В серию 14805 входят различные модификации (определяется суффиксом) с отличными конфигурациями порта и памяти, маскируемым ПЗУ и т. д. Мы используем его в приведенном в следующем разделе примере проектирования.
В табл. 14.9 приведено большинство из наиболее интересных маломощных микропроцессоров, имеющихся в наличии на момент сдачи этого издания в печать.
Отключение источника питания. Конечно, вы можете заставить любой микропроцессор работать при низкой средней мощности, если включать источник питания только в течение короткого рабочего цикла. Это более просто сделать для n-МОП-схем, чем для КМОП, поскольку входы, такие, как WR', могут оставаться в ВЫСОКОМ состоянии при выключенном питании (для КМОП-схем такая ситуация привела бы к появлению питания на кристалле через входные диоды защиты), препятствуя подложным циклам записи. Следовательно, для КМОП-схем необходимо использовать внешние логические схемы, которые обеспечат аккуратное выключение. В любом случае надлежит решить вышеупомянутую проблему запуска тактовой синхронизации, которую вы можете решить с помощью внешних логических схем задержки, либо с помощью кристалла типа 82С85.