Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контроллеры для приложений.doc
Скачиваний:
24
Добавлен:
13.09.2019
Размер:
958.46 Кб
Скачать

6. Аналого-цифровые и цифро-аналоговые преобразователи

О тличительная особенность многих современных 8-разрядных МК — интегрированный на кристалл МК модуль многоканального аналого-цифрового преобразователя (АЦП). Модуль АЦП предназначен для ввода в МК аналоговых сигналов с датчиков физических величин и преобразования этих сигналов в двоичный код с целью последующей программной обработки. Структурная схема типового модуля АЦП представлена на Рис. 1.24. Многоканальный аналоговый коммутатор служит для подключения одного из источников аналоговых сигналов (РТхО...РТх7) к входу АЦП. Выбор источника сигнала для измерения осуществляется посредством записи номера канала коммутатора в соответствующие разряды регистра управления АЦП. Заметим, что в модулях АЦП 8-разрядных МК предусмотрена только программная установка номера канала, режим автоматического последовательного сканирования каналов с записью результата измерения каждого канала в индивидуальную ячейку памяти не реализуется.

Д иапазон измеряемых значений напряжения аналоговых входов определяется опорным напряжением Uon. Разрешающая способность АЦП составляет Uon/2n, где n — число двоичных разрядов в слове результата. Максимальное значение опорного напряжения, как правило, равно напряжению питания МК. Два вывода модуля АЦП используются для задания опорного напряжения: Vrefh — верхний предел Uon, Vrelf — нижний предел. Разность потенциалов на входах Vrefh и Vrefl и составляет Uon. Если измеряемое напряжение Uизм >= Vrefh , то результат преобразования будет равен $FF, код $00 соответствует напряжениям Uизм <= Vrefl. Для достижения максимальной точности измерения следует выбрать максимально допустимое значение Uon. В этом случае напряжение смещения нуля входного буфера и нелинейность передаточной характеристики АЦП будут вносить относительно малые погрешности.

С обственно аналого-цифровой преобразователь выполнен по способу последовательного приближения. Принцип действия АЦП иллюстрируют функциональная схема и временные диаграммы на Рис. 1.25 и 1.26. АЦП включает регистр последовательного приближения, цифро-аналоговый преобразователь, компаратор, генератор импульсов синхронизации, схему управления, регистр результата ADCDATA и триггер готовности данных. Начало преобразования задает сигнал "Пуск", который устанавливает регистр последовательного приближения в состояние 10000000. При этом на выходе ЦАП формируется напряжение, равное половине опорного. Компаратор сравнивает измеряемое напряжение с напряжением ЦАП. Если Uизм > Uцап то в регистре последовательного приближения формируется следующий код сравнения, равный 11000000. Если Uизм < Uцап. то старший разряд регистра последовательного приближения устанавливается в О, следующий код сравнения равен 01000000. Таким образом, на первом такте измеряемое напряжение сравнивается с эталонным значением Uoп/2. Аналогичные действия выполняются в каждом из тактов преобразования, однако значение напряжения сравнения зависит от результатов сравнения в предыдущих тактах.

Конденсаторы емкостного делителя неидеальны и имеют определенное сопротивление утечки. Поэтому длительность такта измерения должна быть, с одной стороны, достаточна дм заряда конденсаторов до уровня напряжения, определяемого разрядами регистра последовательного приближения, а с другой стороны, не слишком большой, чтобы погрешность утечки не была значительной.

В некоторых моделях источник питания аналоговой части модуля АЦП выполнен на основе импульсного преобразователя Для его работы требуется тактирование, частота тактирования определена с достаточно узким допуском +-10%. Источником синхронизации модуля АЦП может служить встроенный RC-генератор или импульсная последовательность тактирования межмодульных магистралей МК. В первом случае частота синхронизации АЦП обязательно окажется оптимальной, той, которая рекомендуется в техническом описании. Во втором случае выбранная в результате других соображений fbus может оказаться неподходящей для модуля АЦП. На этот случай в составе некоторых модулей предусмотрен программируемый делитель частоты fbus.

Момент завершения каждого цикла преобразования отмечается установкой триггера готовности данных. Если прерывания от модуля АЦП разрешены, то генерируется запрос на прерывания. Как правило, чтение регистра результата сбрасывает триггер готовности.

Большинство модулей АЦП имеет только режим программного запуска: установка одного из битов регистра режима запускает очередное измерение. Наиболее универсальные модули АЦП имеют также режим автоматического запуска, при котором после завершения одного цикла преобразования немедленно начинается следующий. Однако данные измерения каждого цикла должны быть считаны программным способом.

В примере на Рис. 1.26 на втором такте напряжение сравнения равно Uon/2 + Uon/4, на третьем такте — Uon/2 + Uon/8, поскольку на втором такте было установлено, что Uизм < Uon/2 + Uon/4. Интервал преобразования состоит из n тактов: один такт для получения каждого двоичного разряда слова результата. Точность аналого-цифрового преобразования определяется разрешающей способностью блока ЦАП. В разных моделях МК он может быть выполнен на основе матрицы из 256 резисторов равных номиналов, матрицы весовых резисторов R/2R, достаточно часто встречается решение на основе емкостного делителя. Однако во всех моделях МК разрешающая способность ЦАП составляет 8 двоичных разрядов. Соответственно, формат представления результата измерения АЦП — однобайтовый. Исключение составляют лишь модули АЦП микроконтроллеров для управления преобразователями частоты электропривода, разрешающая способность которых равна 10 двоичным разрядам. Два младших разряда результата получают с помощью дополнительного емкостного делителя, не связанного с регистром последовательного приближения. Длительность такта преобразования задает генератор синхронизации: один цикл равен двум периодам частоты генератора tadc. Время преобразования можно рассчитать по формуле tизм = (2n + 1)* tadc, последний цикл необходим для переноса результата в регистр данных АЦП. Частота генератора синхронизации, как правило, не может быть выбрана произвольно.

Цифро-аналоговые преобразователи в составе МК являются большой редкостью. Модули параллельных ЦАП можно встретить лишь в МК фирм Mitsubishi и Hitachi.

Табл. 1.4. Параметры модулей АЦП

Тип МК

Разрешающая способность [бит]

Время преобразования [мкс]

Число каналов

MC68HC705B16 Motorola

8

32

8

МС68НС908JL3 Motorola

8

17

12

MC68HC908MR32Motorola

10

8.5

10

С504 Infineon

8

5

10

PIC16C7lA Microchip

8

16

8

PIC16C774 Microchip

12

24

10

H8/300x Hitachi

10

6.7

8

H8S/2655 Hitachi

10

1.0

8

Ф ункция цифро-аналогового преобразователя реализуется средствами модуля программируемого таймера. На одном из выводов МК формируется высокочастотная импульсная последовательность с регулируемой длительностью импульса. Полученный сигнал сглаживается фильтром нижних частот на операционном усилителе (Рис. 1.27). Разрешающая способность такого ЦАП определяется дискретностью регулирования коэффициента заполнения Y в режиме ШИМ, Как было отмечено выше немногие модели 8-разрядных МК способны реализовать Y с дискретностью более 8 разрядов (Табл. 1.3). Этим вызвана необходимость применения внешних ИС ЦАП. Кроме того, частота ШИМ-сигнала определяет время преобразования ЦАП, этим объясняется особая привлекательность МК с частотой ШИМ в десятки кГц.

7. КОНТРОЛЛЕРЫ ПОСЛЕДОВАТЕЛЬНОГО ВВОДА/ВЫВОДА

Наличие в составе 8-разрядного МК модуля контроллера последовательного ввода/вывода стало настолько обычным явлением, что лишь самые простыв, маловыводные МК в корпусах DIP-16 и DIP-20 не имеют портов последовательного обмена. При анализе структуры более сложных 8-разрядных МК отчетливо прослеживается тенденция наличия в их составе двух контроллеров последовательного обмена, а в некоторых новейших моделях — даже трех (серия AZ семейства НС08 фирмы Motorola). Задачи, которые решаются средствами модуля контроллера последовательного ввода/вывода, могут быть условно разделены натри группы:

* Связь встраиваемой МП-системы с системой управления верхнего уровня: промышленным компьютером, программируемым контроллером, офисным компьютером. Наиболее часто для этих целей используются интерфейсы RS-232C и RS-485.

* Связь с внешними по отношению к МК периферийными ИС встраиваемой МП-системы, а также с датчиками физических величин с последовательным выходом. Для этих целей используются интерфейсы SPI, IIC, а также нестандартные протоколы обмена.

* Интерфейс связи с локальной сетью в мультимикропроцессорных системах. В системах с числом МК до пяти обычно используют сети на основе интерфейсов IIC, RS-232C, RS-485 с собственными сетевыми протоколами верхнего уровня. В более сложных системах все более популярным становится протокол CAN.

С точки зрения инженера-схемотехника упомянутые типы интерфейсов последовательной связи отличаются режимом передачи данных (синхронный или асинхронный), форматом кадра (число бит в посылке при передаче байта полезной информации) и временными диаграммами сигналов на линиях (уровни сигналов и положение фронтов при переключениях). Напротив, число линий, по которым происходит передача в последовательном коде, обычно равно двум (IIC, RS-232C, RS-485) или трем (SPI, некоторые нестандартные синхронные протоколы). Последнее позволяет спроектировать модули контроллеров последовательного обмена таким образом, чтобы с их помощью на аппаратном уровне можно было бы реализовать несколько типов последовательных интерфейсов. При этом режим передачи (синхронный или асинхронный) и формат кадра поддерживаются на уровне логических сигналов, а реальные физические уровни сигналов, характерные для каждого типа интерфейса, получают с помощью специальных ИС, которые носят название приемопередатчиков, конверторов, трансиверов.

Среди не очень большого множества различных типов встроенных контроллеров последовательного обмена, которые входят в состав тех или иных 8-разрядных МК, сложился стандарт "де-факто" — модуль UART (Universal Asynchronous Receiver and Transmitter). В переводе с английского UART — универсальный асинхронный приемопередатчик. Однако большинство модулей UART, кроме асинхронного режима обмена, способны также реализовать режим синхронной передачи данных. Поэтому более правильным с точки зрения терминологии было бы именовать эти модули USART (Universal Synchronous/Asynchronous Receiver and Transmitter) — универсальный синхронно-асинхронный приемопередатчик. Такой термин тоже существует, но вспоминают о нем редко.

Не все производители МК используют термин UART для обозначения типа модуля контроллера последовательного обмена. Так, в МК фирмы Motorola модуль асинхронной приемо-передачи, который поддерживает те же режимы асинхронного обмена, что и UART, принято называть SCI (Serial Communication Interface). Следует отметить, что модуль типа SCI обычно реализует только режим асинхронного обмена, т.е. его функциональные возможности уже по сравнению с модулями типа UART. Однако бывают и исключения: под тем же именем SCI в МК скрывается модуль синхронно-асинхронной передачи данных.

Модули типа UART в асинхронном режиме работы позволяют реализовать протокол обмена для интерфейсов RS-232C, RS-422A, RS-485, в синхронном режиме — нестандартные синхронные протоколы обмена и в некоторых моделях — SPI. МК фирмы Motorola традиционно имеют в своем составе два модуля последовательного обмена:

Модуль SCI с возможностью реализации только протоколов асинхронной приемопередачи для интерфейсов RS-232C, RS-422A, RS-485 и модуль контроллера синхронного интерфейса в стандарте SPI.

П ротоколы интерфейсов локальных сетей на основе МК (IIC и CAN) отличает более сложная логика работы. Поэтому контроллеры CAN интерфейса всегда выполняются в виде самостоятельного модуля. Интерфейс IIC с возможностью работы как в ведущем, так и ведомом режиме также обычно поддерживается специальным модулем (модуль последовательного порта в МК 89С52 фирмы Philips). Но если реализуется только ведомый режим IIC, то в МК Р1С16 Microchip он успешно сочетается с SPI: настройка одного и того же модуля на один из протоколов осуществляется путем инициализации.

Модуль типа UART в максимальной конфигурации обычно реализует два типа протокола обмена в асинхронном режиме (кадр длиною в 10 бит или в 11 бит) и два типа протокола в синхронном режиме (трехпроводный полнодуплексный обмен или двухпроводный полудуплексный обмен). Упрощенная структура модуля типа UART приведена на Рис. 1.28.

Модуль состоит из двух независимых подсистем: передатчика (Transmitter) и приемника (Receiver), поэтому возможен режим одновременной передачи и приема информации в последовательном коде. Основу каждой подсистемы составляет сдвиговый регистр и параллельный регистр буфера данных. Обращение к буферу данных приемника и передатчика осуществляется по одному и тому же адресу, но при выполнении операции записи данные будут помещены в буфер передатчика TDBUF, операции чтения — данные будут считаны из буфера приемника RDBUF.

Передача данных от МК к другому устройству инициируется посредством записи байта данных в регистр TDBUF, Если работа передатчика разрешена (бит ТЕ в регистре управления модулем равен 1), то аппаратные средства модуля загружают содержимое TDBUF в сдвиговый регистр и под управлением генератора скорости обмена биты из сдвигового регистра, начиная с младшего D0, последовательно передаются на вывод TxD MK. По завершении передачи байта данных устанавливается бит TI, который информирует МК о том, что буфер передатчика пуст и в него могут быть загружены новые данные для передачи. Бит TI генерирует запрос на прерывание, если прерывания от передатчика в МК разрешены. Бит TI может также быть считан программно.

Если работа приемника разрешена (бит RE в регистре управления модулем равен 1), то после распознавания стартового бита аппаратные средства приемника преобразуют данные, которые поступают на вход RxD в последовательном коде, в параллельный код. После завершения приема последнего бита в сдвиговом регистре приемника находится принятый байт данных, который автоматически переносится в регистр RDBUF. Одновременно устанавливается в 1 флаг завершения приема RI. Бит RI может быть считан под управлением программы, и, если прерывания от приемника разрешены, генерируется запрос на прерывание. В процессе выполнения подпрограммы обработки прерывания принятый байт данных считывается из регистра данных приемника RDBUF в память МК. Сразу после копирования байта данных из сдвигового регистра в RDBUF приемник может начать формирование следующего байта данных, отдельные биты которого продолжают поступать на вход RxD. Однако необходимо, чтобы центральный процессор МК успел считать данные из буферного регистра RDBUF до завершения формирования в сдвиговом регистре следующего принятого байта. Если этого не произошло, то возникшая аварийная ситуация в модулях UART разрешается различными путями. В модулях SCI фирмы Motorola запись следующего принятого байта в буферный регистр данных не производится и устанавливается флаг ошибки OR (Overrun). Этот флаг наравне с триггером RI может генерировать запрос на прерывание от приемника. В модулях МК Intel MCS-51 и ему полностью аналогичных такая защита отсутствует: следующий принятый байт затирает предыдущий в регистре RDBUF.

Для повышения достоверности приема каждого разряда аппаратные средства модуля UART считывают уровень сигнала на входе RxD три раза в течение интервала присутствия бита. Значение бита, которое будет занесено в младший разряд сдвигового регистра приемника, определяется мажоритарным способом: по принципу два из трех. Модули SCI сообщают пользователю о наличии шума на линии приема: если не все три значения при приеме любого из битов кадра совпали, то устанавливается флаг NE (Noise Error). В модулях UART МК Intel MCS-51 такая защита не предусмотрена.

Подсистемы приемника и передатчика модуля UART не являются полностью автономными. Скорость обмена и формат кадра асинхронной приемопередачи назначаются в процессе инициализации модуля одинаковыми для приемника и для передатчика. Модули UART различных МК предоставляют неодинаковые возможности по регулированию скорости обмена. В МК Intel MCS-51 допускается плавное регулирование с дискретностью, равной периоду частоты тактирования таймера. Для задания скорости обмена используется один канал таймера. Напротив, модуль SCI MK Motorola не использует ресурсы модуля таймера для этих целей. Такой подход, с одной стороны, имеет преимущество по экономии использования ресурсов МК, однако, с другой стороны, не позволяет задать произвольное соотношение между частотой обмена и собственной частотой кварцевого резонатора генератора синхронизации МК. Последнее накладывает ограничения на выбор частоты кварцевого резонатора, если скорость обмена в разрабатываемом устройстве должна соответствовать стандартному ряду.

В се модули типа UART предусматривают два типа кадров асинхронного обмена. На Рис. 1.29, а представлена временная диаграмма 10-битного кадра: 8 бит данных передаются вслед за стартовым битом, начиная с младшего D0; завершает передачу столовый бит. Логические уровни для передачи стартового бита (низкий) и стопового бита (высокий) формируются аппаратными средствами передатчика. Приемник распознает начало передачи нового кадра по изменению уровня сигнала на входе RxD с высокого, который может длиться сколь угодно долго, на низкий. Передаваемая в кадре полезная информация длиною в один байт может кодироваться абсолютно произвольно. Но может быть использовано и стандартное решение, при котором информация кодируется семью битами D6...D0, старший бит D7 используется для контроля правильности приема. С этой целью передающий МК кодирует бит паритета D7 из условия четного (контроль на четность) или нечетного (контроль на нечетность) числа единиц в передаваемом слове, а принимающий МК производит проверку принятого кода в соответствии с выбранным способом кодирования. Если число единиц в принятом байте данных соответствует выбранному способу кодирования, т.е. четноe (нечетное), то передача считается успешной. Следует заметить, что не все модули типа UART 8-разрядных МК имеют опцию автоматического формирования бита паритета. Такие модули не контролируют принятое слово на четность или нечетность аппаратными средствами. Поэтому при необходимости эти операции должны быть реализованы программными средствами. Рассмотренный 10-битный формат кадра наиболее часто используется при организации связи встраиваемой МП-системы с системой управления верхнего уровня.

Временная диаграмма 11 -битного кадра асинхронного обмена представлена на Рис. 1.29, б: 9 бит данных обрамляются одним стартовым и одним стоповым битом. При формировании 9-разрядного слова для передачи сначала старший разряд D8 помещается в бит Т8 одного из регистров управления модулем, а затем младшие разряды D7...DO записываются в обычном порядке в регистр TDBUF. При приеме 9-разрядного слова младшие биты D7...DO размещаются в регистре RDBUF, старший бит D8 передается в разряд R8 одного «регистров управления. Рассматриваемый формат представления кадра обычно используется для организации протокола обмена верхнего уровня в локальных сетях на основе нескольких МК. С этой же целью в модулях UART реализован специальный режим ожидания с механизмом пробуждения (Wake-up).

Н а Рис. 1.30 приведена структура такой локальной сети. Один из МК в этой сети является ведущим, все остальные — ведомыми. В каждый момент времени обмен возможен между ведущим и одним из ведомых, обмен между двумя ведомыми не реализуется. Инициатором обмена всегда является только ведущий. Обмен производится пакетами, каждый из которых включает не менее трех 11 -битных кадров. Первый кадр определяет адрес ведомого МК, с которым будет производиться обмен. Бит D8 этого кадра должен быть равен 1. Следующие кадры используются для обмена данными с выбранным ведомым. Бит D8 этих кадров должен быть установлен в 0. Последний кадр пакета обмена должен содержать 11 нулевых битов. Так как подобная последовательность не может быть сформирована в результате записи в регистр буфера передатчика TDBUF нулевого слова (необходимо также обнулить столовый бит), то для ее воспроизведения предусмотрена специальная опция формирования сигнала "Break". В модулях SCI для ее реализации необходимо установить бит SBK (Send Break) в одном из регистров управления.

Обмен между ведущим и ведомым происходит в следующем порядке:

* В исходном состоянии приемники всех ведомых МК находятся в состоянии ожидания. В этом состоянии прием байта данных осуществляется, но принятое слово переписывается в буферный регистр RDBUF с одновременной установкой в 1 флага завершения приема RI только в том случае, если бит D8 этого слова равен 1. Остальные слова с признаком D8 = 0 игнорируются.

* Ведущий МК посылает всем ведомым одновременно первый кадр пакета обмена. Разряды D7...DO этого кадра содержат адрес ведомого, бит D8 равен 1.

* Все ведомые МК принимают это 9-разрядное слово, и, поскольку разряд D8 кадра равен 1, приемник модуля UART каждого МК выходит из состояния ожидания. Формируется запрос на прерывание. Подпрограмма обработки этого прерывания сравнивает принятый адрес с собственным адресом в локальной сети. Если адреса совпадают, т.е. ведущий будет производить обмен именно с этим ведомым, то МК ожидает передачи от ведомого следующего кадра. Если адреса не совпадают, то МК посредством специального бита управления переводит приемник модуля UART снова в режим ожидания. Тогда все следующие кадры пакета обмена этим МК восприняты не будут, поскольку они содержат нулевой разряд D8. * Ведущий МК передает ведомому необходимое число байтов, сопровождая каждый из них признаком данных D8 = 0. При необходимости ведущий принимает данные от ведомого. О завершении обмена ведущий информирует ведомого посылкой сигнала "Break".

* Ведомый в ответ на сигнал "Break" переводит приемник модуля UART в состояние ожидания. Локальная сеть приведена в исходное состояние и готова к передаче нового пакета. Кроме рассмотренных режимов асинхронного обмена, многие из модулей UART поддерживают режим синхронной приемопередачи. Так, в МК MCS-51 контроллер последовательного интерфейса реализует полудуплексный обмен в синхронном режиме, при котором импульсы синхронизации выдаются на линию TxD, данные передаются или принимаются по линии RxD (Рис. 1.31, а). Важно отметить, что при синхронном обмене модуль UART МК MCS-51 может работать только в ведущем режиме, т.е. именно этот модуль формирует импульсы синхронизации, независимо от направления обмена. Модуль SCI МК МС68 (модуль типа UART) реализует симплексный синхронный обмен, при котором возможно только одно направление передачи данных: из МК к периферийной ИС. Данные выдаются по линии TxD, а импульсы синхронизации по вспомогательной линии SCLK (Рис. 1.31, б).

Особое внимание в настоящее время заслуживают МК с модулями контроллеров CAN сети и модулями нового стандарта интерфейса периферийных устройств персональных компьютеров USB. Каждый из упомянутых интерфейсов имеет несоизмеримо более сложный протокол обмена, многие особенности которого реализуются на аппаратном уровне. Поэтому для ознакомления с этими модулями следует обратиться к специальной литературе.

8. МИНИМИЗАЦИЯ ПОТРЕБЛЕНИЯ ЭНЕРГИИ В СИСТЕМАХ С МК

Одна из основных тенденций развития встраиваемых МП-систем — их миниатюризация, которая требует не только повышения степени интеграции элементной базы с целью сокращения числа ИС системы, но и снижения потребляемой этими ИС мощности. Малая энергия потребления во многих случаях является определяющим фактором целесообразности реализации проектируемого устройства в целом:

* С одной стороны, лавинообразно нарастает число устройств с автономным питанием, которые принципиально могут быть выполнены только на основе элементной базы с малым потреблением энергии.

* С другой стороны, даже при работе в составе изделий с питанием от бытовой или промышленной сети микропроцессорный контроллер должен занимать жестко ограниченный объем, что реализуемо при малой рассеиваемой мощности микропроцессорного контроллера и, как следствие, малых размерах источника питания.

Современные МК имеют несколько режимов работы, которые различаются не только алгоритмами функционирования МК, но и мощностью потребления:

* Активный режим (Run mode) — основной режим работы МК. В этом режиме МК выполняет прикладную программу, т.е. управляет объектом. В активном режиме функционируют все ресурсы МК. В этом режиме МК потребляет максимальную мощность Рrun.

*Режим ожидания (Walt mode, или Idle mode, или Halt mode). В этом режиме прекращает работу центральный процессор, но продолжают работу периферийные модули, которые отслеживают поведение объекта управления. При необходимости периферийные модули переводят МК в активный режим работы и программа управления вычисляет корректирующие воздействия для управления объектом. Перевод МК из режима ожидания в рабочий режим осуществляется по прерываниям от внешних источников или от периферийных модулей либо при сбросе МК. В режиме ожидания мощность потребления МК Pwait снижается по сравнению с Рrun в 5...10 раз.

* Режим останова (Stop mode для МК фирмы Motorola, или Sleep mode для МК фирмы Microchip, иногда Power Down mode). В этом режиме прекращает работу, как центральный процессор, так и большинство периферийных модулей. Как правило, переход МК из режима останова в рабочий режим возможен только по запросам на прерывание от внешних источников или после подачи активного уровня сигнала на вход сброса. В режиме останова мощность потребления МК Рstop снижается по сравнению с Рrun на три порядка и составляет единицы мкВт. Два последних режима носят название режимов пониженного энергопотребления МК. Минимизация энергии потребления встраиваемой МП-системы достигается оптимизацией мощности потребления МК в активном режиме работы, а также чередованием во времени активного режима работы МК и режимов пониженного энергопотребления. Мощность потребления МК в активном режиме работы является одной из важных технических характеристик МК. Однако она не является величиной постоянной и зависит от напряжения питания МК и частоты тактирования.

Независимо от фирмы-производителя 8-разрядные МК имеют три группы исполнения по напряжению питания. К первой группе относятся МК с напряжением питания 5.0 В ± 10%. Эти МК предназначены для работы в составе устройств с питанием от промышленной или бытовой сети. Как правило, это МК средней или высшей группы сложности, с достаточно высоким уровнем потребляемой мощности вследствие развитых функциональных возможностей, Вторая группа — МК с расширенным диапазоном напряжения питания: от 2.0...3.0 В до 5.0...7.0 В. Конкретные значения напряжений верхней и нижней границ определяются моделью МК. МК второй группы могут работать в составе устройств, как с сетевым, так и с автономным питанием. Нередки случаи их использования в изделиях со встроенным источником бесперебойного питания, которые автоматически переходят на питание от аккумуляторов при снижении напряжения сети. К третьей группе относятся МК с пониженным напряжением питания: от 1.8 до 3.0 В. Эти МК предназначены для работы в переносных изделиях с автономным питанием, т.к. имеют ток потребления в 3 раза меньший, чем аналогичные МК первой группы и, следовательно, обеспечивают экономный расход энергии элемента питания.

Учитывая, что для вторичных источников питания обычно приводится значение максимального тока нагрузки при заданном уровне напряжения на выходе, а запас энергии автономных источников оценивается в Ахч, мощность потребления МК принято косвенно характеризовать током потребления при заданных значениях напряжения питания и частоты синхронизации. В Табл. 1.5 приведены значения тока потребления в активном режиме работы ряда МК с близкими функциональными возможностями. Для сопоставимости результатов частота тактирования МК выбрана одинаковой, несмотря на то что для МК НС08 фирмы Motorola, SX28 фирмы Scenix и AVR фирмы Atmel она является далеко не предельной.

З ависимость тока потребления от напряжения питания МК в первом приближении можно рассматривать как прямо пропорциональную (Рис. 1.32). Поэтому снижение напряжения питания весьма существенно понижает мощность потребления МК. Однако следует помнить, что для многих типов МК с понижением напряжения питания уменьшается максимально допустимая частота тактирования fbus, т.е. выигрыш в потребляемой мощности оборачивается снижением производительности системы. Так, для МК семейства НС08 фирмы Motorola переход от напряжения питания Udd = 5.0 В к Udd = 3.0 В сопровождается снижением допустимой частоты тактирования от fbus = 8 МГц до fbus = 4 МГц. А для МК семейства НС05 при напряжении питания Udd = 5.0 В максимальная частота тактирования составляет fbus = 4 МГц, при Udd = 3.0 В — fbus = 2 МГц, а при Udd= 1.8 В — всего 500 кГц. Впрочем, ограничение fbus, если таковое имеется, носит ступенчатый характер, и для многих моделей МК возможен режим работы: Udd < Uddmax, fbus= fbusmax.

П ри одном и том же напряжении питания ток потребления МК в значительной степени зависит от частоты тактирования fbus (Рис. 1,33). Поэтому, выбирая частоту тактирования, следует, в том числе преследовать цель снижения мощности потребления. Не следует стремиться к предельно высокому быстродействию МК в задачах, которые этого не требуют. Выбор частоты тактирования МК во многих случаях определяется не только соображениями вычислительной производительности. Часто определяющим фактором оказывается разрешающая способность измерителей временных интервалов на основе таймера или скорость передачи последовательного интерфейса. Но в любом случае следует детально оценить требуемую частоту тактирования, а затем выбрать fbus с некоторым запасом. При таком подходе технические условия проекта будут выполнены и устройство будет экономно расходовать энергию.

Современные МК не имеют нижней границы частоты тактирования. Желая подчеркнуть данную особенность, в справочных данных указывают, что минимальная частота тактирования равна dc (direct current), т.е. сколь угодно низкая. Это в том числе означает, что при отладке системы пользователь может тактировать МК от кнопки с антидребезговым триггером, выполняя программу по шагам. Мощность потребления МК при низких частотах тактирования в справочных данных отражает ток потребления при fosc = 32.768 кГц (Табл. 1.5).

В большинстве моделей МК частота тактирования определяется внешним времязадающим элементом: кварцевым или керамическим резонатором, RC-цепью. Причем частота времязадающего элемента и частота тактирования fbus жестко связаны коэффициентом деления встроенного делителя частоты. Поэтому изменение частоты в процессе выполнения программы управления не представляется возможным. Однако ряд последних семейств МК некоторых фирм (НС08 Motorola, DS87C530) имеет в своем составе систему тактирования основанную на принципе синтезатора частоты с контуром фазовой автоподстройки (PLL — phase loop lock). Такая система работает как умножитель частоты и позволяет иметь в качестве времязадающего элемента низкочастотный кварцевый резонатор, что снижает уровень электромагнитного излучения при его работе. Коэффициенты деления контура PLL подлежат программированию и, следовательно, могут быть изменены под управлением программы. Последнее создает возможность изменения частоты тактирования с целью снижения мощности потребления МК в промежутки времени, когда высокое быстродействие не требуется.

Табл. 1.5. Ток потребления некоторых МК

Тип МК

Структура

Число вывод-ов корпу-са

Ток потребления[мА] (Udd=5.0В,

(fbus=4МГц)

Ток потребле-ния[мкА] Udd=5.0,

fosc=32 кГц

МС68НС705Р6А

Motorola

4.6K ПЗУ, 176 ОЗУ, 20 вх./вых., таймер, 4 канала АЦП, последовательный порт SPI

28

4,0

-

MC68HC908JL3

Motorola

4К ПЗУ, 128 ОЗУ, 23 вх./вых., таймер, 12 каналов АЦП

28

4.0

-

РIС16С72-04

Microchip

2К ПЗУ, 128 ОЗУ, 20 вх./вых., таймер, 5 каналов АЦП, последовательный порт SPI/IIC

28

5.0

150

PIC16C72.10/20A

Microchip

2К ПЗУ, 128 ОЗУ, 20 вх./вых таймер, 5 каналов АЦП, последовательный порт SPI/IIC

28

2.7

120

SX28 Scenix

2КПЗУ,13603У,20вх./вых.

28

6.0

-

MC68HC705KJ) Motorola

1.2КПЗУ.6403У, 10 ВХ./ВЫХ., таймер

16

4.5

25

PIC16C54(56)

Microchip

1КПЗУ,2503У,12вх./вых.,таймер

18

3.3

15

AT90S23131 Atmel

1КПЗУ, 128 ОЗУ, 15 вх./вых., 2 таймера, UART

20

2.5

-

Кроме динамического управления частотой тактирования, возможно также отключение некоторых периферийных модулей МК в процессе выполнения программы. Так, если информация о состоянии объекта управления снимается редко, то модуль АЦП следует подключать только на время его работы. Аналогичное решение может быть применено и к другим модулям, в том числе к модулю энергонезависимой памяти EEPROM.

Многие приборы на основе 8-разрядных МК устроены таким образом, что в течение длительного времени выполнение программы МК не требуется вовсе. Для иллюстрации приведем два примера.

И менно для таких случаев предусмотрены режимы пониженного энергопотребления МК, которые, в отличие от рассмотренных выше мер снижения мощности потребления, обязательно предполагают останов выполнения программы центральным процессором. Так, в примере 1 после выполнения очередного действия следует перевести МК в режим останова (Stop mode). Выход из этого режима будет осуществлен по запросу на прерывание при нажатии любой клавиши пульта управления. В примере 2 программа управления должна выполняться в начале каждой минуты. Если для отсчета интервала времени, равного минуте, используется внутренний таймер, то в промежутках между вычислениями МК может быть переведен только в режим ожидания (Wait mode), т.к. в этом режиме остаются работоспособными периферийные модули МК (Рис. 1.34). Для достижения более существенной экономии энергии следует перевести МК в режим останова, но при этом придется воспользоваться внешней времязадающей схемой. Для снижения мощности потребления в современных МК предусмотрена возможность программного отключения периферийных модулей в режиме ожидания. Комбинация оставшихся в работе модулей определяет ток потребления в режиме ожидания. Поэтому при описании некоторых МК (например, MSP430 фирмы Texas Instruments) речь идет о множестве режимов пониженного энергопотребления.

В некоторых МК для режима останова имеется опция, которая позволяет оставить в работе генератор кварцевого резонатора и один времязадающий модуль. Так, в МК семейства НС08 фирмы Motorola остается в работе модуль базового таймера ТВМ08, а в МК семейства Р1С16 фирмы Microchip — модуль сторожевого таймера. Первое из упомянутых решений несколько более удобно, т.к. позволяет не объединять алгоритм обслуживания сброса по зависанию системы (сработал сторожевой таймер) и алгоритм обслуживания периферии через равные интервалы времени.

Кроме очевидного различия в функционировании периферийных модулей, режимы ожидания и останова отличаются также характером процесса перехода из режима пониженного энергопотребления в активный режим работы. Выход из режима ожидания происходит в течение 3...5 периодов синхронизации МК, в то время как задержка выхода из режима останова составляет несколько тысяч периодов синхронизации МК. Причем если тактирование МК осуществляется от низкочастотного кварцевого резонатора с последующим умножением частоты внутренними средствами МК, то под периодом синхронизации следует понимать период колебания кварцевого резонатора. Кроме очевидного неудобства плохой динамики системы, находящейся в состоянии останова, такое большое время перехода в активный режим работы является причиной дополнительного расхода энергии (Рис. 1.35). В МК MSP430 с ультранизким потреблением энергии дополнительная экономия энергии достигается за счет сокращения времени перехода из режима низкого энергопотребления в активный режим работы. Это позволяет МК MSP430 работать в составе счетчика тепловой энергии при автономном питании в течение 10 лет без замены батареек.

Не все МК имеют именно два режима пониженного энергопотребления. Так, в МК семейства Р1С16 реализуется только один режим Sleep (дословно — "спящий режим"), а в МК MSP430 — пять режимов низкого энергопотребления LPO...LP4. Но хотя бы один режим пониженного энергопотребления имеют все современные МК.