Sector 63,Noida, Uttar Pradesh
Sector 63,Noida, Uttar Pradesh
About Microcontroller Circuit Design

The circuit design needed for an embedded microcontroller can be a little overwhelming. Just the data sheet and technical references alone can run several hundred pages for advanced microcontrollers.

Before starting on the circuit design it’s a good idea to draw a block diagram showing all the major parts of the project, including all of the peripherals that will interface with the microcontroller.

ARM Cortex-M Microcontroller

Primarily on the circuit design considerations of incorporating an ARM Cortex-M microcontroller. The ARM Cortex-M microcontroller architecture is offered by several chip makers in various versions.

ARM Cortex-M is a 32-bit architecture that is especially suited for computationally intensive tasks compared to what is available from typical 8 bit microcontrollers. A 32-bit microcontroller is also beneficial if you have an application that requires a larger memory address space or that needs an easy migration path for future expansions.

We’ll be discussing a line of ARM Cortex-M microcontrollers from ST Microelectronics called the STM32, or more specifically we’ll focus on the STM32F4 series.

However, the STM32 series is huge and also includes the ultra-low power STM32L line, as well as higher and lower performance versions compared to the STM32F4. The highest performance version is the STM32F7 which can perform over 1 billion instructions per second. At the other end of the performance spectrum, the STM32L0 executes only 26 million instructions per second.

Microcontroller Firmware Development

Microcontroller firmware is embedded software which is written into the program memory of an MCU. Since microcontroller interacts with the physical world, in order to test its firmware, one needs to emulate or reproduce input signals and measure or capture its output signals. If these output signals correspond to what you have defined in a specification, then the firmware is working as it should. There are many devices that help a developer do this testing: voltmeters, oscilloscopes, signal generators, logical analyzers, protocol analyzers, interface converters etc. So the basic idea of firmware testing is to apply an input signal and observe the response. If you see a problem, you correct the source code and then repeat this cycle.

Most embedded systems contain a microcontroller at the center of all these operations. This microcontroller is a single, silicon chip that can be programmed to perform all the operations that your application requires.

At the heart of a microcontroller is a Central Processing Unit, or CPU, that is not unlike the ones found in desktop computers, or laptops, except that it is generally less powerful.

This CPU runs the set of instructions, or program, that the original human programmer wrote. Closest to the CPU are some registers. These are temporary storage units that have very fast access times matching that of the CPU itself.

Continuing with the example, the controller repeatedly does three steps: