Summary: This module is a brief overview of ARM architectures from Texas Instruments, including a guide on how to select the ARM architecture that is right for your application and a deep dive into the Stellaris ARM Cortex-M architecture.
Note: You are viewing an old version of this document. The latest version is available here.
ARM Embedded Processors – Selecting the right one
ARM embedded processors are ubiquitous. With the vast number of ARM-based processors available, selecting the right one for a senior design can seem daunting. This chapter will help you select the right TI ARM processor for your application.
At a high level, ARM embedded processors can be split into three tiers of performance, the Cortex-A, -R, and –M series.
ARM Cortex-A Microprocessors
ARM Cortex-R Microcontrollers
ARM Cortex-M Microcontrollers
Texas Instruments’ (TI) ARM based platforms are outlined in Figure 1, below.
![]() |
Stellaris® Microcontrollers: Offering performance up to 80 MHz and a high degree of connectivity and analog integration to the microcontroller markets, Stellaris MCUs are ideal for applications that require all the memory, analog components, and communications interfaces on a single chip within a compact package.
Concerto™ Microcontrollers: Concerto F28M35x microcontrollers combine TI’s performance C28x™ core and control peripherals with an ARM® Cortex™-M3 core and connectivity peripherals to deliver a clearly partitioned architecture that supports real-time control and advanced connectivity in a single MCU.
Hercules™ Microcontrollers: For high-reliability applications such as transportation, the TMS570 provides DSP-like performance with safety-critical features implemented in hardware to ensure continuous and uninterrupted operation. The TMS570 has a dual-core architecture with the second core running in lockstep for redundancy and self-checking.
Sitara™ Microprocessors: Offering performance up to 1.5 GHz, Sitara ARM MPUs are ideal for applications needing a high-level operating system, wired and wireless network connectivity, concurrent applications, and support for rich graphics with an advanced user interface.
OMAP™ Multi-core Microprocessors: The OMAP platforms for digital media processing bring together an ARM core with advanced video acceleration plus a high-performance C6000 DSP for applications that need to support real-time video, image, and audio data processing. With the ability to provide the intensive computational real-time signal processing performance developers can implement complex applications such as video analytics, speech recognition, baseband channel management, and power monitoring with a single chip.
Deep Dive into Cortex-M – Stellaris ARM Cortex-M4F
Stellaris microcontrollers (MCUs) from Texas Instruments are 32-bit, RISC-based, mixed-signal processors designed specifically for ease of use and connectivity. Common applications include end equipments in the compute, industrial, and smart grid markets.
To get a better idea of what Stellaris is and how it can be used to solve an application problem, let’s take a look at a typical block diagram for the device. Figure 2 shows the block diagram for the LM4F232H5, one of the LM4F devices:
![]() |
The block diagram provides guidance on the key features of a particular device. Let’s take a closer look at some of the more prominent features. Note most of this section is transcribed from the LM4F232H5QC datasheet, available here :
Each of these modules is brought out to the user through pins on a package. In the case of the LM4F232H5QC, the Pin Diagram is shown in Figure 3, below. This pin diagram can also be found in the LM4F232H5QC datasheet, under the bookmark called “Pin Diagram”.
![]() |
This view is helpful because it identifies the necessary connections to the LM4F232, namely the power supply (VDDx, GNDx), the programming/debugging tool connections (TCK, TMS, TDI, TDO), and some of the key peripheral connections (HIB, USB). However, many of the signals such as timer capture/compare pins and analog inputs are still not shown. That granularity is provided in the signal tables in the datasheet. An excerpt from the LM4F232H5QC signal tables is shown in Figure 4.
![]() |
Using these tables, users can start to map the desired functionality to their design. A schematic drawing depicting the baseline connections for an LM4F120 design is shown in Figure 5, below. The LM4F120 and the LM4F232 are actually members of the same device family, so the schematic applies to the part in discussion:
![]() |
Since the LM4F power rail is specified as 3.3V ± 5%, a typical 3.3V supply will work well. Note the decoupling capacitors on the VDD pins. Signals like the WAKE and nRESET are connected to user switches that are configured as pull-ups. Two oscillators, a 16MHz and a 32kHz oscillator are connected to the MOSC and HIBOSC pins, respectively.
Figure 6, below, goes one step further to demonstrate an example connection to the debug, USB, and user interface signals.
![]() |
Note the connections to the USB connector and the JTAG signals. Since this is a schematic from the Stellairs LaunchPad evaluation kit, this also includes the connections to a Virtual COM Port bus that uses UART on Port A pins 0 and 1 to communicate back to the debug emulator. The schematic also includes the breakout to the pin headers. These other pin connections can be used to connect all other signals.
Now that we have explained the basics of how to include an LM4F device in your system, let’s review the documents you can use to take your design to the next level.
Beyond the pin diagram and the signal tables, let’s highlight some other areas on which to focus when you first look at the datasheet.
![]() |
Boundary and Recommended Operating Conditions
The maximum ratings indicate the voltage and current conditions that should not be exceeded, under any condition, without risking damage to the device. The recommended operating conditions document the conditions under which the part is guaranteed to operate. This means the minimum and maximum electrical specifications in the datasheet are specified under these conditions.
![]() |
![]() |
Power Consumption numbers
Power Consumption Numbers
![]() |
![]() |
The following is an excerpt from “Overview of the MSP430 Microcontroller from Texas Instruments” , written by Zack Albus, changes in brackets “[ ]”:
Now that we have reviewed the [Stellaris] device documentation and where to find the needed information about what a device can do, let’s walk through the process of actually selecting the part that best suits a given design need.
Let’s start by answering the questions below:
This is fundamental. Until this is understood, nothing else can happen. Knowing what the problem is you face at a system level allows you to identify how features of the MCU can help you solve the problem most efficiently.
If so, perhaps an integrated ADC is of value. If a simple analog threshold is needed, an integrated comparator can likely do the trick.
Switches likely translate into simple digital interrupt inputs while displays may require a communication bus such as SPI to be used in order to refresh data displayed to the user.
For example perhaps a PWM signal is needed to control a motor’s speed or LED brightness.
Identifying potential analog inputs, logic level digital I/O signals or communication interfaces such as I2C or UART will all help find the right MCU to fit the application need.
Determining this at a block level for the system and then at a more detailed MCU pinout level will clarify exactly how many I/O pins are needed
This is important as the needed of the MCU supply may impact the overall system design. For example if powered from a 9V battery, the [Stellaris] will need a regulator to bring its supply to within the 3.0V-3.6V range.
This is not always obvious as the SW may not yet be written. But if you plan on using existing code or modifying code already written, you can get an idea of what a given function in SW might require in terms of program and data memory needs. And when certain algorithms such as FFT or filtering are needed, RAM requirements can often be estimated before ever selecting the device by simulating the functions on a PC.
For example is a USB interface to a PC needed? Or perhaps a high resolution ADC (>12-bits) is needed to get a certain system performance. Consider looking for MCUs that offer such features integrated to minimize the system-level design effort and complexity required.
[End excerpt]
There are a variety of LM4F devices that will fit a variety of different needs. Sometimes, the easiest way to see whether a device is the right one for your application is to get your hands on an evaluation kit. In the case of the LM4F232 family, the recommended kit is the Stellaris LaunchPad.
The Stellaris LaunchPad is an evaluation kit that costs less than $10 and provides a variety of BoosterPacks to extend its functionality. Make sure to go to www.ti.com/stellaris to start your design today!
LaunchPad
![]() |