Распродажа

Электронные компоненты со склада по низким ценам, подробнее >>>

Журнал Компел

2010: 
1, 2, 3, 4, 5, 6, 7, 8, 9
2009: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
13, 14, 15, 16
2008: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
13, 14, 15, 16
2007: 
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
13, 14, 15, 16, 17, 18, 19, 20
2005: 
1, 2, 3

Новости электроники

Мне нравится

Комментарии

дима пишет в теме Параметры биполярных транзисторов серии КТ827:

люди куплю транзистар кт 827А 0688759652

тамара плохова пишет в теме Журнал Радио 9 номер 1971 год. :

как молоды мы были и как быстро пробежали годы кулотино самое счастливое мое время

Ивашка пишет в теме Параметры отечественных излучающих диодов ИК диапазона:

Светодиод - это диод который излучает свет. А если диод имеет ИК излучение, то это ИК диод, а не "ИК светодиод" и "Светодиод инфракрасный", как указано на сайте.

Владимир пишет в теме 2Т963А-2 (RUS) со склада в Москве. Транзистор биполярный отечественный:

Подскажите 2т963а-2 гарантийный срок

Владимир II пишет... пишет в теме Параметры биполярных транзисторов серии КТ372:

Спасибо!

Журнал "Новости Электроники", номер 1, 2008 год Микроконтроллеры на основе ядра ARM Cortex M3

Микроконтроллеры на основе ядра ARM Cortex M3

Константин Староверов

Семейство ARM Cortex составляют ядра, выполненные на основе различных профилей одной и той же архитектуры ARMv7. Профиль A предназначен для интеллектуальных применений, работающих в составе открытых и сложных операционных систем; профиль R - для систем реального времени, и профиль M - для критичных к стоимости микроконтроллеров. Cortex-M3 - первое ARM-ядро, выполненное на базе архитектуры ARMv7-M и специально разработанное для высокопроизводительных приложений, критичных как к уровню энергопотребления, так и к стоимости. Выполненные на основе этого ядра микроконтроллеры находят широкое применение в автомобильной электронике, промышленной автоматике и оборудовании беспроводной связи.

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

Именно для решения данных задач и было разработано ядро Cortex-M3 c рядом усовершенствований в архитектуре. В частности ядром, которое содержит 3-ступечатый конвейер и выполнено по Гарвардской архитектуре, поддерживается ряд новых возможностей, в том числе предсказание переходов, однотактное умножение данных, аппаратное деление данных. Реализация данных новаций позволила добиться уровня удельной производительности 1.25 DMIPS/МГц. Кроме того, в ядре Cortex-M3 реализован новый набор инструкций Thumb-2, который в некоторых случаях позволяет добиться увеличения удельной производительности на 70% по сравнению с ядром ARM7TDMI-S, исполняющим инструкции Thumb, и на 35% - по сравнению с тем же ядром, исполняющим инструкции ARM.

Снизить стоимость и энергопотребление разработчикам ядра Cortex-M3 удалось за счет оптимизации архитектуры, снижения размеров кристалла (вследствие более плотного расположения компонентов ядра, снижения количества логических вентилей и повышения эффективности использования памяти) и применения технологии 0,18 мкм. Возможности управления тактовой частотой и доступность нескольких экономичных режимов работы позволяют еще больше снизить энергопотребление.

При разработке ядра Cortex-M3 учитывалось, что разработчик должен приложить минимум усилий на освоение программирования. Теперь не нужно изучать ассемблерный код и глубоко вникать в особенности архитектуры процессора. Предложенный новый набор инструкций Thumb-2 более естественно воспроизводит Си-код, поддерживая такие операции, как побитная обработка, аппаратное деление и инструкции типа If/Then. Оптимальный как по производительности, так и по плотности кода набор инструкций Thumb-2 теперь исключает необходимость выбирать режим работы: ARM или Thumb. Ускорить процесс проектирования также поможет встроенная отладочная система, которая помимо традиционного порта JTAG содержит и двухпроводной последовательный порт SW.

Архитектура ядра Cortex-M3

Ядро Cortex-M3 выполнено по архитектуре ARMv7-M (профиль М) и имеет иерархическую структуру (рис. 1).

 

Архитектура ядра Cortex-M3

 

Рис. 1. Архитектура ядра Cortex-M3

Его основой является ЦПУ CM3Core, дополненное такими внешними устройствами, как контроллер вложенных векторных прерываний (КВВП), блок защиты памяти и система отладки и трассировки. Каждое из этих внешних устройств поддерживает расширенные возможности по конфигурации. ЦПУ ядра Cortex-M3 выполнено по гарвардской архитектуре с раздельными пространствами памяти программ и памяти данных. Этим оно отличается от ЦПУ ядер семейства ARM7, выполненных по фон-неймановской архитектуре с общим пространством памяти данных и памяти программ. Благодаря возможности одновременного считывания из памяти кода инструкции и данных ядро Cortex-M3 способно производить несколько операций параллельно, что ускоряет выполнение программы.

Конвейер инструкций ЦПУ имеет 3 ступени для выборки инструкции, ее дешифрации и выполнения. Если на конвейере оказывается инструкция перехода, то на этапе ее дешифрации также выполняется выборка инструкции, определенной в результате предсказания перехода, что ускоряет выполнение программы.

ЦПУ Cortex-M3 поддерживает дешифрацию как традиционных инструкций Thumb, так и новых инструкций Thumb-2. В состав ЦПУ входят АЛУ с возможностями аппаратного деления и умножения данных, логика управления и интерфейсы к прочим компонентам процессора. В него также входят 13 регистров общего назначения, два указателя стека, счетчик команд и ряд специальных регистров, в т.ч. регистр статуса программы. Каналы передачи данных, банк регистров и интерфейс памяти ядра Cortex-M3 являются 32-битными. Ядро Cortex-M3 может работать в одном из двух режимов работы: «Thread» и «Handler», и поддерживает два уровня доступа к коду программы: привилегированный и непривилегированный, что облегчит реализацию сложных и открытых систем, не жертвуя при этом защищенностью системы. Код программы, исполняемый в непривилегированном режиме, имеет ограниченные возможности по доступу к некоторым ресурсам и специфическим областям памяти. Режим «Thread» является типичным режимом работы, в котором код программы может быть как привилегированным, так и непривилегированным. Переход в режим «Handler» происходит при возникновении исключительной ситуации (exception); в данном режиме весь код программы выполняется как привилегированный. Также предусматривается такое понятие, как рабочее состояние ядра. Их два: Thumb, в котором выполнение инструкций идет обычным путем, и Debug, в котором активизируются встроенные отладочные возможности ядра.

Несмотря на использование Гарвардской архитектуры, все пространства памяти ЦПУ Cortex-M3 имеют общую линейную систему распределения адресов в пространстве размером 4 Гбайт (рис. 2).

 

Адресное пространство процессора Cortex-M3

 

Рис. 2. Адресное пространство процессора Cortex-M3

В левой части рисунка некоторые сокращения на русском, другие на английском, легко запутаться, например, при расшифровке ETM

В пространстве статического ОЗУ и устройств ввода-вывода имеется битно-адресуемая область размером 1 Мбайт. В отличие от общепринятого способа «чтение-модификация-запись», использующегося для битовой обработки и характеризующегося неэффективным расходованием машинных циклов, в ядре Cortex M3 используется более простой и эффективный способ. Он получил название "Bit Banding" и заключается в том, что доступ к битам в области хранения битов (см. рис. 2) осуществляется записью не в эту область, а в связанную с ней область доступа к битам, каждому байту которой назначен свой бит в области хранения. При этом за состояние бита в области хранения отвечает младший бит соответствующего байта в области доступа. Таким образом, вместо шести инструкций, необходимых для выполнения операции «чтение-модификация-запись», выполняется только одна операция записи в ячейку памяти (три инструкции).

Отличием архитектуры ARMv7-M от предшествующих архитектур ARM является поддержка нового набора инструкций Thumb-2. Этот набор объединяет преимущества 16- и 32-битных инструкций, позволяя добиться как производительности 32-битных ARM-инструкций, так и высокой плотности 16-битных Thumb-инструкций (рис. 3).

 

 Сравнение тестов Drystone наборов инструкций ARM, Thumb и Thumb-2

 

Рис. 3. Сравнение тестов Drystone наборов инструкций ARM, Thumb и Thumb-2

Процессор Cortex-M3 содержит более совершенную систему прерываний (относительно ARM7), характеризующуюся задержкой вызова процедуры обработки прерывания всего лишь 12 машинных циклов (для сравнения, ARM7TDMI-S требует 24-42 цикла). Основу системы прерываний составляет КВВП, который в стандартной реализации поддерживает одно немаскируемое прерывание и 32 прерывания общего назначения с 8 уровнями приоритетов (в общем случае число прерываний может достигать 240 при 256 уровнях приоритета).

Блок защиты памяти является опциональным компонентом ядра Cortex-M3. Он позволяет повысить надежность встраиваемых систем за счет защиты критичной информации, используемой операционной системой, от действия пользовательских программ.

Доступ к встроенной отладочной системе реализован посредством порта доступа к отладочной системе (DAP), который с внешней средой связывается по одному из последовательных интерфейсов: 2-выводной последовательный отладочный порт SW или стандартный 5-выводной последовательный порт JTAG. Появление 2-выводного интерфейса делает возможным появление 32-битных микроконтроллеров с числом выводов менее 10 и существенно упрощает электрическое подключение к отлаживаемому устройству. Для микроконтроллеров с масочным ПЗУ предусмотрен специальный блок Flash Patch, который во время отладки позволяет осуществлять выборку инструкций не из ПЗУ, а из статического ОЗУ, тем самым существенно упрощая процедуру отладки программного кода для таких микроконтроллеров.

Микроконтроллеры на основе ядра Cortex-M3

Одной из компаний, которая уже освоила серийный выпуск флэш-микроконтроллеров на основе процессора Cortex M3, является STMicroelectronics (далее STM). Данные микроконтороллеры образуют семейство STM32. Внутри семейства микроконтроллеры группируются на две группы: «Performance» и «Access» (табл. 1).

Таблица 1. Микроконтроллеры компании STM на основе ядра Cortex-M3  

  Наименование Флэш-
память, кБ
ОЗУ, кБ АЦП Таймеры
(IC/OC/
PWM1))
Прочие
таймеры
36-выв. STM32F101T6 32 6 10x12 бит 2x16 бит
(8/8/8)
2 сторожевых таймера,
24-битный счетчик
STM32F101T8 64 10 10x12 бит 3x16 бит
(12/12/12)
48-выв. STM32F101C6 32 6 10x12 бит 2x16 бит
(8/8/8)
STM32F101C8 64 10 10x12 бит 3x16 бит
(12/12/12)
STM32F101CB 128 16 10x12 бит 3x16 бит
(12/12/12)
64-выв. STM32F101R6 32 6 16x12 бит 2x16 битt
(8/8/8)
STM32F101R8 64 10 16x12 бит 3x16 бит
(12/12/12)
STM32F101RB 128 16 16x12 бит
100-выв. STM32F101V8 64 10 16x12 бит
STM32F101VB 128 16 16x12 бит
36-выв. STM32F101T6 32 6 10x12 бит 3x16 бит
(12/12/14)
STM32F101T8 64 10 10x12 бит 4x16 бит (16/16/18)
48-выв. STM32F103C6 32 10 10x12 бит 3x16 бит (12/12/14)
STM32F103C8 64 20 10x12 бит 4x16 бит
(16/16/18)
STM32F103CB 128 20 10x12 бит 4x16 бит
(16/16/18)
64-выв. STM32F103R6 32 10 16x12 бит 3x16 бит
(12/12/14)
STM32F103R8 64 20 16x12 бит 4x16 бит
(16/16/18)
STM32F103RB 128 20 16x12 бит
100-выв. STM32F103V8 64 20 16x12 бит
STM32F103VB 128 20 16x12 бит
 
  Последовательный
интерфейс
Число
линий
в/в2)
Корпус Напря-
жение
питания,
В
Специальные
возможности
36-выв. 1xSPI/1xI2C/2xUSART (IrDa/ISO7816) 26 QFN36 2...3.6 Группа «Access»: тактовая частота ЦПУ 36 МГц, вывод Vbat, 3 экономичных режима работы, схемы POR, PDR  и PVD, встроенный RC-генератор 8 МГц, встроенный RC-генератор 32 кГц, основной генератор 4...16 МГц, специальный генератор 32 кГц, рабочий температурный диапазон -40...85°C
1xSPI/1xI2C/2xUSART (IrDa/ISO7816) 26 QFN36 2...3.6
48-выв. 1xSPI/1xI2C/2xUSART (IrDa/ISO7816) 36 LQFP48 2...3.6
2xSPI/2xI2C/3xUSART (IrDa/ISO7816) 36 LQFP48 2...3.6
2xSPI/2xI2C/3xUSART (IrDa/ISO7816) 36 LQFP48 2...3.6
64-выв. 1xSPI/1xI2C/2xUSART (IrDa/ISO7816) 51 LQFP64 2...3.6
2xSPI/2xI2C/3xUSART (IrDa/ISO7816) 51 LQFP64 2...3.6
51 LQFP64 2...3.6
100-выв. 80 LQFP100 2...3.6
80 LQFP100 2...3.6
36-выв. 1xSPI/1xI2C/2xUSART (IrDa/ISO7816)/USB/CAN 26 QFN36 2...3.6 Группа «Performance»: тактовая частота ЦПУ 72 МГц, вывод Vbat, 3 экономичных режима работы, схемы POR, PDR  и PVD, встроенный RC-генератор 8 МГц, встроенный RC-генератор 32 кГц, основной генератор 4...16 МГц, специальный генератор 32 кГц, 1x USART (4,5 Мбит/сек), быстродействие переключения линий ввода-вывода 18 МГц, ШИМ-контроллер ориентированный на управление электроприводом, 2x АЦП, рабочий температурный диапазон -40...85°C или -40...105°C
2xSPI/2xI2C/3xUSART (IrDa/ISO7816)/USB/CAN 26 QFN36 2...3.6
48-выв. 1xSPI/1xI2C/2xUSART (IrDa/ISO7816)/USB/CAN 36 LQFP48 2...3.6
2xSPI/2xI2C/3xUSART (IrDa/ISO7816)/USB/CAN 36 LQFP48 2...3.6
2xSPI/2xI2C/3xUSART (IrDa/ISO7816)/USB/CAN 36 LQFP48 2...3.6
64-выв. 1xSPI/1xI2C/2xUSART (IrDa/ISO7816)/USB/CAN 51 LQFP64 2...3.6
2xSPI/2xI2C/3xUSART (IrDa/ISO7816)/USB/CAN 51 LQFP64 2...3.6
51 LQFP64 2...3.6
100-выв. 80 LQFP100, BGA100 2...3.6
80 LQFP100, BGA100 2...3.6

Микроконтроллеры первой группы (STM32F103) работают на частоте 72 МГц и отличаются более высокой степенью интеграции ОЗУ и устройств ввода-вывода (УВВ). В свою очередь, микроконтроллеры 2-ой группы (STM32F101) работают на частоте 36 МГц и менее насыщены оперативной памятью и устройствами ввода-вывода. Микроконтроллеры обоих групп с одинаковым объемом флэш-памяти совместимы как программно, так и электрически (одинаковое расположение выводов). Уровень удельного энергопотребления микроконтроллеров составляет всего лишь 0,19 мВт/МГц. При работе на частоте 72 МГц потребляемый ток составляет 27 мА. Кроме того, уровень потребления может быть еще больше снижен при переходе в один из экономичных режимов работы (например, до 3.4 мкА в дежурном режиме с работающими ЧРВ). Такие характеристики энергопотребления позволяют не только использовать микроконтроллеры в системах с батарейным питанием, но и снизить стоимость источника питания.

Микроконтроллеры «Performance» ориентированы на применения, которые требуют одновременно и повышенной производительности обработки и экономичной работы, а также используют коммуникационные интерфейсы USB 2.0 и/или CAN. Наличие у этих микроконтроллеров 6-канального ШИМ-контроллера с возможностями синхронизации каналов внешним сигналом также ориентирует эти микроконтроллеры на применение в устройствах управления электроприводами.

Невысокая стоимость микроконтроллеров «Access» делает их идеальными для модернизации существующих 8- или 16-битных проектов с целью расширения возможностей по обработке информации, управлению и передачи данных.

Разобраться в структуре микроконтроллеров STM32 поможет схема на рис. 4.

 

Структурная схема микроконтроллеров STM32

 

Рис. 4. Структурная схема микроконтроллеров STM32

ЦПУ Cortex M3 связывается с памятью и устройствами ввода-вывода посредством быстродействующей шинной матрицы. Для организации последовательной передачи данных предусмотрены интерфейсы USB (12Мбит/сек), USART (до 4,5 Мбит/сек), I2C (400 кГц) и SPI (18 МГц). Реализовать канал последовательной передачи по стандарту CAN поможет входящий в состав некоторых микроконтроллеров одноименный контроллер.

Поддержка проектирования

Для облегчения и ускорения процесса проектирования STM предлагает следующий набор инструментов:

Таблица 2. Инструментальные средства для проектирования
Код заказа Описание
STM3210B-PRIMER Стартовый набор компании Raisonance для МК STM32. В состав входит IDE «RIDE» (отладка кода размером до 32 кбайт), компилятор GNU C/C++, а также простая в освоении платформа с управлением по типу MEMS-систем и встроенным RLink (USB/JTAG)
STM3210B-PFSTICK Модуль для подключения к компьютеру через порт USB. Предназначен для изучения возможностей и характеристик МК STM32. Для оценки возможностей встроенных УВВ предусмотрен разъем расширения. Комплектуется набором программных инструментов Hitex (без ограничений), компилятором TASKING VX C/C++ и средой для проектирования HiTOP5 компании Hitex.
STM3210B-SK/HIT Стартовый набор компании Hitex. Содержит неограниченные среду для проектирования HiTOP5 и компилятор Tasking VX, модуль STM32-PerformanceStick (описан выше), плату расширения ввода-вывода
STM3210B-SK/IAR Стартовый набор компании IAR (для кода размером до 32 кбайт), комплектуется компилятором IAR C/C++, адаптером J-Link (USB/JTAG) и оцeночной платой
STM3210B-SK/KEIL Стартовый набор RealView компании Keil. Комплектуется IDE uVision 3 (для кода размером до 16 кбайт), компилятор ARM C/C++, адаптером ULINK (USB/JTAG) и оценочной платой
STM3210B-SK/RAIS Стартовый набор REva компании Raisonance с IDE "RIDE" (отладка до 32 кбайт кода), компилятором GNU C/C++, модульной оценочной аппаратной частью со встроенным адаптером RLink (USB/JTAG)
STM3210B-MCKIT Стартовый набор компании ST для проектирования устройств управления электроприводом. Комплектуется полным набором библиотек по управлению двигателем с использованием датчиков и без них, оценочной аппаратной платформой (реализует векторное управление асинхронным двигателем), а также адаптером J-Link компании Segger для подключения отладочной системы к ПК.
STM3210B-EVAL Завершенная оценочная аппаратная платформа с микроконтроллером STM32F103. Поддерживается весь набор встроенных УВВ и функциональных возможностей.

Выводы

 

Вернуться к содержанию номера







Ваш комментарий к статье
Журнал "Новости Электроники", номер 1, 2008 год Микроконтроллеры на основе ядра ARM Cortex M3 :
Ваше имя:
Отзыв: Разрешено использование тэгов:
<b>жирный текст</b>
<i>курсив</i>
<a href="http://site.ru"> ссылка</a>