Make a list of all the external interfaces that the microcontroller needs to handle using the preliminary hardware block diagram. There are two types of common interfaces that should be mentioned.
The communication interface is the first.
USB, I2C, are common peripherals utilized in the system. If the application requires USB or Ethernet, add a special remark in the notes section. These interfaces have a significant impact on the amount of program space required by the microcontroller.
Digital input and output, analog to digital input, other digital interfaces are available. The number of pins required by the microcontroller will be determined by these two types of interfaces. Figure 1 illustrates a typical block diagram and includes the I/O requirements.
Microcontroller selection is heavily influenced by software architecture and requirements. The amount of processing power required will determine whether an 80MHz DSP or an 8MHz 8051 is used. It's just as critical to document all needs as it is to detail hardware.
Are there any algorithms that require floating-point arithmetic, for example? Is there a sensor or a high-frequency control loop? Also, figure out how long and how often each task should be completed. Then calculate the number of orders of magnitude in processing power required. One of the most important factors in selecting the architecture and frequency of a microcontroller is its computing power.
An engineer should be able to start identifying the appropriate architectural ideas using the information from 1 and 2. Is this application compatible with an 8-bit architecture? Is it necessary for me to use a 16-bit architecture? Or do you need a 32-bit ARM processor? A remedy to these issues will be found by examining the application and the appropriate software algorithm on a regular basis.
Keep in mind that future requirements and functional enhancements might be necessary. Even though an 8-bit microcontroller can handle your application now, you should consider a 16-bit microcontroller for future feature expansion and even simplicity of use.
It's important to remember that choosing a microcontroller is a procedure that must be repeated. In this phase, you may have chosen a 16-bit device, but later discovered that a 32-bit ARM device would be better. This is merely a suggestion for the engineer to consider.
A microcontroller'sRAM are two key components. Having enough program or variable space is, without a doubt, the most important consideration. It is normally simple to select a flash and RAM that is far more than adequate.
It's no laughing matter if you discover at the end of the design that you require 110 percent extra room or that some elements must be eliminated. In fact, inside the same chip system, you can start with a larger device and subsequently switch to a smaller device.
Engineers can estimate how much flash and RAM space the application will take using the software architecture and connectivity peripherals included in the application. Remember to make room for extensions and new releases! This will eliminate many future headaches.
Now that you have a better idea of what your microcontroller needs, it's time to start looking for the right microcontroller! Microcontroller suppliers like Arrow, Avnet, and Future Electronics are a good place to start looking for microcontrollers.
Discuss your application and requirements with these providers' field application engineers, and they will almost always offer a new gadget that is technologically sophisticated and satisfies your needs. Keep in mind that they might feel compelled to market an entire family of microcontrollers!
A chip source you're already familiar with is the second-best option. Go to Microchip's website, for example, if you've used their devices before and have a lot of familiarity with them.
Most chip providers have a search engine where you may enter your peripheral mix, I/O, and power requirements, and the search engine will gradually filter down the device selection until it finds a list of devices that meet your needs. Engineers can then choose the most appropriate microcontroller from this list with caution.
The selection procedure should provide a large number of candidates at this time. Their power requirements and price should be thoroughly examined at this time. If the device is to be powered by batteries or mobile devices, it must consume as little power as possible.
If you can't meet the power consumption requirements, go through the list one by one until you find anything that works. Don't forget to look at the processor's unit price. While many devices are close to $1 when purchased in large quantities, pricing can matter if it's a highly specialized or high-end processor. This is an important point to remember.
Now that you've compiled a list of suitable devices, it's time to see how readily each one is available. There are a few things to keep in mind, such as what is the device's lead time? Is there stock accessible from multiple wholesalers, or will it take 6 to 12 weeks to arrive? What are your availability requirements? You don't want to place a large order and then have to wait three months for it to arrive.
Finding a compatible development kit and studying the controller's inner workings is a key step in selecting a new microcontroller. When engineers get interested in a product, they should check for available development kits.
The microcontroller options are largely limited by the development kit. The last thing to think about is the compilers and tools that are available. Compilers, routine code, and debugging tools are all available on most microcontrollers.
Things aren't set in stone even if you choose a microcontroller. Long before the first hardware prototypes are developed, development kits are frequently accessible. Build test circuits and connect them to the microcontroller using the development kit,
Select high-risk devices and attempt to integrate them with the development kit, Then you may discover that the device you believed would function well has unexpected issues, forcing you to choose a different microcontroller.
In any case, early experimentation will ensure that you make the best decision possible and that any necessary modifications will have the least impact possible!