Лекция 25: Элементная база интеллектуальных сенсоров. Часть 1
25.4. Микрокомпьютеры
"Мозгом" интеллектуального сенсора является микрокомпьютер ( микропроцессор, микроконтроллер, микроконвертор ). Каждый из них – это настоящее чудо современной электронной техники, универсальный преобразователь информации. Именно он и позволяет сделать сенсор "умным", интеллектуальным.
Термин " микрокомпьютер " ныне не является однозначно определенным. Микрокомпьютерами называют сейчас и маленькие карманные персональные компьютеры, микрокалькуляторы и любые другие информационные устройства малых размеров, выполненные на базе микропроцессоров. В данной работе термином " микрокомпьютер " мы обозначаем универсальный преобразователь информации, выполненный на одном кристалле или в виде одной микросхемы, который является "алгоритмически полным", т.е. теоретически по соответствующей программе может выполнять любые преобразования информации.
" Микропроцессор " – это сформированное на одном кристалле или в виде одной микросхемы устройство для обработки информации, не обязательно универсальное. Он может быть специализирован на эффективное быстрое выполнение лишь какого-то одного класса функций, например, лишь на распознавание слов-паролей или правильности формата сообщения, на перекодировку сигналов, на их специализированное форматирование. Микропроцессор не обязательно должен иметь внутреннюю память программ или узлы приема и выдачи данных, – он должен лишь обрабатывать, преобразовывать данные, выполнять над ними определенные операции.
" Микроконтроллер " – это выполненное на одном кристалле или в виде одной микросхемы устройство для переработки информации и автоматического управления на основе этой информации разными устройствами. В его состав обязательно входят память программ и данных, узлы приема и выдачи данных, таймеры, часто АЦП, ЦАП и т.п.
" Микроконвертор " – это выполненная в виде микросхемы комплектная система сбора и обработки данных, состоящая из аналого-цифровых и цифро-аналоговых преобразователей, эталонных источников напряжения, датчика температуры, таймеров, монитора источника питания, встроенного микроконтроллера и имеющая значительный объем памяти данных, памяти программ и т.п.
25.4.1. 4-разрядные микроконтроллеры
Электронная промышленность выпускает ныне сотни разных типов микрокомпьютеров, микропроцессоров, микроконтроллеров, микроконверторов. В интеллектуальных сенсорах чаще всего используют микроконтроллеры и микроконверторы. Для простейших применений популярными являются малопотребляющие 4-разрядные микроконтроллеры семейства MARC4 фирмы Atmel. В них на одном кристалле вместе с микропроцессором сформированы память программ на 8К, 256 бит статической памяти данных, энергонезависимая память данных EEPROM, параллельные порты приема/выдачи данных, 8-разрядные таймеры/счетчики, тактовый генератор, супервизор напряжения, синхронный последовательный интерфейс. Встроенный контроллер прерываний имеет несколько уровней приоритета и позволяет быстро обслуживать до 14 запросов на прерывание. Микроконтроллеры этого семейства выпускаются в двух версиях. Микросхемы T48Cx9x (MTP/Flash версия) используют в экспериментальных и исследовательских образцах сенсоров, поскольку эти микроконтроллеры позволяют относительно легко изменять программу своей работы без снятия с платы сенсора. А для серийного выпуска используют аналогичные микросхемы M44Cx9x – H/M44Cx9x-V (ROM версия), заметно более дешевые, в которые программа работы записывается при изготовлении раз навсегда.
25.4.2. 8-разрядные микроконтроллеры
Но наиболее широкое применение находят 8-разрядные микроконтроллеры архитектуры С51, разработанной в свое время фирмой Intel. Основными производителями таких микроконтроллеров на мировом рынке являются фирмы Philips, Atmel, Siemens, Intel, Winbond, Dallas, OKI, Cygnal и прочие.
Например, микроконтроллер MSP430F449 фирмы Texas Instruments очень хорошо приспособлен для использования в портативных приборах. Он имеет малые габариты. Напряжение питания может колебаться в широких пределах – от 1,8 до 3,6 В, а ток питания составляет 0,25 мА в активном режиме (в "экономном" режиме лишь 1 мкА). Микроконтроллер MSP430F449 имеет в своем составе 12-разрядный АЦП и может выполнять до 4 млн. операций за секунду, что обеспечивает высокие точность и темп измерений. Имеется и внутренняя энергонезависимая память объемом 60 килобайт, которой достаточно для сохранности результатов тысяч измерений.
Из большой номенклатуры 8-разрядных микроконтроллеров можно выбрать оптимальный для каждого применения вариант с требуемой тактовой частотой (от единиц до сотен МГц), с нужными объемом и типом памяти программ и данных (оперативная, постоянная, электрически программируемая, флэш, энергонезависимая, и т.п.), количеством внешних выводов, с нужным количеством встроенных АЦП, таймеров/счетчиков, узлов внешнего интерфейса и т.п. Можно выбрать и любое конструктивное исполнение – бескорпусное, в мини-корпусе, в пластмассовом или металлическом корпусах разного типа. Ряд микроконтроллеров можно программировать и перепрограммировать через разные коммуникационные каналы непосредственно на рабочей плате, в том числе и в ходе эксплуатации. Некоторые типы микроконтроллеров этого семейства поддерживают даже и функцию "самоперепрограммирования", т.е. способны без внешнего программатора сами изменять алгоритм своего функционирования, реагируя на какие-то заведомо обусловленные события. Для этого микроконтроллер записывает новые коды в свою флэш-память программ. Эти новые коды (другие версии программы) должны быть заведомо записаны в доступной микроконтроллеру памяти.
Среди микроконверторов одними из наилучших считают ныне микроконверторы фирмы Analog Devices. Их параметры приведены в табл. 25.2 [ [ 258 ] ]. Они допускают частоту тактовых импульсов до 25 МГц при напряжении питания 5 В и до 16 МГц – при напряжении питания 3 В. В зависимости от потребности частота тактовых импульсов регулируется автоматически, что позволяет минимизировать потребляемую мощность. В микроконверторах реализованы три типа интерфейсов: UART, SPI и I2C. Это позволяет осуществить соединение с ПЭВМ, сетями связи и работать непосредственно на матричный индикатор.
Значительным преимуществом в применении микроконверторов ADuС является наличие удобных отладочных плат, что позволяет сократить срок разработки исследовательских образцов портативных сенсоров и осуществлять отладку и рабочее программирование их в производстве. Отладочная плата Quick Start (EVAL – ADuС 812 QS) содержит интерфейс RS-232, внешнюю память 32 К SRAM, аналоговые входы/выходы, блок питания. Плата сопровождается полным программным обеспечением: ассемблером, Си-компилятором, симулятором, загрузчиком и дебаггером под Windows. Наладочный набор QuickStart-Plus обеспечивает все необходимые процедуры по программированию, тестированию и созданию базовых приложений на СИ или ассемблере. Набор содержит Си-компилятор, макроассемблер, симулятор и эмулятор, а также специальную оценочную плату и интерфейс RS-232 для соединения с ПК.
В качестве примера рассмотрим немного детальнее микроконвертор ADuС 812. Его основные параметры приведены в табл. 25.3. Производительность его процессора указана в единицах "MIPS" (Mega Instructions Per Second – миллион операций в секунду). Микроконвертор состоит из 8-разрядного вычислительного ядра, памяти программ и данных, трех 16-разрядных таймеров/счетчиков, "дежурного" таймера, монитора источника питания и периферийных микроконтроллеров, которые реализуют три типа внешних интерфейсов: UART, SPI, I2C. В контроллере есть 32 программируемых входа/выхода. Они скомпонованы в четыре 8-разрядных порта, из которых порт 3 (Р3) имеет повышенную нагрузочную способность.
Вмонтированный блок прерываний обрабатывает с двумя уровнями приоритета прерывания от девяти источников: от монитора источника питания, АЦП (сигнал окончания преобразований), от трех таймеров, двух внешних источников (INT0, INT1), от UART – порта и от интерфейса SPI/I2C.
Память контроллера состоит из вмонтированной флэш-памяти (8 Кбайт – память программ, 640 байт – память данных) и RAM-памяти (256 байт – память данных) и из внешней памяти (16 Мбайт данных и 64 Кбайт программ). Микроконтроллер оснащен внутренним температурным датчиком, который контролирует окружающую температуру.
Каждый из таймеров состоит из двух 8-разрядных регистров и может быть использован как таймер и как счетчик. Таймеры 0 и 1 при переполнении генерируют сигнал прерывания. Предусмотрены три входа (Т0, Т1, Т2) для внешних тактовых импульсов. "Дежурный" таймер предназначен для формирования внутреннего сигнала сброса в случае, если "зависает" программа или возникает программная или аппаратная ошибка. Тактовая частота "дежурного" таймера составляет 64 кГц. Продолжительность контролируемого интервала – от 16 до 204 мс.
Обмен данными с внешними устройствами осуществляется через четыре 8-разрядных порта общего назначения. Порты 0, 2 и 3 – двунаправленные. Все порты содержат исходный регистр-"защёлку" и входной буфер. Порт 1 – входной. UART-порт обеспечивает полнодуплексный асинхронный прием и передачу данных. Обмен данными внутри микроконвертора осуществляется через двухпроводный интерфейс I2C.
Монитор источника питания осуществляет контроль за напряжением питания аналоговых и цифровых схем в диапазоне от 2,6 до 4,6 В, критическое значение задает пользователь.
25.4.3. 16-разрядные микроконтроллеры
Среди 16-разрядных микроконтроллеров следует обратить внимание разработчиков портативных интеллектуальных сенсоров на семейство MSP430 компании Texas Instruments с рекордно малым энергопотреблением, RISC (Reduced Instruction Set Computer) архитектуры, что способствует повышению быстродействия процессора, и с довольно развитой периферией на том же кристалле. При работе на полную мощность микроконтроллер потребляет ток 250-400 мкА. Когда внешняя периферия (АЦП, таймеры, жидкокристаллический индикатор, порты входа/выхода) работают автономно, процессор можно временно выключать командой "CPU оff", – ток питания уменьшается при этом до 30 мкА. Тактовую частоту можно программно изменять от 32 кГц до 1 МГц , исходя из реальных потребностей текущего режима работы, экономя ресурс батареи питания. В режимах, когда нет необходимости в тактовой частоте (напр., при ожидании какого-то внешнего сигнала), генератор этой частоты тоже можно программно выключить, тогда ток питания падает до 0,8 мкА. Возвращение в нормальный режим происходит довольно быстро с помощью прерывания (за 6 мкс).
Разные микросхемы семейства микроконтроллеров MSP430 (от MSP430F1101A до MSP430FW427) имеют внутреннюю оперативную память от 128 до 2048 байт, флэш-память от 1 до 60 кб, от 14 до 48 внешних выводов, 10- или 12-разрядный ЦАП и т.п.