HOME . LEARN IOT . MICROCONTROLLER SELECTION

Microcontroller Selection

As discussed previously, microcontrollers are small, low-cost computers built for dealing with specific tasks like displaying LED information on washing machines, interpreting information from a remote controller in the case of televisions. Microcontrollers have inbuilt Timers, Serial Interfaces, RAM, ROM, EEPROM, WATCHDOG units.

microcontroller

MPUs can come with 4-bit, 8-bit, 16-bit, 32-bit and even 64-bit CPUs. The "bit count" which is better known as the word size of a CPU determines the number of busses of data from the RAM that the CPU can handle in parallel. These invariably determines their applications since the higher the better if the software running takes full advantage of the resource.

Since the MCUs are used in real time and at times life critical situations, they need a component that can monitor their operation. The watchdog serves this purpose. It can reset the MCU in the case of an unexpected operation. Counters monitor the instructions that have been executed already while timers determine how fast instructions are fed to the CPU. Timers and Counters can also help raise interrupts that will allow the CPU to pause a sequence of instructions and attend to a more urgent one.

RAM (volatile memory) provides instruction and data to the CPU for processing. Data is stored in general purpose registers, while awaiting their turn in the ALU. There are also specific registers depending on the CPU's custom design.

ROM, EPROM, EEPROM or flash memory are used to store programs or operating parameters. ROM typically stores and retains data without the presence of power. However, their data cannot be altered once they are written to. EPROMs are reprogrammable. EEPROMs are just like EPROMs except that they can be erased without the UV lights needed in the case of the EPROMs.

The physical world is analog; however, most computations are done in digital format. Hence, MCUs have in Analog to Digital Converters (ADC) for easy conversion and use. There are many families of MPUs. They include PIC, Intel 8051, AVR/ATMEGA. These come with various clock speeds, ROM, RAM and features. The AVR/ATMEGA comes preloaded with a C compiler and Free IDE.


Choosing Microcontrollers

In order to choose an MCU, the system designer has got to determine the exact application in which the part is required in. This information will help choose the specific part required:

  • Maximum clock speed of the controller: Depending on the use case, certain clock speeds will be ideal. There are MCUs that run in MHz to lower GHz ranges. There are MCUs that run at 4MHz, 8, 16 and even 32MHz. It shows how fast the CPU in an MPU can process data fed to it.

  • RAM on chip: The RAM in an MPU stores instruction and data that is awaiting execution and processing respectively. The bigger the amount of data it can store, the better the overall performance of the MPU. Depending on the use case, certain RAM sizes are ideal for different scenarios. RAMs are volatile but fast.

  • Cost and availability: The price of MCU being selected is very important. If the MCU is too expensive, the overall system will become prohibitively expensive leading to the failure of the project in the market. MCUs that are hard to come by are also not advised for use in IoT devices.

  • Upgradability: MCUs that can easily be upgraded in event of bigger demands in their host systems should be given precedence over those that cannot be.

  • I/O pins on chip: The number of I/O pins on an MCU should also determine if it can be selected for a project or not. For projects that require lots of input, MCUs with many I/O pins must be selected. Again, there are digital and analog I/O pins. It has to be noted that where there are many analog sensors, analog I/O pins must be a huge consideration in selecting a microcontroller.

table


Microcontroller Boards

Having selected the type of MCU to use for a project it becomes an issue of programming and debugging the program on the Microcontroller and connecting the microcontroller to other components in the system. This can be a whole issue altogether especially for a beginner. This is where Microcontroller boards come in. Microcontroller boards come with the microcontroller on a board connected to other components like different types of connectors that work over different protocols like SPI, I2C, UART(SCI). They also facilitate programming by making interfaces like JTAG easily accessible. They extend the pins of the MCUs to allow for easy connections that will not require soldering.

There are a wide range of MCU boards. They include Arduino(called Genuino outside the United States of America ), BeagleBone, boards from Sparkfun (usually based on Arduinos). The Arduino is the most popular of these and will be considered in our next feature.

Author
Rene Novor X.K
Mor-Lan Technologies.

How we Work

At Mor-Lan Technologies, we aim at developing the best solution to the most pressing problems we face here in Ghana and Africa at large when it comes to information technologies. Producing high quality products is our focus here!