The Embedded Systems Series – Part 2
In part 1, we had a brief insight about embedded systems and tackled some misconceptions about it. In this article we will considered the career options for embedded engineers and have a study case of cell phones as an example for an embedded system.
2.Careers in Embedded Systems
As you may have recognized that we can’t consider embedded engineers as hardware-only guys or software-only guys, but they must comprise a skill set of both levels even if they are specialised in one of these levels in their embedded careers. Most embedded engineers are graduates of EE or CS department, so if you rely on what you study in college only, you might end up with only half what is required to be a good embedded engineer.
Embedded Engineers write software that controls the VLSI chips. Embedded software can be any code which interacts with the hardware layer ranging from the hardware abstraction layer, device drivers, kernel programming to application programming.The Embedded hardware designer is responsible for hardware schematics, PCB layout, BOM (Bill Of Materials) creation, hardware board debugging and testing, and system integration testing.
For the most part of this series we will be talking about Embedded software because it’s less known and more needed in the industry. And in the end I will give some references and helpful links if you are interested in Embedded systems in general.
3.1 Smart phones:
A microprocessor( MPU) is a core part in every embedded system (you might know a microcontroller or MCU which is typically a MPU + memory and some other peripherals for I/O and Interfacing with other systems).you can think of a MCU as a computer and a MPU as the C.P.U.
Smart phones Contain two sets of cores
– Communication Processor(s)
- Run Communication Stacks (LTE, 802.11,BT,…)
- Run using RTOS (Real-Time Operating Systems like ThreadX, Nucleus, …)
– Application Processor(s)
- Run the functionality of the phone and any apps on it.
- Run TCP/IP stack (Network protocol)
- May contain special cores for Video Processing or 2D/3D Graphics
- Use more capable OSs
– Most SoCs(System on chip) today have Communication processor and Application Application processor on separate chips
- The new trend is to combine them in the same chip.
- Still they run on separate cores/OSs.
- This is due to difference in consumer needs and Priority of tasks.
As mentioned before the most important thing in an embedded system is being “real time”.
Let’s have a glimpse on how a “real-time” OS can be different:
-If you are doing sth like playing games on your smartphone, then suddenly you get interrupted by a phone call, your phone stops all its instructions to let you answer the call because it’s something urgent. So, this is one example of real time properties: handling environment’s interrupts.
One of the best definitions of a real time system I have read is: “A real time system is a system whose verification doesn’t only depend on the correctness of the output to the corresponding input, but also depends on the time taken to respond to this input. If the system didn’t respond to this input within the limited required time interval, systems failure is said to have occurred”.
In the next article we will have some more details about the essential components of every embedded system.