Embedded Systems Explored - Theory and Concepts
An embedded system is a combination of hardware and software, and perhaps additional mechanical or other parts, designed to perform a specific function. More specifically they are computer system that performs specific, pre-defined tasks. A simple example is a microwave oven. Almost every household has one, and ten of millions of them are used but very few people realize that there is a software and hardware involved in the preparation of lunch or dinner.
Embedded system vs personal computers
Personal computer uses a general purpose processor that performs different tasks assigned to it, while embedded system that is specially designed to perform a specific, repeatable tasks - often with little or no input from the user. Special microprocessors are used in embedded systems to reduce cost for mass production. These microprocessors have simplified architecture, low performance and low cost comparing to general-purpose processors such as the Intel Pentium. An embedded system incorporates only the minimal quantity of memory (RAM and ROM). While the desktop PC may have hundreds of megabytes of RAM and gigabytes of ROM (hard drive or DVD), a low-cost embedded system usually have just a few kilobytes of memory. Embedded systems are built to operate for years without crash, data loss and user involvement. Moving mechanical parts such as a CD drive or a hard drive are replaced with solid-state parts such as flash memory. Another feature of an embedded system is that they are real time systems.
Parts of Embedded System
By definition embedded systems contain a processor and software. The other features that are common are RAM and ROM. Because to have software; there must be a place to store the executable code and memory storage for runtime data manipulation. Fig 1.1 shows a generic embedded system.
All
the embedded systems contain some types of inputs and outputs. For example in a
microwave oven inputs are the buttons on front panel and a temperature probe
and output is the human readable display and the radiations.
Embedded systems are based on the concept of the micro-controller, a single integrated circuit that contains all the technology required to run an application. Micro-controllers make integrated systems possible by combining several features together into what is effectively a complete computer on a chip, including:
• Central Processing Unit: To process the embedded software.
• Input/Output: interfaces such as serial ports
• Peripherals: They provide hardware interface for the internal hardware (such as timer) as will external hardware (for application)
• ROM, EEPROM or Flash memory for program storage
• RAM for data storage
• Clock generator
Examining the Embedded System
Processor: The term processor refers to any three types of devices known as microprocessor, micro-controller, and digital signal processor. The name microprocessor is usually reserved for chip that contain a powerful CPU, not designed for particular application. Personal Computers have such type of chip. The most powerful microprocessor is member of Motorola's 68k found in older Macintosh computers.
A micro-controller is much like a microprocessor, except it is designed speciously to use in embedded system. Micro-controllers typically includes a CPU, memory (a small quantity of RAM, ROM, or, both) and other peripherals in the same integrated circuit. Most popular micro-controller are 8051 and Motorola's 68HCxx series.
The final type of processor is digital signal processor, or DSP.The CPU within the DSP is specially designed to perform discreet time signal processing calculation, like those required for audio and video application very fast. A DSP processor can perform such calculation much faster then other processor.
Memory mapping: All the processor stores program and data in memory. Sometimes this memory is located on the very same chip as the processor. These chips are located in the in the processor , memory space, and the processor communicate with them by bunch of wires called data bus and address bus to read or write, the processor first target the address where something is to be written and the write/read. Fig 1.2 shows a particular memory map, showing name and address rang of each memory device and peripheral that is located in memory space.
Images
I/O Maps & Memory Types
I/O Map: If a separate I/O space is available, then it good to repeat the memory map exercise to create an I/O map for the electronic board. The process is similar to memory mapping. Simply create a table of peripheral names and address ranges, organized in such way that the lowest address is at the bottom. Fig 1.3 shows a typical, I/O map table.
Peripheral: They are of two types
(1) Internal Peripheral: They include internal memory, timer etc.
(2) External: These peripheral are the hardware externally attached to the embedded system. Depending on the application, this list might include LCD, or keyboard controller, A/D converter, Network interface chip.
Memory: Many types of memory devices are available for use in modern computer system. To build a better embedded one should have a good understanding of different memory devices and about its effective usage.
Software developers think of memory being either random-access (RAM) or read only (ROM).In fact there is a third class, called hybrid memories. In RAM data can be written or read when needed. In ROM the data written can be read as well, but never written. Fig 1.4 shows different types of memories and their sub classes. Sometimes it is possible to overwrite the data in ROM like devices. Such devices are called Hybrid memories, as they exhibit the characteristics of both RAM and ROM.
RAM is further divided into two classes; SRAM and DRAM. Data remain alive in SRAM (Static RAM) since power is available to chip and get lost when power is turned off. On the other hand DRAM (Dynamic RAM) has the extremely short data lifetime, usually less then a quarter of a second. So the job of DRAM in embedded system to refresh the data stored in DRAM. So when designing an embedded system, the designer should Access time and Cost. SRAM provide high speed access) about 4 time faster then DRAM), but are much expensive to produce. When low cost system is desired the DRAM is best choice. Many embedded systems have both SRAM (a few kilobytes) along with the large block of DRAM.
In contrast to RAM ,ROM keep the data and programs live even if power is turned off.
Programmers use this memory to write their code and run it several time. PROM (programmable ROM) which is purchased in an unprogrammable state. A device called programmer is used to write data on PROM, by applying electrical charge at the input of chip. Once data is written on chip, its contents cannot be changed. They are also called one time programmable devices (OTP).
An EPROM (Erasable and programmable ROM) is exactly same as PROM. However data on EPROM can be erased and program repeatedly. A strong source of ultraviolet light is used to erase the data on EPROM.
To fulfill the memory requirement of hardware engineer, combination of RAM and ROM are used, which is often called hybrid memories. Two of the hybrid devise ,EEPROM and flash,are descendants of ROM device, the third, NVRAM,is a modified version of SRAM.EEPROM are electrical erasable and programmable. Flash is the most recent advancement in memory technology. It combines all the best features of memory discuss so far.
The third member of hybrid memory class is NVRAM (nonvolatile RAM), that is just like SRAM with a battery backup. When power is turned off the NVRAM draw enough electrical power from battery to retain data
Final Words
By integrating all these features into a single chip it is possible to reduce greatly the number of chips and wiring necessary to control an electronic device, dramatically reducing its complexity, size and cost.
Embedded System Examples
• In-vehicle computers
• Portable measurement equipment
• Panel computers
• Printers
• Network equipment
• PDA, cellular phones
Images