Микроконтроллеры компании STMicroelectronics с ядром ARM
В статье производится сравнительный анализ основных характеристик 32-разрядных микроконтроллеров компании STMicroelectronics, разработанных на основе ядра ARM7 с аналогичными микросхемами других фирм.
Компания 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®, производительность (до 100MIPS) и экономичность которого зависят от рабочей частоты (до 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.
Таблица 1. STR7 (ARM) — 32-разрядные микроконтроллеры [19]
|
Корпус |
Flash, кбайт |
Размер внутр. Ram, байт |
АЦП |
Таймеры |
Последовательные интерфейсы |
Число I/O |
Питание, B |
Другие функции |
Рабочая температура, °C |
STR710FZ1 |
BGA144; TQFP144 |
128 |
32768 |
4x12-bit |
4x16-bit, WDG |
2xSPI/ 2xI2C/ 4xUART/ HDLC/ SC/ CAN/ USB |
48 |
3.3 |
EMI, 16K Data Flash |
-40...+85 |
STR710FZ2 |
BGA144; TQFP144 |
256 |
65536 |
4x12-bit |
4x16-bit, WDG |
2xSPI/ 2xI2C/ 4xUART/ HDLC/ SC/ CAN/ USB |
48 |
3.3 |
EMI, 16K Data Flash |
-40...+85 |
STR711FR0 |
BGA64; TQFP64 |
64 |
16384 |
4x12-bit |
4x16-bit, WDG |
2xSPI/ 2xI2C/ 4xUART/ HDLC/ SC/ USB |
30 |
3.3 |
16K Data Flash |
-40...+85 |
STR711FR1 |
BGA64; TQFP64 |
128 |
32768 |
4x12-bit |
4x16-bit, WDG |
2xSPI/ 2xI2C/ 4xUART/ HDLC/ SC/ USB |
30 |
3.3 |
16K Data Flash |
-40...+85 |
STR711FR2 |
BGA64; TQFP64 |
256 |
65536 |
4x12-bit |
4x16-bit, WDG |
2xSPI/ 2xI2C/ 4xUART/ HDLC/ SC/ USB |
30 |
3.3 |
16K Data Flash |
-40...+85 |
STR712FR0 |
BGA64; TQFP64 |
64 |
16384 |
4x12-bit |
4x16-bit, WDG |
2xSPI/ 2xI2C/ 4xUART/ HDLC/ SC/ CAN |
32 |
3.3 |
16K Data Flash |
-40...+85 |
STR712FR1 |
BGA64; TQFP64 |
128 |
32768 |
4x12-bit |
4x16-bit, WDG |
2xSPI/ 2xI2C/ 4xUART/ HDLC/ SC/ CAN |
32 |
3.3 |
16K Data Flash |
-40...+85 |
STR712FR2 |
BGA64; TQFP64 |
256 |
65536 |
4x12-bit |
4x16-bit, WDG |
2xSPI/ 2xI2C/ 4xUART/ HDLC/ SC/ CAN |
32 |
3.3 |
16K Data Flash |
-40...+85 |
STR715FR0 |
BGA64; TQFP64 |
64 |
16384 |
4x12-bit |
4x16-bit, WDG |
2xSPI/ 2xI2C/ 4xUART/ HDLC/ SC |
32 |
3.3 |
16K Data Flash |
-40...+85 |
STR730FZ1 |
TQFP 144 |
128 |
16384 |
16x10-bit |
10x16-bit, 3x16-bit TBU, 6x16-bit ШИМ, WDG, RTC |
3xSPI/ 2xI2C/ 4xUART/ 3xCAN |
112 |
5 |
16xDMA, внутр. RC-генератор |
-40...+105 |
STR730FZ2 |
BGA144; TQFP144 |
256 |
16384 |
16x10-bit |
10x16-bit, 3x16-bit TBU, 6x16-bit ШИМ, WDG, RTC |
3xSPI/ 2xI2C/ 4xUART/ 3xCAN |
112 |
5 |
16xDMA, внутр. RC-генератор |
-40...+105 |
STR731FV0 |
TQFP100 |
64 |
16384 |
12x10-bit |
6x16-bit, 3x16-bit TBU, 6x16-bit ШИМ, WDG, RTC |
3xSPI/ 2xI2C/ 4xUART/ 3xCAN |
72 |
5 |
16xDMA, внутр. RC-генератор |
-40...+105 |
STR731FV1 |
TQFP100 |
128 |
16384 |
12x10-bit |
6x16-bit, 3x16-bit TBU, 6x16-bit ШИМ, WDG, RTC |
3xSPI/ 2xI2C/ 4xUART/ 3xCAN |
72 |
5 |
16xDMA, внутр. RC-генератор |
-40...+105 |
STR731FV2 |
TQFP100 |
256 |
16384 |
12x10-bit |
6x16-bit, 3x16-bit TBU, 6x16-bit ШИМ, WDG, RTC |
3xSPI/ 2xI2C/ 4xUART/ 3xCAN |
72 |
5 |
16xDMA, внутр. RC-генератор |
-40...+105 |
STR735FZ1 |
TQFP144 |
128 |
16384 |
16x10-bit |
10x16-bit, 3x16-bit TBU, 6x16-bit ШИМ, WDG, RTC |
3xSPI/ 2xI2C/ 4xUART |
112 |
5 |
16xDMA, внутр. RC-генератор |
-40...+105 |
STR735FZ2 |
BGA144; TQFP144 |
256 |
16384 |
16x10-bit |
10x16-bit, 3x16-bit TBU, 6x16-bit ШИМ, WDG, RTC |
3xSPI/ 2xI2C/ 4xUART |
112 |
5 |
16xDMA, внутр. RC-генератор |
-40...+105 |
STR736FV0 |
TQFP100 |
64 |
16384 |
12x10-bit |
6x16-bit, 3x16-bit TBU, 6x16-bit ШИМ, WDG, RTC |
3xSPI/ 2xI2C/ 4xUART |
72 |
5 |
16xDMA, внутр. RC-генератор |
-40...+105 |
STR736FV1 |
TQFP100 |
128 |
16384 |
12x10-bit |
6x16-bit, 3x16-bit TBU, 6x16-bit ШИМ, WDG, RTC |
3xSPI/ 2xI2C/ 4xUART |
72 |
5 |
16xDMA, внутр. RC-генератор |
-40...+105 |
STR736FV2 |
TQFP100 |
256 |
16384 |
12x10-bit |
6x16-bit, 3x16-bit TBU, 6x16-bit ШИМ, WDG, RTC |
3xSPI/ 2xI2C/ 4xUART |
72 |
5 |
16xDMA, внутр. RC-генератор |
-40...+105 |
Основными параметрами серии STR71xF являются:
- ядро ARM7TDMI с 32-бит и Thumb16-бит набором команд, трехступенчатый конвейер, 32-бит АЛУ и мощные средства отладки;
- от 16 кбайт до 64 кбайт ОЗУ (SRAM);
- от 128 кбайт до 256 кбайт флэш-памяти с малым временем случайного доступа;
- рабочая частота 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 °C до +85 °C.
Микросхемы изготавливаются в миниатюрных низкопрофильных корпусах TQFP64 или TQFP144. Серия в 144-штырьковом корпусе TQFP144 имеет интерфейсы CAN, USB и интерфейс с внешней памятью. Версии в 64-штырьковом корпусе TQFP64 имеют только CAN или USB интерфейс.
Блок-схема серии микроконтроллеров STR71xFxx показана на рис. 1.
Рис. 1. Блок-схема серии микроконтроллеров STR71xFxx
Широкие интеграционные возможности ARM-микроконтроллеров компании STM позволяют использовать их во множестве приложений, требующих высокой производительности ЦП, обеспечения разнообразных функций с возможностью их наращивания и высокой экономичности при низких системных издержках. И для такого вывода есть несколько веских обоснований. Рассмотрим несколько из них.
Все основные компоненты встроены в чип, упакованный в очень маленькие корпуса типа BGA размером от 8x8 мм или TQFP, что обеспечивает простоту разводки. Например, набор внешних компонентов для STR730 в корпусе TQFP144 обеспечивает экономию средств за счет сокращения спецификации на 19 внешних компонентов.
У ARM-микроконтроллеров STM имеется разнообразная встроенная периферия.
Три интерфейса UART позволяют обеспечить полнодуплексные асинхронные соединения с внешними устройствами и независимо программируемой скоростью передачи (TX) и приема (RX) информации до 250 кбод. Они имеют два внутренних буфера FIFO (16 слов) для передачи и приема данных, 16-разрядный контроллер скорости передачи (макс. скорость до 2 Мбод/с), бит запуска для мультипроцессорных связей, программируемый контрольный бит и стоповый бит, режим проверки абонентской линии по шлейфу, обнаруживают ошибки четности, превышения границы и кадра, 9 источников прерываний (флагов).
Четвертый UART интерфейс используется для реализации асинхронного интерфейса смарт-карт по стандарту ISO 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 раз.
Разные внутренние устройства микроконтроллеров имеют разные уровни потребления. В частности, для уменьшения потребления встроенной флэш-памяти в ARM-микроконтроллерах STM предусмотрено три режима ее работы а, следовательно, и потребления тока: пакетный, экономичный и режим выключенного питания Flash.
Еще одной особенностью ARM-микроконтроллеров STM, способствующей их эффективности, является двойственная архитектура, основанная на использовании двойственных шин периферийных устройств (APB).
Наличие таких шин позволяет лучше наладить синхронизацию работы периферии. Последовательная периферия совместно использует шину APB1. Периферия реального времени и таймеры совместно используют шину APB2. При таком построении для оптимизации потребления и производительности одна шина APB может быть замедлена, в то время как вторая будет работать быстро.
Двойственность архитектуры проявляется и в наличии двух независимых внутренних стабилизаторов напряжения. Имеется основной стабилизатор напряжения (выключаемый в режиме STANDBY) и экономичный дополнительный стаблизатор напряжения (маломощный).
Не будем забывать, что компания STM является признанным лидером в области разработки и производства микросхем памяти, в том числе и для встраиваемых устройств.
Поэтому все микроконтроллеры STM оснащены Flash-памятью высочайшего класса.
В ARM-микроконтроллерах имеется встраиваемая Flash-память, изготавливаемая литографией с разрешением 0,18 мкм, рассчитанная на 100 к циклов перезаписи, в составе двух банков памяти: основного размером до 256 кбайт для программного кода и вспомогательного с низкой латентностью размером 16 кбайт для данных. Наличие двух банков позволяет обеспечить функцию чтения во время записи, т. е. считывание одного банка во время записи другого.
К основным параметрам Flash-памяти ARM-микроконтроллеров STM относятся:
- лучшее в своем классе Flash-памяти время произвольного доступа в 30 нс;
- обеспечение прямого доступа на частоте до 36 Гц для чисто детерминированного поведения;
- наличие опции аппаратной акселерации на частоте до 50 МГц (ширина Flash 64 бит);
- универсальность программирования: прикладное программирование IAP (Чтение во время Записи) и внутрисхемное программирование (ISP) посредством интерфейса JTAG.
- возможность секторной защиты записи для предотвращения нежелательной записи;
- наличие модульной защиты доступа для предотвращения компьютерного пиратства.
Второй серией ARM-микроконтроллеров STM, доступных в настоящее время потребителю, является серия STR73xFxxx. Эта серия, в отличие от первой, в большей степени нацелена на применение в промышленных приложениях. В качестве основных платформ для применения для нее предполагаются: промышленная электроника (электрокоммутационное оборудование, системы автоматизации, бытовая автоматизация, логические контроллеры и т. д.), электроприборы и высоковольтное оборудование переменного тока, управление электродвигателями, торговое оборудование и т. д. Поэтому в этой серии увеличено до трех число интерфейсов CAN, увеличено число последовательных интерфейсов до 12, возросли возможности по ШИМ модулям, таймерам/счетчикам и расширен рабочий температурный диапазон вверх до +105 °С.
Вместо 12-разрядного 4-канального АЦП встроен 10-разрядный 12- или 16-канальный АЦП и есть ряд других особенностей. Блок-схема микроконтроллеров данной серии приведена на рис. 2.
Рис. 2. Блок-схема серии микроконтроллеров STR73xFxx
Серия STR73xFxxx — это новый этап в развитии 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: семейство MAC7100 для автоэлектроники
Таблица 3. ARM микроконтроллеры компании ATMEL
Тип |
Частота МГц |
ОЗУ кБайт |
ПЗУ кБайт |
Внешняя шина |
Порты |
16-bit таймер |
I/O |
Особенности |
Корпус |
AT91M40800 |
40 |
8 |
- |
Y |
2xUART |
3 |
32 |
|
QFP100 |
AT91R40008 |
70 |
256 |
- |
Y |
2xUART |
3 |
32 |
|
QFP100 |
AT91FR4042 |
70 |
256 |
512 |
Y |
2xUART |
3 |
32 |
|
BGA121 |
AT91FR40162 |
70 |
256 |
2048 |
Y |
2xUART |
3 |
32 |
|
BGA121 |
AT91M42800A |
33 |
8 |
- |
Y |
2xUART 2xSPI |
6 |
54 |
PIT, RTT |
QFP144 BGA144 |
AT91M55800A |
33 |
8 |
- |
Y |
3xUART SPI |
6 |
58 |
RTC, 8ch 10bit ADC, 2ch 10bit DAC |
QFP176 BGA176 |
AT91RM3400 |
66 |
96 |
256* |
N |
4xEUART, SPI TWI, SSC USB Device |
6 |
63 |
PIT, RTC, RTT |
QFP100 |
AT91C140 |
36 |
16 |
1* |
Y |
2xUSART, SPI 2xEthernet |
3 |
48 |
SDRAM инткрфейс |
BGA256 |
AT91SAM7A1 |
40 |
4 |
- |
Y |
3xUART, SPI CAN |
9 |
49 |
4 PWM, 8ch 10bit ADC |
QFP144 |
AT91SAM7A2 |
30 |
16 |
- |
Y |
2xUART, SPI 4xCAN |
10 |
57 |
16ch 10bit ADC |
QFP176 |
AT91SAM7A3 |
60 |
32 |
256 |
N |
4xEUART, 2xSPI TWI, SSC, MCI CAN, USB Device |
9 |
62 |
8 PWM, 16ch 10bit ADC, RTT, PIT, Power-On Reset, On-Chip RC Osc. |
QFP100 |
AT91SAM7S32 |
55 |
8 |
32 |
N |
EUART, SPI TWI, SSC |
3 |
21 |
4 PWM, 8ch 10bit ADC, RTT, PIT, Power-On Reset, On-Chip RC Osc. |
QFP48 |
AT91SAM7S321 |
55 |
8 |
32 |
N |
EUART, SPI TWI, SSC USB |
3 |
32 |
4 PWM, 8ch 10bit ADC, RTT, PIT, Power-On Reset, On-Chip RC Osc. |
LQFP 64 |
AT91SAM7S64 |
55 |
16 |
64 |
N |
2xEUART, SPI TWI, SSC USB Device |
3 |
32 |
4 PWM, 8ch 10bit ADC, RTT, PIT, Power-On Reset, On-Chip RC Osc. |
QFP64 |
AT91SAM7S128 |
55 |
32 |
128 |
N |
2xEUART, SPI TWI, SSC USB Device |
3 |
32 |
4 PWM, 8ch 10bit ADC, RTT, PIT, Power-On Reset, On-Chip RC Osc. |
QFP64 |
AT91SAM7S256 |
55 |
64 |
256 |
N |
2xEUART, SPI TWI, SSC USB Device |
3 |
32 |
4 PWM, 8ch 10bit ADC, RTT, PIT, Power-On Reset, On-Chip RC Osc. |
QFP64 |
AT91S7X128 |
55 |
32 |
128 |
N |
2xEUSART, SPI TWI, SSC CAN, Ethernet USB Device |
3 |
60 |
4 PWM, 8ch 10bit ADC, RTT, PIT, Power-On Reset, On-Chip RC Osc. |
QFP100 |
AT91S7X256 |
55 |
64 |
256 |
N |
2xEUSART, SPI TWI, SSC CAN, Ethernet USB Device |
3 |
60 |
4 PWM, 8ch 10bit ADC, RTT, PIT, Power-On Reset, On-Chip RC Osc. |
QFP100 |
AT91SAM7SE32 |
48 |
8 |
32 |
EBI |
3xУСАПП, USB, TWI, I2S (SSC), SPI |
3-16-bit |
32 |
4 PWM, 8ch 10bit ADC, 11-ch PDC, RTT |
LBGA144 LQFP128 |
AT91SAM7SE256 |
48 |
32 |
256 |
EBI |
3xУСАПП, USB, TWI, I2S (SSC), SPI |
3-16-bit |
88 |
4 PWM, 8ch 10bit ADC, 11-ch PDC, RTT |
LBGA144 LQFP128 |
AT91SAM7SE512 |
48 |
32 |
512 |
EBI |
3xУСАПП, USB, TWI, I2S (SSC), SPI |
3-16-bit |
88 |
4 PWM, 8ch 10bit ADC, 11-ch PDC, RTT |
LBGA144 LQFP128 |
AT91RM9200 |
180 |
16 |
128* |
Y |
4xEUART, SPI TWI, 3xSSC MCI, USB Device 2xUSB Host Ethernet |
6 |
94 |
RTC, RTT, PIT, SDRAM интерфейс |
QFP208 BGA256 |
AT91SAM9260 |
200 |
2x4 |
32 |
Y |
USB 2.0 |
13 |
96 |
SSC, TWI, 4xУСАПП, PDC, 1 4x10 ADC |
PQFP208, LFBGA217 |
AT91SAM9261 |
180 |
160 |
32* |
Y |
3xEUART, 3xSPI TWI, 3xSSC MCI, USB Device 2xUSB Host |
3 |
96 |
RTT, PIT, SDRAM интерфейс |
BGA217 |
AT91SAM9263 |
200 |
80 |
2x16 |
Y |
1xCAN, 1xEthernet MAC, 4xUART, USB Device 2xUSB Host, 4xPWM, 2xSPI, 22xPDC |
3 |
160 |
2xRTT, PIT, 2xSSC, TWI, 2xMCI, Image Sensor Interface, LCD Controller, 2xExternal Bus Interface, 2xSDRAM Interface, Crystal Oscillator |
TFBGA 324 |
Таблица 4. 16/32-разрядные микроконтроллеры PHILIPS с ядром ARM7TDMI-S (1.8V): семейство LPC2000
Тип |
VCC CPU/I-O |
Частота МГц |
RAM |
Flash |
I/O |
Последовательные интерфейсы |
Таймера |
ADC |
Корпус |
LPC2101 |
3,3 |
70 |
8Kb |
2Kb |
32 |
2xI2C, 2xUARTs, SPI, 1 SPI/SSP |
2x16bit 2x32bit RTC WDT |
8ch 10bit |
PLCC44, LPFP48 |
LPC2102 |
3,3 |
70 |
16Kb |
4Kb |
32 |
2xI2C, 2xUARTs, SPI, 1 SPI/SSP |
2x16bit 2x32bit RTC WDT |
8ch 10bit |
PLCC44, LPFP48 |
LPC2103 |
3,3 |
70 |
32Kb |
8Kb |
32 |
2xI2C, 2xUARTs, SPI, 1 SPI/SSP |
2x16bit 2x32bit RTC WDT |
8ch 10bit |
PLCC44, LPFP48 |
LPC2104 |
1,8/3,3 |
60 |
16Kb |
128Kb |
32 |
2xUART I2C SPI |
4x16bit 6ch PWM |
|
LQFP48 |
LPC2105 |
1,8/3,3 |
60 |
32Kb |
128Kb |
32 |
2xUART I2C SPI |
4x16bit 6ch PWM |
|
LQFP48 |
LPC2106 |
1,8/3,3 |
60 |
64Kb |
128Kb |
32 |
2xUART I2C SPI |
4x16bit 6ch PWM |
|
LQFP48 |
LPC2106FBD48 |
1,8/3,3 |
60 |
64Kb |
128Kb |
32 |
2xUART I2C SPI |
- 6ch PWM |
|
LQFP48 |
LPC2114 |
1,8/3,3 |
60 |
16Kb |
128Kb |
46 |
2xUART I2C 2xSPI |
4x16bit 6ch PWM |
4ch 10bit 2,4µs |
LQFP64 |
LPC2119 |
1,8/3,3 |
60 |
16Kb |
128Kb |
46 |
2xUART I2C 2xSPI |
4x16bit 6ch PWM |
4ch 10bit 2,4µs |
LQFP64 |
LPC2124 |
1,8/3,3 |
60 |
16Kb |
256Kb |
46 |
2xUART I2C 2xSPI |
4x16bit 6ch PWM |
4ch 10bit 2,4µs |
LQFP64 |
LPC2129 |
1,8/3,3 |
60 |
16Kb |
256Kb |
46 |
2xUART I2C 2xSPI |
4x16bit 6ch PWM |
4ch 10bit 2,4µs |
LQFP64 |
LPC2131FBD64 |
3,3 |
60 |
8Kb |
32Kb |
46 |
2xUART 2xI2C 2xSPI |
4x16bit 6ch PWM |
8ch 10bit |
LQFP64 |
LPC2132FBD64 |
3,3 |
60 |
16Kb |
64Kb |
46 |
2xUART 2xI2C 2xSPI |
4x16bit 6ch PWM |
8ch 10bit |
LQFP64 |
LPC2134FBD64 |
3,3 |
60 |
16Kb |
128Kb |
46 |
2xUART 2xI2C 2xSPI |
4x16bit 6ch PWM |
8ch 10bit |
LQFP64 |
LPC2136FBD64 |
3,3 |
60 |
32Kb |
256Kb |
46 |
2xUART 2xI2C 2xSPI |
4x16bit 6ch PWM |
8ch 10bit |
LQFP64 |
LPC2138FBD64 |
3,3 |
60 |
32Kb |
512Kb |
46 |
2xUART 2xI2C 2xSPI |
4x16bit 6ch PWM |
8ch 10bit |
LQFP64 |
LPC2141 |
3,0-3,3 |
60 |
8Kb |
32Kb |
45 |
2xI2C, 2xUARTs, SPI, 1 SPI/SSP |
2x32bit, PWM WDT RTC |
6ch 10bit |
LQFP-64, SOT314-2 |
LPC2142 |
3,0-3,3 |
60 |
16Kb |
64Kb |
45 |
2xI2C, 2xUARTs, SPI, 1 SPI/SSP |
2x32bit, PWM WDT RTC |
6ch 10bit (1x10 bit DAC) |
LQFP-64, SOT314-2 |
LPC2144 |
3,0-3,3 |
60 |
16Kb |
128Kb |
45 |
2xI2C, 2xUARTs, SPI, 1 SPI/SSP |
2x32bit, PWM WDT RTC |
14ch 10bit (1x10 bit DAC) |
LQFP-64, SOT314-2 |
LPC2146 |
3,0-3,3 |
60 |
32 kB + 8 kB shared with USB DMA |
256Kb |
45 |
2xI2C, 2xUARTs, SPI, 1 SPI/SSP |
2x32bit, PWM WDT RTC |
14ch 10bit (1x10 bit DAC) |
LQFP-64, SOT314-2 |
LPC2148 |
3,0-3,3 |
6 |
32 kB + 8 kB shared with USB DMA |
512Kb |
45 |
2xI2C, 2xUARTs, SPI, 1 SPI/SSP |
2x32bit, PWM WDT RTC |
14ch 10bit (1x10 bit DAC) |
LQFP-64, SOT314-2 |
LPC2194 |
1,8/3,3 |
60 |
16Kb |
256Kb |
46 |
2xCAN 2xUART I2C 2xSPI |
4x16bit 6ch PWM |
4ch 10bit 2,4µs |
LQFP64 |
LPC2210 |
1,8/3,3 |
60 |
16Kb |
- |
112 |
2xUART I2C 2xSPI |
4x16bit 6ch PWM |
8ch 10bit 2,4µs |
LQFP144 |
LPC2212 |
1,8/3,3 |
60 |
16Kb |
128Kb |
112 |
2xUART I2C 2xSPI |
4x16bit 6ch PWM |
8ch 10bit 2,4µs |
LQFP144 |
LPC2214 |
1,8/3,3 |
60 |
16Kb |
256Kb |
112 |
2xUART I2C 2xSPI |
4x16bit 6ch PWM |
8ch 10bit 2,4µs |
LQFP144 |
LPC2220 |
1,8/3,3 |
60 |
64Kb |
- |
112 |
2xUART I2C 2xSPI |
4x16bit 6ch PWM |
8ch 10bit 2,4µs |
LQFP144 TFBGA144 |
LPC2290 |
1,8/3,3 |
60 |
16Kb |
- |
112 |
2xUART I2C 2xSPI |
4x16bit 6ch PWM |
8ch 10bit 2,4µs |
LQFP144 |
LPC2292 |
1,8/3,3 |
60 |
16Kb |
256Kb |
112 |
2xCAN 2xUART I2C 2xSPI |
4x16bit 6ch PWM |
8ch 10bit 2,4µs |
LQFP144 |
LPC2294 |
1,8/3,3 |
60 |
16Kb |
256Kb |
112 |
4xCAN 2xUART I2C 2xSPI |
4x16bit 6ch PWM |
8ch 10bit 2,4µs |
LQFP144 |
Если для 8-разрядных приложений производители микроконтроллеров вплотную подошли к созданию универсального устройства на все случаи жизни, например, семейство микроконтроллеров мPSD STMicroelectronics, то для 32-разрядных приложений до этого еще далеко. У каждого производителя ARM-микроконтроллеров есть свои «изюминки» в области встраиваемой периферии, направленные на их использовании в тех или иных конкретных прикладных приложениях. В основном это можно объяснить нацеленностью компаний на те или иные сектора рынка приложений для разрабатываемых устройств.
Компания STMicroelectronics исторически ориентировалась на сектор изделий для массового потребления, поэтому, отвечая потребностям этой части рынка электронных компонентов, она внедрила в свои ARM-микроконтроллеры интерфейсы Smart-Card, BSPI, USB и HDLC, а для индустриальных приложений резко увеличила число ШИМ-модулей, таймеров и последовательных интерфейсов.
Компания Freescale всегда была сильна своими предложениями для автоэлектроники, и не случайно ее первое семейство микроконтроллеров 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
Обозначение |
Описание |
Стартовые комплекты (Starter kits) |
STR711-SK/IAR STR712-SK/IAR STR730-SK/IAR |
Комплект для быстрого старта от IAR, включающий IAR embedded workbench для ARM (EWARM – версия с ограничением размера кода в 32K), внутрисхемный эмулятор J-Link (USB/JTAG), а также демонстрационные платы IAR |
STR71x-SK/RAIS |
Стартовый комплект REva от Raisonance, включающий RIDE (версия с ограничением размера кода в 16K) с компилятором GNU C/C++ , отладчик, внутрисхемный эмулятор RLink (USB/JTAG), демонстрационная материнская и дочерняя платы для STR711F и STR712 |
STR730-SK/RAIS |
Стартовый комплект REva от Raisonance, включающий RIDE (версия с ограничением размера кода в 16K) с компилятором GNU C/C++ , отладчик, внутрисхемный эмулятор RLink (USB/JTAG), демонстрационная материнская и дочерняя платы для STR730F |
STR710-SK/HIT |
Стартовый комплект ARM от Hitex, включающий HiTOP5 (версия с ограничением размера кода в 16K) с компилятором GNU C/C++ , отладчик, внутрисхемный эмулятор Tantino (USB/JTAG), оценочная плата для STR710F |
STR730-SK/HIT |
Стартовый комплект ARM от Hitex, включающий HiTOP5 (версия с ограничением размера кода в 16K) с компилятором 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, посвященном микроконтроллерам, их применению и поддержке разработчиков http://mcu.st.com, кроме описаний микроконтроллеров, примеров их применения и другой литературы, для разработчиков свободно доступна для копирования вся библиотека программ на языке Си для всех периферийных устройств. Для каждой серии имеется два пакета программ: стандартная библиотека и библиотека для USB.
Для каждого встроенного периферийного устройства имеется пример применения. Библиотеки абсолютно независимы от используемого программного обеспечения, работают с платами развития для микроконтроллеров STM, но могут быть легко приспособлены к другим аппаратным средствам.
Каковы перспективы развития 32-разрядных ARM микроконтроллеров? Высокая экономичность и хорошая рентабельность микроконтроллерных ядер ARM позволяют надеяться, что рыночный спрос на микросхемы на их основе будет постоянно возрастать в самых разнообразных областях применения.
Так, компания Freescale уже приступила к производству нового семейства ARM микроконтроллеров для применения в сотовых телефонах. Некоторые из производителей (например, ATMEL) начали производство микроконтроллеров на основе ядра ARM9, а другие, в том числе и STM, планируют их производство уже в текущем году. А это означает, что производительность микроконтроллеров вырастет до 80 MIPS на частоте до 100 МГц, встроенный модуль Ethernet МАС станет нормой, появятся новые встроенные интерфейсы и новые возможности.
Анатолий ЮДИН, к. т. н.
|