Embedded Systems is simply the brain of the most of the electronics based systems to access, process, store and control the data. Few simple electronics circuits can be intelligently hardware designed without a microprocessor or microcontroller but is not worth the economics except for simple passive operations. So it's more or less must to put this so called silicon brain, which we engineers call as microcontroller in all electronics systems.
Embedded market is experiencing best of it's times and double-digit market growth will continue for some more years. It will continue to grow as long as semiconductor ICs are used for data processing. This may be vague but to be precise, your career growth is assured for another five years. This is only a prediction/extrapolation based on the current trends in the industry. Who knows what may come in future, however next two years, it's going to be very hot and growing field. That too for India, where engineers have extra edge over other regions when it comes to programming will surely lead in the growth. Though programming is a major task in embedded systems. Programming knowledge alone won't help much in getting into this world. The real challenge is in understanding the electronics hardware and also other interface hardware (Automobile engine, heart patient's ECG, to a motor in a satellite).
Here in this free online course on embedded hardware and software, our objective is to train in embedded systems design to pass entry-level stage and prepare to deep dive into complex embedded systems world, if you find it easy and interesting.
We recommend the readers/attendees for this course should be a holder of Bachelor of Engineering/Technology or Bachelor of Sciences in Electronics or it's closely allied branches. Otherwise if you are strong in theoretical parts of analog circuits, digital circuits, and microprocessor can also grasp this content easily. One thing is must; you should love C programming.
What is Embedded System?
Being an electronic engineer, you might have seen PC desktop's motherboard; it's an embedded system. It has microprocessor (Pentium or Athlon), memory (DRAM DIMM module and onboard SRAM) , I/O interface (keyboard, mouse etc..), Peripheral communication interface (PCI, USB port, etc). This PC system's architecture is designed for application such as net surfing, excel, word, powerpoint, and you know the rest!!!. Say you want to use same computer to monitor the engine of your bike or car. Can you think of using big PC for that purpose? It's so impractical. The i/p and o/p are totally different, here comes customizing your own microprocessor/microcontroller, memory, display, i/o and peripheral interface and also the operating system. This field of designing application specific computer systems is called embedded systems development. If the response of the computer system need to be real time and highly reliable then it's called Real Time Embedded System. The real time means, say in a control system where a speed of motor need to varied the moment some parameter deflect from it's original value, then it's real time; no waiting or hanging.
To define in a sentence, Embedded Systems is a special purpose computer system/board, which encapsulates all the devices such as processor, memory, interface and control in single package or board to perform only a specific application tasks.
Figure 1: Sample block diagram of a typical embedded system.
Figure 2: PowerPC based embedded board.
The most common examples are,
Automatic Teller Machine
The Digital Interfaced Gasoline Station
Airborne Flight Control System
Automotive Engine Health Monitoring System
Home Security Systems
The list goes on………. Wherever the microcontroller is used it's embedded computer.
The leading applications of embedded market are,
Industrial Control and Automotive
Test and Measurement
This only is a list of popular applications. The embedded is now getting into lot more interesting applications such as RFID, Agriculture etc.. Each application need some domain knowledge of it's interface hardware. Say the project is to develop a coffee vending machine controller; the embedded programmer/designer has to have knowledge on how the valves dispensing hot water and milk operate and their technical specification.
The user interface design is different for each application. Some application may not need graphic interface at all but some may need audio interface.
Embedded systems - Learning curve
Development for embedded systems is different from common practices in many ways. For new developers in the embedded systems world, there is a learning curve to understand where conventional practices are no longer valid in this new environment. To be an embedded systems developer, s/he need to know many things about the hardware on which software will be executed. Often embedded systems are connected to some sort of control system (activating some switch, rotating a motor) and the developer also needs knowledge of that system as well. If the CPU and/or the operating system are different on the target embedded platform, s/he have to do cross-platform development, which has its own issues. There are different testing techniques as well because most of the embedded systems don't have a monitor screen where error messages or test results can be displayed.
All of these issues make embedded systems development much more complicated than writing a program on a UNIX machine (or a windows PC) and then executing it.
Click on the link below to enter Module-2 and other modules
Module 2: Microprocessor, Microcontroller, MCU Manufacturers, introduction to programming
The other modules below are put in three streams based on the hardware boards used in the course, you read more on that in module-2 (above link).
Stream-Discovery Stream-LPCXpresso Stream-AME-51
ABOUT THIS COURSE:
Totally EEHerald plan to bring 20+ modules. You can be assured of completing basic course in Embedded Systems after studying and practicing exercises in all the modules. We will give priority to programming and serial communications (SPI, USB, CAN etc..), and also building projects.
This free tutorials on embedded systems is prepared by embedded professionals with fairly good industrial experience, however we want your feedback on this course content; please email your questions, suggestions and comments to firstname.lastname@example.org. Your questions on present modules will be answered in the revised modules. We may change the course content based on the majority of your requests and feedbacks.
Please let your friends know about this course, we request you to email this link to your friends and colleagues who are interested in embedded system.