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.
![Semiconductor Chip](https://cdn.wikitechy.com/tutorials/embedded-systems/semiconductor-chip.gif)
Semiconductor Chip
![Embedded System](https://cdn.wikitechy.com/tutorials/embedded-systems/embedded-system.gif)
Embedded System
![Embedded System Hardware Unit](https://cdn.wikitechy.com/tutorials/embedded-systems/embedded-system-hardware-unit.png)
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
Processor
- A Processor is the heart of the Embedded System.
- Microprocessor and Microcontroller is must for an embedded system
![Processor](https://cdn.wikitechy.com/tutorials/embedded-systems/processor.png)
Processor
1.General purpose microprocessor
- For example, Intel 80x86, Sparc, or Motorola 68HCxxx
![General Purpose Processor](https://cdn.wikitechy.com/tutorials/embedded-systems/general-purpose-microprocessor.png)
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](https://cdn.wikitechy.com/tutorials/embedded-systems/embedded-general-purpose-microprocessor.png)
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
![ASIP](https://cdn.wikitechy.com/tutorials/embedded-systems/asip.gif)
ASIP
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.
![ASSp](https://cdn.wikitechy.com/tutorials/embedded-systems/assp.png)
ASSP
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](https://cdn.wikitechy.com/tutorials/embedded-systems/single-purpose-processor.png)
Single Purpose Processor
6. Multi core processors or multiprocessor system using GPPs
Examples
- Multiprocessor system for Real timeperformance in a video-conferencesystem , Embedded firewall cum router , High-end cell phone.
![Multi Core Processor](https://cdn.wikitechy.com/tutorials/embedded-systems/multi-core-processor.png)
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.
![Clock Oscillator and RTS](https://cdn.wikitechy.com/tutorials/embedded-systems/clock-oscilattor.png)
Clock Oscillator
![Clock Oscillator and RTS](https://cdn.wikitechy.com/tutorials/embedded-systems/rtc.png)
RTS
3. Reset Circuit
- Reset on Power-up
- External and Internal Reset circuit
- Reset on Timeout of Watchdog timer
![Reset Circuit](https://cdn.wikitechy.com/tutorials/embedded-systems/reset-circuit.png)
Reset Circuit
4. Memory
![Memory](https://cdn.wikitechy.com/tutorials/embedded-systems/memory.gif)
Memory
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
- DAC
- GPIB Interface Element
- Pulse Dialling Element
- Modem
- Bluetooth, 802.11, IrDA,