microcontroller - an INTRODUCTION 

Micro-Controller or Micro-controller Unit, (MCU in short) may be assumed as a miniature CPU box of a PC  packed in an IC (Integrated Circuit).  The MCU mainly consist of Clock generation and control system, ALU (Arthmatic and Logic Unit), Registers / Accumulators, RAM (Random Access Memory), Program Storage Memory ( Flash Memory ), Input and Output Control system, Communication system etc.

The following parameters / Specification in combination are important for selection of an MCU:

  1. Number of Bits ( 8 or 32 etc. )

  2. Storage Memory ( or Flash Memory ), in Kilo Bytes

  3. SRAM (Static Random Access Memory), in Kilo Bytes

  4. Clock Speed , in Mega Hertz

  5. Number of IO (Input/Output) pins

  6. EEPROM (Electrically Erasable Programmable Read Only Memory )

  7. Timers and Counters

  8. ADC (Analog to Digital Converter) channels

  9. Types of Serial Communications (USART, SPI, TWI, USB etc.)

  10. Interrupt management system

  11. Memory Programming and Life cycles

  12. Operating Voltage and Power requirements.

  13. Working Temperature Range.

  14. Price, Availability,  Package and matching to the requirement.

  15. Programmer Availability

  16. Easiness of Software development ( programming and IDE )

Some MCUs may have all or some of the the above parameters, and some may have more than the above mentioned in the list

SMT_MCU_ARCH.png

As per the block diagram of Microcontroller Architecture, a clock will control all the operations inside the MCU.  So, higher the speed of clock, quicker the operations performed by the MCU.  Most of the MCUs have calibrated internal clock option as well as external clock input.

The ROM is the actual storage space for the program to stay in the MCU.  The clock will control the fetch and execute operations sequentially as per the program.  A read / write control system is used, while programming the ROM ( Flash memory ) and EEPROM.  EEPROM may be written directly or through the program written in the Flash memory.

The Digital, Analog, Serial Input/Output are controlled by the program loaded in the flash memory.

The ALU, SRAM, Interrupts are controlled by hardware and software ( program in flash memory) automatically.

So, all the blocks in the MCU have clock and data bus connections and have control through the program loaded in the Flash memory.  So, a software (program) is required to control all the blocks as per the individual's requirements.

A 32 bit MCU is faster ( costlier also ) than 8 bit MCU.  Similarly, higher the Storage Memory capacity , SRAM and Clock Speed have advantage while processing complex program also also attracts more cost.  Selection of MCU also depends on the IO pins and communication system availability.     So, balancing should be done with the requirements and the cost of the MCU.