В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры > ARM
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


1.1. Знакомство с Cortex

Семейство ARM Cortex - новое поколение процессоров, которые выполнены по стандартной архитектуре и отвечают различным технологическим требованиям. В отличие от других ЦПУ ARM, семейство Cortex является завершенным процессорным ядром, которое объединяет стандартное ЦПУ и системную архитектуру. Семейство Cortex доступно в трех основных профилях: профиль A для высокопроизводительных применений, профиль R для реально-временных применений и профиль M для чувствительных к стоимости и микроконтроллерных применений. Микроконтроллеры STM32 выполнены на основе профиля Cortex-M3, которое специально разработано для применений, где необходимы развитые системные ресурсы и, при этом, малое энергопотребление. Они характеризуются настолько низкой стоимостью, что могут конкурировать с традиционными 8 и 16-битными микроконтроллерами. И хотя ЦПУ ARM7 и ARM9 были с успехом интегрированы в стандартные микроконтроллеры, в них все же прослеживается изначальная ориентированность на системы на кристалле (SoC). Это особенно заметно по способам обработки исключительных ситуаций и прерываний, т.к. у разных производителей микроконтроллеров и способы обработки реализованы различным образом. Cortex-M3 является стандартизованным микроконтроллерным ядром, которое помимо ЦПУ, содержит все остальные составляющие основу микроконтроллера элементы (в т.ч. система прерываний, системный таймер SysTick, отладочная система и карта памяти). 4 гигабайтное адресное пространство Cortex-M3 разделено на четко распределенные области кода программы, статического ОЗУ, устройств ввода-вывода и системных ресурсов. В отличие от ядра ARM7, Cortex-M3 выполнено по Гарвардской архитектуре и, поэтому, имеет несколько шин, позволяющие выполнять операции параллельно. Семейство Cortex имеет возможность оперировать с фрагментированными данными (unaligned data), что также отличает его от предшествующих архитектур ARM. Этим гарантируется максимальная эффективность использования внутреннего статического ОЗУ. Семейство Cortex также поддерживает возможности установки и сброса бит в пределах двух областей памяти размером 1 Мбайт по методу bit banding. Этот метод предоставляет эффективный доступ к регистрам и флагам УВВ, расположенных в области статического ОЗУ, и исключает необходимость интеграции полнофункционального битового процессора.

Основой STM32 является процессор Cortex-M3
Основой STM32 является процессор Cortex-M3. Он представляет собой стандартизованный микроконтроллер, интегрирующий 32-битное ЦПУ, шинную структуру, блок вложенных прерываний, отладочную систему и предопределенную организацию памяти.

Еще одним ключевым компонентом ядра Cortex-M3 является контроллер векторизованных вложенных прерываний (КВВП). КВВП предоставляет стандартную структуру прерываний для всех Cortex-микроконтроллеров и способы их обработки.

КВВП предписывает векторы прерываний для 240 источников, для каждого из которых может быть установлен свой приоритет. При разработке КВВП особое внимание уделялось быстродействию обработки прерываний. С момента получения запроса на прерывание до выполнения первой команды процедуры обработки прерывания проходит всего лишь 12 циклов. Частично это достигнуто за счет автоматических операций со стеком, выполняемым специальным микрокодом внутри ЦПУ. Если же прерывания возникают практически одновременно, то КВВП использует способ упорядоченной обработки прерываний с задержкой перед вызовом очередной процедуры обработки прерывания всего лишь 6 циклов. В случае наложения прерываний, прерывание с более высоким приоритетом может вытеснить более низкоприоритетное прерывание, не расходуя при этом дополнительных циклов ЦПУ. Структура прерываний также тесно связана с поддерживаемыми ядром Cortex-M3 экономичными режимами работы. Предусмотрена возможность конфигурации ЦПУ на автоматический переход в экономичный режим работы по завершении обработки прерывания. После этого перехода ядро будет бездействовать вплоть до возникновения очередной исключительной ситуации.

Несмотря на то, что ядро Cortex-M3 разрабатывалось как недорогое ядро, оно остается 32-битным ЦПУ и, в связи с этим, поддерживает два режима работы: потоковый режим (Thread) и режим обработчика (Handler), для каждого из которых можно сконфигурировать свои собственные стеки. Благодаря этому, появляется возможность разработки более интеллектуального программного обеспечения и поддержки операционных систем реального времени (ОСРВ). В ядро Cortex также входит 24-битный автоматически перезагружаемый таймер, предназначенный для генерации периодических прерываний и используемый ядром ОСРВ. Если у ЦПУ ARM7 и ARM9 имеется два набора инструкций (32-битный ARM и 16-битный Thumb), то у семейства Cortex предусмотрена поддержка набора инструкций ARM Thumb-2. Он представляет собой смесь 16- и 32-битных инструкций, позволяющие добиться производительности 32-битного набора инструкций ARM и плотности кода, свойственной 16-битному набору инструкций Thumb. Thumb-2 - обширный набор инструкций, ориентированный на компиляторы языков C/C++. Это означает, что программа для Cortex-микроконтроллера может быть полностью написано на Си.



<--Предыдущая страница Оглавление Следующая страница -->