Get Adobe Flash player
    Принимаются SMS-пожертвования на развитие ресурса     Копирование материалов     разрешено с обязательной ссылкой     на этот сайт     Принимаются SMS-пожертвования на развитие ресурса    

Микроконтроллеры

Сравнительная таблица популярных контроллеров Atmel

Серия AVR

atmega1

Серия picopower

atmega2

Серия Attiny

atmega3

Более подробную информацию можно найти в каталоге «Atmel Product Guide»

AVR

AVR — семейство восьмибитных микроконтроллеров фирмы Atmel.

Микроконтроллеры AVR имеют гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC. Процессор AVR имеет 32 8-битных регистра общего назначения, объединённых в регистровый файл. В отличие от «идеального» RISC, регистры не абсолютно ортогональны:

  • Три «сдвоенных» 16-битных регистра-указателя X (r26:r27), Y (r28:r29) и Z (r30:r31);
  • Некоторые команды работают только с регистрами r16…r31;
  • Результат умножения (в тех моделях, в которых есть модуль умножения) всегда помещается в r0:r1.

Система команд

Система команд микроконтроллеров AVR весьма развита и насчитывает в различных моделях от 90 до 133 различных инструкций. Большинство команд занимает только 1 ячейку памяти (16 бит). Большинство команд выполняется за 1 такт.

Всё множество команд микроконтроллеров AVR можно разбить на несколько групп:

  • команды логических операций;
  • команды арифметических операций и команды сдвига;
  • команды операции с битами;
  • команды пересылки данных;
  • команды передачи управления;
  • команды управления системой.

Управление периферийными устройствами осуществляется через адресное пространство данных. Для удобства существуют «сокращённые команды» IN/OUT.

Семейства микроконтроллеров

Стандартные семейства:

  • tinyAVR (ATtinyxxx):
    • Флеш-память до 16 Кб; SRAM до 512 б; EEPROM до 512 б;
    • Число линий ввод-вывода 4–18 (общее количество выводов 6–32);
    • Ограниченный набор периферийных устройств.
  • megaAVR (ATmegaxxx):
    • Флеш-память до 256 Кб; SRAM до 8 Кб; EEPROM до 4 Кб;
    • Число линий ввода-вывода 23–86 (общее количество выводов 28–100);
    • Аппаратный умножитель;
    • Расширенная система команд и периферийных устройств.
  • XMEGA AVR (ATxmegaxxx):
    • Флеш-память до 384 Кб; SRAM до 32 Кб; EEPROM до 4 Кб;
    • Четырёхканальный DMA-контроллер;
    • Инновационная система обработки событий.

На основе стандартных семейств выпускаются микроконтроллеры, адаптированные под конкретные задачи:

  • со встроенными интерфейсами USB, CAN, контроллером LCD;
  • со встроенным радиоприёмопередатчиком — серии ATAхxxx, ATAMxxx;
  • для управления электродвигателями — серия AT90PWMxxxx;
  • для автомобильной электроники;
  • для осветительной техники.

Версии контроллеров

AT(mega/tiny)xxx — базовая версия.
ATxxxL — версии контроллеров, работающих на пониженном (Low) напряжении питания, обычно 1,8 или 2,7 В.
ATxxxP — малопотребляющие версии (до 100 нА в режиме Power-down), применена технология picoPower (анонсированы в июле 2007)[1], повыводно и функционально совместимы с предыдущими версиями.
ATxxxA — уменьшен ток потребления, перекрывается весь диапазон тактовых частот и напряжений питания двух предыдущих версий (также, в некоторых моделях, добавлены новые возможности и новые регистры, но сохранена полная совместимость с предыдущими версиями). Микроконтроллеры «А» и «не-А» с точки зрения программатора ничем не отличаются.[2][3]

АТxxx-PI — корпус DIP
АТxxx-PU — корпус DIP, бессвинцовый (Pb-free) припой

АТxxx-AI — корпус TQFP
АТxxx-AU — корпус TQFP, бессвинцовый (Pb-free) припой

(цифры 8/10/16/20/.. перед индексом означают максимальную частоту, на которой микроконтроллер может стабильно работать при нормальном для него напряжении питания).

 Устройства ввода/вывода МК

МК AVR имеют развитую периферию:

  • Многофункциональные, двунаправленные GPIO порты ввода/вывода со встроенными подтягивающими резисторами. Конфигурация портов в/в задаётся программно.
  • В качестве источника тактовых импульсов может быть выбран:
    • кварцевый резонатор;
    • внешний тактовый сигнал;
    • внутренний RC-генератор (частота 1, 2, 4, 8 МГц).
  • Внутренняя Флеш-память команд до 256 KБ (не менее 10 000 циклов перезаписи).
  • Отладка программ осуществляется с помощью интерфейсов JTAG или debugWIRE:
    • сигналы JTAG (TMS, TDI, TDO, и TCK) мультиплексированы на порт ввода/вывода. Режим работы — JTAG или порт — задаётся соответствующим битом в регистре fuses. МК AVR поставляются с включённым интерфейсом JTAG.
  • Внутреннее EEPROM данных до 4 КБ (100 000 циклов).
  • Внутренняя SRAM до 8 KБ время доступа 1 такт.
  • Внешняя память объёмом до 64 КБ (Mega8515 и Mega162).
  • Таймеры c разрядностью 8, 16 бит.
  • ШИМ-модулятор (PWM) 8-, 9-, 10-, 16-битный.
  • Аналоговые компараторы.
  • АЦП(ADC) с дифференциальными входами, разрядность 10 бит (12 для XMEGA AVR):
    • программируемый коэффициент усиления перед АЦП 1, 10 и 200;
    • опорное напряжение 2,56 В.
  • Различные последовательные интерфейсы, включая:
    • двухпроводной интерфейс TWI, совместимый с I²C;
    • универсальный синхронно/асинхронный приёмопередатчик UART/USART;
    • синхронный последовательный порт Serial Peripheral Interface (SPI).
  • USB серия AT90USBxxxx.
  • CAN серия AT90CANxxx.
  • LCD серии ATmega169 и ATmega329.
  • Датчики температуры ATtiny25, ATtiny45, ATtiny85.

Примечание: не все периферийные устройства могут быть включены программно. Бит в регистре fuses может быть изменён только программатором.

PIC

PIC — микроконтроллеры Гарвардской архитектуры, производимые американской компанией Microchip Technology Inc. Название PIC является сокращением от Peripheral Interface Controller, что означает «периферийный интерфейсный контроллер». Название объясняется тем, что изначально PIC предназначались для расширения возможностей ввода-вывода 16-битных микропроцессоров CP1600.

В номенклатуре Microchip Technology Inc. представлен широкий спектр 8-и, 16-и и 32-битных микроконтроллеров и цифровых сигнальных контроллеров под маркой PIC. Отличительной особенностью PIC-контроллеров является хорошая преемственность различных семейств. Это и программная совместимость (единая бесплатная среда разработки MPLAB IDE), и совместимость по выводам, по периферии, по напряжениям питания, по средствам разработки, по библиотекам и стекам наиболее популярных коммуникационных протоколов. Номенклатура насчитывает более 500 различных контроллеров со всевозможными вариациями периферии, памяти, количеством выводов, производительностью, диапазонами питания и температуры и т. д.

8-битные микроконтроллеры

8-битные микроконтроллеры имеют модифицированную Гарвардскую архитектуру и делятся на 2 больших семейства: PIC10/12/16 и PIC18.

 8-битные микроконтроллеры PIC10/12/16

8-битные микроконтроллеры PIC10/12/16 представлены двумя базовыми архитектурами ядра: BASELINE и MID-RANGE.

 Архитектура базового (BASELINE) семейства

Базовая архитектура (BASELINE) состоит из контроллеров семейства PIC10 и части контроллеров семейств PIC12 и PIC16. Основываются они на 12-и разрядной архитектуре слова программ и представлены контроллерами в корпусах от 6 до 28-и выводов. Упрощенная архитектура базового семейства предоставляет наиболее дешевое решение из предлагаемых Microchip. Широкий диапазон напряжений питания, возможность работы при низких напряжениях преследует целью возможность применения микроконтроллеров в батарейных устройствах.

  • маловыводные и миниатюрные корпуса
  • Flash память программ
  • низкое потребление тока
  • низкая цена
  • легкое освоение, всего 35 команд

Архитектура среднего (MID-RANGE) семейства

Архитектура среднего семейства (Mid-Range) нашла применение в микроконтроллерах серий PIC12 и PIC16, и имеет ширину слова памяти программ 14 бит. Эти микроконтроллеры выпускаются в корпусах от 8 до 64 выводов. Микроконтроллеры с Flash памятью работают в диапазоне напряжений питания от 2.0 до 5.5В, имеют систему прерываний, аппаратный стек и энергонезависимую память данных EEPROM, а также богатый набор периферии, такой как USB, SPI, I²C, USART, LCD, компараторы, АЦП и т. п.

  • различные корпуса: 6 — 64 выводов
  • Flash память программ
  • малый ток потребления
  • богатая периферия
  • производительность 5 MIPS
  • легкое освоение, всего 35 команд

Расширенное ядро микроконтроллеров среднего семейства

В более новых микроконтроллерах Microchip применяет улучшенную архитектуру 8-битных PIC микроконтроллеров среднего семейства PIC12 и PIC16:

  • увеличенный объем памяти программ и данных
  • более глубокий и улучшенный аппаратный стек
  • дополнительные источники сброса
  • расширенная периферия, периферия включает модуль mTouch ™ для создания сенсорных пользовательских интерфейсов
  • уменьшенное время входа в прерывание
  • производительность увеличена на 50 %, а размер кода снижен на 40 %
  • 14 дополнительных инструкций, оптимизированных под С-компилятор — итого, 49 инструкций

8-битные микроконтроллеры PIC18

Высокопроизводительное семейство 8-битных микроконтроллеров PIC18F представлено широкой гаммой микроконтроллеров, включающих большой набор периферийных модулей: 10бит АЦП, компараторы, ШИМ, захват/сравнение, драйвер ЖКИ; интерфейсы связи USB, CAN, I2C, SPI, USART, Ethernet и т. д.

  • быстродействия до 16 MIPS
  • объем памяти программ до 128Кб
  • корпуса от 18 до 100 выводов.
  • эффективное кодирование на C
  • NanoWatt технологии
  • встроенный программируемый генератор
  • 3В и 5В семейства
  • продвинутая архитектура (16-и разрядные слова программ)
  • гибкость самопрограммирования
  • поддержка широко распространенных протоколов связи (CAN, USB, ZigBee™, TCP/IP)
  • программная совместимость и совместимость по выводам и периферийным модулям внутри семейства, а также со старшими (16-битными) семействами, предоставляют возможность расширения и увеличения функциональности при развитии разработок.

16-битные контроллеры

Компания Microchip Technology Inc. производит два семейства 16-и разрядных микроконтроллеров (MCU) и два семейства 16-и разрядных цифровых сигнальных контроллеров (DSC), которые дают разработчикам совместимые платформы с обширным выбором типов корпусов, периферийных модулей и быстродействия. Общие атрибуты всех 16-и разрядных семейств — это совместимость по выводам, общая система команд и, соответственно, общие компиляторы Си и средства разработки. Широкая линейка 16-битных контроллеров включает контроллеры от 18 до 100 выводов с объемом flash памяти от 6 Кб до 256 Кб.

 16-битные микроконтроллеры PIC24F и PIC24H

Основные особенности:

  • выполнение команды за 2 такта генератора
  • гарантированное время отклика на прерывание — 5 командных тактов
  • доступ к памяти (в том числе инструкции чтения-модификации-записи) за 1 командный такт
  • аппаратный умножитель (за 1 такт)
  • аппаратный делитель 32/16 и 16/16 чисел (17 командных тактов)
  • диапазон питающих напряжений 1.8…3.6В, один источник питания.
  • внутрисхемное и само- программирование
  • встроенный генератор с PLL
  • расширенная периферия (до 3-х SPI, до 3-х I2C, до 4-х UART (с поддержкой IrDA, LIN), CAN (и расширенный ECAN), USB OTG)
  • модуль измерения времени заряда (CTMU), основное применение — управление емкостными сенсорами
  • ток портов ввода/вывода общего назначения — 18 мА
  • порты толерантны к устройствам с 5 В питанием
  • до девяти 16-битных таймеров общего назначения
  • до восьми модулей захвата
  • ряд энергосберегающих режимов
  • до двух АЦП (32 канала) с конфигурируемой разрядностью
  • до восьми 16-битных модулей сравнения / генерации ШИМ
  • программное переназначение выводов (PPS)
  • прямой доступ к памяти DMA(у PIC24H)
  • расширенный набор инструкций, 16 ортогональных регистров общего назначения, векторная приоритетная система прерываний, и другие особенности (методы адресации, аппаратные циклы).

16-битные микроконтроллеры представлены в двух модификациях — PIC24F и PIC24H, которые отличаются технологией изготовления FLASH программной памяти. Это определяет диапазон питающих напряжений — для PIC24F — 2,0…3,6 В, для PIC24H — 3,0…3,6 В. Первое семейство (PIC24F) производится по более дешевой технологии (0,25 мкм) и работает с максимальной производительностью ядра 16MIPS@32МГц. Второе семейство (PIC24H) производится с использованием более сложного техпроцесса изготовления, что позволяет добиться большей скорости работы (40MIPS@80МГц). Оба семейства поддерживают внутрисхемное программирование (ICSP), а также самопрограммирование (RTSP).

Контроллеры цифровой обработки сигналов dsPIC30F и dsPIC33F

Компания Microchip предлагает два семейства 16-ти разрядных Flash микроконтроллеров с поддержкой команд цифровой обработки сигналов — dsPIC30F и dsPIC33F. Высокое быстродействие в (30 MIPS для dsPIC30F и 40 MIPS для dsPIC33F) и эффективная система команд позволяет использовать контроллеры в сложных системах реального времени. Ключевые особенности:

  • расширенная система команд, включающая специфические команды поддержки цифровой обработки сигналов (DSP).
  • 24-разрядные инструкции выполняются за 4 периода тактовой частоты у dsPIC30F и за 2 — у dsPIC33F, за исключением команд деления, переходов, команд пересылки данных из регистра в регистр и табличных команд.
  • разрядность программного счетчика (24 бита) позволяет адресовать до 4М слов программной памяти (4М*24бит).
  • аппаратная поддержка циклов типа DO и REPEAT, выполнение которых не требует дополнительных издержек программной памяти и времени на анализ условий окончания, в то же время эти циклы могут быть прерваны событиями прерывания в любой момент;
  • 16 рабочих регистров, каждый регистр массива может выступать как данные, адрес или смещение адреса
  • два класса команд: микроконтроллерные инструкции (MCU) и команды цифровой обработки сигналов (DSP). Оба этих класса равноправно интегрированы в архитектуру контроллера и обрабатываются одним ядром.
  • различные типы адресации;
  • система команд оптимизирована для получения максимальной эффективности при программировании на языке высокого уровня Си.

Если о PIC24F можно говорить, как об усеченном доработанном варианте dsPIC30F (без ядра ЦОС, с трехвольтовым питанием и переработанным конвейером), то PIC24H — это усеченный вариант dsPIC33F. Хотя в данном сравнении нарушены причинно-следственные связи, технически оно верно. Ядро dsPIC33F полностью аналогично ядру dsPIC30F, за исключение того что в dsPIC33F команда выполняется за два такта генератора. Семейства полностью совместимы по набору инструкций, программной модели и способам адресации, что позволяет использовать библиотеки и исходные коды программ, написанные для dsPIC30F. Особо следует отметить переработанную по сравнению с dsPIC30F систему тактирования. dsPIC33F, как и семейство PIC24H, имеют PLL с дробным коэффициентом умножения (конфигурируемым программно), что позволяет получить сетку частот от 12,5 МГц до 80 МГц с шагом 0,25 МГц при использовании кварцевого резонатора 4 МГц. Кроме того, контроллеры dsPIC33F и PIC24H имеют два внутренних высокостабильных RC-генератора с частотами 7,3728 МГц и 32,768 кГц. Отдельный делитель тактовой частоты ядра (модуль DOZE) присутствует во всех новых 16-битных семействах. Он позволяет уменьшить тактовую частоту, подаваемую на ядро независимо от тактовой частоты периферийных модулей, что необходимо для уменьшения потребления в энергоограниченных приложениях. Большой выбор по периферии контроллеров ЦОС:
Общего назначения:

  • календарь и часы реального времени RTCC
  • аппаратный подсчет CRC
  • расширенная периферия (SPI, I2C, UART (с поддержкой IrDA, LIN), CAN (ECAN))
  • 10-и и 12-битные АЦП
  • компараторы
  • 10-и и 16-битные ЦАП
  • прямой доступ к памяти (DMA)
  • ведущий параллельный порт (PMP)
  • программное переназначение выводов (PPS)
  • многоуровневая система защиты кода (Code Guard)

Для управления двигателями и преобразователями энергии

  • специализированный ШИМ для управления приводом (Motor Control PWM)
  • интерфейс квадратурного энкодера

Для импульсных источников питания (SMPS)

  • Специализированный сверхбыстрый ШИМ с высоким разрешением (SMPS PWM)
  • Специализированные сверхбыстрые АЦП (SMPS ADC)

Для работы со звуком:

  • 12-битный АЦП
  • 16-битный ЦАП
  • специализированный ШИМ (output compare PWM)
  • интерфейс кодирования данных DCI (I2S, AC97)

Для управления графическими дисплеями:

  • ведущий параллельный порт PMP (QVGA)
  • модуль измерения времени заряда CTMU (сенсорные дисплеи touch-screen)

 32-битные микроконтроллеры

Старшим семейством контроллеров от Microchip Technology является 32-разрядное семейство микроконтроллеров PIC32:

  • ядро MIPS32 M4K, частота тактирования 80 МГц, большинство команд выполняются за 1 такт генератора, производительность 1.53 Dhrystone MIPS/МГц
  • порты ввода/вывода относятся к основному частотному диапазону, т.о., к примеру, можно дергать портами с тактовой частотой.
  • дополнительный частотный диапазон организуется для периферии из основного посредством программно настраиваемого делитель, т.о. частота тактирования периферии может быть снижена для снижения энергопотребления.
  • 64- и 100-выводные корпуса, до 128 кБ SRAM и 512 кБ Flash с кэшем предвыборки
  • совместимость по выводам и отладочным средствам с 16-битными контроллерами Microchip
  • аппаратный умножитель-делитель с независимым от основного ядра конвейером, оптимизированным по скорости выполнения
  • набор расширенных инструкций MIPS16e™ — набор 16-битных инструкций, позволяющий на некоторых приложениях снизить объем кода на 40 %
  • независимый от основного ядра контроллер USB

Семейство 32-разрядных микроконтроллеров PIC32 выделяется значительно увеличенной производительностью и объемом памяти на кристалле по сравнению с 16-разрядными микроконтроллерами и контроллерами цифровой обработки сигналов PIC24/dsPIC. Контроллеры PIC32 также оснащены большим количеством периферийных модулей, включая различные коммуникационные интерфейсы — те же, что у PIC24, и 16-битный параллельный порт, который может использоваться, например, для обслуживания внешних микросхем памяти и жидко-кристаллических TFT-индикаторов. Семейство PIC32 построено на ядре MIPS32®, с конкурентоспособной комбинацией низкого потребления энергии, быстрой реакции на прерывание, функциональностью средств разработки и лидирующем в своем классе быстродействием 1.53 Dhrystone MIPS/МГц. Такое быстродействие достигнуто благодаря эффективному набору инструкций, 5-ступенчатому конвейеру, аппаратному умножителю с накоплением и несколькими (до 8) наборами 32-разрядных регистров ядра.