Краткое описание особенностей микроконтроллеров
КРАТКОЕ ОПИСАНИЕ ОСОБЕННОСТЕЙ МИКРОКОНТРОЛЛЕРОВ
Intel
Например микроконтроллер MCS 51
- является 8-и битными
- у приведенных в таблице микроконтроллеров 35 инструкции в языке программирования
- двухуровневая система прерываний
- порты ввода-вывода: 2*32 разряда
- встроенный булевый процессор
Рекомендуемые материалы
- защита памяти (в маркировке это отражают буквы: А - аппаратная защита, В – кодирование паролем)
- битная адресация памяти
- full-duplex последовательный интерфейс
Motorola
На примере контроллеров МТ 8885 (телефоны, мини-АТС), МТ 9092 (телефон в одной микросхеме)
МТ 8885:
• приемо-передатчик DTMF-тонов
• аппаратный помехоустойчивый распознаватель DTMF (технология SMART)
• функция PowerDown (переход в спящий режим)
• дополнительные модули
МТ 9092:
• контроллер микрофона
• контроллер клавиатуры
• усилитель микрофона
• усилитель спикерфона
• АОН входных - выходных звонков
• стандартный Intel 51 совместимый порт
Microchip
РIС - контроллеры (Peripheral Interface Controller)
Отличительные характеристики
Гарвардская архитектура - раздельные области и шины памяти для команд и данных (распараллеливание обращения к данным и командам).
Двухступенчатый конвейер (обеспечивает выполнение одной команды и выборку следующей).
Команда выполняется за один цикл, кроме команд условного и безусловного перехода: они выполняются за два цикла.
Система команд высоко симметрична (любая операция над любым регистром с применением о способа адресации). Симметрия упрощает программирование и сокращает объем программы, а следовательно, повышается производительность.
Память в кристалле снабжена битом защиты.
Конструктивные особенности исполнения контроллеров
Применение микроконтроллеров Microchip:
• интеллектуальные порты
• обработка звука и аналогового сигнала (АЦП/ЦАП)
• таймеры, счетчики, часы
• контроллеры клавиатуры
• знако-светоиндикация
• управление нагрузкой
• работа с интеллектуальными датчиками
• оконечные устройства
• конечные автоматы
• Расширенный модуль I2C (промышленный стандарт обмена данными внутри одного устройства)
• Модуль РWRТ
Таймер включения питания обеспечивает задержку в 72мс (номинальное значение) по сигналу схемы сброса РОR. Таймер включения питания работает от внутреннего RС генератора и удерживает микроконтроллер в состоянии сброса по активному сигналу от РWRТ. Задержка РWRТ позволяет достигнуть напряжению VDD номинального значения.
Битом - РWRТЕ в слове конфигурации можно выключить (-РWRТЕ=1) или включить (-РWRТЕ=0) таймер включения питания. Время задержки РWRТ варьируется в каждом микроконтроллере и зависит от напряжения питания и температуры.
• Модуль ОSТ
Таймер запуска генератора обеспечивает задержку в 1024 такта генератора (вход OSС1) после окончания задержки от РWRТ (если она включена). Это гарантирует, что частота кварцевого/керамического резонатора стабилизировалась. Задержка OSТ включается только в режимах НS, ХТ и LР тактового генератора после сброса РОR или выхода микроконтроллера из режима SLЕЕР.
• Модуль РОR
Интегрированная схема POR удерживает микроконтроллер в состоянии сброса, пока напряжение VDD не достигнет требуемого уровня (от 1.2В до 1.7В). Для включения схемы POR необходимо соединить вывод -МСLR с VDD через резистор, не требуя внешней RС цепочки, обычно используемой для сброса. Максимальное время нарастания VDD смотрите в разделе «электрические характеристики». Схема POR не выполняет сброс микроконтроллера при снижении напряжения VDD. Когда микроконтроллер переходит в режим нормальной работы из состояния сброса, рабочие параметры (напряжение питания, частота, температура и т.д.) должны соответствовать указанным в разделе «электрические характеристики». Если рабочие параметры не удовлетворяют требованиям, микроконтроллер должен находиться в состоянии сброса.
• Модуль WDТ
Встроенный сторожевой таймер WDТ (Watch Dog Timer) работает от отдельного RС генератора, не требующего внешних компонентов. Это позволяет работать сторожевому таймеру WDТ при выключенном тактовом генераторе (выводы OSC1, OSC2) в SLЕЕР режиме микроконтроллера. В нормальном режиме работы при переполнении WDТ происходит сброс микроконтроллера. Если микроконтроллер находится в SLЕЕР режиме, переполнение WDТ выводит его из режима SLЕЕР с продолжением нормальной работы. WDТ выключен, если WDТЕ = 0 в слове конфигурации.
Время переполнения зависит от температуры, напряжения питания VDD. И разброса технологических параметров микроконтроллера. Если требуется большее время переполнения WDТ, необходимо программно подключить предделитель в регистре OPTION_REG с максимальным коэффициентом деления 1:128.
• Модуль программной защиты кода
Если защита кода программы (ЕЕРRОМ памяти данных) не была включена, то память программ (ЕЕРRОМ память данных) может быть прочитана для проверки программирования.
• Модуль выбора режима работы тактового генератора
Работа ССР в режиме ШИМ
В режиме ШИМ модуль ССР формирует на выводы ССР1 ШИМ - процесс с 10-битной точностью установки длительности импульса и периода.
Период ШИМ - рассчитывается по формуле:
PWMper = 4*(PR2+1)*Tosc*TMR2presc
Длительность ШИМ- импульса задается значением регистра ССРR1L и двух бит ССР1СОN<5:4>:
PWMimp = (ССРR1L:ССР1СОN<5:4>)*Tosc*TMR2presc
и может быть обновлена в любой момент, однако изменение производится также как и для периода ШИМ в момент окончания формирования периода (т.е. когда ТМR2 = РR2). При этом значение ССРR1L переписывается в регистр ССРR1H и 2-битную защелку для хранения всего 10-битного значения.
В случае если длительность ШИМ - импульса больше периода, сброс вывода порта в 0 не производится. Таким образом, для перевода, модуля ССР в режим ШИМ необходимо выполнить следующие операции:
• Установить период ШИМ - сигнала записью соответствующего значения в регистр РR2;
• Установить длительность ШИМ - импульса с помощью регистра ССРR1L и 2-х битов ССР1СОN<5:4>;
• Конфигурация вывода ССР1 в режим вывода сбросом бита ТRISC<2> в регистре конфигурации порта С;
• Установить значение предделителя ТМR2 и включить ТМR2 установкой бита ТМR2ОN(Т2СОN<2>);
• Сконфигурировать модуль ССР в режим ШИМ установкой требуемых битов ССРхМЗ...ССРхМ0.
Схема модуля ССР в режиме ШИМ
Модуль ССР1:
Регистр ССРR1 модуля ССР состоит из двух 8-разрядных регистров: ССРR1L (младший байт), ССРК1Н (старший байт). В регистре ССР1СОN находятся управляющие биты модуля ССР1, доступные для записи и чтения. В режиме сравнения триггер специального события сбрасывает таймер ТМR1.
Модуль ССР2:
Регистр ССРR2 модуля ССР состоит из двух 8-разрядных регистров: ССРR2L (младший байт), ССРR2Н (старший байт). В регистре ССР2СОN находятся управляющие биты модуля ССР2, доступные для записи и чтения. В режиме сравнения триггер специального события сбрасывает таймер TМR1 и запускает преобразование АЦП (если АЦП включено).
• Режим пониженного энергопотребления SLЕЕР
Переход в режим энергосбережения происходит по команде SLЕЕР. При переходе в режим SLЕЕР сторожевой таймер WDТ сбрасывается, но продолжает работать. В регистре STATUS бит –РD сбрасывается в '0', бит -ТО устанавливается в '1', тактовый генератор микроконтроллера выключен. Порты ввода/вывода остаются в том же состоянии, что и до выполнения команды SLЕЕР (высокий уровень, низкий уровень, третье состояние).
Для снижения энергопотребления в SLЕЕР режиме все каналы ввода вывода должны быть подключены к VDD или VSS при отсутствии токов из внешней схемы через выводы портов, выходы модуля компараторов и источника опорного напряжения выключены. Выводы находящиеся в третьем состоянии должны иметь высокий или низкий уровень сигнала, чтобы избежать токов переключения входных буферов. Вход Т0СК1 должен быть подключен к VDD или VSS для снижения энергопотребления. Должны учитываться внутренние подтягивающие резисторы, включенные на входах РОRТВ. На входе -МСLR должен быть высокий уровень сигнала.
У контроллеров с буквой 'L' в маркировке самое низкое энергопотребление.
Пример потребления контроллером РIС16F877:
при тактовой частоте 4 МГц и UDD = 3 В потребляет < 0.6 мА
при тактовой частоте 32 кГц и UDD =3 В потребляет 20 мкА (меньше в 30 раз)
Порт А (РОRТА): цифровой ввод-вывод, входы АЦП и таймеров. Выходы с открытым коллектором для управления нагрузкой (6 выводной).
Все каналы РОRTA имеют соответствующие биты направления в регистре TRISA, позволяющие настраивать канал как вход или выход. Запись '1' в TRISA переводит соответствующий выходной буфер в 3-е состояние. Запись '0' в регистр ТRISА определяет соответствующий канал как выход, содержимое защелки РОRТА передается на вывод микроконтроллера (если выходная защелка подключена к выводу микроконтроллера).
Порт В (РОRТВ): управление клавиатурой, внешнее прерывание, низковольтное программирование.
Вам также может быть полезна лекция "1.4. Система кодирования".
РОRТВ – 8-разрядный двунаправленный порт ввода/вывода. Биты регистра ТRISB определяют направление каналов порта. Установка бита в ‘1’ регистра ТRISB переводит выходной буфер в 3-е состояние. Запись '0' в регистр ТRISB настраивает соответствующий канал как выход, содержимое защелки РОRТВ передается на вывод микроконтроллера (если выходная защелка подключена к выводу микроконтроллера).
Три вывода РОRТВ мультиплицированы со схемой низковольтного программирования: RВЗ/РGМ, RВ6/РGС, RВ7/РGD.
Порт С (РОRТС): цифровой ввод-вывод (байтовый). Шины SPI, I2C, USART.
Биты регистра TRISC определяют направление каналов порта. Установка бита в ‘1’ регистра TRISC переводит выходной буфер в 3-е- состояние. Запись ‘0’ в регистр TRISC настраивает соответствующий канал как выход, содержимое защелки РОRТС передается на вывод микроконтроллера (если выходная защелка подключена к выводу микроконтроллера).
Выводы РОRТС мультиплицированы с несколькими периферийными модулями. На каналах РОRТС присутствует входной буфер с триггером Шмидта.
Порты D и Е (РОRТD, РОRТЕ): программно реализуемый параллельный порт.