Why is it necessary to choose a microcontroller based on the criteria?
- 1 Why is it necessary to choose a microcontroller based on the criteria?
- 2 Criteria for Choosing a Microcontroller
- 3 Introduction
- 4 Classification based on Architecture
- 5 Types of Microcontrollers with examples
- 6 Commonly Used Microcontrollers and their Features
It is very difficult to choose a particular Microcontroller for a specific application. The success or failure of any project largely depends on the proper selection of the Microcontroller Unit. In this paper, a brief overview of the unit is described as far as the right selection for a particular application is concerned. So many manufacturers are producing microcontrollers in bulk amounts.
The comparison is based on products of a few leading manufacturers. System requirements, availability, performance, size, power dissipation, flexibility, Reliability, Maintainability, Environmental constraints, software support, correctness, safety, Cost, manufacturer’s history and track records are the vital factors to be considered whenever a system is to be implemented using a microcontroller which is the heart of the device. In this paper several factors are focused and follow up of those factors leads to the success of the project.
Criteria for Choosing a Microcontroller
Choosing a microcontroller from a number of different microcontrollers is a very critical decision for the designers. Three are the vital major criteria for selecting them. These are (a) wide availability and reliable sources (b) meeting the requirements efficiently and cost effectively (c) availability of the software development tools like compilers, Assemblers and debuggers etc . The following steps should be followed during the selection of the MCU.
The main criteria in selecting a microcontroller are given below in the order of importance.
A. System Requirement
The design should start with a blank sheet of paper specifying the application needs if the system requires a single chip MCU or additional peripherals are to be used with it. The selection process starts with a decision of choosing either the 4-bit, 8-bit, 16-bit, or 32-bit microcontroller required by the application.
To develop code for 4-bit architectures is harder and handling 4-bit instructions and data widths can limit arithmetic capabilities. Most of the embedded applications are implemented using an 8-bit microcontroller as the technology has been around a long time and a huge number of controllers are available in the market.
They are used from low cost, low speed 4-bit micro replacement to a device that delivers tens of MIPS, such as Atmel’s AVR series which achieves a 50 ns instruction cycle time when clocked from a 20 MHz crystal. If the application needs more processing power the choice is most likely to be 16-bit or 32-bit MCU. Vendors offer 32-bit performance cost-effectively.
32-bit devices come at virtually no cost to the user. The on-chip peripherals available exhibit a heavy influence on component selection. Check the availability of Timers, Serial interfaces, ROM, RAM, A/D converter, D/A converter sufficient number of I/O ports. Too many I/O ports lead to bear the excessive cost but few cannot do the job.
This is a very important factor while designing any microcontroller based system. Three different types of memory play an important role in the selection process are
- (a) program memory i.e. Flash, OTP, ROM, and ROM fewer components,
- (b) Data memory i.e. on-chip SRAM or external SDRAM and
- (c) Nonvolatile Memory i.e. EEPROM or Flash.
Whether the memory is on-chip or off-chip and how much the size is required may be a key factor that defines the cost of building the system and speed of operation. For example, Atmel AVR family includes Flash memory of 1KB to 128KB, on-chip SRAM for data storage, and for the storage of configuration information and serial numbers, a few bytes of EEPROM are reserved.
These golden features make the AVR family more popular in different applications. Flash gives the flexibility to make code changes and provides the facility to use In-System-Programmed. Atmel 89C51 and Mega AVR families have the segmented Flash blocks which allow reprogramming one segment under the control of another segment, without removing the power. Lastly, it is best to choose a device from a family which provides sufficient or more memory space than the expectation of need.
Before going to implement the system, the availability of the device should be checked. The criteria in choosing a microcontroller are its ready availability in needed quantities both now and the future. If sufficient quantities are available with a bright future then no need to be worried about the failure of the project.
If IC of 15 I/O pins are required to develop the system there is no need to use 40 pin IC with 32 I/O pins. In this way, the size of the IC can be reduced, and thus physical space required to implement the system is also reduced. So, the physical size of the IC may well be a critical factor for specific applications.
The function of a system can be changed or upgraded by changing the software or replacing one IC with another one without incurring a heavy additional cost. The new one will be pin compatible as well as function compatible.
F. Functionality Testing
To check the function of the implemented system correctly the function of the MCU should be checked within the test circuit designed earlier before going to develop the overall system
G. Power Management
More power means more heat dissipation which leads to a waste of energy. Power consumed by the system determines the lifetime of the battery. Due to a reduction in the size of the devices the size of the components is reduced and their placement within the design is very compact. This phenomenon makes the devices to be sensitive to the heat dissipated from the MCU and the other peripherals connected with it. It is the duty of an engineer to look first at the power required at the clock speed necessary to run the application.
ROM based devices tolerate very low operating voltages (around 0.9v). In the case of Atmel AVR devices, a Flash-based microcontroller can be operated at the voltages down to 1.8V. Most microcontrollers have the features of power down, idle & sleep modes, and consideration needs to be given to maximize the use of intelligent power management systems to reduce power consumption.
H. Manufacturer’s Track Record
Manufacturers should ensure stability, good performance, better throughput, Reliability; better Serviceability, software support, correctness, wide and timely availability of their products. For example products of Intel, Freescale, Zilog, and Microchip Technology are stable, mature, and single sources.
The points like design challenges, on-time delivery, performance, years in business, and year of the transaction, the financial report should be followed by the track record of the manufacturers. They must provide the datasheet or user guide which consists of characteristics, functionality, sample test circuit, electrical characteristics, and dimension, etc. The documentation of maintenance of the development system, the range of services, and its associated software must be available for common use.
I. Manufacturer’s Support
During the step by step implementation of the system if the design engineer faces any kind of problem, he/she may communicate with the marketing/sales, field application engineers. The manufacturers should have some facilities like a helpline, toll-free number, fax number, after-sales support, sufficient knowledgeable and helpful expertise support personnel who will give a prompt reply or they will follow through in a regular manner when they promise to do something.
J. Availability of Development Support
Here the key consideration includes Assembler, Debugger, a code efficient C compiler, emulator, technical support. The trend towards programming in a high-level language like C is increasing day by day. This language allows using of some portability of code and libraries. This provides a more practical consideration using a different microcontroller family. Choosing the appropriate Hardware and software development tools is also important while selecting MCU.
An integrated development environment (IDE) facilitates the development efforts by providing the project management tools. IDE enables to create source files and their organization into a project, creation of a database for many devices. An example of IDE is Keil uVision 2 which compiles to point out and correct the errors, assembles, and links the device datasheet, user guides, and development tool manuals. Another good example is MPLAB for PIC and dsPIC microcontrollers from Microchip Technology. This is mainly used for the development of embedded systems.
This is the most important factor. If the system is to be implemented within the limit of the budget calculated earlier the cost of each and every component (selected MCU along with supporting ICs) used to build the system should be minimized tactfully to fulfill the requirements. On the chip, features will trade with inventory and assembly cost of using extra supporting external components. They can also cut development time and effort by providing a ready integrated solution.
The design of special hardware requires non-recurring engineering costs and costs for manufacturing the unit. Integration of some peripherals like 10/100 base T Ethernet MACs, CAN bus interfaces, USB, RF transmitter, and graphics driver cut the system cost to some great extent. For high volume applications, most users prefer ROM based devices due to their lower cost and code security.
With the advancement of semiconductor fabrication technology manufacturers is able to integrate memory, input/output interfacing circuits, Timer, Serial Com port, and Analog to Digital Converter and other peripherals into the microcontroller. Thus it is essentially an entire chip fabricated on a single chip. The single-chip microcontrollers are used in consumer products like washing machines, copiers, AC machines, printers, etc., high-speed Data processing like video conference, real-time compression and security system, image processing, etc., automotive systems like electronic power steering system, antilock braking systems, etc.,
Different industrial applications like AC and DC motor Drives, position control, motion control, etc. Due to the integration of all function blocks on a single chip microcontroller IC, the sizes of the control board and power consumption are reduced; system reliability increased and also provides flexibility. The other advantages of using such microcontroller-based systems are easy troubleshooting and maintenance.
All of the above-mentioned fields of applications depend on the several factors of choosing the right microcontroller unit for specific applications. This paper gives an overview of the critical consideration of the factors fulfilling the system specification by reducing the total cost which includes the cost of manufacturing, warranty, Research, and Development, after-sale service, maintenance, replacement etc.
Classification based on Architecture
In 1993, the introduction of EEPROM allowed microcontrollers (beginning with the Microchip PIC16x840) to be electrically erased quickly. It allows both rapid prototyping and In-System-Programming (ISP). The same year, the first microcontroller using Flash memory was introduced by Atmel. 4-bit to 32-bit microcontrollers are available in the market. Based on the number of bits it is broadly classified into four different categories i.e., 4-bit, 8-bit, 16-bit and 32-bit microcontrollers. 4-bit microcontrollers are extensively used in electronic toys.
8-bit microcontrollers are generally used in various control applications such as position control, speed control, and any process control system. The 16-bit microcontroller is designed and developed for the purpose of high-speed control applications such as servo control systems, robotics, etc. Programming of such a microcontroller can be achieved either by a high-level programming language or by assembly language programming.
For very high-speed operations in robotics, image processing, automobiles, intelligent control system, and telecommunications 32- bit microcontrollers are used. Typical examples of MCU are the Intel MCS48, 51 and 96 families, the Motorola MC68HC11 family, and the Zilog z8. Most of these MCUs have an 8-bit word size (except the MCS-96 with a 16-bit word size), at least 64 bytes of R/W memory, and 1 KB of ROM. The range of the I/O line varies from 16 to 40 lines.
Types of Microcontrollers with examples
There are several vendors manufacturing different architectures of the microcontroller. Intel’s 8051, Freescale’s 6811, PIC 16X from Microchip Technology, Zilog’s Z8 are four major 8-bit microcontrollers. Due to their unique instruction set and register set they are not compatible with each other. A program written for one will not run through the other microcontroller from other manufacturers.
shows such a list of architecture and the leading manufacturers of different microcontroller for different applications
|Atmel||AT89 series (Intel 8051 architecture) , AT90, ATtiny, ATmega, ATxmega series(AVR architecture), AT91SAM (ARM architecture), AVR32 (32-bit AVR architecture), MARC4|
|Dallas Semiconductor||8051 family, MAXQ RISC family, Secure Micros family|
|ELAN Microelectronic Corp.||EM78PXXX Low pin-Count and GPIO Type, EM78PXXXN ADC Type|
|EPSON Semiconductor||SIC6x family (4-bit), SIC88 family (8-bit), SIC17 family (16-bit), SIC33 family (32-bit)|
|Freescale Semiconductor||68HC05, 68HC08, 68HC11 (8-bit), 68HC12, 68HC16 (16-bit), 683XX, MCF5xxx, M-core, MPC500, MPC860 (32-bit)|
|Holtek||HT48FXX flash I/O type, HT48RXX I/O type, HT46RXX A/D type Series|
|Intel||MCS-48, MCS-51, 8xC251 (8-bit), MCS-96, Intel MCS-296|
|Microchip Technology||PIC10, PIC12, PIC16 series, PIC18 series (8-bit), PIC24, dsPIC (16-bit), PIC32MX series|
|NXP Semiconductor||80C51 (8-bit), XA (16-bit), ARM7/LPC2000, ARM9/LPC3000, ARM Cortex-M0/LPC800,LPC1100, LPC1200, ARM Cortex-M3/LPC1300, LPC1700, LPC1800, ARM Cortex-M4/LPC4300|
|National Semiconductor||COP400, COP8, SC/MP, CR16|
|ST Microelectronics||ST6, ST7, STM8, uPSD (8-bit), ST10 (16-bit), ST20, ARM7/STR7, ARM9/STR9, ARM Cortex-M0/STM32 F0, ARM Cortex-M3/STM32 F1, F2, ARM Cortex-M4/STM32 F4|
|Texas Instruments||TMS370 (8-bit), MSP430 (16-bit), TMS 320, ARM Cortex-R4/TMS570 ( 32-bit)|
|Zilog||Zilog eZ8, Zilog eZ80, Zilog Z16|
|Maxim Integrated||8051, ARM922T, MAXQ20, MAXQ30, MIPS4kSD|
|NEC||78K, 75X, 17K, MPD78C14, V25, V850|
Commonly Used Microcontrollers and their Features
A microcontroller is a single integrated circuit, have some important features. Central Processing unit ranges from 4 bit processor to 32 or 64 bit processors. It has Volatile RAM for data storage, ROM, EPROM, EEPROM, Flash memory for programming as well as storage of the processing parameters, Bi-directional I/O pins allowing control and detection of logic state, UART, Serial communication Interfaces like I2C, Serial peripheral interface and controller area network for system interconnect, peripherals like timer, counter, PWM generator, watchdog timer, clock generator, ADC, DAC and finally in circuit programming and debugging support.
Table II: MCUs and their features
Commonly Used MCU
|Intel 8051||It is under 8-bit Microcontroller family. Rom ranges from None to 8KB, RAM Size of 128 or 256 bytes (depending on the specific part number). Clock frequency is up to 12 MHz. Ultra violet light erases data and special electrical programmer writes new data. Architectures consist of four bi-directional I/O ports of 8 bits each.|
|Microchip PIC16C5X/XX||This 8-bit microcontroller family is manufactured by Microchip Technology. Though lower running clock frequency saves energy but maximum clock speed is limited to 40 MHz. Architecture includes 512 bytes to 2K bytes of ROM, 25 to 73 bytes of RAM, 8-bit real time counter, programmable sleep mode and watchdog timer|
|Freescale 68HC11||This is another 8-bit microcontroller family. Either UV erasable or electrically erasable ROM is used here. RAM is in the order of none to 768 bytes of size. They run at clock speeds range up to 3 MHz. Eight 8 bit A to D converters are also embedded for monitoring analog signals.|
|Atmel AT89CXXXX||ROM used here are of Flash type and size ranges from 1KB to 8 KB. To 256 bytes of RAM. Maximum clock speed is up to 20 MHz. They have 15 to 32 number of bi-directional I/O pins, 1 to 3 number of Timers, 3 to 8 numbers of Interrupts.|
|Dallas Semiconductor DS89C4XXX, DS5000, DS80C320, DS87520||They use both Flash type and UVROM type ROM. Size ranges from Zero to 64 KB. RAM ranges from 128 bytes to 256 bytes. Total 32 no of bi-directional I/O pins form 4 different ports. 2 to 3 timers and 6 interrupts are available.|
|Philips Corporation||Major producer of 8051 families. The products include A to D converters, D to A converters, extended I/O pins, OTP and Flash type ROM|
|Texas Instruments ARM Stellaris LM4F||Combines the features of 16 bit and 32 bit. It includes differ type of memory, including 2 KB of electrically erasable ROM, 256 KB of Flash and preloaded software libraries as factory programmed ROM. It runs at the clock speed up to 80 MHz. It supports not only universal serial bus 2.0 but also RS-232 data communications.|
|Zilog Older: Z8, Z180 Newer: eZ8, eZ80, Z16||Z8 has 8 bit Harvard architecture ROM/EPROM/OTP microcontroller with on-chip SRAM. eZ8 has better-pipelined Z8 therefore 2-3 times as clock efficient as original Z8 with on-chip flash memory and SRAM. Z16 has fast 8/16/32 bit CPU with compact object code, 16 MB (4 GB possible) addressing range, flash, SRAM, peripherals on-chip|
This article presents various criteria to select MCU and the application note will enumerate most of them. The decision is not so easy and it will become critical as the technology is upgrading rapidly.
Few guidelines of choosing the right one have been focused here. Anyone can include other grading scale and their personal decision. So the selection process is not restricted to the views and thoughts highlighted in this article.