What is embedded system?

An Embedded system is a combination of computer hardware such as processors, memory and logic devices, software and other additional electromechanical, electrical, electronic parts, designed to perform a specific function within a given time frame. In other words, it is a specialized program residing on a microchip used to control devices such as automobiles, home and office appliances, handheld units and all kind of devices in combination with operating system & specific application functions.Today we are in convergence world and embedded solutions are used everywhere in almost all digital electronic applications.

History of practical Embedded System dates back to 1968, the Volkswagen 1600 used a microprocessor in its fuel injection system, launching the first embedded system in the automotive industry.


How different embedded systems and components relate to each other?
 

Component

What they do?

How they are made?

 

Microprocessor

 

controller and heart of the system “Microcontrollers”

Processor Technologies

  • General-purpose processors (GPP)

  • Application-Specific Processors

  • Single-purpose Processors, DSPs

IC Technologies

  • Pure memory ICs - ROM, RAM, NVRAM, Flash

  • FLD/PLD/PIC/PLC, CPLD, FPGA

  • Semi-custom (ASIC)

  • Full-custom (VLSI)

Vendor specific Cores (ARM, TI..)

 

Memory

stores program code or data and enable read/write -EPROM, EEPROM, RAM, Flash

 

 

 

Logic devices

provide specific functions like device-to-device interfacing, data communication, signal processing, data display, timing and control operations

 

 

Devising an Embedded System application involves use of available general purpose Microprocessors or special purpose processors like Microcontrollers, DSP, ASICs and FPGA along with software tools to achieve a specific function.  The design process uses assembly programming or other high level languages such as C, C++ along with specific operating systems or real-time OS  (RTOS) or advanced system design software tools. 

 

In practice, all these components are combined and designed accordingly.  That is, applications processors, memory and logic devices are generally combined using Processor or IC technologies depending upon application. Based on performance and flexibility, embedded products assume different names as below.

Fixed Logic Devices (FLD)

  • Designed for one function or set of functions and cannot be changed.

  • Takes longer time to design and develop and suitable for mass applications

Programmable Logic Devices(PLD):

  • Simple PLD – FPD, PLA, PAL, PIC, PLC, Microcontrollers

  • Versatile, Standard, flexible logic features, speed, and voltage characteristics, quick to develop, simulate and design; based on re-writable memory technology

  • Also called Field programmable device (FPD), Programmable logic array (PLA), Programmable array logic (PAL)

Complex PLD – CPLD(Complex programmable logic devices)

  • Lower logic density (say up to 10000 gates)

  • Very predictable timing characteristics; ideal for critical control applications

  • Uses low power, less expensive, battery-operated

  • Used in portable applications such as mobile phones and digital handheld devices

  • Also called EPLD, SuperPAL, MegaPAL

FPGA (Field programmable gate arrays)

  • High logic density (say 8 million gates) and high performance

  • Uses built-in hardwired processors, more memory, clock management systems

  • Supports very fast device-to-device signaling technologies

  • Used in a variety of applications like data processing, storage, instrumentation, telecommunications and digital signal processing.

FPGA is best suited as communication processors for multi channel and parallel processing (like OFDM wireless processors) and often act as hardwired coprocessor.

 

DSP standard architecture suited for single channel real time processing

 

VLSI Design is all about hardware-oriented design of the internal Digital circuitry of a chip and write a hardware description code for the same using advanced tools like MATLAB, 20Sim and VHDL/Verilog kind of programming concepts.
 


Embedded design and software tools


Generic Operating systems

Windows, Windows CE, Unix, Linux, Mac and so on.

 

Real-time operating system (RTOS)

Specialized control software that's often used in embedded computing applications that have tight memory resources and stringent performance requirements relating to immediate response times, high availability and accurate self-monitoring capabilities.

  • VxWORKS - This RTOS is from Wind River Systems and used for complex real-time and embedded applications on a wide variety of target processors.

  • QNX - QNX 4 is developed by QNX Software Systems.  It is a fast, scalable RTOS and can handle all different functions like memory management, process creation and timing control.

  • Lynx -   Lynx is a powerful and proprietary RTOS based on UNIX.

  • pSOS - pSOS is a special kind of multitasking RTOS specially suited for embedded microprocessors.

  • And there are many more..

Software Tools

Assembly languages, C/C++, VB, compilers, Java, Java Virtual Machines, J2ME, BREW Platforms, VHDL, Verilog Programming Languages, Compilers, Software Platforms, Design Tools,  libraries/APIs, test/verification tools, Simulation packages.
 


Embedded technologies landscape

Generic diagram below provides overview of different embedded system design concepts-  how the technology is progressing from microelectronics to future of nano technology. 

Hardware design view:

Click on the image to view larger

Software and application view:


Embedded processors in mobile and wireless technologies

With wireless evolution all the handheld mobile devices uses rich variety of embedded processors.  A mobile for for instance is a combination of many embedded solutions. Design of embedded solutions for mobile applications needs good understanding of underlying wireless technologies and application interfaces

 


Embedded Solution Trends

(An adapted listing from industry sources)

Industrial Automation
Remote monitoring & Industrial control
Industrial automation using Firewire (1394)
Controller Area Network (CAN) applications
Automatic tracking systems using wireless

 

Automobile Electronics
Cellular networks for navigation/ telematics
Using Bluetooth for Smart Car applications
Using WLAN for automobile rear view systems

 

VLSI & Semiconductor
VLSI implementation of OFDM techniques
ASIC chip-set design for high-end networks
Integrating IP with fibre optic/10GB Ethernet
iSCSI (Internet SCSI) applications
Digital transmission content protection

 

Aviation Electronics
Applying embedded solutions for aircraft safety
Microcontrollers for airborne systems
Intelligent In-flight entertainment applications

 

Medical Electronics
Integrating medical devices and instruments

 

Mobile Devices and Applications
Innovating Java applications in mobile phones
Mobile network solutions for 3G/UMTS//CDMA
Mobile IP platforms- BREW, JAVA/J2ME, .NET
Location based services, GPS integration
Messaging and push-to-talk services


Multimedia
Customized DSP solutions for multimedia
Integrating real time & non-real time I/O devices
Speech codec applications - MP3, AAC
Video codec applications MPEG-4, FGS, H.264
Digital watermarking applications

 

Computing Platforms & Peripherals
Software products testing
High performance device drivers
Softwear: Wearable computers
Microcontroller Simulators, debuggers
Cross Compilers for PLC programming

 

Consumer Electronics
System-on-Chip (SoC)
Software Defined Radio (SDR)
Residential Gateway (RG)
Home networking & Home Automation
Multimedia Home Platform (MHP)

Integrating Cable/DSL, Firewire, USB, BT, Wi-fi
Digital TV & Interactive TV Applications
AV controller digital interface

 

Copyright© Winnii Solutions Pvt Ltd, 2004