Stellaris – семейство микроконтроллеров на ядре Cortex-M3
Микроконтроллеры Stellaris компании Texas Instruments вошли в историю как первые микроконтроллеры с интегрированным 32-битным процессором ARM Cortex-M3 и, несмотря на появление многих конкурирующих решений, остаются лидерами по ряду особенностей, о которых и пойдет речь в данной статье.
Линейка микроконтроллеров (МК) Stellaris изначально была создана компанией Luminary Micro, которая, несмотря на свое сравнительно непродолжительное пятилетнее существование в качестве самостоятельной компании, оставила заметный след в мировой электронике, став первым производителем общедоступных микроконтроллеров с интегрированным процессором ARM Cortex-M3. В этом, 2009, году Luminary Micro была поглощена гигантом полупроводниковой индустрии - компанией Texas Instruments, которая таким образом смогла в одночасье дополнить цепочку выпускаемых семейств микроконтроллеров недостающим и очень перспективным звеном. В конечном счете, компания Texas Instruments получила возможность предложить рынку самый обширный ассортимент микроконтроллеров Cortex-M3, который насчитывает 138 позиций и охватывает все наиболее массовые области применения МК. Среди областей применения - бытовая техника, автоматизированный электропривод, системы мониторинга, HVAC-системы, автоматизация зданий, преобразовательная техника, преобразователи интерфейсов, торговые терминалы, контрольно-измерительное оборудование, медицинская техника, игровые устройства и многое другое.
Несмотря на то, что процессор Cortex-M3 формально входит в семейство ARM Cortex и является одним из профилей архитектуры ARMv7 [1], с прикладной точки зрения его более правильно рассматривать как наследника процессора ARM7TDMI, который нашел широкое применение в качестве основы для построения многих других 32-битных МК. Для достижения преимущества Cortex-M3 по сравнению с ARM7TDMI проделано следующее:
- устранены все известные узкие места, присущие процессору ARM7TDMI, в том числе
- применен новый набор инструкций Thumb-2, который обеспечивает большую плотность кода, чем 16-битный набор инструкций Thumb процессора ARM7TDMI;
- улучшена эффективность исполнения инструкций (предсказание переходов, однотактное умножение, деление на аппаратном уровне), что позволило повысить производительность процессора до 1,25 DMIPS/МГц (против 0,95 DMIPS/МГц процессора ARM7TDMI в режиме ARM);
- до 12 циклов (против 24...42 циклов процессора ARM7TDMI) снижена задержка реагирования на прерывания за счет выполнения операций над стеком на аппаратном уровне;
- до 0,19 мВт/МГц (против 0,28 мВт/МГц процессора ARM7TDMI) снижено удельное электропотребление;
- улучшена эффективность размещения данных в памяти и выполнения операций битовой обработки;
- повышена степень интеграции и стандартизации системных ресурсов:
- интегрированы элементы, использующиеся операционными системами реального времени (ОСРВ), в том числе системный таймер и блок защиты памяти;
- реализована поддержка экономичных режимов работы;
- применено стандартизованное распределение адресного пространства памяти;
- реализована более простая модель программирования, избавляющая от необходимости написания какого-либо ассемблерного кода, глубокого изучения процессора и его набора регистров. Кроме того, предусмотрена стандартизация программирования всех МК Cortex-M3 (стандарт CMSIS, см. www.onarm.com). Если придерживаться данного стандарта, можно добиться простоты портирования проектов между МК разных производителей.
Кроме того, архитектура процессора Cortex-M3 оптимизирована по стоимости, благодаря чему созданные на его основе МК способны конкурировать по цене с 16-битными и даже некоторыми 8-битными МК.
Наследовав перечисленные преимущества процессора Cortex-M3, МК Stellaris были дополнены оригинальной рецептурой встроенных модулей ввода-вывода во множестве типоисполнений, благодаря чему они приобрели ряд уникальных и порой беспрецедентных среди всех выпускаемых МК Cortex-M3 черт. К числу таковых относятся:
- доступность 28-выводных МК, способных конкурировать с 8- и 16-битными контроллерами;
- интеграция во многие МК модуля Ethernet, причем не только со встроенным MAC-контроллером, но и со встроенным трансивером;
- интеграция в некоторые МК ПЗУ со встроенной прошивкой программной библиотеки StellarisWare, которая содержит драйверы встроенных модулей ввода-вывода, функции для программирования Flash-памяти, криптографические таблицы по стандарту AES, а также функции обнаружения ошибок CRC.
К числу других важных преимуществ МК Stellaris также можно отнести наличие исполнения с расширенным до 105°С температурным диапазоном; доступность бесплатной библиотеки с реализованными тестами по классу Б стандарта IEC 60730 (в РФ действует его аутентичная версия ГОСТ Р МЭК 60730-1-2002), которая существенно облегчает получение сертификата на соответствие уровня безопасности и надежности бытовой техники классу Б; наличие МК, модуль Ethernet которых поддерживает стандарт IEEE1588, позволяющий на наносекундном уровне синхронизировать удаленные контроллеры.
МК Stellaris организованы в виде серий и подсерий. Сведения по ним представлены в таблице 1.
Таблица 1. Обзор серий и подсерий МК Stellaris
Серия |
Подсерии |
FCPU, МГц |
Flash-память, кбайт |
SRAM, кбайт |
Макс. кол-во линий в/в |
Корпус* |
Описание |
LM3S9000 |
LM3S9B00 |
80, 100 |
256 |
128 |
65 |
LQFP100 |
Коммуникационные интерфейсы 10/100 Ethernet, USB с функциональностью On-The-Go, Host и Device и CAN; интерфейс для расширения памяти (поддержка SDRAM, SRAM/Flash-памяти и др.), интерфейс I2S, АЦП с возможностями одновременного преобразования в двух каналах, второй сторожевой таймер с независимой синхронизацией для критичных к безопасности применений (IEC60730) и программно-подстраиваемый прецизионный 1%-ый генератор частоты 16 МГц. |
LM3S9700 |
80 |
128 |
64 |
60, 65 |
LQFP100 |
LM3S8000 |
LM3S8900 |
50 |
256 |
64 |
34...46 |
LQFP100 |
Первая серия МК ARM, в которых одновременно стали доступными интерфейсы CAN (до 3 каналов) и 10/100 Mbps Ethernet. |
LM3S8700 |
50 |
128 |
64 |
32...38 |
LQFP100 |
LM3S8600 |
50 |
128 |
32 |
31 |
LQFP100 |
LM3S8500 |
50 |
96 |
64 |
35, 36 |
LQFP100 |
LM3S6000 |
LM3S6900 |
50 |
256 |
64 |
38...46 |
LQFP100 |
Первая серия МК ARM со встроенным интерфейсом 10/100 Mbps Ethernet, в т.ч. MAC-контроллер и трансивер. |
LM3S6700 |
50 |
128 |
64 |
41,46 |
LQFP100 |
LM3S6600 |
25, 50 |
128 |
32 |
38...46 |
LQFP100 |
LM3S6500 |
50 |
96 |
64 |
41 |
LQFP100 |
LM3S6400 |
25, 50 |
96 |
32 |
43, 46 |
LQFP100 |
LM3S6100 |
25 |
64 |
16 |
30, 35 |
LQFP100 |
LM3S5000 |
LM3S5B00 |
80 |
256 |
96 |
71 |
LQFP100 |
Серия МК, предназначенных для работы с сетями CAN и дополненных полноскоростным интерфейсом USB 2.0 с функциональностью On-The-Go или Host/Device. |
LM3S5700 |
50, 80 |
128 |
128 |
33...71 |
LQFP100 LQFP64 |
LM3S5600 |
50 |
64 |
32 |
33 |
LQFP64 |
LM3S300 |
LM3S3700 |
50 |
128 |
64 |
61 |
LQFP100 |
Серия МК со встроенным полноскоростным интерфейсом USB 2.0 с функциональностью On-The-Go или Host/Device. |
LM3S3600 |
50 |
128 |
32 |
33 |
LQFP64 |
LM3S2000 |
LM3S2B00 |
80 |
256 |
96 |
60 |
LQFP100 |
Серия МК, предназначенных для работы с сетями CAN. |
LM3S2900 |
50 |
256 |
64 |
52...60 |
LQFP100 |
LM3S2700 |
50, 80 |
128 |
64 |
33...60 |
LQFP100 LQFP64 |
LM3S2600 |
25, 50 |
128 |
32 |
33...60 |
LQFP100 LQFP64 |
LM3S2500 |
50 |
96 |
64 |
48 |
LQFP100 |
LM3S2400 |
25, 50 |
96 |
32 |
34...60 |
LQFP100 |
LM3S2200 |
50 |
64 |
32 |
33 |
LQFP64 |
LM3S2100 |
50 |
64 |
16 |
40,56 |
LQFP100 |
LM3S1000 |
LM3S1900 |
50 |
256 |
64 |
52...60 |
LQFP100 |
Серия МК для работы в системах с батарейным резервированием питания. Содержат специальный модуль HIBERNATION, питание которого организованно независимо от других каскадов МК. В состав данного модуля входят часы реального времени, 256 байт ОЗУ для энергонезависимого хранения данных (за счет резервного батарейного питания), схема контроля батарейного напряжения и сигнализации о его недопустимом снижении и вход внешнего прерывания. Модулем поддерживается специальный экономичный режим HIBERNATE, выход из которого возможен по условию совпадения в часах реального времени и внешнему прерыванию. Потребляемый модулем ток составляет порядка 16 мкА и, таким образом, при питании МК от стандартной литиевой батарейки CR2032 и его нахождении в режиме HIBERNATE он способен проработать более 3 лет. |
LM3S1800 |
50 |
256 |
32 |
56 |
LQFP100 |
LM3S1700 |
50 |
128 |
64 |
33, 56 |
LQFP100 LQFP64 |
LM3S1600 |
25, 50 |
128 |
32 |
33...60 |
|
LM3S1500 |
25, 50 |
96 |
64 |
43, 58 |
LQFP100 |
LM3S1400 |
50 |
96 |
32 |
46, 52 |
LQFP100 |
LM3S1300 |
50 |
96 |
16 |
57 |
LQFP100 |
LM3S1100 |
25, 50 |
64 |
16 |
41...52 |
LQFP100 |
LM3S800 |
- |
50 |
64 |
8 |
28...36 |
LQFP48 |
Серии 48-выводных МК, различающихся по объему памяти и быстродействию ЦПУ. Внутри серий доступен выбор МК с различной степенью интеграции аналоговых и цифровых модулей, в т.ч. 10-битный АЦП (до 8 каналов, частота дискретизации 0,25/0,5/1 МГц); модули для решения задач управления движением: ШИМ-контроллер (до 6 каналов) и квадратурный энкодер; интерфейсные модули UART (до 2 каналов), SSI, I2C; аналоговые компараторы (до 3 каналов). МК идеальны для недорогих встраиваемых применений, где требуется реализация алгоритмов управления повышенной сложности |
LM3S600 |
- |
50 |
32 |
8 |
28...36 |
LQFP48 |
LM3S300 |
- |
25 |
16 |
4, 2 |
28...36 |
LQFP48 |
LM3S100 |
- |
20 |
8 |
2 |
18 |
SOIC28 |
Серия самых простых МК в 28-выводном корпусе; интегрируют модули UART, I2C, SSI, таймеры с каналами захвата, 1 или 2 аналоговых компаратора; предоставляют самый дешевый доступ к освоению возможностей процессора Cortex-M3; идеальны для замены 8/16-битных МК в простых встраиваемых применениях. |
Примечание: * МК, доступные в корпусе LQFP100, также доступны в корпусе BGA108. * МК, доступные в корпусе LQFP100, также доступны в корпусе BGA108.
В колонке «Описание» даны лишь главные классификационные признаки серий. Общие отличия подсерий можно оценить по приведенным характеристикам максимального быстродействия ЦПУ (FCPU), объема встроенной памяти, а также типам корпусов и предельным возможностям дискретного ввода-вывода. Помимо этого, внутри подсерий МК отличаются по степени интеграции аналоговых и цифровых модулей ввода-вывода. Пользователь может рассчитывать на доступность следующих модулей ввода-вывода:
- 32-битные таймеры (до четырех каналов) с каналами захвата/сравнения (до восьми каналов);
- ШИМ-контроллер, в том числе для задач управления движением (до восьми каналов);
- интерфейс квадратурного энкодера, облегчающего введение обратных связей по положению, направлению, скорости (до двух каналов);
- 10-битный АЦП (до 16 мультиплексированных каналов, частота дискретизации 0,25, 0,5 или 1МГц);
- последовательные интерфейсы UART, I2C, SSI (SPI) и I2S;
- аналоговые компараторы (до трех каналов);
- датчик температуры.
Кроме того, МК Stellaris оснащены всеми необходимыми системными ресурсами, облегчающими их применение. В их число входят блок управления синхронизацией и сбросом (позволяет оптимизировать энергопотребление и исключить внешние компоненты для управления сбросом), стабилизатор напряжения LDO-типа (дает возможность питать МК одним напряжением 3,3 ±0,3 В), опциональный блок прямого доступа к памяти (DMA; минимизирует участие ЦПУ в процессах передачи данных между модулями ввода-вывода и памятью) и встроенный в новые МК RC-генератор с улучшенной до 1% точностью (исключает внешние компоненты для синхронизации МК). Рассмотренные особенности структуры МК Stellaris обобщены на рисунке 1.
Рис. 1. Обобщенная структура микроконтроллеров Stellaris
Еще одно немаловажное преимущество рассматриваемых МК - высокий уровень предлагаемой технической поддержки. Пользователю доступно множество программных и аппаратных инструментов, направленных на ускорение проектирования как устройств общего назначения, так и ориентированных на конкретные области применения. Например, использование бесплатного микропрограммного обеспечения (МПО) StellarisWare существенно упрощает программирование МК. Данное МПО состоит из нескольких библиотек и примеров их использования. Использование этих библиотек избавит пользователя от необходимости написания драйверов модулей ввода-вывода, упростит работу с интерфейсом USB, ускорит создание графических интерфейсов, добавит поддержку внутрисистемного программирования, а также обеспечит совместимость со стандартом IEC 60730. МПО совместимо со средами для проектирования компаний Keil (MDK-ARM), IAR (Embedded Workbench), Code Red Technologies (RedSuite), Code Sourcery (SourceryG++), а также GNU-инструментами для проектирования. Выпускаемые аппаратные средства поддержки проектирования разделяются на четыре группы: оценочные наборы, наборы для проектирования, наборы завершенных устройств и модули. Их обзор представлен в таблице 2.
Таблица 2. Обзор инструментальных средств для проектирования
Наименование |
Описание |
1. Оценочные наборы |
EK-LM3S9B92 |
Состоит из платы с МК LM3S9B92 (порты 10/100 Ethernet и USB-OTG, разъем подключения к портам ввода-вывода (ПВВ)) и дополнительной платы отладочного интерфейса BD-ICDI. |
EK-LM3S9B90 |
то же, но для МК LM3S9B90. |
EK-LM3S8962 |
Плата с МК LM3S8962 (порты 10/100 Ethernet и CAN, графический OLED-дисплей 128х96, динамик, коммутационные элементы, разъем подключения к ПВВ). |
EK-LM3S8965 |
Плата с МК LM3S8965 (порт 10/100 Ethernet, графический OLED-дисплей 128х64, динамик, коммутационные элементы, разъем подключения к ПВВ, разъем карты памяти MicroSD) |
EK-LM3S3748 |
Плата с МК LM3S3748 (прошит программой 2-канального осциллографа, порты USB host и device, цветной LCD-дисплей 128х128, динамик, коммутационные элементы, разъем MicroSD, разъем подключения к ПВВ) и отдельный модуль USB-stick |
EK-LM3S2965 |
Плата с МК LM3S2965 (Host-порт CAN, графический OLED-дисплей 128х64, динамик, коммутационные элементы, разъем подключения к ПВВ, порт USB для питания и отладки) и плата с МК LM3S2110 (Device-порт CAN, питание через шину CAN, коммутационные элементы, разъем подключения к ПВВ). |
EK-LM3S1968 |
Плата с МК LM3S1968 с 256 кбайт Flash-памяти, 64 кбайт SRAM, 8 каналами АЦП, 52 ПВВ и поддержкой режима hibernate (графический OLED-дисплей 128x96, коммутационные элементы, динамик, разъем подключения к ПВВ, разъем с установленной в него 3-вольтовой батарейкой). |
EK-LM3S811 |
Плата с МК LM3S811 (OLED-дисплей 96х16, коммутационные элементы, потенциометр на входе АЦП, отладка через USB). |
2. Наборы для проектирования |
DK-LM3S9B96 |
Плата для проектирования устройств с интерфейсами Ethernet, CAN и USB OTG/Host/Device (МК LM3S9B96, 3.5” QVGA LCD-дисплей с сенсорной поверхностью, навигационный POT-переключатель, кнопки, интерфейс I2S, модуль SDR SDRAM объемом 8 Мбайт, разъем MicroSD, разъем для подключения к ПВВ, карта памяти MicroSD объемом 1 Гбайт, USB Flash-диск объемом 128 Мбайт). |
DK-LM3S8xx/6xx/3xx/1xx |
Содержит все аппаратные и программные компоненты, необходимые для разработки и макетирования встраиваемых применений. Набор состоит из платы для проектирования, программного обеспечения, кабелей и перемычек, документации в электронном виде. Доступные для заказа наборы: DK-LM3S101, DK-LM3S102, DK-LM3S301, DK-LM3S801, DK-LM3S811, DK-LM3S815, DK-LM3S817, DK-LM3S818, DK-LM3S828. |
Дочерние платы |
Дочерние платы предназначены для добавления поддержки требуемого МК в составе уже приобретенного набора для проектирования. Доступные для заказа дочерние платы: DB-LM3S101, DB-LM3S102, DB-LM3S301, DB-LM3S801, DB-LM3S811, DB-LM3S815, DB-LM3S817, DB-LM3S818, DB-LM3S828. |
3. Наборы завершенных устройств |
RDK-Stepper |
Аппаратные и программные компоненты для разработки, модернизации и интеграции устройств управления шаговым двигателем. Силовой каскад выполнен на основе драйверов и MOSFET-транзисторов Fairchild Semiconductor. Состоит из основной платы управления, шагового двигателя NEMA23, сетевого источника питания с выходом 24 В, USB-кабеля, Windows-программы графического интерфейса. |
RDK-ACIM |
То же, но для управления асинхронным электродвигателем, находящий широкое применение в бытовой технике. Укомлектован 3-фазным двигателем Selni (0-20000 об./мин.). |
RDK-BLDC |
То же, но для управления безщеточным двигателем постоянного тока (BLDC). |
RDK-BDC |
Модуль управления щеточным двигателем постоянного тока (12 В, 40 А) и оценочный набор EK-LM3S2965 в качестве консоли управления через шину CAN. В комплект входит двигатель RS-555PH-3255 (Mabuchi; 5000 об./мин, 12В, 3A). |
RDK-S2E |
Набор основан на миниатюрном модуле MDL-S2E, который предназначен для интеграции в систему в качестве преобразователя протоколов UART/RS-232-Ethernet. Дополнен кабелями Ethernet, DB9 и USB,а также документацией на CD. |
RDK-IDM |
Набор для разработки интеллектуальных графических интерфейсов. Основан на модуле цветного ЖК-дисплея (2.8», QVGA, 240x320) с сенсорной поверхностью (модуль MDL-IDM), который поддерживает технологию электропитания Power-over-Ethernet (PoE). В наборе этот модуль дополнен источником питания с выходом 24В, кабелем Ethernet, адаптером отладочной системы и документацией на CD. |
RDK-IDM-L35 |
Аналогичного назначения набор, но выполненный на основе другого модуля цветного ЖК-дисплея (3.5», QVGA, 320x240) с сенсорной поверхностью (MDL-IDM-L35). Питание организовано через входящий в комплект кабель USB-TTL, который также соединен с UART0, установленного на плате МК LM3S1958. |
RDK-IDM-SBC |
Аналогичного назначения набор и тем же 3,5-дюймовым дисплеем, но уже в составе другого модуля MDL-IDM-SBC. Этот модуль выполнен на основе более высокоуровневого МК LM3S9B92. Модуль представляет собой готовый одноплатный компьютер с графическим интерфейсом. В комплект также входят модуль MDL-ADA2, USB flash-диск (128 Мбайт), источник питания с выходом 24 В, кабель Ethernet, динамик, документация на CD. |
4. Модули |
MDL-STEPPER, MDL-ACIM, MDL-BLDC, MDL-BDC, MDL-S2E, MDL-IDM, MDL-IDM28, MDL-IDM-L35 |
Отдельно взятые модули из соответствующих наборов завершенных устройств. |
MDL-ADA2 |
Модуль адаптера 10-выводного (mini-JTAG) и 20-выводного портов JTAG, выполненный на основе гибкого шлейфа. |
Заключение
Семейство Stellaris составляет множество микроконтроллеров, выполненных на основе процессора ARM Cortex-M3 с передовыми для своего класса характеристиками. Семейство разделено на серии и подсерии, в которые входят МК различного класса и отличающиеся по степени интеграции.
Используемые в МК встроенные модули ввода-вывода делают возможным их применение в разнообразных по уровню сложности приложениях: от простых, которые обычно выполнялись на основе продвинутых 8-битных МК, до высококачественных встраиваемых систем с широкими коммуникационными возможностями (Ethernet, CAN, USB) и интеллектуальным пользовательским интерфейсом.
Все МК Stellaris, оснащенные интерфейсом Ethernet, интегрируют не только MAC-контроллер, но и трансивер. Данное предложение является беспрецедентным для всей группы МК Cortex-M3 (кроме Texas Instruments МК Cortex-M3 выпускает еще пять производителей) и достаточно редким среди всех других выпускаемых МК.
МК поддерживаются обширным набором аппаратных и программных инструментов, способствующих ускорению освоения как конкретной модели МК, так и определенного применения. В число таких применений входят управление электродвигателями, интеллектуальные графические интерфейсы и преобразователи UART-Ethernet.
Литература
- Староверов К.С. Микроконтроллеры на основе ядра ARM Cortex M3//Новости электроники, №1, 2008. - С. 9-15.
Константин Староверов
Источник: журнал "Новости электроники"
|