By Jeff Bock and Joe Circello
Transitioning from an 8-bit to a 32-bit MCU has historically been a significant challenge for designers. Many factors contribute to
establishing a continuum of processor capability; however, established expertise in both 8-bit and 32-bit is essential to understanding the users'
needs in each area. This article will explain how Freescale recognized the transition problem, modified hardware and software design philosophy, and
ultimately, defined new 8-bit and 32-bit products with compatible packaging, peripherals and tools. The silicon design methodology is expected to
simplify and speed performance upgrades in numerous end products and thus enable customers to get to market faster.
The Performance Path
Microcontrollers address applications that range from simple replacements of traditional electromechanical functions with solid state technology
to extremely complex controls that have evolved over the years and today require sophisticated 32-bit MCUs. While several companies offer individual
solutions for a broad range of applications, none have been able to provide products that make transitioning from an 8-bit to a 32-bit MCU easy. Today
the low end 8-bit and mid-range 16-bit requirements for MCUs are expanding rapidly. As these applications demand more performance, the answer could be
found in a number of low-cost 32-bit architectures. Nevertheless, for users migrating up from 8- and 16-bit MCUs, the 32-bit architecture feels very
different. Usually, new hardware tools are required and as a result, the migration is both costly and time consuming.
By taking advantage of Freescale's extensive experience in both 8- and 32-bit MCUs, we defined an approach that simplifies the transition for
customers and allows the reuse of software and tools. Mid-range performance MCUs are frequently defined by price point, power consumption, set of
peripherals, and/or performance level required for a specific application–not by bits. In most cases, customers do not care about bits, just about
solving the system problem. By bridging this gap with an 8- to 32-bit continuum, customers can start with today's system requirements and plan for
tomorrow's improvements without making significant changes and leverage prior tool and software investments.
At the Core
The ability to transition seamlessly between 8- and 32-bit cores starts at the 8-bit level. The well-established HCS08 (S08) core provides the foundation
for 8-bit performance and features an extensive peripheral library. The more recently developed RS08 core reduces the size of the S08 central processing unit
(CPU) by 30 percent and provides an even greater range for the continuum. Targeting low-cost applications where electronic control replaces electro-mechanical
devices, the core mates to less than 16 KB of flash memory in small-pin-count packages and uses fewer instructions with very compact and efficient coding.
This smaller, more efficient core takes advantage of the peripherals developed for numerous S08 applications.
At the high end, an advanced 32-bit ColdFire® V1 core provides the missing link in the transformation chain. The V1 platform includes the V1 core,
local memories (flash and the SRAM), a background debug module (BDM) and a bus bridge. The bus bridge provides the interconnection between the core's local
high-speed bus and the slave peripheral modules. It is the bus interface that converts one protocol to the other.
The V1 platform portion will typically be running twice as fast as the peripheral modules. In addition to providing the functionality of the bus protocol
conversion, the bus bridge module also serves as the clock domain boundary.
Using well-established and easy-to-use 8-bit peripherals with a 16-bit internal architecture and a 32-bit core makes linking the 8- and 32-bit portfolios
easier and provides design flexibility for engineers.
The choice to move from an 8- to a 16-bit MCU is based on a number of considerations. With today's processing technology, the 32-bit V1 core costs roughly
the same price as a 16-bit core. However, the available performance is significantly higher.
The 32-bit V1 ColdFire connects to 8-bit S08 peripheral modules through the IPS bus. The bus bridge module allows the V1 platform portion to run twice as fast
as the peripheral modules.
Compatible Peripherals, Packaging and Tools
Either an 8-bit S08 core or the 32-bit V1 ColdFire core can be used with the numerous S08 peripherals and even packaged in a pin-for-pin compatible package.
The single-pin BDM allows the use of the same CodeWarrior Development Studio for both 8-bit and 32-bit MCUs.
A number of factors contribute to a seamless transition between an 8- and 32-bit architecture. The improvements start at the core and involve peripherals
and packaging as well as development tools. Since its initial implementation over a decade ago, the ColdFire instruction set architecture (ISA) has changed
from an optimization philosophy for 32-bit operands with some support for 8- and 16-bit operands to one of expanded and improved support for handling 8- and
16-bit operands. For the V1 class of applications, this is particularly important for users migrating from 8- and 16-bit applications. At the processor core
level, it is important for the implementation of the instruction set to directly address some of the issues that involve efficient handling of 8- and 16-bit
The V1 core microarchitecture implements a number of optimizations that improve the performance of those instructions handling 8-bit and 16-bit operands.
Not only does the V1 support those instruction types, their execution is optimized in the V1 pipeline. In applications with a significant amount of data
referenced as 8- and 16-bit operands, both the instruction support and fast execution time for those instructions provides a considerable performance improvement.
The Controller Continuum takes advantage of existing peripheral IP. Peripheral blocks connect to a common bus structure so complete reuse of S08 IP is
ensured. As a result, the investment that both Freescale and users have made in the 8-bit domain is preserved in any transition including the re-use of driver
software for peripherals. While timing and other issues may need to be evaluated, this approach leverages existing driver software for peripherals.
One of the challenges to keeping the pin count the same was the background debug mode (BDM). The BDM in a traditional ColdFire was implemented on a
three-pin serial interface (clock, data-in, data-out) while a fourth pin provided breakpoint capability. The BDM provides the ability to serially insert
commands that read/write registers or read/write memory, run and stop the processor, and more. Because the S08s are used in the lower end application
space with restricted pin availability, the debug functionality of a classic ColdFire core was remapped into a single pin interface for the V1 exactly
like the S08. The second part of the debug story has to do with ColdFire core support for real-time trace.
For the V1, the real-time trace operation had to be modified. The CPU outputs processor status information, addresses and debugs data. However, instead
of immediately outputting this information like the V2 and other ColdFire MCUs, the V1 incorporates a PST (processor status) and debug data trace buffer.
With this approach, users program start and stop conditions for recording information that comes out of the trace port, then the information gets collected,
compressed and loaded into the trace buffer. Next, the trace buffer can be read out using the single pin BDM capabilities. This is a very powerful concept that
preserves the trace capabilities by capturing events spanning hundreds of machine cycles, but maps them into a technique that works with a single-pin interface.
The biggest challenge to an 8- to 32-bit transition is the tools. The main development tool has to be interchangeable and provide 8-bit customers the same
simple look and feel as they move up in complexity to 32-bit. With a new version of the CodeWarrior® Development Studio, an 8-bit S08 can be removed and
replaced with a 32-bit ColdFire V1 core using exactly the same tool, same cable and the same set of CodeWarrior tools. The user simply recompiles C-developed code.
What Users will Do Differently
With the Freescale Controller Continuum, a customer who starts with an S08 microcontroller can transition easier than ever before to a 32-bit architecture.
With the transition, users get the processing power of a 32-bit core that is significantly higher than that of an 8-bit S08 core. The 32-bit V1 provides an
estimated performance improvement up to 10X over the 8-bit S08 architecture running at the same speed. The performance improvement over an RS08 would be
This amount of performance improvement opens up new application areas and can change the way a company plans their long-term product roadmap. Based on
the ease-of-use of the 32-bit architecture, this approach is ideally suited for 8-bit users seeking an easy entry to 32-bit performance.
The continuum approach also works for 32-bit users looking to reduce power consumption and cost in their application. Using an advanced low-voltage,
low-power process, the V1 provides a very low power consumption 32-bit MCU for both standby and run current. Furthermore, the power density is expected
to be unique and create a number of new applications.
Since the ColdFire V1 MCU products have up to 10x the performance of S08 devices, it is possible for products to significantly increase performance
within an application without increasing frequency. This can be an important benefit to applications sensitive to EMC such as appliances and washing machines.
These approaches have been discussed and validated with many customers. Once designers evaluate the potential for implementing this new methodology in their
design process, they immediately envision new ways to address future designs.
Getting There from Here
The continuum builds on extensive 8-bit S08 as well as 32-bit ColdFire processor experience by taking action on the feedback from customers. This feedback
has led to a number of improvements to the instruction set, hardware (including debug capabilities) and development tools for these devices that today makes
an upward transition quite simple. In addition, Freescale is introducing the Flexis™ series—the first 8- and 32-bit pin-, peripheral- and tool-compatible
microcontrollers at the "connection point" of the Controller Continuum. Using the S08 and ColdFire V1 cores, the MC9S08QE128 and the MCF51QE128 are the first
products in the Flexis series that make this compatibility roadmap a reality.
In most embedded control designs, there rarely is one major factor that swings a design decision one way or the other. The decision typically depends
on an accumulation of many minor, but still important, details. By taking a "leave no stone unturned" mentality in terms of optimizing power, size, performance,
peripheral usage and development tools, the 8-bit to 32-bit Controller Continuum delivers unique capabilities to system designers. In addition, with the
ability to seamlessly transition upward or downward, the continuum provides companies a long term planning capability that promises to change the product
roadmaps in many industries.
Freescale Flexis™ MCU Series
Download Article PDF >
Jeff Bock was the global product marketing manager within the MCU Division of Freescale.
Joe Circello is a processor/platform architect in the MCD of the TSPG Group at Freescale Semiconductor specializing in pipeline organization,
control structures and performance analysis. In 15+ years at Motorola/Freescale, he has served as the chief architect for the MC68060 and the
ColdFire family of devices.