Embedded Systems — An introduction PT. 1

Rick
4 min readAug 18, 2023

--

First week of class on the course of Interconnected and Embedded Systems.

from nanoslavic

What is an embedded system and is it different from a computer?

In my family, I’m the only one studying engineering. And more often than not they seen my doing a project with an Arduino or a custom Atmega board and sometimes I’ll get get the question of “Hey, what is that?” And more often than not I have to remember that I’m neurodivergent and that not all question asked need nor want a full answer, so I just reply it’s a mini-computer. However, if you’re reading this article I can assume that you need to know what is an embedded system more accurately. In simple terms it’s a piece of computational hardware and software that has been design to fulfill one task or a few in an optimized manner. This means that whatever is built is built to perfectly, or at least almost perfectly, fit a specific purpose. Here are some definitions that you may encounter on the world of electronics and microelectronics.

General Purpose Computer/Processor : usually these types of processer you would expect to find on a PC, Laptop, or Phone. Here the name of the game is computational power. Users need to use these devices on a daily basis and for many different things that can be done at the same time like editing a document, listening to music, having several unnecessary tabs open, and on top of that the OS is usually running background processes necessary for everything to run smoothly. The are not necessarily design with optimization on mind.

Specific task processor: A processor like this could usually come inside a microcontroller, We would use a a specific task processor for IoT applications or simple tasks like keeping temperature in a certain range. More often than not you wont need an OS on this processor to schedule or mage a lot of tasks. Optimization is the name of the game here but keep in mind, Optimization can mean different things depending on your application. Maybe you don’t have access to the electrical grind Optimize battery usage, maybe communications are essential and you have several options to power your electronics; in that case we build our embedded system for fast and reliable communication. Depending on your options and need you optimized according to that.

Configurable Hardware: I have to say that I do lack a little bit of experience in this field. As far I know this technology comes in the form of FPGAs or Field Programable Gate Arrays. In simple terms these are reprogrammable hardware. Meaning that, if you remember digital circuit theory, you can build and design custom digital circuits think of it like a virtual breadboard, you can define a logic using a “programming language” (it’s not necessarily that but it will make sense later), you VDHL to define how you want a circuit defined. I you don’s understand It will make more sense in a future article.

Application specific Integrated Circuit AISIC: now these are kinda cool, because it’s like the culmination of years of work and countless prototypes. Imagine you have an idea for a new communication protocol or technique. Maybe you want a proof of concept, you make some first validations with an Arduino or any microcontroller or even a microprocessor of your choice. Then, you are satified with the result, you concept is useful, now what? A next step if you’d like would be to make a custom board yourself. test it and validate that everything works, you may find some areas of improvement maybe there’s an algorithm you are using that may be benefitted by a dedicated piece of hardware. For example maybe your application needs matrix multiplication. In most processors multiplication is used by addition but it can be optimized by a multiplication block of your design and tested in an FPGA. Say that you design a full chip or your Application specific Integrated Circuit in an FPGA. Now here is where I lack the specific information; after your design you could maybe give the blueprints of your IC to a company that develops ICs to have your very own chip of your design that went through stages and stages of development. That’s why I think AISICs are cool in my opinion.

On the next article I will write a little bit about computer design and architecture. If your are pursuing a carreer in anything related to electronics sometimes it’s a good idea to have at least a basic understanding of the underlying hardware of MCU or microprocessors.

--

--

Rick

I blog about everything I learn, Digital Image Processing, Data Science, IoT, Videogame design and much more :)