Why is it necessary to choose a microcontroller based on criteria?
- 1 Why is it necessary to choose a microcontroller based on criteria?
- 2 Introduction
- 3 Classification based on Architecture
- 4 Types of Microcontrollers with examples
- 5 Commonly Used Microcontrollers and their Features
- 6 Criteria for Choosing a Microcontroller
It is very difficult to choose a particular Microcontroller for a specific application. Success or failure of any project largely depends on 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 microcontroller in bulk amount. The comparison is based on products of 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.
With the advancement of semiconductor fabrication technology manufacturers are 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 the 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 application such as servo control system, robotics etc. Programming of such 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 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|
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
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 is available in the market. They are used from low cost, low speed 4-bit micro replacement to a device which 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 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 defines the cost of building the system and speed of operation. For an example, Atmel AVR family include 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 facility to use In-System-Programmed. Atmel 89C51 and Mega AVR families have the segmented Flash blocks which allow reprogramming one segment under 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.
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 help line, 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 more practical consideration using 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 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 cost and cost 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.
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. Special Thanks to Manas Kumar Parai, Banasree Das, Gautam Das