Introduction to Embedded Systems
Embedded Systems in Tamil
Introduction to Embedded System
- An embedded system is a system that has software embedded into computer-hardware, which makes a system dedicated for an application(s) or specific part of an application or product or part of a larger system.
- An embedded system is one that has dedicated purpose software embedded in computer hardware.
- It may be an independent system or a part of large system.
- Its software usually embeds into a ROM (Read Only Memory) or flash.
Embedded System Hardware Unit
- Program Flow and data path Control Unit (CU) — Includes a fetch unit for fetching instructions from the memory
- Execution Unit (EU) — Includes circuits for arithmetic and logical unit (ALU) , and for instructions for a program control task , Data transfer instructions , halt , interrupt or jump to another set of instructions or call to another routine or sleep or reset
- A Processor is the heart of the Embedded System.
- Microprocessor and Microcontroller is must for an embedded system
1.General purpose microprocessor
- For example, Intel 80x86, Sparc, or Motorola 68HCxxx
General Purpose Processor
Embedded general purpose processor
- Fast context switching features,use of on-chip Compilers, forexample, Intel® XScale™ Applications Personal Internet ClientArchitecture-based PDAs, cell phonesand other wireless devices.
Embedded General Purpose MicroProcessor
2.Application Specific Instruction-Set Processor (ASIP)
- Microcontroller — Intel , Motorola , Hitachi , TI , Philips and ARM , for example , an Intel® MCS51 , Philips®51XA , 51MX , or Motorola — 68HC11 , 68HC12 , 68HC16
- DSP or Typically a Texas Instruments - C28xSeries, C54xx or C64xx orAnalog Devices SHARC orTigerSHARC, Motorola 5600xx
- Media processor TI DSP TMS320DM310 or TrimediaPhillips Media Processor 1x00series for Processing Streaming and Data Networks and Image , Video and Speech: PNX 1300 , PNX 1500(2002)
- IO processor or
- Network processor or
- A domain specific processor
3. GPP or ASIP core (s)
- GPP or ASIP integrated into either an Application Specific Integrated Circuit (ASIC), or a Very Large Scale Integrated Circuit (VLSI) circuit or a FPGA core integrated with processorunit(s) in a VLSI (ASIC) chip
4. Application Specific System Processor (ASSP)
- Typically a set top box processor or mpeg video-processor or network application processor or mobile application processor.
5. Single purpose processor or Application Specific Instruction processor
- Floating point Coprocessor
- CCD Pixel coprocessor and imagecodec in digital camera
- Graphic processor
- Speech processor
- Adaptive filtering processor Encryption engine
- Decryption engine
- Communication protocol stackprocessor
- Java accelerator Examples Java Accelerator Nazon in Communications Java codes run 15 to 60 Times fast, Video Accelerator for fast Video Processing
Single Purpose Processor
6. Multi core processors or multiprocessor system using GPPs
- Multiprocessor system for Real timeperformance in a video-conferencesystem , Embedded firewall cum router , High-end cell phone.
Multi Core Processor
Hardware Elements in the Embedded Systems
1. Power Source
- System own supply with separate supply rails for IOs , clock , basic processor and memory and analog units
- Supply from a system to which the embedded system interfaces , for example in a network card.
- Charge pump concept used in a system of little power needs , for examples , in the mouse or contact-less smart card.
Power Dissipation Management
- Clever real-time programming by Wait and Stop instructions
- Clever reduction of the clock rate during specific set of instructions
- Optimizing the codes and
- Clever enabling and disabling of use of caches or cache blocks
2. Clock Oscillator Circuit and Clocking Units
- Appropriate clock oscillator circuit
- The processor needs a clock oscillator as clock controls the various clocking requirements of CPU
- Real Time Clock( System Clock)
- RTC is used by scheduler for real time programming.
3. Reset Circuit
- Reset on Power-up
- External and Internal Reset circuit
- Reset on Timeout of Watchdog timer
Functions Assigned to the ROM or EPROM or Flash
- Storing 'Application' program from where the processor fetches the instruction codes
- Storing codes for system booting, initializing, Initial input data and Strings.
- Storing Codes for RTOS.
- Storing Pointers (addresses) of various service routines.
Functions Assigned to the Internal, External and Buffer RAM
- Storing the variables during program run,
- Storing the stacks,
- Storing input or output buffers for example, for speech or image.
Functions Assigned to the EEPROM or Flash
- Storing non-volatile results of processing
Functions Assigned to the Caches
- Storing copies of the instructions, data and branch-transfer instructions in advance from external memories
- Storing temporarily the results in write back caches during fast processing
5. Interrupts Handler
- Interrupt Handling element for the external port interrupts, IO interrupts, timer and RTC interrupts, software interrupts and Exceptions
6. Linking Embedded System Hardware
- Linking and interfacing circuit for the Buses by using the appropriate multiplexers, and decoders, demultiplexers Interface the various system units
IO Communication Unit
- Communication Driver(s) : Network Ethernet or serial driver to communicate with host embedded system Expansion Facility.
- Serial Bus(es) : For example , UART(512 kbaud/s) , 1-wire CAN (33 kbps) , Industrial I2C (100kbps) , SM I2C Bus(100 kbps) , SPI (100 kbps) , Fault tolerant CAN (110 kbps) , Serial Port(230 kbps) , Micro Wire (300 kbps) , SCSI parallel (40 Mbps) , Fast SCSI (8M to 80 Mbps) , Ultra SCSI-3 (8Mto 160 Mbps) , FireWire/IEEE 1394(400 Mbps, 72 meter) , High Speed USB 2.0 (480 Mbps, 25 meter).
- Parallel Bus(es): PCI , PCI-X
- Media IO Control Element
- Keypad or Keyboard IO Interface
- LCD Display System Interface
- ADC - Single or Multi channel
- GPIB Interface Element
- Pulse Dialling Element
- Bluetooth, 802.11, IrDA,