The differences between Embedded Systems
There are a lot of different electronic boards in the markets, therefore we need to distinguish the difference between them.
- FPGA
- Arduino
- Node MCU
- Raspberry PI
- PLC
There are other different types of microcontrollers, industrial microcontrollers but those are the best way to start with this domain.
FPGA
Now, let us start with FPGA:
- FPGA is the only device that you can design your own ALUs and memory logic gates just by drawing those circuits and programing them
- You can create your own processor, GpU and ALU and just put it on this chip, which means instead of buying microcontroller you can just build you own one.
- Instead of using multiple ALUs or an accelerator for hardware the best way to do that is by programming an FPGA
Most common FPGA usage:
The FPGA industry usage large in any kind of electronic application especially in the military applications. Usually when any electronic system designer is trying to design a new system, they prototype using an FPGA, because instead of building this customized chip which costs around hundred thousands of dollars, you can just prototype it and draw your own circuit and just burn it on this board.
FPGA Programming languages:
The most common languages to program FPGA are VHDL and Verilog
Programming a Half-Adder using FPGA example:
Below, we have the half adder VHDL code, by loading it to FPGA then this whole embbeded systems is going to turn into a half adder
Arduino
To understand it we need to understand 8-bit microcontrollers because an Arduino is a nothing but an ATmega328p microcontroller.
Waht does an arduino (ATMEGA328P) consist of internally?
- Flash
- ALU
- RAM
- GPIO
What is Flash memory in Arduino (ATMEGA328P)?
A flash is a memory type like RAM, but it’s a much faster one. It stores the Arduino code and then sends constructions to ALU to do operations, store bits etc.
What is Arduino (ATMEGA328P) ALU?
ALU is the main unit responsible for most Arithmetic Operations like Addition , subtraction, multiplication , division, memory adressing operations and many more. It consist of transistors connected in certain topologies to achieve those calcualtion goals
What is Arduino (ATMEGA328P) RAM unit?
Memory is where program calculations results , variables initialization and declaration is stored. The more RAM memory exist, the more sophisticated programs can be written.
What is Arduino (ATMEGA328P) GPIO?
GPIOs are the pin header you see in the Arduino picture above labeled in red, by using them we can read from sensors, activate motors and interact with the outer world.
Raspbery Pi
Let's discuss Raspberry pi briefly
- Is much more powerful in term of CPU, and even though it has the same fixed architecture like other microcontroller like Arduino, Raspberry PI is more powerful because it contains a GPU which makes it able to run an OS (operating system).
- Is used as a mini full scale processing unit.
- Has WIFI module so that you can connect it to your router and wireless devices.
- Much powerful than Arduino and has a much larger RAM.
Node MCU (ESP8266)
- Is very similar to the Arduino architecture (It differently has a built in WIFI)
- More powerful than Arduino in terms of flash
- Mainly used in IoT projects.
- Less powerful than Raspberry PI.
- Can simply execute your program.
PLC
Any factory around the world uses PLC to control their machinery. Those deivces are designed for heavy duty operation and harsh enviorment resistance like humidity and tempreature.
Features:
- It is similar to Raspberry PI and Arduino; Architecture wise.
- Used in factories to control a whole machine or to control production line.
- Much larger in size, more robust and reliable in sensitive and dangerous applications.
- Let us say that we have a nuclear reactor which have sensors and a lot of chemical actuators all of these sensitive stuff need a reliable microcontroller that guarantees that it won’t fail in the middle of the operation causing a disaster
- More concerned about safety.
- Contains interfaces for bus communication and this industrial bus communication(like Profibus, Profinet and Ethernet) they are used to connect with industrial sensors that are used in production lines.
- Most famouse PLC Manufacturers are Siemens, Allen Bradely, Schneider Electric, Beckhoff and Delta