The ARM Cortex™-M3 processor is the industry-leading 32-bit processor
for highly deterministic real-time applications, specifically developed
to enable developers to develop high-performance low-cost platforms for a
broad range of devices including microcontrollers, automotive body
systems, industrial control systems and wireless networking and sensors.
The processor delivers outstanding computational performance and
exceptional system response to events while meeting the challenges of
low dynamic and static power constraints. The processor is highly
configurable enabling a wide range of implementations from those
requiring memory protection and powerful trace technology to cost
sensitive devices requiring minimal area.
Why Cortex-M3??
Delivering higher performance and richer features
Introduced in 2004 and recently updated with new technologies and
configurability, the Cortex-M3 is the mainstream ARM processor developed
specifically with microcontroller applications in mind.
Performance and Energy Efficiency
With high performance and low dynamic power consumption the Cortex-M3
processor delivers leading power efficiency. Coupled with integrated
sleep modes and optional state retention capabilities the Cortex-M3
processor ensures there is no compromise for applications requiring low
power and excellent performance.
Full featured
The processor executes Thumb®-2 instruction set
for optimal performance and code size, including hardware division,
single cycle multiply, and bit-field manipulation. The Cortex-M3 NVIC is
highly configurable at design time to deliver up to 240 system
interrupts with individual priorities, dynamic reprioritization and
integrated system clock.
Rich connectivity
The combination of features and performance enables Cortex-M3 based
devices efficiently to handle multiple I/O channels and protocol
standards such as USB OTG (On-The-Go).
Energy efficiency advantage
The demand for ever lower-cost products with increasing connectivity
(e.g. USB, Bluetooth, IEEE 802.15) and sophisticated analog sensors
(e.g. accelerometers, touch screens) has resulted in the need to more
tightly integrate analog devices with digital functionality to
pre-process and communicate data. Most 8-bit devices do not offer the
performance to sustain these tasks without significant increases in MHz
and therefore power, and so embedded developers are required to look for
alternative devices with more advanced processor technology. The 16-bit
devices have previously been used to address energy efficiency concerns
in microcontroller applications. However, the relative performance
inefficiencies of 16-bit devices mean they will generally require a
longer active duty cycle or higher clock frequency to accomplish the
same task as a 32-bit device.
Ease of software development
Software development for ARM Cortex processor-based microcontrollers
can be much easier than for 8-bit microcontroller products. Not only is
the Cortex processor fully C programmable, it also comes with various
enhanced debug features to help locating problems in software. There are
also plenty of examples and tutorials on the internet, including many
from ARM processor-based MCU vendor's websites, alongside any additional
resources included in MCU development kits.
Cortex M3 Processor Simplified Block Diagram |
Cortex M3 Processor Block Diagram. Ref ARM.com |
Cortex M3 Core Peripherals
- Nested Vectored Interrupt Controller
The Nested Vectored Interrupt Controller (NVIC) is an embedded interrupt controller that supports low latency interrupt processing. - System control block
The System control block (SCB) is the programmers model interface to the processor. It provides system implementation information and system control, including configuration, control, and reporting of system exceptions. - System timer
The system timer, SysTick, is a 24-bit count-down timer. Use this as a Real Time Operating System (RTOS) tick timer or as a simple counter. - Memory protection unit
The Memory protection unit (MPU) improves system reliability by defining the memory attributes for different memory regions. It provides up to eight different regions, and an optional predefined background region.
No comments:
Post a Comment