The hardware inside microcontrollers is increasingly powerful and versatile. This is good, right?

When I started working with embedded systems, microcontrollers and DSPs were very different things. In fact, the first professional system that I was deeply involved in was a perfect example of the distinction: An 8051 microcontroller was used for housekeeping tasks and a test/debug RS-232 interface. A Texas Instruments DSP was used for intensive mathematical computations. The 8051 was programmed by a mechanical engineer, and the DSP was programmed by an electrical engineer who later became a system engineer. I don’t know what this last sentence says about the MCU vs. DSP distinction, but maybe you can discover some hidden significance.

As microcontrollers become more powerful and incorporate additional dedicated hardware, the “MCU” and “DSP” categories become less relevant. Microchip is contributing to this trend with its PIC32MZ DA and CEC1702 microcontrollers, which incorporate advanced graphics capabilities and hardware cryptography, respectively. As one of the press releases points out, the PIC32MZ DA family “breaks through perceived MCU graphics barriers”. Just for the record, I’m not making a value judgment here; you can call these parts whatever you want as far as I’m concerned. When I’m searching for a part I look at the specs, not the category, and I know which manufacturers make the processors that I’m interested in.

However, as implied by the introduction to this article, I think it is worthwhile to consider the implications of microcontrollers that incorporate increasingly diverse and sophisticated functionality. There is always a trade-off: higher performance comes with design challenges such as stricter layout requirements, higher levels of firmware abstraction, or simply longer datasheets that are more intimidating for novices. There is perhaps some degree of risk in making microcontrollers increasingly unapproachable for those who don’t have extensive experience in embedded design.

 

Graphics

Block diagram for the PIC32MZ DA family. Courtesy of Microchip.

 

No one could deny that graphical displays or interfaces are essential aspects of modern electronic devices, and I assume that many designers will be glad to see manufacturers such as Microchip making efforts to support and improve this functionality. The PIC32MZ DA family includes a graphics controller, a graphics processing unit (GPU), and up to 32 MB of RAM.

  • The graphics controller has a 24-bit parallel interface that can handle resolution up to 1280 × 1024. It’s designed to be flexible in terms of image format, color-space format, and timing configuration.
  • The GPU seems to me exceedingly impressive, and the capabilities far exceed anything that I would expect to find in a microcontroller. It supports accelerated graphics rendering, blit and raster operations, dithering, image scaling, and more. The product page says it well: the GPU enables graphics performance that would be “impractical for an MCU CPU alone”.
  • Memory is important in graphics applications because of all that pixel information that needs to be stored. I for one like to have plenty of memory when I’m dealing with displays because it allows for a more intuitive approach to handling pixel data. True, you can always add external memory, but this comes with various disadvantages—higher PCB complexity, higher cost, larger form factor, even security issues.

 

Encryption

Block diagram for the CEC1702. Courtesy of Microchip.

 

I’ve never had any need for encryption in my projects and I honestly know very little about it. But I readily believe that it’s important in these days of cybercriminals, identify theft, and shady business practices (shady business practices are nothing new, I suppose—I doubt the Phoenicians attributed their success to “fair trade”). Microchip is emphasizing the importance of data security in the context of an IoT world, and that makes sense: if indeed the world will one day be filled with little Internet-connected devices sending data every which way, we might as well do what we can to protect that data from malefactors.

The CEC1702 is a 32-bit microcontroller built around an ARM Cortex-M4 processor. The special security features are described as “encryption, authentication, and private and public key capabilities”. As usual, this integrated functionality provides significant performance benefits by using hardware to accomplish tasks that otherwise would burden the processor; the product page mentions a factor-of-100 performance improvement for encryption and decryption.

In addition to typical encryption of data and code, the CEC1702 offers the following:

  • “pre-boot authentication,” which has something to do with verifying that the firmware hasn’t been tampered with

 

The CEC1702’s “secure boot” functionality. Click to enlarge. Diagram courtesy of Microchip.

 

  • “firmware update authorization,” i.e., the chip can protect itself from malicious or corrupted firmware updates
  • “authentication of critical commands,” which refers to some sort of scheme whereby the chip confirms that system-critical commands are from a trusted source

 


 

Do you have experience with complex embedded graphics applications? Do you think that the functionality offered by the PIC32MZ DA would be a significant advantage in the design process? 

 

Comments

1 Comment