Tag Archives: application processor

How to prevent execution surprises for Cortex-M7 MCU


We know the heavy weight linked with software development, in the 60% to 70% of the overall project cost.


The ARM Cortex-A series processor core (A57, A53) is well known in the high performance market segments, like application processing for smartphone, set-top-box and networking. If you look at the electronic market, you realize that multiple applications are cost sensitive and don’t need such high performance processor core. We may call it the embedded market, even if this definition is vague. The ARM Cortex-M family has been developed to address these numerous market segments, starting with the Cortex-M0 for lowest cost, the Cortex-M3 for best power/performance balance, and the Cortex-M4 for applications requiring digital signal processing (DSP) capabilities.

For the audio, voice control, object recognition, and complex sensor fusion of automotive and higher-end Internet of Things sensing, where complex algorithms for audio and video are needed for rich audio and visual capabilities, Cortex-M7 is required. ARM offers the processor core as well as the Tightly Coupled Memory (TCM) architecture, but ARM licensees like Atmel have to implement memories in such a way that the user can take full benefit from the M7 core to meet system performance and latency goals.

Figure 1. The TCM interface provides a single 64-bit instruction port and two 32-bit data ports.

The TCM interface provides a single 64-bit instruction port and two 32-bit data ports.

In a 65nm embedded Flash process device, the Cortex-M7 can achieve a 1500 CoreMark score while running at 300 MHz, offering top class DSP performance: double-precision floating-point unit and a double-issue instruction pipeline. But algorithms like FIR, FFT or Biquad need to run as deterministically as possible for real-time response or seamless audio and video performance. How do you best select and implement the memories needed to support such performance? If you choose Flash, this will require caching (as Flash is too slow) leading to cache miss risk. Whereas SRAM technology is a better choice since it can be easily embedded on-chip and permits random access at the speed of processor.

Peripheral data buffers implemented in general-purpose system SRAM are typically loaded by DMA transfers from system peripherals. The ability to load from a number of possible sources, however, raises the possibility of unnecessary delays and conflicts by multiple DMAs trying to access the memory at the same time. In a typical example, we might have three different entities vying for DMA access to the SRAM: the processor (64-bit access, requesting 128 bits for this example) and two separate peripheral DMA requests (DMA0 and DMA1, 32-bit access each). Atmel has get round this issue by organizing the SRAM into several banks as described in this picture:

Figure 2. By organizing the SRAM into banks, multiple DMA bursts can occur simultaneously with minimal latency.

By organizing the SRAM into banks, multiple DMA bursts can occur simultaneously with minimal latency.

For a chip maker designing microcontrollers, licensing ARM Cortex-M processor core provides numerous advantages. The very first is the ubiquity of the ARM core architecture, being adopted in multiple market segments to support variety of applications. If this chip maker wants to design-in a new customer, the probability that such OEM has already used ARM-based MCU is very high, and it’s very important for this OEM to be able to reuse existing code (we know the heavy weight linked with software development, in the 60% to 70% of the overall project cost). But this ubiquity generates a challenge: how do you differentiate from the competition when competitors can license exactly the same processor core?

Selecting a more aggressive technology node and providing better performance at lower cost are an option, but we understand that this advantage can disappear as soon as the competition also move to this node. Integrating larger amount of Flash is another option, which is very efficient if the product is designed on a technology that enables it to keep the pricing low enough.

If the chip maker has designed on an aggressive technology node for higher performance and offers a larger amount of Flash than the competition, it may be enough differentiation. Completing with the design of a smarter memory architecture unencumbered by cache misses, interrupts, context swaps, and other execution surprises that work against deterministic timing allow bringing strong differentiation.

Pic

If you want to more completely understand how Atmel has designed this SMART memory architecture for the Cortex-M7, I encourage you to read this white paper from Jacko Wilbrink and Lionel Perdigon entitled “Run Blazingly Fast Algorithms with Cortex-M7 Tightly Coupled Memories.” (You will have to register.) This paper describes MCUs integrating SRAM organized into four banks that can be used as general SRAM and for TCM, showing one example of a Cortex-M7 MCU being implemented in the Atmel | SMART SAM S70, SAM E70 and SAM V70/V71 families.


This post has been republished with permission from SemiWiki.com, where Eric Esteve is a principle blogger, as well as one of the four founding members of the site. This blog was originally shared on August 6, 2015.

Sensirion and Atmel develop smarter sensor devices

Sensirion has joined Atmel’s extensive sensor hub platform ecosystem to boost the development of smarter devices for the Internet of Things (IoT) and wearables.

As we’ve previously discussed on Bits & Pieces, Atmel’s sensor hub solutions combine inputs from different sensors, ranging from motion to environmental (such as Sensirion‘s humidity and temperature sensors). These sensor hub solutions not only provide real-time direction, orientation and inclination data, but now include environmental information, bringing optimized performance to a wide range of applications including gaming, navigation, augmented reality and contextual awareness.

“As devices get smarter and more connected, there is an increasing need for environmental sensors, such as humidity and temperature,” Sensirion Technology Evangelist Johannes Winkelmann explained. “By partnering with Atmel on their ultra-low power sensor hub solutions, our customers can implement always-on sensor solutions while maintaining low-power consumption to increase the battery life for many of these battery-operated devices.”

Espen Krangnes, Sr. Product Marketing Manager, Atmel Corporation, expressed similar sentiments.

“With the increasing number of sensors in consumer devices today, low power is a key differentiator specifically for battery-powered devices. The platform is the first of many devices in this series that is specifically tailored for sensor hubs. Our ultra-low power and devices features, and the flexible development ecosystem bundled with the best sensors and sensor software in the market allows customers to create unique and differentiating products,” he said.

“Collaboration with leading sensor manufacturers like Sensirion will enable Atmel to provide engineers with the most appropriate sensor and firmware solutions, thereby reducing overall time-to-market. Plus, the sensor manufacturers offer sensor extension boards (AKA wings) to connect with Atmel’s sensor hub platform. These are used to accelerate the prototyping process – along with software that is fully compatible with our development ecosystem.”

It should be noted that the the market for sensors is expected to increase to nearly $91.5 billion by 2016. Indeed, with more sensors being integrated into mobile, gaming, consumer, wearables, and healthcare devices, there is an increasing demand to offload the application processor with a standalone microcontroller tasked with fusing sensor data.