Understanding Embedded Systems in Simple Terms

Many people, especially beginners, are interested in embedded systems and want to learn about embedded technology, but they often feel confused and frustrated. Therefore, I think it is necessary to take some time to write something to “enlighten the masses.” Of course, I am not a Buddha, and using the term “enlighten the masses” may not be very appropriate, but I couldn’t find a better word for now. So let’s settle for that. Also, please don’t call me a master; I am just an ordinary person who happens to know a little more about this subject than some others. In other areas, they know more than I do, so we are all equal. Since I am just an ordinary person, I also do not intend to follow so many constraints and limitations. I have always disliked textbooks and the so-called “teachers” who speak in a pedantic manner. Therefore, I plan to write this embedded series in a way that everyone can understand. If you can grasp embedded systems in this way, it also indicates that embedded systems are not as difficult as they seem, but they are not simple either.

Understanding Embedded Systems in Simple Terms

What is embedded technology? Simply put, it is the technology used to implement embedded systems.

So what is an embedded system?

The definitions that are rampant online or in books are: an embedded system is a computer system designed for a specific application, with strict requirements for size, power consumption, cost, etc. It sounds very complex and abstract, but there are actually two main points:

First, an embedded system is a computer system.

Second, an embedded system is designed for a specific application, which is commonly referred to as “dedicated.”

In other words, an embedded system is, in simple terms, a computer system designed for a specific application!

The other modifiers: the ability to reduce hardware and software, and the strict requirements for size, power consumption, cost, etc., are factors that need to be considered to create a good embedded system. Note that creating a good embedded system is different from just making one. Of course, to truly create a good embedded system, considering these factors is far from enough; there are many other aspects to consider. After I finish this series, I plan to write a detailed guide on how to create a good embedded system. I have developed an embedded product development process management system based on the CMMI3 standard, which should be sufficient to explain how to do embedded product development well.

Everyone knows about PCs or laptops. A PC or laptop is a computer system, but it is a general-purpose computer system. General-purpose means it does not have a specific use; it can do anything. For example, you can use a laptop to browse the internet, listen to music, watch movies, view photos, or even develop programs and run servers. In short, you can do whatever you want without a specific purpose. Therefore, it is general-purpose, while an embedded system is dedicated.

How do we understand this dedication? Dedication means it is designed for a specific purpose.

For example:

Earlier, we mentioned that you can view photos on a PC. If we take the photo-viewing application out and create a computer specifically for that purpose, what do we call it? We call it a digital photo frame, which you can find in many electronics stores. According to the definition we just discussed, it is clear that a digital photo frame is an embedded system!

If we take the music-listening application out and create a computer for that purpose, what do we call it? We call it an MP3 player. An MP3 player is a computer dedicated to listening to music, so it is also an embedded system!

If we take the movie-watching application out and create a computer for that purpose, what do we call it? We call it an MP4 player. An MP4 player is a computer dedicated to watching movies, so it is also an embedded system!

From this, we can see a rough distinction between PCs and embedded systems, and we should also have a general impression of embedded systems.

But does that mean embedded systems can only be based on PCs?

No, if that were the case, there would be no need for embedded systems. In addition to applications derived from PCs, embedded systems have many applications in various industries! We have been shouting about the information society for many years. What is the information society? I believe that the information society does not simply refer to being able to access the internet; rather, it refers to everything being digitalized and informationalized. That is what we call an information society, and this is where embedded systems come into play!

Let’s start with something that everyone has seen, as that will be easier to understand!

You should have seen POS machines, which are used for checkout in supermarkets like Walmart. That machine is a POS machine, a typical embedded system. First, a POS machine is indeed a computer; it has a motherboard, CPU, operating system, and software, possessing the core characteristics of a computer. Secondly, it is a computer designed for a specific application, which is checkout! According to our previous definition of embedded systems, it is easy to understand that a POS machine is an embedded system!

Let’s compare this POS machine (let’s refer to the original large POS machine) to a PC. Everyone is familiar with PCs, so we can use them as a reference point for comparison!

We will compare them from both hardware and software perspectives:

First, let’s talk about hardware: What hardware does a PC have? It has a CPU, memory, graphics card, sound card, hard drive, network card, keyboard, mouse, and so on. If we want to use a PC as a reference to create a POS machine, how would we do it?

We need to see what hardware a POS machine requires: a CPU and memory are essential, while a network card, graphics card, and keyboard are necessary. However, a sound card and mouse are not really needed. Therefore, if we were to base a POS machine on a PC, we would need to remove the sound card and mouse, while adding a display (POS machines often have two screens) and a printer. We remove some hardware and add some hardware, which is what we mean by hardware reduction. For the hardware to work, software support is needed, at least driver support. Therefore, when we remove some hardware and add some, the software must also be adjusted accordingly, which is what we mean by software reduction. Together, this aligns with the definition of an embedded system: an embedded system is a computer system that is designed for a specific application, with hardware and software that can be reduced, and meets strict requirements for size, power consumption, and cost.

Do you understand the meaning of reduction now?

As for the requirements for size and power consumption, they may not be very obvious in a POS machine because this large POS machine is not sensitive to size; there is space for it (of course, it shouldn’t be excessively large). Regarding power consumption, it is also not very sensitive; it is powered by AC and does not generate much heat when turned off daily. These two points are more sensitive in handheld embedded products like smartphones. If your phone were the size of a brick, you probably wouldn’t want to buy it (unless for self-defense, of course). If the power consumption is very high and it only lasts one hour on a full charge, you definitely wouldn’t buy it. Therefore, when the definition of embedded systems states that there are strict requirements for size and power consumption, this is the meaning behind it. Do you understand it roughly now?

Now let’s talk about cost, which is very sensitive. A simple example will make it clear: Suppose you are the owner of Apple Inc. and you sell 10 million iPhones a year. If you can save 10 yuan on a certain component of the iPhone, you would save 1 billion yuan by selling 10 million units, and the money saved is equivalent to profit. If you don’t want to make a profit, you can use it to give bonuses to employees! Therefore, embedded devices are very sensitive to cost!

Based on this sensitivity to cost, you should understand that when we create embedded products, we do not just choose the most powerful CPU available; instead, we consider multiple factors in our selection. If ARM9 can handle the task, there is no need to use ARM11, A8, or A9. We don’t choose the expensive option; we choose the right one!

Understanding Embedded Systems in Simple TermsUnderstanding Embedded Systems in Simple Terms

Leave a Comment