Development tools
As microcontrollers have been available for a very long time, the selection decision in the industry is now governed by the support from chip vendor and development tools, not the price and features.
Siddharth Patel, lead engineer-embedded software, EATON India Engineering Centre, explains: “Now we have multiple vendors offering chips with the same CPU core and similar features at almost similar prices across various segments. So now chip vendor support and development tools play a very important role among selection verticals.”
Sai Ram Mannar, founder and director, GreenOcean Research Labs, adds, “The availability and richness of the development tools is a key aspect. As these tools are expensive and mostly tied to the microcontroller, they need to be evaluated clearly, ensuring flexibility of the tool in supporting multiple families with ease. The debugging capabilities and an easy graphic user interface (GUI) for configuring the various peripherals of the MCU also help a lot.”
[stextbox id=”info”]
The key parameters to be considered while selecting an MCU should also include the possibility of reduction in the number of electronic components. This will allow integration of more functionality
— Prashant Mahendrakar, Technical Manager at Sankalp Semiconductor
[/stextbox]
How much should you focus on application requirements?
The application requirements of an embedded system under development have a big say on the system processing needs. Based on these requirements, you select the MCU. The question is: “Should I choose strictly based on the requirements from a commercial perspective or consider the greater good of all?
“This part is usually taken very seriously during MCU selection in our firm. We usually do not prefer to use too many different types of MCUs in our products only to tightly match the application requirements. This would leave us with too many tools of development and maintenance, which unnecessarily blocks lots of money. Instead, we have carefully chosen a few powerful devices and also a few low-profile devices that we choose from,” explains T. Anand, managing director, Knewron.
Plato Pathrose, senior engineer, design & development, Tata Elxsi, explains how things work in the automotive industry: “Automotive compliance of the MCU should be considered at first; without this, nothing could be taken inside the automotive industry. Next, we look for product familiarity in development, which could reduce the development costs and increase the flexibility in usage. Following this, we look into the availability of the tools and samples and also the vendor’s support during the course of development.”
“The key parameters to be considered while selecting an MCU should also include the possibility of reduction in the number of electronic components with the MCU. This will allow integration of more functionality. For instance, you can integrate more memory (Flash/RAM) and a multiprocessor,” adds Prashant Mahendrakar, technical manager at Sankalp Semiconductor.
Don’t forget about memory
The cutthroat competition in the market has pushed software development so much that we now live in a world that seems to be obsessed with the ‘Beta Culture.’ Almost every new service or product is run on Beta software. The designer should keep this in mind while choosing the memory size for his product. The software that he has been given now may soon bloat up as bugs get squashed and new features added. So there better be memory available for the update.
Jigar Patel says, “Some algorithms require substantial RAM to be implemented in a straightforward manner. It may be worthwhile looking for a micro with a lot of RAM. On the other hand, the size of the Flash memory depends on the size of the object file generated by the assembler/compiler. The size of the Flash program memory is an important factor when the user has decided to use the internal program memory. The user must keep in mind to keep a few percentage (depending on the nature of the application) of the free space in the program memory for future requirements.”
[stextbox id=”info”]
When choosing memory sizes (of all kinds), we give a thought to scalability (if it is planned) such that tomorrow we may update the program. This would need additional memory, so the installed MCU should have the margin already built-in. We go with the closest possible option. When in doubt, we go with one slot higher option.
— T. Anand, Managing Director at Knewron
[/stextbox]
Anand adds, “When choosing memory sizes (of all kinds), we give a thought to scalability (if it is planned) such that tomorrow we may update the program; this would need additional memory, so the installed MCU should have the margin already built-in. This margin has to be around 15-20 per cent. MCU sizes usually come in different slots such as 4kB, 8kB, 16kB and so on. Therefore we go with the closest possible option. When in doubt, we go with one slot higher option.”
Scalability is very important for a commercial embedded system to stay viable in the market over the long run.
Shrenik Shikhare, embedded software engineer, Maven Systems, says, “Embedded designers must have their eye beyond their designs and think strategically when selecting platforms with appropriate migration paths for long duration, feature set and performance. As scalability is the ability to handle the growing workload that may come in the future, one should think in all directions—whether the system will perform well to handle the extra work after adding some hardware into the existing system, or the existing system itself is capable of handling the extra work in the future. In short, your system must be designed for upcoming workload while fulfilling the current requirements too.”
“The memory technology used inside the MCU also affects its calculation speed. Some MCUs use MONOS flash technology, which can run up to 100 MHz with zero wait states. This differs from other MCUs that use normal flash technology and need to insert wait states, dropping CPU performance a lot,” adds Wang Kaifei.
[stextbox id=”info”]
Availability is an important consideration for commercial designs. You would have different requirements for different stages of development—for instance, smaller quantities for engineering samples, and larger ones once you enter production. Moreover, make sure that the MCU is available in the future by ensuring that it’s not nearing obsolescence
— Vivek Tyagi, Country Sales Manager, Freescale Semiconductor India
[/stextbox]