How Suppliers Are Helping Designers Implement Complete Solutions for Embedded Applications

Two decades ago, most chipmakers designed products that could be described as single-function devices. In the embedded world, the MCU was the center of the design space but a significant number of other devices were needed to create a system. Designers integrated them on a pc board in what today would be considered a long design cycle.

Silicon vendors soon recognized the value of acquiring system expertise to add value to their product. Some already had core competencies in analog and RF that they could bring to the table. The result -- the system-on-a-chip (SoC) concept – has markedly changed their relationship with system designers, who now have more features and performance at their fingertips.

The ability to leverage system-level expertise, as well as having analog and RF product knowledge, offers clear advantages when integrating peripherals on the MCU die. The flip side for the chipmakers, however, is the challenge of creating a development ecosystem to support these complex MCUs.

For MCU vendor selection, three top-level considerations for choosing an MCU supplier are:

  1. The performance and level of integration on the MCU itself
  2. The quality of development software
  3. The extent to which the vendor is committed to extending its technologies to support system-level innovation. In other words, whether the vendor is exploring the “frontiers of embedded.”

Thanks in part to the breadth of its broad product portfolio, Texas Instruments offers industrial-system designers a family of highly sophisticated MCU-based motor-control solutions. STMicroelectronics has developed leading-edge product offerings for consumer electronics; and Microchip has invested heavily in a unified development environment that it considers unique.

Products from these three companies provide good examples of how some companies have positioned themselves to provide complete solutions on the frontiers of embedded processing.

Motor control

Sometimes the advantages claimed for an MCU are derived from a clever combination of hardware and software innovation. One of the best examples is Texas Instruments’ motor control products, which includes powerful new algorithms that the company calls its InstaSPIN solutions.

InstaSPIN technologies employ TI’s FAST algorithm, which characterizes the motor-control circuit and creates a foundation for the following three components:

  • InstaSPIN-FOC ensures precision alignment of the stator field in relation to the rotor field to maximize torque-production capability, enable precise current-controlled magnitude of the stator field, and allow for proper design and sizing of motors to the application.
  • InstaSPIN-MOTION adds robust control across dynamic speed, position, and load ranges of the system.
  • InstaSPIN-BLDC is a sensorless control technique targeted at low-cost BLDC applications.

A more complete description of InstaSPIN can be found in the MCU TechZone article “Sophisticated Motor-Control Moves into the Mainstream.” Of greater interest in this article are the peripherals and functionalities that TI has integrated into its MCUs to implement its complete motor control solution.

TI made these enhancements in its Piccolo MCU series, which has a peripheral-rich architecture that enables the execution of algorithms in real time for more precise and accurate control. These intelligent control peripherals also help control loops run tighter, which improves disturbance behavior. A representative Piccolo part is the TMS320F28026FPTT.

Motor-control peripherals include the ADC and PWMs, both of which have been designed for maximum flexibility. The A/D converter’s auto sequencer lets designers program the application to cycle through samples in a specific order so that values are ready when the application needs them.

An integrated Control Law Accelerator (CLA) is a 32-bit floating-point math accelerator that offloads high-speed control loops from the main CPU core. It has direct access to peripherals and can respond to peripheral interrupts independent of the main core. The CLA has its own instruction set and memory space, allowing it to operate completely independent of the CPU. A block diagram of the CLA is shown in Figure 1.

Figure 1: Block diagram of Control Law Accelerator. (Courtesy of Texas Instruments)

Other Piccolo peripherals include:

  • 12-bit A/D converter with 16 channels and a maximum sampling frequency of 4.6 Msamples/s
  • Up to 19 channels of PWM output with configurable automatic dead band
  • Up to 8 of the 19 PWM channels with a resolution as low as 150 ps
  • Enhanced Quadrature Encoder Pulse (QEP) and Enhanced Capture Peripheral (eCAP) for simplified sensor decoding

To give designers a clear product development path, TI offers several evaluation and development kits, including a motor-control evaluation kit (DRV8312-69M-KIT), a development kit for Field-Oriented Control (FOC) applications (TMDSHVMTRINSPIN), and a Booster Pack development kit (BOOSTER PACK MOTOR DRIVE).

Consumer products

The information explosion and the resulting requirement for handling very high bit rates and supporting gigabits of storage has driven the pace of technology in all markets – none more the consumer.

“Richer user experience” has been the buzzword in consumer electronics and that usually translates into higher-end graphics, multi-channel audio, and high-resolution video – all system features once thought well beyond the MCU design realm. Nevertheless, consumer demand for rich user interfaces seems to be migrating to more mundane products such as white goods. Smart appliances, wearable devices, and a host of IoT applications are now starting to deliver the same rich user interfaces as smartphones and PCs.

For designers of MCU-based systems, the new era begins by switching from traditional structured languages such as C to advanced development platforms such as Java, µC Linux, and Microsoft.NET. From an MCU-hardware perspective, entering the multimedia design space translates into more memory, supporting SDRAM, accelerators, on-chip display controllers, and possibly multichannel audio. 

Designing with the previously mentioned development platforms requires up to 2 MB of Flash or 1 MB of dual-bank flash accompanied by 256 KB of on-chip RAM. Support for SDRAM modules can eliminate external SRAM memory from the design – but requires a 32-bit wide-data bus running on about a 100 MHz clock.

By integrating a display controller on the MCU, MCU designers give system designers the option of connecting the application to a standard TFT-LCD while still reaping the benefits of the low-cost, compact size, and real-time performance associated with an MCU-based system. When high-end audio is part of the human-interface system design, multi-channel audio can be offered by supporting time-division multiplexing (TDM) using the standard interface I2S TDM instead of the more conventional I2S (Inter-IC Sound).

High-performance cores from ARM Holdings are typically at the heart of MCUs that handle applications that include rich multimedia human interfaces. The appropriate core for this class of applications is the Cortex-M4, which is a lower-cost solution for a design that might ordinarily use an MCU and an entry-level or mid-range DSP.

Graphics acceleration
An MCU that integrates these features is STMicroelectronics’ STM32F4xx series, including the STM32F429IIT6.  To further enhance graphics performance, STMicroelectronics has integrated a Chrom-ART graphics accelerator. Compared to running software on the Cortex-M4 core, this hardware block can double pixel-format conversion and transfer throughput.

The Chrom-Art Accelerator (DMA2D) is a specialized DMA dedicated to image manipulation in the STM32F4xx series. Integrating blending, encoding, and decoding functionality in the MCU lifts this burden from the application code and core processor. Chrom-ART’s architectural features include:

  • Two-input pixel format converters (PFC) that read and to decode bitmap files
  • A blender that computes and mixes the data from the two input PFCs
  • The output PFC, which decodes the information
  • FIFOs used for both the inputs and the outputs connected to a specific DMA controller

Development environments

As MCUs integrate more peripherals and interface types, the number of functions that must be supported by software development tools grows as well. Communications – including RF – and high-speed memory interfaces are just the beginning.  System-level functionality such as capacitive touch, graphics, and even gesture sensing also need peripheral support.

So it is no surprise that the number of development tools offered by MCU vendors typically runs in the high hundreds. Microchip Technology, for example, offers more than 900 different development tools, including its integrated development environment, compilers, debuggers, programmers, and software and development boards for specific applications.

Recognizing the complexity of software development, Microchip created an Integrated Development Environment (IDE) called MPLAB X IDE that seamlessly connects all of its tools under a single-development ecosystem with a user-friendly interface.

MPLAB IDE can be used in Microchip’s entire portfolio of more than 700 8-, 16-, and 32-bit PIC microcontrollers. This allows engineers to develop all aspects of the design without having to switch between a number of tools and modes of operation.


The most recent version of MPLAB X IDE is based on the open-source NetBeans IDE maintained by Oracle. Using NetBeans allowed Microchip to add many frequently designer-requested features to the IDE very quickly. It also created a much more extensible architecture to integrate new features in the future.

NetBeans shares the basic characteristics of all IDE’s: Project creation and management, program editor, language tool integration and build tools, image preparation and programming, and debug facilities.

Using an IDE minimizes the time required for a designer to figure how to accomplish each successive task in the design cycle. The classic edit, compile, debug cycle, for example, simply involves opening the source file in the programmers’ editor and making the changes – not much different than editing a document with a word processor. The next step, however, is where the value of an IDE becomes evident.

After compiling the program, many development systems require the designer to figure out how to load it to start a debugging session. In NetBeans-based IDEs such as Microchip’s MPLAB X, debugging amounts to simply selecting the “DebugRun” button. After that, the MPLAB X takes over. Any errors that occur during the sequence are captured and presented to the designer in the context of the particular tool and code section so it is easier to understand what has happened – and fix it.

The dashboard display screen is a useful feature in MPLAB X because it provides a summary of the tools and resources running at a particular time. Figure 2 shows a typical dashboard including the MCU (PIC24FJ in this case) as well as any status flags generated during a Run or Debug Run.

Figure 2: MPLAB X dashboard display. (Courtesy of Microchip Technology)

Other information on the dashboard includes the name of the project tool chain (compiler, assembler, linker, etc.), the toolchain’s version number and license type (Pro, standard, or free). Of greater interest are the memory types and the debug resources, which show the number of hardware breakpoints available.

MPLAB X provides cross-platform support for Windows, Mac OS X, and Linux. Among the Microchip and third-party tools supported are:

  • MPLAB ICD 3 In-Circuit Debugger, an in-circuit debugger controlled by a PC running MPLAB IDE (v8.15 or greater) software on a Windows platform. Applications span software development to hardware integration.
  • PICkit 3 programmer/debugger a simple, low-cost in-circuit debugger controlled by a PC running MPLAB IDE (v8.20 or greater) software on Windows.
  • MPLAB REAL ICE In-Circuit Emulator: Microchip's next generation high-speed emulator for Microchip Flash Digital Signal Controller (DSC) and microcontroller (MCU) devices. It debugs and programs PIC Flash microcontrollers and dsPIC.


Choosing an MCU vendor is becoming less a matter of the computing power of the MCU and more a factor of peripherals available, software innovation from the silicon vendor, and the ease of use and extensibility of the design environment. Core competencies in non-digital silicon design and manufacturing, such as analog and RF, can also be an important consideration. An MCU vendor can satisfy all of these criteria, however, and still not be the best choice if it does not maintain a leadership position in enabling system-level technologies of the future.

For more information about the parts discussed in this article, use the links provided to access product pages on the Hotenda website.