Make a hardware interface list
Using a preliminary hardware block diagram, list all the external interfaces that the microcontroller needs to handle. Two common types of interfaces should be mentioned.
The first is the communication interface.
USB, I2C, SPI, and UART are commonly used peripherals in systems. If your application requires USB or Ethernet, add a special note in the comments section. These interfaces have a large impact on the program space required by the microcontroller.
Digital inputs and outputs, analog digital inputs, PWM and other digital interfaces are available. The number of pins required by the microcontroller will be determined by these two types of interfaces. Figure 1 shows a typical block diagram including I/O requirements.’’
Check software architecture
Microcontroller selection is largely influenced by software architecture and requirements. The processing power required will determine whether to use an 80MHz DSP or an 8MHz 8051. Documenting all requirements is just as important as detailing the hardware.
For example, are there any algorithms that require floating point operations? Are there sensors or high frequency control loops? Also, figure out when and how often each task will be completed. Then calculate the order of magnitude of processing power required. One of the most important factors in choosing a microcontroller architecture and frequency is its computing power.
Engineers should be able to use the information in 1 and 2 to begin determining appropriate architectural ideas. Is this application compatible with 8-bit architecture? Is it necessary to use 16-bit architecture? Or do you need a 32-bit ARM processor? Solutions to these problems can be found by regularly reviewing the application and corresponding software algorithms.
Please keep in mind that future requirements and feature enhancements may be necessary. Even if an 8-bit microcontroller can handle your application now, you should consider a 16-bit microcontroller to expand functionality and even simplify use in the future.
It is important to remember that selecting a microcontroller is a process that must be repeated. At this stage, you may have chosen a 16-bit device, but later discovered that a 32-bit ARM device would be better. This is just a suggestion for engineers to consider.
Determine memory requirements
The flash memory (Flash) and RAM of the microcontroller are two key components. Having enough program or variable space is undoubtedly the most important consideration. Usually, choosing a large enough flash memory and RAM is simple.
It’s not funny if you find at the end of a design that you need 110% more space or that certain elements have to be eliminated. In fact, within the same system on a chip, you can start with a larger device and then switch to a smaller device.
Engineers can estimate how much flash and RAM space an application will consume based on the software architecture and the connected peripherals included in the application. Remember to leave room for expansions and new releases! This will eliminate a lot of headaches in the future.
Start looking for microcontrollers
Now that you have a better understanding of your microcontroller needs, it’s time to start looking for the right microcontroller! Microcontroller vendors such as Arrow, Avnet, and Future Electronics are a good place to start looking for a microcontroller.
Discuss your application and requirements with the field application engineers from these suppliers, who will almost always have something new that is technologically advanced and meets your needs. Remember, they may be eager to market an entire line of microcontrollers!
The chip supplier you’re already familiar with is the next best option. For example, if you have used Microchip equipment before and are familiar with it, you can visit Microchip’s website.
Most chip vendors have a search engine where you enter your peripheral mix, I/O, and power requirements, and the search engine progressively filters out the devices that match your needs until you find a list of devices. The engineer can then carefully select the most suitable microcontroller from this list.
Check prices and power limits
At this point, the selection process should provide a large number of candidates. Their power requirements and price should be thoroughly examined at this point. If the device is powered by a battery or mobile device, power consumption must be kept as low as possible.
If you can’t meet the power consumption requirements, go through the list one by one until you find the right product. Don’t forget to look at the unit price of the processor. While many devices cost close to $1 when purchased in bulk, if it’s a highly specialized or high-end processor, price can matter. This is an important point to remember.
Check device availability
Now that you’ve compiled a list of suitable equipment, it’s time to check the availability of each. There are a few things to note, such as how long is the delivery time for the equipment? Is inventory available from multiple wholesalers, or does it take 6 to 12 weeks to arrive? What are your supply requirements? You don’t want to place a large order and have to wait three months for it to arrive.
Select a development kit
Finding a compatible development kit and studying the inner workings of the controller are critical steps in selecting a new microcontroller. When engineers are interested in a product, they should check to see if a development kit is available.
Investigate compilers and tools and start experimenting
Microcontroller selection is largely limited by development kits. The final thing to consider is the compilers and tools available. Compilers, routine code, and debugging tools are provided with most microcontrollers.
Even if you choose a microcontroller, things are not set in stone. Development kits are often available long before the first hardware prototypes are developed. Use the development kit to build the test circuit and connect it to the microcontroller,
Select high-risk devices and try to integrate them with a development kit, and you may find that a device you thought was functioning well has unexpected problems, forcing you to choose a different microcontroller.