Microcontrollers (MCUs) and Microprocessors (MPUs) are nowadays vital for a wide range of industrial and automotive applications: from motor control to infotainment systems and auto body control solutions. Therefore, selecting the right MCU or MPU for a product can be a huge hurdle, as not only engineers need to consider the technical features of the device but the cost and lead-times to build the business case for the proposed solution.
Both hardware and software engineers should first work out the high levels of the system (the block diagram and flowchart) and details (specifications and solution requirement) to collect enough information to make a rational decision for selecting the MCU or MPU. Choosing the appropriate device can reduce the Bill of Materials (BOM) cost —and lower the price of the Electronic Control Unit (ECU).
Normally, MCUs are used in cost-optimized solutions where tight control of BOM, power saving, and limited UI interaction are a must-have requirement. They tend to be utilized in low-power applications like remote controls, consumer electronics, and smart meters. While MPUs are ideal for rich UI OS-based (Linux, Android, or Windows CE) industrial and consumer applications, with intensive computing, high-speed connectivity, and high-performance applications.
Here are some ideas to consider when choosing the right MCU or MPU for your design:
1- List all hardware interfaces.
Enumerate all external interfaces that the device need to support using the general hardware block diagram. Include both communication (USB, Ethernet, I2C, SPI, UART...) and real-time input/output interfaces (digital to analog, analog to digital, PWM...)
2- Examine the software architecture.
Check the computing power requirements (architecture and frequency of the device) and estimate the magnitudes of each task —how long and often the task will need to run. Watchdog timers are a key feature to look in MCUs as they help to recover from failure situations, resetting the device as soon as it detects is unresponsive.
3- Identify the needed memory.
Estimate how much Flash, RAM, and ROM are needed for the application to perform correctly, using the software architecture and the communication peripherals, identifying which kind of memory interfaces the application will require; making sure the solution will not run out of the program or variable space. Also, leave room for future upgrades and next versions.
4- Check the Power Constraints.
Review the external voltage supply and current loads the device will power from to avoid malfunction. Double-check if the parts need to be low-power or not and the operational voltage levels of all components to decide how many source powers are needed.
5- Consider Functional Safety and Security reliability.
Analyze the electrostatic discharges, electro migrations, and electrical ground conditions and levels to increase robustness and safety levels against failures, as electrical connections in automotive environments can be physically quite long (because of how ECUs and equipment are positioned) drawing relatively large current, in addition to the parasitic noise generated.
6- Check the enhanced features.
Ease the development process by using the embedded MCU features, such as Zero Point Detection (ZPD) for automotive instrument cluster applications or Quad Position and Revolution Counter (QPRC) to implement jog-dial functions for audio and navigation applications. Check if the MCU has built-in software flexibility too for relocating internal modules to a different set of pins to increase flexibility during the PCB layout process. In another hand, some MCUs and MPUs have Graphic Processing Unit (GPU) dedicated to managing image processing and camera interfaces. Also look for Neural Network, Machine Learning capabilities, and Sensor Fusion too for leveraging Artificial Intelligence in your solution.
7- Study the Enablement for the MCU or MPU.
Solidify the choice of the device by mapping all available development kits, example codes, and documentation, but also compilers and debugging tools to ease the development process. Complete tool sets are usually offered for free and can be used for development processes and production intent.
8- Search for the right MCUs.
Use all above required features to check MCU or MPU options between suppliers and chipmakers. If available, get better advice from a support representative or FAE.
9- Confirm Prices and Availability.
Examine the piece cost of the device and how it will impact the overall price of the solution. Confirm how available the part is, the stocking options, and leading times (usually 6-12 weeks). Also, double check the part longevity program from the manufacturer to match the product lifecycle. Some manufacturers have roadmaps for new MCUs and MPUs available that support representatives or FAE can share.
Once you get your samples and start experimenting with the MCU or MPU, is always a good idea to test circuits and interfaces with the device, choosing high-risk parts and get them to work on the development kit. Trying out software and code variations to validate performance and ensure the selected MCU or MPU is right for your design.