Микроконтроллеры компании STMicroelectronics
с ядром ARM
В статье проводится сравнительный анализ основных характеристик Анатолий ЮДИН 32-разрядных микроконтроллеров компании STMicroelectronics, разра-
к. т. н. ботанных на основе ядра ARM7 с аналогичными микросхемами других
[email protected] фирм.
Компания STMicroelectronics (STM) — один из мировых лидеров по производству 8- и 16-разрядных микроконтроллеров. Начиная с 2004 года, она стремительно расширяет свое семейство 16/32-разрядных микроконтроллеров с архитектурой на основе ядра ARM7™. Наш прогноз о том, что микроконтроллерные ядра английской компании ARM (Advanced RISC Machines) быстро выйдут на уровень глобального индустриального стандарта для приложений, требующих оптимального соотношения между ценой, производительностью и энергопотреблением, оправдывается. Это объясняется тем, что вся линейка ядер ARM обладает программной совместимостью, имеется большое число продуктов для выбора и множество предложений от различных продавцов, накоплены большие проектные ресурсы для поддержки приложений. Уже есть много инженеров, обученных для работы с ARM, на рынке появилось много программного обеспечения не только от ARM, но и других фирм, обеспечена доступность инструментальных средств и предложений для различных операционных систем.
Основными достоинствами ядра ARM являются:
• наименьшее энергопотребление для обеспечения одинакового значения производительности по сравнению с другими ядрами при более низкой тактовой частоте;
• возможность программирования с оптимизацией либо скорости 32-разрядного ядра ARM, либо с оптимизацией размера программного кода при использовании 16-разрядных Thumb-команд, что обеспечивает большую гибкость при проектировании. Применение Thumb-команд обеспечивает сокращение размера программного кода до 30% при уменьшении производительности до 20%. Не следует также забывать, что 16-разрядные и 32-разрядные системы команд можно использовать одновременно.
Компания STM приобрела лицензию
на всю номенклатуру ядер ARM и последо-
вательно внедряет их в своем производстве ARM микроконтроллеров. В семействе микроконтроллеров STR7xxx в качестве базового ядра используется ARM7TDMI®, производительность (до 100 MIPS) и экономичность которого зависят от рабочей частоты (до 90 МГц) и используемого напряжения питания (1,8 В или 3,3 В).
Ядро ARM7 используют и другие производители микроконтроллеров, из которых на российском рынке кроме STM можно выделить компании Freescale (ранее Motorola), Atmel, Philips и др. Однотипность ядра многих семейств микроконтроллеров различных производителей предопределяет их совместимость по аппаратно-программным средствам разработки, которые предоставляют большинство фирм поставляющих продукцию этого вида. Среди фирм, специализирующихся на разработке компиляторов C/C++ для платформы ARM, отметим ARM, IAR Systems, KEIL Software и Green Hills. Программные средства на основе компиляторов с лицензией GNU производят Hitex, Nohau, Ashling и др. Среды разработки производят PLS, SEGGER и др. Как видно, выбор достаточно большой, и вопрос возникает чаще всего в цене для определенного ряда возможностей, предоставляемых аппаратно-программными средствами. Наличие большого предложения с одной стороны облегчает, а с другой стороны и затрудняет задачу выбора оптимального микроконтроллера для решения конкретной прикладной задачи. Поэтому при выборе чаще всего решающую роль приобретают интеграционные характеристики микроконтроллеров, и в первую очередь, наличие и возможности встроенных периферийных устройств ARM микроконтроллеров, наличие и доступность библиотек программ для встроенной периферии, экономичность.
Компания STMicroelectronics в настоящее время производит две серии ARM-микроконтроллеров: STR71xFxx и STR73xFxx. Обобщенные технические характеристики микроконтроллеров данных серий приведены в таблице 1.
Основными параметрами серии STR71xF являются:
• ядро ARM7TDMI с 32-бит и Thumb16-6rn набором команд, трехступенчатый конвейер, 32-бит АЛУ и мощные средства отладки;
• от 16 кбайт до 64 кбайт ОЗУ (SRAM);
• от 128 кбайт до 256 кбайт Flash-памяти с малым временем случайного доступа;
• рабочая частота CPU до 48 МГц с внешней синхронизацией 16 МГц с внутренней ФАПЧ (PLL) и нулевой режимы ожидания с ускорением;
• до 30 МГц и нулевой режимы ожидания без ускорения, без проблем при контекстном переключении и ветвлении, что необходимо в приложениях реального времени;
• до 10 соединительных интерфейсов, включая I2C, SPI, UART, CAN, а также интерфейсы USB, HDLC, MMC и Smart Card;
• 4 таймера, отдельный сторожевой таймер и часы реального времени со встроенным генератором 32 кГц для перехода в рабочий режим после дежурного режима (STANDBY);
• 5 режимов пониженного энергопотребления: WAIT, SLOW, LPWAIT, STOP и STANDBY;
• встроенный стабилизатор напряжения 1,8 В для ядра, позволяющий работать от одноканального источника питания 3,3 В;
• контроллер вложенных прерываний с быстрой обработкой нескольких векторов (32 вектора с 16 уровнями приоритетов IRQ, 2 источника маскируемых FIQ);
• до 48 портов входа/выхода (I/O) с 30/32/48 многофункциональными двунаправленными линиями I/O, из них 14 с возможностью прерываний по изменению уровня;
• интерфейс JTAG для отладки;
• индустриальный температурный диапазон от -40 до +85 °C.
Микросхемы изготавливаются в миниатюрных низкопрофильных корпусах TQFP64 или TQFP144. Серия в 144-штырьковом корпусе TQFP144 имеет интерфейсы CAN, USB и интерфейс с внешней памятью. Версии в 64-штырьковом корпусе TQFP64 имеют только CAN или USB интерфейс.
Тип Размер Размер Последовател^ые Число Пита- Д/Огие Рабочая темпе/ато/а, °C
Rom кбайт байт иRтерфейсы I/O B фОRкции МиR. Макс.
STR710FZ1 BGA 144; TQFP 144 FLASH 128 32768 4x12-bit 4x 16-bit таймера + WDG 2xSPI/2xI2C/4xUART/ HDLC/SC/CAN/USB 48 3,3 EMI, 16K Data Flash -40 85
STR710FZ2 BGA 144; TQFP 144 FLASH 256 65536 4x12-bit 4x 16-bit таймера + WDG 2xSPI/2xI2C/4xUART/ HDLC/SC/CAN/USB 48 3,3 EMI, 16K Data Flash -40 85
STR711FR0 BGA 64; TQFP64 FLASH 64 16384 4x12-bit 4x 16-bit таймера + WDG 2xSPI/2xI2C/4xUART/ HDLC/SC/USB 30 3,3 16K Data Flash -40 85
STR711FR1 BGA 64; TQFP64 FLASH 128 32768 4x12-bit 4x 16-bit таймера + WDG 2xSPI/2xI2C/4xUART/ HDLC/SC/USB 30 3,3 16K Data Flash -40 85
STR711FR2 BGA 64; TQFP64 FLASH 256 65536 4x12-bit 4x 16-bit таймера + WDG 2xSPI/2xI2C/4xUART/ HDLC/SC/USB 30 3,3 16K Data Flash -40 85
STR712FR0 BGA 64; TQFP64 FLASH 64 16384 4x12-bit 4x 16-bit таймера + WDG 2xSPI/2xI2C/4xUART/ HDLC/SC/CAN 32 3,3 16K Data Flash -40 85
STR712FR1 BGA 64; TQFP64 FLASH 128 32768 4x12-bit 4x 16-bit таймера + WDG 2xSPI/2xI2C/4xUART/ HDLC/SC/CAN 32 3,3 16K Data Flash -40 85
STR712FR2 BGA 64; TQFP64 FLASH 256 65536 4x12-bit 4x 16-bit таймера + WDG 2xSPI/2xI2C/4xUART/ HDLC/SC/CAN 32 3,3 16K Data Flash -40 85
STR715FR0 BGA 64; TQFP64 FLASH 64 16384 4x12-bit 4x 16-bit таймера + WDG 2xSPI/2xIxC/4xUART/ HDLC/SC 32 3,3 16K Data Flash -40 85
STR730FZ1 TQFP 144 FLASH 128 16384 16x10-bit 10x16-bit таймеров + 3x 16-bit TBU + 6x 16-bit ШИМ модулей + WDG + RTC 3xSPI/2xI2C/4xUART/ 3xCAN 112 16xDMA, внутр. RC-генератор -40 105
STR730FZ2 BGA 144; TQFP 144 FLASH 256 16384 16x10-bit 10x16-bit таймеров + 3x 16-bit TBU + 6x 16-bit ШИМ модулей + WDG + RTC 3xSPI/2xI2C/4xUART/ 3xCAN 112 16xDMA, внутр. RC-генератор -40 105
STR731FV0 TQFP 100 FLASH 64 16384 12x10-bit 6x 16-bit таймеров + 3x 16-bit TBU + 6x 16-bit ШИМ модулей + WDG + RTC 3xSPI/2xI2C/4xUART/ 3xCAN 72 16xDMA, внутр. RC-генератор -40 105
STR731FV1 TQFP 100 FLASH 128 16384 12x10-bit 6x 16-bit таймеров + 3x 16-bit TBU + 6x 16-bit ШИМ модулей + WDG + RTC 3xSPI/2xI2C/4xUART/ 3xCAN 72 16xDMA, внутр. RC-генератор -40 105
STR731FV2 TQFP 100 FLASH 256 16384 12x10-bit 6x 16-bit таймеров + 3x 16-bit TBU + 6x 16-bit ШИМ модулей + WDG + RTC 3xSPI/2xI2C/4xUART/ 3xCAN 72 16xDMA, внутр. RC-генератор -40 105
STR735FZ1 TQFP144 FLASH 128 16384 16x10-bit 10x16-bit таймеров + 3x 16-bit TBU + 6x 16-bit ШИМ модулей + WDG + RTC 3xSPI/2xI2C/4xUART 112 16xDMA, внутр. RC-генератор -40 105
STR735FZ2 BGA 144; TQFP 144 FLASH 256 16384 16x10-bit 10x16-bit таймеров + 3x 16-bit TBU + 6x 16-bit ШИМ модулей + WDG + RTC 3xSPI/2xI2C/4xUART 112 16xDMA, внутр. RC-генератор -40 105
STR736FV0 TQFP 100 FLASH 64 16384 12x10-bit 6x 16-bit таймеров + 3x 16-bit TBU + 6x 16-bit ШИМ модулей + WDG + RTC 3xSPI/2xI2C/4xUART 72 16xDMA, внутр. RC-генератор -40 105
STR736FV1 TQFP 100 FLASH 128 16384 12x10-bit 6x 16-bit таймеров + 3x 16-bit TBU + 6x 16-bit ШИМ модулей + WDG + RTC 3xSPI/2xI2C/4xUART 72 5 16xDMA, внутр. RC-генератор -40 105
STR736FV2 TQFP 100 FLASH 256 16384 12x10-bit 6x 16-bit таймеров + 3x 16-bit TBU + 6x 16-bit ШИМ модулей + WDG + RTC 3xSPI/2xI2C/4xUART 72 5 16xDMA, внутр. RC-генератор -40 105
RCCU/PLL
Ист. питания регулятор 1,8 В
ARM7TDMI ЦП 50 МГц
Интерфейс
JTAG
АЦП 12 бит 4 кан.
Таймер 0
Таймер 1 (ШИМ)
Таймер 1 (ШИМ) -
Таймер 1 (ШИМ) ■
э
S'
I
§
О.
Интерфейс внешн. памяти
64/128/256 кб Flash+16 кб доп.
64/32/16
SRAM
Контроллер внутр. прерыван.
Внешн. прерыв.
Генератор/RTC
Watchdog
48 I/O
QÛ -
О.
<
i2co
l2C/SPI о SPI 1
UART0
U ART 1/ Smart Card
UART2 UART3 HDLC USB 2.0 CAN 2.0В
Рис. 1. Блок-схема серии микроконтроллеров STR71xFxx
Блок-схема серии микроконтроллеров STR71xFxx показана на рис. 1.
Широкие интеграционные возможности ARM-микроконтроллеров компании STM позволяют использовать их во множестве приложений, требующих высокой производительности ЦП, обеспечения разнообразных функций с возможностью их наращивания и высокой экономичности при низких системных издержках. И для такого вывода есть несколько веских обоснований. Рассмотрим несколько из них.
Все основные компоненты встроены в чип, упакованный в очень маленькие корпуса типа BGA размером от 8x8 мм или TQFP, что обеспечивает простоту разводки. Например, набор внешних компонентов для STR730 в корпусе TQFP144 обеспечивает экономию средств за счет сокращения спецификации на 19 внешних компонентов.
У ARM-микроконтроллеров STM имеется разнообразная встроенная периферия.
Три интерфейса UART позволяют обеспечить полнодуплексные асинхронные соединения с внешними устройствами и независимо программируемой скоростью передачи (TX) и приема (RX) информации до 250 кбод. Они имеют два внутренних буфера FIFO (16 слов) для передачи и приема данных, 16-разрядный контроллер скорости передачи (макс. скорость до 2 Мбод/с), бит запуска для мультипроцессорных связей, программируемый контрольный бит и стоповый бит, режим проверки абонентской линии по шлейфу, обнаруживают ошибки четности, превышения
границы и кадра, 9 источников прерываний (флагов).
Четвертый ИАИТ интерфейс используется для реализации асинхронного интерфейса смарт-карт по стандарту 180 7816-3. Этот стандарт становится очень популярным во многих приложениях, особенно на транспорте, системах безопасности и в торговле. Интерфейс имеет отдельный 16-разрядный счетчик и генератор синхронизации, а также предварительный делитель частоты тактового генератора.
Каждый из двух буферированных последовательных интерфейсов периферии (BSPI) обеспечивает полнодуплексные синхронные соединения с внешними устройствами в режиме ведущий (master) или ведомый (slave). Один из них может использоваться как интерфейс с мультимедиа-картами. Интерфейсы имеют по 2 программируемых FIFO (до 10 слов) для передачи и приема данных, внутренний 8-разрядный предварительный делитель частоты генератора с максимальной скоростью двоичной передачи 5,5 Мбит/с в режиме «ведущий»
и 4 Мбит/c в режиме «ведомый», работают с 8- или 16-бит длиной слова и генерируют прерывания для событий приема и передачи.
Два I2C интерфейса с функциями «мультимастер» и «ведомый» поддерживают нормальный и быстрый режимы работы I2C (400 кГц), 7 или 10-разрядный режимы адресации. Один из интерфейсов I2C совмещен с SPI, так что можно использовать одновременно 2xSPI+1xI2C или 1xSPI+2xI2C. Кроме того, они обеспечивают 2 канала прерывания (IRQ) сигнализации ошибки обнаружения и конца передачи/приема.
К прогрессирующим интерфейсам можно отнести интерфейс высокоуровневого протокола управления каналом (HDLC), который поддерживает полнодуплексную работу и несколько протоколов, включая кодирование методами NRZ, NRZI, FM0 или манчестерское кодирование. Модуль использует внутренний 8-разрядный генератор скорости двоичной передачи. Он обеспечивает автоматическое обнаружение флага и вставку, автоматическое определение нулевого бита и вставку, 2x128 байт буфера RAM для передачи и приема, 4 режима работы (локальное закольцовы-вание, автоэхо, полный дуплекс, прерывание).
Интерфейс CAN соответствует стандарту v2.0, часть B (активный) и может обеспечить скорость передачи информации до 1 Mбод. Он обеспечивает до 32 конфигурируемых объектных сообщений, доступный фильтрованный прием для каждого объектного сообщения, маскируемые прерывания, программируемые буферы FIFO любой глубины (до 32 сообщений), 5 режимов работы, включая тестовый.
Интерфейс полноскоростного (full speed) стандарта USB v2.0 обеспечивает до 8 двунаправленных или 16 однонаправленных конечных точек и скорость передачи данных до 12 Мбит/с с поддержкой групповой пересылки и операций приостановки/продолжения работы USB.
Отвечая требованиям рынка ARM-микроконтроллеров, приборы STM имеют множество встроенных таймеров-счетчиков. Каждый из стандартных таймеров включает независимый 16-разрядный счетчик с 7-разрядным предварительным делителем частоты, два входа схемы выборки и два выхода компаратора, счетчик импульсов и канал ШИМ с выбираемой частотой. 16-разрядный сторожевой таймер (Watchdog) защищает приложение от аппаратных или программных ошибок и гарантирует восстановление путем генерирования сигнала сброса. Часы реального времени (RTC) имеют интегрированный генератор 32 кГц, специальный источник опорного напряжения для батарейного питания, 32-разрядный счетчик для долгосрочного измерения и обеспечивают периодическое прерывание и сигнальное прерывание.
К системным особенностям рассматриваемой серии микроконтроллеров можно отнести наличие интерфейса с внешней памя-
тью (EMI), контроллера внешних прерываний и множество портов входа/выхода (I/O).
Интерфейс с внешней памятью c не мультиплексированной шиной 16-бит данных/ 24-бит адресов обеспечивает до 4 внешних выбираемых банков памяти с размером адресного пространства до 16 Мбайт/банк, программируемым размером шины данных и режимом ожидания. Индивидуально программируемые для каждого банка режимы ожидания позволяют использовать для хранения программ или данных различные типы памяти (Flash, EPROM, ROM, SRAM и т. д.).
Контроллер вложенных прерываний обеспечивает быструю обработку прерываний с 32 векторами и 16 уровнями приоритетов, 2 маскируемых FIQ источников, кроме того, доступно до 14 внешних прерываний для прикладного использования или внешнего запуска приложения после состояния ожидания в режиме STOP.
Имеются стандартные порты I/O (с открытым стоком до 4 мА) и порты с высокотоковыми выводами (с открытым стоком до 8 мА). Обеспечивается двухтактная конфигурация выхода или с открытым стоком, по уровням обеспечивается TTL/CMOS совместимость. Встроенный сигма-дельта АЦП можно использовать для работы от одного до четырех мультиплексированных каналов входа с частотой выборки до 950 Гц в однократном или непрерывном режимах преобразования. Его разрешающая способность составляет 12 разрядов при типовой частоте дискретизации 0,5 кГц или 2мс (1 кГц или 1мс при одноканальном режиме работы). Амплитуда входного напряжения составляет от нуля до 2,5 В. Входная полоса частот до 1 кГц. Обеспечивается маскируемое прерывание. Имеется программируемый предварительный делитель. Разрешение АЦП составляет 11,5 бит ENOB.
Существенным достоинством ARM-микроконтроллеров STM по сравнению с их аналогами является экономичность, для достижения которой использовано несколько нововведений. Во-первых, это увеличенное число режимов пониженного энергопотребления. Кроме рабочего режима работы (RUN), на котором потребление тока составляет примерно 50 мА, их пять:
• Режим ожидания (WAIT), при котором приостанавливается работа ядра, но продолжается функционирование периферии с сохранением содержимого регистров. Потребление уменьшается до 12 мА;
• Замедленный режим (SLOW), при котором тактовая частота замедляется до CLK/16 или 32 кГц. В этом режиме потребление составляет порядка 3 мА;
• Режим глубокого понижения с ожиданием (LPWAIT). В этом режиме вводятся ограничения режимов WAIT и SLOW, в результате чего потребление снижается до 35 мкА;
• Режим останова (STOP). Вся синхронизация останавливается, но состояние микроконтроллера, RAM и регистров сохраняется (под-
держивается питание, нет сброса). Потребление в этом режиме составляет 14 мкА;
• Дежурный режим (STANDBY). Выключаются стабилизатор напряжения, питание ядра. Работает только RTC. Потребление составляет всего 10 мкА. Выход из этого режима осуществляется по прерыванию с RTC или по сигналам перезапуска (WAKEUP IT, Reset).
Гибкость управления электропитанием во многом определяется гибкостью управления синхронизацией, поэтому в рассматриваемых устройствах применено несколько решений для управления синхронизацией от нескольких источников. Каналами управления тактовой частотой могут служить внешний кварцевый резонатор или генератор, внутренний RC-генератор, обеспечивающий работу до 28 PLL, часы реального времени с собственным генератором 32 кГц, способные обеспечить синхронизацию всего устройства. Кроме того, обеспечивается предварительное деление тактовой частоты до 256 раз.
Разные внутренние устройства микроконтроллеров имеют разные уровни потребления. В частности, для уменьшения потребления встроенной Flash -памяти в ARM-микроконтроллерах STM предусмотрено три режима ее работы, а, следовательно, и потребления тока: пакетный, экономичный и режим выключенного питания Flash.
Еще одной особенностью ARM-микроконтроллеров STM, способствующей их эффективности, является двойственная архитектура, основанная на использовании двойственных шин периферийных устройств (APB). Наличие таких шин позволяет лучше наладить синхронизацию работы периферии. Последовательная периферия совместно использует шину APB1. Периферия реального времени и таймеры совместно используют шину APB2. При таком построении для оптимизации потребления и производительности одна шина APB может быть замедлена, в то время как вторая будет работать быстро.
Двойственность архитектуры проявляется и в наличии двух независимых внутренних стабилизаторов напряжения. Имеется основной стабилизатор напряжения (выключаемый в режиме STANDBY) и экономичный дополнительный стабилизатор напряжения (маломощный).
Не будем забывать, что компания STM является признанным лидером в области разработки и производства микросхем памяти, в том числе и для встраиваемых устройств. Поэтому все микроконтроллеры STM оснащены Flash-памятью высочайшего класса. В ARM-микроконтроллерах имеется встраиваемая Flash-память, изготавливаемая литографией с разрешением 0,18 мкм, рассчитанная на 100 к циклов перезаписи, в составе двух банков памяти: основного размером до 256 кбайт для программного кода и вспомогательного с низкой латентностью размером 16 кбайт для данных. Наличие двух банков позволяет
ТАР (JTAG/ICE) ЦП ARM7TDMI™ 36 МГц
16 кб SRAM
256/128/64 кб Flash
Таймер 0-1/5-9 Баз. таймер 0-2
І2С0-1
UART 0-3
Watchdog Таймер wake-up WAKEUP/INT
CAN 0-2
SPI0-2
Рис. 2. Блок-схема серии микроконтроллеров STR73xFxx
обеспечить функцию чтения во время записи, т. е. считывание одного банка во время записи другого.
К основным параметрам Flash-памяти ARM-микроконтроллеров STM относятся:
• лучшее в своем классе Flash-памяти время произвольного доступа в 30 нс;
• обеспечение прямого доступа на частоте до 36 Гц для чисто детерминированного поведения;
• наличие опции аппаратной акселерации на частоте до 50 МГц (ширина Flash 64 бит);
• универсальность программирования: прикладное программирование IAP (чтение во время записи) и внутрисхемное программирование (ISP) посредством интерфейса JTAG.
• возможность секторной защиты записи для предотвращения нежелательной записи;
• наличие модульной защиты доступа для предотвращения компьютерного пиратства. Второй серией ARM-микроконтроллеров STM, доступных в настоящее время потребителю, является серия STR73xFxx. Эта серия, в отличие от первой, в большей степени нацелена на применение в промышленных приложениях. В качестве основных платформ для применения для нее предполагаются: промышленная электроника (электрокоммутацион-ное оборудование, системы автоматизации, бытовая автоматизация, логические контроллеры и т. д.), электроприборы и высоковольтное оборудование переменного тока, управление электродвигателями, торговое оборудование и т. д. Поэтому в этой серии увеличено до трех число интерфейсов CAN, увеличено число последовательных интерфейсов до 12, возросли возможности по ШИМ модулям, таймерам/счет-
чикам и расширен рабочий температурный диапазон вверх до +105 °С. Вместо 12-разрядного 4-канального АЦП встроен 10-разрядный 12- или 16-канальный АЦП, и есть ряд других особенностей. Блок-схема микроконтроллеров данной серии приведена на рис. 2.
Серия STR73xFxx — это новый этап в развитии ARM-микроконтроллеров STM. Основными отличительными характеристиками данной серии являются:
• рабочая частота ядра ARM7 36 МГц — нет режима ожидания, а, следовательно, чисто детерминированная работа;
• одноканальное питание 5 В, которое является «родным» для индустриальных приложений;
• до 20 таймеров, до 16 каналов ШИМ, до 3 интерфейсов CAN — самый большой набор периферии, что способствует снижению системной стоимости;
• внутренний RC-генератор (32 кГц или 2 МГц);
• до 112 портов входа/выхода общего пользования (GPIO);
• до 16 каналов прямого доступа к памяти (DMA), что снижает нагрузку центрального процессора и обеспечивает оптимизацию доступа к памяти;
• расширенный рабочий температурный диапазон: от -40 до 105 °С;
• 10-разрядный 12-ти или 16-ти канальный АЦП со временем преобразования в 3 мкс;
• встроенный загрузчик, который дает гибкость для программирования;
• корпус TQFP 100.
Сравнивая технические характеристики ARM-микроконтроллеров STM с аналогичными устройствами компаний Freescale (табл. 2), Atmel (табл. 3), Philips (табл. 4) и др., можно сделать определенные выводы.
Таблица 2. 32-Bit микроконтроллеры Freescale с ядром ARM: семейство MAC71GG для автоэлектроники
Обозна- чение CPU производительность ЦП, MIPS Рабочая частота, МГц Питание ядра, B Питание IO, B Рабочая температура, °С Контроллер памяти Размер Flash программ, кбайт Размер Flash данных, кбайт Размер RAM, кбайт АЦП Число GPIO Интерфейс шины Скорость внешней шины, МГц Последова- тельные интерфейсы Таймеры Другая периферия Корпус Статус
Мин Макс.
MAC71G1 36, 45 4G, 5G 2,5 3,3; 5 -4G 125 FLASH, SRAM 512 32 32 32x Ю бит 112 DSPI, ESCIx2, FlexCANx4, I2C 16x16 бит 10-кан. таймер периодич. прерываний, контроллер РИА, внутр. генератор, внутр. PH LQFP144 Образцы
MAC71G4 36, 45 4G, 5G 2,5 3,3; 5 -4G 125 FLASH, SRAM 384 32 24 32x Ю бит 112 DSPI, ESCIx2, FlexCANx4, I2C 16x16 бит 10-кан. таймер периодич. прерываний, контроллер РИА, внутр. генератор, внутр. PH LQFP144 Образцы
MAC71G5 36, 45 4G, 5G 2,5 3,3; 5 -4G 125 FLASH, SRAM 768 32 4G 32x Ю бит 112 DSPI, ESCIx2, FlexCANx4, I2C 16x16 бит 10-кан. таймер периодич. прерываний, контроллер РИА, внутр. генератор, внутр. PH LQFP144
MAC71G6 36, 45 4G, 5G 2,5 3,3; 5 -4G 85, Ю5, 125 FLASH, SRAM Ю24 32 48 32x Ю бит 112 DSPI, ESCIx2, FlexCANx4, I2C 16x16 бит 10-кан. таймер периодич. прерываний, контроллер РИА, внутр. генератор, внутр. PH LQFP144
MAC7111 36, 45 4G, 5G 2,5 3,3; 5 -4G 85, Ю5, 125 FLASH, SRAM 512 32 32 16xW бит 112 22-bit addr/ 16-bit data 4G, 5G DSPI, ESCIx2, FlexCANx4, I2C 16x16 бит 10-кан. таймер периодич. прерываний, контроллер РИА, внутр. генератор, внутр. PH LQFP144 Образцы
MAC7115 36, 45 4G, 5G 2,5 3,3; 5 -4G 125 FLASH, SRAM 768 32 4G 16xW бит 112 22-bit addr/ 16-bit data 4G, 5G DSPI, ESCIx2, FlexCANx4, I2C 16x16 бит 10-кан. таймер периодич. прерываний, контроллер РИА, внутр. генератор, внутр. PH LQFP 144
MAC7116 36, 45 4G, 5G 2,5 3,3; 5 -4G 85, Ю5, 125 FLASH, SRAM Ю24 32 48 16xW бит 112 22-bit addr/ 16-bit data 4G, 5G DSPI, ESCIx2, FlexCANx4, I2C 16x16 бит 10-кан. таймер периодич. прерываний, контроллер РИА, внутр. генератор, внутр. PH LQFP 144
MAC7121 36, 45 4G, 5G 2,5 3,3; 5 -4G 125 FLASH, SRAM 512 32 32 16xW бит 85 DSPI, ESCIx2, FlexCANx4, I2C 16x16 бит 10-кан. таймер периодич. прерываний, контроллер РИА, внутр. генератор, внутр. PH LQFP 112 Образцы
MAC7122 36, 45 4G, 5G 2,5 3,3; 5 -4G 125 FLASH, SRAM 256 32 16 16xW бит 85 DSPI, ESCIx2, FlexCANx3, I2C 16x16 бит 10-кан. таймер периодич. прерываний, контроллер РИА, внутр. генератор, внутр. PH LQFP 112 Образцы
MAC7124 36, 45 4G, 5G 2,5 3,3; 5 -4G 125 FLASH, SRAM 384 32 24 16xW бит 85 DSPI, ESCIx2, FlexCANx4, I2C 16x16 бит 10-кан. таймер периодич. прерываний, контроллер РИА, внутр. генератор, внутр. PH LQFP 112 Образцы
MAC7131 36, 45 4G, 5G 2,5 3,3; 5 -4G 85,125 FLASH, SRAM 512 32 32 32x Ю бит 128 22-bit addr/ 16-bit data 4G, 5G DSPI, ESCIx2, FlexCANx4, I2C 16x16 бит 10-кан. таймер периодич. прерываний, контроллер РИА, внутр. генератор, внутр. PH MAPBGA 2G8 Образцы
MAC7134 36, 45 4G, 5G 2,5 3,3; 5 -4G 125 FLASH, SRAM 384 32 24 32x Ю бит 128 22-bit addr/ 16-bit data 4G, 5G DSPI, ESCIx2, FlexCANx4, I2C 16x16 бит 10-кан. таймер периодич. прерываний, контроллер РИА, внутр. генератор, внутр. PH MAPBGA 2G8 Образцы
MAC7135 36, 45 4G, 5G 2,5 3,3; 5 -4G 125 FLASH, SRAM 768 32 4G 32x Ю бит 144 22-bit addr/ 16-bit data 4G, 5G DSPI, ESCIx2, FlexCANx4, I2C 16x16 бит 10-кан. таймер периодич. прерываний, контроллер РИА, внутр. генератор, внутр. PH MAPBGA 2G8
MAC7136 36, 45 4G, 5G 2,5 3,3; 5 -4G 85, Ю5, 125 FLASH, SRAM Ю24 32 48 32x Ю бит 144 22-bit addr/ 16-bit data 4G, 5G DSPI, ESCIx2, FlexCANx4, I2C 16x16 бит 10-кан. таймер периодич. прерываний, контроллер РИА, внутр. генератор, внутр. PH MAPBGA 2G8
Обозначение Статус Размер Flash, кбайт Размер SRAM, кбайт Ethernet MAC 1O/1OO CAN AES и 3DES USB устр-во USB Хост LCD конролл ер UART USART DBGU 1O-bit АЦП, кан. F. max, МГц ШИМ, кан. Число портов I/O 1O-bit ЦАП, кан. PDC, кан. Boot ROM, кбайт Интерфейс внешней шины Интерфейс SDRAM
AT91FR40162S Образец 2048 256 - - - - - - - 75 - 32 - - 1 -
AT91M40800 Производство - - - - - - - - 40 - 32 - - 1 -
AT91M42800A Производство - - - - - - - - 33 - 54 - - 1 -
AT91M55800A Производство - - - - - - - 33 - 58 10 - 1 -
AT91R40008 Производство - 256 - - - - - - - 75 - 32 - - 1 -
AT91RM3400 Производство - 96 - - - - - - 66 - 63 - 20 256 -
AT91RM9200 Производство - 16 - - - - 180 - 94 - 20 128 1 1
AT91SAM7A1 Производство - - - - - - 40 49 - 11 - 1 -
AT91SAM7A2 Производство - 16 - - - - - 16 30 57 - 10 - 1 -
AT91SAM7A3 Образец 256 32 - - - - 16 60 62 - 19 - - -
AT91SAM7S128 Производство 128 32 - - - - - 55 32 - 11 - - -
AT91SAM7S256 Производство 256 64 - - - - - 55 32 - 11 - - -
AT91SAM7S32 Производство 32 - - - - - - 55 21 - - - -
AT91SAM7S321 Развитие 32 - - - - - 55 32 - 11 - - -
AT91SAM7S64 Производство 64 16 - - - - - 55 32 - 11 - - -
AT91SAM7X128 Образец 128 32 - - - 55 60 - 11 - - -
AT91SAM7X256 Образец 256 64 - - - 55 60 - 11 - - -
AT91SAM7XC128 Образец 128 32 1 1 1 1 - - 3 8 55 4 60 - 11 - - -
AT91SAM7XC256 Образец 256 64 1 1 1 1 - - 3 8 55 4 60 - 11 - - -
AT91SAM9261 Образец - 160 - - - 1 2 1 4 - 180 - 96 - 19 32 1 1
Если для 8-разрядных приложений производители микроконтроллеров вплотную подошли к созданию универсального устройства на все случаи жизни, например, семейство микроконтроллеров |^PSD 8ТМ1сгое1ес1готс5, то для 32-разрядных приложений до этого еще далеко. У каждого производителя АИМ-микроконтроллеров есть свои «изюминки» в области встраиваемой периферии, направ-
ленные на их использование в тех или иных конкретных прикладных приложениях. В основном это можно объяснить нацеленностью компаний на те или иные секторы рынка приложений для разрабатываемых устройств.
Компания STMicroe1ectronics исторически ориентировалась на сектор изделий для массового потребления, поэтому, отвечая по-
требностям этой части рынка электронных компонентов, она внедрила в свои ARM-микроконтроллеры интерфейсы Smart-Card, BSPI, USB и HDLC, а для индустриальных приложений резко увеличила число ШИМ-модулей, таймеров и последовательных интерфейсов.
Компания Freescale всегда была сильна своими предложениями для автоэлектроники,
Таблица 4. 16/32-разрядные микроконтроллеры Philips с ядром ARM7TDMI-S (1.8V): семейство LPC2000
Обозна- Размер памяти, кбайт Таймеры/Счетчики Модуль ШИМ Последовательные интерфейсы АЦП, кан./бит Прерывания (внеш.)
чение Flash RAM 32-bit таймеры Сбор Сравнен. 32-bit таймеры Кан. I/O UART I2C SPI CAN МГц Корпус
LPC2294 256 16 4* 8 8 1 6 112 2 1 2 4 8/10 19(4)/16 60 LQFP144
LPC2292 256 16 4* 8 8 1 6 112 2 1 2 2 8/10 19(4)/16 60 LQFP144
LPC2290 Внешн. 16 4* 8 8 1 6 76 2 1 2 2 8/10 19(4)/16 75 LQFP144
LPC2214 256 16 4* 8 8 1 6 112 2 1 2 - 8/10 19(4)/16 60 LQFP144
LPC2212 128 16 4* 8 8 1 6 112 2 1 2 - 8/10 19(4)/16 60 LQFP144
LPC2210 Внешн. 16 4* 8 8 1 6 76 2 1 2 - 8/10 19(4)/16 60 LQFP144
LPC2220 Внешн. 64 4* 8 8 1 6 76 2 1 2 - 8/10 19(4)/16 60 TSSOP28, HVQFN28, PLCC28
LPC2194 256 16 4* 8 8 1 6 46 2 1 2 4 4/10 19(4)/16 60 LQFP64
LPC2148 512 40 4* 8 8 1 6 45 2 2 2 - 8/10 23(4)/16 60 LQFP64
LPC2146 256 40 4* 8 8 1 6 45 2 2 2 - 8/10 23(4)/16 60 LQFP64
LPC2144 128 16 4* 8 8 1 6 45 2 2 2 - 8/10 23(4)/16 60 LQFP64
LPC2142 64 16 4* 8 8 1 6 45 2 2 2 - 8/10 23(4)/16 60 LQFP64
LPC2141 32 8 4* 8 8 1 6 45 2 2 2 - 8/10 23(4)/16 60 LQFP64
LPC2138 512 32 4* 8 8 1 6 47 2 2 2 - 2x8/10 22(4)/16 60 LQFP64
LPC2136 256 32 4* 8 8 1 6 47 2 2 2 - 2x8/10 22(4)/16 60 LQFP64
LPC2134 128 16 4* 8 8 1 6 47 2 2 2 - 2x8/10 22(4)/16 60 LQFP64
LPC2132 64 16 4* 8 8 1 6 47 2 2 2 - 8/10 22(4)/16 60 LQFP64и HVQFN64
LPC2131 32 8 4* 8 8 1 6 47 2 2 2 - 8/10 22(4)/16 60 LQFP64
LPC2129 256 16 4* 8 8 1 6 46 2 1 2 2 4/10 19(4)/16 60 HVQFN64, LQFP64
LPC2119 128 16 4* 8 8 1 6 46 2 1 2 2 4/10 19(4)/16 60 HVQFN64, LQFP64
LPC2124 256 16 4* 8 8 1 6 46 2 1 2 - 4/10 19(4)/16 60 HVQFN64, LQFP64
LPC2114 128 16 4* 8 8 1 6 46 2 1 2 - 4/10 19(4)/16 60 HVQFN64, LQFP64
LPC2106 128 64 4* 7 7 1 6 32 2 1 1 - - 16(3)/16 60 LQFP48
LPC2105 128 32 4* 7 7 1 6 32 2 1 1 - - 16(3)/16 60 LQFP48
LPC2104 128 16 4* 7 7 1 6 32 2 1 1 - - 16(3)/16 60 LQFP48
LPC2103 32 8 6 8 8 1 14 32 2 2 2 - 8/10 19(3)/16 70 LQFP48
LPC2102 16 4 6 8 8 1 14 32 2 2 2 - 8/10 19(3)/16 70 LQFP48
LPC2101 8 2 6 8 8 1 14 32 2 2 2 - 8/10 19(3)/16 70 LQFP48
* включая таймер Watchdog и часы реального времени
16-bit таймеры RTC RTT Таймер интервала SPI SSC TWI MCI Таймер Watchdog Power-On- Reset Brown Out Detector Внутр, RC-генератор Кварц генератор PLL Ядро ЦП MMU/MPU Питание ядра, В Питание IO, В Корпуса
- - - - - - - - - - - - ARM7TDMI - 1,65 -1,95 2,7-3,6 TFBGA 121
- - - - - - - - - - - - ARM7TDMI - 1,8-3,6 1,8-3,6 LQFP 100
- - - - - - - ARM7TDMI - 2,7-3,6 2,7-5,5 LBGA 144 LQFP 144
- - - - - - - - ARM7TDMI - 2,7—3,6, Analog 2,7-5,5 LFBGA 176 LQFP 176
- - - - - - - - - - - - ARM7TDMI - 1,65-1,95 2,7-3,6 LQFP 100
- - - ARM7TDMI MPU 1,65-1,95 1,65-3,6 LQFP 100
- - - ARM920T MMU 1,65-1,95 1,65-3,6 LFBGA 256 PQFP 208
- - - - - - - - - ARM7TDMI - 3,0— 3,6, Analog 3,0-5,5 LQFP 144
10 - - - - - - - - - ARM7TDMI - 3,0— 3,6, Analog 3,0-5,5 LQFP 176
- - ARM7TDMI MPU 3,0-3,6 LQFP 100
- - ARM7TDMI - 3,0-3,6 LQFP64
- - ARM7TDMI - 3,0-3,6 LQFP64
- - ARM7TDMI - 3,0-3,6 LQFP 48
- - ARM7TDMI - 3,0-3,6 LQFP64
- - ARM7TDMI - 3,0-3,6 LQFP64
- - ARM7TDMI - 3,0-3,6 LQFP 100
- - ARM7TDMI - 3,0-3,6 LQFP 100
3 - 1 1 2 1 1 - 1 1 1 1 1 1 ARM7TDMI - 3,0-3,6 LQFP 100
3 - 1 1 2 1 1 - 1 1 1 1 1 1 ARM7TDMI - 3,0-3,6 LQFP 100
3 - 1 1 2 3 1 1 1 1 - - 2 2 ARM926EJ-S MMU 1,08-1,32 1,65-3,6 LFBGA 217
и не случайно ее первое семейство микроконтроллеров ARM оборудовано четырьмя CAN интерфейсами. Это единственная компания, в которой на настоящий момент есть ARM-микроконтроллеры с рабочей температурой до +125 °С.
Микросхемы компании Atmel широко используются в телекоммуникационном оборудовании, и она одной из первых начала встраивать в свои ARM-микроконтроллеры модули Ethernet MAC 10/100. У нее же можно найти и микроконтроллер не только с АЦП, но и с ЦАП. Здесь надо сказать, что уже большинство производителей отказалось выпускать микроконтроллеры с ЦАП ради удешевления микросхем и в связи с тем, что большинство задач аналогового управления решается на основе использования модулей ШИМ вместо ЦАП.
Компания Philips одна из первых освоила производство ARM микроконтроллеров и последовательно расширяет их семейство. По сравнению с STM, в устройствах Philips менее разнообразна периферия, которая «посажена» на общую шину, больше время доступа к Flash-памяти (50 мс), менее гибкое энергопотребление, но есть версии с ЦАП, с 4 CAN и облегченные версии в корпусах с 48 и даже 28 выводами.
Несмотря на краткость проведенного сравнения технических характеристик ARM-микроконтроллеров различных фирм, можно сделать вывод о том, что ARM-микроконтроллеры компании STM ни в чем не уступают, а по некоторым позициям превосходят аналогичные устройства других производителей.
Возвращаясь к вопросу о выборе микроконтроллера, необходимо заметить, что кроме технических характеристик, надо иметь в виду и некоторые другие аспекты.
Во-первых, это сочетание технических возможностей микроконтроллера и его систем-
ной стоимости, с учетом спецификации всех компонентов и особенностей технологического процесса. Например, в 32-разрядных приложениях, чем больше технических возможностей микроконтроллера, тем большее число выводов у его корпуса, и с учетом требований низкопрофильности и миниатюрности компонентов, производители упаковывают такие устройства в корпуса типа BGA с шариковыми выводами или просто с матрицей точечных контактов. В настоящее время еще не все российские предприятия готовы работать с такими корпусами. Применение для монтажа таких корпусов многослойных плат и особая тщательность разводки дополнительно увеличивают системную стоимость. Стоимость монтажа прибора в корпусе BGA намного выше, чем в корпусах QFP.
Во-вторых, это поддержка микроконтроллера не только аппаратно-программными средствами разработки, но и доступными библиотеками программного обеспечения
встроенной периферии. Как отмечалось выше, аппаратно-программные средства для всех рассмотренных микроконтроллеров разных фирм однотипные. Различие только в оценочных платах с установленными на них соответствующими микроконтроллерами.
Благодаря тесному партнерству компаний STM и ARM, микроконтроллеры STM обеспечены недорогим оценочным комплектом ARM RealView®, специально предназначенным для серии STR7хх. В состав этого комплекта входит популярное программное обеспечение ARM RealView Developer Suite® и соответствующее техническое оборудование. Перечень доступных отладочных средств, которые поставляются через дистрибьюторов ST, представлен в таблице 5.
Вопрос о доступности библиотек программного обеспечения периферии более сложен. Чаще всего, он связан с подписанием соответствующих соглашений и дополнительными затратами. И в этом отношении
Таблица 5. Средства поддержки микроконтроллеров STR7
Обозначение Описание
| Стартовые комплекты (Starter kits)
STR711-SK/IAR STR712-SK/IAR STR730-SK/IAR Комплект для быстрого старта от IAR, включающий IAR embedded workbench для ARM (EWARM - версия с ограничением размера кода в 32 K), внутрисхемный эмулятор J-Link (USB/JTAG), а также демонстрационные платы IAR
STR71x-SK/RAIS Стартовый комплект REva от Raisonance, включающий RIDE (версия с ограничением размера кода в 16 K) с компилятором GNU C/C++ , отладчик, внутрисхемный эмулятор RLink (USB/JTAG), демонстрационная материнская и дочерняя платы для STR711F и STR712
STR730-SK/RAIS Стартовый комплект REva от Raisonance, включающий RIDE (версия с ограничением размера кода в 16 K) с компилятором GNU C/C++ , отладчик, внутрисхемный эмулятор RLink (USB/JTAG), демонстрационная материнская и дочерняя платы для STR730F
STR710-SK/HIT Стартовый комплект ARM от Hitex, включающий HiTOP5 (версия с ограничением размера кода в 16 K) с компилятором GNU C/C++ , отладчик, внутрисхемный эмулятор Tantino (USB/JTAG), оценочная плата для STR710F
STR730-SK/HIT Стартовый комплект ARM от Hitex, включающий HiTOP5 (версия с ограничением размера кода в 16 K) с компилятором GNU C/C++ , отладчик, внутрисхемный эмулятор Tantino (USB/JTAG), оценочная плата для STR730F
| Оценочная плата развития
STR710-EVAL Оценочная плата развития для серии STR71xF
STR730-EVAL/WS Оценочная плата развития для серии STR73xF с сокетом для микроконтроллера
| Программное обеспечение RVDK
STR7-RVDK Комплект разработчика ARM RealView для ST и ARM7TM, включающий технические средства RealView ICE Micro Edition. Без ограничений по времени
STR7-RVDK/BAS Комплект разработчика ARM RealView для ST. Базовая версия для ARM7 с техническими средствами RealView ICE Micro Edition. Лицензия на год и меньшая стоимость
STR-RVICE/ME Технические средства эмулятора RealView ICE Micro Edition с предварительной версией на CD (оценочная версия на 45 дней)
STR-RVDK/CPP Факультативная поддержка C++
обеспеченность ARM микроконтроллеров STM вне конкуренции. На специализированном сайте компании STM, посвященном микроконтроллерам, их применению и поддержке разработчиков, ht tp: //mcu.st.c om, кроме описаний микроконтроллеров, примеров их применения и другой литературы, для разработчиков свободно доступна для копирования вся библиотека программ на языке Си для всех периферийных устройств. Для каждой серии имеется два пакета программ: стандартная библиотека и библиотека для USB. Для каждого встроенного периферийного ус-
тройства имеется пример применения. Библиотеки абсолютно независимы от используемого программного обеспечения, работают с платами развития для микроконтроллеров STM, но могут быть легко приспособлены к другим аппаратным средствам.
Каковы перспективы развития 32-разрядных ARM микроконтроллеров? Высокая экономичность и хорошая рентабельность мик-роконтроллерных ядер ARM позволяют надеяться, что рыночный спрос на микросхемы на их основе будет постоянно возрастать в самых разнообразных областях применения.
Так, компания Freescale уже приступила к производству нового семейства ARM микроконтроллеров для применения в сотовых телефонах. Некоторые из производителей (например, Atmel) начали производство микроконтроллеров на основе ядра ARM9, а другие, в том числе и STM, планируют их производство уже в текущем году. А это означает, что производительность микроконтроллеров вырастет до 80 MIPS на частоте до 100 МГц, встроенный модуль Ethernet МАС станет нормой, появятся новые встроенные интерфейсы и новые возможности. ■