Сравнительный анализ микроконтроллеров с ядром ARM
В связи с непрерывно увеличивающимся числом приложений, которые предъявляют повышенные требования по производительности обработки данных, намечается тенденция повышения спроса на 32-разр. микроконтроллеры. Данный вывод сделала маркетинговая компания Semico, которая прогнозирует 2-кратное преобладание емкости рынка 32-разр. микроконтроллеров над 8 и 16-разр. в 2007 году [1]. В связи с этим, целью данной статьи является представить общие тенденции развития одного из самых распространенных 32-разр. ядер ARM и дать сравнительную оценку микроконтроллерам на их основе от наиболее доступных на рынках СНГ производителей.
Обзор архитектуры ARM
Микроконтроллерное ядро ARM было разработано одноименной английской компанией, организованной в 1990 году. Название ARM происходит от "Advanced RISC Machines". Следует заметить, что компания специализируется сугубо на разработке микропроцессорных ядер и периферийных блоков, при этом, не имеет производственных мощностей по выпуску микрокон-троллеров. Компания ARM поставляет свои разработки в электронной форме, на основе которой клиенты конструируют свои собственные микроконтроллеры. Клиентами компании являются свыше 60 компаний-производителей полупроводников, среди которых можно выделить таких популярных производителей на рынке полупроводниковых компонентов стран СНГ, как Altera, Analog Devices, Atmel, Cirrus Logic, Fujitsu, MagnaChip (Hynix), Intel, Motorola, National Semiconductor, Philips, ST Microelectronics и Texas Instruments.
В настоящее время архитектура ARM занимает лидирующие позиции и охватывает 75% рынка 32-разр. встраиваемых RISC-микропроцессоров. Распространенность данного ядра объясняется его стандартностью, что предоставляет возможность разра-ботчику более гибко использовать, как свои, так и сторонние программные наработки, как при переходе на новое процессорное ARM-ядро, так и при миграциях между разными типами ARM-микроконтроллеров.
В настоящее время разработано шесть основных семейств (см. рисунок 1): ARM7™, ARM9™, ARM9E™, ARM10™, ARM11™ и SecurCore™. Также совместно с компанией Intel разработаны семейства XScale™ и StrongARM®.
Как дополнение к ARM-архитектуре могут интегрироваться несколько расширений:
- Thumb® - 16-разр. набор инструкций, улучшающий эффективность использования памяти программ;
- DSP - набор арифметических инструкций для цифровой обработки сигналов;
- Jazelle™ - расширение для аппаратного непосредственного исполнения Java-инструкций;
- Media - расширение для 2-4-кратного увеличения скорости обработки аудио и видео сигналов.
Рисунок 1. Процессорные ядра ARM
Рекордными планками, которые пересекла ARM-архитектура, являются быстродействие свыше 1ГГц и удельное потребле-ние 1 мкВт/МГц. В зависимости от назначения ARM-процессоры разделяются на три группы (см. рисунок 2):
- Процессоры для операционных систем с открытой платформой в приложениях беспроводной связи, обработки изображений и пользовательской электронике.
- Процессоры для встраиваемых операционных систем реального времени для запоминающих устройств, промышленных, авто-мобильных и сетевых приложений.
- Система защиты данных для смарт-карт и SIM-карт.
Процессорные ядра ARM
0.18мкм (0,13 мкм) |
Ядро |
Кэш-память |
Площадь, мм2 |
Удельное потребление мВт/МГц |
Частота, МГц |
ARM922T |
8к + 8к |
8.1 (3,2) |
0.80 (0,25) |
200 (250) |
ARM926EJ-S |
16к + 16к |
8.5 (4,7) |
1.0 (0,45) |
180-200 (220-250) |
ARM1026EJ-S |
8к + 8к |
7.5 (4,2) |
1.15 (0,5) |
190-210 (266-325) |
ARM1136J(F)-S |
16к/16к+ 16/16к TCM |
- (8,2; 9,6) |
1.30 (0,4) |
250-270 (333-400) |
Процессорные ядра для операционных систем реального времени
0.18мкм (0,13 мкм) |
Ядро |
Кэш-память |
Площадь, мм2 |
Удельное потребление мВт/МГц |
Частота, МГц |
ARM7TDMI |
- |
0,53 (0,26) |
0.24 (0,06) |
100 (133) |
ARM7TDMI-S |
- |
0,62 (0,32) |
0,39 (0,11) |
80-100 (100-133) |
SC100 |
- |
0,50 |
0.21 |
80 |
SC200 |
- |
0,70 |
0.30 |
110 |
ARM7EJ-S |
- |
1,25 (0,65) |
0,45 (0,16) |
80-100 (100-133) |
ARM946E-S |
8к + 8к |
5,8 (3,25) |
0,9 (0,45) |
150-170 (180-210) |
ARM966E-S |
16к+16к TCM |
4,0 (2,25) |
0,65 (0,4) |
180-200 (220-250) |
ARM1026EJ-S |
8к + 8к |
7,5 (4,2) |
1,15 (0,5) |
190-210 (266-325) |
ARM1136J(F)-S |
16к/16к+ 16/16к TCM |
- (8,2; 9,6) |
1,30 (0,4) |
250-270 (333-400) |
Рисунок 2. Технические данные по процессорным ядрам
ВСЭ - внутрисхемный эмулятор, РВ - реальное время, ЦСП- цифровой сигнальный процессор, SIMD - несколько данных в одной инструкции, ТСМ - плотно-связанная память (кэш), ETM - встроенные трассировочные макроячейки, VIC - векторизованный контроллер прерываний, ASB, AHB -разновидности внутренних шин |
Перспективность ядра ARM становится очевидной после революционного анонса компании Atmel на конференции раз-работчиков ARM-микроконтроллеров, которая состоялась в Санта Клара (США) в октябре 2004 года [2]. Суть анонса заключалась в намерении компании Atmel выпускать 32-разр. микроконтроллеры AT91SAM7S по цене 8-разрядных, нацеливая 8-разр. приложения на расширение функциональных возможностей по обработке информации, сохраняя при этом их конкурентоспособную стоимость на прежнем уровне.
Набор инструкций Thumb
32-разр. ARM-процессоры поддерживают предшествующие 16-разр. разработки за счет поддержки набора инструк-ций Thumb. Использование 16-разр. инструкций позволяет сэкономить до 35% памяти по сравнению с эквивалентным 32-разр. кодом, при этом сохраняя все преимущества 32-разр. системы, например, доступ к памяти с 32-разр. адресным пространством.
Технология SIMD
Технология SIMD (несколько данных в одной инструкции) используется в media-расширении и нацелена на увеличение скорости обработки данных в приложениях, где требуется малое энергопотребление. SIMD-расширения оптимизированы под широкий диапазон программного обеспечения, в т.ч. аудио/видео кодеки, где они позволяют увеличить быстродействие обработки в 4 раза.
Набор инструкций ЦСП (DSP)
Многие приложения предъявляют повышенные требования по быстродействию реально-временной обработки сигналов. Традиционно в таких ситуациях разработчики прибегают к использованию цифрового сигнального процессора (ЦСП), что увеличивает энергопотребление и стоимость, как самой разработки, так и конечного устройства. Для устранения данных недостатков в ряд ARM-процессоров интегрированы инструкции ЦСП, выполняющие 16-разр. и 32-разр. арифметические операции.
Технология Jazelle®
Технология ARM Jazelle адресована для приложений с поддержкой языка программирования Java. Она предлагает уни-кальное сочетание высокой производительности, малой системной стоимости и невысоких запросов к энергопотреблению, что не может быть достигнуто одновременно, если использовать сопроцессор или специализированный Java-процессор.
Технология ARM Jazelle является расширением к 32-разр. RISC-архитектуре, которое позволяет ARM-процессору выполнять Java-код на аппаратном уровне. При этом достигается непревзойденное быстродействие исполнения Java-кода с помощью ARM-архитектуры. Таким образом, разработчики имеют возможность свободно реализовывать Java-приложения, в т.ч. операционные системы и прикладной код, на одном процессоре.
В настоящее время технология Jazelle интегрирована в следующие ARM-процессоры: ARM1176JZ(F)-S, ARM1136J(F)-S, ARM1026EJ-S, ARM926EJ-S и ARM7EJ-S.
Традиционные ARM-процессоры поддерживают 2 набора инструкций: в режиме ARM - 32-разрядные инструкции, а в режиме Thumb наиболее популярные инструкции сжимаются к 16-разр. формату. Технология Jazelle расширяет эту концепцию, добавляя третий набор инструкций Java, который активизируется в новом Java-режиме.
Технология интеллектуального управления энергопотреблением
Одной из основных задач, которую решают разработчики портативных устройств (например, смарт-фоны, персональные цифровые помощники и аудио/видеоплееры) - оптимизация энергопотребления, что позволяет улучшить эксплуатационные характеристики готового устройства за счет продления ресурса батареи питания или уменьшения размеров устройства.
Традиционным методом снижения энергопотребления является использование экономичных режимов работы, например, холостой ход (idle) или сон (sleep), которые различаются глубиной деактивации внутренних элементов. Как правило, активный режим работы такой системы рассчитан на наихудшие условия работы и характеризуется максимальной загрузкой, тем самым неоправданно сокращая срок службы батареи. Таким образом, для дальнейшей оптимизации расходования энергии батареи питания разработчики уделяют особое внимание управлению энергопотреблением в активном режиме работы.
Для облегчения данного процесса разработана технология интеллектуального управления энергопотреблением (Intelligent Energy Manager, IEM) для процессоров ARM. Данная технология является сочетанием аппаратных и программных компонентов, которые совместно выполняют динамическое управление напряжением питания ("power scaling").
Сущность метода динамического управления напряжением питания основывается на выражении потребляемой мощности КМОП-процессоров:
где Р- общая потребляемая мощность, С - переключаемая емкость, fc - частота процессора, - напряжение пита-ния, - ток утечки в статическом режиме. Из выражения следует, что для регулировки энергопотребления могут варьироваться частота и напряжение питания.
Снижение частоты для уменьшения энергопотребления широко используется в микроконтроллерах и системах на кристаллах (PSoC), но не недостатком этого метода является снижение быстродействия. Метод динамического управления напряжением питания основан на варьировании напряжением питания, однако, если возможности регулировки исчерпаны, то как дополнительный используется метод регулировки частоты процессора.
Микроконтроллеры на основе архитектуры ARM
В таблице 1 представлена общая сравнительная характеристика ARM-микроконтроллеров наиболее известных и доступ-ных производителей: Analog Device, Atmel, Philips Semiconductors и Texas Instruments, а в таблице 2 более подробно представлены их технические данные.
Таблица 1. Сравнение ARM-микроконтроллеров разных производителей по ключевым признакам
TMS 470 (Texas Instruments) |
AT91 (Atmel) |
Micro Converter (AD) |
LPC2000 (Philips) |
Системные: |
Ядро ARM7TDMI
Делитель внешней синхронизации (ЕСР) позволяет тактировать внешнее устройство нужной частотой |
Ядро ARM7TDMI/ARM920TОпциональный встроенный калиброванный RC-генератор
ПДП для обмена данными между периферийными устройствами и памятью существенно разгружает процессорРаздельное вкл/откл синхронизации каждого периферийного устройства (250 мкА, если все откл.)
Встроенный стабилизатор 1,8В |
Ядро ARM7TDMI
Встроенный калиброванный RC -генератор (± 3%) |
Ядро ARM7TDMI-S (несколько хуже удельное потребление по сравнению с ARM7TDMI)
Версии для температурного диапазона -40…+105°C |
Память: |
Флэш-память до 1 Мбайт
Модуль защиты памяти (MSM) |
Экономичное статическое ОЗУ (например, AT91M40800 на 40 МГц с внешним ОЗУ (12нс) потребляет 120 мА, а AT91R40807 с внутренним ОЗУ при тех же условиях потребляет 50 мА). |
Флэш-память программ/данных до 62 кбайт с хранением данных до 100 лет и износостойкостью 100 тыс. циклов запись/стирание |
Флэш-память с 128-разр. интерфейсом ускорителя для работы на частоте 60 МГц |
Аналоговая периферия: |
Многобуферный АЦП:
- 10 разр., 16 каналов, 1,75 мкс (выборка-хранение, преобразование);
- возможность организации групп из каналов;
- модели программирования: совместимость с АЦП TMS470R1X и буферизация результата преобразования (FIFO);
- режимы работы: преобразование, калибровка (поиск средней точки ошибки смещения АЦП); - самотестирование (проверка неиспр. на аналоговых входах); выключение.
- три канала ПДП;
- запуск преобразования, в т.ч. группового, по внешнему событию или таймеру;
- выводы задания обеих границ преобразования (выводы ADREFHI и ADREFLO). |
|
Встроенный датчик температуры (± 3°С)
12-разр. АЦП- 1 млн. преобр. в сек
- несимметричный или полный дифференциальный режимы
12-разр. ЦАП- выходной сигнал: напряжение
- опциональный выходной буферный усилитель;
- полный размах питания (rail-to-rail)
Компаратор (К)
- 2 входа и выход связаны с выводами микросхемы |
10-разр. мультиплексиро-ванный АЦП:
- время преобразования 2,44 мкс (400 тыс. преобр. в сек.)
- диапазон преобразова-ния 0…3В
- запуск внешним сигналом или таймером |
Цифровая периферия: |
Высококачественный таймер (HET):
- набор из 21 специализированных инструкций для управления таймером;
- специализированная предопределенная таймерная микромашина, связанная с линиями ввода-вывода.
Аппаратный генератор углов (HWAG) для реше-ния задач управления двигателями:
- совместная работа с НЕТ |
Часы реального времени с отдельным входом резервного питания
Периодический интервальный таймер (PIT) для генерации прерываний, синхронизированных со временем |
Программируемая логиче-ская матрица
- два блока, связывающих 16 входов и 14 выходов
- 2-х входовой логический элемент с любой задаваемой функцией преобразования
Трехфазный 16-разр. ШИМ-генератор для управления инверторами/ электродвигателями
- противофазные выходы на каждой фазе с регулируемой паузой неперекрытия
- регулируемая частота ШИМ |
32-разр. таймеры (каналы захвата фронтов и каналы сравнения), блок ШИМ (6 выходов), часы реального времени |
Интерфейсы: |
Последовательные интерфейсы 2-го класса (C2SIa и C2SIb)
- прием и передач данных в многомастерной сети;
- связь TMS470R1Vx с внешними аналоговыми ин-терфейсными микросхемами;
- буферизация, детекция ошибок и обрывов, калибровка и др.
CAN -контроллеры
- стандартные (SCC): почтовый ящик на 16 сообщений;
- высококачественные (HECC): почтовый ящик на 32 сообщения.
Интерфейс с ЦСП
- соединяет TMS470R1x и мегамодуль ЦСП TMS320C54x
Модуль расширения шины (ЕВМ):
- поддержка 8 или 16-разр. внешней памяти;
- функция ввода-вывода общего назначения, если внешняя шина не используется |
Интерфейс USB 2.0
Интерфейс внешней памяти с конфигурируемыми выходами выбора внешних микросхем
Контроллер высокоскоростного программирования:
- последовательные и параллельные режимы программирования флэш-памяти
Интерфейсы флэш-карт (RM9200) |
Стандартные последовательные интерфейсы (УАПП, SPI, I2C) |
УАПП, совместимый с 16C550
- поддержка модемных сигналов на одном из УАПП
Конфигурируемый интерфейс внешней памяти с 4 банками и разрядностью данных 8/16/32 |
Таблица 2. Технические данные по ARM-микроконтроллерам компаний Atmel, Analog Device, Texas Instruments, Philips Semiconductors
Наименование |
Ядро |
Корпус |
Память |
Периферийные устройства |
В/В |
Макс. ч-та, МГц |
Флэш, кбайт |
ОЗУ, кбайт |
Тай-мер |
АЦП, кан/разр |
SPI/У(С)АПП/ I2C |
USB Dev/ Host |
CAN |
Прочее |
Микроконтроллеры семейства TMS470 компании Texas Instruments |
TMS470R1A64 |
ARM7TDMI |
80 LQFP |
64 |
4 |
13 |
8/10 |
2/2/- |
- |
2 |
C2SI |
40 |
48 |
TMS470R1A128 |
ARM7TDMI |
100 LQFP |
128 |
8 |
16 |
16/10 |
2/2/- |
- |
1 |
C2SI |
50 |
48 |
TMS470R1A256 |
ARM7TDMI |
100 LQFP |
256 |
12 |
16 |
16/10 |
2/2/- |
- |
1 |
C2SI |
50 |
48 |
TMS470R1A288 |
ARM7TDMI |
100/144 LQFP |
288 |
16 |
12 |
12/10 |
2/2/1 |
- |
2 |
C2SI, ПДП, EBM, MSM |
93 |
48 |
TMS470R1A512 |
ARM7TDMI |
144 LQFP |
512 |
32 |
32 |
16/10 |
2/2/- |
- |
2 |
ПДП |
87 |
60 |
TMS470R1A768 |
ARM7TDMI |
144 LQFP |
768 |
48 |
32 |
16/10 |
5/2/- |
- |
3 |
ПДП |
87 |
60 |
TMS470R1A1024 |
ARM7TDMI |
144 LQFP |
1024 |
64 |
12 |
12/10 |
5/2/1 |
- |
2 |
DMA, EBM, MSM |
93 |
60 |
Семейство AT91 ARM Thumb компании Atmel |
AT91M40800 |
ARM7TDMI |
QFP100 |
- |
8 |
3 |
|
-/2/- |
|
|
EBI |
32 |
40 |
AT91R40008 |
ARM7TDMI |
QFP100 |
- |
256 |
3 |
|
-/2/- |
|
|
EBI |
32 |
70 |
AT91FR4042 |
ARM7TDMI |
BGA121 |
512 |
256 |
3 |
|
-/2/- |
|
|
EBI |
32 |
70 |
AT91FR40162 |
ARM7TDMI |
BGA121 |
2048 |
256 |
3 |
|
-/2/- |
|
|
EBI |
32 |
70 |
AT91M42800A |
ARM7TDMI |
QFP144 BGA144 |
- |
8 |
6 |
|
2/2/- |
|
|
EBI, PIT, RTT |
54 |
33 |
AT91M55800A |
ARM7TDMI |
QFP176 BGA176 |
- |
8 |
6 |
8/10 |
1/3/- |
|
|
EBI, RTC, 2х10 р. ЦАП |
58 |
33 |
AT91RM3400 |
ARM7TDMI |
QFP100 |
256 |
96 |
6 |
1/4/1 |
1/- |
|
|
SSC, PIT, RTC, RTT |
63 |
66 |
AT91C140 |
ARM7TDMI |
BGA256 |
1 |
16 |
3 |
|
1/2/- |
|
|
EBI, инт. SDRAM, 2xEthernet |
48 |
36 |
AT91SAM7A1 |
ARM7TDMI |
QFP144 |
- |
4 |
9 |
8/10 |
1/3/- |
|
|
EBI, 4 ШИМ, CAN |
49 |
40 |
AT91SAM7A2 |
ARM7TDMI |
QFP176 |
- |
16 |
10 |
16/10 |
1/2/- |
|
4 |
EBI |
57 |
30 |
AT91SAM7A3 |
ARM7TDMI |
QFP100 |
256 |
32 |
9 |
16/10 |
2/4/1 |
1/- |
1 |
8 ШИМ, RTT, PIT, RC-ген., SSC, MCI |
62 |
60 |
AT91SAM7S32 |
ARM7TDMI |
QFP48 |
32 |
8 |
3 |
8/10 |
1/1/1 |
|
|
4 ШИМ, RTT, PIT, RC-ген., SSC |
21 |
55 |
AT91SAM7S64 |
ARM7TDMI |
QFP64 |
64 |
16 |
3 |
8/10 |
1/2/1 |
1/- |
|
4 ШИМ, , RTT, PIT, RC-ген., SSC |
32 |
55 |
AT91SAM7S128 |
ARM7TDMI |
QFP64 |
128 |
32 |
3 |
8/10 |
1/2/1 |
1/- |
|
4 ШИМ, RTT, PIT, RC-ген., SSC |
32 |
55 |
AT91SAM7S256 |
ARM7TDMI |
QFP64 |
256 |
64 |
3 |
8/10 |
1/2/1 |
1/- |
|
4 ШИМ, RTT, PIT, RC-ген., SSC |
32 |
55 |
AT91S7X128 |
ARM7TDMI |
QFP100 |
128 |
32 |
3 |
8/10 |
1/2/1 |
1/- |
1 |
4 ШИМ, RTT, PIT, RC-ген., SSC, Ethernet |
60 |
55 |
AT91RM9200 |
ARM920T |
QFP208 BGA256 |
128 |
16 |
6 |
|
1/4/1 |
1/2 |
|
EBI, RTC, RTT, PIT, инт.SDRAM, 3xSSC, MCI, Ethernet |
94 |
180 |
AT91SAM9261 |
ARM7TDMI |
BGA217 |
32 |
160 |
3 |
|
3/3/1 |
1/2 |
|
EBI, RTT, PIT, инт.SDRAM, 3xSSC, MCI |
96 |
200 |
Микроконтроллеры семейства MicroConverter компании Analog Device |
ADuC7020 |
ARM7TDMI |
CP-40 |
62 |
8 |
|
5/12 |
1/1/2 |
|
|
4 x 12р.ЦАП, К, ПЛМ |
14 |
45 |
ADuC7021 |
ARM7TDMI |
CP-40 |
62 |
8 |
|
8/12 |
1/1/2 |
|
|
2 x 12р.ЦАП, К, ПЛМ |
13 |
45 |
ADuC7022 |
ARM7TDMI |
CP-40 |
62 |
8 |
|
10/12 |
1/1/2 |
|
|
К, ПЛМ |
13 |
45 |
ADuC7024 |
ARM7TDMI |
CP-64 |
62 |
8 |
|
10/12 |
1/1/2 |
|
|
2 x 12р.ЦАП,3ф. ШИМ, К, ПЛМ |
30 |
45 |
ADuC7025 |
ARM7TDMI |
CP-64 |
62 |
8 |
|
12/12 |
1/1/2 |
|
|
3ф. ШИМ, К, ПЛМ |
30 |
45 |
ADuC7026 |
ARM7TDMI |
ST-80 |
62 |
8 |
|
12/12 |
1/1/2 |
|
|
4 x 12р.ЦАП, 3-ф.ШИМ, К, ПЛМ |
40 |
45 |
ADuC7027 |
ARM7TDMI |
ST-80 |
62 |
8 |
|
16/12 |
1/1/2 |
|
|
3ф. ШИМ, К, ПЛМ |
40 |
45 |
Микроконтроллеры семейства LPC2000 компании Philips Semiconductors |
LPC2104 |
ARM7TDMI-S |
LQFP48 |
128 |
16 |
4 |
|
1/2/1 |
|
|
6 кан. ШИМ |
32 |
60 |
LPC2105 |
ARM7TDMI-S |
LQFP48 |
128 |
32 |
4 |
|
1/2/1 |
|
|
6 кан. ШИМ |
32 |
60 |
LPC2106 |
ARM7TDMI-S |
LQFP48 |
128 |
64 |
4 |
|
1/2/1 |
|
|
6 кан. ШИМ |
32 |
60 |
LPC2114 |
ARM7TDMI-S |
LQFP64 |
128 |
16 |
4 |
4/10 |
2/2/1 |
|
|
6 кан. ШИМ |
46 |
60 |
LPC2119 |
ARM7TDMI-S |
LQFP64 |
128 |
16 |
4 |
4/10 |
2/2/1 |
|
|
6 кан. ШИМ |
46 |
60 |
LPC2124 |
ARM7TDMI-S |
LQFP64 |
256 |
16 |
4 |
4/10 |
2/2/1 |
|
|
6 кан. ШИМ |
46 |
60 |
LPC2129 |
ARM7TDMI-S |
LQFP64 |
256 |
16 |
4 |
4/10 |
2/2/1 |
|
|
6 кан. ШИМ |
46 |
60 |
LPC2194 |
ARM7TDMI-S |
LQFP64 |
256 |
16 |
4 |
4/10 |
2/2/1 |
|
2 |
6 кан. ШИМ |
46 |
60 |
LPC2210 |
ARM7TDMI-S |
LQFP144 |
- |
16 |
4 |
8/10 |
2/2/1 |
|
|
6 кан. ШИМ |
112 |
60 |
LPC2212 |
ARM7TDMI-S |
LQFP144 |
128 |
16 |
4 |
8/10 |
2/2/1 |
|
|
6 кан. ШИМ |
112 |
60 |
LPC2214 |
ARM7TDMI-S |
LQFP144 |
256 |
16 |
4 |
8/10 |
2/2/1 |
|
|
6 кан. ШИМ |
112 |
60 |
LPC2290 |
ARM7TDMI-S |
LQFP144 |
- |
16 |
4 |
8/10 |
2/2/1 |
|
|
6 кан. ШИМ |
112 |
60 |
LPC2292 |
ARM7TDMI-S |
LQFP144 |
256 |
16 |
4 |
8/10 |
2/2/1 |
|
2 |
6 кан. ШИМ |
112 |
60 |
LPC2294 |
ARM7TDMI-S |
LQFP144 |
256 |
16 |
4 |
8/10 |
2/2/1 |
|
4 |
6 кан. ШИМ |
112 |
60 |
Несмотря на использование в большинстве микроконтроллеров общего ядра ARM7TDMI у микроконтроллеров разных производителей вырисовывается довольно таки четкий портрет. Analog Device является бесспорным лидером по аналоговой периферии, имея в своем арсенале 12-разр. АЦП и ЦАП класса 1МГц. В этом направлении заметно отстает Atmel, которая в своих разработках отдельных АЦП уже взяла барьер 2ГГц, а вот интегрировать приличный АЦП в 32-разр. микроконтроллер, так и не смогла. Однако данный недостаток микроконтроллеров Atmel перекрывает их "дружелюбность" (при использовании встроенного RC-генератора и стабилизатора для запуска микроконтроллера потребуется только подача одного напряжения питания), экономичность, а самое главное низкая стоимость. Среди рассматриваемых микроконтроллеров, микроконтроллеры Atmel - единственные, которые содержат интерфейс USB. Для микроконтроллеров TI характерна избыточная представитель-ность при умеренной стоимости. Работая с микроконтроллерами TMS470 можно быть уверенным в достаточности периферийных ресурсов. Микроконтроллеры LPC2000 (Philips) можно назвать золотой серединой по рассматриваемым крите-риям. Отличает их наличие УАПП, выполненного в традициях Philips и который совместим со стандартным УАПП 16C550, а также имеет модемный интерфейс и режим аппаратного управления связью с FIFO-буферизацией. Среди ARM-микроконтроллеров Philips можно найти представителей для расширенного температурного диапазона -40…+105°C.
32-разр. микроконтроллеры с альтернативными ядрами
Когда речь идет о 32-разр. микроконтроллерах несправедливым будет не упомянуть о других 32-разр. альтернативах ядру ARM. В этом плане следует выделить ядро FR компании Fujitsu и М68000/М68300 компании Motorola.
Ядро FR используется в обширном количестве микроконтроллеров (свыше 40), образующих несколько семейств, и имеет 16-разрядный режим набора инструкций для оптимизации использования памяти программ при минимальном ухудшении эф-фективности работы, что идентично ядру ARM. Размер ПЗУ и ОЗУ достигает до 512 кбайт, в зависимости от типа поддерживаются разнообразные стандартные периферийные устройства, в т.ч. 10-разр. АЦП, 12-разр. ШИМ, интерфейс CAN, УАПП и др. Так же, как и в случае с микроконтроллерами ARM, микроконтроллеры на основе ядра FR выделяются общими традициями, которые закладывает разработчик, и которые узнаваемы во всей линейке микроконтроллеров. В случае Fujitsu это аппаратная поддержка эндианизма, аппаратная функция поиска бита, множество каналов однотипных периферийных уст-ройств, вход немаскируемого прерывания. Во множество микроконтроллеров интегрирован довольно приличный 10-разр. АЦП (время преобразования 1,7 мкс) и ЦАП (0,9 мкс). В семействе FRLite поставлен рекорд по удельному энергопотреблению 1мА/МГц. Максимальным быстродействием обладает семейство FR 65Е, у которого тактовая частота достигает 66МГц.
32-разр. микроконтроллеры Motorola характеризуются реализацией из набора стандартных функциональных модулей. В состав микроконтроллеров семейства 68300 входят: 32-разрядный процессор (CPU32), модули внутренней памяти, интер-фейсный модуль системной интеграции (SIM), модуль последовательного интерфейса (QSM), таймерный процессор (TPU) или таймерный модуль (GPT), аналого-цифровой преобразователь (ADC) и ряд других. Между собой модули соединяются посред-ством межмодульной шины. Процессор CPU32, используемый в микроконтроллерах семейства 68300, по своим основным функциям аналогичен 32-разрядному микропроцессору MC68020 семейства 68000. Для использования в системах связи вы-пускаются микроконтроллеры, содержащие модуль коммуникационного RISC-процессора, имеющий набор специальных средств для обмена данными. Такие коммуникационные контроллеры (68360, 68302, 68356) также входят в состав семейства 68300. Особенностью процессора CPU32 является его работа с 16-разрядной шиной данных и 24-разрядной шиной адреса (ад-ресуемая память 16 Мбайт), а основным архитектурным принципом функционирования процессоров семейства 68000 является разделение их ресурсов и возможностей в зависимости от класса решаемых задач. При этом подразумевается выполнение двух классов задач: управление работой самой микропроцессорной системы с помощью системного программного обеспечения (операционной системы - супервизора) и решение прикладных задач пользователя. От этого происходят режимы функционирования: режим супервизора или режим пользователя. В зависимости от режима при выполнении программ разрешается доступ ко всем ресурсам микроконтроллера или их части. В режиме супервизора разрешается выполнение любых команд, реализуемых процессором, и доступ ко всем регистрам. В режиме пользователя запрещается выполнение ряда команд и дос-туп к некоторым регистрам, чтобы ограничить возможности таких изменений состояния системы, которые могут помешать выполнению других программ или нарушить установленный супервизором режим работы процессора. Сильным аргументом в сторону выбора микроконтроллеров Motorola - высокая популярность в свое время семейства M68000 и программная совместимость микроконтроллеров M68000 и более современных M68300, что позволяет использовать существующие программные наработки в новых разработках, тем самым сокращая сроки проектирования.
Выводы
- Несомненным преимуществом ядра ARM является его стандартность, что позволяет использовать программное обеспечение от других совместимых микроконтроллеров, иметь более широкий доступ к средствам для проектирования или более просто осуществлять миграцию между микроконтроллерами.
- Несмотря на использование одного и того же ядра ARM в микроконтроллерах разных производителей, все-таки каждый из них имеет свое лицо, что достигается оригинальной "рецептурой" периферийных устройств и занятие в некоторых из типов периферийных устройств лидерских позиций, например, для Analog Device это цифро-аналоговые преобразователи.
- ARM-ядра имеют представительную номенклатуру и динамику развития, однако, из сравнения следует, что для широких масс доступны в основном микроконтроллеры на основе ядра ARM7TDMI. Объяснить это можно, например, тем, что основ-ная сфера потребления ARM-микроконтроллеров [3] - бытовые, офисные, пользовательские электронные приборы и оборудование, которые, к сожалению, в основном выпускают зарубежные ОЕМ-производители.
- Рынок 32-разрядных микроконтроллеров обладает высокой емкостью, которая будет динамично возрастать в ближай-шие годы, поэтому, нам остается следить за борьбой производителей микроконтроллеров за долю данного рынка, следить за анонсами и успевать осваивать новые технологии.
Литература
- J. Wilbrink. Facilitation the Migration from 8-bit to 32-bit Microcontrollers/Atmel Corporation -2004.
- "Atmel Introduces World's First Sub $3 ARM7 Flash Microcontroller", новость компании Atmel от 19.10.04, www.atmel.com.
- Processor Cores Flyer//Ref: ARM DOI 0111-4/05.03, Issued: May 2003.
- Материалы сайта www.arm.com
Староверов К.С., к.т.н., star@set-micro.com
|